/* Letter reveals and full-background treatment tabs. */
.reveal-ready{visibility:visible}
.reveal-ready .letter{display:inline-block;opacity:0;transform:translateY(.9em) rotate(2deg);filter:blur(5px);transition:opacity .45s ease,transform .75s cubic-bezier(.22,1,.36,1),filter .6s ease;transition-delay:calc(var(--letter-index) * 22ms);will-change:transform,opacity}
.reveal-ready.letters-visible .letter{opacity:1;transform:translateY(0) rotate(0);filter:blur(0)}
.reveal-ready .letter-word{display:inline-block;white-space:nowrap}
.reveal-ready .letter-space{display:inline-block;width:.24em}

.treatment-tabs{height:100svh;min-height:760px;background:#060606!important;overflow:hidden;isolation:isolate}
.tabs-backgrounds,.tab-bg,.tabs-shade{position:absolute;inset:0}
.tab-bg{width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.045);filter:saturate(.46) sepia(.1) contrast(1.12) brightness(.5);transition:opacity .75s ease,transform 1.35s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}
.tab-bg.is-active{opacity:1;transform:scale(1)}
.tabs-shade{z-index:1;background:linear-gradient(90deg,rgba(6,6,6,.92) 0%,rgba(6,6,6,.62) 43%,rgba(6,6,6,.18) 76%),linear-gradient(to top,rgba(6,6,6,.9),transparent 45%)}
.tabs-shell{position:relative;z-index:2;height:100%;max-width:1520px;margin:0 auto;padding:clamp(5.5rem,9vh,8rem) clamp(1.25rem,4vw,4.5rem) clamp(2rem,5vh,4rem);display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:1fr auto;gap:clamp(2rem,6vw,8rem)}
.tabs-intro h2{font-family:var(--ff-d);font-size:clamp(4.3rem,8.5vw,9.2rem);font-weight:300;line-height:.72;letter-spacing:-.06em;color:var(--ivory);margin-top:1.5rem;max-width:9ch}
.tabs-intro h2 em{color:var(--brass)}
.tabs-copy-stack{align-self:center;justify-self:end;width:min(470px,100%);min-height:290px;position:relative}
.tab-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateY(18px);pointer-events:none;transition:opacity .45s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.tab-copy.is-active{opacity:1;transform:none;pointer-events:auto}
.tab-copy>span{font-size:.48rem;letter-spacing:.25em;text-transform:uppercase;color:var(--brass);margin-bottom:1.25rem}
.tab-copy h3{font-family:var(--ff-d);font-size:clamp(3.3rem,5.3vw,5.8rem);font-weight:300;line-height:.78;letter-spacing:-.05em;color:var(--ivory);margin-bottom:1.4rem}
.tab-copy p{font-size:.83rem;line-height:1.75;color:var(--muted);max-width:40ch}
.tab-copy>div{display:flex;align-items:center;gap:1.5rem;margin-top:2rem}
.tab-copy strong{font-family:var(--ff-d);font-size:2.1rem;font-weight:300;color:var(--brass)}
.tab-copy button{font-family:var(--ff-b);font-size:.5rem;font-weight:500;letter-spacing:.2em;color:#060606;background:var(--brass);border:0;padding:1rem 1.4rem;cursor:pointer;transition:background .3s ease,transform .35s ease}
.tab-copy button:hover{background:#f0e4d2;transform:translateY(-2px)}
.tabs-nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.5rem,2vw,2rem);align-items:end}
.tab-trigger{background:none;border:0;color:rgba(244,237,226,.5);text-align:left;padding:.9rem 0;font-family:var(--ff-b);font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:color .35s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.tab-trigger span{display:block;font-family:var(--ff-d);font-size:1.3rem;font-style:italic;color:inherit;margin-bottom:.55rem}
.tab-trigger:hover,.tab-trigger:focus-visible,.tab-trigger.is-active{color:var(--brass);transform:translateY(-4px)}

@media(max-width:760px){
  .treatment-tabs{height:auto;min-height:820px}
  .tabs-shade{background:linear-gradient(to bottom,rgba(6,6,6,.28),rgba(6,6,6,.9) 64%,#060606 100%)}
  .tabs-shell{min-height:820px;padding:5.5rem 1.25rem 2rem;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;gap:1.5rem}
  .tabs-intro h2{font-size:clamp(3.8rem,15vw,5.7rem);max-width:8ch}
  .tabs-copy-stack{grid-row:2;align-self:end;justify-self:start;min-height:245px;width:100%}
  .tab-copy{justify-content:flex-end}.tab-copy h3{font-size:clamp(3rem,12vw,4.4rem)}.tab-copy p{font-size:.76rem;max-width:34ch}
  .tabs-nav{grid-row:3;grid-template-columns:1fr 1fr;gap:.35rem 1rem}.tab-trigger{font-size:.53rem;padding:.5rem 0}.tab-trigger span{font-size:1rem;margin-bottom:.25rem}
}

@media(prefers-reduced-motion:reduce){
  .reveal-ready .letter{opacity:1;transform:none;filter:none;transition:none}
  .tab-bg,.tab-copy,.tab-trigger{transition:none}
}
