:root{--bg-primary: #F9F6F0;--bg-secondary: #F0EBE1;--bg-tertiary: #FFFFFF;--text-primary: #1A2A1E;--text-secondary: #2C3B32;--text-muted: #5A6A56;--accent-primary: #8B9A8B;--accent-secondary: #C4A484;--font-body: "Inter", sans-serif;--font-heading: "Cormorant Garamond", serif;--font-prose: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 24px;--radius-arch: 200px 200px 0 0;--radius-full: 9999px;--container-max: 1200px;--container-narrow: 800px;--header-height: 80px}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-primary);line-height:1.6;scroll-behavior:smooth;font-size:16px}body{min-height:100vh;display:flex;flex-direction:column}main{flex:1}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);line-height:1.2;font-weight:500}h1{font-size:var(--font-size-4xl);margin-bottom:var(--space-6)}h2{font-size:var(--font-size-3xl);margin-bottom:var(--space-4)}h3{font-size:var(--font-size-2xl);margin-bottom:var(--space-3)}p{margin-bottom:var(--space-4);color:var(--text-secondary)}a{color:var(--accent-primary);text-decoration:none;transition:color .3s ease}a:hover{color:var(--text-primary)}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6)}.container--narrow{max-width:var(--container-narrow)}.section{padding:var(--space-20) 0}.section__title{text-align:center;margin-bottom:var(--space-12)}.section__subtitle{color:var(--text-muted);font-size:var(--font-size-lg);max-width:600px;margin:0 auto}.grid{display:grid;gap:var(--space-8)}.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(1,1fr)}@media(min-width:768px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}}.flex-center{display:flex;align-items:center;justify-content:center}.gap-4{gap:var(--space-4)}.text-center{text-align:center}.text-muted{color:var(--text-muted)}blockquote{border-left:2px solid var(--accent-secondary);padding:var(--space-4) var(--space-6);margin:var(--space-8) 0;background:var(--bg-secondary);font-style:italic;font-family:var(--font-heading);font-size:var(--font-size-xl);color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:var(--radius-full);font-family:var(--font-body);font-weight:500;font-size:var(--font-size-base);text-decoration:none;transition:all .3s ease;cursor:pointer;border:1px solid transparent;letter-spacing:.05em;text-transform:uppercase}.btn--primary{background:var(--text-primary);color:var(--bg-primary)}.btn--primary:hover{background:var(--accent-secondary);color:#fff}:root{--bg-primary: #FFFFFF;--bg-secondary: #FAFAF9;--text-primary: #2D2D2D;--text-secondary: #666666;--text-muted: #999999;--accent-primary: #D4C4A8;--accent-hover: #C5B291;--danger: #E53E3E;--font-body: "Montserrat", system-ui, -apple-system, sans-serif;--font-heading: "Cormorant Garamond", "Playfair Display", serif}.btn--secondary{background:transparent;color:var(--text-primary);border-color:var(--text-primary)}.btn--secondary:hover{background:var(--bg-secondary)}.btn--sm{padding:.5rem 1rem;font-size:var(--font-size-xs)}.btn--lg{padding:1rem 2.5rem;font-size:var(--font-size-sm)}.zen-card{background:var(--bg-tertiary);border:1px solid var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-6);transition:transform .4s ease,box-shadow .4s ease;box-shadow:0 4px 20px #2c3b3208;overflow:hidden}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 12px 30px #2c3b3214}.arch-image{border-radius:var(--radius-arch);overflow:hidden;position:relative}.arch-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.arch-image:hover img{transform:scale(1.05)}.header{position:fixed;top:0;left:0;width:100%;height:var(--header-height);z-index:100;transition:all .3s ease;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(212,196,168,.2)}.header.scrolled{box-shadow:0 4px 20px #00000008;background:#fffffffa}.header__inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-6)}.header__logo{font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);text-decoration:none;letter-spacing:.05em;display:flex;align-items:center;gap:12px}.header__logo-text{background:linear-gradient(135deg,var(--accent-hover) 0%,#A68A56 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header__nav{display:none}.header__nav-list{display:flex;list-style:none}.header__nav-link{color:var(--text-secondary);font-weight:400;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;padding:.5rem 0;position:relative;display:inline-flex;align-items:center;gap:4px;text-decoration:none;transition:color .3s ease}.header__nav-link:hover,.header__nav-link[aria-current=page],.header__nav-link.header__nav-link--active{color:var(--text-primary)}.header__mobile-toggle{display:flex;flex-direction:column;justify-content:space-between;width:24px;height:18px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001;position:relative}.header__mobile-toggle span{display:block;width:100%;height:2px;background-color:var(--text-primary);transition:transform .3s ease,opacity .3s ease;border-radius:2px}.header__mobile-toggle.is-active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.header__mobile-toggle.is-active span:nth-child(2){opacity:0}.header__mobile-toggle.is-active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.header__overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:999;opacity:0;pointer-events:none;transition:opacity .3s ease}.header__overlay.is-active{opacity:1;pointer-events:auto}@media(max-width:1023px){body.menu-open{overflow:hidden}.header__nav{display:block;position:fixed;top:0;right:-280px;width:280px;height:100vh;background:var(--bg-primary);box-shadow:-5px 0 25px #2c3b3226;z-index:1000;transition:right .3s cubic-bezier(.4,0,.2,1);padding:80px 24px 40px;overflow-y:auto}.header__nav.is-active{right:0}.header__nav-list{flex-direction:column;gap:var(--space-6)}.header__nav-link{width:100%;font-size:var(--font-size-base);padding:var(--space-2) 0}.header__dropdown-menu{display:block;visibility:hidden;height:0;overflow:hidden;padding:0;transition:all .3s ease;background:transparent}.header__dropdown.is-open .header__dropdown-menu{opacity:1;visibility:visible;height:auto;padding:var(--space-2) 0 var(--space-2) var(--space-4);border-left:1px solid var(--accent-primary);margin-left:var(--space-2)}.header__dropdown-item{display:block;font-size:var(--font-size-sm);padding:var(--space-2) 0;text-transform:none;color:var(--text-secondary);text-decoration:none}}@media(min-width:1024px){.header__mobile-toggle{display:none!important}.header__nav{display:block!important}.header__nav-list{flex-direction:row;gap:var(--space-8)}.header__nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--text-primary);transition:width .3s ease}.header__nav-link:hover:after,.header__nav-link[aria-current=page]:after,.header__nav-link.header__nav-link--active:after{width:100%}.header__dropdown{position:relative}.header__dropdown-menu{display:none;position:absolute;top:100%;left:50%;transform:translate(-50%);background:var(--bg-primary);min-width:200px;padding:var(--space-2) 0;box-shadow:0 8px 30px #2c3b3214;border-radius:var(--radius-sm);border:1px solid rgba(212,196,168,.2);z-index:10;margin-top:10px}.header__dropdown-menu:before{content:"";position:absolute;top:-15px;left:0;width:100%;height:15px}.header__dropdown:hover .header__dropdown-menu{display:block;animation:fadeIn .2s ease}.header__dropdown-item{display:block;padding:var(--space-2) var(--space-4);color:var(--text-secondary);text-decoration:none;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;transition:background .2s ease,color .2s ease}.header__dropdown-item:hover,.header__dropdown-item.header__nav-link--active{background:var(--bg-secondary);color:var(--text-primary)}}.post-card{display:flex;flex-direction:column;padding:0;height:100%;border:1px solid rgba(196,164,132,.12);background:var(--bg-tertiary);border-radius:var(--radius-xl);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1),background-color .4s cubic-bezier(.16,1,.3,1),border-color .4s cubic-bezier(.16,1,.3,1)}.post-card:hover{transform:translateY(-8px);box-shadow:0 16px 40px #c4a4841a;background-color:#faf8f5;border-color:#c4a4844d}.post-card__image-link{display:block;width:100%;height:100%;overflow:hidden}.post-card__image-wrap{width:calc(100% - var(--space-4));height:300px;margin:var(--space-2) var(--space-2) 0;overflow:hidden;position:relative;background:var(--bg-secondary);border-radius:50% 50% 0 0;border:1px solid rgba(196,164,132,.15);transition:border-color .4s ease}.post-card:hover .post-card__image-wrap{border-color:#c4a48459}.post-card__image{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}.post-card:hover .post-card__image{transform:scale(1.05)}.post-card__body{padding:var(--space-5) var(--space-6) var(--space-6);flex:1;display:flex;flex-direction:column}.post-card__meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--text-muted);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.1em}.post-card__category{color:var(--accent-secondary);font-weight:600}.post-card__meta-separator{color:#c4a48466}.post-card__date{color:var(--text-muted)}.post-card__title{font-size:var(--font-size-xl);margin-bottom:var(--space-3);font-family:var(--font-heading);line-height:1.35}.post-card__title a{color:var(--text-primary);text-decoration:none;transition:color .3s ease}.post-card__title a:hover{color:var(--accent-secondary)}.post-card__excerpt{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-5);line-height:1.6;flex:1}.post-card__read-more{display:inline-flex;align-items:center;font-size:var(--font-size-sm);color:var(--accent-secondary);font-weight:600;text-decoration:none;position:relative;padding-bottom:2px;transition:color .3s ease}.post-card__read-more:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--accent-secondary);transition:width .35s cubic-bezier(.16,1,.3,1)}.post-card__read-more-arrow{display:inline-block;margin-left:6px;transition:transform .35s cubic-bezier(.16,1,.3,1)}.post-card__read-more:hover{color:var(--text-primary)}.post-card__read-more:hover:after{width:100%;background-color:var(--text-primary)}.post-card__read-more:hover .post-card__read-more-arrow{transform:translate(4px);color:var(--text-primary)}.hero{position:relative;min-height:90vh;display:flex;align-items:center;background:url(/images/hero-zen.png) center/cover no-repeat;overflow:hidden;padding-top:var(--header-height)}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(to right,#ffffffe6,#fff9 40%,#fff0);z-index:1;pointer-events:none}.hero__content{position:relative;z-index:2;text-align:left;max-width:650px;padding:48px 0;color:var(--text-primary);transform:translateY(-3vh)}.hero__tagline{font-family:var(--font-body);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.3em;color:#a68a56;margin-bottom:var(--space-6);font-weight:700}.hero__title{font-size:calc(var(--font-size-3xl) * 1.5);font-weight:600;margin-bottom:var(--space-6);line-height:1.15;color:var(--text-primary)}.hero__description{font-size:calc(var(--font-size-lg) * 1.1);max-width:550px;color:var(--text-secondary);line-height:1.8;font-weight:400}.hero__actions{margin-top:var(--space-10);display:flex;gap:var(--space-4);flex-wrap:wrap}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.08em;font-weight:500}.form-input,.form-textarea{width:100%;padding:1rem;background:var(--bg-tertiary);border:1px solid rgba(196,164,132,.2);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:var(--font-size-base);transition:all .3s cubic-bezier(.16,1,.3,1)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--accent-secondary);box-shadow:0 0 0 3px #c4a48426;background:#fff}.post-detail__title{font-size:calc(var(--font-size-3xl) * 1.25);font-family:var(--font-heading);color:var(--text-primary);line-height:1.25;margin-bottom:var(--space-4);font-weight:500}@media(min-width:768px){.post-detail__title{font-size:calc(var(--font-size-4xl) * 1.1)}}.post-detail__title-divider{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin:var(--space-4) 0 var(--space-6);color:var(--accent-secondary)}.post-detail__title-divider:before,.post-detail__title-divider:after{content:"";height:1px;width:60px;background-color:#c4a48440}.post-detail__title-ornament{font-size:1.1rem;line-height:1}.post-detail__meta{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:6px 18px;background:#c4a4840f;border-radius:var(--radius-full);border:1px solid rgba(196,164,132,.12)}.post-detail__meta-item{display:inline-flex;align-items:center}.post-detail__content{font-family:var(--font-prose);font-size:clamp(1.05rem,2vw,1.125rem);line-height:1.8;font-weight:400;letter-spacing:.01em;color:var(--text-secondary);max-width:42rem;margin-left:auto;margin-right:auto}.post-detail__content :is(p,span,div,li,td,th,font,b,i,u,em,strong){font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;color:inherit!important;background:transparent!important}.post-detail__content p{margin-bottom:1.75em;text-align:left}@media(min-width:768px){.post-detail__content p{text-align:justify;hyphens:auto}}.post-detail__content p:first-of-type{font-size:1.06em;font-weight:500;color:var(--text-primary)}.post-detail__content :is(strong,b){font-weight:600!important;color:var(--text-primary)!important}.post-detail__content :is(em,i){font-style:italic!important}.post-detail__content a{color:var(--accent-secondary)!important;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}.post-detail__content a:hover{color:var(--text-primary)!important}.post-detail__content h2{font-family:var(--font-heading)!important;font-size:var(--font-size-2xl)!important;font-weight:500!important;color:var(--text-primary)!important;margin-top:2.2em;margin-bottom:.8em;padding-bottom:.3em;border-bottom:1px solid rgba(196,164,132,.2);position:relative;line-height:1.35!important}.post-detail__content h2:after{content:"";position:absolute;bottom:-1px;left:0;width:40px;height:2px;background-color:var(--accent-secondary)}@media(min-width:768px){.post-detail__content h2{font-size:var(--font-size-3xl)}}.post-detail__content h3{font-family:var(--font-heading)!important;font-size:var(--font-size-xl)!important;font-weight:500!important;color:var(--text-primary)!important;margin-top:1.8em;margin-bottom:.6em;line-height:1.4!important}@media(min-width:768px){.post-detail__content h3{font-size:var(--font-size-2xl)}}.post-detail__content ul{list-style:none;margin-bottom:1.8em;padding-left:var(--space-4)}.post-detail__content ul li{position:relative;padding-left:var(--space-6);margin-bottom:.6em}.post-detail__content ul li:before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;background-color:var(--accent-primary);border-radius:50%}.post-detail__content ol{margin-bottom:1.8em;padding-left:var(--space-6)}.post-detail__content ol li{margin-bottom:.6em;padding-left:var(--space-2)}.post-detail__content blockquote{position:relative;border-left:3px solid var(--accent-secondary)!important;background:#c4a4840a!important;padding:var(--space-6) var(--space-8)!important;margin:var(--space-10) 0!important;border-radius:0 var(--radius-lg) var(--radius-lg) 0!important;font-style:italic!important;font-family:var(--font-prose)!important;font-size:1.1rem!important;font-weight:500!important;color:var(--text-primary)!important;line-height:1.75!important}.post-detail__content blockquote:before{content:"“";position:absolute;left:10px;top:-15px;font-size:4rem;font-family:var(--font-heading);color:#c4a48426;line-height:1}.post-detail__content img{border-radius:var(--radius-lg);box-shadow:0 8px 30px #2c3b320a;border:1px solid rgba(196,164,132,.1);margin:var(--space-8) auto;max-width:100%}.footer{padding:var(--space-12) 0 var(--space-8);background:var(--bg-secondary);border-top:1px solid var(--bg-secondary)}.footer__grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);margin-bottom:var(--space-12)}@media(min-width:768px){.footer__grid{grid-template-columns:2fr 1fr 1fr 1fr}}.footer__brand{padding-right:var(--space-8)}.footer__brand-name{font-family:var(--font-heading);font-size:var(--font-size-2xl);margin-bottom:var(--space-4);color:var(--text-primary)}.footer__title{font-family:var(--font-heading);font-size:var(--font-size-lg);margin-bottom:var(--space-4);color:var(--text-primary)}.footer__links{display:flex;flex-direction:column;gap:var(--space-2)}.footer__link{color:var(--text-secondary);text-decoration:none;display:flex;align-items:center;gap:var(--space-2);transition:color .3s ease}.footer__link:hover{color:var(--accent-primary)}.footer__bottom{padding-top:var(--space-8);border-top:1px solid var(--bg-secondary);text-align:center;color:var(--text-muted);font-size:var(--font-size-sm)}.page-banner{position:relative;min-height:380px;display:flex;align-items:center;background-position:center right;background-size:cover;background-repeat:no-repeat;overflow:hidden;padding:calc(var(--header-height) + var(--space-12)) 0 var(--space-12);border-bottom:1px solid rgba(212,196,168,.15)}.page-banner__overlay{position:absolute;inset:0;background:linear-gradient(to right,#f9f6f0fa,#f9f6f0d9 45%,#f9f6f033 80%,#f9f6f000);z-index:1;pointer-events:none}@media(max-width:767px){.page-banner{min-height:320px;background-position:70% center;padding:calc(var(--header-height) + var(--space-8)) 0 var(--space-8)}.page-banner__overlay{background:linear-gradient(to right,#f9f6f0fc,#f9f6f0eb 60%,#f9f6f066)}}.page-banner__container{position:relative;z-index:3}.page-banner__content{max-width:650px;text-align:left}.page-banner__tagline{font-family:var(--font-body);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.25em;color:#a68a56;margin-bottom:var(--space-3);display:block;font-weight:700}.page-banner__title{font-size:calc(var(--font-size-3xl) * 1.3);font-weight:600;margin-bottom:var(--space-4);line-height:1.2;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-3)}.page-banner__emoji{display:inline-block;font-size:.9em;filter:drop-shadow(0 4px 10px rgba(0,0,0,.08))}.page-banner__subtitle{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;font-style:italic;font-family:var(--font-heading);margin-bottom:var(--space-6);max-width:580px}.breadcrumb{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.1em;padding:6px 16px;background:#2c3b320a;border:1px solid rgba(44,59,50,.06);border-radius:var(--radius-full);margin-top:var(--space-2)}.breadcrumb__link{color:var(--text-muted);font-weight:500;transition:color .2s ease}.breadcrumb__link:hover{color:#a68a56}.breadcrumb__separator{color:#2c3b3233!important;font-size:1em;display:inline-block}.breadcrumb__current{color:var(--text-primary);font-weight:600}.particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}.particle{position:absolute;pointer-events:none;will-change:transform,opacity}.particle--bubble{border-radius:50%;background:radial-gradient(circle,#8b9a8b1f,#8b9a8b03 70%);border:1px solid rgba(139,154,139,.05);bottom:-50px;animation:float-up linear infinite}.particle--sakura{background:linear-gradient(135deg,#c4a48440,#8b9a8b33);border-radius:12px 2px 12px 12px;top:-50px;animation:sakura-fall linear infinite}.particle--sparkle{width:4px;height:4px;background:var(--accent-secondary);border-radius:50%;opacity:0;box-shadow:0 0 6px var(--accent-secondary);animation:sparkle ease-in-out infinite}.contact-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-8) var(--space-6)}.contact-card__avatar{font-size:48px;width:80px;height:80px;background:var(--bg-secondary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);box-shadow:0 4px 10px #2c3b320d}.contact-card__name{font-size:var(--font-size-2xl);font-family:var(--font-heading);color:var(--text-primary);margin-bottom:var(--space-6)}.contact-card__info{width:100%;display:flex;flex-direction:column;gap:var(--space-5);text-align:left}.contact-card__item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid rgba(212,196,168,.1);transition:all .3s ease;text-decoration:none}.contact-card__item:hover{border-color:var(--accent-secondary);background:var(--bg-tertiary);transform:translateY(-2px);box-shadow:0 4px 12px #2c3b320a}.contact-card__item-icon{font-size:24px;display:flex;align-items:center;justify-content:center}@keyframes float-up{0%{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:.6}90%{opacity:.3}to{transform:translateY(-10vh) scale(1);opacity:0}}@keyframes float-gentle{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-15px) rotate(5deg)}50%{transform:translateY(-8px) rotate(-3deg)}75%{transform:translateY(-20px) rotate(2deg)}}@keyframes float-horizontal{0%,to{transform:translate(0)}50%{transform:translate(20px)}}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #ff69b426}50%{box-shadow:0 0 40px #ff69b44d}}@keyframes soft-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{opacity:.9;transform:scale(1.05)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes sakura-fall{0%{transform:translateY(-10%) translate(0) rotate(0) scale(.8);opacity:0}10%{opacity:.7}50%{transform:translateY(45vh) translate(50px) rotate(180deg) scale(1);opacity:.5}to{transform:translateY(100vh) translate(-30px) rotate(360deg) scale(.6);opacity:0}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:1}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes blob-morph{0%,to{border-radius:42% 58% 62% 38%/41% 44% 56% 59%}25%{border-radius:58% 42% 38% 62%/56% 59% 41% 44%}50%{border-radius:38% 62% 58% 42%/59% 41% 44% 56%}75%{border-radius:62% 38% 42% 58%/44% 56% 59% 41%}}.animate-fade-in{animation:fade-in .6s ease forwards}.animate-fade-in-up{animation:fade-in-up .6s ease forwards}.animate-fade-in-down{animation:fade-in-down .5s ease forwards}.animate-scale-in{animation:scale-in .5s cubic-bezier(.34,1.56,.64,1) forwards}.animate-bounce-in{animation:bounce-in .6s ease forwards}.animate-float{animation:float-gentle 6s ease-in-out infinite}.animate-pulse-glow{animation:pulse-glow 3s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 2s infinite}.animate-gradient{background-size:200% 200%;animation:gradient-shift 6s ease infinite}.animate-blob{animation:blob-morph 8s ease-in-out infinite}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl)}.hover-scale{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.03)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:0 0 30px #ff69b433}.skeleton{background:linear-gradient(90deg,var(--pink-100) 25%,var(--lavender-100) 50%,var(--pink-100) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.stagger-children>*{opacity:0;animation:fade-in-up .5s ease forwards}.stagger-children>*:nth-child(1){animation-delay:.05s}.stagger-children>*:nth-child(2){animation-delay:.1s}.stagger-children>*:nth-child(3){animation-delay:.15s}.stagger-children>*:nth-child(4){animation-delay:.2s}.stagger-children>*:nth-child(5){animation-delay:.25s}.stagger-children>*:nth-child(6){animation-delay:.3s}.stagger-children>*:nth-child(7){animation-delay:.35s}.stagger-children>*:nth-child(8){animation-delay:.4s}.stagger-children>*:nth-child(9){animation-delay:.45s}.stagger-children>*:nth-child(10){animation-delay:.5s}.stagger-children>*:nth-child(11){animation-delay:.55s}.stagger-children>*:nth-child(12){animation-delay:.6s}.page-enter{animation:fade-in-up .4s ease}
