html,body{overflow-x:clip}
.diet-center-section{background:var(--color-main);color:var(--color-ink)}
.diet-center-intro{position:relative;min-height:100svh;padding:90px 6vw;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.diet-center-eyebrow{font:400 12px/1.6 "EB Garamond",Georgia,serif;letter-spacing:.24em;color:var(--color-muted);margin:0 0 24px}
.diet-center-intro h2{font:400 var(--section-title-size)/1.25 "EB Garamond",Georgia,serif;letter-spacing:-.035em;margin:0 0 36px}
.diet-center-statement{font:300 clamp(24px,2.1vw,38px)/1.85 var(--font-body);letter-spacing:-.045em;min-height:3.7em;margin:0}.diet-center-statement>span{display:block;min-height:1.85em;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),opacity .7s}
.diet-center-statement.is-typing>span.is-current:after{content:"";display:inline-block;width:1px;height:1em;background:var(--color-accent);vertical-align:-.1em;margin-left:5px;animation:diet-caret .8s steps(1) infinite}
.diet-center-intro-note{font-size:12px;letter-spacing:.06em;color:var(--color-accent);margin:28px 0 0}.diet-center-scroll{position:absolute;bottom:38px;width:1px;height:34px;background:linear-gradient(var(--color-accent),transparent);opacity:.45}
.diet-center-reveal{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:#675845;color:#faf7f0;display:flex;align-items:center}
.diet-reveal-image,.diet-reveal-shade{position:absolute;inset:0;width:100%;height:100%}.diet-reveal-image{object-fit:cover;object-position:center;z-index:-3;transform:scale(1.1);transition:transform 2.4s cubic-bezier(.2,.7,.2,1)}.diet-reveal-shade{z-index:-2;background:linear-gradient(90deg,rgba(50,39,28,.49),rgba(50,39,28,.1)),linear-gradient(0deg,rgba(50,39,28,.5),transparent 50%)}
.diet-reveal-orbit{position:absolute;width:66vw;height:110vh;border:1px solid rgba(250,247,240,.25);border-radius:50%;right:-28vw;top:-24vh;transform:rotate(-24deg);z-index:-1;pointer-events:none}
.diet-reveal-copy{padding:90px 9vw 180px}.diet-reveal-eyebrow{font:400 12px/1.6 "EB Garamond",Georgia,serif;letter-spacing:.24em;margin:0 0 28px;opacity:.8}.diet-reveal-copy h3{font-size:clamp(29px,2.7vw,50px);line-height:1.65;font-weight:300;letter-spacing:-.045em;margin:0 0 30px}.diet-reveal-copy>p:last-child{font-size:15px;line-height:1.95;letter-spacing:-.03em;margin:0}
.diet-reveal-bottom{position:absolute;bottom:52px;left:9vw;right:9vw;display:flex;align-items:end;justify-content:space-between;gap:40px;padding-top:28px;border-top:1px solid rgba(250,247,240,.35)}.diet-reveal-word{font:400 clamp(30px,3.5vw,64px)/1.1 "EB Garamond",Georgia,serif;letter-spacing:-.04em;margin:0}.diet-reveal-principles{display:flex;gap:38px;padding-bottom:6px}.diet-reveal-principles>span{font-size:13px;white-space:nowrap}.diet-reveal-principles small{font:12px/1.5 "EB Garamond",Georgia,serif;opacity:.65;margin-right:10px}
.diet-center-section.has-opening-scene{position:relative;height:230svh}
.has-opening-scene .diet-center-stage{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate;background:var(--color-main)}
.has-opening-scene .diet-center-intro{position:absolute;inset:0;height:100%;min-height:0;z-index:2;transition:opacity .8s .05s;pointer-events:none}
.has-opening-scene .diet-center-reveal{position:absolute;inset:0;height:100%;min-height:0;z-index:1;clip-path:inset(22% 50% 22% 50% round 50%);opacity:0;transition:clip-path 1.5s cubic-bezier(.65,0,.2,1),opacity .25s;will-change:clip-path}
.has-opening-scene .diet-reveal-copy,.has-opening-scene .diet-reveal-bottom{opacity:0;transform:translateY(22px);transition:opacity 1s,transform 1.1s}
.has-opening-scene.is-opening .diet-center-reveal{opacity:1;clip-path:inset(22% 49.9% 22% 49.9% round 50%)}
.has-opening-scene.is-open .diet-center-reveal{clip-path:inset(0 0 0 0 round 0)}
.has-opening-scene.is-open .diet-center-intro{opacity:0}.has-opening-scene.is-open .diet-center-statement>span:first-child{transform:translateY(-75px)}.has-opening-scene.is-open .diet-center-statement>span:last-child{transform:translateY(75px)}
.has-opening-scene.is-open .diet-reveal-image{transform:scale(1)}
.has-opening-scene.is-open .diet-reveal-copy,.has-opening-scene.is-open .diet-reveal-bottom{opacity:1;transform:translateY(0);transition-delay:1.05s}
@keyframes diet-caret{50%{opacity:0}}
@media(max-width:767px){.diet-center-intro{padding:74px 5vw 90px}.diet-center-eyebrow{font-size:10px;letter-spacing:.18em;margin-bottom:20px}.diet-center-intro h2{margin-bottom:26px}.diet-center-statement{font-size:clamp(18px,4.7vw,27px);line-height:1.9;min-height:3.8em}.diet-center-statement>span{min-height:1.9em}.diet-center-intro-note{font-size:10px;margin-top:24px}.diet-reveal-copy{padding:60px 7vw 220px}.diet-reveal-copy h3{font-size:clamp(25px,6.5vw,35px);line-height:1.7;margin-bottom:24px}.diet-reveal-copy>p:last-child{font-size:13px}.diet-reveal-eyebrow{font-size:10px;margin-bottom:24px}.diet-reveal-image{object-position:48% center}.diet-reveal-bottom{bottom:40px;left:7vw;right:7vw;flex-direction:column;align-items:start;gap:24px;padding-top:24px}.diet-reveal-word{font-size:38px}.diet-reveal-principles{width:100%;justify-content:space-between;gap:8px}.diet-reveal-principles>span{font-size:11px}.diet-reveal-principles small{font-size:10px;margin-right:5px}.diet-reveal-orbit{width:130vw;right:-75vw}}
@media(prefers-reduced-motion:reduce){.diet-center-section *{animation:none!important;transition:none!important}.diet-reveal-image{transform:none}}
.hero-opening .diet-center-reveal{display:block;background:var(--color-surface);color:var(--color-ink)}
.hero-opening .client-hero{width:100%;height:100svh;max-height:none;min-height:0}
.hero-intro-pending .hero-model{animation:none!important}
.hero-opening .hero-slide:first-child .hero-model{opacity:1;filter:none;animation:visual-breathe 15s ease-in-out both}
.diet-intro-lead,.diet-intro-h1{font:inherit;letter-spacing:inherit;margin:0;line-height:1.85}
.diet-center-statement [data-type-line]{display:block;min-height:1.85em}
.diet-center-statement.is-typing [data-type-line].is-current:after{content:"";display:inline-block;width:1px;height:1em;background:var(--color-accent);vertical-align:-.1em;margin-left:5px;animation:diet-caret .8s steps(1) infinite}
.diet-center-intro-note{font-size:15px;line-height:1.95;letter-spacing:-.03em}
.has-opening-scene.is-open .diet-intro-lead{transform:translateY(-75px)}.has-opening-scene.is-open .diet-intro-h1{transform:translateY(75px)}
.diet-intro-lead,.diet-intro-h1{transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
@media(max-width:767px){.diet-center-intro-note{font-size:13px}.diet-intro-lead,.diet-intro-h1{line-height:1.9}}
@media(min-width:1024px){.diet-center-statement{font-size:clamp(34px,2.7vw,50px)}.diet-center-intro-note{font-size:clamp(18px,1.25vw,22px);line-height:1.9}}
@media(max-width:767px){.diet-center-statement{font-size:clamp(23px,6.2vw,34px)}}
.hero-intro-pending .hero-line>span,.hero-intro-pending .hero-description span,.hero-intro-pending .hero-rule,.hero-intro-pending .hero-position{animation:none!important;opacity:0}
@media(prefers-reduced-motion:reduce){.hero-opening .diet-center-intro{min-height:65svh}.hero-opening .client-hero{height:100svh}}

/* The entrance occupies one viewport; release scrolling only after it opens. */
html.home-intro-locked,html.home-intro-locked body{overflow:hidden!important;overscroll-behavior:none;height:100dvh}
.hero-opening.has-opening-scene,.hero-opening.entry-complete{height:100svh}
.hero-opening.entry-complete .diet-center-stage{height:100svh}
.site-header.is-entry-hidden{opacity:0!important;visibility:hidden!important;transform:translateY(-100%)!important;pointer-events:none!important}
body:has(.hero-opening .hero-intro-pending) .site-header{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.site-header{transition:transform .3s ease,opacity .55s ease}
.hero-opening .diet-center-intro{background:#fff url('https://bodyaiveclinic.mycafe24.com/wp-content/themes/aive-diet-center/site/assets/intro-flowing-curves-v1.webp') center center/cover no-repeat}

body:has(.hero-opening) :is(.diet-center-eyebrow,.influencers-eyebrow,.signature-eyebrow,.space-brand-eyebrow,.space-eyebrow,.footer-eyebrow){font-family:"Cormorant Garamond",Georgia,serif;font-weight:300}

/* Intro hierarchy: decorative label, compact H1, two-line H2, supporting P. */
.hero-opening .diet-center-intro .diet-center-eyebrow{margin-bottom:20px}
.hero-opening .diet-center-intro .diet-intro-keyword{font-family:var(--font-body);font-size:18px;font-weight:400;line-height:1.6;letter-spacing:-.025em;color:var(--color-accent);margin:0 0 20px}
.hero-opening .diet-center-intro h1.diet-center-statement{font:300 clamp(24px,2.1vw,38px)/1.85 var(--font-body);letter-spacing:-.045em;min-height:3.7em;margin:0}
@media(min-width:1024px){.hero-opening .diet-center-intro h1.diet-center-statement{font-size:clamp(34px,2.7vw,50px)}}
@media(max-width:1023px){.hero-opening .diet-center-intro .diet-intro-keyword{font-size:16px}}
@media(max-width:767px){.hero-opening .diet-center-intro .diet-intro-keyword{font-size:14px;margin-bottom:16px}.hero-opening .diet-center-intro h1.diet-center-statement{font-size:clamp(23px,6.2vw,34px);line-height:1.9;min-height:3.8em}}

/* Compact serif intro keyword. */
.hero-opening .diet-center-intro .diet-intro-keyword{font-family:"Noto Serif KR",serif;font-size:14px}
@media(max-width:1023px){.hero-opening .diet-center-intro .diet-intro-keyword{font-size:13px}}
@media(max-width:767px){.hero-opening .diet-center-intro .diet-intro-keyword{font-size:12px}}

/* Keep the top Korean/English labels together after reordering. */
.hero-opening .diet-center-intro .diet-intro-keyword{margin-bottom:6px;color:#c1b7ac}
@media(max-width:767px){.hero-opening .diet-center-intro .diet-center-eyebrow{margin-bottom:16px}}

/* Slightly larger introductory English label. */
.hero-opening .diet-center-intro .diet-center-eyebrow{font-size:18px}
@media(max-width:1023px){.hero-opening .diet-center-intro .diet-center-eyebrow{font-size:15px}}
@media(max-width:767px){.hero-opening .diet-center-intro .diet-center-eyebrow{font-size:14px}}

/* Mobile compositing only: preserve the original rounded reveal and its timing. */
@media(max-width:767px){
 .hero-opening.has-opening-scene .diet-center-stage{position:relative}
 .hero-opening.has-opening-scene .diet-center-reveal{transform:translate3d(0,0,0);backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:clip-path,transform}
}

@media(max-width:767px){
 .hero-opening[data-gpu-opening] .diet-center-intro{z-index:3;background:none}
 .hero-opening[data-gpu-opening] .diet-center-reveal{clip-path:none!important;will-change:transform}
 .diet-opening-gpu{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;display:block;transform:translateZ(0)}
}
