/* Revision 06: the size and breadth of the actual practice drive the composition. */
/* Explicit motion-mode seeks own their position across the changing page height. */
html{overflow-anchor:none}
:root{--paper:var(--fw-ivory);--ink:var(--fw-ink);--muted:var(--fw-muted-light);--line:var(--fw-line-light);--blue:var(--fw-blue-ink);--acid:var(--fw-amber);--gutter:clamp(24px,5vw,92px)}
em{font-style:normal}.header{height:90px;background:linear-gradient(rgb(var(--fw-charcoal-rgb) / 0.612),transparent);border-color:rgb(var(--fw-ivory-rgb) / 0.141)}.identity-dot{background:var(--fw-amber)}.header nav{gap:28px}.chapter h1{font-size:clamp(76px,8vw,134px);line-height:.96;letter-spacing:-.075em}.chapter h1 span{color:var(--fw-amber)}.chapter{width:46%;max-width:660px}.chapter>p:not(.eyebrow){font-size:clamp(17px,1.4vw,22px);line-height:1.65}.chapter>.eyebrow{max-width:none;font-size:11px;letter-spacing:.11em}.reading-shade{background:linear-gradient(90deg,rgb(var(--fw-charcoal-rgb) / 0.949),rgb(var(--fw-charcoal-rgb) / 0.788) 22%,rgb(var(--fw-charcoal-rgb) / 0.125) 60%,transparent)}.journey-footer{color:var(--fw-ivory)}.journey-track i{background:var(--fw-amber)}.journey-cue{font-weight:600}.journey-cue:hover span{background:var(--fw-amber)}.journey{background:var(--fw-charcoal)}
/* A missing configuration keeps the opening readable until the full fallback. */
body.model-pending .journey{height:100svh;min-height:660px;padding:0}body.model-pending .journey-stage{display:block;height:100%;position:relative;overflow:hidden}body.model-pending .scene{position:absolute;inset:0;margin:0;height:100%;width:100%}body.model-pending .scene-still img{object-fit:cover;object-position:60% center}body.model-pending .reading-shade{display:block}body.model-pending .chapter{position:absolute;top:50%;left:var(--gutter);padding:0;margin:0;max-width:660px;width:46%;transform:translateY(-39%)!important}body.model-pending .chapter h1{font-size:clamp(76px,8vw,134px)}body.model-pending .chapter-1,body.model-pending .chapter-2,body.model-pending .chapter-3{display:none}body.model-pending .journey-cue{display:inline-flex}body.model-pending .journey-footer{position:absolute;bottom:20px;left:var(--gutter);right:var(--gutter);padding:0}body.model-pending .journey-track{display:none}body.model-pending #motion{margin-left:auto;color:var(--fw-muted-dark)}body.model-pending #world{display:none}
.practice-intro{padding:70px var(--gutter) 0;background:radial-gradient(ellipse at 85% 0%,rgb(var(--fw-blue-rgb) / .08),transparent 60%),var(--fw-charcoal);position:relative;z-index:2;color:var(--fw-ivory);--fw-focus:var(--fw-amber)}.practice-intro .section-label{color:var(--fw-muted-dark);border-color:rgb(var(--fw-ivory-rgb) / .2)}.practice-intro h2{font-size:clamp(43px,5.6vw,88px);line-height:1.13;letter-spacing:-.062em;margin:52px 0 40px;font-weight:550}.practice-intro h2 em{color:var(--fw-amber)}.practice-intro-bottom{display:flex;align-items:center;justify-content:space-between;gap:70px;padding-bottom:60px}.practice-intro-bottom p{font-size:18px;line-height:1.7;max-width:560px;margin:0}.practice-intro .text-link{white-space:nowrap}.domain-index{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgb(var(--fw-ink-rgb) / 0.333);border-color:rgb(var(--fw-ivory-rgb) / .2)}.domain-index a{padding:26px 0;display:flex;align-items:center;gap:17px;font-size:17px;font-weight:650;transition:background .2s}.domain-index span{font-size:10px;font-weight:500;opacity:1;color:var(--fw-blue)}.domain-index a:hover{background:rgb(var(--fw-blue-rgb) / .1)}

