/* Composition pass: shared geometry, deliberate scale and quieter separators. */
:root{
  --max:1440px;
  --line-warm:oklch(81% .076 77 / .17);
  --surface-soft:oklch(20.5% .012 75);
  --radius-panel:32px;
}
.h2{font-size:clamp(2.25rem,3.65vw,3.4rem);line-height:1.17}
.lead{line-height:1.8}
.nav-in{height:108px;border-bottom-color:oklch(94% .012 85 / .12)}
.logo{gap:12px;font-size:1.625rem;letter-spacing:-.045em}
.nav-links{font-size:.8125rem;gap:28px}
.btn{min-height:58px;padding-left:28px;gap:28px;font-size:.875rem}
.btn .arr{background:oklch(25% .01 75 / .07);width:40px;height:40px}
.btn-gold{box-shadow:inset 0 1px 0 oklch(96% .03 80 / .45)}
.btn-glass{background:oklch(94% .012 85 / .035)}
.hero-copy .lead{font-size:1.0625rem;line-height:1.8;max-width:39ch}
.hero-cta{margin-top:36px;gap:16px}
.hero-caption{font-size:.625rem;letter-spacing:.22em}
/* A compact asymmetric interlude instead of another full-width text stack. */
.statement{background:var(--bg);border:0;padding-block:88px 108px}
.statement>.wrap{display:grid;grid-template-columns:1.15fr 1fr;column-gap:100px;position:relative}
.statement .section-label{grid-column:1;margin-bottom:26px;align-self:end}
.statement .big{grid-column:1;font-size:clamp(2rem,3.25vw,3rem);line-height:1.25;max-width:19ch;align-self:start}
.facts{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;gap:0;margin:0;counter-reset:principle}
.facts>div{position:relative;padding:22px 0 23px 46px;border-top:1px solid var(--line-warm)}
.facts>div:last-child{border-bottom:1px solid var(--line-warm)}
.facts>div:before{counter-increment:principle;content:'0' counter(principle);position:absolute;left:0;top:24px;font-size:.6875rem;letter-spacing:.05em;color:var(--gold)}
.facts h3{font-size:1.0625rem}.facts p{font-size:.9375rem;max-width:40ch;margin-top:8px;line-height:1.7}
/* The technology portrait receives a quiet circular instrument frame. */
.tech{padding-block:100px 116px;background:var(--surface-soft);position:relative}
.tech-sticky{column-gap:7%;grid-template-columns:1fr 1fr}
.tech-image:before{content:'';position:absolute;inset:6%;border:1px solid oklch(81% .076 77 / .12);border-radius:50%;pointer-events:none}
.tech-image img{position:relative;z-index:1}
.tech-image span{font-size:.6875rem;letter-spacing:.1em;margin-top:32px}
.tech-copy .h2{margin-bottom:38px;max-width:13ch}
.step{padding:22px 0 25px 54px;border-top-color:oklch(94% .012 85 / .12)}
.step:before{top:27px;font-size:.6875rem}
.step h3{font-size:1.5rem}
.step p:not(.k){font-size:.9375rem;max-width:42ch;margin-top:10px;line-height:1.75}
/* Centrepiece: lighter annotations leave more space to the photograph. */
.poster{padding-block:104px 110px}
.poster-head{max-width:650px;margin:auto;text-align:center}
.poster-head .kicker{margin-bottom:20px}
.poster-head .h2{max-width:18ch;margin-inline:auto}
.poster-fig{margin-top:64px;grid-template-columns:1fr 1.7fr 1fr;column-gap:46px;row-gap:32px}
.pl{padding:0 0 0 40px;border:0}
.pl .t{position:absolute;left:0;top:2px;width:24px;height:24px;font-size:.625rem;color:var(--gold);border-color:var(--line-warm)}
.pl h3{font-size:1rem}.pl p:not(.t){font-size:.875rem;line-height:1.75;margin-top:10px}
/* A dominant wide solution followed by two quieter, inset compositions. */
.sol{padding-bottom:104px}
.sol-head{padding-top:76px;margin-bottom:44px;align-items:center;gap:80px}
.sol-head .h2{max-width:14ch}
.sol-head .lead{max-width:37ch;font-size:1rem}
.sol-track{gap:28px}
.panel{border:1px solid var(--line-warm);border-radius:var(--radius-panel);background:var(--surface-soft);isolation:isolate}
.panel:first-child{min-height:500px;grid-template-columns:1fr 1.05fr}
.panel:first-child .panel-body{padding:50px 12px 50px 48px}
.panel:first-child>img{border-radius:0;mask-image:radial-gradient(ellipse 50% 49% at 50% 49%,black 37%,transparent 99%)}
.panel:not(:first-child){padding:22px 34px 34px}
.panel:not(:first-child)>img{width:100%;margin:0}
.panel:not(:first-child) .panel-body{padding:8px 0 0}
.panel .n{border:0;padding:0;color:var(--gold);font-size:.6875rem;letter-spacing:.15em;line-height:1.6}
.panel h3{font-size:clamp(1.875rem,2.5vw,2.4rem);margin-top:16px;max-width:19ch}
.panel p:not(.n){font-size:.9375rem;line-height:1.75;max-width:42ch}
.panel ul{padding-top:28px;font-size:.875rem}
.panel li{padding:11px 0;border-top-color:oklch(94% .012 85 / .1)}
/* The photograph bridges into a clean, aligned four-item audience list. */
.clinics{padding-bottom:110px}
.clinics-frame>img{max-width:1120px;margin-inline:auto}
.clinics-copy{margin-top:18px}
.clinics-copy .wrap{grid-template-columns:1.05fr 1fr;gap:80px;align-items:start}
.clinics-copy .h2{max-width:14ch}
.who{gap:30px 36px;padding-top:8px}.who>div{padding-top:22px}
.who h3{font-size:1.0625rem}.who p{font-size:.9375rem;line-height:1.75}
/* A continuous fine thread gives the partnership stages a single reading axis. */
.path{padding-bottom:108px}
.path-grid{padding-top:78px;gap:100px}
.path-aside .h2{max-width:12ch}
.path-aside .lead{max-width:36ch;font-size:1rem}
.steps{position:relative}
.steps:before{content:'';position:absolute;left:19px;top:20px;bottom:60px;width:1px;background:var(--line-warm)}
.ps{border:0;padding:0 0 24px 70px;margin-bottom:26px;min-height:104px}
.ps:last-child{padding-bottom:0;margin-bottom:0}
.ps:before{display:grid;place-items:center;left:0;top:0;width:40px;height:40px;border:1px solid var(--line-warm);border-radius:50%;background:var(--bg);font-size:.6875rem}
.ps h3{padding-top:5px;font-size:1.5rem}.ps p{font-size:.9375rem;max-width:43ch;margin-top:12px;line-height:1.75}
.faq-grid{gap:100px}.faq .h2{font-size:clamp(2.25rem,3.65vw,3.4rem)}
summary{font-size:1rem;padding-block:24px}.pm{width:32px;height:32px}.pm:before,.pm:after{left:8px;top:15px}
details p{font-size:.9375rem;line-height:1.8}
.contact-box{border-radius:var(--radius-panel);padding:60px;gap:76px;box-shadow:inset 0 1px 0 oklch(94% .012 85 / .035)}
.contact-copy .h2{font-size:clamp(2.25rem,3.65vw,3.4rem)}
.contact-copy .lead{max-width:35ch;font-size:1rem;line-height:1.8}
.contact-mail{font-size:.875rem}
label{font-size:.8125rem;gap:10px}input,textarea{border-radius:16px;font-size:1rem;line-height:1.5}
input{min-height:54px}.form-note{font-size:.75rem;line-height:1.6}
.foot{padding-bottom:36px}.foot-top{padding-top:32px}.wordmark{color:oklch(37% .025 80);margin-block:40px 26px}
.foot-legal{font-size:.75rem;line-height:1.6}
@media(max-width:1100px){
 .statement>.wrap{column-gap:50px}.tech-sticky{column-gap:40px}
 .poster-fig{grid-template-columns:1fr 1.15fr 1fr;gap:30px 24px}.pl{padding-left:32px}
 .panel:first-child .panel-body{padding:36px 8px 36px 32px}.panel:not(:first-child){padding:16px 24px 28px}
 .clinics-copy .wrap,.path-grid,.faq-grid{gap:48px}.contact-box{padding:40px;gap:40px}
}
@media(max-width:760px){
 :root{--radius-panel:24px}
 .nav-in{height:82px}.logo{font-size:1.4375rem;gap:10px}
 .hero-cta{gap:12px}.hero-copy .lead{font-size:1rem}.hero-cta .btn{min-height:56px}
 .statement{padding-block:62px 72px}.statement>.wrap{display:block}.statement .section-label{margin-bottom:22px}
 .statement .big{font-size:2.125rem;max-width:20ch}.facts{margin-top:34px}.facts>div{padding-left:38px}.facts p{font-size:.9375rem}
 .tech{padding-block:60px 64px}.tech-sticky{grid-template-columns:1fr;gap:38px}.tech-image span{margin-top:20px}
 .tech-copy .h2{margin-bottom:26px}.step{padding:21px 0 22px 44px}
 .poster{padding-block:68px}.poster-head{text-align:left}.poster-head .h2{margin-inline:0}.poster-head .kicker{font-size:.625rem}
 .poster-fig{grid-template-columns:1fr 1fr;gap:28px 24px;margin-top:30px}.poster-fig>img{grid-column:1/3}
 .pl{padding:0}.pl .t{position:static;display:inline-grid;margin-bottom:10px}.pl p:not(.t){font-size:.875rem}
 .sol{padding-bottom:68px}.sol-head{padding-top:56px;margin-bottom:30px}.sol-head .lead{max-width:40ch}
 .sol-track{gap:22px}.panel:first-child{display:flex;min-height:0}.panel:first-child .panel-body{padding:0 26px 30px}
 .panel:not(:first-child){padding:10px 26px 30px}.panel h3{font-size:1.875rem}.panel p:not(.n){font-size:.9375rem}
 .clinics{padding-bottom:72px}.clinics-copy .wrap,.path-grid,.faq-grid{grid-template-columns:1fr;gap:34px}
 .clinics-copy .h2{max-width:16ch}.who{gap:26px 22px}.who h3{font-size:1rem}.who p{font-size:.9375rem}
 .path{padding-bottom:70px}.path-grid{padding-top:50px}.path-aside .h2{max-width:none}.ps{padding-left:58px}.ps h3{font-size:1.375rem}
 .faq{padding-bottom:68px}.faq .h2{font-size:2.25rem}.contact-box{padding:32px 24px;gap:32px}.contact-copy .h2{font-size:2.125rem}
 .contact-copy .lead{font-size:1rem}.foot-legal{font-size:.6875rem}.wordmark{margin-block:32px 24px}
}
@media(max-width:380px){
 .statement .big{font-size:1.875rem}.poster-fig{grid-template-columns:1fr}.poster-fig>img{grid-column:1}
 .pl{padding-left:38px}.pl .t{position:absolute;left:0;top:2px}.panel:first-child .panel-body{padding:0 20px 26px}.panel:not(:first-child){padding:10px 20px 26px}
 .contact-box{padding:28px 18px}.contact-copy .h2{font-size:1.875rem}.who{grid-template-columns:1fr}
}
/* The same fine contour follows every major photographic composition. */
.contour-scene{position:relative;border:1px solid var(--line-warm);border-radius:var(--radius-panel);background:var(--surface-soft);isolation:isolate}
.tech{background:var(--bg);padding-block:0 90px}
.tech-sticky.contour-scene,.poster-sticky>.contour-scene,.clinics-frame.contour-scene{width:calc(100% - var(--pad)*2);max-width:calc(var(--max) - var(--pad)*2);margin-inline:auto;padding:52px}
.tech-image:before{border-color:oklch(81% .076 77 / .16)}
.poster{padding-block:0 92px}
.poster-sticky>.contour-scene{padding-block:62px 58px;background:oklch(19.5% .01 75)}
.poster-fig{margin-top:56px}
.pl .t,.ps:before,.pm,.lang{border-color:oklch(81% .076 77 / .3)}
.clinics-frame.contour-scene{padding-top:16px;padding-bottom:54px}
.clinics-copy{margin-top:4px}
.sol-head{border-top:0;padding-top:0}
.contour-scene::after{content:'';position:absolute;left:0;top:0;width:66px;height:2px;pointer-events:none;z-index:4;border-radius:50%;background:linear-gradient(90deg,transparent,oklch(92% .075 80),transparent);box-shadow:0 0 10px oklch(81% .12 77 / .55);offset-path:inset(0 round var(--radius-panel));offset-distance:0%;opacity:0}
@supports(offset-path:inset(0 round 32px)){
 .motion-enabled.motion-visible .contour-scene.is-in-view::after{animation:contour-travel 14s linear infinite;opacity:.85}
 .panel:nth-child(2)::after{animation-delay:-4s!important}.panel:nth-child(3)::after{animation-delay:-8s!important}
}
@keyframes contour-travel{to{offset-distance:100%}}
.contour-scene{transition:border-color .4s,background .4s}
.contour-scene:hover{border-color:oklch(81% .076 77 / .36)}
.faq-grid>div{display:flex;flex-direction:column;gap:12px}
details,details:last-child{border:1px solid var(--line-warm);border-radius:20px;padding-inline:24px;background:oklch(20.5% .012 75 / .45)}
summary{padding-block:20px;min-height:74px}details p{padding-right:12px}details[open]{border-color:oklch(81% .076 77 / .3)}
@media(max-width:1100px){
 .tech-sticky.contour-scene,.poster-sticky>.contour-scene,.clinics-frame.contour-scene{padding:36px}
 .poster-fig{column-gap:22px}.pl{padding-left:32px}
}
@media(max-width:760px){
 .tech{padding-bottom:64px}.poster{padding-bottom:64px}
 .tech-sticky.contour-scene,.poster-sticky>.contour-scene,.clinics-frame.contour-scene{padding:28px 22px}
 .tech-copy .h2,.poster-head .h2,.clinics-copy .h2{font-size:2rem}
 .tech-image span{font-size:.625rem}.tech-sticky{gap:28px}
 .poster-fig{grid-template-columns:1fr;gap:24px;margin-top:26px}.poster-fig>img{grid-column:1;grid-row:1}
 .pl{padding-left:38px}.pl .t{position:absolute;left:0;top:2px}.pl p:not(.t){max-width:42ch}
 .clinics-frame.contour-scene{padding-top:8px}.clinics-copy{margin-top:24px}.who{grid-template-columns:1fr;gap:24px}
 details,details:last-child{padding-inline:18px;border-radius:18px}summary{font-size:.9375rem;gap:14px}
 .contour-scene::after{width:46px}
}
@media(max-width:380px){
 .tech-sticky.contour-scene,.poster-sticky>.contour-scene,.clinics-frame.contour-scene{padding-inline:18px}
 .tech-copy .h2,.poster-head .h2,.clinics-copy .h2{font-size:1.75rem}
 .step{padding-left:34px}.step h3{font-size:1.375rem}.step p:not(.k){font-size:.9375rem}
}
@media(prefers-reduced-motion:reduce){.contour-scene::after{display:none}}
/* A quiet second reading: fine resonance engraving in the scene margins. */
.contour-scene::before{content:'';position:absolute;inset:1px;z-index:-1;pointer-events:none;border-radius:inherit;background-image:url('../assets/details/resonance-engraving.svg');background-size:min(680px,90%) auto;background-position:right -70px bottom -36px;background-repeat:no-repeat;opacity:.23;mask-image:linear-gradient(110deg,transparent 20%,black 72%);transition:opacity .8s var(--ease)}
.contour-scene:hover::before{opacity:.38}
.poster-sticky>.contour-scene::before{background-position:right -95px top -35px;opacity:.2;mask-image:linear-gradient(90deg,transparent 40%,black)}
.panel:nth-child(2)::before{background-size:100% auto;background-position:right -80px top -20px;opacity:.18}
.panel:nth-child(3)::before{background-size:100% auto;background-position:right -50px bottom 25px}
.contact-box::before{background-position:right -100px bottom -40px;opacity:.17;mask-image:linear-gradient(90deg,transparent 48%,black)}
.statement,.path,.faq{position:relative;isolation:isolate}
.statement::before,.path::after{content:'';position:absolute;z-index:-1;pointer-events:none;background:url('../assets/details/resonance-engraving.svg') right center/contain no-repeat;width:min(600px,65vw);height:400px;right:0;top:4px;opacity:.12;mask-image:linear-gradient(90deg,transparent,black)}
.path::after{top:auto;bottom:0;right:auto;left:-50px;transform:rotate(180deg);opacity:.13}
.tech-image:before{border-style:dashed;border-width:1px;border-color:oklch(81% .076 77 / .12)}
@media(max-width:760px){
 .contour-scene::before{background-size:430px auto;background-position:right -95px top -20px;opacity:.22;mask-image:linear-gradient(180deg,black,transparent 55%)}
 .contour-scene:hover::before{opacity:.22}
 .panel:nth-child(2)::before,.panel:nth-child(3)::before{background-size:430px auto;opacity:.2}
 .statement::before,.path::after{width:90%;height:260px;opacity:.1}
}
