/* fonts.css */
/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/google/cinzel-v26-8vIJ7ww63mVu7gt7-GT7LEc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/google/cinzel-v26-8vIJ7ww63mVu7gt79mT7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/google/cinzel-v26-8vIJ7ww63mVu7gt7-GT7LEc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/google/cinzel-v26-8vIJ7ww63mVu7gt79mT7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/google/cinzel-v26-8vIJ7ww63mVu7gt7-GT7LEc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/google/cinzel-v26-8vIJ7ww63mVu7gt79mT7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/google/dmsans-v17-rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/google/dmsans-v17-rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/google/dmsans-v17-rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/google/dmsans-v17-rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/google/dmsans-v17-rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/google/dmsans-v17-rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/google/dmsans-v17-rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/google/dmsans-v17-rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Italiana';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/google/italiana-v21-QldNNTtLsx4E__B0XQmWaXw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* styles.css */
:root{color-scheme:dark;--black:#090908;--black-2:#11110f;--charcoal:#181714;--gold:#c7a464;--gold-light:#e5c98f;--gold-solid:#c7a464;--gold-solid-light:#e5c98f;--cream:#eee6d8;--sand:#d8c8ae;--ink:#24211c;--muted:#9d978d;--line:rgba(199,164,100,.25);--gold-tint:rgba(199,164,100,.14);--display:"Cinzel",Georgia,serif;--classic:"Cinzel",Georgia,serif;--italic:"Italiana",Georgia,serif;--sans:"DM Sans",sans-serif;--pad:clamp(1.25rem,5vw,5.75rem);--max:1440px}
h1 em,h2 em,h3 em{font-family:var(--italic);font-style:normal}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip;overflow-y:visible}body{margin:0;background:var(--black);color:var(--cream);font-family:var(--sans);font-weight:300;line-height:1.6;overflow-x:clip;overflow-y:visible}header[inert],main[inert],footer[inert]{display:none}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.grain{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.035;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.kicker{margin:0 0 1rem;color:var(--gold);font:500 .68rem/1 var(--sans);letter-spacing:.34em;text-transform:uppercase}.section-pad{padding:clamp(4rem,7vw,6.5rem) var(--pad)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h2{font:400 clamp(2.8rem,5.5vw,5.8rem)/.94 var(--display);letter-spacing:-.025em}h2 em{color:var(--gold);font-weight:400}.section-number{font:500 .65rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#7f796d}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-width:16rem;padding:1rem 1.2rem;border:1px solid var(--gold);border-radius:12px;font:500 .7rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;transition:background .3s,color .3s,transform .3s}.button span{font-size:1rem}.button-gold{background:var(--gold-solid);color:#17120a}.button-gold:hover,.button-gold:focus-visible{background:var(--gold-solid-light);transform:translateY(-2px)}
.site-header{position:fixed;z-index:80;top:0;left:0;right:0;height:96px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;box-shadow:inset 0 -1px 0 0 transparent;transition:background .35s,box-shadow .35s,height .35s}.site-header:not(.scrolled){background:linear-gradient(180deg,rgba(9,9,8,.62) 0%,rgba(9,9,8,.32) 60%,rgba(9,9,8,0) 100%)}.site-header.scrolled{background:rgba(9,9,8,.97);box-shadow:inset 0 -1px 0 0 var(--line);backdrop-filter:blur(18px)}section[id]{scroll-margin-top:110px}.brand{display:flex;align-items:center;gap:.75rem;font:500 .8rem/1 var(--classic);letter-spacing:.15em;text-transform:uppercase}.brand img{width:44px;mix-blend-mode:screen}.brand i{font-style:normal;color:var(--gold)}.brand-stack{display:flex;flex-direction:column;gap:.4rem;white-space:nowrap}.brand-tag{font:500 .5rem/1 var(--sans);letter-spacing:.24em;color:#8c8477}.nav{display:flex;align-items:center;gap:clamp(1.4rem,3vw,3.2rem);font:500 .65rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}.nav>a:not(.nav-cta):not(.nav-account){position:relative;color:#b8b2a8;transition:color .25s}.nav>a:not(.nav-cta):not(.nav-account):after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:currentColor;transition:right .35s cubic-bezier(.22,1,.36,1)}.nav>a:hover{color:var(--gold-light)}.nav>a:not(.nav-cta):not(.nav-account):hover:after,.nav>a:not(.nav-cta):not(.nav-account):focus-visible:after{right:0}.nav-cta{border:1px solid var(--line);border-radius:999px;padding:.8rem 1rem;white-space:nowrap;transition:background-color .3s,border-color .3s,color .3s,transform .25s}.nav-cta:hover,.nav-cta:focus-visible{border-color:var(--gold);background:var(--gold-tint);transform:translateY(-1px)}.nav-account{display:flex;align-items:center;gap:.55rem;padding:.7rem 1.1rem;border:1px solid var(--line);border-radius:999px;color:#b8b2a8;flex:0 0 auto;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s,transform .25s}.nav-account svg{width:16px;height:16px;flex:0 0 auto}.nav-account span{font:500 .62rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}.nav-account:hover,.nav-account:focus-visible{color:var(--gold-light);border-color:var(--gold);background:var(--gold-tint);transform:translateY(-1px)}.menu-toggle{display:none;background:none;border:0;color:var(--cream);width:44px;height:44px;padding:12px;cursor:pointer;transition:color .25s,opacity .25s}.menu-toggle:hover,.menu-toggle:focus-visible{color:var(--gold-light);opacity:.85}.menu-toggle span:not(.sr-only){display:block;height:1px;background:currentColor;margin:6px 0;transition:transform .3s}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:9rem var(--pad) 7rem;overflow:hidden;background:radial-gradient(circle at 65% 45%,rgba(165,128,65,.14),transparent 30%),linear-gradient(115deg,#090908 30%,#11100d)}#spine-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.92}.hero-glow{position:absolute;width:42vw;height:42vw;right:9vw;top:20%;border-radius:50%;background:radial-gradient(circle,rgba(199,164,100,.12),transparent 68%);filter:blur(25px)}.hero-copy{position:relative;z-index:2;width:min(900px,72vw)}.hero h1{margin:.4rem 0 2rem;font:400 clamp(4rem,9.4vw,9.5rem)/.82 var(--display);letter-spacing:-.045em}.hero h1 span,.hero h1 em{display:block}.hero h1 em{font-weight:400;color:var(--gold);margin-left:9vw}.hero-lede{max-width:580px;margin:0 0 2.2rem;color:#b7b0a6;font-size:clamp(1rem,1.5vw,1.25rem)}.hero-actions{display:flex;align-items:center;gap:2.2rem}.text-link{font:500 .68rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid #655d50;padding:.8rem 0}.text-link span{margin-left:.7rem;color:var(--gold)}.hero-index{position:absolute;right:var(--pad);bottom:2rem;display:flex;gap:1rem;color:#80796f;font:500 .55rem/1 var(--sans);letter-spacing:.18em}.hero-side{position:absolute;right:1.1rem;top:50%;margin:0;writing-mode:vertical-rl;transform:rotate(180deg);font:500 .55rem/1 var(--sans);letter-spacing:.35em;text-transform:uppercase;color:#827969}.hero-reveal{opacity:0;transform:translateY(28px);animation:heroIn .9s cubic-bezier(.22,1,.36,1) forwards}.hero-reveal:nth-child(2){animation-delay:.12s}.hero-reveal:nth-child(3){animation-delay:.24s}.hero-reveal:nth-child(4){animation-delay:.34s}@keyframes heroIn{to{opacity:1;transform:none}}
.manifesto{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 2fr;gap:4rem}.manifesto-copy{max-width:850px}.manifesto-copy>p:last-child{max-width:670px;color:#aaa398;font-size:clamp(1.05rem,1.7vw,1.35rem)}.method-track{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:5rem;border-top:1px solid var(--line)}.method-step{padding:2.5rem 2rem 2rem 0;border-right:1px solid var(--line)}.method-step:not(:first-child){padding-left:2rem}.method-step:last-child{border:0}.method-step>span{color:#857d70;font:500 .65rem/1 var(--sans)}.method-step strong{display:block;margin:2.6rem 0 1rem;color:var(--gold-light);font:400 clamp(2rem,3vw,3rem)/1 var(--classic);letter-spacing:.04em}.method-step .method-step-copy{display:block;max-width:30ch;color:#8f897f;font-size:.95rem;line-height:1.6}
.care{color:var(--cream)}.care .kicker{color:var(--gold)}.care-intro{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.4fr 1fr;gap:6rem;align-items:end}.care-intro-side{display:flex;flex-direction:column;gap:clamp(2rem,4vw,3rem)}.care-intro-side>p{max-width:42ch;margin-bottom:.5rem;color:var(--muted)}.care-preview{display:flex;gap:clamp(1.8rem,3.2vw,2.6rem)}.care-preview-item{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem}.care-preview-glyph{display:grid;place-items:center;width:clamp(56px,5vw,72px);height:clamp(56px,5vw,72px);border:1.5px solid var(--gold);border-radius:50%;color:var(--gold);background:var(--gold-tint)}.care-preview-glyph svg{width:46%;height:46%;overflow:visible}.care-preview-item em{font-style:normal;font:500 .68rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.service-stack{max-width:var(--max);margin:auto;padding:0 var(--pad) clamp(2.5rem,4vw,3.5rem)}.service{position:relative;min-height:680px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);overflow:hidden}.service-copy{padding:clamp(3rem,7vw,7rem) clamp(1rem,5vw,5rem);align-self:center}.service-copy h3{margin:1rem 0 1.6rem;font:400 clamp(3rem,4.8vw,5rem)/.94 var(--display)}.service-copy>p:not(.kicker){max-width:36ch;color:var(--muted)}.service-num{position:absolute;top:2rem;font:500 .65rem/1 var(--sans);letter-spacing:.2em;color:#7f796d}.service-tag{display:block;margin-top:3rem;font:500 .62rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.service-media{position:relative;min-height:clamp(330px,calc(29.5vw + 215px),640px);overflow:hidden}.service-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.35) sepia(.12);transition:transform 1.2s cubic-bezier(.22,1,.36,1)}.service:hover .service-media img{transform:scale(1.035)}.service-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,8,.72),transparent 34%)}.service-shockwave .service-media:after{background:linear-gradient(270deg,rgba(9,9,8,.7),transparent 34%)}.image-line{position:absolute;inset:1.5rem;border:1px solid rgba(229,201,143,.45);z-index:2}.service-shockwave .service-media{order:2}.service-shockwave .service-copy{order:1}.service-art{position:relative;min-height:clamp(330px,calc(33.33vw + 200px),680px);background:var(--black-2);overflow:hidden}.anatomy-lines:before{content:"";position:absolute;inset:10%;background:repeating-radial-gradient(ellipse at 50% 50%,transparent 0 28px,rgba(199,164,100,.16) 29px 30px);transform:rotate(-12deg) scale(.8,1.35)}.orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(199,164,100,.35);border-radius:50%;transform:translate(-50%,-50%) rotate(30deg)}.orbit-a{width:55%;height:85%;animation:orbit 14s linear infinite}.orbit-b{width:83%;height:45%;animation:orbit 19s linear reverse infinite}.axis{position:absolute;left:50%;top:12%;bottom:12%;width:1px;background:linear-gradient(transparent,var(--gold),transparent)}@keyframes orbit{to{transform:translate(-50%,-50%) rotate(390deg)}}
.studio{max-width:var(--max);margin:auto}.studio-heading{margin-left:24%;max-width:920px}.studio-heading em{display:inline-block;margin-left:8vw}.studio-grid{margin-top:5rem;display:grid;grid-template-columns:1.6fr .65fr;gap:5rem;align-items:center}.studio-main{position:relative;margin:0}.studio-main:before{content:"";position:absolute;inset:-1.2rem 1.2rem 1.2rem -1.2rem;border:1px solid var(--line);z-index:-1}.studio-main img{width:100%;filter:saturate(.78) contrast(1.04)}.studio-main figcaption{margin-top:.8rem;color:#9a9385;font:500 .58rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}.studio-note{max-width:380px}.studio-note .line{display:block;width:80px;height:1px;background:var(--gold);margin-bottom:2rem}.studio-note>p{color:#aaa398;font-size:1.15rem}.studio-note dl{margin-top:3rem}.studio-note dl div{display:flex;justify-content:space-between;padding:.85rem 0;border-bottom:1px solid var(--line)}.studio-note dt,.studio-note dd{margin:0;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.studio-note dt{color:#7f796f}.studio-note dd{color:var(--gold-light)}
.brickell{position:relative;height:min(82vh,850px);overflow:hidden}.brickell>img{width:100%;height:100%;object-fit:cover;filter:saturate(.42) brightness(.48)}.brickell:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,8,.92),rgba(9,9,8,.2) 65%,rgba(9,9,8,.45))}.brickell-overlay{position:absolute;z-index:2;left:var(--pad);top:50%;transform:translateY(-50%);max-width:690px}.brickell-overlay h2{margin-bottom:2rem}.brickell-overlay>p:last-child{max-width:45ch;color:#bbb3a8}.brickell-arrow{position:absolute;z-index:3;right:var(--pad);bottom:4rem;width:78px;height:78px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold-light);font-size:1.6rem;transition:background .3s,color .3s}.brickell-arrow:hover{background:var(--gold);color:var(--black)}
.location{max-width:var(--max);margin:auto}.location-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:5rem;align-items:center}.location-photo{position:relative;margin:0}.location-photo:before{content:"";position:absolute;inset:-1.2rem 1.2rem 1.2rem -1.2rem;border:1px solid var(--line);z-index:-1}.location-photo img{width:100%;aspect-ratio:19/10;object-fit:cover;object-position:50% 27%;filter:sepia(.28) saturate(.3) contrast(.94) brightness(.68)}.location-photo:after{content:"";position:absolute;top:0;left:0;right:0;height:52%;background:linear-gradient(180deg,rgba(9,9,8,.5),rgba(9,9,8,0));pointer-events:none}.location-photo figcaption{margin-top:.8rem;color:#9a9385;font:500 .58rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}.location-note{max-width:420px}.location-note .line{display:block;width:80px;height:1px;background:var(--gold);margin-bottom:2rem}.location-note h2{margin-bottom:1.5rem}.location-note address{font-style:normal;color:var(--gold-light);font:400 1.1rem/1.5 var(--classic);letter-spacing:.02em;margin-bottom:.7rem}.location-cross{max-width:36ch;margin-bottom:2.2rem;color:#aaa398;font-size:.95rem;line-height:1.55}.location-valet{display:flex;gap:1rem;align-items:flex-start;padding:1.2rem 1.4rem;border:1px solid var(--line);margin-bottom:2.2rem}.location-valet svg{width:46px;height:25px;flex:none;margin-top:.3rem;color:var(--gold);overflow:visible}.location-valet strong{display:block;margin-bottom:.3rem;color:var(--gold-light);font:500 .78rem/1 var(--sans);letter-spacing:.06em}.location-valet span{display:block;color:#aaa398;font-size:.83rem;line-height:1.5}
.contact{position:relative;max-width:var(--max);margin:auto;text-align:center}.contact-copy{max-width:680px;margin-inline:auto}.contact-copy h2{margin-bottom:2rem}.contact-copy>p:not(.kicker){max-width:600px;color:#a9a298;margin-bottom:2.5rem}footer{padding:3rem var(--pad);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:3rem;align-items:end;color:#7f796f;font-size:.67rem;letter-spacing:.08em}footer p{margin:.25rem 0}.footer-brand img{width:250px}.legal{max-width:52ch;justify-self:end;text-align:right}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:70px}section[id]{scroll-margin-top:82px}.brand-tag{display:none}.menu-toggle{display:block;position:relative;z-index:2}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}.nav{position:fixed;inset:0;background:rgba(9,9,8,.98);display:flex;flex-direction:column;justify-content:center;gap:2.5rem;font-size:.9rem;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.nav.open{opacity:1;visibility:visible}.nav-cta{padding:1rem 1.4rem}.hero{padding-bottom:5.5rem}.hero-copy{width:92%}.hero h1 em{margin-left:0}.hero-side{display:none}.manifesto{grid-template-columns:1fr}.method-track{grid-template-columns:1fr;margin-top:2rem}.method-step,.method-step:not(:first-child){padding:2.2rem 0;border-right:0;border-bottom:1px solid var(--line)}.care-intro{grid-template-columns:1fr;gap:1.5rem}.service{min-height:0;grid-template-columns:1fr}.service-adjust .service-copy{order:2}.service-adjust .service-art{order:1}.service-decompression .service-copy,.service-shockwave .service-copy{order:2}.service-decompression .service-media,.service-shockwave .service-media{order:1}.service-num{position:static;display:block;margin-bottom:2rem}.studio-heading{margin-left:0}.studio-grid{grid-template-columns:1fr;gap:3rem}.location-grid{grid-template-columns:1fr;gap:3rem}.location-note{max-width:none}footer{grid-template-columns:1fr 1fr}.legal{grid-column:1/-1;justify-self:start;text-align:left}}
@media(max-width:560px){.section-pad{padding-top:3.75rem;padding-bottom:3.75rem}.brand span{font-size:.65rem}.hero{min-height:780px;padding-top:7rem}.hero-copy{width:100%}.hero h1{font-size:clamp(3.5rem,19vw,5.3rem)}.hero-lede{font-size:.98rem}.hero-actions{align-items:stretch;flex-direction:column;gap:1.2rem}.button{width:100%}.text-link{align-self:flex-start}.hero-index{left:var(--pad);right:auto}.manifesto{gap:2rem}.manifesto h2,.care-intro h2,.studio-heading h2,.brickell-overlay h2,.location-note h2,.contact h2{font-size:clamp(3rem,15vw,4.6rem)}.service-stack{padding-left:0;padding-right:0}.service-copy{padding:3.5rem var(--pad) 4.5rem}.service-copy h3{font-size:3.5rem}.studio-grid{margin-top:3rem}.studio-main:before{display:none}.location-photo:before{display:none}.location-valet{padding:1.1rem}.brickell{height:720px}.brickell-arrow{width:60px;height:60px}footer{grid-template-columns:1fr;gap:1.5rem}.legal{grid-column:auto}.footer-brand img{width:230px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-reveal,.reveal{opacity:1;transform:none;animation:none;transition:none}.orbit{animation:none}.service-media img{transition:none}}
.menu-open .site-header{backdrop-filter:none}
.brand{gap:.7rem}.brand img{width:46px;height:40px;object-fit:contain;mix-blend-mode:normal}.footer-brand img{width:min(300px,100%);height:auto;filter:drop-shadow(0 14px 28px rgba(0,0,0,.28))}
@media(min-width:901px) and (max-width:1180px){.brand-tag{display:none}.menu-toggle{display:block;position:relative;z-index:2}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}.nav{position:fixed;inset:0;background:rgba(9,9,8,.98);display:flex;flex-direction:column;justify-content:center;gap:2.5rem;font-size:.9rem;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.nav.open{opacity:1;visibility:visible}.nav-cta{padding:1rem 1.4rem}}
@media(min-width:1181px) and (max-width:1700px){html[data-lang="es"] .brand-tag{display:none}html[data-lang="es"] .menu-toggle{display:block;position:relative;z-index:2}html[data-lang="es"] .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}html[data-lang="es"] .menu-toggle[aria-expanded=true] span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}html[data-lang="es"] .nav{position:fixed;inset:0;background:rgba(9,9,8,.98);display:flex;flex-direction:column;justify-content:center;gap:2.5rem;font-size:.9rem;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}html[data-lang="es"] .nav.open{opacity:1;visibility:visible}html[data-lang="es"] .nav-cta{padding:1rem 1.4rem}}

@media(min-width:1181px) and (max-width:1500px){.nav{gap:1.15rem;font-size:.6rem}.nav-account span{display:none}.nav-account{padding:.7rem}.brand-tag{display:none}}
/* campaign.css */
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.72) contrast(1.06) brightness(.7)}
.hero:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(9,9,8,.98) 0%,rgba(9,9,8,.9) 30%,rgba(9,9,8,.28) 66%,rgba(9,9,8,.12)),linear-gradient(0deg,rgba(9,9,8,.72),transparent 42%)}
#spine-canvas{z-index:1;mix-blend-mode:screen;opacity:.2}
.hero-glow{z-index:1}.hero-copy,.hero-index,.hero-side{z-index:2}
.hero h1{font-size:clamp(4rem,8.7vw,9rem);max-width:10ch}
.hero h1 em{max-width:8ch}
.identity-band{max-width:var(--max);margin:auto;padding:clamp(5rem,8vw,8rem) var(--pad);display:flex;flex-direction:column;gap:1.5rem;border-top:1px solid var(--line)}
.identity-lines{display:grid;gap:.65rem;font:400 clamp(2rem,3.7vw,3.3rem)/1 var(--display)}
.identity-lines span:nth-child(2){color:var(--gold);margin-left:.5rem}
.identity-band>p:last-child{color:#a9a298;max-width:34ch}
.decompression-art{position:relative;background:radial-gradient(circle at 50% 50%,rgba(199,164,100,.16),transparent 42%),#11110f}
.decompression-grid{position:absolute;inset:12%;background-image:linear-gradient(rgba(199,164,100,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(199,164,100,.1) 1px,transparent 1px);background-size:34px 34px;transform:perspective(600px) rotateX(58deg) scale(1.4);mask-image:radial-gradient(circle,#000 22%,transparent 72%)}
.force-line{position:absolute;left:12%;right:12%;top:50%;height:1px;background:linear-gradient(90deg,var(--gold),transparent 45%,transparent 55%,var(--gold))}
.force-line i{position:absolute;top:-7px;width:14px;height:14px;border-top:1px solid var(--gold);border-right:1px solid var(--gold)}
.force-line i:first-child{left:25%;transform:rotate(45deg)}.force-line i:last-child{right:25%;transform:rotate(225deg)}
.decompression-art>span{position:absolute;bottom:2.5rem;left:2.5rem;color:#8e806a;font:500 .58rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase}
.first-visit{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(3rem,8vw,9rem);border-bottom:1px solid var(--line)}
.visit-title>p:last-child{color:#a9a298;max-width:46ch}.visit-title h2{margin-bottom:2rem}
.visit-steps{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.visit-steps li{display:grid;grid-template-columns:50px 1fr;gap:1.5rem;padding:2rem 0;border-bottom:1px solid var(--line);transition:background .35s}
.visit-steps li:hover{background:rgba(199,164,100,.06)}
.visit-steps li>span{color:var(--gold);font:500 .65rem/1 var(--sans);letter-spacing:.15em}
.visit-detail{border:0;padding:0}
.visit-detail summary{list-style:none;cursor:pointer;display:flex;align-items:center;flex-wrap:wrap;gap:.9rem;-webkit-tap-highlight-color:transparent}
.visit-detail summary::-webkit-details-marker{display:none}
.visit-detail summary::marker{content:""}
.visit-steps h3{flex:1 1 100%;min-width:0;margin:0;font:500 1.2rem/1 var(--classic);letter-spacing:.05em;transition:color .3s,transform .3s var(--ease)}
.visit-steps li:hover h3{color:var(--gold-light);transform:translateX(6px)}
.visit-chip{flex:none;font:500 .58rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);border:1px solid var(--line);border-radius:999px;padding:.4rem .75rem;transition:border-color .3s,color .3s}
.visit-steps li:hover .visit-chip,.visit-detail[open] .visit-chip{border-color:var(--gold);color:var(--gold-light)}
.visit-caret{flex:none;margin-left:auto;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;position:relative;transition:transform .35s var(--ease),border-color .3s}
.visit-caret:before,.visit-caret:after{content:"";position:absolute;background:var(--gold);transition:transform .3s}
.visit-caret:before{left:50%;top:28%;bottom:28%;width:1px;transform:translateX(-50%)}
.visit-caret:after{top:50%;left:28%;right:28%;height:1px;transform:translateY(-50%)}
.visit-detail[open] .visit-caret{transform:rotate(135deg);border-color:var(--gold)}
.visit-steps li:hover .visit-caret{border-color:var(--gold)}
.visit-detail p{margin:1rem 0 0;color:#928b81;max-width:42ch;animation:visitFadeIn .4s var(--ease)}
@keyframes visitFadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.service-adjust .service-media:after{background:linear-gradient(90deg,rgba(9,9,8,.66),transparent 34%)}
.service-adjust .service-media img{object-position:85% center}.service-shockwave .service-media img{object-position:center 38%}
@media(max-width:900px){.hero:before{background:linear-gradient(90deg,rgba(9,9,8,.94),rgba(9,9,8,.45)),linear-gradient(0deg,rgba(9,9,8,.8),transparent 50%)}.identity-band{grid-template-columns:1fr}.identity-lines span:nth-child(2){margin-left:0}.first-visit{grid-template-columns:1fr}.service-adjust .service-media{order:1}.service-adjust .service-copy{order:2}}
@media(max-width:560px){.hero-photo{object-position:66% center;filter:saturate(.68) brightness(.55)}.hero:before{background:linear-gradient(90deg,rgba(9,9,8,.92),rgba(9,9,8,.2)),linear-gradient(0deg,rgba(9,9,8,.92),transparent 60%)}.hero h1{font-size:clamp(3.35rem,17.5vw,5rem)}.identity-lines{font-size:2.7rem}.identity-band{padding-top:5rem;padding-bottom:5rem}.visit-steps li{grid-template-columns:36px 1fr}}
/* launch.css */
:root{--launch-ink:#090908;--launch-gold:#c8a96a;--launch-gold-solid:#c8a96a;--launch-cream:#e9dfcf;--launch-muted:#aaa294}
.launch-gate{position:fixed;inset:0;z-index:1000;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(460px,.92fr);height:100svh;background:var(--launch-ink);color:#f2ecdf;overflow:hidden;transition:opacity .7s ease,visibility .7s ease}
.launch-gate[hidden]{display:none}.launch-gate.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.launch-visual{position:relative;min-height:100svh;overflow:hidden;background:#10100e}
.launch-visual:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(9,9,8,.18),rgba(9,9,8,.04)),linear-gradient(0deg,rgba(9,9,8,.78),transparent 50%)}
.launch-visual img{width:100%;height:100%;object-fit:cover;object-position:85% center;transform:scale(var(--visual-zoom,1));transform-origin:100% 50%;filter:saturate(.72) contrast(1.06) brightness(.76)}
/* Coming-soon beacon. The spine is the page's one interactive object, so it sits on the
   lit stone panel of the photograph rather than floating over the dark corridor, and the
   invitation to touch it reads directly beneath the column -- where the old breathing
   rings used to pulse. Those rings are gone: they competed with the spine for attention
   and said nothing. Geometry is a lateral view, 7 cervical + 12 thoracic + 5 lumbar and
   a sacrum, generated on a hand-anchored double-S centreline. */
.spine-stage{position:absolute;z-index:4;left:50%;top:4%;height:66%;aspect-ratio:220/520;transform:translateX(-50%);pointer-events:none}
.spine-beacon{position:absolute;inset:0;display:block;padding:0;border:0;background:transparent;color:var(--launch-gold-solid);cursor:pointer;pointer-events:auto;touch-action:manipulation;--beacon-reach:-5rem;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.spine-beacon:focus-visible{outline:1px solid var(--launch-gold-solid);outline-offset:14px;border-radius:14px}
.spine-beacon:before{content:"";position:absolute;left:-38%;right:-38%;top:-2%;bottom:var(--beacon-reach,0)}
.launch-pill-link.launch-directions{display:none}

/* The stone behind the column is a warm mid-tone, so the linework needs both a lift of
   light under it and a dark contact shadow over it to stay legible at any crop. */
.beacon-glow{position:absolute;z-index:1;inset:-14% -58%;border-radius:50%;background:radial-gradient(closest-side,rgba(232,203,143,.2),rgba(232,203,143,.07) 55%,transparent 78%);opacity:.85;transition:opacity .5s;pointer-events:none}
.spine-beacon:hover .beacon-glow,.spine-beacon:focus-visible .beacon-glow{opacity:1}

/* The column is the studio decompression rig (studio.html #treatments) reused verbatim:
   same viewBox, same seven vertebrae and six discs, same bone/disc gradients, same
   --n/--traction traction cycle. Only the framing and the pointer response are new, so
   the two surfaces cannot drift apart. */
.beacon-rig.spine-rig{position:absolute;left:50%;top:0;bottom:0;z-index:2;display:block;width:100%;transform:translateX(-50%)}
.beacon-rig .spine-svg{filter:drop-shadow(0 6px 18px rgba(12,8,2,.6)) drop-shadow(0 0 0 transparent);transition:filter .5s}
.beacon-rig .spine-guide{stroke:rgba(226,196,132,.28);stroke-width:1.4}
.beacon-rig .vtb rect{stroke:rgba(23,17,10,.5);stroke-width:1;transition:filter .35s}
.beacon-rig .disc{opacity:calc(.45 + var(--traction) * .5)}
.spine-beacon:hover .spine-svg,.spine-beacon:focus-visible .spine-svg{filter:drop-shadow(0 6px 18px rgba(12,8,2,.6)) drop-shadow(0 0 26px rgba(238,214,163,.45))}

/* Pointer proximity: the vertebra under the cursor and its two neighbours answer, so the
   column behaves like a segmented object rather than one flat button. The traction offset
   is restated in each rule because transform is a single property -- dropping it here
   would snap the segment out of the traction cycle mid-animation. */
.beacon-rig .vtb{transition:filter .3s}
.beacon-rig .vtb.is-near{transform:translateY(calc(var(--n) * var(--traction) * 15px)) translateX(-4px) scale(1.07);filter:drop-shadow(0 0 12px rgba(245,225,180,.8))}
.beacon-rig .vtb.is-adjacent{transform:translateY(calc(var(--n) * var(--traction) * 15px)) scale(1.03);filter:drop-shadow(0 0 7px rgba(238,214,163,.5))}
.beacon-rig .vtb.is-struck{animation:beaconStrike .5s cubic-bezier(.22,1,.36,1)}
@keyframes beaconStrike{
  0%{transform:translateY(calc(var(--n) * var(--traction) * 15px)) translateX(-4px) scale(1.07)}
  40%{transform:translateY(calc(var(--n) * var(--traction) * 15px)) translateX(-11px) scale(1.16)}
  100%{transform:translateY(calc(var(--n) * var(--traction) * 15px)) scale(1)}
}
.spine-beacon:active .spine-svg{filter:drop-shadow(0 6px 18px rgba(12,8,2,.6)) drop-shadow(0 0 34px rgba(238,214,163,.6))}

/* Invitation, centred under the column on a hairline stem. */
.beacon-label{position:absolute;z-index:3;left:50%;top:calc(95% + .5rem);display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:0 3rem 2rem;transform:translateX(-50%);pointer-events:auto;cursor:pointer;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.beacon-label-stem{width:1px;height:26px;background:linear-gradient(180deg,rgba(214,184,124,.75),rgba(214,184,124,0));transition:height .35s}
.beacon-label-text{padding:.42rem .7rem;border:1px solid rgba(200,169,106,.28);border-radius:8px;background:rgba(7,7,6,.52);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);color:#ecdfc2;font:600 .58rem/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;transition:border-color .3s,color .3s}
.spine-beacon:hover .beacon-label,.spine-beacon:focus-visible .beacon-label{transform:translateX(-50%) translateY(4px)}
.spine-beacon:hover .beacon-label-stem,.spine-beacon:focus-visible .beacon-label-stem{height:34px}
.spine-beacon:hover .beacon-label-text,.spine-beacon:focus-visible .beacon-label-text{border-color:rgba(200,169,106,.6);color:#fff6e2}
.spine-beacon:active .beacon-label-text{border-color:rgba(200,169,106,.85);background:rgba(7,7,6,.74);color:#fff6e2}
.spine-beacon:active .beacon-label-stem{height:34px}

/* Dialog. Centred over the whole gate rather than tucked into the left of the photo, so
   the method reads as the destination of the interaction instead of a caption on it. */
.beacon-scrim{position:fixed;inset:0;z-index:1002;background:rgba(6,6,5,.74);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:0;transition:opacity .4s}
.beacon-scrim.is-open{opacity:1}
.beacon-story{position:fixed;z-index:1003;left:50%;top:50%;width:min(560px,calc(100vw - 2.4rem));max-height:min(86svh,780px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(200,169,106,.4) transparent;padding:clamp(1.8rem,3vw,2.9rem);border:1px solid rgba(229,201,143,.34);border-radius:22px;background:linear-gradient(180deg,rgba(18,16,12,.96),rgba(9,9,8,.97));box-shadow:0 40px 90px rgba(0,0,0,.6);opacity:0;transform:translate(-50%,-46%) scale(.985);transition:opacity .38s,transform .55s cubic-bezier(.22,1,.36,1)}
.beacon-story.is-open{opacity:1;transform:translate(-50%,-50%) scale(1)}
.beacon-story::-webkit-scrollbar{width:6px}.beacon-story::-webkit-scrollbar-thumb{border-radius:3px;background:rgba(200,169,106,.4)}.beacon-story::-webkit-scrollbar-track{background:transparent}
.beacon-close{position:absolute;right:.9rem;top:.9rem;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(200,169,106,.28);border-radius:50%;background:transparent;color:#d2bd8d;cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.beacon-close svg{width:17px;height:17px}
.beacon-close:hover,.beacon-close:focus-visible{border-color:var(--launch-gold-solid);color:#f3e4c2;background:rgba(200,169,106,.1)}
.beacon-eyebrow{margin:0 0 .7rem;color:var(--launch-gold);font:600 .56rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase}
.beacon-title{margin:0 0 .7rem;max-width:22ch;color:#f4ecdd;font:400 clamp(1.65rem,3vw,2.25rem)/1.06 var(--display)}
.beacon-lede{margin:0 0 1.25rem;color:#a49b8d;font:400 .86rem/1.6 var(--sans)}
.beacon-steps{margin:0;padding:0;list-style:none;border-top:1px solid rgba(200,169,106,.18)}
.beacon-promise{display:grid;grid-template-columns:30px 1fr;gap:.35rem .9rem;padding:.9rem 0;border-bottom:1px solid rgba(200,169,106,.18)}
.beacon-promise>span{grid-row:1/3;color:#7d7263;font:600 .52rem/1.4 var(--sans);letter-spacing:.15em}
.beacon-promise strong{color:#efe7da;font:400 clamp(1.3rem,2vw,1.75rem)/1 var(--display)}
.beacon-promise small{color:#9f978b;font:400 .78rem/1.45 var(--sans)}
.beacon-modalities{margin-top:1.25rem}
.beacon-modalities-title{margin:0 0 .7rem;color:var(--launch-gold);font:600 .54rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.beacon-modalities ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}
.beacon-modalities li{padding:.42rem .75rem;border:1px solid rgba(200,169,106,.24);border-radius:999px;color:#cfc4b1;font:400 .74rem/1.3 var(--sans)}
.beacon-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.3rem;margin-top:1.5rem}
.beacon-join{flex:1 1 200px;padding:1rem;border:1px solid var(--launch-gold-solid);border-radius:12px;background:var(--launch-gold-solid);color:#15110a;font:700 .56rem/1 var(--sans);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:filter .2s}
.beacon-join:hover,.beacon-join:focus-visible{filter:brightness(1.08)}
.beacon-join i{margin-left:.7rem;font-style:normal}
.beacon-secondary{color:var(--launch-gold);font:600 .6rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.beacon-secondary:hover,.beacon-secondary:focus-visible{color:#e9d19c;border-bottom-color:currentColor}
.beacon-foot{margin:1.15rem 0 0;color:#7f7768;font:400 .7rem/1.5 var(--sans)}
.launch-gate.beacon-open .spine-beacon{opacity:.2;pointer-events:none;transition:opacity .35s}
/* Short windows: the dialog is the whole message, so it compacts rather than hiding its
   call to action below an internal scroll. */
@media(max-height:760px){.beacon-story{padding:1.4rem 1.5rem}.beacon-title{margin-bottom:.5rem;font-size:clamp(1.5rem,2.6vw,1.9rem)}.beacon-lede{margin-bottom:.95rem;font-size:.8rem;line-height:1.5}.beacon-promise{padding:.7rem 0}.beacon-promise strong{font-size:1.2rem}.beacon-promise small{font-size:.74rem}.beacon-modalities{margin-top:1rem}.beacon-modalities li{padding:.34rem .62rem;font-size:.7rem}.beacon-actions{margin-top:1.1rem}.beacon-join{padding:.85rem}.beacon-foot{margin-top:.9rem;font-size:.66rem}}
.launch-place{position:absolute;z-index:2;left:clamp(1.5rem,4vw,4rem);right:clamp(1.5rem,4vw,4rem);bottom:clamp(1.8rem,4vw,4rem);display:flex;justify-content:space-between;align-items:end;gap:2rem;border-top:1px solid rgba(232,217,188,.32);padding-top:1.2rem;text-transform:uppercase;letter-spacing:.18em;font:500 .62rem/1.5 var(--sans)}
.launch-place span:last-child{color:#d7c59f;text-align:right}
.launch-panel{display:flex;flex-direction:column;justify-content:flex-start;padding:clamp(2rem,3.8vw,3.4rem) clamp(2rem,4.4vw,4.75rem) clamp(2rem,4.4vw,4.75rem);border-left:1px solid rgba(200,169,106,.2);position:relative;z-index:2;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.launch-panel:before{content:"";position:absolute;inset:1.2rem;border:1px solid rgba(200,169,106,.12);pointer-events:none}

.launch-content{flex:1 1 auto;min-height:0}

.launch-kicker{margin:0 0 1rem;color:var(--launch-gold);text-transform:uppercase;letter-spacing:.2em;font:600 .68rem/1.45 var(--sans)}
.launch-panel h1{font:400 clamp(3.1rem,4.15vw,5rem)/.94 var(--display);letter-spacing:-.025em;margin:0;max-width:12ch;text-wrap:balance}.launch-panel h1 span,.launch-panel h1 em{display:block}.launch-panel h1 em{color:var(--launch-gold);font-family:var(--classic);font-size:.84em;font-weight:400;letter-spacing:-.015em;line-height:1;margin-top:.12em}
.launch-lede{max-width:43ch;color:#b8b0a3;font:300 clamp(1rem,.55vw + .92rem,1.1rem)/1.6 var(--sans);margin:1.45rem 0}
.launch-form{display:grid;grid-template-columns:.72fr 1.15fr;gap:.85rem 1rem;margin-top:1.1rem;max-width:650px;position:relative;z-index:1}
.launch-field{display:grid;gap:.55rem}.launch-field-wide{grid-column:1/-1}.launch-field label{font:600 .64rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#c1b7a7}
.launch-field input,.launch-field select{width:100%;min-height:50px;border:1px solid rgba(200,169,106,.3);border-radius:12px;background:#11110f;color:#f1e9dc;padding:0 .95rem;font:400 16px/1.2 var(--sans);outline:none}
.launch-field input:focus,.launch-field select:focus{border-color:var(--launch-gold);box-shadow:0 0 0 2px rgba(200,169,106,.12)}
.launch-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--launch-gold) 50%),linear-gradient(135deg,var(--launch-gold) 50%,transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-size:5px 5px;background-repeat:no-repeat}
.launch-submit{grid-column:1/-1;min-height:52px;border:1px solid var(--launch-gold-solid);border-radius:12px;background:var(--launch-gold-solid);color:#11100e;text-transform:uppercase;letter-spacing:.13em;font:700 .72rem/1 var(--sans);cursor:pointer;transition:background .2s,color .2s}.launch-submit:hover{background:transparent;color:var(--launch-gold)}.launch-submit:disabled{opacity:.56;cursor:wait}
.launch-consent,.launch-status{grid-column:1/-1;margin:.25rem 0 0;color:#8f887e;font:400 .75rem/1.5 var(--sans)}.launch-status{min-height:1.1em;color:#d9c79e}.launch-status.error{color:#e6a4a0}.launch-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.launch-consent-check{grid-column:1/-1;display:flex;align-items:flex-start;gap:.55rem;margin:.35rem 0 0;font:400 .75rem/1.45 var(--sans);color:#c1b7a7;cursor:pointer}.launch-consent-check input{margin-top:.2rem;width:15px;height:15px;flex:none;accent-color:var(--launch-gold)}
.launch-meta{margin-top:clamp(1.5rem,3.5vh,2.5rem);padding-top:1rem;border-top:1px solid rgba(200,169,106,.16);display:flex;justify-content:space-between;gap:2rem;color:#8d867b;font:500 .7rem/1.5 var(--sans);letter-spacing:.11em;text-transform:uppercase}
.waitlist-strip{max-width:650px;margin:1.1rem 0 0;padding:1rem 1.2rem;border:1px solid rgba(200,169,106,.22);border-radius:12px;background:rgba(200,169,106,.05)}
.waitlist-count{margin:0;color:#d9c79e;font:500 .74rem/1.5 var(--sans);letter-spacing:.02em}
.launch-check-hint{grid-column:1/-1;margin:.35rem 0 0;color:#8f887e;font:400 .68rem/1.5 var(--sans)}
.launch-field label span{color:#8f887e;text-transform:none;letter-spacing:0;font-weight:400}
.launch-form,.launch-joined{transition:opacity .35s ease,transform .4s cubic-bezier(.22,1,.36,1)}
.launch-form.launch-form-leaving,.launch-joined.launch-form-leaving{opacity:0;transform:translateY(-8px)}
.launch-form.launch-form-entering,.launch-joined.launch-form-entering{opacity:0;transform:translateY(14px)}
@media(prefers-reduced-motion:reduce){.launch-form,.launch-joined{transition:none}}
.launch-joined{max-width:650px;margin-top:1.1rem}
.launch-joined[hidden]{display:none}
.joined-kicker{margin:0 0 .5rem;color:var(--launch-gold);font:600 .68rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.joined-note{margin:0 0 1.1rem;color:#b8b0a3;font:400 .85rem/1.5 var(--sans)}
body.launch-locked{overflow:hidden}body.preview-open{overflow-y:visible;overflow-x:clip}.preview-return{position:fixed;right:1rem;bottom:1rem;z-index:900;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(200,169,106,.45);background:rgba(9,9,8,.7);backdrop-filter:blur(12px);color:#d5bd88;padding:0;cursor:pointer;opacity:.62;transition:opacity .25s,background .25s}.preview-return svg{width:16px;height:16px}.preview-return:hover,.preview-return:focus-visible{opacity:1;background:rgba(9,9,8,.9)}.preview-return[hidden]{display:none}
.plans{max-width:var(--max);margin:auto}.plans-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem);align-items:end;margin-bottom:clamp(3rem,6vw,6rem)}.plans-head>p{color:#9b948a;max-width:46ch}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.plan-card{min-height:390px;padding:clamp(2rem,3vw,3.2rem);border-right:1px solid var(--line);display:flex;flex-direction:column}.plan-card:last-child{border-right:0}.plan-card>span{color:var(--gold);font:500 .62rem/1 var(--sans);letter-spacing:.18em}.plan-card h3{font:400 clamp(2.15rem,2.8vw,3.35rem)/1 var(--display);margin:1.3rem 0 1.4rem}.plan-card p{color:#918b82;margin:0}.plan-note{margin:1.5rem 0 0;color:#7f796f;font-size:.72rem}
.faq{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,9rem)}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 32px;gap:2rem;align-items:center;padding:1.6rem 0;font:500 clamp(1rem,1.5vw,1.25rem)/1.3 var(--classic);letter-spacing:.03em}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--gold);font:300 1.5rem/1 var(--sans);text-align:center}.faq details[open] summary:after{content:"−"}.faq details p{color:#999187;max-width:62ch;padding:0 3rem 1.8rem 0;margin:0}
.inline-signup{max-width:1080px;margin:2.5rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.inline-signup input,.inline-signup select{min-height:52px;border:1px solid var(--line);border-radius:12px;background:#11110f;color:#eee5d7;padding:0 1rem;font:400 16px/1.2 var(--sans)}.inline-signup button{min-height:52px;border:1px solid var(--gold-solid);border-radius:12px;background:var(--gold-solid);color:#111;padding:0 1.5rem;font:700 .62rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;cursor:pointer}.inline-signup .form-status{grid-column:1/-1;color:#c9b17b;font-size:.72rem;min-height:1em;margin:0}
.inline-signup-consent{grid-column:1/3;grid-row:2;display:flex;align-items:flex-start;gap:.6rem;color:#a99f8f;font:400 .72rem/1.5 var(--sans)}
.inline-signup-consent input{min-height:0;width:18px;height:18px;flex:none;margin-top:.15rem;accent-color:var(--gold-solid)}
.inline-signup-fine{grid-column:1/-1;margin:0;color:#8f887c;font:400 .72rem/1.5 var(--sans)}
.inline-signup button{grid-column:3;grid-row:1}
@media(max-width:900px){.inline-signup{grid-template-columns:1fr}.inline-signup .form-status{grid-column:1}.inline-signup-consent{grid-column:1;grid-row:auto}.inline-signup button{grid-column:1;grid-row:auto}}
@media(max-width:980px){.launch-gate{display:block}.launch-visual{min-height:42svh;height:42svh}.launch-panel{height:58svh;overflow-y:auto;background:var(--launch-ink)}.launch-place{bottom:1.5rem}.plans-head,.faq{grid-template-columns:1fr}.plan-grid{grid-template-columns:1fr}.plan-card{min-height:280px;border-right:0;border-bottom:1px solid var(--line)}.plan-card:last-child{border-bottom:0}}
@media(max-width:980px){.launch-visual{--visual-zoom:1.5}.launch-visual img{object-position:100% 50%}.spine-stage{left:50%;top:8%;height:64%}.spine-beacon{--beacon-reach:-6rem}.beacon-label{top:calc(100% + .5rem);gap:.4rem}.beacon-label-stem{height:20px}.beacon-label-text{padding:.62rem .95rem;font-size:.54rem;letter-spacing:.16em}.spine-beacon:hover .beacon-label-stem,.spine-beacon:focus-visible .beacon-label-stem{height:26px}.beacon-story{width:min(520px,calc(100vw - 2rem));max-height:calc(100svh - 2rem);padding:1.5rem}.beacon-promise{padding:.8rem 0}.beacon-promise strong{font-size:1.35rem}.launch-gate.beacon-open .launch-place{opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}}
@media(max-width:620px){.launch-visual{min-height:48svh;height:48svh}.launch-visual{--visual-zoom:2}.launch-visual img{object-position:100% 50%}.spine-stage{left:50%;top:5%;height:calc(95% - 9.5rem)}.beacon-label{top:calc(100% + .25rem);gap:.25rem}.beacon-label-stem{height:14px}.launch-place{left:1.4rem;right:1.4rem;bottom:1.1rem;font-size:.52rem;gap:1rem}.launch-panel{padding:1.4rem 1.4rem 1.6rem}.launch-panel:before{inset:.55rem}.launch-kicker{font-size:.63rem;margin-bottom:.85rem}.launch-panel h1{font-size:clamp(2.55rem,11vw,3rem);line-height:.96;max-width:100%}.launch-panel h1 em{font-size:.86em;white-space:normal}.launch-lede{margin:1.15rem 0;font-size:.98rem;line-height:1.55}.launch-form{grid-template-columns:1fr 1fr}.launch-field-wide{grid-column:1/-1}.launch-meta{align-items:end}.launch-meta span:last-child{text-align:right}.inline-signup{grid-template-columns:1fr}.inline-signup .form-status{grid-column:1}.inline-signup-consent{grid-column:1}.faq summary{padding:1.35rem 0}.plan-card{min-height:250px}.waitlist-strip{padding:.75rem .9rem}}
/* Short-desktop height tuning: these three blocks were unreachable (trapped inside the
   max-width:620px block by a missing brace) since before the current hero sizing was tuned.
   Left disabled deliberately - re-enabling them shrinks the hero on <=1050px-tall laptops and
   needs a design pass first. */
/* @media(min-width:981px) and (max-height:1050px){.launch-panel{padding:1.8rem 4.5vw 2.25rem}.launch-panel h1{font-size:clamp(3rem,3.85vw,4.35rem)}.launch-lede{margin:1.1rem 0}.launch-meta{margin-top:1.4rem}} */
/* @media(min-width:981px) and (max-height:920px){.launch-panel{padding:1.8rem 4.5vw 1.4rem}.launch-kicker{margin-bottom:.4rem}.launch-panel h1{font-size:clamp(2.05rem,2.8vw,2.9rem)}.launch-lede{margin:.5rem 0;font-size:.9rem;line-height:1.48}.waitlist-strip{margin:.5rem 0 0;padding:.6rem .9rem}.launch-form{gap:.6rem .75rem;margin-top:.75rem}.launch-joined{margin-top:.75rem}.launch-field{gap:.5rem}.launch-field input,.launch-field select{min-height:40px}.launch-submit{min-height:42px}.launch-consent{font-size:.63rem}.launch-meta{margin-top:.6rem}} */
/* @media(min-width:981px) and (max-height:800px){.launch-panel{padding:1.7rem 4.5vw .9rem}.launch-kicker{margin-bottom:.25rem;font-size:.58rem}.launch-panel h1{font-size:clamp(1.55rem,2.15vw,2.1rem)}.launch-lede{margin:.32rem 0;font-size:.8rem;line-height:1.4}.waitlist-strip{margin:.32rem 0 0;padding:.4rem .7rem}.launch-form{gap:.45rem .55rem;margin-top:.55rem}.launch-joined{margin-top:.55rem}.launch-field{gap:.4rem}.launch-field input,.launch-field select{min-height:36px}.launch-submit{min-height:38px}.launch-consent{font-size:.58rem}.launch-meta{margin-top:.4rem}} */
@media(prefers-reduced-motion:reduce){.launch-gate{transition:none}.beacon-rig{animation:none}.beacon-rig .vtb.is-struck{animation:none}.beacon-story{transition:opacity .2s}}

@media(max-width:620px){.launch-visual{min-height:36svh;height:36svh}.spine-stage{height:calc(95% - 7rem)}}

/* The zoom needed to crop the dark plant/pool plane out of the hero scales with the
   viewport's aspect ratio -- zoom = 3.46 x (100vw / 100svh), because the visual box is
   100vw x 36svh and the plane ends at 54.8% across the source. 2 clears it down to a
   0.58 ratio, which covers every current phone at full height; a short phone (SE-class,
   or any phone whose browser chrome eats the viewport) is wider than it is tall relative
   to that and needs more, or the plane comes back and the centred spine reads left. */
@media(max-width:620px) and (min-aspect-ratio:58/100){.launch-visual{--visual-zoom:2.45}}

/* Mobile gate scroll cue: only .launch-panel scrolls and the fold cuts its content with no
   affordance. A sticky fade rides the bottom of the panel's scrollport with a small gold
   chevron breathing above it; both live on ::after so no markup is needed, and the cue
   dissolves into the end of the flow once the reader reaches the last block. */
@media(max-width:980px){
  .launch-panel:after{content:"";position:sticky;z-index:6;bottom:0;display:block;flex:0 0 4.2rem;height:4.2rem;margin-top:-4.2rem;pointer-events:none;background:linear-gradient(180deg,rgba(9,9,8,0),rgba(9,9,8,.96) 72%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 8'%3E%3Cpath d='M1 1l7 5.5L15 1' fill='none' stroke='%23c8a96a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center calc(100% - .4rem)/14px 7px no-repeat;animation:launchCueBreathe 2.6s ease-in-out infinite}
  @keyframes launchCueBreathe{0%,100%{opacity:.55}50%{opacity:1}}
}
@media(prefers-reduced-motion:reduce){.launch-panel:after{animation:none;opacity:.8}}

/* Standalone coming-soon page. "/" is the gate and nothing else: a fixed, full-viewport
   document whose only outbound door is /studio, where the clinic site lives. The gate was
   briefly folded into the top of the site as a scrolling section (launch-readiness release,
   2026-08-27); the two experiences bled into each other, so that is reverted here. The base
   .launch-gate rule at the top of this file supplies the fixed full-viewport geometry again. */
.launch-logo{position:fixed;top:1.2rem;left:1.2rem;z-index:1001;width:min(11vw,150px);padding:.5rem .8rem;border:0;border-radius:12px;background:rgba(9,9,8,.38);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .16s ease,box-shadow .16s ease}
/* Without touch-action:manipulation iOS Safari keeps double-tap-to-zoom armed on this
   button, and the second of three rapid taps is consumed by the zoom gesture instead of
   dispatching a click -- so the preview counter never reaches three on a phone. Same fix
   .spine-beacon already carries. is-arming is the only feedback the gesture has: taps one
   and two are otherwise silent, which reads as a dead button. */
.launch-logo.is-arming{transform:scale(.955);box-shadow:0 0 0 2px var(--launch-gold-solid,#c9a227)}
.launch-logo img{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 28px rgba(0,0,0,.32))}
.launch-controls{position:fixed;top:2rem;right:2.4rem;z-index:1001;margin:0;padding:.3rem;border-radius:999px;background:rgba(9,9,8,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.launch-gate.beacon-open .launch-logo,.launch-gate.beacon-open .launch-controls{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility .3s}
/* The panel is the only scrollable region -- the document itself never scrolls, so short
   viewports must not clip the signup form off the bottom of the gate. */
.launch-content{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:none}
.launch-content::-webkit-scrollbar{display:none}
.launch-panel{padding-top:clamp(4.2rem,6vw,5rem)}

@media(max-width:980px){.launch-logo{top:.8rem;left:.8rem;width:min(24vw,96px);padding:.3rem .55rem;border-radius:10px}.launch-controls{top:.8rem;right:.8rem}.launch-panel{padding-top:1.4rem}}
@media(max-width:620px){.launch-logo{top:.7rem;left:.7rem;width:min(22vw,86px)}.launch-controls{top:.7rem;right:.7rem}.launch-form{grid-template-columns:1fr}.launch-consent-check,.launch-submit,.launch-consent,.launch-status{grid-column:1}}

/* Coming-soon signup: pill link, list-count strip, confirmation panel */
.launch-pill-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.7rem 1rem;border:1px solid rgba(200,169,106,.35);border-radius:12px;background:transparent;color:var(--launch-gold);font:600 .64rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:border-color .2s,background .2s}
.launch-pill-link:hover,.launch-pill-link:focus-visible{border-color:var(--launch-gold);background:rgba(200,169,106,.08)}
.launch-pill-link i{font-style:normal}
.launch-check-lede{grid-column:1/-1;margin:0 0 .3rem;color:#a99f8f;font:400 .74rem/1.4 var(--sans)}


/* Coming-soon: crawlable identity line + internal links. The gate is the only rendered
   surface on "/", so without these the site's strongest URL had no text and no outbound
   internal links -- every guide and journal page was orphaned from it. */
.launch-explore{flex:0 0 auto;margin-top:1.1rem;padding-top:.85rem;border-top:1px solid rgba(200,169,106,.18)}
.launch-explore-nap{margin:.7rem 0 0;color:#8f887c;font:400 .7rem/1.5 var(--sans);max-width:70ch}
.launch-explore-links{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem}
.launch-explore-links a{color:var(--launch-gold);font:600 .66rem/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.launch-explore-links a:hover,.launch-explore-links a:focus-visible{color:#e9d19c;border-bottom-color:currentColor}
@media(max-width:620px){.launch-explore{margin-top:1.2rem;padding-top:1rem}.launch-explore-nap{font-size:.7rem}.launch-explore-links{gap:.45rem 1rem}}
/* Below the desktop split the panel is a short scrolling band, not a fixed column, so a
   pinned footer would sit on top of the email capture and hide the only CTA. Here the
   panel itself scrolls and the explore block rides at the end of that flow. */
@media(max-width:980px){.launch-content{flex:0 0 auto;overflow-y:visible}.launch-panel{scrollbar-width:none}.launch-panel::-webkit-scrollbar{display:none}.launch-explore{margin-top:1.4rem}}
/* The gate is a 100svh split, so the panel column can never grow. This block is the
   only route from the site's strongest URL to the eighteen content pages, so it sits
   outside .launch-content -- pinned to the bottom of the panel -- rather than at the
   end of the scrolling column, where it fell below the fold on any window under
   roughly 940px tall and the hidden scrollbar gave no sign it was there. */
@media(min-width:981px) and (max-height:820px){
  .launch-panel{padding-bottom:1.15rem}
  .launch-explore{margin-top:.55rem;padding-top:.55rem}
  .launch-explore-links{gap:.25rem .4rem}
  .launch-explore-links a{font-size:.58rem;line-height:1.25;letter-spacing:.08em}
  .launch-explore-nap{margin-top:.4rem;max-width:none;font-size:.54rem;line-height:1.3}
}
/* redesign.css */
:root{--content:1280px;--edge:clamp(1.35rem,5.5vw,6rem);--ease:cubic-bezier(.22,1,.36,1)}
[hidden]{display:none!important}
body{font-size:clamp(.96rem,.18vw + .92rem,1.08rem)}
.scroll-progress{position:fixed;z-index:99;inset:0 0 auto;height:2px;pointer-events:none;background:rgba(255,255,255,.035)}
.scroll-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#8c6b35,var(--gold-light));transform:scaleX(0);transform-origin:left}
.opening-ribbon{position:relative;z-index:3;min-height:42px;padding:0 var(--edge);display:flex;align-items:center;gap:1.1rem;border-bottom:1px solid var(--line);background:#0d0d0b;color:#898278;font:500 .59rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.opening-ribbon strong{color:var(--cream);font-weight:500}.opening-ribbon a{margin-left:auto;color:var(--gold-light)}.opening-ribbon a i{font-style:normal;margin-left:.35rem}.status-pulse{width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(199,164,100,.45);animation:pulse 2.5s ease-out infinite}@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(199,164,100,0)}}
.hero{min-height:100svh;padding:clamp(8rem,14vh,11rem) var(--edge) clamp(4rem,8vh,7rem)}
.hero-copy{width:min(900px,75vw)}.hero h1{font-size:clamp(3.75rem,6vw,6.35rem);line-height:.9;max-width:11.5ch;text-wrap:balance}.hero h1 em{max-width:none;margin-left:clamp(2rem,8vw,8rem);white-space:nowrap}.hero-lede{font-size:clamp(1rem,.5vw + .9rem,1.18rem);line-height:1.6;text-wrap:pretty}.hero-photo{transform:scale(1.035);animation:heroDrift 16s ease-out both}@keyframes heroDrift{to{transform:scale(1)}}
.hero:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(115deg,transparent 55%,rgba(199,164,100,.06));pointer-events:none}
.manifesto{padding-top:clamp(4rem,6vw,5.5rem);padding-bottom:clamp(3rem,4.5vw,4rem);grid-template-columns:minmax(140px,.3fr) minmax(0,2fr);column-gap:clamp(2rem,4vw,4rem)}
.section-number{position:relative}.direction-line{display:block;position:relative;width:1px;height:clamp(180px,22vw,320px);margin-top:2.6rem;background:linear-gradient(to bottom,rgba(199,164,100,.5),rgba(199,164,100,.04))}.direction-line i{position:absolute;left:50%;top:0;width:5px;height:5px;margin-left:-2px;border-radius:50%;background:var(--gold-light);box-shadow:0 0 10px var(--gold);animation:directionTravel 3.8s ease-in-out infinite}
@keyframes directionTravel{0%{top:0;opacity:0}14%{opacity:1}86%{opacity:1}100%{top:calc(100% - 5px);opacity:0}}
@media(max-width:900px){.direction-line{display:none}}
.manifesto-copy h2{max-width:17ch;text-wrap:balance}.manifesto-copy>p:last-child{line-height:1.75;text-wrap:pretty}
.method-experience{grid-column:1/-1;margin-top:clamp(2.25rem,3.5vw,3.25rem);display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.3fr);border:1px solid var(--line);min-height:540px;overflow:hidden}
.method-visual{position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle,rgba(199,164,100,.13),transparent 55%),linear-gradient(145deg,#151410,#090908)}
.method-visual:before{content:"";position:absolute;width:1px;height:76%;background:linear-gradient(transparent,var(--gold),transparent)}
.method-orbit{--orbit-d:min(28vw,390px);position:absolute;width:var(--orbit-d);aspect-ratio:1;border:1px solid rgba(199,164,100,.24);border-radius:50%;animation:methodSpin 18s linear infinite}.method-orbit:before,.method-orbit:after{content:"";position:absolute;inset:14%;border:1px solid rgba(199,164,100,.13);border-radius:50%}.method-orbit:after{inset:31%}.method-orbit i{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:var(--gold-light);box-shadow:0 0 24px var(--gold);transform-origin:0 0}.method-orbit i:nth-child(1){transform:rotate(15deg) translateX(calc(var(--orbit-d)*.5)) translate(-50%,-50%)}.method-orbit i:nth-child(2){transform:rotate(145deg) translateX(calc(var(--orbit-d)*.36)) translate(-50%,-50%)}.method-orbit i:nth-child(3){transform:rotate(265deg) translateX(calc(var(--orbit-d)*.19)) translate(-50%,-50%)}@keyframes methodSpin{to{transform:rotate(360deg)}}
.method-visual-word{position:relative;z-index:2;color:var(--gold-light);font:400 clamp(3.5rem,6vw,6rem)/1 var(--display);transition:opacity .25s,transform .45s var(--ease)}.method-visual small{position:absolute;left:2rem;bottom:2rem;color:#82786c;font:500 .58rem/1 var(--sans);letter-spacing:.2em}.method-experience.is-changing .method-visual-word{opacity:0;transform:translateY(12px)}
.method-track{grid-column:auto;margin:0;border:0;display:grid;grid-template-columns:1fr}.method-step,.method-step:not(:first-child){appearance:none;width:100%;padding:clamp(2rem,3.5vw,3.7rem);display:grid;grid-template-columns:54px minmax(220px,.7fr) 1fr;align-items:center;gap:clamp(1rem,3vw,3rem);border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background .35s,color .35s}.method-step:last-child{border:0}.method-step:hover,.method-step.is-active{background:rgba(199,164,100,.06)}.method-step h3{margin:0;font-size:clamp(1.65rem,2.5vw,2.8rem);transition:transform .35s var(--ease)}.method-step:hover h3,.method-step.is-active h3{transform:translateX(8px);color:var(--gold-light)}.method-step p{margin:0;line-height:1.65}.method-step:focus-visible{outline:1px solid var(--gold);outline-offset:-5px}
.identity-band{padding-top:clamp(6rem,9vw,9rem);padding-bottom:clamp(6rem,9vw,9rem)}.identity-lines{line-height:.98}.identity-lines span{display:block;text-wrap:balance}
.motion-gallery{position:relative;padding:0 var(--edge) clamp(4rem,6.5vw,6.5rem);max-width:var(--content);margin:auto}@keyframes galleryMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.gallery-grid{display:grid;grid-template-columns:1.05fr .8fr .72fr;grid-template-rows:auto auto;gap:clamp(1rem,2.2vw,2.3rem);align-items:stretch}.gallery-grid figure{position:relative;margin:0;overflow:hidden;background:#111}.gallery-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.48) contrast(1.07);transition:transform 1.2s var(--ease),filter .7s}.gallery-grid figure:hover img{transform:scale(1.035);filter:saturate(.72)}.gallery-grid figcaption{position:absolute;left:1.1rem;bottom:1rem;padding:.45rem .65rem;background:rgba(9,9,8,.74);backdrop-filter:blur(10px);color:#c8b78f;font:500 .55rem/1 var(--sans);letter-spacing:.15em;text-transform:uppercase}.gallery-tall{grid-row:1/3;min-height:540px}.gallery-wide{grid-column:2/4;min-height:262px}.gallery-detail{min-height:262px}.gallery-statement{padding:clamp(2rem,3vw,3.3rem);display:flex;flex-direction:column;justify-content:center;border:1px solid var(--line);background:linear-gradient(145deg,rgba(199,164,100,.055),transparent)}.gallery-statement span,.gallery-statement strong{font:400 clamp(2.1rem,3.4vw,3.8rem)/.95 var(--display)}.gallery-statement strong{color:var(--gold);font-style:italic;font-weight:400}.gallery-statement p{margin:2rem 0 0;color:#999187;line-height:1.7}
.care-intro{padding-bottom:clamp(2.5rem,4vw,3.75rem)}.care-intro h2{max-width:18ch;text-wrap:balance}.service{min-height:clamp(470px,38vw,560px)}.service-copy h3{max-width:100%;font-size:clamp(2.35rem,2.65vw,4rem);letter-spacing:-.035em;text-wrap:balance}.service-copy h3 span{display:block;color:var(--muted)}.service-media img{will-change:transform}.service:hover .service-copy h3 span{color:var(--gold-light)}.service-art:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 42%,rgba(229,201,143,.06) 50%,transparent 58%);transform:translateX(-100%);animation:scan 5.5s ease-in-out infinite}@keyframes scan{55%,100%{transform:translateX(100%)}}
.service-glyph{display:grid;place-items:center;width:52px;height:52px;margin-bottom:1.6rem;border:1px solid var(--line);border-radius:50%;color:var(--gold)}.service-glyph svg{width:22px;height:22px;overflow:visible}
.adjust-force{transform-origin:center;animation:adjustPulse 3.4s ease-in-out infinite}
@keyframes adjustPulse{0%,58%,100%{opacity:.45;transform:scaleY(1)}70%{opacity:1;transform:scaleY(.5)}82%{opacity:.75;transform:scaleY(1.2)}}
.wave-ring{transform-origin:center;stroke-width:1.8;opacity:0;animation:wavePulse 2.8s ease-out infinite}
.wave-ring-2{animation-delay:.7s}.wave-ring-3{animation-delay:1.4s}
@keyframes wavePulse{0%{opacity:.95;transform:scale(.3)}45%{opacity:.7}100%{opacity:0;transform:scale(2.1)}}
.decompress-line{transform-origin:center;animation:decompressPulse 4s ease-in-out infinite}
.decompress-line-b{animation-name:decompressPulseDown}
@keyframes decompressPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.4px)}}
@keyframes decompressPulseDown{0%,100%{transform:translateY(0)}50%{transform:translateY(2.4px)}}
@property --traction{syntax:'<number>';inherits:true;initial-value:0}
.compression-model{position:absolute;inset:6% 14% 14%;display:grid;place-items:center}.spine-rig{position:absolute;left:50%;top:0;bottom:0;transform:translateX(-50%);width:min(230px,78%);animation:tractionPulse 7s cubic-bezier(.45,.05,.35,1) infinite}.spine-svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 10px 30px rgba(0,0,0,.5))}.spine-guide{fill:none;stroke:rgba(199,164,100,.16);stroke-width:1}.vtb,.disc{transform-box:fill-box;transform-origin:center;transform:translateY(calc(var(--n) * var(--traction) * 15px))}.vtb rect{fill:url(#spineBoneGrad);stroke:rgba(23,17,10,.35);stroke-width:.75}.vtb .process{fill:url(#spineBoneGrad);opacity:.85}.disc{opacity:calc(.4 + var(--traction) * .55)}.disc ellipse{fill:url(#spineDiscGrad);transform-box:fill-box;transform-origin:center;transform:scaleY(calc(1 + var(--traction) * 2.8))}@keyframes tractionPulse{0%,100%{--traction:0}44%,56%{--traction:1}}.force-arrow{position:absolute;left:50%;width:1px;height:18%;background:linear-gradient(transparent,var(--gold));transform:translateX(-50%)}.force-arrow:after{content:"";position:absolute;left:-4px;bottom:0;width:8px;height:8px;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);transform:rotate(45deg)}.force-arrow-top{top:0}.force-arrow-bottom{bottom:0;transform:translateX(-50%) rotate(180deg)}.force-label{position:absolute;color:#8e806a;font:500 .52rem/1 var(--sans);letter-spacing:.17em;text-transform:uppercase}.force-label-top{top:0;left:0}.force-label-bottom{right:0;bottom:0}.pressure-wave{position:absolute;left:8%;right:8%;bottom:9%;width:84%;height:70px;overflow:visible}.pressure-wave path{fill:none;stroke:rgba(199,164,100,.5);stroke-width:1.5;stroke-dasharray:8 10;animation:waveTravel 4s linear infinite}@keyframes waveTravel{to{stroke-dashoffset:-72}}
.wellbeing-pulse{max-width:var(--content);margin:auto;padding:clamp(7rem,12vw,12rem) var(--edge);display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem);align-items:center;overflow:hidden}.pulse-copy h2{max-width:10ch;text-wrap:balance}.pulse-copy>p:last-child{max-width:45ch;color:#9a9389;line-height:1.75}.pulse-orbit{position:relative;min-height:580px;display:grid;place-items:center}.pulse-core{position:relative;z-index:3;width:155px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#d4b77c,#7c5b2c 68%,#261c10);color:#17110a;font:400 1.45rem/1 var(--display);box-shadow:0 0 80px rgba(199,164,100,.22);animation:coreBreath 5s ease-in-out infinite}.breath-ring{position:absolute;border:1px solid rgba(199,164,100,.24);border-radius:50%;animation:ringBreath 5s ease-in-out infinite}.ring-a{width:48%;aspect-ratio:1}.ring-b{width:70%;aspect-ratio:1;animation-delay:-1.6s}.ring-c{width:94%;aspect-ratio:1;animation-delay:-3.2s}.pulse-orbit>i{--angle:calc(var(--i)*90deg - 35deg);position:absolute;z-index:4;left:50%;top:50%;font:500 .57rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#95866d;transform:rotate(var(--angle)) translateX(220px) rotate(calc(var(--angle)*-1))}@keyframes coreBreath{50%{transform:scale(1.07);box-shadow:0 0 120px rgba(199,164,100,.32)}}@keyframes ringBreath{50%{transform:scale(1.08);opacity:.45}}
.treatment-disclaimer{max-width:var(--max);margin:0 auto;padding:0 var(--pad) clamp(2.75rem,4.5vw,4.5rem)}.treatment-disclaimer p{max-width:78ch;margin:0;color:#6f6961;font-size:.72rem;line-height:1.6}
.first-visit{position:relative}.visit-title{position:sticky;top:130px;align-self:start}.visit-title h2{max-width:8ch;text-wrap:balance}.visit-steps{counter-reset:visit}.visit-steps li{position:relative;min-height:180px;padding:2.8rem 0}.visit-steps li:before{content:"";position:absolute;left:6px;top:3.6rem;bottom:-.8rem;width:1px;background:linear-gradient(var(--gold),var(--line))}.visit-steps li:last-child:before{display:none}.visit-steps li>span{position:relative;z-index:1;width:13px;height:13px;border-radius:50%;background:var(--black);border:1px solid var(--gold);font-size:0}.visit-steps h3{font-size:clamp(1.35rem,2vw,2rem)}
.studio-heading{margin-left:0}.studio-heading h2{max-width:11ch;text-wrap:balance}.studio-heading h2 span,.studio-heading h2 em{display:block}.studio-heading em{margin-left:0}.studio-main{overflow:hidden}.studio-main img{transition:transform 1.2s var(--ease)}.studio-main:hover img{transform:scale(1.025)}
.brickell{height:min(88vh,920px)}.brickell>img{will-change:transform}.brickell-overlay h2{max-width:8ch;text-wrap:balance}.brickell-overlay h2 span{display:block;color:var(--gold)}.brickell-overlay h2 span.plain-inline{display:inline;color:inherit}
.location-note h2{max-width:11ch;text-wrap:balance;font-size:clamp(2.3rem,4vw,3.7rem)}.location-photo{overflow:hidden}.location-photo img{transition:transform 1.2s var(--ease)}.location-photo:hover img{transform:scale(1.025)}.valet-car.reveal{opacity:0;transform:translateX(-38px)}.valet-car.reveal.visible{opacity:1;transform:none;transition:opacity .5s ease-out,transform 1s cubic-bezier(.31,1.6,.4,1)}.location-valet:hover .valet-car{transform:translateX(3px);transition:transform .3s var(--ease)}
.plans-head h2{max-width:9ch;text-wrap:balance}.plan-card{position:relative;overflow:hidden;cursor:pointer;transition:background .35s,transform .35s var(--ease)}.plan-card:after{content:"↗︎";position:absolute;right:2rem;top:2rem;color:var(--gold);opacity:0;transform:translate(-8px,8px);transition:.35s}.plan-card:hover{background:rgba(199,164,100,.05);transform:translateY(-6px)}.plan-card:hover:after{opacity:1;transform:none}
.plan-card ul{list-style:none;padding:1.4rem 0 0;margin:1.5rem 0 0;border-top:1px solid var(--line);color:#7f796f;font-size:.72rem}.plan-card li{position:relative;padding:.35rem 0 .35rem 1rem}.plan-card li:before{content:"";position:absolute;left:0;top:.82rem;width:4px;height:4px;border-radius:50%;background:var(--gold)}
.plan-card-trigger{margin-top:1.4rem;padding:0;border:0;background:none;color:var(--gold-light);font:500 .68rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:.6rem;align-self:flex-start}.plan-card-trigger i{font-style:normal;transition:transform .3s var(--ease)}.plan-card:hover .plan-card-trigger i,.plan-card-trigger:focus-visible i{transform:translate(3px,-3px)}.plan-card-trigger:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
.plan-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:1.5rem;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}.plan-modal.is-open{opacity:1;visibility:visible}.plan-modal-backdrop{position:absolute;inset:0;background:rgba(6,6,5,.82);backdrop-filter:blur(6px)}.plan-modal-panel{position:relative;z-index:1;width:min(560px,100%);max-height:88vh;min-height:0;overflow-y:auto;padding:clamp(2.2rem,4vw,3.2rem);padding-bottom:calc(clamp(2.2rem,4vw,3.2rem) + 2rem);border:1px solid var(--line);border-radius:24px;background:var(--black-2);transform:translateY(18px) scale(.98);transition:transform .4s var(--ease)}.plan-modal.is-open .plan-modal-panel{transform:translateZ(0)}.plan-modal-panel:focus-visible{outline:none}.plan-modal-close{position:absolute;right:1.1rem;top:1.1rem;width:38px;height:38px;border:1px solid rgba(200,169,106,.3);border-radius:50%;background:transparent;color:#d2bd8d;font-size:1.25rem;line-height:1;cursor:pointer}.plan-modal-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:1.6rem;border:1px solid var(--line);border-radius:50%;color:var(--gold)}.plan-modal-icon svg{width:22px;height:22px}.plan-modal-kicker{display:block;color:var(--gold);font:500 .62rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}.plan-modal-panel h3{margin:1rem 0 1rem;font:400 clamp(2rem,4vw,2.9rem)/1 var(--display)}.plan-modal-lede{max-width:48ch;margin:0;color:#b8b0a3;line-height:1.7}.plan-modal-detail{margin:1.8rem 0 0}.plan-modal-detail div{padding:1.1rem 0;border-top:1px solid var(--line)}.plan-modal-detail dt{margin-bottom:.5rem;color:var(--gold-light);font:500 .6rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}.plan-modal-detail dd{margin:0;color:#9d968c;line-height:1.65}.plan-modal-note{margin:1.6rem 0 0;color:#6f6961;font-size:.68rem;line-height:1.55}.plan-modal-cta{width:100%;min-width:0;margin-top:1.6rem}body.modal-open{overflow:hidden}
.availability{max-width:var(--content);margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,9rem);align-items:center;border-top:1px solid var(--line)}.availability-copy h2{max-width:9ch;text-wrap:balance}.availability-copy>p:last-child{max-width:44ch;color:#9b948a;line-height:1.75}.availability-shell{padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);background:linear-gradient(145deg,rgba(199,164,100,.07),rgba(9,9,8,.2))}.availability-shell>div:first-child{display:flex;align-items:center;gap:.8rem;padding-bottom:1.4rem;border-bottom:1px solid var(--line);font:500 .66rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}.availability-shell small{margin-left:auto;color:var(--gold-light)}.availability-days{display:grid;grid-template-columns:repeat(5,1fr);margin:2rem 0}.availability-days span{padding:1rem .5rem;border-right:1px solid var(--line);font:500 .65rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}.availability-days span:last-child{border:0}.availability-days em{display:block;margin-top:.8rem;color:#817a70;font-style:normal;font-size:.55rem}.availability-shell>p{margin:1.5rem 0 0;color:#69635b;font-size:.68rem;line-height:1.55}.availability [aria-disabled=true]{pointer-events:none;opacity:.55}
.contact-copy h2{max-width:9ch;text-wrap:balance}.faq h2{max-width:11ch;text-wrap:balance}.faq details p{line-height:1.75}.faq summary{transition:color .25s}.faq summary:hover{color:var(--gold-light)}
.reveal{transform:translateY(26px);transition-duration:1s}.reveal.visible{transform:none}
@media(max-width:1050px){.hero-copy{width:min(760px,83vw)}.hero h1{font-size:clamp(4rem,9vw,7rem)}.method-experience{grid-template-columns:1fr}.method-visual{min-height:400px}.method-orbit{--orbit-d:300px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-tall{grid-row:1/3}.gallery-wide{grid-column:2;min-height:340px}.gallery-statement{grid-column:2}.gallery-detail{grid-column:1/3;min-height:420px}.wellbeing-pulse{grid-template-columns:1fr}.pulse-copy{max-width:700px}.visit-title{position:static}.treatment-head,.availability{grid-template-columns:1fr}.treatment-panel{grid-template-columns:1fr}.treatment-title h3{max-width:12ch}.availability-shell{max-width:780px}}
@media(max-width:720px){.hero{min-height:100svh;padding-left:1.25rem;padding-right:1.25rem}.hero-photo{object-position:62% center}.hero-copy{width:100%}.hero h1{font-size:clamp(3.5rem,17vw,5.35rem);line-height:.86;max-width:8.3ch}.hero h1 em{margin-left:0;white-space:normal;color:var(--gold-light)}.hero-lede{max-width:34ch}.hero-actions{max-width:330px}.hero-index{display:none}.manifesto{grid-template-columns:1fr;padding-bottom:3.5rem}.manifesto-copy h2{font-size:clamp(3.25rem,14vw,4.8rem)}.method-experience{margin-left:calc(var(--pad)*-1);margin-right:calc(var(--pad)*-1);margin-top:2.5rem;border-inline:0}.method-visual{min-height:330px}.method-step,.method-step:not(:first-child){grid-template-columns:34px 1fr;padding:1.75rem 1.35rem;gap:.8rem}.method-step p{grid-column:2;font-size:.9rem}.identity-lines{font-size:clamp(2.25rem,11.5vw,3.25rem)}.motion-gallery{padding-left:1.25rem;padding-right:1.25rem}.gallery-grid{display:flex;flex-direction:column}.gallery-tall,.gallery-wide,.gallery-detail{min-height:0;aspect-ratio:4/5}.gallery-wide{aspect-ratio:4/3}.gallery-statement{min-height:310px}.service{display:flex;flex-direction:column;min-height:0}.service-copy h3{max-width:100%;font-size:clamp(2.7rem,11.5vw,3.5rem);overflow-wrap:normal}.force-label-bottom{display:none}.decompression-art>span{left:1.25rem;bottom:1.25rem;font-size:.5rem;letter-spacing:.16em}.wellbeing-pulse{padding-left:1.25rem;padding-right:1.25rem}.pulse-copy h2{font-size:clamp(3.1rem,14vw,4.8rem)}.pulse-orbit{min-height:390px}.pulse-core{width:110px}.pulse-orbit>i{transform:rotate(var(--angle)) translateX(145px) rotate(calc(var(--angle)*-1))}.treatment-head h2{max-width:100%;font-size:clamp(3rem,13vw,4.5rem)}.treatment-tabs{grid-template-columns:1fr}.treatment-tabs button{border-right:0;border-bottom:1px solid var(--line)}.treatment-tabs button:last-child{border-bottom:0}.treatment-panels,.treatment-panel{min-height:0}.treatment-panel{padding:2rem 1.35rem}.treatment-title h3{max-width:100%;font-size:clamp(2.6rem,11vw,3.5rem)}.first-visit{gap:2rem}.visit-steps li{min-height:150px}.studio-heading h2{font-size:clamp(3.1rem,14vw,4.8rem);max-width:9ch}.studio-heading em{margin-left:0}.brickell-overlay h2{font-size:clamp(3.3rem,15vw,5rem);max-width:7ch}.location-note h2{font-size:clamp(3.1rem,14vw,4.8rem);max-width:8ch}.plans-head h2,.contact-copy h2,.availability-copy h2{font-size:clamp(3.1rem,14vw,4.8rem)}.plan-card:hover{transform:none}.availability-days{grid-template-columns:repeat(2,1fr)}.availability-days span{border-bottom:1px solid var(--line)}.faq h2{font-size:clamp(3.1rem,14vw,4.8rem)}.inline-signup button{min-height:52px}}
main h2{font-size:clamp(2.5rem,4.25vw,4.6rem);line-height:1;letter-spacing:-.02em;text-wrap:balance}.plans-head h2,.contact-copy h2,.availability-copy h2{max-width:15ch}.visit-title h2,.brickell-overlay h2{max-width:10ch}.service-copy h3{font-size:clamp(2.25rem,2.65vw,3.4rem);line-height:1}.gallery-statement span,.gallery-statement strong{font-size:clamp(2rem,2.8vw,3.2rem)}
@media(max-width:1050px){.hero h1{font-size:clamp(3.7rem,7.8vw,5.75rem)}}
@media(max-width:720px){.hero h1{font-size:clamp(3rem,13.5vw,4.25rem);line-height:.91;max-width:9.5ch}.manifesto-copy h2,.care-intro h2,.pulse-copy h2,.treatment-head h2,.studio-heading h2,.brickell-overlay h2,.location-note h2,.plans-head h2,.contact-copy h2,.availability-copy h2,.faq h2{font-size:clamp(2.5rem,10.5vw,3.35rem);line-height:1;max-width:100%}.identity-lines{font-size:clamp(2.1rem,9vw,2.8rem);line-height:1.04}.gallery-statement span,.gallery-statement strong{font-size:clamp(2rem,8.5vw,2.7rem)}.service-copy h3{font-size:clamp(2.35rem,9.8vw,3rem);line-height:1}.treatment-title h3{font-size:clamp(2.25rem,9.5vw,2.9rem);line-height:1}.plan-card h3{font-size:clamp(2rem,8.5vw,2.65rem)}}
@media(prefers-reduced-motion:reduce){.status-pulse,.hero-photo,.method-orbit,.service-art:after,.spine-rig,.pressure-wave path,.pulse-core,.breath-ring{animation:none}.adjust-force,.wave-ring,.decompress-line{animation:none;opacity:.7}.direction-line i{animation:none;opacity:.6}.valet-car.reveal{opacity:1;transform:none;transition:none}.gallery-grid img,.studio-main img,.location-photo img,.location-valet svg,.plan-card,.method-step h3,.plan-modal-panel{transition:none}.visit-detail p{animation:none}}

/* Method pathway trigger and the provider section */
.method-pathway{grid-column:1/-1;justify-self:start;margin-top:2.6rem;padding:.9rem 1.4rem;background:none;border:1px solid var(--line);border-radius:999px;color:var(--gold-light);font:500 .65rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background-color .3s,border-color .3s,transform .25s}
.method-pathway:hover,.method-pathway:focus-visible{border-color:var(--gold);background:var(--gold-tint);transform:translateY(-1px)}
.provider{max-width:var(--max);margin:auto}
.provider .section-number{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.75rem}
.provider-copy{max-width:760px}
.provider-copy h2{margin-bottom:2rem}
.provider-copy>p{max-width:62ch;color:#aaa398;font-size:1.05rem}
.provider-facts{list-style:none;margin:3rem 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.provider-facts li{display:grid;grid-template-columns:minmax(9rem,.35fr) 1fr;gap:1.5rem;padding:1.3rem 0;border-bottom:1px solid var(--line)}
.provider-facts strong{color:var(--gold-light);font:500 .68rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.provider-facts span{color:#aaa398;font-size:.95rem;line-height:1.6}
.provider-note{margin-top:2.4rem;max-width:62ch;color:#7f796e;font-size:.82rem;line-height:1.6}
@media (max-width:820px){.provider-facts li{grid-template-columns:1fr;gap:.5rem}.method-pathway{width:100%;text-align:center}}
.contact-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.4rem 2.2rem;margin-top:.5rem}.contact-copy h2,.contact-copy>p:not(.kicker){margin-inline:auto}.contact-direct{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem 2rem}
.contact-direct a{padding-bottom:.3rem;border-bottom:1px solid var(--line);color:var(--gold-light);font:500 .68rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;transition:border-color .25s,color .25s}
.contact-direct a:hover,.contact-direct a:focus-visible{border-color:var(--gold);color:var(--gold)}

/* The clinic site's page heading. "/studio" opens on the method section, so that section's
   heading is the document h1 -- the gate's h1 lives on "/" and does not travel with it. The
   scale, tracking, and rhythm stay exactly what the section was designed around as an h2. */
.manifesto-copy h1{margin:0 0 .83em;font:400 clamp(2.5rem,4.25vw,4.6rem)/1 var(--display);letter-spacing:-.02em;text-wrap:balance}
@media(max-width:720px){.manifesto-copy h1{font-size:clamp(3.25rem,14vw,4.8rem)}}

.manifesto{row-gap:clamp(1.75rem,3vw,2.75rem)}
.proof-card{grid-column:3;align-self:start;border:1px solid var(--line);padding:clamp(1.4rem,1.8vw,1.9rem);background:linear-gradient(160deg,rgba(199,164,100,.05),transparent 70%)}
.proof-card-label{margin:0 0 1.25rem;font:500 .6rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.proof-card ul{list-style:none;margin:0;padding:0;display:grid;gap:1.05rem}
.proof-card li{display:grid;gap:.3rem;padding-bottom:1.05rem;border-bottom:1px solid var(--line)}
.proof-card li:last-child{padding-bottom:0;border-bottom:0}
.proof-card strong{font:500 .72rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--cream)}
.proof-card span{color:var(--muted);font-size:.86rem;line-height:1.55}
@media(min-width:1180px){.manifesto{grid-template-columns:minmax(130px,.28fr) minmax(0,1.55fr) minmax(280px,.72fr)}.manifesto-copy{max-width:none;grid-column:2}.method-experience{grid-column:1/-1}}
@media(max-width:1179px){.proof-card{grid-column:1/-1;margin-top:.5rem}.proof-card ul{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.1rem 2rem}.proof-card li{border-bottom:0;padding-bottom:0}}

.inline-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem 2.2rem;margin-top:clamp(1.75rem,3vw,2.5rem)}
@media(max-width:560px){.inline-cta{align-items:stretch;flex-direction:column;gap:1.1rem}.inline-cta .button{width:100%}.inline-cta .text-link{align-self:flex-start}}

.fit-band{max-width:var(--max);margin:auto;padding:clamp(3.25rem,5vw,4.75rem) var(--pad);border-bottom:1px solid var(--line)}
.fit-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1rem clamp(2rem,4vw,4rem);align-items:end;margin-bottom:clamp(2rem,3.2vw,2.75rem)}
.fit-head .kicker{grid-column:1/-1;margin:0 0 .35rem}
.fit-head h2{margin:0;font:400 clamp(2rem,3.4vw,3.1rem)/1.02 var(--display);letter-spacing:-.025em;max-width:16ch;text-wrap:balance}
.fit-head>p{margin:0;color:var(--muted);line-height:1.65;max-width:46ch}
.fit-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:0;border-top:1px solid var(--line)}
.fit-grid li{display:grid;align-content:start;gap:.5rem;padding:1.5rem clamp(1rem,1.6vw,1.6rem) 1.6rem;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.fit-grid li:last-child{border-right:0}
.fit-grid strong{font:500 .72rem/1.25 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}
.fit-grid span{color:var(--muted);font-size:.9rem;line-height:1.6}
.fit-note{margin:1.5rem 0 0;color:var(--muted);font-size:.88rem;line-height:1.6;max-width:62ch}
@media(max-width:900px){.fit-head{grid-template-columns:1fr}.fit-grid li{border-right:0}}

.nav-phone{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;color:var(--cream)}
.nav-phone svg{width:15px;height:15px;color:var(--gold)}
@media(max-width:1240px){.nav-phone span{display:none}}
@media(max-width:900px){.nav-phone{font-size:1rem}.nav-phone span{display:inline}.nav-phone svg{width:18px;height:18px}}
.action-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:.6rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:rgba(9,9,8,.93);backdrop-filter:blur(14px);border-top:1px solid var(--line)}
.action-bar a{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.55rem 1rem;font:500 .74rem/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;border:1px solid var(--line)}
.action-bar-call{flex:0 0 34%;color:var(--cream)}
.action-bar-call svg{width:17px;height:17px;color:var(--gold)}
.action-bar-join{flex:1;background:var(--gold-solid);border-color:var(--gold-solid);color:#141109}
@media(max-width:900px){.action-bar{display:flex;transform:translateY(105%);transition:transform .32s var(--ease,cubic-bezier(.22,1,.36,1))}.action-bar.is-visible{transform:none}footer{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.action-bar{transition:none}}
@media(max-width:900px) and (prefers-reduced-motion:reduce){.action-bar{backdrop-filter:none}}

.cta-band{max-width:var(--max);margin:auto;padding:clamp(2.75rem,4vw,3.75rem) var(--pad);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,auto);gap:1.75rem clamp(2rem,5vw,5rem);align-items:center;border-block:1px solid var(--line);background:linear-gradient(120deg,rgba(199,164,100,.06),transparent 65%)}
.cta-band-copy .kicker{margin:0 0 .5rem}
.cta-band-copy h2{margin:0 0 .7rem;font:400 clamp(1.75rem,2.7vw,2.5rem)/1.08 var(--display);letter-spacing:-.02em;max-width:20ch;text-wrap:balance}
.cta-band-copy p{margin:0;color:var(--muted);line-height:1.65;max-width:56ch}
.cta-band-actions{display:grid;gap:1rem;justify-items:start}
/* The availability-updates band is a cta-band whose action is a form, not a button. A cta-band
   gives its actions a 240px sidebar, which squeezes three fields into a column; this stacks the
   band so the copy reads full width and the form gets the whole container underneath it. */
.updates-band{grid-template-columns:1fr;gap:1.4rem clamp(2rem,5vw,5rem)}
.updates-band .cta-band-copy p{max-width:62ch}
.updates-band .inline-signup{margin:0;max-width:none;width:100%}
@media(max-width:900px){.cta-band{grid-template-columns:1fr}.cta-band-actions{justify-items:stretch}.cta-band-actions .button{width:100%}}

/* The provider label previously stacked above the copy, leaving the whole first screen of
   the section empty. It now sits in its own narrow column beside the text, and the
   credential facts move into a third column so the right half of the row carries content. */
.provider{display:grid;grid-template-columns:minmax(140px,.28fr) minmax(0,1.55fr) minmax(280px,.72fr);column-gap:clamp(2rem,4vw,4rem);row-gap:clamp(1.5rem,2.5vw,2.25rem);align-items:start}
.provider .section-number{align-self:start}
.provider-copy{max-width:none;grid-column:2}
.provider-facts{grid-column:3;grid-row:1;align-self:start;margin:0;padding:clamp(1.4rem,1.8vw,1.9rem);border:1px solid var(--line);border-top:1px solid var(--line);background:linear-gradient(160deg,rgba(199,164,100,.05),transparent 70%);gap:1.05rem}
.provider-note{grid-column:2/-1;margin-top:1.25rem}
@media(max-width:1179px){.provider{grid-template-columns:1fr}.provider-copy,.provider-facts,.provider-note{grid-column:1/-1}.provider-facts{grid-row:auto}}
@media(min-width:1180px){.provider-facts li{grid-template-columns:1fr;gap:.35rem;padding:0 0 1.05rem}.provider-facts li:last-child{padding-bottom:0;border-bottom:0}.provider-facts span{font-size:.86rem;line-height:1.55}}

/* Pre-existing mobile defect: the ≤720px rule placed only `.method-step p` in the text
   column, but the stage description is a span, so it fell into the 34px numeral column
   and wrapped one word per line. */
@media(max-width:720px){.method-step .method-step-copy{grid-column:2}}
@media(max-width:640px){.fit-grid{grid-template-columns:1fr 1fr}.fit-grid li{padding:1.15rem 1rem 1.25rem;border-right:1px solid var(--line)}.fit-grid li:nth-child(2n){border-right:0}.fit-grid li:last-child{grid-column:1/-1;border-right:0}}
@media(max-width:400px){.fit-grid{grid-template-columns:1fr}.fit-grid li{border-right:0}}

/* Location hours: the site stated hours only in prose on the guide pages, so the clinic
   page itself never showed them and Google had no on-page match for the Business Profile. */
.location-hours{margin:0 0 2.2rem;padding:1.3rem 1.4rem;border:1px solid var(--line)}
.location-hours-title{margin:0 0 .9rem;color:var(--gold);font:600 .6rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.location-hours dl{margin:0}
.location-hours dl div{display:flex;justify-content:space-between;gap:1.5rem;padding:.6rem 0;border-bottom:1px solid var(--line)}
.location-hours dl div:last-child{border-bottom:0}
.location-hours dt,.location-hours dd{margin:0;font:400 .78rem/1.4 var(--sans)}
.location-hours dt{color:#8f887c}
.location-hours dd{color:var(--gold-light);text-align:right}
.location-hours-note{margin:1rem 0 0;color:#8f887c;font-size:.8rem;line-height:1.55}
.location-hours-phone{margin:.7rem 0 0;font-size:.82rem}
.location-hours-phone a{color:var(--gold-light);text-decoration:none;border-bottom:1px solid rgba(199,164,100,.35)}
.location-hours-phone a:hover,.location-hours-phone a:focus-visible{color:#e9d19c}

.cost-band{max-width:var(--max);margin:auto;padding:clamp(3.25rem,5vw,4.75rem) var(--pad);border-bottom:1px solid var(--line)}
.cost-lead{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1rem clamp(2rem,4vw,4rem);align-items:end;margin-bottom:clamp(2rem,3.2vw,2.75rem)}
.cost-lead .kicker{grid-column:1/-1;margin:0 0 .35rem}
.cost-lead h2{margin:0;font:400 clamp(2rem,3.4vw,3.1rem)/1.02 var(--display);letter-spacing:-.025em;max-width:16ch;text-wrap:balance}
.cost-figure{display:grid;gap:.4rem;justify-items:start;border-left:1px solid var(--gold);padding-left:clamp(1rem,1.6vw,1.5rem)}
.cost-figure b{font:400 clamp(2.6rem,4.4vw,3.5rem)/1 var(--display);color:var(--gold-light);letter-spacing:-.02em}
.cost-figure em{font-style:normal;color:var(--muted);font-size:.86rem;line-height:1.55;max-width:34ch}
@media(max-width:900px){.cost-lead{grid-template-columns:1fr}}

/* Council-review fixes (2026-09-01): spacing seams, alignment, tap targets, small-type
   floors, and the studio skip link. Kept together so the intent of each trim is auditable. */

/* The Brickell Heights street shot ("01 · The pace") read hot against the page's dusk
   grade; warm it and pull the whites down to match the towers photo's treatment. */
.gallery-tall img{filter:sepia(.14) saturate(.42) contrast(1.03) brightness(.82)}
.gallery-tall:hover img{filter:sepia(.1) saturate(.55) contrast(1.03) brightness(.88)}

/* Desktop seams: the studio caption -> "Getting here" gap and the run-out below the
   provider card were both two full section paddings deep. Trimmed, not cramped. */
.studio.section-pad{padding-bottom:clamp(2.5rem,4vw,4rem)}
.location.section-pad{padding-top:clamp(2.5rem,4vw,4rem)}
.provider.section-pad{padding-bottom:clamp(2.75rem,4.5vw,4.5rem)}

/* Mobile seam between the treatment disclaimer and "Your first visit". */
@media(max-width:720px){.treatment-disclaimer{padding-bottom:2.25rem}.first-visit{padding-top:3rem}}

/* FAQ: keep the section label in view while the questions scroll past it. */
@media(min-width:981px){.faq>div:first-child{position:sticky;top:6rem;align-self:start}}

/* "Most people arrive with one of these." — reserve two title lines on every card so a
   wrapping title cannot push its body copy out of line with its siblings. */
@media(min-width:401px){.fit-grid strong{min-height:2.5em}}

/* Action bar: keep "Book Your Evaluation" on one line on the narrowest phones. */
@media(max-width:380px){.action-bar a{font-size:.66rem;letter-spacing:.08em}}

/* Footer fine print floor (~10.7px -> 11.2px) and >=44px hit areas on the inline links. */
footer{font-size:.7rem}
footer p a{display:inline-block;padding:.85rem .3rem;margin:-.85rem -.3rem}

/* Mobile nav overlay links paint 14px tall; pad the hit areas to >=44px and pull the
   spacing back with negative margins so the composition does not change. */
.nav.open>a:not(.nav-cta):not(.nav-account){padding:.95rem 0;margin:-.95rem 0}

/* Skip link for studio.html: hidden until keyboard focus, then a gold-on-black pill
   above the fixed header. */
.skip-link{position:fixed;left:1rem;top:1rem;z-index:130;width:1px;height:1px;overflow:hidden;white-space:nowrap;clip-path:inset(50%);padding:0;border:1px solid var(--gold);border-radius:999px;background:#090908;color:var(--gold-light);font:600 .68rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.skip-link:focus-visible{width:auto;height:auto;clip-path:none;overflow:visible;padding:.95rem 1.3rem;outline:1px solid var(--gold);outline-offset:3px}

/* Inline north-east arrow. Replaces the U+2197 glyph, which iOS and Android render as a colour emoji while desktop renders it as a line arrow. */
.icon-ne{width:1rem;height:1rem;flex:none;display:inline-block;vertical-align:-.16em}
.launch-pill-link .icon-ne{width:.8rem;height:.8rem}
/* controls.css */
.site-controls{display:flex;align-items:center;gap:.6rem}

.lang-toggle{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:2px;gap:2px;flex:none;transition:border-color .25s}
.lang-toggle:hover,.lang-toggle:focus-within{border-color:var(--gold)}
.lang-toggle button{position:relative;border:0;background:transparent;color:var(--muted);font:600 .62rem/1 var(--sans);letter-spacing:.08em;padding:.42rem .7rem;border-radius:999px;cursor:pointer;transition:background-color .25s,color .25s,transform .25s,filter .25s}
/* The pills paint at ~37x23px; extend each button's hit area to >=44px without changing
   the visual. The pseudo-element overhang splits the seam between EN and ES evenly. */
.lang-toggle button:before{content:"";position:absolute;left:-4px;right:-4px;top:-11px;bottom:-11px}
.lang-toggle button[aria-pressed="true"]{background:var(--gold);color:var(--black)}
.lang-toggle button[aria-pressed="true"]:hover,.lang-toggle button[aria-pressed="true"]:focus-visible{filter:brightness(1.1)}
.lang-toggle button:not([aria-pressed="true"]):hover,.lang-toggle button:not([aria-pressed="true"]):focus-visible{color:var(--cream);background:var(--gold-tint)}
.lang-toggle button:active{transform:scale(.94)}

.nav .site-controls{margin-left:.4rem}
@media(max-width:900px){
  .nav .site-controls{margin:.5rem 0 0;justify-content:center}
}



/* Header fit. The header is a nowrap flex row and .brand is shrinkable, so once
   the wordmark plus nav exceed the row the brand box shrinks while its nowrap
   text keeps painting at full width - it overlaps the first nav link instead of
   wrapping. styles.css squeezed only 1181-1500px; below that nothing applied,
   and above 1500 the brand tag, the "Patient portal" label and a 3vw nav gap all
   returned at once, needing ~1595px of content in a ~1361px row at 1512.
   Measured widths: brand text 216, nav 1355 at a 45.36px gap, nav-account 161.
   Note the brand tag is exactly as wide as the wordmark, so hiding it frees
   nothing - only dropping to the monogram does. Bands below are sized off those
   numbers, and the squeeze now runs until the full-spacing layout genuinely fits
   (~2100px). */
.site-header{gap:1.5rem}
@media(min-width:901px) and (max-width:1340px){
  .brand-stack{display:none}
  .nav{gap:clamp(1rem,1.45vw,1.15rem);font-size:.6rem}
  .nav-account span{display:none}
  .nav-account{padding:.7rem}
}
@media(min-width:1341px) and (max-width:2100px){
  .brand-tag{display:none}
  .nav{gap:clamp(1.15rem,1.4vw,2.5rem);font-size:.6rem}
  .nav-account span{display:none}
  .nav-account{padding:.7rem}
}
