/* Illustration dimensions follow viewport height, not ultrawide width. */
.hero-sculpture{left:52%;right:auto;top:51%;height:min(62svh,690px);width:auto;max-width:none;aspect-ratio:1240/1269;transform:translateY(-47%)}
.hero h1{font-size:clamp(62px,6.7vw,126px)}
.hero-copy{max-width:52%}
.hero-object-label{right:var(--gutter);top:30%;max-width:145px}
.system{background:#131d12}
.system-intro,.stage-stories,.stage-bottom,.stage-top{position:relative;z-index:2}
.stage-stories{width:48%}
.system-visual{position:absolute;left:53%;right:var(--gutter);top:19%;height:64%;max-height:700px;z-index:1;pointer-events:none;isolation:isolate}
.word-halo{position:absolute;inset:3% 4% 15%;border:1px solid #60704733;border-radius:50%;background:radial-gradient(ellipse,#7f8c4020,transparent 67%);transform:rotate(-14deg)}
.word-halo::after{content:'+';position:absolute;right:2%;top:20%;color:#809450;font-size:30px}
.letter-stage{position:absolute;inset:0 0 120px;transition:opacity .6s,transform .8s}
.letter-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:translateY(18px) scale(.93) rotate(-3deg);transition:opacity .6s,transform .8s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 22px 18px #0002)}
.letter-frame.is-active{opacity:1;transform:translateY(0) scale(1) rotate(0)}
.brand-assembly{position:absolute;bottom:25px;left:50%;width:min(100%,620px);height:100px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;transform:translateX(-50%);transform-origin:center;transition:transform .8s cubic-bezier(.2,.7,.2,1),height .8s;z-index:3}
.assembly-letter{opacity:.1;transform:translateY(7px);transition:opacity .65s,transform .65s}
.assembly-letter img{width:100%;height:100%;object-fit:contain}
.assembly-letter.is-revealed{opacity:1;transform:translateY(0)}
.word-caption{position:absolute;left:0;right:0;bottom:0;text-align:center;font-size:11px;color:#a4b38d;letter-spacing:.2px;transition:color .6s}
.system-visual.is-complete .letter-stage{opacity:0;transform:scale(.85)}
.system-visual.is-complete .brand-assembly{transform:translate(-50%,-170px) scale(1.16)}
.system-visual.is-complete .word-caption{color:var(--yellow)}
/* One input, five useful outputs; no margin or revenue-per-patient controls. */
.simple-calculator .calculator-controls-top{margin-bottom:20px}
.simple-calculator .calculator-controls-top p{max-width:240px}
.simple-calculator .calc-field{padding-bottom:26px}
.simple-calculator .calculator-result{min-height:410px}
.simple-calculator .calc-income-caption{margin-top:34px;font-size:15px}
.simple-calculator .calc-income{margin:13px 0 18px;font-size:clamp(45px,5.5vw,86px)}
.calc-period{color:#a9b89a;font-size:13px;line-height:1.65;margin:0 0 28px}
.calc-check-row{margin-top:auto;padding:23px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #48553d;border-bottom:1px solid #48553d}
.calc-check-row>span{color:#b6c3a8;font-size:13px;line-height:1.6}
.calc-check-row small{font-size:10px;color:#829571}
.calc-check-row strong{font-size:30px;font-weight:400;letter-spacing:-.7px;font-variant-numeric:tabular-nums;white-space:nowrap}
.calc-result-foot{display:flex;gap:12px;align-items:start;margin-top:23px}
.calc-result-foot p{margin:0;color:#8fa47e;font-size:10px;line-height:1.7}
.calc-foot-dot{width:5px;height:5px;border-radius:50%;background:var(--yellow);flex-shrink:0;margin-top:6px}
.calc-funnel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 18px}
.calc-funnel>div{border-top:1px solid #ced0c4;padding-top:18px;position:relative}
.calc-funnel>div+div::before{content:'→';position:absolute;left:-22px;top:55px;font-size:13px;color:#889277}
.funnel-number{display:block;color:#879174;font-family:monospace;font-size:10px;margin-bottom:13px}
.calc-funnel strong{font-size:38px;font-weight:400;letter-spacing:-1.5px;display:block;white-space:nowrap;font-variant-numeric:tabular-nums}
.calc-funnel>div>span:last-child{display:block;font-size:11px;color:#667257;margin-top:8px}
.clients{background:var(--paper)}.cloud-core>i{background:var(--paper)}
/* Enquiry area uses the same ivory as the hero. */
.contact{background:var(--paper)}
.contact h2 em{color:#7f8874}
.contact-intro>p{color:#65725b}
.form-field{color:#42503a}
.form-field>span>small,.form-field>small,.form-note,.contact footer p{color:#6b765f}
.form-field input,.form-field textarea{background:#fff;border-color:#c7cdbe}
.form-field input::placeholder,.form-field textarea::placeholder{color:#87907e}
.form-field input:focus,.form-field textarea:focus{border-color:#70815b;outline-color:#70815b30}
.contact footer{border-top-color:var(--line)}
@media(min-width:1800px){
 :root{--gutter:max(80px,calc((100vw - 1960px)/2))}
 html{scroll-padding-top:110px}
 .header{height:110px;gap:42px}
 .logo{font-size:52px;letter-spacing:-4px}
 .nav{gap:40px}.nav a{font-size:18px}
 .header-contact{font-size:18px;padding:16px 24px;gap:38px}
 .hero{padding-top:154px;padding-bottom:42px}
 .hero-copy{max-width:52%;padding-block:52px}
 .hero h1{font-size:clamp(124px,6vw,156px);margin-bottom:32px;letter-spacing:-.065em}
 .hero-copy p{font-size:23px;line-height:1.6;margin-bottom:38px}
 .hero-sculpture{left:52%;height:min(64svh,720px);top:51%;width:auto;max-width:none}
 .eyebrow{font-size:14px;letter-spacing:1.2px}.edition{font-size:14px}
 .hero-object-label{font-size:14px;max-width:180px;top:33%;right:var(--gutter)}
 .round-link{font-size:18px;gap:20px}.hero .round-arrow{width:62px;height:62px;font-size:30px}
 .hero-facts{gap:36px;font-size:16px}.hero-facts b{font-size:32px}.scroll-link{font-size:15px;gap:30px}
 .hero-bottom{padding-top:29px}
 .system-stage{padding-top:155px;padding-bottom:45px}
 .stage-counter{font-size:16px}.system-intro{margin-top:42px}
 .system-intro h2{font-size:53px}.system-intro p{font-size:18px;line-height:1.5}
 .stage-story h3{font-size:76px;letter-spacing:-3.3px}.stage-story[data-story="2"] h3{font-size:66px}
 .stage-story p{font-size:20px;line-height:1.65;max-width:600px}
 .stage-kicker{font-size:15px;margin-bottom:26px}.stage-note{font-size:14px}
 .stage-tabs{gap:42px}.stage-tabs button{font-size:17px;min-width:145px;gap:18px;padding-top:20px}.stage-tabs button span{font-size:13px}
 .stage-bottom-note{font-size:15px}.system-visual{max-height:750px}.word-caption{font-size:15px}
 .brand-assembly{height:120px;bottom:32px}.letter-stage{bottom:155px}
 .calculator{padding-top:96px;padding-bottom:104px}.calculator-heading{margin-bottom:50px}
 .calculator-heading h2{font-size:76px}.calculator-heading>p{font-size:19px;max-width:460px}.calculator-heading .eyebrow{font-size:14px}
 .calculator-grid{gap:28px}.calculator-controls,.calculator-result{padding:42px 46px}
 .calculator-controls-top p{font-size:26px;max-width:350px}.calc-mini-s{width:130px;height:130px}
 .calc-field-top label{font-size:18px;max-width:260px}.calc-field-top output{font-size:38px}
 .calc-range{height:38px}.calc-field-hint{font-size:13px}.calc-reset{font-size:14px}
 .calc-funnel{gap:34px;margin:30px 0 26px}.calc-funnel strong{font-size:52px}.funnel-number{font-size:13px}
 .calc-funnel>div>span:last-child{font-size:17px}.calc-funnel>div+div::before{left:-28px;top:64px;font-size:18px}
 .calc-result-top{font-size:14px}.simple-calculator .calc-income-caption{font-size:21px;margin-top:40px}
 .simple-calculator .calc-income{font-size:92px;margin-top:20px}.calc-period{font-size:18px}
 .calc-check-row>span{font-size:18px}.calc-check-row small{font-size:14px}.calc-check-row strong{font-size:40px}
 .calc-result-foot p{font-size:14px}.calculator-bottom>p{font-size:14px;max-width:780px}.calc-discuss{font-size:17px;padding:19px 25px}
 .portfolio{padding-top:82px;padding-bottom:70px}.portfolio h2,.section-heading h2{font-size:66px}
 .portfolio-head>p,.section-heading>p{font-size:19px}.portfolio-head .eyebrow,.section-heading .eyebrow{font-size:14px}
 .portfolio .project-image{height:190px}.portfolio .project-image .brand-logo .clinic-logo{max-width:300px;max-height:90px}
 .project-caption h3{font-size:27px}.project-caption p{font-size:15px}.project-result .project-metric strong{font-size:40px}
 .project-result .project-metric span{font-size:13px}.portfolio .project-tag{font-size:13px}.portfolio-bottom p{font-size:18px}
 .services{padding-block:86px}.service-grid{gap:36px 42px}.service-card h3{font-size:27px}.service-card p{font-size:17px;max-width:390px}.service-number{font-size:13px}
 .clients{padding-top:98px}.clients-bottom p{font-size:16px}.cloud-toggle{font-size:14px;padding:14px 20px}.client-tooltip{font-size:13px}
 .contact{padding-top:100px;gap:60px 100px}.contact h2{font-size:100px;letter-spacing:-4.5px}
 .contact-intro>.eyebrow{font-size:14px}.contact-intro>p{font-size:19px}
 .form-field{font-size:16px}.form-field input,.form-field textarea{font-size:19px;padding:21px}
 .form-field>span>small,.form-field>small{font-size:13px}.form-note{font-size:13px;max-width:370px}
 .form-submit{font-size:17px;padding:20px 28px;min-height:68px}.form-status{font-size:16px}
 .contact footer p{font-size:14px}.contact footer>a:last-child{font-size:16px}
}
@media(max-width:1100px){
 .hero-sculpture{left:53%;height:min(56svh,590px);width:auto}.hero h1{font-size:6.7vw}.hero-object-label{display:none}
 .stage-stories{width:48%}.stage-story h3{font-size:43px}.stage-story[data-story="2"] h3{font-size:36px}
 .system-visual{left:53%;right:3vw;top:23%;height:59%}.letter-stage{bottom:100px}.brand-assembly{height:75px}.word-caption{font-size:9px}
 .calc-funnel{gap:17px}.calc-funnel strong{font-size:31px}.calc-check-row strong{font-size:25px}
 .simple-calculator .calc-income{font-size:5.6vw}
}
@media(max-width:800px){.simple-calculator .calc-income{font-size:clamp(43px,8vw,70px)}.simple-calculator .calculator-result{min-height:365px}.calc-funnel strong{font-size:43px}.calc-funnel>div+div::before{top:58px}.calc-check-row strong{font-size:29px}}
@media(max-width:760px){
 .hero-copy{max-width:100%}.hero h1{font-size:clamp(45px,10vw,80px)}
 .hero-sculpture{position:relative;left:auto;right:auto;top:auto;height:auto;width:min(82vw,460px);aspect-ratio:1240/1269;transform:none;margin:24px 0 30px}
 .hero-object-label{display:none}.hero .edition{display:inline}
 .system-stage{height:100svh;min-height:0;padding:98px var(--gutter) 25px;overflow:hidden}
 .system-intro{margin-top:20px}.system-intro h2{font-size:29px;margin-bottom:8px}.system-intro p{font-size:11px}
 .stage-stories{width:100%;margin:0;padding:22px 0 0;flex-shrink:0}
 .stage-story h3,.stage-story[data-story="2"] h3{font-size:31px;letter-spacing:-1.3px;margin-bottom:13px;line-height:1.08}
 .stage-story p{font-size:12px;line-height:1.5;margin-bottom:0;max-width:460px}.stage-kicker{font-size:10px;margin-bottom:12px}
 .system-visual{position:relative;inset:auto;width:100%;height:auto;flex:1;min-height:125px;max-height:none;margin:10px 0 14px}
 .letter-stage{inset:0 0 58px}.letter-frame{filter:none}.brand-assembly{height:50px;bottom:12px;width:min(100%,390px)}
 .word-caption{bottom:0;font-size:8px}.word-halo{inset:5% 20% 5%}.word-halo::after{font-size:15px}
 .system-visual.is-complete .brand-assembly{transform:translate(-50%,-45px) scale(1.12)}
 .stage-bottom{margin-top:0;flex-shrink:0}.stage-tabs{gap:14px}.stage-tabs button{min-height:43px;font-size:10px;padding-top:13px;flex:1}.stage-tabs button span{font-size:9px}
 .calc-funnel strong{font-size:36px}.calc-funnel>div>span:last-child{font-size:11px}.contact-intro>p{color:#65725b}
}
@media(max-width:760px) and (max-height:760px){
 .system-stage{padding-top:86px;padding-bottom:20px}.system-intro{margin-top:14px}.system-intro h2{font-size:25px}.system-intro p{display:none}
 .stage-stories{padding-top:15px}.stage-story h3,.stage-story[data-story="2"] h3{font-size:28px}.stage-story p{font-size:11px;line-height:1.45}.stage-kicker{margin-bottom:9px}
 .system-visual{min-height:100px;margin-bottom:10px}.brand-assembly{height:43px}.letter-stage{bottom:53px}
}
@media(min-width:761px) and (max-height:720px){
 .hero{min-height:720px}.hero-sculpture{height:min(63svh,450px)}
 .system-stage{height:100svh;min-height:620px;padding-top:103px;padding-bottom:28px}
 .system-intro{margin-top:25px}.system-intro h2{font-size:32px}.stage-story h3{font-size:43px}.stage-story[data-story="2"] h3{font-size:36px}.stage-stories{padding-block:25px}
}
@media(max-width:520px){
 .hero h1{font-size:clamp(42px,10.5vw,56px)}.hero-copy{margin-top:32px}.hero-sculpture{width:82vw;max-width:390px;margin-top:22px;margin-bottom:28px}
 .calc-funnel{gap:15px;margin-block:18px}.calc-funnel strong{font-size:29px}.calc-funnel>div+div::before{left:-18px;top:50px;font-size:12px}
 .calc-funnel>div>span:last-child{font-size:10px}.simple-calculator .calc-income{font-size:clamp(38px,10.5vw,52px)}
 .simple-calculator .calc-income-caption{font-size:13px}.calc-period{font-size:11px}.calc-check-row{gap:15px;padding-block:19px}.calc-check-row>span{font-size:11px}.calc-check-row strong{font-size:23px}
 .calc-result-foot p{font-size:9px}.simple-calculator .calculator-result{min-height:340px}.contact h2{font-size:49px}
}
@media(prefers-reduced-motion:reduce){
 .system{height:auto}.system-stage{position:relative;height:auto;min-height:0;overflow:visible;padding-bottom:40px}
 .stage-stories{width:100%;margin-top:25px}.stage-story{display:block!important;margin-bottom:35px}
 .stage-story[hidden]{display:block!important}.system-visual{position:relative;inset:auto;width:min(100%,650px);height:150px;min-height:150px;max-height:none;margin:15px auto 30px;flex:none}
 .letter-stage,.word-halo{display:none}.brand-assembly,.system-visual.is-complete .brand-assembly{height:110px;bottom:25px;transform:translateX(-50%)}
 .assembly-letter,.assembly-letter.is-revealed{opacity:1;transform:none;transition:none}.word-caption{font-size:11px}
 .letter-frame,.brand-assembly,.letter-stage{transition:none}
}