.software-chapter{background:radial-gradient(ellipse at 80% 10%,rgb(var(--fw-blue-rgb) / .09),transparent 65%),var(--fw-charcoal);color:var(--fw-ivory);overflow:hidden;position:relative;padding-top:68px;padding-bottom:0}.software-chapter .section-label{color:var(--fw-ivory);border-color:rgb(var(--fw-ivory-rgb) / 0.251)}.software-heading{padding-top:55px}.software-heading .eyebrow{color:var(--fw-ivory);margin-bottom:27px}.software-heading h2{font-size:clamp(50px,7vw,112px);line-height:1.02;letter-spacing:-.065em;font-weight:500}.software-heading em{color:var(--fw-blue)}.software-columns{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin:60px 0 80px}.software-lead{font-size:clamp(27px,3vw,48px);letter-spacing:-.045em;line-height:1.2;margin:0}.software-lead span{color:var(--fw-blue)}.software-columns>div>p{font-size:17px;line-height:1.8;color:var(--fw-ivory);margin:0 0 20px;max-width:520px}.software-columns .text-link{margin-top:15px}.software-columns .arrow-circle{border-color:rgb(var(--fw-ivory-rgb) / 0.533)}.software-ribbon{display:flex;justify-content:space-between;gap:35px;white-space:nowrap;border-top:1px solid rgb(var(--fw-ivory-rgb) / 0.251);padding:20px 0;color:rgb(var(--fw-ivory-rgb) / 0.145);font-size:clamp(40px,9.5vw,148px);font-weight:800;letter-spacing:-.055em;line-height:1.2}
.work{border-radius:0;margin:0;background:var(--fw-ivory);padding-top:70px}.work .section-label{color:var(--fw-muted-light);border-color:var(--fw-line-light)}.project-heading{padding-bottom:30px}.project-heading h2{font-size:clamp(65px,9.5vw,152px);line-height:1}.project-heading .eyebrow{color:var(--fw-muted-light)}.project-summary{max-width:370px}.project-summary p{font-size:24px;line-height:1.4}.project-summary .status{font-size:12px;color:var(--fw-muted-light)}.product-intro{font-size:23px;line-height:1.6;max-width:930px;letter-spacing:-.025em;margin:10px 0 45px}.product-scope{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:30px 0 45px;border-top:1px solid var(--fw-line-light);border-bottom:1px solid var(--fw-line-light);margin-bottom:55px}.product-scope span{font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--fw-muted-light)}.product-scope p{font-size:15px;line-height:1.7;margin:15px 0 0}.record-study{background:var(--fw-raised);border-radius:6px}.record-card{background:var(--fw-stone);color:var(--fw-ink)}.record-status{color:var(--fw-ink);background:var(--fw-stone)}.record-stack i{background:var(--fw-raised)}.flow-tabs button[aria-selected=true]{border-color:var(--fw-amber);color:var(--fw-amber)}.record-study[data-stage="3"] .record-status{background:var(--fw-amber)}.project-decisions p,.project-story>p{color:var(--fw-muted-light)}.project-decisions article>span{color:var(--fw-muted-light)}.project-story .eyebrow{color:var(--fw-muted-light)}
.career{background:var(--fw-ivory);padding-top:70px}.career-heading h2{font-size:clamp(50px,6vw,90px)}.career-list summary:hover{background:var(--fw-stone)}.role-detail p{max-width:650px}.contact{background:var(--fw-raised);color:var(--fw-ivory);padding-top:70px}.contact h2{font-size:clamp(55px,8.2vw,128px);line-height:1}.contact h2 em{color:var(--fw-amber)}.contact-button{background:var(--fw-amber);color:var(--fw-ink);border-color:var(--fw-amber)}.contact .section-label{color:var(--fw-muted-dark)}.review-note{max-width:100%;line-height:1.8;font-size:11px;color:var(--fw-muted-dark)}.contact-base{color:var(--fw-ivory)}.contact-base>p{color:var(--fw-muted-dark)}
/* UI never relies on the artwork to carry claims or navigation. */


