.header{position:sticky;top:0}
.header::after{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--teal);transform:scaleX(0);transform-origin:left;pointer-events:none}
.hero{min-height:clamp(600px,75svh,850px)}
.hero-copy{width:64%;padding-block:clamp(62px,7vw,110px) 52px}
.hero h1{font-size:clamp(4rem,6.65vw,8rem);line-height:.91;max-width:8.05em}
.hero-copy>p:not(.eyebrow){max-width:40ch}
.hero-photo{inset:0}
.hero-photo>img{left:10%;object-position:50% 49%}
.hero-photo::after{
  background:linear-gradient(90deg,#192e3ff5 0%,#20394bf0 23%,#20394bdb 36%,#22394b77 52%,#182c3920 73%),
             linear-gradient(0deg,#182b3ab7,transparent 27%);
}
.hero .photo-frame{inset:25px 25px 25px 52%;color:#fbfaf780}
.hero .hero-caption{bottom:40px}
.index-band{background:var(--ivory)}
.room-card,.knowledge-card{transition:background .25s,border-color .25s}
.room-card:hover{border-color:var(--action)}
.knowledge-card:hover{border-color:var(--action);background:var(--pale)}
.knowledge-card.company:hover{background:color-mix(in srgb,var(--blue) 87%,var(--teal))}
.button,.text-link{transition:background .2s,color .2s,border-color .2s,translate .2s}
.button:active{translate:0 1px}
.habit-picture{overflow:hidden}
.js .habit-panel:not([hidden]),.js .example-step:not([hidden]){animation:panel-in .36s ease-out both}
@keyframes panel-in{from{opacity:.42;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

.page-intro{min-width:0}
.page-intro h1{font-size:clamp(3.4rem,6.15vw,7.3rem);text-wrap:balance}
.page-intro>p:not(.eyebrow){color:var(--muted);max-width:45ch;margin-top:20px}
.page-intro .actions{margin-top:24px}

.atlas{padding-block:clamp(43px,6vw,99px) clamp(48px,7.4vw,120px);background:var(--pale)}
.atlas .page-intro h1{font-size:clamp(3.15rem,5.25vw,6.35rem);text-wrap:wrap}
.atlas .page-intro>p:not(.eyebrow){max-width:56ch;margin-top:14px}
.atlas-doors{display:grid;grid-template-columns:1.22fr 1fr .78fr;gap:clamp(11px,1.6vw,25px);align-items:start;margin-top:clamp(25px,4.2vw,65px)}
.atlas-door{display:grid;grid-template-rows:1fr auto;min-height:clamp(245px,30vw,460px);position:relative;overflow:hidden;background:var(--petrol);color:var(--ivory);isolation:isolate}
.atlas-door:focus-visible{outline-offset:-4px;outline-color:var(--white)}
.atlas-image{position:absolute;inset:0;z-index:-1}
.atlas-image img{transition:scale .65s cubic-bezier(.2,.65,.3,1)}
.atlas-door:hover img{scale:1.055}
.atlas-image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#122939ed,transparent 68%)}
.atlas-label{grid-row:2;padding:clamp(14px,2.15vw,34px);display:grid;gap:5px}
.atlas-label>span{font:720 .69rem/1.3 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.atlas-label strong{font:480 clamp(1.67rem,3.05vw,3.5rem)/.99 var(--serif);letter-spacing:-.04em}
.atlas-label>span:first-child{margin-bottom:3px}
.door-02{margin-top:clamp(19px,4vw,70px)}
.door-03{margin-top:clamp(35px,7vw,120px);min-height:clamp(220px,25.5vw,410px);background:var(--action)}
.door-03 .atlas-image{display:grid;place-items:start center;color:var(--blue)}
.door-03 .portals{width:96%;margin-top:9px;transition:scale .55s}
.door-03:hover .portals{scale:1.065}
.door-03 .atlas-image::after{background:linear-gradient(0deg,#2a4759,transparent 62%)}
.location-row{border-bottom:1px solid var(--rule);padding-bottom:clamp(25px,5vw,70px)}
.location-row:last-child{border:0;padding-bottom:0}

.training-stage{padding-block:clamp(42px,6vw,93px) 0;background:var(--ivory)}
.training-stage-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:var(--column-space);align-items:center}
.training-stage .page-intro h1{font-size:clamp(3.3rem,5.55vw,6.45rem);text-wrap:wrap}
.training-stage-photo{position:relative;overflow:hidden;min-height:clamp(320px,38vw,600px);background:var(--petrol);box-shadow:14px 14px 0 var(--blue)}
.training-stage-photo img,.practice-stage-photo img,.academy-books img,.example-grid figure img,.offer-lead figure img{position:absolute;inset:0}
.training-stage-photo img{object-position:66% center}
.training-stage-photo figcaption,.academy-books figcaption{position:absolute;inset:auto auto 14px 14px;background:var(--ivory);padding:8px 10px;color:var(--petrol);font:750 .66rem/1.3 var(--ui);letter-spacing:.11em;text-transform:uppercase}
.training-jump{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(40px,6vw,100px);border-block:1px solid var(--rule)}
.training-jump a{padding:14px 12px;color:var(--petrol);font:750 .84rem/1.3 var(--ui);transition:background .2s}
.training-jump a:hover{background:var(--blue)}
.training-jump a+a{border-left:1px solid var(--rule)}
.training-jump span{font-size:.66rem;color:var(--action);margin-right:7px}
.training-offers{background:var(--pale)}
.offer-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:clamp(30px,7vw,118px)}
.offer-lead h2{font-size:clamp(2.7rem,4.6vw,5.25rem)}
.offer-lead>p:not(.eyebrow){margin-top:12px;color:var(--muted);max-width:35ch}
.offer-lead figure,.example-grid figure{position:relative;min-height:clamp(220px,24vw,370px);overflow:hidden;background:var(--blue)}
.offer-lead figure{margin-top:24px}
.offer-stack{border-top:1px solid var(--rule)}
.offer{border-bottom:1px solid var(--rule)}
.offer summary{display:grid;grid-template-columns:27px minmax(0,1fr) auto;gap:12px;align-items:center;cursor:pointer;list-style:none;padding:clamp(14px,1.8vw,24px) 12px;color:var(--petrol);font:480 clamp(1.32rem,2.3vw,2.5rem)/1.1 var(--serif);letter-spacing:-.024em}
.offer summary::-webkit-details-marker{display:none}
.offer summary::after{content:"+";font:440 1.45rem/1 var(--body);color:var(--action)}
.offer[open] summary::after{content:"−"}
.offer[open] summary,.offer summary:hover{background:var(--blue)}
.offer-copy{padding:12px 16px 21px 51px;color:var(--muted);background:var(--ivory)}
.offer-links{display:flex;flex-wrap:wrap;gap:7px 15px;margin-top:9px}
.js .offer[open] .offer-copy{animation:panel-in .24s ease-out both}

.practice-stage{background:var(--petrol);padding-block:clamp(42px,5.5vw,88px) clamp(47px,6.5vw,100px);overflow:hidden;color:var(--ivory)}
.practice-stage-inner{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:center;gap:var(--column-space)}
.practice-stage .page-intro{container-type:inline-size}
.practice-stage .page-intro h1,.digital-stage .page-intro h1{color:var(--ivory)}
.practice-stage .page-intro h1{
  font-size:clamp(2.18rem,4.5vw,5.5rem);
  font-size:clamp(2.18rem,min(5.2vw,14cqi),6rem);
  text-wrap:wrap;
}
.practice-stage .page-intro>p,.digital-stage .page-intro>p{color:var(--blue)}
.practice-media{position:relative;min-width:0}
.practice-stage-photo{position:relative;min-height:clamp(345px,37vw,575px);overflow:hidden;background:var(--blue);box-shadow:15px 15px 0 #c0e2e92e}
.practice-stage-photo img{object-position:53% center}
.practice-address{
  position:absolute;inset:auto 17px -15px auto;max-width:calc(100% - 34px);
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;
  gap:7px clamp(13px,2vw,24px);background:var(--ivory);padding:12px 16px;color:var(--petrol)
}
.practice-address strong{display:block;font:500 clamp(1rem,2vw,1.65rem)/1.15 var(--serif);margin-top:2px}
.practice-address .text-link{white-space:nowrap}
.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,32px);margin-top:clamp(25px,4vw,65px)}
.editorial-card{border-top:2px solid var(--teal);padding:clamp(15px,2.7vw,41px);background:var(--white);min-width:0}
.editorial-card:nth-child(2){background:var(--pale)}
.editorial-card:nth-child(3){background:var(--blue)}
.editorial-number{display:block;font:480 clamp(2rem,4vw,4.8rem)/1 var(--serif);letter-spacing:-.065em;color:var(--action);margin-bottom:21px}
.editorial-card h3{font-size:clamp(1.49rem,2.45vw,2.9rem);overflow-wrap:anywhere}
.editorial-card p{margin-top:11px;color:var(--muted);font-size:.93rem}
.editorial-card:nth-child(3) p{color:var(--petrol)}

.digital-stage{background:var(--petrol);color:var(--ivory);padding-block:clamp(45px,7.4vw,110px);overflow:hidden}
.digital-stage-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.98fr);gap:var(--column-space);align-items:center}
.digital-stage .page-intro h1{font-size:clamp(3.1rem,5.45vw,6.2rem);text-wrap:wrap}
.digital-orbit{min-height:clamp(330px,35vw,565px);position:relative;display:grid;place-items:center;isolation:isolate;background:radial-gradient(ellipse at center,#49868a8a,transparent 72%);border:1px solid #c0e2e950}
.digital-orbit>.portals{position:absolute;inset:0;margin:auto;width:min(100%,625px);max-height:96%;color:var(--blue);opacity:.7;z-index:-1}
.orbit-type{display:grid;text-align:center;justify-items:center;padding:14px}
.orbit-type>span{font:450 clamp(5.9rem,13vw,14rem)/.77 var(--serif);letter-spacing:-.105em;color:var(--ivory);padding-right:.1em;text-shadow:0 10px 40px #203a4a88}
.orbit-type strong{font:760 .82rem/1.4 var(--ui);letter-spacing:.15em;text-transform:uppercase;margin-top:18px}
.orbit-type small{color:var(--blue);font-size:.75rem;margin-top:4px}
.example-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:var(--column-space)}
.example-grid figure{min-height:clamp(240px,32vw,485px)}
.example-copy h2{font-size:clamp(2.45rem,4.1vw,4.9rem);margin-bottom:22px}
.example-copy .habit-tabs{margin-bottom:13px}
.example-copy .habit-tab{padding-inline:clamp(7px,1.1vw,17px)}
.example-step{min-height:130px;padding-bottom:12px}
.example-step h3{font-size:clamp(1.4rem,2.6vw,2.5rem);margin-bottom:8px}
.example-step p{color:var(--muted);max-width:46ch}
.digital-academy{background:var(--pale);padding-block:clamp(35px,6vw,95px)}
.digital-academy p:not(.eyebrow){max-width:48ch;color:var(--muted);margin:12px 0}

.academy-stage{padding-block:clamp(45px,6.4vw,105px) 0;background:var(--pale)}
.academy-stage-top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(21px,5vw,80px);align-items:end}
.academy-stage .page-intro h1{max-width:17ch;text-wrap:wrap}
.academy-note{padding:15px 0 15px 18px;border-left:1px solid var(--action);color:var(--petrol)}
.academy-note span{font:750 .65rem/1.3 var(--ui);letter-spacing:.11em;text-transform:uppercase;color:var(--action)}
.academy-note p{font:480 clamp(1.16rem,2vw,2rem)/1.24 var(--serif);margin-top:6px}
.academy-books{min-height:clamp(218px,31vw,500px);margin-top:clamp(24px,4vw,65px);position:relative;overflow:hidden;background:var(--petrol)}
.academy-books img{object-position:50% 56%}
.academy-cards .editorial-card:nth-child(2){transform:translateY(11px)}
.academy-cards .editorial-card:nth-child(3){transform:translateY(22px)}

.business-stage{background:var(--pale);color:var(--petrol);padding-block:clamp(44px,6.5vw,102px)}
.business-stage-inner{display:grid;gap:clamp(28px,4vw,68px)}
.business-stage .page-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);column-gap:clamp(22px,6vw,90px);align-items:end}
.business-stage .page-intro .eyebrow{grid-column:1/-1}
.business-stage .page-intro h1{grid-row:2/4;font-size:clamp(3.1rem,6.05vw,7.2rem);text-wrap:wrap}
.business-stage .page-intro>p:not(.eyebrow){margin-top:0}
.business-stage .page-intro .actions{margin-top:15px}
.business-map{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:stretch;background:var(--petrol);color:var(--blue);padding:clamp(12px,2vw,27px)}
.business-map .portals{width:100%;max-height:275px;margin:auto}
.business-map circle{transition:r .25s ease}
.business-map:has(nav a:nth-child(1):is(:hover,:focus-visible)) circle:nth-child(1),
.business-map:has(nav a:nth-child(2):is(:hover,:focus-visible)) circle:nth-child(2),
.business-map:has(nav a:nth-child(3):is(:hover,:focus-visible)) circle:nth-child(3){r:7px}
.business-map nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#c0e2e950}
.business-map nav a{display:flex;flex-direction:column;justify-content:end;gap:8px;background:var(--petrol);color:var(--ivory);padding:clamp(10px,2vw,25px);font:700 .87rem/1.35 var(--ui);transition:background .25s}
.business-map nav a:hover{background:var(--action)}
.business-map nav a span{color:var(--blue);font:480 clamp(1.35rem,3vw,3.7rem)/1 var(--serif);letter-spacing:-.05em}
.business-map nav a:focus-visible{outline-color:var(--blue);outline-offset:-4px}
.process-steps{max-width:950px;list-style:none;margin:32px 0 0;padding:0;border-top:1px solid var(--rule)}
.process-steps li{display:grid;grid-template-columns:clamp(40px,10vw,154px) 1fr;gap:12px;align-items:start;padding:22px 0;border-bottom:1px solid var(--rule)}
.process-steps li>span{color:var(--action);font:480 clamp(1.5rem,4.5vw,4.5rem)/1 var(--serif);letter-spacing:-.07em}
.process-steps li h3{font-size:clamp(1.55rem,3vw,3rem)}
.process-steps li p{color:var(--muted);max-width:58ch;margin-top:9px}
.process-steps li:target{background:var(--pale)}

.contact-main{background:var(--pale);padding-block:clamp(38px,6vw,100px)}
.contact-panel{min-width:0}
.contact-panel h1{font-size:clamp(2.45rem,4.55vw,5rem)}
.contact-aside>figure{width:100%;height:clamp(170px,20vw,315px);margin-bottom:12px}
.contact-aside>figure img{object-position:52% 53%}

@media (prefers-reduced-motion:no-preference){
  .hero-copy .eyebrow,.hero-copy h1,.hero-copy>p:not(.eyebrow),.hero .actions,.page-intro,.academy-note{animation:arrival .65s cubic-bezier(.19,.65,.28,1) both}
  .hero-copy h1{animation-delay:.07s}
  .hero-copy>p:not(.eyebrow){animation-delay:.13s}
  .hero .actions{animation-delay:.18s}
  .hero-photo>img{animation:hero-lens 1.15s cubic-bezier(.2,.62,.34,1) both}
  .digital-orbit .portals{animation:portal-in 1.05s cubic-bezier(.22,.63,.3,1) both}
  .atlas-door{animation:arrival .66s cubic-bezier(.19,.65,.28,1) both}
  .door-02{animation-delay:.08s}
  .door-03{animation-delay:.14s}
  [data-reveal].entering{animation:arrival .64s cubic-bezier(.19,.65,.28,1) both}
  @supports (animation-timeline:scroll()){
    .header::after{animation:page-progress auto linear both;animation-timeline:scroll(root block)}
    [data-photo-scroll]{overflow:hidden}
    [data-photo-scroll]>img{animation:photo-drift auto linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  }
}
@keyframes arrival{from{opacity:.46;translate:0 17px}to{opacity:1;translate:0 0}}
@keyframes hero-lens{from{scale:1.045}to{scale:1}}
@keyframes portal-in{from{opacity:.22;scale:.93}to{opacity:.7;scale:1}}
@keyframes photo-drift{from{transform:translateY(-1.4%) scale(1.05)}to{transform:translateY(1.4%) scale(1.05)}}
@keyframes page-progress{to{transform:scaleX(1)}}

@media(max-width:1050px){
  .hero h1{font-size:clamp(3.45rem,7.1vw,6.3rem)}
  .hero-copy{width:67%}
}
@media(max-width:820px){
  [id]{scroll-margin-top:88px}
  .hero{min-height:0}
  .hero-copy{width:100%;padding:38px 0 22px}
  .hero h1{font-size:clamp(2.58rem,9.4vw,5.6rem);max-width:none}
  .hero-photo{inset:auto;height:clamp(220px,57vw,420px)}
  .hero-photo>img{left:0}
  .hero-photo::after{background:linear-gradient(0deg,#182b3a9c,transparent 43%)}
  .hero .photo-frame{inset:14px}
  .hero .hero-caption{bottom:23px}
  .page-intro h1,.atlas .page-intro h1,.training-stage .page-intro h1,.digital-stage .page-intro h1,.business-stage .page-intro h1{font-size:clamp(2.65rem,8.5vw,5rem)}
  .atlas-doors{grid-template-columns:repeat(2,minmax(0,1fr))}
  .atlas-door{min-height:clamp(190px,38vw,325px)}
  .door-03{grid-column:span 2;margin-top:0;min-height:170px}
  .door-03 .atlas-image{place-items:center end}
  .door-03 .portals{width:min(52%,290px);margin:0}
  .door-03 .atlas-image::after{background:linear-gradient(90deg,#2a4759 12%,transparent 77%)}
  .training-stage-inner,.practice-stage-inner,.digital-stage-inner,.academy-stage-top,.business-stage-inner,.offer-grid,.example-grid{grid-template-columns:1fr}
  .training-stage-photo,.practice-stage-photo{min-height:clamp(235px,60vw,390px);box-shadow:8px 8px 0 var(--blue)}
  .practice-stage .page-intro h1{font-size:clamp(2.18rem,8.5vw,5rem);font-size:clamp(2.18rem,min(9vw,14cqi),5rem)}
  .practice-address{position:relative;inset:auto;width:fit-content;max-width:calc(100% - 24px);margin:-32px 12px 0}
  .training-jump{grid-template-columns:repeat(2,1fr)}
  .training-jump a:nth-child(3){border-left:0}
  .training-jump a:nth-child(-n+2){border-bottom:1px solid var(--rule)}
  .offer-lead figure{display:none}
  .editorial-grid{grid-template-columns:1fr;gap:12px}
  .editorial-card{padding:19px}
  .editorial-number{margin-bottom:8px}
  .digital-orbit{min-height:clamp(225px,52vw,365px)}
  .example-grid figure{order:2}
  .example-step{min-height:106px}
  .academy-note{padding-block:4px}
  .business-stage .page-intro{display:block}
  .business-stage .page-intro>p:not(.eyebrow){margin-top:15px}
  .business-map{grid-template-columns:1fr}
  .business-map .portals{max-height:200px}
  .business-map nav a{min-height:73px}
  .academy-cards .editorial-card:nth-child(n){transform:none}
}
@media(max-width:390px){
  .hero h1{font-size:clamp(2rem,11.15vw,2.74rem)}
  .practice-address{gap:12px}
  .atlas-label{padding:11px}
  .atlas-label strong{font-size:1.37rem}
  .atlas-label>span{font-size:.57rem}
  .business-map nav a{font-size:.7rem;padding:9px 7px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important}
}
