:root{
  --ink:#0a0a0d;
  --paper:#f5f1eb;
  --paper-2:#eee7de;
  --white:#fffdf9;
  --pink:#ff4f78;
  --pink-deep:#ca214d;
  --blue:#2b36ff;
  --mint:#b8f6dc;
  --line:rgba(10,10,13,.14);
  --muted:#716d68;
  --max:1440px;
  --pad:clamp(22px,5vw,72px);
  --display: "Arial Narrow", "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  --body: "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);font-size:16px;line-height:1.65;overflow-x:hidden}
body.menu-open,body.lightbox-open{overflow:hidden}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{color:inherit}
::selection{background:var(--pink);color:#fff}
.skip-link{position:fixed;left:10px;top:-100px;z-index:9999;padding:12px 16px;background:#fff;color:#000}.skip-link:focus{top:10px}
.section-shell{width:min(var(--max),100%);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.kicker,.eyebrow{margin:0 0 22px;font-weight:900;font-size:12px;letter-spacing:.22em;text-transform:uppercase}
.section-heading{max-width:900px;margin-bottom:64px}
.section-heading h2,.manifesto h2,.visit h2,.final-cta h2,.hero h1{font-family:var(--display);font-weight:900;letter-spacing:-.055em;line-height:.97;margin:0}
.section-heading h2{font-size:clamp(46px,7vw,96px)}
.section-heading h2 em,.hero h1 em{font-style:italic;color:var(--pink);font-weight:500}
.section-heading>p:last-child{max-width:620px;margin:28px 0 0;color:var(--muted);font-size:clamp(16px,1.5vw,20px)}
.section-heading--split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:70px;align-items:end;max-width:none}
.section-heading--split>p:last-child{margin:0 0 8px}
.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:36px;min-height:58px;padding:0 26px;border-radius:0;font-weight:800;letter-spacing:-.02em;cursor:pointer;transition:transform .25s,background .25s,color .25s,border-color .25s}
.button:hover{transform:translateY(-3px)}
.button--primary{background:var(--pink);color:#fff}
.button--primary:hover{background:var(--pink-deep)}
.button--ghost{border:1px solid rgba(255,255,255,.46);color:#fff;background:transparent}
.button--ghost:hover{background:#fff;color:#000}
.button--ghost-dark{border:1px solid var(--ink);background:transparent}
.button--ghost-dark:hover{background:var(--ink);color:#fff}
.button--light{background:#fff;color:#000}.button--light:hover{background:var(--mint)}
.button--small{min-height:44px;padding:0 18px;gap:10px}
.button--full{width:100%}.button--large{min-height:68px;padding:0 34px}

.topline{height:34px;overflow:hidden;background:var(--pink);color:#fff;border-bottom:1px solid rgba(255,255,255,.25);font-size:10px;font-weight:900;letter-spacing:.18em;white-space:nowrap}
.topline__track{display:flex;align-items:center;width:max-content;height:100%;animation:marquee 26s linear infinite}
.topline__track span{padding:0 30px}.topline__track i{width:5px;height:5px;background:#fff;border-radius:50%}
@keyframes marquee{to{transform:translateX(-50%)}}
.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;height:84px;padding:0 var(--pad);background:rgba(10,10,13,.93);color:#fff;backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.12)}
.brand{display:flex;align-items:center;gap:12px}.brand__mark{width:40px;height:40px;fill:var(--pink)}
.brand__text{display:flex;flex-direction:column;line-height:1}.brand__text b{font-size:17px;letter-spacing:.12em}.brand__text small{font-size:8px;letter-spacing:.2em;color:#aaa;margin-top:7px}
.nav{display:flex;align-items:center;gap:30px}.nav>a{font-size:13px;font-weight:700}.nav>a:hover{color:var(--pink)}
.menu-toggle{display:none;border:0;background:none;width:44px;height:44px;padding:10px;cursor:pointer}.menu-toggle span{display:block;height:2px;background:#fff;margin:7px 0;transition:.25s}

.hero{position:relative;min-height:calc(100vh - 118px);padding:clamp(70px,9vh,130px) var(--pad) 95px;background:var(--ink);color:#fff;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);gap:clamp(45px,7vw,120px);align-items:center;overflow:hidden}
.hero:before{content:"";position:absolute;width:58vw;height:58vw;left:-20vw;top:-22vw;border:1px solid rgba(255,255,255,.07);border-radius:50%;box-shadow:0 0 0 9vw rgba(255,255,255,.02),0 0 0 18vw rgba(255,255,255,.015)}
.hero__grain,.final-cta__grain{position:absolute;inset:0;pointer-events:none;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.hero__copy{position:relative;z-index:2;max-width:820px}.hero .eyebrow{color:var(--pink)}
.hero h1{font-size:clamp(55px,7.9vw,126px)}
.hero__lead{max-width:660px;margin:34px 0;color:#c8c5c5;font-size:clamp(17px,1.45vw,21px)}.hero__lead strong{color:#fff}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.hero__proof{display:flex;gap:clamp(28px,4vw,70px);margin-top:64px;padding-top:28px;border-top:1px solid rgba(255,255,255,.18);max-width:650px}.hero__proof div{display:flex;flex-direction:column}.hero__proof strong{font-size:30px;line-height:1;color:var(--pink)}.hero__proof span{font-size:12px;color:#9d9a9b;margin-top:9px}
.hero__visual{position:relative;z-index:2;justify-self:end;width:min(43vw,640px)}
.hero__frame{position:relative;padding:14px;background:#fff;transform:rotate(2.2deg);box-shadow:0 38px 80px rgba(0,0,0,.55)}.hero__frame img{width:100%;aspect-ratio:4/5;object-fit:cover}.hero__frame:after{content:"";position:absolute;inset:14px;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.65));pointer-events:none}
.hero__frame-label{position:absolute;right:28px;bottom:23px;z-index:2;display:flex;align-items:end;gap:8px}.hero__frame-label span{font-size:11px;letter-spacing:.18em}.hero__frame-label strong{font-size:45px;line-height:.8}
.hero__badge{position:absolute;width:130px;left:-58px;top:-52px;z-index:3}.hero__badge svg{fill:var(--pink);animation:spin 16s linear infinite}.hero__badge text{font-size:11px;letter-spacing:1.7px;font-weight:900}.hero__badge circle{fill:#fff}
@keyframes spin{to{transform:rotate(360deg)}}
.hero__note{position:absolute;left:-105px;bottom:38px;z-index:4;background:var(--blue);padding:20px 24px;width:235px;box-shadow:18px 18px 0 var(--pink)}.hero__note span{font-size:9px;letter-spacing:.16em}.hero__note p{margin:8px 0 0;font-size:13px;line-height:1.55;font-weight:700}
.scroll-cue{position:absolute;left:var(--pad);bottom:25px;z-index:4;display:flex;align-items:center;gap:14px;font-size:9px;letter-spacing:.16em;color:#888}.scroll-cue i{width:54px;height:1px;background:#888;position:relative}.scroll-cue i:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-right:1px solid #888;border-bottom:1px solid #888;transform:rotate(-45deg)}

.reputation{padding:115px 0;background:var(--mint)}.reputation__grid{display:grid;grid-template-columns:180px minmax(260px,.75fr) minmax(430px,1.25fr);gap:40px;align-items:start}.reputation h2{font-size:clamp(38px,4.5vw,70px);line-height:1.05;letter-spacing:-.05em;margin:0}.tag-cloud{display:flex;flex-wrap:wrap;gap:12px}.tag{border:1px solid var(--ink);padding:12px 18px;border-radius:999px;font-weight:800;font-size:13px;background:rgba(255,255,255,.38)}.tag--lg{font-size:17px;background:#fff}.tag--xl{font-size:21px;background:var(--pink);color:#fff;border-color:var(--pink)}

.mastery{padding:150px 0;background:var(--paper)}.mastery__layout{display:grid;grid-template-columns:minmax(350px,.8fr) minmax(480px,1.2fr);gap:clamp(50px,8vw,130px);align-items:center}.mastery__image{margin:0;position:relative}.mastery__image:before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--ink);z-index:0}.mastery__image img{position:relative;z-index:1;width:100%;aspect-ratio:3/4;object-fit:cover}.mastery__image figcaption{position:absolute;z-index:2;right:-30px;bottom:22px;background:var(--pink);color:#fff;padding:14px 18px;font-size:10px;letter-spacing:.15em;font-weight:900;transform:rotate(-90deg);transform-origin:right bottom}
.mastery__steps{border-top:1px solid var(--ink)}.method-card{display:grid;grid-template-columns:90px 1fr;gap:24px;padding:34px 0;border-bottom:1px solid var(--ink)}.method-card>span{font-size:13px;color:var(--pink);font-weight:900}.method-card h3{margin:0;font-family:var(--display);font-size:39px;line-height:1;letter-spacing:-.04em}.method-card p{margin:10px 0 0;color:var(--muted);max-width:480px}

.diagnosis{position:relative;padding:140px 0;background:#1e20d9;color:#fff;overflow:hidden}.diagnosis__backdrop{position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(255,79,120,.7),transparent 35%),radial-gradient(circle at 85% 70%,rgba(184,246,220,.28),transparent 35%)}
.diagnosis__grid{position:relative;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(480px,1.28fr);gap:clamp(45px,8vw,120px);align-items:start}.diagnosis__intro h2{font-size:clamp(46px,5.7vw,83px);line-height:1;letter-spacing:-.055em;margin:0}.diagnosis__intro>p:not(.kicker){color:#d8d9ff;max-width:500px}.diagnosis__visual{margin-top:42px;width:66%;transform:rotate(-4deg);border:10px solid #fff;box-shadow:22px 22px 0 var(--pink)}.diagnosis__visual img{aspect-ratio:3/4;object-fit:cover}
.consult-form{background:var(--white);color:var(--ink);padding:clamp(24px,4vw,54px);box-shadow:25px 25px 0 rgba(10,10,13,.25)}.consult-form fieldset{border:0;padding:0;margin:0 0 34px}.consult-form legend{font-weight:900;font-size:18px;margin-bottom:15px}.consult-form legend span{font-size:9px;letter-spacing:.15em;color:var(--pink);display:block;margin-bottom:4px}.choice-grid{display:grid;gap:8px}.choice-grid--2{grid-template-columns:repeat(2,1fr)}.choice-grid--4{grid-template-columns:repeat(4,1fr)}.choice-grid label{position:relative}.choice-grid input{position:absolute;opacity:0;pointer-events:none}.choice-grid span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px 10px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:800;cursor:pointer;transition:.2s}.choice-grid input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}.choice-grid input:focus-visible+span{outline:3px solid var(--pink);outline-offset:2px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.consult-form>label,.form-row label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:800;margin-bottom:22px}.consult-form select,.consult-form textarea{border:1px solid var(--line);background:#fff;padding:14px;border-radius:0;outline:none}.consult-form select:focus,.consult-form textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(255,79,120,.12)}.form-note{font-size:11px;color:var(--muted);margin:13px 0 0}

.programs{padding:150px 0;background:var(--paper-2)}.program-list{border-top:2px solid var(--ink)}.program{display:grid;grid-template-columns:65px minmax(0,1fr) 220px 60px;gap:35px;align-items:center;padding:36px 0;border-bottom:1px solid var(--ink);transition:padding .25s,background .25s}.program:hover{padding-left:18px;padding-right:18px;background:rgba(255,255,255,.56)}.program__index{font-size:12px;font-weight:900;color:var(--pink)}.program__copy p{margin:0;color:var(--pink);font-size:10px;letter-spacing:.17em;font-weight:900}.program__copy h3{margin:8px 0;font-family:var(--display);font-size:clamp(27px,3vw,45px);line-height:1.08;letter-spacing:-.04em}.program__copy span{color:var(--muted);font-size:13px}.program__price{display:flex;flex-direction:column}.program__price small{font-size:10px;color:var(--muted)}.program__price strong{font-size:25px;line-height:1.3}.program__price span{font-size:11px;color:var(--muted)}.circle-button{width:58px;height:58px;border-radius:50%;border:1px solid var(--ink);background:transparent;font-size:24px;cursor:pointer;transition:.2s}.circle-button:hover{background:var(--pink);border-color:var(--pink);color:#fff;transform:rotate(45deg)}.price-disclaimer{font-size:11px;color:var(--muted);margin:18px 0 0}

.archive{padding:150px 0;background:var(--ink);color:#fff}.archive .section-heading h2 em{color:var(--pink)}.archive__heading{display:flex;justify-content:space-between;align-items:end;max-width:none}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;padding:10px 15px;font-size:10px;font-weight:900;cursor:pointer}.filter.is-active,.filter:hover{background:var(--pink);border-color:var(--pink)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(230px,28vw);gap:12px}.gallery-item{position:relative;border:0;padding:0;background:#222;overflow:hidden;cursor:zoom-in}.gallery-item--tall{grid-row:span 2}.gallery-item--wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s,filter .5s}.gallery-item:hover img{transform:scale(1.06);filter:saturate(1.12)}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.85));opacity:.8}.gallery-item span{position:absolute;z-index:2;left:20px;bottom:18px;text-align:left}.gallery-item b{display:block;font-size:15px}.gallery-item small{font-size:9px;letter-spacing:.15em;color:#ddd}.gallery-item.is-hidden{display:none}
.lightbox{width:min(92vw,1000px);height:min(90vh,900px);padding:0;border:0;background:transparent;overflow:visible}.lightbox::backdrop{background:rgba(0,0,0,.92);backdrop-filter:blur(8px)}.lightbox figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox img{max-height:80vh;max-width:100%;box-shadow:0 30px 90px #000}.lightbox figcaption{color:#fff;margin-top:16px;font-weight:900}.lightbox__close{position:fixed;right:25px;top:20px;width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:#000;color:#fff;font-size:30px;cursor:pointer}

.manifesto{min-height:850px;display:grid;grid-template-columns:1.15fr .85fr;background:var(--pink);color:#fff}.manifesto__image{background:linear-gradient(90deg,transparent 60%,rgba(255,79,120,.98)),url('images/rose.webp') center/cover no-repeat;min-height:650px}.manifesto__copy{padding:clamp(70px,10vw,150px) var(--pad);align-self:center;max-width:700px}.manifesto__copy>p:first-child{font-size:11px;letter-spacing:.2em;font-weight:900}.manifesto h2{font-size:clamp(48px,6.4vw,92px);margin:24px 0}.manifesto__copy>p:nth-child(3){font-size:18px;max-width:550px}.manifesto .button{margin-top:25px}

.reviews{padding:150px 0;background:var(--paper)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.review-card{min-height:360px;padding:34px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.review-card--accent{background:var(--mint);transform:translateY(28px)}.stars{letter-spacing:.18em;color:var(--pink)}.review-card blockquote{font-size:clamp(20px,2vw,29px);line-height:1.5;letter-spacing:-.035em;margin:40px 0}.review-card>p{font-size:11px;letter-spacing:.1em;font-weight:900;color:var(--muted)}.review-stat{margin-top:100px;display:grid;grid-template-columns:250px 1fr auto;gap:45px;align-items:center;border-top:1px solid var(--ink);padding-top:35px}.review-stat strong{font-size:100px;line-height:.8;color:var(--pink)}.review-stat p{font-size:20px;margin:0}.review-stat a{font-size:13px;font-weight:900;border-bottom:1px solid var(--ink)}

.prices{padding:150px 0;background:var(--blue);color:#fff}.prices__grid{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(480px,1.22fr);gap:clamp(55px,9vw,140px);align-items:center}.prices__intro h2{font-size:clamp(50px,6.5vw,92px);line-height:1;letter-spacing:-.055em;margin:0}.prices__intro h2 em{font-style:italic;color:var(--mint)}.prices__intro>p:not(.kicker){color:#d7d8ff;font-size:18px;max-width:500px}.prices__intro .button{margin-top:28px}.price-table{border-top:2px solid #fff}.price-row{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.4)}.price-row span{font-size:11px;letter-spacing:.15em}.price-row b{font-size:22px;text-align:right}.price-row--note{align-items:flex-start}.price-row--note b{font-size:16px}.price-table>p{font-size:11px;color:#c3c5ff}

.journey{padding:140px 0;background:var(--paper-2)}.journey__steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}.journey__steps li{padding:34px 24px 20px 0;border-right:1px solid var(--ink);min-height:260px}.journey__steps li+li{padding-left:24px}.journey__steps li:last-child{border-right:0}.journey__steps span{font-size:12px;color:var(--pink);font-weight:900}.journey__steps h3{font-family:var(--display);font-size:32px;letter-spacing:-.04em;margin:60px 0 12px}.journey__steps p{font-size:14px;color:var(--muted)}

.visit{display:grid;grid-template-columns:1fr 1fr;background:var(--white)}.visit__visual{min-height:780px}.visit__visual img{width:100%;height:100%;object-fit:cover}.visit__content{padding:clamp(70px,9vw,145px) var(--pad);align-self:center}.visit h2{font-size:clamp(49px,6vw,84px);margin:0 0 50px}.visit dl{margin:0;border-top:1px solid var(--ink)}.visit dl div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.visit dt{font-size:10px;letter-spacing:.15em;font-weight:900}.visit dd{margin:0;color:var(--muted);font-size:14px}.visit__buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:35px}

.faq{padding:150px 0;background:var(--paper)}.faq__grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(60px,8vw,120px)}.faq .section-heading{position:sticky;top:125px;height:max-content}.accordion{border-top:1px solid var(--ink)}.accordion details{border-bottom:1px solid var(--ink)}.accordion summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:26px 0;font-weight:900;font-size:18px}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font-size:25px;transition:.25s}.accordion details[open] summary span{transform:rotate(45deg);color:var(--pink)}.accordion details p{max-width:720px;margin:-3px 0 28px;color:var(--muted)}

.final-cta{position:relative;min-height:760px;display:grid;place-items:center;text-align:center;background:var(--pink);color:#fff;overflow:hidden;padding:100px var(--pad)}.final-cta:before,.final-cta:after{content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(255,255,255,.25);border-radius:50%}.final-cta:before{left:-240px;top:-260px}.final-cta:after{right:-220px;bottom:-280px}.final-cta__inner{position:relative;z-index:2}.final-cta__inner>p:first-child{font-size:11px;letter-spacing:.22em;font-weight:900}.final-cta h2{font-size:clamp(54px,8vw,118px);margin:30px 0}.final-cta__inner>p:nth-child(3){font-size:18px}.final-cta .button{margin-top:30px}
.footer{background:var(--ink);color:#fff;padding:70px var(--pad) 110px;display:grid;grid-template-columns:1fr 1fr;gap:55px;border-top:1px solid rgba(255,255,255,.15)}.footer__brand{display:flex;flex-direction:column}.footer__brand b{font-size:35px;letter-spacing:.08em}.footer__brand span{font-size:9px;letter-spacing:.2em;color:#777}.footer__links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:20px;font-size:10px;letter-spacing:.12em}.footer__links a:hover{color:var(--pink)}.footer__meta{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.15);padding-top:25px;color:#777;font-size:11px}
.mobile-cta{display:none}
.toast{position:fixed;left:50%;bottom:30px;z-index:999;transform:translate(-50%,30px);background:#fff;color:#000;padding:13px 18px;box-shadow:0 15px 50px rgba(0,0,0,.4);font-size:13px;font-weight:800;opacity:0;pointer-events:none;transition:.3s}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
.reveal{opacity:0;transform:translateY(38px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms)}.reveal.is-visible{opacity:1;transform:none}

@media (max-width:1100px){
  .nav{gap:18px}.nav>a{display:none}
  .hero{grid-template-columns:1fr .72fr}.hero__note{left:-65px}.hero__badge{left:-35px}
  .reputation__grid{grid-template-columns:120px 1fr}.tag-cloud{grid-column:2}
  .gallery{grid-template-columns:repeat(3,1fr)}
  .manifesto{grid-template-columns:1fr 1fr}
  .review-stat{grid-template-columns:170px 1fr}.review-stat a{grid-column:2}.review-stat strong{font-size:82px}
}
@media (max-width:820px){
  :root{--pad:22px}
  .site-header{height:70px}.brand__text small{display:none}.brand__mark{width:34px}.nav{position:fixed;inset:104px 0 0;background:var(--ink);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:35px var(--pad);gap:0;transform:translateX(100%);transition:.35s}.nav.is-open{transform:none}.nav>a{display:block;font-family:var(--display);font-size:31px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.15)}.nav .button{margin-top:28px}.menu-toggle{display:block}.menu-open .menu-toggle span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
  .hero{min-height:auto;grid-template-columns:1fr;padding-top:75px;padding-bottom:110px}.hero h1{font-size:clamp(53px,15vw,92px)}.hero__visual{width:88%;margin-top:30px}.hero__frame{transform:rotate(1deg)}.hero__note{left:-25px;bottom:-25px}.hero__badge{left:auto;right:-27px;top:-45px;width:105px}.hero__proof{gap:26px}.hero__proof strong{font-size:25px}.scroll-cue{display:none}
  .section-heading--split{grid-template-columns:1fr;gap:20px}.section-heading{margin-bottom:45px}.section-heading h2{font-size:clamp(45px,13vw,76px)}
  .reputation{padding:85px 0}.reputation__grid{grid-template-columns:1fr}.tag-cloud{grid-column:1}.tag--xl{font-size:17px}
  .mastery{padding:95px 0}.mastery__layout{grid-template-columns:1fr}.mastery__image{width:82%;margin:auto}.method-card{grid-template-columns:55px 1fr}
  .diagnosis{padding:95px 0}.diagnosis__grid{grid-template-columns:1fr}.diagnosis__visual{width:48%;margin-left:auto;margin-right:10%}.consult-form{padding:25px}.choice-grid--4{grid-template-columns:repeat(2,1fr)}
  .programs{padding:95px 0}.program{grid-template-columns:42px 1fr 50px;gap:14px}.program__price{grid-column:2}.program .circle-button{grid-column:3;grid-row:1/3}.program__copy h3{font-size:28px}
  .archive{padding:95px 0}.archive__heading{display:block}.filters{margin-top:35px}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:62vw}.gallery-item--wide{grid-column:span 2}
  .manifesto{grid-template-columns:1fr}.manifesto__image{min-height:520px;background:linear-gradient(0deg,var(--pink),transparent 55%),url('images/rose.webp') center/cover no-repeat}.manifesto__copy{padding-top:30px}.manifesto h2{font-size:56px}
  .reviews{padding:95px 0}.review-grid{grid-template-columns:1fr}.review-card{min-height:280px}.review-card--accent{transform:none}.review-stat{grid-template-columns:1fr;gap:25px;margin-top:65px}.review-stat a{grid-column:1}.review-stat strong{font-size:75px}
  .prices{padding:95px 0}.prices__grid{grid-template-columns:1fr}.prices__intro h2{font-size:55px}
  .journey{padding:95px 0}.journey__steps{grid-template-columns:1fr 1fr}.journey__steps li:nth-child(2){border-right:0}.journey__steps li:nth-child(n+3){border-top:1px solid var(--ink)}
  .visit{grid-template-columns:1fr}.visit__visual{min-height:520px}.visit__content{padding-top:75px;padding-bottom:75px}
  .faq{padding:95px 0}.faq__grid{grid-template-columns:1fr}.faq .section-heading{position:static}.final-cta{min-height:650px}.final-cta h2{font-size:58px}
  .footer{grid-template-columns:1fr;padding-bottom:130px}.footer__links{justify-content:flex-start}.footer__meta{display:block}.footer__meta p{margin:8px 0}
  .mobile-cta{position:fixed;display:grid;grid-template-columns:105px 1fr;left:0;right:0;bottom:0;z-index:90;background:#fff;border-top:1px solid #ddd;padding:8px max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));box-shadow:0 -10px 40px rgba(0,0,0,.18)}.mobile-cta a,.mobile-cta button{height:54px;border:0;font-weight:900}.mobile-cta a{display:grid;place-items:center;background:#e9e8e4}.mobile-cta button{background:var(--pink);color:#fff}.mobile-cta span{margin-left:14px}
}
@media (max-width:520px){
  .hero__actions{display:grid}.hero__actions .button{width:100%}.hero__proof{justify-content:space-between}.hero__proof span{font-size:10px}.hero__note{width:205px}
  .form-row{grid-template-columns:1fr}.choice-grid--2{grid-template-columns:1fr 1fr}.diagnosis__visual{width:64%}
  .gallery{grid-auto-rows:70vw}.gallery-item--tall{grid-row:span 1}.gallery-item--wide{grid-column:span 2}
  .program__copy span{display:none}.program__price strong{font-size:21px}
  .journey__steps{grid-template-columns:1fr}.journey__steps li{border-right:0!important;border-top:1px solid var(--ink);padding-left:0!important;min-height:210px}.journey__steps h3{margin-top:35px}.visit dl div{grid-template-columns:1fr;gap:4px}.visit h2{font-size:52px}.accordion summary{font-size:16px}.final-cta h2{font-size:50px}.button{gap:18px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* =========================================================
   MOBILE EXPERIENCE REBUILD - 2026.07
   Clean full-screen navigation, disciplined type scale,
   compact portrait imagery and mobile conversion controls.
   ========================================================= */
.mobile-menu{display:none}

@media (max-width:820px){
  :root{--pad:20px}
  html{scroll-padding-top:68px}
  body{font-size:15px;line-height:1.62}
  body.menu-open{overscroll-behavior:none;touch-action:none}
  .topline{height:28px;font-size:8px}
  .topline__track span{padding:0 22px}
  .site-header{height:64px;padding:0 18px;background:#0a0a0d;backdrop-filter:none;-webkit-backdrop-filter:none}
  .brand{gap:10px}.brand__mark{width:31px;height:31px}.brand__text b{font-size:15px;letter-spacing:.14em}
  .nav{display:none!important}
  .menu-toggle{display:grid;place-content:center;width:46px;height:46px;padding:9px;position:relative;z-index:2}
  .menu-toggle span{width:25px;height:2px;margin:4px 0;border-radius:5px}
  .menu-open .menu-toggle span:first-child,.menu-open .menu-toggle span:last-child{transform:none}

  .mobile-menu{position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:100vh;min-height:100dvh;background:#0a0a0d;color:#fff;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-18px);transition:opacity .28s ease,transform .35s cubic-bezier(.22,.8,.24,1),visibility 0s linear .35s;overflow:hidden}
  .mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
  .mobile-menu:before{content:"";position:absolute;right:-32vw;top:20vh;width:74vw;height:74vw;border:1px solid rgba(255,255,255,.07);border-radius:50%;box-shadow:0 0 0 12vw rgba(255,255,255,.018),0 0 0 24vw rgba(255,255,255,.012);pointer-events:none}
  .mobile-menu__top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:calc(10px + env(safe-area-inset-top)) 20px 10px;border-bottom:1px solid rgba(255,255,255,.13)}
  .mobile-menu__brand{display:flex;align-items:center;gap:11px}.mobile-menu__brand svg{width:34px;height:34px;fill:var(--pink)}.mobile-menu__brand span{display:flex;flex-direction:column;line-height:1}.mobile-menu__brand b{font-size:16px;letter-spacing:.15em}.mobile-menu__brand small{margin-top:7px;color:#7f7f84;font-size:7px;letter-spacing:.19em}
  .mobile-menu__close{position:relative;width:46px;height:46px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:transparent;cursor:pointer}.mobile-menu__close span{position:absolute;left:12px;top:21px;width:20px;height:2px;background:#fff}.mobile-menu__close span:first-child{transform:rotate(45deg)}.mobile-menu__close span:last-child{transform:rotate(-45deg)}
  .mobile-menu__body{position:relative;z-index:2;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:28px 20px 24px}
  .mobile-menu__eyebrow{margin:0 0 14px;color:var(--pink);font-size:8px;font-weight:900;letter-spacing:.2em}
  .mobile-menu__nav{border-top:1px solid rgba(255,255,255,.2)}
  .mobile-menu__nav a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;column-gap:12px;min-height:70px;border-bottom:1px solid rgba(255,255,255,.14);transition:background .2s,padding .2s}
  .mobile-menu__nav a:active{background:rgba(255,255,255,.06);padding-left:8px}
  .mobile-menu__nav a>span{align-self:start;padding-top:19px;color:var(--pink);font-size:9px;font-weight:900}
  .mobile-menu__nav strong{font-family:var(--display);font-size:23px;line-height:1.1;letter-spacing:-.035em}
  .mobile-menu__nav small{max-width:108px;color:#8e8e94;font-size:9px;line-height:1.45;text-align:right;word-break:keep-all}
  .mobile-menu__actions{display:grid;grid-template-columns:1.3fr .7fr;gap:8px;margin-top:22px}
  .mobile-menu__actions .button{min-width:0;min-height:54px;padding:0 14px;gap:12px;font-size:13px}
  .mobile-menu__map{border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff}
  .mobile-menu__footer{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;gap:5px 18px;padding:15px 20px calc(15px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.13);color:#78787e;font-size:8px;font-weight:800;letter-spacing:.11em}
  .mobile-menu__footer a{grid-row:1/3;align-self:center;color:#fff}.mobile-menu__footer span{text-align:right}
  .menu-open .mobile-cta{transform:translateY(120%)}

  .kicker,.eyebrow{margin-bottom:16px;font-size:9px;letter-spacing:.18em}
  .section-heading{margin-bottom:36px}
  .section-heading h2{font-size:clamp(35px,9.6vw,46px);line-height:1.08;letter-spacing:-.045em;word-break:keep-all}
  .section-heading>p:last-child{margin-top:20px;font-size:15px;line-height:1.7;word-break:keep-all}

  .hero{min-height:auto;grid-template-columns:1fr;gap:34px;padding:52px var(--pad) 78px}
  .hero__copy{max-width:560px}
  .hero h1{font-size:clamp(41px,11.8vw,55px);line-height:1.05;letter-spacing:-.05em;word-break:keep-all}
  .hero__lead{margin:24px 0 0;font-size:15px;line-height:1.75;word-break:keep-all}
  .hero__actions{margin-top:28px}
  .hero__actions .button{min-height:54px;font-size:13px}
  .hero__proof{gap:18px;margin-top:38px;padding-top:22px;justify-content:space-between}
  .hero__proof strong{font-size:23px}.hero__proof span{font-size:9px}
  .hero__visual{width:min(100%,440px);margin:6px auto 0;justify-self:center}
  .hero__frame{padding:9px;transform:rotate(.7deg)}
  .hero__frame img{aspect-ratio:4/4.6;max-height:505px;object-position:center 35%}
  .hero__frame:after{inset:9px}
  .hero__frame-label{right:20px;bottom:18px}.hero__frame-label strong{font-size:35px}
  .hero__badge{width:78px;right:-8px;top:-27px}.hero__note{left:8px;bottom:-22px;width:192px;padding:14px 16px;box-shadow:10px 10px 0 var(--pink)}.hero__note p{font-size:11px}

  .reputation,.mastery,.diagnosis,.programs,.archive,.reviews,.prices,.journey,.faq{padding-top:76px;padding-bottom:76px}
  .reputation__grid{gap:18px}.reputation h2{font-size:34px;line-height:1.12;word-break:keep-all}.tag-cloud{gap:7px}.tag,.tag--lg,.tag--xl{padding:9px 12px;font-size:11px}

  .mastery__layout{gap:46px}.mastery__image{width:min(100%,420px)}.mastery__image:before{inset:-10px 10px 10px -10px}.mastery__image img{aspect-ratio:4/5;max-height:520px;object-position:center 30%}.mastery__image figcaption{right:-17px;font-size:8px;padding:10px 12px}.method-card{grid-template-columns:36px 1fr;gap:14px;padding:24px 0}.method-card h3{font-size:30px}.method-card p{font-size:14px;line-height:1.65}

  .diagnosis__intro h2{font-size:clamp(35px,9.6vw,46px);line-height:1.08;word-break:keep-all}.diagnosis__intro>p:not(.kicker){font-size:14px;line-height:1.72}.diagnosis__visual{width:min(58%,230px);margin:28px 8% 0 auto;border-width:7px;box-shadow:13px 13px 0 var(--pink)}.diagnosis__visual img{aspect-ratio:4/5;max-height:290px;object-position:center 25%}.consult-form{padding:22px 17px;box-shadow:10px 10px 0 rgba(10,10,13,.25)}.consult-form legend{font-size:16px}.choice-grid span{min-height:44px;padding:7px 6px;font-size:11px}.form-note{line-height:1.55}

  .program{grid-template-columns:30px minmax(0,1fr) 42px;gap:10px;padding:25px 0}.program:hover{padding-left:0;padding-right:0;background:transparent}.program__index{align-self:start;padding-top:5px;font-size:10px}.program__copy p{font-size:8px}.program__copy h3{margin:7px 0;font-size:23px;line-height:1.24;letter-spacing:-.035em;word-break:keep-all}.program__copy h3 br{display:none}.program__copy span{display:block;font-size:11px;line-height:1.55}.program__price{grid-column:2;margin-top:4px}.program__price strong{font-size:18px}.program .circle-button{grid-column:3;grid-row:1/3;width:40px;height:40px;font-size:19px}

  .archive__heading{display:block}.filters{margin-top:24px;gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.filter{flex:0 0 auto;padding:9px 12px}
  .gallery{display:grid;grid-template-columns:none;grid-template-rows:1fr;grid-auto-flow:column;grid-auto-columns:min(78vw,310px);grid-auto-rows:1fr;gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding:2px var(--pad) 12px;margin-left:calc(var(--pad) * -1);margin-right:calc(var(--pad) * -1);scroll-padding-inline:var(--pad)}
  .gallery::-webkit-scrollbar{height:3px}.gallery::-webkit-scrollbar-thumb{background:var(--pink)}
  .gallery-item,.gallery-item--tall,.gallery-item--wide{grid-column:auto;grid-row:auto;aspect-ratio:4/5;min-height:0;scroll-snap-align:start}.gallery-item img{object-position:center 28%}.gallery-item span{left:15px;bottom:14px}.gallery-item b{font-size:13px}

  .manifesto{min-height:0;grid-template-columns:1fr}.manifesto__image{min-height:0;height:auto;aspect-ratio:4/5;max-height:470px;background:linear-gradient(0deg,var(--pink),transparent 52%),url('images/rose.webp') center 28%/cover no-repeat}.manifesto__copy{padding:48px var(--pad) 72px}.manifesto h2{font-size:clamp(37px,10vw,46px);line-height:1.08;word-break:keep-all}.manifesto__copy>p:nth-child(3){font-size:15px;line-height:1.7}

  .review-grid{gap:10px}.review-card{min-height:235px;padding:24px 20px}.review-card blockquote{margin:28px 0;font-size:19px;line-height:1.55;word-break:keep-all}.review-stat{gap:14px;margin-top:48px;padding-top:24px}.review-stat strong{font-size:60px}.review-stat p{font-size:16px}

  .prices__intro h2{font-size:clamp(37px,10vw,46px);line-height:1.08;word-break:keep-all}.prices__intro>p:not(.kicker){font-size:15px;line-height:1.7}.price-row{padding:18px 0}.price-row b{font-size:18px}.price-row span{font-size:9px}
  .journey__steps{grid-template-columns:1fr}.journey__steps li{min-height:0;padding:22px 0!important;border-right:0!important;border-top:0}.journey__steps li+li{border-top:1px solid var(--ink)}.journey__steps h3{margin:15px 0 7px;font-size:25px}.journey__steps p{margin:0;font-size:13px;line-height:1.6}

  .visit{grid-template-columns:1fr}.visit__visual{min-height:0;height:auto;aspect-ratio:4/5;max-height:470px}.visit__visual img{object-position:center 26%}.visit__content{padding:58px var(--pad) 70px}.visit h2{font-size:clamp(37px,10vw,46px);line-height:1.08;word-break:keep-all;margin-bottom:36px}.visit dl div{padding:16px 0}.visit__buttons .button{width:100%}

  .faq__grid{gap:0}.accordion summary{padding:21px 0;font-size:15px;line-height:1.45;word-break:keep-all}.accordion details p{font-size:13px;line-height:1.7}.final-cta{min-height:500px;padding:76px var(--pad) 100px}.final-cta h2{font-size:clamp(38px,10.5vw,48px);line-height:1.08;word-break:keep-all;margin:24px 0}.final-cta__inner>p:nth-child(3){font-size:15px}.final-cta:before,.final-cta:after{width:360px;height:360px}

  .footer{padding:52px var(--pad) 112px;gap:30px}.footer__brand b{font-size:27px}.footer__links{gap:14px}.footer__meta{padding-top:20px;font-size:9px;line-height:1.7}
  .mobile-cta{grid-template-columns:88px 1fr;z-index:800;padding:7px max(8px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));transition:transform .3s ease}.mobile-cta a,.mobile-cta button{height:50px;font-size:13px}.mobile-cta span{margin-left:8px}
  .toast{bottom:78px;width:calc(100% - 30px);text-align:center;font-size:11px}
}

@media (max-width:520px){
  :root{--pad:18px}
  .hero h1{font-size:clamp(39px,11.3vw,48px)}
  .hero h1 br{display:none}.hero h1 em{display:block;margin-top:5px}
  .hero__proof{gap:10px}.hero__proof strong{font-size:21px}.hero__proof span{font-size:8px}
  .hero__badge{display:none}.hero__note{left:5px;bottom:-18px;width:180px}
  .section-heading h2,.diagnosis__intro h2,.prices__intro h2,.visit h2,.manifesto h2{font-size:clamp(34px,9.7vw,41px)}
  .section-heading h2 br,.diagnosis__intro h2 br,.prices__intro h2 br,.visit h2 br,.manifesto h2 br,.final-cta h2 br{display:none}
  .section-heading h2 em,.prices__intro h2 em{display:inline}
  .choice-grid--2{grid-template-columns:1fr 1fr}.choice-grid--4{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}
  .mobile-menu__nav a{min-height:64px}.mobile-menu__nav strong{font-size:21px}.mobile-menu__nav small{font-size:8px;max-width:88px}.mobile-menu__actions{grid-template-columns:1fr}.mobile-menu__map{display:none}
  .gallery{grid-auto-columns:min(80vw,300px)}
  .manifesto__image,.visit__visual{max-height:430px}
  .review-stat strong{font-size:54px}.review-stat p{font-size:14px}
  .final-cta h2{font-size:clamp(36px,10vw,43px)}
}

/* Preserve deliberate editorial line breaks on small screens. */
@media (max-width:520px){
  .program__copy h3 br,
  .section-heading h2 br,
  .diagnosis__intro h2 br,
  .prices__intro h2 br,
  .visit h2 br,
  .manifesto h2 br,
  .final-cta h2 br{display:block}
}

/* Explicit mobile crop heights prevent portrait work from becoming page-length. */
@media (max-width:820px){
  .hero__frame img{height:clamp(370px,105vw,440px);max-height:none;aspect-ratio:auto;object-fit:cover}
  .mastery__image img{height:clamp(360px,108vw,440px);max-height:none;aspect-ratio:auto;object-fit:cover}
  .diagnosis__visual img{height:260px;max-height:none;aspect-ratio:auto;object-fit:cover}
}
@media (max-width:380px){
  .hero__frame img{height:380px}
  .mastery__image img{height:390px}
}
.mobile-menu__close:focus{outline:none}
.mobile-menu__close:focus-visible{outline:2px solid var(--pink);outline-offset:3px}

/* Neutralize HTML intrinsic height hints so responsive aspect-ratio rules control layout. */
img{height:auto}
@media (max-width:820px){
  body.menu-open{touch-action:auto}
  .mobile-menu__body{touch-action:pan-y}
}