@media(max-width:1099px){.header nav{gap:20px}.practice-intro-bottom{gap:30px}.practice-intro-bottom p{font-size:16px}.domain-index a{font-size:14px}.software-columns{gap:7%}}
@media(max-width:760px){
 .header{height:76px}.header nav{font-size:12px;gap:14px}.header nav a[href="#experience"]{display:none}.identity{font-size:18px}.chapter{width:calc(100% - 48px)}.chapter h1{font-size:clamp(56px,13vw,91px)}.reading-shade{background:linear-gradient(180deg,rgb(var(--fw-charcoal-rgb) / 0.941),rgb(var(--fw-charcoal-rgb) / 0.667) 40%,transparent 59%)}
 body.model-pending .journey{height:100svh;min-height:730px}body.model-pending .chapter{left:24px;top:116px;width:calc(100% - 48px);transform:none!important}body.model-pending .chapter h1{font-size:clamp(59px,14.3vw,96px);margin-bottom:22px}body.model-pending .chapter>.eyebrow{font-size:9px;max-width:310px;line-height:1.7;margin-bottom:22px}body.model-pending .chapter>p:not(.eyebrow){font-size:16px;line-height:1.7}body.model-pending .scene-still{top:300px;height:calc(100% - 300px);overflow:hidden}body.model-pending .scene-still img{object-position:63% center;object-fit:cover;width:170%;max-width:none;transform:translateX(-38%)}body.model-pending .reading-shade{background:linear-gradient(180deg,var(--fw-charcoal) 0%,var(--fw-charcoal) 26%,rgb(var(--fw-charcoal-rgb) / 0.808) 44%,rgb(var(--fw-charcoal-rgb) / 0) 67%)}body.model-pending .journey-footer{left:24px;right:24px;bottom:16px;font-size:9px}.journey-footer #motion{font-size:10px}.journey-cue{margin-top:20px}
 .practice-intro{padding-top:38px}.section-label{font-size:9px;gap:20px;line-height:1.7}.practice-intro h2{font-size:clamp(34px,8.7vw,58px);line-height:1.15;margin:34px 0 26px}.practice-intro-bottom{display:block;padding-bottom:34px}.practice-intro-bottom p{font-size:15px;line-height:1.8}.practice-intro .text-link{margin-top:25px;font-size:12px}.domain-index{grid-template-columns:repeat(3,1fr)}.domain-index a{font-size:12px;gap:9px;padding:18px 0}.domain-index span{font-size:9px}

 .software-chapter{padding-top:40px}.software-heading{padding-top:35px}.software-heading .eyebrow{font-size:10px;margin-bottom:24px}.software-heading h2{font-size:clamp(42px,10.3vw,65px);line-height:1.1}.software-columns{display:block;margin:35px 0}.software-lead{font-size:29px;margin-bottom:28px}.software-columns>div>p{font-size:16px}.software-columns .text-link{font-size:12px;gap:20px}.software-ribbon{font-size:11vw;gap:15px;padding:22px 0;letter-spacing:-.04em}
 .work,.career,.contact{padding-top:42px}.project-heading{padding:35px 0 24px}.project-heading h2{font-size:clamp(58px,15vw,98px)}.project-summary p{font-size:21px}.product-intro{font-size:19px;line-height:1.65;margin:0 0 30px}.product-scope{grid-template-columns:1fr;gap:20px;padding:25px 0 30px;margin-bottom:35px}.product-scope p{margin-top:8px;font-size:15px}.product-scope br{display:none}.project-body{gap:40px}.record-study{order:1}.project-decisions{margin-top:35px}.career-heading h2{font-size:48px}.contact h2{font-size:clamp(50px,12vw,80px)}.contact-base{gap:28px}.contact-base>div{font-size:12px}
}
@media(max-width:360px){.header nav{gap:12px;font-size:11px}.identity{font-size:16px}.chapter h1,body.model-pending .chapter h1{font-size:54px}.practice-intro h2{font-size:29px}.software-heading h2{font-size:37px}.contact h2{font-size:47px}.domain-index{grid-template-columns:repeat(2,1fr)}body.model-pending .scene-still{top:360px;height:calc(100% - 360px)}body.model-pending .reading-shade{background:linear-gradient(180deg,var(--fw-charcoal) 0%,var(--fw-charcoal) 36%,rgb(var(--fw-charcoal-rgb) / 0.91) 53%,rgb(var(--fw-charcoal-rgb) / 0) 73%)}}
@media(max-height:600px) and (min-width:761px){body.model-pending .journey{height:560px;min-height:560px}body.model-pending .chapter{top:115px;transform:none!important;width:52%}.chapter h1,body.model-pending .chapter h1{font-size:64px;margin-bottom:20px}.chapter>.eyebrow{font-size:9px;margin-bottom:18px}.chapter>p:not(.eyebrow){font-size:15px}.header{height:75px}}
@media(prefers-reduced-motion:reduce){.software-ribbon{transform:none!important}}
.proof-capture .qa-output{opacity:0}
.qa-output{left:12px;right:auto;bottom:12px;max-width:min(395px,calc(100% - 24px))}
@media(max-height:600px) and (min-width:761px){body:not(.static-journey) .chapter{top:52%;width:46%}body:not(.static-journey) .chapter h1{font-size:50px}body:not(.static-journey) .chapter h2{font-size:42px}body:not(.static-journey) .journey-cue{display:none}}
@media(max-width:760px){body[data-chapter="2"] .reading-shade,body[data-chapter="3"] .reading-shade{background:linear-gradient(180deg,rgb(var(--fw-charcoal-rgb) / 0.961),rgb(var(--fw-charcoal-rgb) / 0.91) 45%,rgb(var(--fw-charcoal-rgb) / 0.533) 57%,transparent 72%)}}
@media print{.header,.chapter{position:static!important;transform:none!important;color:black!important}.practice-intro,.software-chapter,.contact{background:white;color:black}}

/* Expanded continuous equipment journey. */
body:not(.static-journey) .journey{--journey-travel:850svh;height:950vh;height:calc(var(--journey-travel) + 100dvh)}
body.static-journey .chapter{order:2}body.static-journey .chapter-0{order:0}body.static-journey .journey-footer{order:10}
.chapter-2 h2{color:var(--fw-muted-dark)}.chapter-3 h2{color:var(--fw-amber)}.chapter-4 h2,.chapter-5 h2{color:var(--fw-blue)}
@media(max-width:760px){body:not(.static-journey) .journey{--journey-travel:750svh;height:850vh;height:calc(var(--journey-travel) + 100dvh)}.chapter>p:not(.eyebrow){font-size:16px;line-height:1.65}body[data-chapter="4"] .reading-shade,body[data-chapter="5"] .reading-shade,body[data-chapter="6"] .reading-shade{background:linear-gradient(180deg,rgb(var(--fw-charcoal-rgb) / 0.961),rgb(var(--fw-charcoal-rgb) / 0.91) 43%,rgb(var(--fw-charcoal-rgb) / 0.533) 56%,transparent 69%)}.chapter-5 h2{font-size:clamp(40px,10.8vw,67px)}}
@media(max-height:600px) and (min-width:761px){.chapter h2{font-size:44px}}
/* Keep the identity intact at the narrowest tested width. */
.identity{white-space:nowrap;flex-shrink:0}
/* Stable contrast above reflective geometry; static mode has no GPU dependency. */
.journey-footer #motion{background:rgb(var(--fw-charcoal-rgb) / 0.929);border:1px solid rgb(var(--fw-ivory-rgb) / 0.4);border-radius:5px;min-height:44px;padding:11px 15px}
.journey-footer .scene-label{background:rgb(var(--fw-charcoal-rgb) / 0.875);padding:6px 8px;border-radius:3px}
body.static-journey #world{display:none}
body.static-journey .scene-still{visibility:visible}
body.static-journey .scene-still img{object-fit:cover;object-position:center 58%}
@media(max-width:760px){body.static-journey .scene-still img{object-position:center bottom}}
.chapter h1,.chapter h2{text-wrap:balance}
@media print{html body:not(.static-journey) .journey,html body .journey-stage{height:auto!important;min-height:0!important;position:static!important;overflow:visible!important}.chapter{opacity:1!important;visibility:visible!important;position:static!important;transform:none!important;color:black!important;break-inside:avoid}.chapter *{color:black!important}.reading-shade{display:none!important}}
.header nav a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:360px){.header{padding-left:20px;padding-right:20px}.identity{gap:6px}.identity-dot{width:6px;height:6px;flex-shrink:0}.header nav{gap:12px;font-size:12px}.header nav a[href="#practice"]{display:none}}
@media(max-height:450px) and (min-width:761px){body:not(.static-journey) .chapter{top:48%}.chapter h2{font-size:38px!important;margin-bottom:16px}.chapter h1{margin-bottom:16px}.chapter>.eyebrow{font-size:8px;margin-bottom:14px}.chapter>p:not(.eyebrow){font-size:13px;line-height:1.5}.chapter-credit{font-size:10px;margin-top:12px}}
