@font-face{font-family:Hanken;src:url('./fonts/hanken-grotesk-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Hanken;src:url('./fonts/hanken-grotesk-latin-500-normal.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
:root{--ink:#17191b;--graphite:#24272a;--paper:#f5f3ed;--stone:#e7e4dd;--silver:#b9bab7;--muted:#62645f;--bronze:#bea178;--line:#d2d0c9;--dark-line:#3c3e40;--focus:#90703f;--error:#9e3029;--space:clamp(24px,5.3vw,88px);--ease:cubic-bezier(.22,.68,.18,1);--font:Hanken,Arial,sans-serif;--ink-soft:#363936;color-scheme:light;scroll-behavior:smooth;scroll-padding-top:112px;scrollbar-color:#8e918b var(--paper);scrollbar-width:thin}
*{box-sizing:border-box}html{background:var(--paper);scrollbar-gutter:stable}body{margin:0;font-family:var(--font);font-size:17px;line-height:1.55;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}::selection{background:var(--bronze);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,summary,select{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1{font-size:clamp(43px,6.2vw,88px);line-height:1.04;letter-spacing:-.045em;margin-bottom:32px}h2{font-size:clamp(30px,3.6vw,50px);line-height:1.12;letter-spacing:-.035em}h3{font-size:25px;line-height:1.25;letter-spacing:-.025em}p{margin-bottom:22px}img,svg{max-width:100%;display:block}button{border:0;background:none}a,button,summary{touch-action:manipulation}.container{width:100%;max-width:1600px;margin:0 auto;padding-left:var(--space);padding-right:var(--space)}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.13em;line-height:1.5;text-transform:uppercase;margin-bottom:28px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;left:24px;z-index:100;background:var(--paper);color:var(--ink);padding:14px 22px}.skip:focus{top:14px}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;min-height:44px;border-bottom:1px solid currentColor;font-size:15px;padding:8px 0;transition:gap .25s var(--ease)}.text-link:hover{gap:48px}.text-link span,.button span{font-size:20px;font-weight:400}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:52px;padding:13px 22px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:14px;line-height:1.35;transition:background .22s,color .22s,transform .22s}.button:hover{background:#3c3f41;border-color:#3c3f41}.button:active{transform:translateY(1px)}.button.outline{background:transparent;border-color:#6f7172;color:inherit}.button.outline:hover{background:#343638}.dark-page{background:var(--ink);color:var(--paper)}.light-section{background:var(--paper);color:var(--ink)}
/* The legal-name wordmark remains the identity; architectural imagery is not a logo. */
.site-header{height:102px;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:36px;padding:0 var(--space);background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);transition:height .25s,box-shadow .25s}.dark-page .site-header{background:var(--ink);color:var(--paper);border-color:var(--dark-line)}.site-header.scrolled{height:80px;box-shadow:0 4px 25px #00000008}.wordmark{display:inline-flex;flex-direction:column;gap:4px;flex:none;line-height:1;min-width:184px}.wordmark>span{font-size:29px;letter-spacing:.045em;font-weight:500}.wordmark small{font-size:8.5px;letter-spacing:.15em;font-weight:500}.desktop-nav{display:flex;align-items:center;gap:clamp(16px,2.3vw,34px);font-size:13px}.desktop-nav>a{padding:13px 0;position:relative;white-space:nowrap}.desktop-nav>a:not(.nav-contact)::after{position:absolute;bottom:7px;left:0;content:'';height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .22s}.desktop-nav>a:hover::after,.desktop-nav>a[aria-current]::after{transform:scaleX(1)}.desktop-nav .nav-contact{display:flex;gap:25px;align-items:center;border:1px solid var(--line);padding:10px 17px}.dark-page .nav-contact{border-color:#626465}.nav-contact:hover{background:var(--stone)}.dark-page .nav-contact:hover{background:#333638}.menu-open{font-size:13px;border:1px solid currentColor;padding:10px 14px;min-height:44px}.menu-open span{margin-left:14px;font-size:17px}#site-menu{width:100%;height:100dvh;max-height:none;max-width:none;position:fixed;inset:0;border:0;padding:24px var(--space);background:var(--ink);color:var(--paper);margin:0;overscroll-behavior:contain}#site-menu::backdrop{background:#0009}.menu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:45px}.menu-head>span{font-size:25px;letter-spacing:.05em}.menu-close{padding:10px 0 10px 20px;min-height:44px;font-size:14px}.menu-close span{margin-left:20px;font-size:28px}#site-menu nav{display:grid}#site-menu nav a{font-size:clamp(27px,5vw,46px);line-height:1.2;border-color:#454748;padding:15px 0}.menu-secondary{display:flex;gap:25px;flex-wrap:wrap;margin:30px 0}.menu-secondary a{font-size:14px}.nojs-menu{display:none}.menu-secondary+.text-link{font-size:14px}
.home-hero{position:relative;min-height:760px;height:min(840px,calc(100svh - 102px));display:flex;align-items:center;padding-bottom:100px;isolation:isolate;overflow:hidden}.home-copy{position:relative;z-index:2;width:68%;padding-top:30px}.home-copy .eyebrow{color:var(--silver);margin-bottom:37px}.home-copy h1{font-size:clamp(46px,5.35vw,79px);font-weight:400;letter-spacing:-.045em;line-height:1.08;max-width:1030px}.home-copy h1>span{color:var(--silver)}.home-copy>p{font-size:20px;line-height:1.5;max-width:450px;color:#deddd8;margin-top:28px}.hero-actions{display:flex;gap:14px;margin-top:35px}.dark-page .hero-actions .button:first-child{background:var(--paper);color:var(--ink);border-color:var(--paper)}.dark-page .hero-actions .button:first-child:hover{background:var(--bronze);border-color:var(--bronze)}.home-location{font-size:11px;color:var(--silver);margin-top:48px;display:flex;flex-direction:column;gap:4px}.home-location>span{color:#8e9291}.hero-baseline{position:absolute;bottom:27px;left:var(--space);right:var(--space);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--dark-line);padding-top:22px;font-size:11px;color:var(--silver);letter-spacing:.025em;z-index:2}.hero-baseline a{min-height:30px}.hero-baseline a span{margin-left:30px}
.section-top{display:flex;justify-content:space-between;gap:30px;margin-bottom:45px}.section-top p:last-child{font-size:15px;color:var(--muted);margin:0}.overview{padding:75px 0 84px}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.overview-item{display:block;padding-top:28px;border-top:1px solid var(--ink);position:relative}.overview-item>span{display:flex;justify-content:space-between;font-size:12px;margin-bottom:36px}.overview-item h2{margin-bottom:20px}.overview-item p{font-size:17px;color:var(--muted);max-width:430px;margin-bottom:30px}.overview-item strong{font-weight:500;font-size:13px;border-bottom:1px solid;padding-bottom:5px}.overview-item:hover>span>span{transform:translate(3px,-3px)}.overview-item>span>span{font-size:24px;transition:transform .25s}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:48px}.section-heading h2{margin:0}.section-heading .eyebrow{margin-bottom:20px}.section-heading>a{flex:none}.portfolio{padding-top:85px;padding-bottom:85px}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.product-image-link{display:block;overflow:hidden}.product-visual{position:relative;aspect-ratio:1.45;background:#302f31;overflow:hidden;padding:45px;color:#eeeae2;display:flex;align-items:center;justify-content:center;isolation:isolate}.product-name{font-size:clamp(45px,6vw,83px);letter-spacing:-.055em;line-height:1;position:relative;z-index:2}.product-visual>span{position:absolute;bottom:24px;left:30px;font-size:9px;letter-spacing:.16em;z-index:2}.product-visual.praxis{background:#343537}.praxis .product-name{font-weight:500}.product-lines{position:absolute;inset:0;z-index:0}.praxis .product-lines{transform:perspective(800px) rotateY(-23deg) rotateZ(-11deg);inset:-10% -15% -5% 20%;}.product-lines i{display:block;position:absolute}.praxis .product-lines i{width:70%;height:100%;border:1px solid #807e79;background:linear-gradient(115deg,#75736b44,#24262733);box-shadow:10px 0 40px #0002;top:0;left:0}.praxis .product-lines i:nth-child(2){left:20%}.praxis .product-lines i:nth-child(3){left:40%}.praxis .product-lines i:nth-child(4){left:60%}.product-image-link .product-lines{transition:transform .65s var(--ease)}.product-image-link:hover .praxis .product-lines{transform:perspective(800px) rotateY(-18deg) rotateZ(-8deg)}.product-caption{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding-top:26px}.product-caption :is(h2,h3){font-size:28px;margin-bottom:6px}.product-caption p{font-size:14px;color:var(--muted);margin-bottom:12px}.dark-page .product-caption p,.dark-page .section-note{color:var(--silver)}.product-card>.text-link{font-size:13px}.status{display:inline-flex;align-items:center;gap:8px;font-size:11px;white-space:nowrap;padding:6px 0;line-height:1.5}.status>span{width:5px;height:5px;background:currentColor}.dark-page .status{color:var(--bronze)}.section-note{font-size:12px;margin:35px 0 0;color:var(--muted)}.method-section{padding:80px 0 90px}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.method-grid article{border-top:1px solid var(--line);padding-top:25px}.phase-number{font-size:12px;color:var(--muted);display:block;letter-spacing:.08em;margin-bottom:35px}.method-grid h3{font-size:23px;margin-bottom:12px}.method-grid p{font-size:16px;margin-bottom:12px}.method-grid small{font-size:13px;color:var(--muted);line-height:1.6}.company-intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-top:85px;padding-bottom:85px}.company-intro h2{margin-bottom:0}.company-intro>div+div{padding-top:42px}.company-intro p{font-size:18px;color:var(--silver);max-width:490px}.early-band{background:#d6cfbf;color:var(--ink);padding:70px 0}.early-band>.container{display:flex;align-items:center;justify-content:space-between;gap:35px}.early-band h2{font-size:clamp(40px,4.5vw,62px);margin-bottom:20px}.early-band p{margin-bottom:0;max-width:440px}.early-band .eyebrow{margin-bottom:22px}.early-band .button{flex:none}
.page-hero{padding-top:76px;padding-bottom:60px;border-bottom:1px solid var(--line)}.page-hero h1{max-width:1200px}.page-hero>.eyebrow{color:var(--muted)}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:45px}.hero-bottom>p{max-width:630px;margin-bottom:0;font-size:20px;line-height:1.5;color:var(--muted)}.hero-bottom>.status{font-size:12px;border:1px solid var(--line);padding:10px 15px}.hero-bottom>.button{flex:none}.hero-email{font-size:18px;white-space:nowrap;border-bottom:1px solid;padding-bottom:8px}.hero-email>span{margin-left:20px}.contact-band{padding-top:60px;padding-bottom:70px;display:flex;justify-content:space-between;align-items:center;gap:40px;border-top:1px solid var(--line)}.contact-band h2{margin-bottom:15px}.contact-band p{color:var(--muted);margin:0}.contact-band>.button{flex:none}.status-explainer{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:60px 0 40px;border-bottom:1px solid var(--line);margin-top:15px}.status-explainer h2{font-size:28px}.status-explainer p{color:var(--muted);max-width:590px}.foundation-row{display:grid;grid-template-columns:1fr 1.7fr .9fr;gap:40px;align-items:center;padding-top:45px}.foundation-row h2{margin-bottom:0}.foundation-row .eyebrow{margin-bottom:15px}.foundation-row p{font-size:16px;color:var(--muted)}.foundation-row .status{justify-self:end}.product-feature{padding-top:50px;padding-bottom:65px;display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center}.product-feature .product-visual{aspect-ratio:1.25}.product-facts{max-width:500px}.product-facts p{font-size:18px;color:var(--muted)}.product-facts strong{font-weight:500;color:var(--ink)}.product-facts>.button{margin-top:15px}.product-detail,.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:65px;padding-bottom:75px;border-top:1px solid var(--line)}.feature-list article{border-top:1px solid var(--line);padding:25px 0 10px}.feature-list article:first-child{border-top:1px solid var(--ink)}.feature-list h3{font-size:24px;margin-bottom:13px}.feature-list p{font-size:17px;color:var(--muted);max-width:600px}.release-note{padding-top:45px;padding-bottom:70px;border-top:1px solid var(--line)}.release-note h2{font-size:28px}.release-note p{max-width:850px;color:var(--muted)}.service-index{padding-top:30px;padding-bottom:60px}.service-index article{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:42px 0;border-bottom:1px solid var(--line)}.service-index h2{font-size:35px;margin-bottom:12px}.service-index p{margin:0;color:var(--muted);max-width:650px}.service-index a{flex:none}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:80px}.two-column p{color:var(--muted)}.service-context,.deliverables{padding:70px 0;background:var(--stone)}.service-context h2,.deliverables h2{margin:0}.plain-list{list-style:none;margin:0 0 30px;padding:0}.plain-list li{padding:17px 0;border-bottom:1px solid #bfbdb7}.plain-list li:first-child{padding-top:0}.process-list{padding-top:20px;padding-bottom:40px}.process-list>article{display:grid;grid-template-columns:.2fr 1.3fr .8fr;gap:45px;padding:48px 0;border-bottom:1px solid var(--line);scroll-margin-top:120px}.process-list .phase-number{padding-top:9px}.process-list h2{font-size:40px;margin-bottom:15px}.process-list h3{font-size:20px;margin-bottom:15px}.process-list p{color:var(--muted);max-width:500px;margin-bottom:0}.process-output{padding:10px 0 0 30px;border-left:1px solid var(--line)}.process-output small{font-size:10px;letter-spacing:.1em;display:block;margin-bottom:20px}.process-output p{font-size:15px}.approach-principle{padding-top:45px;padding-bottom:80px}.company-profile{padding-top:65px;padding-bottom:75px;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.company-plaque{aspect-ratio:1.2;background:linear-gradient(130deg,#353737,#1e2022);color:var(--paper);padding:50px 40px;display:flex;flex-direction:column;justify-content:center;box-shadow:inset 0 0 0 1px #484a4a}.company-plaque>span{font-size:clamp(34px,5.3vw,72px);letter-spacing:.025em;line-height:1.2}.company-plaque>div{font-size:10px;letter-spacing:.12em;margin-top:12px}.company-plaque p{color:var(--bronze);font-size:10px;letter-spacing:.1em;line-height:1.8;margin:48px 0 0}.company-profile h2{font-size:36px}.company-profile p{color:var(--muted)}.company-principles{padding:70px 0 80px}.company-principles .method-grid{grid-template-columns:repeat(4,1fr)}.company-principles .method-grid article{padding-top:20px}.company-principles .method-grid p{color:var(--muted)}.company-leadership{padding-top:65px;padding-bottom:60px}.company-history{padding-top:40px;padding-bottom:70px;border-top:1px solid var(--line)}.company-history h2{font-size:30px;margin-bottom:35px}.company-history>div{display:grid;grid-template-columns:1fr 2fr;gap:30px;border-top:1px solid var(--line);padding:23px 0 0}.company-history time{font-size:14px;color:var(--muted)}.company-history p{font-size:16px;max-width:700px}.faq-list{padding-top:30px;padding-bottom:70px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{padding:25px 0;display:flex;justify-content:space-between;gap:30px;font-size:22px;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:26px;transition:transform .25s;flex:none}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details>p{max-width:800px;padding-right:30px;color:var(--muted);margin-bottom:30px}.journal-empty{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-top:65px;padding-bottom:85px;align-items:center}.journal-object{aspect-ratio:.95;background:var(--stone);border:1px solid var(--line);padding:40px;position:relative;color:var(--graphite);display:flex;flex-direction:column;justify-content:space-between;box-shadow:8px 8px 0 #d8d4cb,9px 9px 0 #bbb8b0}.journal-object>span{font-size:18px;line-height:1.3;letter-spacing:-.02em}.journal-object>div{height:35%;border-top:1px solid #888c87;border-bottom:1px solid #888c87;position:relative}.journal-object>div:after{content:'';display:block;position:absolute;inset:25% 0;border-top:1px solid #888c87;border-bottom:1px solid #888c87}.journal-object small{font-size:9px;letter-spacing:.07em}.journal-empty>div+div p{color:var(--muted)}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;padding-top:60px;padding-bottom:65px}.support-grid h2{font-size:29px}.support-grid p{font-size:16px;color:var(--muted)}
.intake-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;padding-top:65px;padding-bottom:90px}.intake-context h2{font-size:33px}.intake-context p{color:var(--muted)}.intake-context>a{border-bottom:1px solid;font-size:18px}.fine{font-size:12px!important;line-height:1.65;color:var(--muted);margin-top:28px}.intake-panel{min-width:0}.intake-form{padding:30px;background:var(--stone);border:1px solid var(--line)}.intake-fields{border:0;padding:0;margin:0;min-width:0}.intake-fields:disabled{opacity:.5}.intake-fields label:not(.consent){display:block;font-size:14px;margin-bottom:8px}.intake-fields label>span{color:var(--muted)}.intake-fields input:not([type=checkbox]),.intake-fields select,.intake-fields textarea{display:block;width:100%;border:1px solid #a9aaa2;border-radius:0;background:var(--paper);padding:12px 13px;font-size:16px;color:var(--ink);min-height:48px}.intake-fields textarea{resize:vertical;min-height:145px;max-width:100%}.intake-fields select{margin-bottom:24px}.intake-fields input{margin-bottom:5px}.field-error{font-size:12px;min-height:18px;color:var(--error);margin:0 0 14px}.consent{display:flex;gap:11px;align-items:flex-start;font-size:12px;line-height:1.6;margin:24px 0 5px}.consent input{width:18px;height:18px;flex:none;accent-color:var(--ink);margin:2px 0 0}.consent a{text-decoration:underline}.consent-error{margin-bottom:18px}.intake-fields .button{width:100%}.form-unavailable{font-size:13px;border-bottom:1px solid #b8b8af;padding-bottom:12px;margin-bottom:23px}.form-unavailable strong{font-weight:500}.form-unavailable p{margin-top:8px;margin-bottom:12px}.form-unavailable a{text-decoration:underline}.form-feedback{font-size:14px;min-height:24px;margin:20px 0 0}.form-feedback.error{color:var(--error)}.form-feedback.success{color:#324b37}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.legal-layout{display:grid;grid-template-columns:.6fr 1.4fr;gap:80px;padding-top:55px;padding-bottom:80px}.legal-layout aside{font-size:12px;color:var(--muted);line-height:1.9}.legal-copy{max-width:780px}.legal-copy section{border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:30px}.legal-copy h2{font-size:26px;margin-bottom:18px}.legal-copy p{font-size:16px;line-height:1.8;color:var(--ink-soft)}.legal-copy a{border-bottom:1px solid}.studio-list{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:55px;padding-bottom:75px}.studio-list article{padding-top:30px;border-top:1px solid var(--ink)}.studio-list h2{font-size:34px}.studio-list p{color:var(--muted);max-width:500px}.demo-wrapper{padding-top:40px;padding-bottom:70px}.demo-disclosure{font-size:12px;color:var(--muted);margin:25px 0}.demo-wrapper [data-studio]{--studio-forest:#333b3c;--studio-ink:#1f2425}.demo-wrapper [data-studio] h1{font-size:clamp(37px,5vw,65px);max-width:100%}
.site-footer{background:#101214;color:var(--paper);padding:65px var(--space) 25px;display:grid;grid-template-columns:1fr 1.35fr;gap:65px}.footer-intro .wordmark{margin-bottom:27px}.footer-intro p{font-size:13px;color:#aeb0ad;line-height:1.7}.footer-email{font-size:14px;display:inline-flex;gap:30px;min-height:35px;align-items:center;border-bottom:1px solid #767975}.footer-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.footer-nav h2{font-size:11px;color:#a4a7a3;letter-spacing:.06em;margin:0 0 23px}.footer-nav a{display:block;font-size:13px;line-height:1.5;padding:5px 0;min-height:32px}.footer-nav a:hover{text-decoration:underline;text-underline-offset:5px}.footer-bottom{grid-column:1/-1;border-top:1px solid #343638;padding-top:22px;display:flex;justify-content:space-between;gap:25px;font-size:10px;color:#9da09c;align-items:center}.motion-control{font-size:10px;min-height:30px;text-decoration:underline;text-underline-offset:4px;padding:0}.dark-page .footer-bottom{margin-top:0}
.motion-reduced *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(min-width:1600px){.home-copy{width:72%}}
@media(max-width:1150px){.desktop-nav{gap:17px;font-size:12px}.wordmark{min-width:165px}.wordmark>span{font-size:26px}.wordmark small{font-size:7.8px}.site-header{gap:20px}.desktop-nav .nav-contact{gap:10px;padding:9px 12px}.home-hero{min-height:690px}.home-copy{width:79%}.home-copy>p{max-width:390px}.overview-grid{gap:45px}.company-intro,.company-profile,.journal-empty,.intake-section{gap:55px}.two-column,.product-detail,.service-detail{gap:50px}.product-caption{display:block}.product-caption .status{padding-bottom:14px}.foundation-row{grid-template-columns:1fr 1.8fr}.foundation-row>.status{grid-column:2;justify-self:start}.site-footer{grid-template-columns:.9fr 1.3fr;gap:40px}.footer-nav{gap:20px}.hero-email{font-size:15px}.method-grid{gap:20px}.method-grid h3{font-size:21px}}
@media(max-width:950px){.desktop-nav{display:none}.menu-open:not([hidden]){display:block}.nojs-menu{display:block}.nojs-menu[open]{position:absolute;top:28px;right:var(--space);background:var(--paper);color:var(--ink);padding:10px 20px;border:1px solid var(--line)}.nojs-menu nav{display:grid;min-width:230px}.nojs-menu summary{min-height:35px}.nojs-menu a{font-size:15px}.site-header{height:88px}.home-hero{height:auto;min-height:700px}.home-copy{width:90%;padding-top:30px}.home-copy h1{font-size:clamp(50px,6.8vw,72px)}.hero-baseline{font-size:10px}.hero-baseline span{max-width:60%}.hero-baseline a span{margin-left:12px}.method-grid{grid-template-columns:1fr 1fr;gap:35px}.phase-number{margin-bottom:25px}.company-principles .method-grid{grid-template-columns:1fr 1fr}.hero-bottom{display:block}.hero-bottom>p{max-width:680px}.hero-bottom>.button,.hero-bottom>.status,.hero-bottom>.hero-email{margin-top:28px;display:inline-flex}.process-list>article{grid-template-columns:35px 1.2fr .8fr;gap:25px}.product-feature{gap:40px}.product-facts p{font-size:16px}.company-profile{gap:40px}.company-profile h2{font-size:29px}.company-plaque{padding:30px}.company-plaque p{margin-top:30px}.support-grid{gap:30px}.support-grid h2{font-size:24px}.legal-layout{grid-template-columns:.6fr 1.4fr;gap:40px}.site-footer{grid-template-columns:1fr;gap:40px}.footer-nav{max-width:750px}.footer-bottom{margin-top:5px}.page-hero{padding-top:58px}.intake-section{grid-template-columns:.8fr 1.2fr;gap:35px}.intake-form{padding:22px}.intake-context h2{font-size:28px}.intake-context>a{font-size:15px}.journal-empty{gap:50px}}
@media(max-width:680px){:root{--space:24px;scroll-padding-top:95px}.site-header{height:82px}.site-header.scrolled{height:72px}.wordmark{min-width:160px}.wordmark>span{font-size:25px}.wordmark small{font-size:7.4px}.home-hero{min-height:810px;display:block;padding-top:44px;padding-bottom:65px}.home-copy{width:100%;padding:0}.home-copy .eyebrow{font-size:9px;letter-spacing:.09em;margin-bottom:27px}.home-copy h1{font-size:clamp(39px,8.9vw,59px);line-height:1.1;letter-spacing:-.05em;margin-bottom:24px}.home-copy>p{font-size:17px;max-width:330px;margin-top:0}.hero-actions{gap:10px;margin-top:25px;flex-wrap:wrap}.hero-actions .button{padding:13px 16px;gap:18px;font-size:12px;min-height:49px}.home-location{margin-top:26px;font-size:10px}.hero-baseline{bottom:21px;padding-top:17px;gap:15px;font-size:9px}.hero-baseline>span{max-width:62%}.hero-baseline a{white-space:nowrap}.hero-baseline a span{margin-left:7px}.section-top{margin-bottom:30px}.section-top p:last-child{font-size:12px;max-width:170px}.eyebrow{font-size:10px;margin-bottom:23px}.overview{padding:44px 0 50px}.overview-grid{grid-template-columns:1fr;gap:44px}.overview-item{padding-top:20px}.overview-item>span{margin-bottom:25px}.overview-item h2{font-size:38px}.overview-item p{font-size:16px;max-width:420px;margin-bottom:22px}.portfolio{padding-top:50px;padding-bottom:50px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:34px}.section-heading>.text-link{margin-top:20px;font-size:13px;gap:30px}.product-grid{grid-template-columns:1fr;gap:45px}.product-visual{aspect-ratio:1.4;padding:32px}.product-name{font-size:65px}.product-visual>span{font-size:8px;left:22px;bottom:20px;letter-spacing:.1em}.product-caption{display:flex;padding-top:20px}.product-caption :is(h2,h3){font-size:25px}.product-caption p{font-size:12px;max-width:220px}.product-caption .status{font-size:9px;padding-top:4px}.product-card>.text-link{font-size:12px}.section-note{font-size:11px;margin-top:28px}.method-section{padding:48px 0 55px}.method-grid{gap:28px 25px}.method-grid article{padding-top:18px}.method-grid h3{font-size:21px}.method-grid p{font-size:14px}.method-grid small{font-size:12px}.phase-number{font-size:11px;margin-bottom:25px}.company-intro{grid-template-columns:1fr;gap:20px;padding-top:50px;padding-bottom:50px}.company-intro h2{font-size:34px}.company-intro>div+div{padding-top:0}.company-intro p{font-size:16px;max-width:440px}.early-band{padding:45px 0 50px}.early-band>.container{display:block}.early-band h2{font-size:43px}.early-band p{font-size:15px}.early-band .button{margin-top:25px}.page-hero{padding-top:47px;padding-bottom:35px}.page-hero h1{font-size:clamp(40px,8.6vw,58px);margin-bottom:25px;line-height:1.08;overflow-wrap:break-word}.hero-bottom>p{font-size:17px}.hero-bottom>.status{font-size:11px}.hero-bottom>.button{margin-top:25px}.hero-email{font-size:16px;white-space:normal;overflow-wrap:anywhere}.contact-band{display:block;padding-top:40px;padding-bottom:50px}.contact-band h2{font-size:31px}.contact-band p{font-size:16px}.contact-band>.button{margin-top:25px}.status-explainer{display:block;padding-top:40px;margin-top:0}.status-explainer h2{font-size:26px}.status-explainer p{font-size:15px}.foundation-row{display:block;padding-top:35px}.foundation-row h2{font-size:35px}.foundation-row>div+div{margin-top:20px}.foundation-row .status{margin-top:20px}.product-feature{grid-template-columns:1fr;gap:30px;padding-top:30px;padding-bottom:40px}.product-feature .product-visual{aspect-ratio:1.25}.product-feature .product-name{font-size:70px}.product-facts{max-width:none}.product-facts p{font-size:17px}.product-detail,.service-detail{grid-template-columns:1fr;gap:25px;padding-top:40px;padding-bottom:40px}.product-detail h2,.service-detail h2{font-size:34px}.feature-list article{padding-top:20px}.feature-list h3{font-size:23px}.feature-list p{font-size:16px}.release-note{padding-top:35px;padding-bottom:45px}.release-note p{font-size:15px}.service-index{padding-top:10px;padding-bottom:40px}.service-index article{display:block;padding:30px 0}.service-index h2{font-size:29px}.service-index p{font-size:16px}.service-index .text-link{margin-top:15px;font-size:13px}.two-column{grid-template-columns:1fr;gap:25px}.service-context,.deliverables{padding:40px 0}.two-column h2{font-size:34px}.two-column p{font-size:16px}.process-list{padding-top:10px;padding-bottom:20px}.process-list>article{grid-template-columns:25px 1fr;gap:15px;padding:35px 0}.process-list .phase-number{padding-top:6px}.process-list h2{font-size:33px}.process-list h3{font-size:19px}.process-list p{font-size:15px}.process-output{grid-column:2;padding:15px 0 0;border-left:0;border-top:1px solid var(--line);margin-top:5px}.process-output small{font-size:9px;margin-bottom:10px}.process-output p{font-size:13px}.approach-principle{padding-top:30px;padding-bottom:45px}.company-profile{grid-template-columns:1fr;gap:35px;padding-top:35px;padding-bottom:45px}.company-plaque{aspect-ratio:1.25;padding:32px}.company-plaque>span{font-size:46px}.company-plaque>div{font-size:8px}.company-plaque p{font-size:9px;margin-top:38px}.company-profile h2{font-size:33px}.company-profile p{font-size:16px}.company-principles{padding:45px 0}.company-principles .method-grid{gap:20px}.company-principles .method-grid h3{font-size:21px}.company-principles .method-grid p{font-size:14px}.company-leadership{padding-top:40px;padding-bottom:40px}.company-history{padding-top:30px;padding-bottom:40px}.company-history>div{grid-template-columns:1fr;gap:10px;padding-top:20px}.company-history time{font-size:12px}.company-history p{font-size:15px}.faq-list{padding-top:10px;padding-bottom:45px}.faq-list summary{font-size:19px;padding:21px 0}.faq-list details>p{font-size:15px;padding-right:5px}.journal-empty{grid-template-columns:1fr;gap:45px;padding-top:35px;padding-bottom:50px}.journal-object{max-width:420px;aspect-ratio:1.05;padding:30px;margin-right:9px}.journal-empty h2{font-size:34px}.journal-empty p{font-size:16px}.support-grid{grid-template-columns:1fr;gap:20px;padding-top:35px;padding-bottom:35px}.support-grid article{border-bottom:1px solid var(--line);padding-bottom:18px}.support-grid h2{font-size:27px}.intake-section{grid-template-columns:1fr;gap:30px;padding-top:35px;padding-bottom:50px}.intake-context h2{font-size:29px}.intake-context p{font-size:16px}.intake-context>a{font-size:18px}.intake-form{padding:22px 18px}.legal-layout{grid-template-columns:1fr;gap:35px;padding-top:30px;padding-bottom:45px}.legal-layout aside{font-size:11px}.legal-copy h2{font-size:25px}.legal-copy p{font-size:15px}.studio-list{grid-template-columns:1fr;gap:35px;padding-top:35px;padding-bottom:45px}.studio-list h2{font-size:30px}.studio-list p{font-size:16px}.site-footer{padding-top:45px;padding-bottom:20px;gap:35px}.footer-intro p{font-size:12px}.footer-nav{grid-template-columns:1fr 1fr;gap:30px 22px}.footer-nav>div:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.footer-nav>div:last-child h2{grid-column:1/-1;margin-bottom:12px}.footer-nav h2{margin-bottom:15px;font-size:10px}.footer-nav a{font-size:12px;min-height:35px}.footer-bottom{display:flex;flex-wrap:wrap;gap:12px 25px;font-size:9px}.footer-bottom>span:first-child{width:100%}.motion-control{font-size:9px}.demo-wrapper{padding-top:25px}.demo-disclosure{font-size:10px}.demo-wrapper [data-studio] h1{font-size:37px}}
@media(max-width:370px){:root{--space:20px}.home-copy h1{font-size:37px}.home-copy .eyebrow{font-size:8px}.home-hero{min-height:830px}.hero-actions .button{font-size:11px;gap:13px;padding:12px}.home-location{font-size:9px}.hero-baseline{font-size:8px}.hero-baseline>span{max-width:57%}.wordmark{min-width:145px}.wordmark>span{font-size:23px}.wordmark small{font-size:6.9px}.menu-open{font-size:12px;padding:8px 11px}.menu-open span{margin-left:8px}.product-caption{display:block}.product-caption .status{font-size:10px}.product-name{font-size:59px}.company-plaque>span{font-size:39px}.method-grid{gap:24px 18px}.method-grid h3{font-size:19px}.method-grid p{font-size:13px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.button,.nav-contact,.product-visual,.company-plaque{border:1px solid CanvasText}.status>span{background:CanvasText}}

@media(min-width:951px){.menu-open{display:none!important}}
.home-copy>.eyebrow{max-width:none}

.home-copy>.eyebrow{font-size:11px;max-width:none;line-height:1.6}
@media(max-width:680px){.home-copy>.eyebrow{font-size:9px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;max-width:380px;gap:10px}.hero-actions .button{font-size:11px;padding:12px;gap:10px;white-space:nowrap}.home-hero{min-height:760px}.home-copy h1{margin-bottom:22px}}
@media(max-width:370px){.home-copy>.eyebrow{font-size:8px}.hero-actions .button{font-size:10px;padding:11px;gap:8px}.home-hero{min-height:755px}}

/* Content and engagement layer. Shared brand tokens and navigation remain in v4. */
.praxis-spotlight{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,125px);padding-top:85px;padding-bottom:85px;align-items:center}
.praxis-spotlight>div>p:not(.eyebrow){max-width:490px;color:var(--silver)}
.praxis-spotlight .fine{color:var(--silver)}
.spotlight-record{display:block;border-top:1px solid #6d716d;border-bottom:1px solid #6d716d;padding:30px 0 12px;transition:border-color .2s}
.spotlight-record:hover{border-color:var(--paper)}
.spotlight-record .eyebrow{color:var(--silver);font-size:10px;letter-spacing:.09em}
.spotlight-record h3{font-size:clamp(30px,3.4vw,48px);line-height:1.14;letter-spacing:-.035em;margin-bottom:36px}
.spotlight-record>div{display:flex;flex-wrap:wrap;gap:10px 25px;font-size:12px;color:var(--silver);margin-bottom:28px}
.spotlight-record>div>span+span::before{content:'↳';margin-right:12px}
.spotlight-record>p:last-child{display:flex;justify-content:space-between;font-size:13px}
.portfolio-list{border-top:1px solid var(--ink)}
.portfolio-entry{display:grid;grid-template-columns:45px minmax(0,1fr) 240px;gap:35px;border-bottom:1px solid var(--line);padding:40px 0;align-items:start}
.portfolio-number{font-size:12px;color:var(--muted);padding-top:5px}
.portfolio-category{font-size:11px!important;text-transform:uppercase;letter-spacing:.075em;color:var(--muted);margin-bottom:15px}
.portfolio-entry h2,.portfolio-entry h3{font-size:clamp(31px,3.3vw,48px);margin-bottom:16px}
.product-title-link{display:inline-flex;gap:25px;align-items:baseline}
.product-title-link>span{font-size:.6em;transition:transform .2s var(--ease)}
.product-title-link:hover>span{transform:translate(2px,-2px)}
.portfolio-entry>div>p:last-child{font-size:17px;max-width:640px;color:var(--muted);margin-bottom:0}
.portfolio-entry-end{display:flex;flex-direction:column;align-items:flex-end;gap:30px;padding-top:5px}
.portfolio-entry-end .status{white-space:normal;text-align:right}
.portfolio-entry-end .text-link{font-size:13px;gap:22px}
.product-thesis{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,8vw,120px);padding-top:65px;padding-bottom:65px;align-items:center}
.product-thesis h2{max-width:650px}
.product-thesis>div>p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:570px}
.product-thesis .button{margin-top:12px}
.product-words{border-top:1px solid var(--ink);padding-top:8px}
.product-words>div{display:flex;gap:25px;align-items:baseline;border-bottom:1px solid var(--line);padding:20px 0}
.product-words>div>span{font-size:11px;color:var(--muted)}
.product-words strong{font-size:clamp(27px,3.3vw,47px);font-weight:400;letter-spacing:-.035em;line-height:1.2}
.product-words>p{font-size:10px!important;letter-spacing:.05em;text-transform:uppercase;margin:20px 0 0}
.product-siblings{display:flex;gap:15px 28px;flex-wrap:wrap;padding-top:25px;padding-bottom:60px;border-top:1px solid var(--line)}
.product-siblings .text-link{font-size:13px;gap:20px}
.engagement-intro{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding-top:55px;padding-bottom:25px}
.engagement-intro>p{color:var(--muted);max-width:610px;padding-top:12px}
.commercial-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:65px 0}
.commercial-section p{max-width:680px}
.customer-responsibilities{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding-top:70px;padding-bottom:45px}
.inquiry-purposes{border:0;border-bottom:1px solid var(--line);padding:0 0 22px;margin:0 0 25px;min-width:0}
.inquiry-purposes legend{font-size:15px;line-height:1.5;padding:0;margin-bottom:15px}
.intake-fields .inquiry-purposes label{display:flex;gap:12px;align-items:center;cursor:pointer;min-height:40px;margin:0!important;font-size:14px}
.intake-fields .inquiry-purposes input[type=radio]{width:17px;height:17px;min-height:0;padding:0;margin:0;flex:none;accent-color:var(--ink)}
.intake-fields .inquiry-purposes label>span{color:var(--ink)}
.intake-fields .inquiry-purposes input:checked+span{text-decoration:underline;text-underline-offset:5px}
.intake-fields label[id]{margin-top:20px}
.field-hint{font-size:12px;line-height:1.6;color:var(--muted);margin:-1px 0 11px}
.intake-fields textarea[name=context]{min-height:100px}
.intake-form{background:transparent;padding:30px;border:1px solid var(--line)}
.intake-email{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;font-size:16px!important;overflow-wrap:anywhere}
.interest-selection{margin:35px 0;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.interest-selection h3{font-size:28px;margin-bottom:14px}
.interest-selection p{font-size:16px}
.interest-selection>span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.intake-fields select{margin-bottom:6px}
.intake-fields [aria-invalid=true]{border-color:var(--error)}
.intake-fields:disabled{opacity:1}
.intake-fields:disabled input,.intake-fields:disabled textarea,.intake-fields:disabled select{opacity:.65}
.intake-fields:disabled button{opacity:.75}
@media(max-width:1150px){.portfolio-entry{grid-template-columns:30px minmax(0,1fr) 200px;gap:25px}.customer-responsibilities{gap:50px}.praxis-spotlight{gap:55px}}
@media(max-width:950px){.portfolio-entry{grid-template-columns:25px minmax(0,1fr);gap:25px}.portfolio-entry-end{grid-column:2;align-items:flex-start;gap:12px;padding:0}.portfolio-entry-end .status{text-align:left}.product-thesis{gap:40px}.product-words strong{font-size:32px}.customer-responsibilities{grid-template-columns:1fr 1.2fr;gap:35px}.engagement-intro{gap:40px}.intake-form{padding:24px}}
@media(max-width:680px){.praxis-spotlight{grid-template-columns:1fr;gap:35px;padding-top:50px;padding-bottom:50px}.praxis-spotlight h2{font-size:35px}.praxis-spotlight>div>p:not(.eyebrow){font-size:16px}.spotlight-record h3{font-size:37px}.spotlight-record .eyebrow{font-size:9px}.portfolio-entry{gap:15px;padding:30px 0;grid-template-columns:22px minmax(0,1fr)}.portfolio-entry h2,.portfolio-entry h3{font-size:32px}.portfolio-category{font-size:9px!important;line-height:1.7;margin-bottom:11px}.portfolio-entry>div>p:last-child{font-size:16px}.portfolio-entry-end{gap:8px}.portfolio-entry-end .text-link{font-size:12px}.portfolio-entry-end .status{font-size:11px}.product-thesis{grid-template-columns:1fr;gap:35px;padding-top:35px;padding-bottom:40px}.product-thesis h2{font-size:36px}.product-thesis>div>p:not(.eyebrow){font-size:15px}.product-words>div{padding:14px 0}.product-words strong{font-size:34px}.product-siblings{padding-top:25px;padding-bottom:40px;gap:12px 22px}.product-siblings .text-link{font-size:12px;gap:16px}.engagement-intro{grid-template-columns:1fr;gap:12px;padding-top:35px;padding-bottom:5px}.engagement-intro h2,.commercial-section h2,.customer-responsibilities h2{font-size:34px}.engagement-intro>p{font-size:16px;padding:0}.commercial-section{padding:45px 0}.customer-responsibilities{grid-template-columns:1fr;gap:20px;padding-top:45px;padding-bottom:30px}.intake-form{padding:24px 18px}.inquiry-purposes legend{font-size:14px}.intake-fields .inquiry-purposes label{font-size:13px;min-height:44px}.intake-email{font-size:15px!important;gap:12px}.interest-selection{margin:25px 0}.interest-selection h3{font-size:27px}}
@media(prefers-reduced-motion:reduce){.product-title-link>span,.spotlight-record{transition:none}}
@media(forced-colors:active){.spotlight-record,.portfolio-entry,.product-words,.product-words>div,.intake-form,.interest-selection{border-color:CanvasText}.intake-fields input[type=radio]{appearance:auto}.intake-fields [aria-invalid=true]{border:2px solid Mark}}

/* Primary task comes first in the document; the independent aside remains secondary. */
.intake-section{grid-template-areas:'context form'}.intake-panel{grid-area:form}.intake-context{grid-area:context}
.product-hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:14px;flex:none}
.product-hero-actions .text-link{font-size:13px}
@media(max-width:950px){.product-hero-actions{align-items:flex-start;margin-top:25px}}
@media(max-width:680px){.intake-section{grid-template-areas:'form' 'context'}.intake-context{border-top:1px solid var(--line);padding-top:30px}.product-hero-actions{gap:10px}.intake-context>.eyebrow{margin-bottom:14px}}

/* Required control boundaries meet 3:1 against the paper field. */
.intake-fields input:not([type=checkbox]):not([type=radio]):not([aria-invalid=true]),.intake-fields select:not([aria-invalid=true]),.intake-fields textarea:not([aria-invalid=true]){border-color:#7f827b}

.intake-fields input[aria-invalid=true],.intake-fields select[aria-invalid=true],.intake-fields textarea[aria-invalid=true]{border-color:var(--error)}

/* Williams refinement layer. Load after v4.css. See docs/website/williams/evidence/v5 for research and regression evidence. */
:root{--header-height:102px}.site-header,.site-header.scrolled{height:var(--header-height);transition:background-color .2s,border-color .2s,box-shadow .2s}.site-header.scrolled{box-shadow:0 1px 0 #ffffff0a}
.desktop-nav .nav-contact{border:0;padding:13px 0;gap:14px}
.desktop-nav .nav-contact:hover{background:transparent}
.menu-open{border:0;padding:10px 0 10px 14px;min-height:44px}
.menu-open>span{display:none}
.menu-open::after{content:'';display:inline-block;width:19px;height:8px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;margin-left:15px;vertical-align:middle}
.early-band{background:var(--paper)}
.text-link,.text-link:hover{gap:38px;transition:color .2s}
.text-link>span,.button>span,.nav-contact>span{transition:transform .2s var(--ease)}
.text-link:hover>span,.text-link:focus-visible>span,.button:hover>span,.button:focus-visible>span,.nav-contact:hover>span{transform:translate(2px,-2px)}
.site-header.entry-ready .wordmark>span{animation:wordmark-arrival .38s var(--ease) both}
@keyframes wordmark-arrival{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}
:root{scrollbar-width:auto;scrollbar-color:#777b76 #f5f3ed}
:root:has(body.dark-page){scrollbar-color:#777b76 #17191b}
@media(max-width:950px){:root{--header-height:88px}}
@media(max-width:680px){:root{--header-height:82px}.text-link,.text-link:hover{gap:30px}}
@media(prefers-reduced-motion:reduce){.site-header.entry-ready .wordmark>span{animation:none}.text-link>span,.button>span,.nav-contact>span{transition:none}}
@media(forced-colors:active){:root{scrollbar-color:auto;scrollbar-width:auto}.site-header.entry-ready .wordmark>span{animation:none}}
/* Hero option A: real portfolio content replaces all decorative slabs. */
.hero-with-portfolio{min-height:720px;height:min(820px,calc(100svh - 102px));padding-bottom:95px}
.hero-with-portfolio .home-copy{width:62%;padding-top:0}
.hero-with-portfolio .home-copy h1{font-size:clamp(48px,4.65vw,72px);max-width:850px;line-height:1.08}
.hero-with-portfolio .home-copy>.eyebrow{margin-bottom:36px}
.hero-portfolio{position:absolute;width:29%;max-width:390px;right:var(--space);top:50%;transform:translateY(-53%);color:var(--paper)}
.hero-portfolio-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:12px}
.hero-portfolio-heading h2{font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.09em;text-transform:uppercase;margin:0}
.hero-portfolio-heading>span{font-size:10px;color:var(--silver)}
.hero-product-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #4b4e4d;padding:15px 0;min-height:73px}
.hero-product-row>span{font-size:25px;line-height:1.15;letter-spacing:-.025em}
.hero-product-row small{display:block;font-size:10px;line-height:1.5;color:var(--silver);letter-spacing:.02em;margin-top:7px}
.hero-product-row>i{font-size:19px;font-style:normal;color:var(--silver);transition:transform .2s var(--ease),color .2s}
.hero-product-row:hover>i,.hero-product-row:focus-visible>i{transform:translate(2px,-2px);color:var(--paper)}
.hero-product-row:hover>span,.hero-product-row:focus-visible>span{color:#fff}
.hero-portfolio-note{font-size:10px;line-height:1.6;color:var(--silver);margin:18px 0 0}
@media(min-width:951px) and (max-width:1150px){.hero-with-portfolio .home-copy{width:60%}.hero-with-portfolio .home-copy h1{font-size:49px;max-width:650px}.hero-with-portfolio .home-copy>p:not(.eyebrow){max-width:390px;font-size:18px}.hero-with-portfolio .hero-actions{gap:12px}.hero-with-portfolio .hero-actions .button{font-size:12px;gap:18px;padding:12px 17px}.hero-portfolio{width:30%;max-width:none}.hero-product-row>span{font-size:23px}.hero-portfolio-heading>span{display:none}}
@media(max-width:950px){.hero-with-portfolio{display:block;height:auto;min-height:0;padding-top:50px;padding-bottom:80px}.hero-with-portfolio .home-copy{width:100%;padding:0}.hero-with-portfolio .home-copy h1{font-size:clamp(44px,6vw,64px);max-width:800px}.hero-portfolio{position:static;width:100%;max-width:none;transform:none;margin-top:45px}.hero-product-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}.hero-product-row:first-child{grid-column:1/-1}.hero-portfolio-heading>span{display:block}.hero-portfolio-note{margin-top:15px}.hero-with-portfolio .home-location{margin-top:28px}.hero-with-portfolio .hero-baseline{bottom:24px}}
@media(max-width:680px){.hero-with-portfolio{padding-top:42px;padding-bottom:80px}.hero-with-portfolio .home-copy h1{font-size:clamp(37px,8.9vw,55px)}.hero-with-portfolio .home-copy>.eyebrow{margin-bottom:26px}.hero-portfolio{margin-top:35px}.hero-portfolio-heading{margin-bottom:10px}.hero-portfolio-heading h2{font-size:10px}.hero-portfolio-heading>span{font-size:9px}.hero-product-list{grid-template-columns:1fr;gap:0}.hero-product-row{min-height:62px;padding:11px 0;gap:16px}.hero-product-row>span{font-size:23px}.hero-product-row small{font-size:10px;margin-top:5px}.hero-product-row>i{font-size:18px}.hero-portfolio-note{font-size:9px}.hero-with-portfolio .home-location{font-size:10px}.hero-with-portfolio .hero-baseline{font-size:8px}}
@media(prefers-reduced-motion:reduce){.hero-product-row>i{transition:none}}
@media(forced-colors:active){.hero-product-row{border-color:CanvasText}}

/* Native dialog remains the interaction owner; this only softens its arrival. */
#site-menu[open]{animation:menu-arrival .18s ease-out both}
@keyframes menu-arrival{from{opacity:.8;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#site-menu[open]{animation:none}}

/* Finite arrival on the already usable page; no loading gate or scroll owner. */
.entry-ready .home-copy h1{animation:headline-arrival .7s var(--ease) both}
.entry-ready .home-copy h1>span{display:inline-block;animation:headline-arrival .7s .08s var(--ease) both}
@keyframes headline-arrival{from{opacity:.72;transform:translateY(8px)}to{opacity:1;transform:none}}
.hero-product-row{transition:background-color .2s,border-color .2s}
.hero-product-row:hover{background:#ffffff06;border-color:var(--silver)}
.text-link{text-decoration:none}
.work-preview{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:80px;padding-bottom:80px}
.work-preview h2,.owned-work h2{font-size:clamp(34px,3.8vw,56px);line-height:1.1;letter-spacing:-.035em}
.work-preview>div>p:not(.eyebrow){max-width:490px}
.owned-work{padding:80px 0}
.work-caption{max-width:280px;font-size:12px;color:var(--muted)}
.work-artifact{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:start;margin:38px 0 28px}
.work-interface{margin:0}
.work-interface img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.work-interface figcaption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:12px}
.work-drawing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin:38px 0 28px}
.work-drawing article{padding:28px 32px 32px 0;position:relative}
.work-drawing article+article{border-left:1px solid var(--line);padding-left:32px}
.work-step{font-size:10px;letter-spacing:.08em}
.work-drawing h3{font-size:clamp(26px,2.3vw,35px);line-height:1.15;margin:45px 0 20px;letter-spacing:-.025em}
.work-drawing p{font-size:15px;max-width:290px;margin:0;line-height:1.6}
.work-artifact .work-drawing{grid-template-columns:1fr;margin:0}
.work-artifact .work-drawing article,.work-artifact .work-drawing article+article{padding:18px 0;border-left:0}
.work-artifact .work-drawing article+article{border-top:1px solid var(--line)}
.work-artifact .work-drawing h3{margin:10px 0;font-size:28px}
.work-artifact .work-drawing p{max-width:none}
.work-explanation{display:grid;grid-template-columns:1fr 1fr;gap:20px 65px}
.work-explanation>p{font-size:16px;margin:0}
.work-explanation details{border-bottom:1px solid var(--line);align-self:start;padding-bottom:18px}
.work-explanation summary{cursor:pointer;min-height:44px;font-size:16px}
.work-explanation details p{font-size:14px;line-height:1.65;margin:14px 0 0}
.work-explanation>.text-link{grid-column:2;font-size:14px;justify-self:start}
.submission-receipt{border-top:2px solid var(--ink);margin-top:30px;padding-top:26px;scroll-margin-top:28px}
.submission-receipt[hidden]{display:none}
.submission-receipt h2{font-size:32px;letter-spacing:-.03em;line-height:1.15;margin:0 0 16px}
.submission-receipt h2:focus{outline:none}
.submission-receipt .receipt-subject{font-size:16px}
.receipt-reference-label{font-size:12px;margin-bottom:6px!important}
.receipt-reference{display:block;font-family:inherit;overflow-wrap:anywhere;user-select:all;font-size:16px;line-height:1.7;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.receipt-next{font-size:15px!important;line-height:1.65;margin-top:20px}
.receipt-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:20px}
.receipt-actions .button{font-size:13px;min-height:44px;padding:12px 18px}
.receipt-actions .text-link{font-size:13px;min-height:44px}
.receipt-copy-status{font-size:13px!important;min-height:1.6em;margin-top:14px}
@media(max-width:950px){.work-preview{gap:40px}.work-drawing article{padding-right:20px}.work-drawing article+article{padding-left:20px}.work-explanation{gap:20px 35px}}
@media(max-width:950px){.work-artifact{gap:30px}}
@media(max-width:680px){.work-artifact{grid-template-columns:1fr;gap:26px;margin:25px 0}}
@media(max-width:680px){.work-preview{grid-template-columns:1fr;gap:20px;padding-top:45px;padding-bottom:45px}.owned-work{padding:45px 0}.work-drawing{grid-template-columns:1fr;margin:25px 0}.work-drawing article,.work-drawing article+article{padding:22px 0;border-left:0}.work-drawing article+article{border-top:1px solid var(--line)}.work-drawing h3{margin:15px 0 12px;font-size:29px}.work-drawing p{max-width:none}.work-explanation{grid-template-columns:1fr;gap:22px}.work-explanation>.text-link{grid-column:auto}.work-caption{max-width:none}.submission-receipt h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){.entry-ready .home-copy h1,.entry-ready .home-copy h1>span{animation:none}.hero-product-row{transition:none}}
@media(forced-colors:active){.entry-ready .home-copy h1,.entry-ready .home-copy h1>span{animation:none}.submission-receipt,.receipt-reference,.work-drawing,.work-drawing article{border-color:CanvasText}}

/* v7 candidate — "the work keeps its context". One motif (the context mark and the thread) carries
   from the hero baseline through the ledger, evidence captions, service context and the receipt. */
:root{--bronze-text:#75582b;--thread:var(--bronze)}
.context-mark{display:inline-block;width:.6rem;height:.6rem;border:1px solid var(--thread);border-radius:50%;margin-right:.6rem;vertical-align:.05em;box-shadow:inset 0 0 0 2px var(--paper),inset 0 0 0 4px var(--thread)}
.dark-page .work-preview .context-mark{box-shadow:inset 0 0 0 2px var(--ink),inset 0 0 0 4px var(--thread)}
.hero-baseline span{letter-spacing:.04em}
/* Signature ledger */
.context-ledger{background:var(--paper);color:var(--ink);padding:clamp(4rem,8vw,7.5rem) 0}
.ledger-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.5rem 5rem;align-items:end;margin-bottom:clamp(3rem,6vw,5.5rem)}
.ledger-head .eyebrow{grid-column:1/-1;margin:0}
.ledger-head h2{font-size:clamp(2.4rem,4.4vw,4.25rem);line-height:1.04;letter-spacing:-.04em;margin:0}
.ledger-head p:not(.eyebrow){font-size:1.125rem;max-width:30rem;margin:0}
.ledger-stations{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));position:relative}
.ledger-stations::before{content:'';position:absolute;left:0;right:0;top:.45rem;height:1px;background:var(--ink);transform-origin:left center}
.ledger-stations li{position:relative;padding:2.4rem 1.6rem 0 0}
.ledger-node{position:absolute;top:0;left:0;width:.95rem;height:.95rem;border-radius:50%;background:var(--paper);border:1px solid var(--ink)}
.ledger-stations li:first-child .ledger-node,.ledger-stations li:last-child .ledger-node{background:var(--ink)}
.ledger-index{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ledger-stations h3{font-size:clamp(1.25rem,1.55vw,1.5rem);line-height:1.2;letter-spacing:-.02em;margin:1.1rem 0 .8rem;min-height:3.6em}
.ledger-stations p{font-size:.9375rem;line-height:1.6;margin:0}
.ledger-kept{margin-top:1.4rem!important;padding-top:.9rem;border-top:1px solid var(--line);font-weight:500}
.ledger-kept span{display:block;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze-text);font-weight:500;margin-bottom:.3rem}
.ledger-note{margin:clamp(2.5rem,5vw,4rem) 0 0;font-size:.9375rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.5rem 2rem;align-items:center}
.ledger-note .text-link{color:var(--ink)}
@media(prefers-reduced-motion:no-preference){@supports(animation-timeline:view()){
 html:not(.motion-reduced) .ledger-stations::before{animation:thread-draw linear both;animation-timeline:view();animation-range:entry 15% cover 40%}
}}
@keyframes thread-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1150px){.ledger-stations{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:3.2rem}.ledger-stations::before{display:none}.ledger-stations li{border-top:1px solid var(--ink)}.ledger-node{top:-.5rem}.ledger-stations h3{min-height:0}}
@media(max-width:680px){
 .ledger-head{grid-template-columns:1fr;gap:1.2rem}
 .ledger-stations{grid-template-columns:1fr;row-gap:0;padding-left:1.9rem}
 .ledger-stations::before{display:block;left:.45rem;right:auto;top:.5rem;bottom:.5rem;width:1px;height:auto;transform-origin:center top}
 .ledger-stations li{border-top:0;padding:0 0 2.4rem}
 .ledger-node{left:-1.9rem;top:.15rem}
 .ledger-stations h3{margin:.6rem 0 .6rem}
 @media(prefers-reduced-motion:no-preference){@supports(animation-timeline:view()){html:not(.motion-reduced) .ledger-stations::before{animation-name:thread-draw-y;animation-range:entry 0% cover 60%}}}
}
@keyframes thread-draw-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}
/* Evidence immediately after the promise */
.evidence-first{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center}
.evidence-first p:not(.eyebrow){max-width:28rem;font-size:1.0625rem}
.evidence-figure{margin:0}
.evidence-figure img{display:block;width:100%;height:auto;border:1px solid var(--dark-line)}
.evidence-figure figcaption{font-size:.8125rem;line-height:1.6;color:var(--silver);margin-top:.9rem}
@media(max-width:680px){.evidence-first{grid-template-columns:1fr}}
/* Contact: service context and the next human step */
.service-note{border:1px solid var(--ink);border-left-width:3px;padding:1rem 1.2rem;margin:1.6rem 0 .4rem}
.service-note[hidden]{display:none}
.service-note p{margin:0}
#service-context-title{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bronze-text);font-weight:500}
.service-context-line{font-size:1.125rem;margin:.45rem 0 .2rem!important}
.service-context-line strong{font-weight:500}
.service-note .field-hint{margin:.2rem 0 .4rem}
.service-note [data-clear-service]{background:none;border:0;padding:.6rem 0;min-height:44px;font-size:.875rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.next-steps{list-style:none;margin:2rem 0;padding:0;border-top:1px solid var(--ink)}
.next-steps li{padding:1rem 0;border-bottom:1px solid var(--line)}
.next-steps span{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--bronze-text)}
.next-steps p{font-size:.9375rem;line-height:1.6;margin:.35rem 0 0}
/* Company commitments */
.company-commitments{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem 5rem;padding-top:clamp(4rem,7vw,6.5rem);padding-bottom:clamp(4rem,7vw,6.5rem)}
.company-commitments h2{font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.08;letter-spacing:-.035em}
.commitment-list{list-style:none;margin:0;padding:0;counter-reset:c}
.commitment-list li{counter-increment:c;padding:1.3rem 0 1.3rem 3rem;border-top:1px solid var(--line);position:relative}
.commitment-list li::before{content:'0' counter(c);position:absolute;left:0;top:1.5rem;font-size:.75rem;letter-spacing:.08em;color:var(--bronze-text)}
.commitment-list h3{font-size:1.375rem;margin:0 0 .4rem;letter-spacing:-.02em}
.commitment-list p{margin:0;font-size:1rem}
@media(max-width:850px){.company-commitments{grid-template-columns:1fr;gap:2rem}}
/* Mobile reading comfort: no supporting label below 12px; compact portfolio so evidence arrives sooner. */
@media(max-width:680px){
 .hero-with-portfolio .home-copy>.eyebrow,.home-location,.home-location span,.hero-portfolio-heading h2,.hero-portfolio-heading>span,.hero-product-row small,.hero-portfolio-note,.hero-baseline,.hero-baseline span,.hero-baseline a{font-size:.75rem!important;line-height:1.55}
 .hero-product-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 1rem!important}
 .hero-product-row:first-child{grid-column:1/-1}
 .hero-product-row>span{font-size:1.2rem!important}
 .hero-product-row{min-height:56px!important}
 .hero-baseline span{display:none}
 .hero-with-portfolio .hero-actions{grid-template-columns:1fr!important}
 .hero-with-portfolio .hero-actions .button{white-space:normal;justify-content:space-between}
 .hero-with-portfolio .hero-actions .button{font-size:.8125rem!important}
}
@media(forced-colors:active){.context-mark,.ledger-node,.service-note,.ledger-stations::before{border-color:CanvasText;background:Canvas}.ledger-stations::before{background:CanvasText}}
@media print{.ledger-stations::before{animation:none!important;transform:none!important}}
/* Services proof: the same thread, read as problem → constraints → decision → result. */
.case-thread{list-style:none;margin:2.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative}
.case-thread::before{content:'';position:absolute;left:0;right:0;top:.45rem;height:1px;background:var(--ink)}
.case-thread li{position:relative;padding:2.1rem 1.6rem 0 0}
.case-thread li::before{content:'';position:absolute;top:0;left:0;width:.95rem;height:.95rem;border-radius:50%;background:var(--paper);border:1px solid var(--ink)}
.case-thread li:last-child::before{background:var(--ink)}
.case-thread span{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--bronze-text)}
.case-thread p{font-size:.9375rem;line-height:1.6;margin:.6rem 0 0}
@media(max-width:950px){.case-thread{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2rem}.case-thread::before{display:none}.case-thread li{border-top:1px solid var(--ink)}.case-thread li::before{top:-.5rem}}
@media(max-width:680px){.case-thread{grid-template-columns:1fr;row-gap:0;padding-left:1.9rem}.case-thread::before{display:block;left:.45rem;right:auto;top:.5rem;bottom:.5rem;width:1px;height:auto}.case-thread li{border-top:0;padding:0 0 1.8rem}.case-thread li::before{left:-1.9rem;top:.15rem}}
@media(forced-colors:active){.case-thread::before{background:CanvasText}.case-thread li::before{border-color:CanvasText;background:Canvas}}
.recovery-routes{padding-bottom:clamp(4rem,8vw,7rem)}.recovery-routes .case-thread{margin-top:0}
/* Desktop reading comfort: hero supporting labels at 12px minimum as well. */
@media(min-width:681px){.hero-with-portfolio .home-copy>.eyebrow,.home-location,.home-location span,.hero-portfolio-heading h2,.hero-portfolio-heading>span,.hero-product-row small,.hero-portfolio-note,.hero-baseline,.hero-baseline span,.hero-baseline a{font-size:.75rem}}

/* Williams v9 — dark editorial institution. Loads after canonical v4/v5/refinements (which still style the
   intake form and legacy pages); redefines their colour variables so every route shares one dark system.
   Units: rem for type/space, px only for hairlines. Motion tokens and rules: see MOTION.md. */
@font-face{font-family:'Hanken V';src:url('./fonts/hanken-grotesk-latin-wght-normal.woff2') format('woff2');font-weight:100 900;font-display:swap}
/* Canonical rules name the static 'Hanken' faces; point them at the same variable file so one font download serves the site. */
@font-face{font-family:Hanken;src:url('./fonts/hanken-grotesk-latin-wght-normal.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{
 --bg:#07090c;--bg-2:#0c1015;--surface:#10151c;--surface-2:#151b23;--text:#eceff3;--text-2:#b9c0cb;--muted:#8d96a3;
 --line:rgba(214,224,238,.12);--line-strong:rgba(214,224,238,.24);--champagne:#d9b98a;--champagne-2:#e8cfa6;--blue:#7ea2dc;--silver:#d6dce6;
 --sans:'Hanken V',Hanken,Arial,sans-serif;
 --wrap:min(100% - 2*var(--gutter),94rem);--gutter:clamp(1rem,4.5vw,4.5rem);--header:4.25rem;
 --ease-out:cubic-bezier(.16,1,.3,1);--ease-inout:cubic-bezier(.65,0,.35,1);--dur-1:.18s;--dur-2:.45s;--dur-3:.9s;--dur-4:1.3s;
 /* Canonical variables re-pointed so legacy pages and the intake form inherit the dark system. */
 --paper:var(--bg-2);--ink:var(--text);--graphite:var(--surface);--stone:var(--surface);--silver-legacy:var(--muted);--muted-legacy:var(--muted);--bronze:var(--champagne);--focus:var(--champagne);--dark-line:var(--line);--error:#ff9b8f;--ink-soft:var(--text-2);--font:var(--sans);
 color-scheme:dark}
html{background:var(--bg)}
body.w{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}
body.w{--line:rgba(214,224,238,.12);--silver:var(--muted);--bronze-text:var(--champagne)}
.w ::selection{background:var(--champagne);color:var(--bg)}
.w .visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.w a:focus-visible,.w button:focus-visible,.w input:focus-visible,.w textarea:focus-visible,.w select:focus-visible,.w summary:focus-visible{outline:2px solid var(--champagne);outline-offset:3px}
.atmosphere{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;filter:blur(.6px);opacity:.95}
body.w::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(60rem 40rem at 78% 18%,rgba(126,162,220,.07),transparent 60%),radial-gradient(50rem 36rem at 12% 88%,rgba(217,185,138,.06),transparent 60%)}
.w .site-header,.w main,.w .site-footer,.w .skip{position:relative;z-index:1}
.w .skip{position:fixed;z-index:60}
.w-wrap{width:var(--wrap);margin-inline:auto}

/* Type */
.w-label{font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-2);margin:0 0 1.25rem}
.w-display{font-family:var(--sans);font-weight:600;letter-spacing:-.04em}
.w-fine{font-size:.8125rem;line-height:1.55;color:var(--muted)}
.w h1,.w h2,.w h3{color:var(--text)}

/* Buttons and links */
.w-btn{display:inline-flex;align-items:center;gap:.9rem;min-height:3rem;padding:.7rem 1.35rem;border-radius:999px;background:var(--text);color:var(--bg);font-size:.9375rem;font-weight:600;border:1px solid var(--text);transition:background var(--dur-1),color var(--dur-1),border-color var(--dur-1),transform var(--dur-2) var(--ease-out)}
.w-btn i{font-style:normal;transition:transform var(--dur-2) var(--ease-out)}
.w-btn:hover{background:var(--champagne-2);border-color:var(--champagne-2)}
.w-btn:hover i,.w-btn:focus-visible i{transform:translateX(.3rem)}
.w-btn:active{transform:scale(.98)}
.w-btn-ghost{background:transparent;color:var(--text);border-color:var(--line-strong)}
.w-btn-ghost:hover{background:rgba(236,239,243,.06);border-color:var(--text);color:var(--text)}
.w-link,.w .text-link{color:var(--text);border-bottom:1px solid var(--line-strong);padding-bottom:.15rem;transition:border-color var(--dur-1)}
.w-link:hover,.w .text-link:hover{border-color:var(--champagne)}
.w-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}
.w-arrow{font-style:normal;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid var(--line-strong);transition:transform var(--dur-2) var(--ease-out),background var(--dur-1),color var(--dur-1),border-color var(--dur-1)}

/* Header */
.w .site-header.w-header,.w .site-header.w-header.scrolled{height:var(--header);display:flex;align-items:center;gap:2rem;padding:0 var(--gutter);background:linear-gradient(to bottom,rgba(7,9,12,.92),rgba(7,9,12,.72));backdrop-filter:blur(14px);border-bottom:1px solid transparent;color:var(--text);box-shadow:none;position:sticky;top:0;z-index:50;transition:border-color var(--dur-2)}
.w-header.is-scrolled{border-bottom-color:var(--line)!important}
.w-wordmark{font-weight:650;letter-spacing:.2em;font-size:1rem;color:var(--text);margin-right:auto}
.w .w-nav{display:flex;align-items:center;gap:clamp(1.25rem,2.6vw,2.5rem)}
.w .w-nav a{font-size:.875rem;color:var(--text-2);padding:.4rem 0;position:relative;transition:color var(--dur-1)}
.w .w-nav a:hover,.w .w-nav a[aria-current="page"]{color:var(--text)}
.w .w-nav a[aria-current="page"]::after{content:'';position:absolute;left:0;right:0;bottom:-.1rem;height:1px;background:var(--champagne)}
.w-contact{display:inline-flex;align-items:center;gap:.5rem;background:var(--text);color:var(--bg);font-size:.875rem;font-weight:600;padding:.5rem 1rem;border-radius:999px;transition:background var(--dur-1)}
.w-contact:hover{background:var(--champagne-2)}
.w-contact i{font-style:normal}
.w .menu-open.w-menu{color:var(--text);font-size:.875rem}
.w-menu-panel#site-menu{background:rgba(7,9,12,.98);color:var(--text)}
.w-menu-panel nav a{font-family:var(--sans);font-weight:600;letter-spacing:-.03em;font-size:clamp(2rem,9vw,3rem)!important;border-color:var(--line)!important}

/* 01 Hero */
.w-hero{min-height:calc(100svh - var(--header));display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,8vh,6rem) 0 clamp(4rem,10vh,7rem);position:relative}
.w-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3rem;align-items:center}
.w-hero h1{margin:0 0 1.75rem;max-width:none;font-weight:inherit}
.w-hero-a{display:block;font-family:var(--sans);font-weight:600;font-size:clamp(2.6rem,5.7vw,6.6rem);line-height:.95;letter-spacing:-.045em}
.w-hero-b{display:block;font-family:var(--sans);font-weight:300;font-size:clamp(2.4rem,5.4vw,6.2rem);line-height:1;letter-spacing:-.045em;color:var(--champagne-2);margin-top:.2em}
.w-hero-lede{font-size:clamp(1.0625rem,1.3vw,1.25rem);color:var(--text-2);max-width:34rem;margin:0 0 2.25rem}
.w-hero-index{list-style:none;margin:0;padding:0 0 0 1.5rem;border-left:1px solid var(--line-strong);display:grid;gap:1.2rem}
.w-hero-index a{display:flex;gap:1rem;font-size:.875rem;color:var(--text-2);transition:color var(--dur-1)}
.w-hero-index a span{color:var(--muted);font-variant-numeric:tabular-nums}
.w-hero-index a:hover{color:var(--text)}
.w-hero-index li:first-child a{color:var(--text)}
.w-scroll{position:absolute;left:var(--gutter);bottom:2rem;display:flex;align-items:center;gap:.75rem;margin:0;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.w-scroll span{width:1px;height:2.25rem;background:linear-gradient(var(--text),transparent);transform-origin:top}
@media(prefers-reduced-motion:no-preference){
 html:not(.motion-reduced) .w-hero-copy>*{animation:w-rise var(--dur-4) var(--ease-out) both}
 /* The headline moves but never starts invisible, so it paints (and counts as the main content) at once. */
 html:not(.motion-reduced) .w-hero-copy>h1{animation-name:w-rise-solid}
 html:not(.motion-reduced) .w-hero-copy>:nth-child(2){animation-delay:.12s}
 html:not(.motion-reduced) .w-hero-copy>:nth-child(3){animation-delay:.3s}
 html:not(.motion-reduced) .w-hero-copy>:nth-child(4){animation-delay:.42s}
 html:not(.motion-reduced) .w-hero-index li{animation:w-fade var(--dur-3) var(--ease-out) both}
 html:not(.motion-reduced) .w-hero-index li:nth-child(1){animation-delay:.6s}html:not(.motion-reduced) .w-hero-index li:nth-child(2){animation-delay:.7s}html:not(.motion-reduced) .w-hero-index li:nth-child(3){animation-delay:.8s}html:not(.motion-reduced) .w-hero-index li:nth-child(4){animation-delay:.9s}
 html:not(.motion-reduced) .w-scroll span{animation:w-scroll 2.4s var(--ease-inout) 1.6s infinite}
 html:not(.motion-reduced) .atmosphere{animation:w-fade 2.2s var(--ease-out) both}
}
@keyframes w-rise{from{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:none}}
@keyframes w-rise-solid{from{transform:translateY(1.25rem)}to{transform:none}}
@keyframes w-fade{from{opacity:0}to{opacity:1}}
@keyframes w-scroll{0%{transform:scaleY(0)}45%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* Section scaffolding + entrance */
.w-section{padding:clamp(5rem,11vw,9.5rem) 0}
.w-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1rem 4rem;align-items:end;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.w-head .w-label{grid-column:1/-1;margin:0}
.w-head h2{font-size:clamp(2.75rem,5.6vw,5.5rem);line-height:1;margin:0}
.w-head p:not(.w-label){margin:0;color:var(--text-2);max-width:31rem}
@media(prefers-reduced-motion:no-preference){html:not(.motion-reduced) .will-enter:not(.is-in){opacity:0;transform:translateY(1.5rem)}html:not(.motion-reduced) .will-enter{transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out)}}

/* 02 Problem → solution */
.w-connect{padding:clamp(4.5rem,9vw,8rem) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(7,9,12,.55),rgba(7,9,12,.2) 50%,rgba(7,9,12,.55))}
.w-connect-grid{display:grid;grid-template-columns:minmax(0,1fr) 11rem minmax(0,1fr);align-items:stretch}
.w-connect-side{padding:0 clamp(0rem,3vw,3rem)}
.w-connect-side h2{font-size:clamp(2.4rem,4.4vw,4.4rem);line-height:1;margin:0 0 1rem}
.w-connect-side>p:not(.w-label){color:var(--text-2);max-width:26rem;margin:0 0 2rem}
.w-connect-problem{padding-left:0}
.w-field{width:100%;height:auto;display:block;overflow:visible}
.w-field line{stroke:var(--blue);stroke-width:1.4;stroke-linecap:round;transition:stroke .4s}
.w-field rect{fill:rgba(16,21,28,.9);stroke:var(--line-strong)}
.w-field text{fill:var(--text);font:500 16px var(--sans)}
.is-connected .w-field line{stroke:var(--champagne)}
.is-connected .w-field rect{stroke:rgba(217,185,138,.55)}
.w-connect-control{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem}
.w-connect-control::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(transparent,var(--line-strong) 20%,var(--line-strong) 80%,transparent)}
.w-connect-toggle{position:relative;width:3.5rem;height:3.5rem;border-radius:50%;border:1px solid var(--line-strong);background:radial-gradient(circle,rgba(126,162,220,.35),rgba(16,21,28,.95) 70%);color:var(--text);font-size:1.15rem;box-shadow:0 0 2rem rgba(126,162,220,.25);transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2)}
.w-connect-toggle i{font-style:normal;display:inline-block;transition:transform var(--dur-3) var(--ease-out)}
.w-connect-toggle:hover{transform:scale(1.06);box-shadow:0 0 2.6rem rgba(217,185,138,.35)}
.w-connect-toggle[aria-pressed="true"] i{transform:rotate(180deg)}
.w-connect-control input[type=range]{position:relative;writing-mode:horizontal-tb;width:10rem;accent-color:var(--champagne);transform:rotate(0)}
.w-connect-ends{position:relative;display:flex;justify-content:space-between;gap:.75rem;width:10rem;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.w-connect-result{padding-right:0}
.w-connect-result h2{opacity:calc(.35 + .65*var(--connect,0))}
.w-outcomes{list-style:none;margin:0;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:rgba(12,16,21,.7);backdrop-filter:blur(6px);display:grid;gap:.25rem;max-width:26rem}
.w-outcomes li{display:flex;align-items:center;gap:.85rem;padding:.75rem .5rem;border-radius:.6rem;color:var(--muted);transition:color var(--dur-2),background var(--dur-2)}
.w-outcome-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.55rem;border:1px solid var(--line-strong);flex:none;color:var(--muted);transition:border-color var(--dur-2),background var(--dur-2),color var(--dur-2)}
.w-outcome-icon svg{width:1rem;height:1rem}
.w-outcomes li.is-reached .w-outcome-icon{color:var(--champagne)}
.w-check{margin-left:auto;width:1.1rem;height:.6rem;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg) scale(.4);opacity:0;transition:opacity var(--dur-2),transform var(--dur-2) var(--ease-out)}
.w-outcomes li.is-reached{color:var(--text);background:rgba(126,162,220,.06)}
.w-outcomes li.is-reached .w-outcome-icon{border-color:var(--champagne);background:rgba(217,185,138,.12)}
.w-outcomes li.is-reached .w-check{opacity:1;transform:rotate(-45deg) scale(1);color:var(--champagne)}
.w-demo-note{margin:2.5rem 0 0;text-align:center;font-size:.8125rem;color:var(--muted)}

/* 03 Capabilities */
.w-cap-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.w-cap{display:flex;flex-direction:column;height:100%;border:1px solid var(--line);border-radius:1rem;background:rgba(12,16,21,.72);overflow:hidden;position:relative;transition:border-color var(--dur-2),transform var(--dur-3) var(--ease-out)}
.w-cap-art{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#05070a}
.w-ribbon{display:block;width:100%;height:100%}
.w-ribbon-lines{transform-origin:50% 50%;transition:transform 1.2s var(--ease-out),opacity var(--dur-3)}
.w-cap-n{position:absolute;top:1rem;left:1rem;font-size:.75rem;color:var(--text-2)}
.w-cap-body{display:grid;gap:.5rem;padding:1.25rem 4.5rem 1.4rem 1.25rem}
.w-cap-body strong{font-weight:600;font-size:1.125rem}
.w-cap-body span{font-size:.9375rem;color:var(--muted);line-height:1.5}
.w-cap .w-arrow,.w-work .w-arrow{position:absolute;right:1.1rem;bottom:1.25rem}
.w-cap:hover,.w-cap:focus-visible,.w-work:hover,.w-work:focus-visible{border-color:var(--line-strong);transform:translateY(-.25rem)}
.w-cap:hover .w-ribbon-lines,.w-cap:focus-visible .w-ribbon-lines,.w-work:hover .w-ribbon-lines,.w-work:focus-visible .w-ribbon-lines{transform:translateY(-4%) scale(1.06) rotate(-1.5deg)}
.w-cap:hover .w-arrow,.w-cap:focus-visible .w-arrow,.w-work:hover .w-arrow,.w-work:focus-visible .w-arrow{background:var(--text);color:var(--bg);border-color:var(--text);transform:rotate(-45deg)}

/* 04 Process */
.w-process-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4rem;align-items:start}
.w-process-head{position:sticky;top:calc(var(--header) + 3rem)}
.w-process-head h2{font-size:clamp(2.75rem,5.4vw,5.25rem);line-height:1;margin:0 0 1.5rem}
.w-process-head p:not(.w-label){color:var(--text-2);max-width:26rem;margin:0 0 2rem}
.w-steps{list-style:none;margin:0;padding:0;position:relative}
.w-steps::before,.w-steps::after{content:'';position:absolute;left:1.35rem;top:1.5rem;bottom:1.5rem;width:1px;background:var(--line-strong)}
.w-steps::after{background:var(--champagne);transform-origin:top;transform:scaleY(var(--fill,0));transition:transform var(--dur-3) var(--ease-out)}
.w-steps li{display:grid;grid-template-columns:2.7rem 1fr;gap:1.5rem;padding:1.5rem 0 clamp(2.5rem,6vh,4.5rem)}
.w-step-n{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:50%;border:1px solid var(--line-strong);background:var(--bg);font-size:.8125rem;color:var(--muted);position:relative;z-index:1;transition:border-color var(--dur-2),color var(--dur-2),background var(--dur-2),box-shadow var(--dur-2)}
.w-steps h3{font-size:1.5rem;font-weight:550;letter-spacing:-.02em;margin:.4rem 0 .5rem;color:var(--muted);transition:color var(--dur-2)}
.w-steps p{margin:0;color:var(--muted);max-width:30rem;transition:color var(--dur-2)}
.w-steps li.is-visited .w-step-n{border-color:var(--champagne);color:var(--champagne)}
.w-steps li.is-visited h3{color:var(--text-2)}
.w-steps li.is-active .w-step-n{background:var(--champagne);border-color:var(--champagne);color:var(--bg);box-shadow:0 0 1.5rem rgba(217,185,138,.35)}
.w-steps li.is-active h3{color:var(--text)}
.w-steps li.is-active p{color:var(--text-2)}

/* 05 Work */
.w-work-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:3rem;align-items:center}
.w-head-col h2{font-size:clamp(2.75rem,5.2vw,5rem);line-height:1;margin:0 0 1.25rem}
.w-head-col p:not(.w-label){color:var(--text-2);margin:0 0 2rem}
.w-work-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.w-work{position:relative;display:flex;flex-direction:column;gap:.5rem;height:100%;padding:0 0 4.5rem;border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:rgba(12,16,21,.75);transition:border-color var(--dur-2),transform var(--dur-3) var(--ease-out)}
.w-work-art{display:block;aspect-ratio:3/3.4;background:#05070a;margin-bottom:.75rem}
.w-work-kind{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--champagne);padding:0 1.1rem}
.w-work strong{font-weight:600;font-size:1.125rem;padding:0 1.1rem}
.w-work-desc{font-size:.875rem;color:var(--muted);padding:0 1.1rem;line-height:1.5}
.w-tags{display:flex;flex-wrap:wrap;gap:.35rem;padding:.5rem 1.1rem 0}
.w-tags span{font-size:.6875rem;border:1px solid var(--line-strong);border-radius:999px;padding:.15rem .55rem;color:var(--text-2)}
.w-work-grid-big .w-work-art{aspect-ratio:4/3}

/* 06 Systems */
.w-systems-band{position:relative}
.w-system-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-bottom:1.25rem}
.w-system-tabs button{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:1rem 1.1rem 1.05rem;border:1px solid var(--line);border-radius:.9rem;background:rgba(12,16,21,.7);color:var(--text);text-align:left;overflow:hidden;transition:border-color var(--dur-2),transform var(--dur-3) var(--ease-out),background var(--dur-2)}
.w-tab-mark{display:block;width:1.75rem;height:3px;border-radius:999px;background:var(--acc,var(--champagne));opacity:.55;margin-bottom:.5rem;transition:width var(--dur-3) var(--ease-out),opacity var(--dur-2)}
.w-tab-name{font-weight:600}
.w-tab-stage{font-size:.75rem;color:var(--muted)}
.w-system-tabs button:hover{border-color:var(--line-strong);transform:translateY(-.15rem)}
.w-system-tabs button[aria-selected="true"]{border-color:var(--acc,var(--champagne));background:rgba(217,185,138,.06)}
.w-system-tabs button[aria-selected="true"] .w-tab-mark{width:100%;opacity:1}
.w-system-panel{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);border:1px solid var(--line);border-radius:1.25rem;overflow:hidden;background:rgba(10,13,18,.82)}
.w-system-panel[hidden]{display:none}
.w-system-visual{position:relative;display:flex;flex-direction:column;gap:1.25rem;justify-content:center;padding:clamp(1rem,2.5vw,2rem);background:radial-gradient(40rem 26rem at 30% 20%,color-mix(in srgb,var(--acc,#d9b98a) 14%,transparent),transparent 70%),#04060a}
.w-system-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem}
.w-system-badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;padding:.35rem .75rem;border:1px solid var(--line-strong);border-radius:999px;background:rgba(7,9,12,.7)}
.w-system-badge i{width:.45rem;height:.45rem;border-radius:50%;background:var(--acc,var(--champagne))}
.w-system-cat{margin:0;font-size:.8125rem;color:var(--text-2)}
.w-system-info{padding:clamp(1.5rem,3.5vw,3rem)}
.w-system-info h2,.w-system-info h3{font-size:clamp(2.4rem,4vw,3.6rem);margin:0;line-height:1}
.w-system-head{font-family:var(--sans);font-weight:400;font-size:1.25rem;letter-spacing:-.01em;color:var(--champagne-2);margin:.5rem 0 1.5rem}
.w-system-info dl{margin:0 0 1.75rem;display:grid;gap:1rem}
.w-system-info dt{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}
.w-system-info dd{margin:0;color:var(--text-2);font-size:.9375rem;line-height:1.55}
.w-system-info dd ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.w-system-info dd strong{color:var(--text);font-weight:600}
@media(prefers-reduced-motion:no-preference){html:not(.motion-reduced) .w-system-panel:not([hidden]){animation:w-panel var(--dur-3) var(--ease-out) both}}
@keyframes w-panel{from{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:none}}

/* 06b Interface concepts — product screens in HTML, em-sized inside a container so they scale cleanly */
#panel-foundation-v2,#tab-foundation-v2{--acc:#d9b98a}#panel-praxis,#tab-praxis{--acc:#8fb0ea}#panel-wealth-os,#tab-wealth-os{--acc:#e3c27f}#panel-health,#tab-health{--acc:#8fd1c2}#panel-agency,#tab-agency{--acc:#e8a990}
.w-ui{container-type:inline-size;width:100%}
.ui-app{font-size:clamp(9px,2.05cqi,14.5px);line-height:1.45;color:#dfe4ea;border:1px solid rgba(214,224,238,.18);border-radius:.9em;background:linear-gradient(180deg,#121821,#0c1118);box-shadow:0 2.5em 5em -2.5em rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.02) inset;overflow:hidden}
.ui-bar{display:flex;align-items:center;gap:.9em;padding:.65em .9em;border-bottom:1px solid rgba(214,224,238,.1);background:rgba(7,9,12,.55)}
.ui-bar b{font-weight:600;font-size:.95em}
.ui-dots{display:flex;gap:.35em}.ui-dots i{width:.6em;height:.6em;border-radius:50%;background:#262d37}
.ui-concept{margin-left:auto;font-size:.72em;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);border:1px solid color-mix(in srgb,var(--acc) 45%,transparent);border-radius:999px;padding:.2em .7em;white-space:nowrap}
.ui-body{display:grid;grid-template-columns:8.5em 1fr;min-height:24em}
.ui-nav{display:flex;flex-direction:column;gap:.15em;padding:.9em .6em;border-right:1px solid rgba(214,224,238,.08);background:rgba(7,9,12,.35)}
.ui-nav span{padding:.45em .65em;border-radius:.5em;color:#9ba5b2;font-size:.92em}
.ui-nav span.on{background:color-mix(in srgb,var(--acc) 14%,transparent);color:#f1f4f7}
.ui-main{padding:1em 1.1em;display:grid;gap:.8em;align-content:start;min-width:0}
.ui-main small{display:block;font-size:.72em;letter-spacing:.1em;text-transform:uppercase;color:#a3acb8;margin-bottom:.45em}
.ui-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1em}
.ui-head h4,.ui-detail h4{margin:0;font-size:1.3em;font-weight:600;letter-spacing:-.02em;color:#f4f6f8}
.ui-big{font-size:2em!important;font-variant-numeric:tabular-nums}
.ui-card{border:1px solid rgba(214,224,238,.1);border-radius:.7em;background:rgba(255,255,255,.025);padding:.75em .85em;min-width:0}
.ui-card p{margin:0;color:#c7ced7}
.ui-row{display:flex;justify-content:space-between;align-items:center;gap:1em;padding:.4em 0;border-top:1px solid rgba(214,224,238,.07);font-size:.92em}
.ui-row:first-of-type{border-top:0}
.ui-row span:first-child{color:#a3acb8}
.ui-row span:last-child{color:#eef1f4;text-align:right}
.ui-row.hl span:last-child,.ui-row.ok span:last-child{color:var(--acc)}
.ui-chip{display:inline-block;font-size:.76em;padding:.25em .7em;border-radius:999px;border:1px solid rgba(214,224,238,.2);color:#d4dae2;white-space:nowrap}
.ui-chip.ui-on{background:color-mix(in srgb,var(--acc) 18%,transparent);border-color:color-mix(in srgb,var(--acc) 55%,transparent);color:#f4f6f8}
.ui-chip.ui-warn{border-color:#d9a65f;color:#f0c98c}
.ui-chip.ui-ok{border-color:#7fc8a3;color:#a9e2c4}
.ui-cols{display:grid;grid-template-columns:1fr 1fr;gap:.7em}
.ui-cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:.6em}
.ui-cols3 b{display:block;font-size:1.25em;font-weight:600;color:#f4f6f8;font-variant-numeric:tabular-nums}
.ui-cols3 span{font-size:.8em;color:#a3acb8}
.ui-ok{border-color:color-mix(in srgb,var(--acc) 45%,transparent)}
.ui-steps{list-style:none;margin:.2em 0 0;padding:0;display:grid;gap:.35em;counter-reset:s}
.ui-steps li{display:flex;align-items:center;gap:.6em;color:#8f99a6;font-size:.92em}
.ui-steps li::before{content:'';width:.75em;height:.75em;border-radius:50%;border:1px solid #4a5361;flex:none}
.ui-steps li.done{color:#dfe4ea}.ui-steps li.done::before{background:var(--acc);border-color:var(--acc)}
.ui-steps li.now{color:#f4f6f8}.ui-steps li.now::before{border-color:var(--acc);box-shadow:0 0 0 .2em color-mix(in srgb,var(--acc) 25%,transparent)}
.ui-split{display:grid;grid-template-columns:.95fr 1.05fr;gap:.8em;min-width:0}
.ui-list p{margin:0 0 .4em;padding:.55em .65em;border-radius:.55em;border:1px solid rgba(214,224,238,.08);display:grid}
.ui-list p.on{border-color:color-mix(in srgb,var(--acc) 55%,transparent);background:color-mix(in srgb,var(--acc) 9%,transparent)}
.ui-list b{font-weight:600;font-size:.92em;color:#eef1f4}.ui-list span{font-size:.8em;color:#a3acb8}
.ui-detail{display:grid;gap:.6em;align-content:start;min-width:0}
.ui-quote p{font-style:italic;color:#e4e8ed}
.ui-actions{display:flex;flex-wrap:wrap;gap:.4em}
.ui-stack{display:block;width:100%;height:.7em;border-radius:999px;overflow:hidden;background:#1b222c}
.ui-stack .s1{fill:#5b6573}.ui-stack .s2{fill:#8b7b5c}.ui-stack .s3{fill:var(--acc)}
.ui-seg{display:flex;border:1px solid rgba(214,224,238,.15);border-radius:999px;padding:.15em;gap:.1em}
.ui-seg span{font-size:.76em;padding:.25em .65em;border-radius:999px;color:#a3acb8}
.ui-seg span.on{background:color-mix(in srgb,var(--acc) 22%,transparent);color:#f4f6f8}
.ui-model{margin:0;border:1px solid rgba(214,224,238,.1);border-radius:.7em;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--acc) 12%,transparent),transparent 70%);padding:.6em;display:grid}
.ui-model svg{width:100%;height:auto}
.ui-model .m1{fill:none;stroke:color-mix(in srgb,var(--acc) 55%,transparent);stroke-width:1.2;stroke-dasharray:3 3}
.ui-model .m2{fill:color-mix(in srgb,var(--acc) 16%,transparent);stroke:var(--acc);stroke-width:1}
.ui-model .m3{fill:var(--acc)}.ui-model .m4{stroke:#dfe4ea;stroke-width:1;fill:none}
.ui-model figcaption{font-size:.76em;color:#a3acb8;text-align:center}
.ui-fine{font-size:.76em;color:#a3acb8;margin:0}
.ui-learn{border-color:color-mix(in srgb,var(--acc) 40%,transparent)}
.ui-learn i{color:var(--acc);font-style:normal}
@container (max-width:30rem){.ui-app{font-size:11px}.ui-bar{flex-wrap:wrap;row-gap:.5em}.ui-concept{margin-left:0;order:3;white-space:normal}.ui-body{grid-template-columns:1fr}.ui-nav{display:none}.ui-cols,.ui-split,.ui-cols3{grid-template-columns:1fr}}
@media(prefers-reduced-motion:no-preference){html:not(.motion-reduced) .w-system-panel:not([hidden]) .ui-app{animation:w-rise var(--dur-3) var(--ease-out) .08s both}}

/* 07 Preview — the real Praxis concept inside a product window */
.w-window{border:1px solid var(--line-strong);border-radius:1.25rem;overflow:hidden;background:rgba(9,12,16,.92);box-shadow:0 3rem 6rem -3rem rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.02) inset}
.w-window-bar{display:flex;align-items:center;gap:1rem;padding:.8rem 1.1rem;border-bottom:1px solid var(--line);font-size:.75rem;letter-spacing:.06em;color:var(--muted)}
.w-window-bar span:first-child{display:flex;gap:.35rem}
.w-window-bar i{width:.6rem;height:.6rem;border-radius:50%;background:var(--surface-2);border:1px solid var(--line-strong)}
.w-window .praxis-experience{max-width:none;padding:clamp(1.5rem,3vw,3rem)}
/* The Praxis concept was authored with --ink = dark ground, --paper = light text; restore that meaning locally. */
.w .praxis-experience{--ink:#0b0f14;--paper:#eceff3;background:#0b0f14;color:#eceff3}
.w .praxis-experience :is(.thought-sheet,.source-sheet,.return-sheet){--muted:#565e69;--silver:#565e69}
/* The sandbox demonstrations were authored for a light page: give each its own light application canvas. */
.w #requests,.w #reconcile{--ink:#17191b;--paper:#f5f3ed;--stone:#e7e4dd;--muted:#5a5c58;--silver:#5a5c58;--line:#d2d0c9;--dark-line:#3c3e40;--bronze-text:#74572a;background:#f5f3ed;color:#17191b;border-radius:1.25rem;padding:clamp(1rem,3vw,2.25rem);margin-top:1.5rem}
.w #requests :is(h1,h2,h3),.w #reconcile :is(h1,h2,h3){color:inherit}
.w .praxis-experience h2,.w .praxis-experience h3{color:inherit}

/* 08 Contact */
.w-contact-band .w-wrap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.w-contact-head h1,.w-contact-head h2{font-size:clamp(2.75rem,5.2vw,5rem);line-height:1;margin:0 0 1.25rem;max-width:none}
.w-contact-head>p:not(.w-label){color:var(--text-2);margin:0 0 2.5rem;max-width:26rem}
.w-trust{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem;max-width:26rem}
.w-trust li{display:grid;grid-template-columns:2.25rem 1fr;column-gap:.85rem;font-size:.875rem;color:var(--muted);line-height:1.5}
.w-trust span{grid-row:span 2;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid var(--line-strong);color:var(--champagne)}
.w-trust strong{color:var(--text);font-weight:600}
.w-contact-form{border:1px solid var(--line);border-radius:1.25rem;background:rgba(12,16,21,.82);backdrop-filter:blur(8px);padding:clamp(1.25rem,3vw,2.5rem)}
.w .w-contact-form .intake-section{display:flex;flex-direction:column;gap:2rem;padding:0;margin:0;max-width:none}
.w .w-contact-form .intake-context>.eyebrow,.w .w-contact-form .intake-context>h2,.w .w-contact-form .intake-context>h2+p{display:none}
.w .intake-panel{padding:0;border:0;background:transparent}
/* What-happens-next sits above the form: the form grows when its script enables it, and nothing visible should move. */
.w .w-contact-form .intake-context{order:-1;border-bottom:1px solid var(--line);padding-bottom:1.5rem}
.w .intake-context h2{font-family:var(--sans);font-weight:600;letter-spacing:-.03em;font-size:1.6rem}
.w .intake-form label,.w .intake-form legend{color:var(--text)}
.w .intake-form input:not([type=radio]):not([type=checkbox]),.w .intake-form textarea,.w .intake-form select{background:rgba(7,9,12,.7);color:var(--text);border:1px solid var(--line-strong);border-radius:.6rem;transition:border-color var(--dur-1),box-shadow var(--dur-1)}
.w .intake-form input:not([type=radio]):not([type=checkbox]):focus,.w .intake-form textarea:focus,.w .intake-form select:focus{border-color:var(--champagne);box-shadow:0 0 0 3px rgba(217,185,138,.18);outline:none}
.w .intake-form [aria-invalid="true"]{border-color:var(--error)!important}
.w .field-hint,.w .fine{color:var(--muted)}
.w .field-error{color:var(--error)}
.w .inquiry-purposes{display:flex;flex-wrap:wrap;gap:.4rem;border:0;padding:0}
.w .inquiry-purposes legend{width:100%;margin-bottom:.6rem}
.w .inquiry-purposes label{display:inline-flex;align-items:center;margin:0;cursor:pointer}
.w .inquiry-purposes input{position:absolute;opacity:0;width:1px;height:1px}
.w .inquiry-purposes span{display:inline-block;padding:.45rem .9rem;border:1px solid var(--line-strong);border-radius:999px;font-size:.8125rem;color:var(--text-2);transition:background var(--dur-1),color var(--dur-1),border-color var(--dur-1);text-decoration:none!important}
.w .inquiry-purposes input:checked+span{background:var(--text);color:var(--bg);border-color:var(--text)}
.w .inquiry-purposes input:focus-visible+span{outline:2px solid var(--champagne);outline-offset:2px}
.w .intake-form button[type=submit]{border-radius:999px;background:var(--text);color:var(--bg);border-color:var(--text);font-weight:600}
.w .intake-form button[type=submit]:hover{background:var(--champagne-2)}
.w .service-note{border-color:var(--champagne);border-radius:.75rem;background:rgba(217,185,138,.05)}
.w #service-context-title,.w .next-steps span{color:var(--champagne)}
.w .submission-receipt{border-top-color:var(--champagne)}
.w .form-feedback.success{color:#a8e0b8}.w .form-feedback.error{color:var(--error)}

/* Page heads, services, cards */
.w-pagehead{padding:clamp(4.5rem,11vw,9rem) 0 clamp(3rem,6vw,5rem);border-bottom:1px solid var(--line)}
.w-pagehead h1{font-size:clamp(2.2rem,7.6vw,7.5rem);line-height:.95;margin:0 0 2.5rem;max-width:none;hyphens:auto;overflow-wrap:break-word}
.w-pagehead-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem 3rem}
.w-pagehead-foot p{max-width:38rem;font-size:clamp(1.0625rem,1.3vw,1.25rem);color:var(--text-2);margin:0}
.w-service-row{display:grid;grid-template-columns:auto minmax(0,1.1fr) minmax(0,.9fr);gap:1.5rem 3rem;padding:clamp(2.5rem,5vw,4rem) 0;border-bottom:1px solid var(--line)}
.w-service-row h2{font-size:clamp(2rem,3.8vw,3.4rem);line-height:1;margin:0 0 1rem}
.w-service-row p{color:var(--text-2);max-width:32rem}
.w-spec h3{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:0 0 .6rem}
.w-spec ul{list-style:none;margin:0 0 1.5rem;padding:0;border-top:1px solid var(--line)}
.w-spec li{padding:.65rem 0;border-bottom:1px solid var(--line);font-size:.9375rem;color:var(--text-2)}
.w-spec p{color:var(--text-2);font-size:.9375rem}
.w-q{display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,1fr);gap:1rem 3rem;margin-bottom:clamp(2.5rem,5vw,4rem)}
.w-q h2{font-size:clamp(2.2rem,4.6vw,4.4rem);line-height:1;margin:0}
.w-cards3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.w-cards3 li{border:1px solid var(--line);border-radius:1rem;padding:1.5rem;background:rgba(12,16,21,.72)}
.w-cards3 h3{font-size:1.25rem;font-weight:600;margin:1.25rem 0 .5rem}
.w-cards3 p{color:var(--text-2);font-size:.9375rem;margin:0}
.w-spec-wide{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:clamp(2.5rem,5vw,4rem)}

/* Footer */
.w-footer.site-footer{display:block;background:linear-gradient(to bottom,transparent,rgba(5,7,10,.9) 18%);color:var(--text);padding:clamp(4rem,8vw,7rem) 0 5.5rem;border-top:1px solid var(--line)}
.w-footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:2.5rem;border-bottom:1px solid var(--line)}
.w-footer-mark{margin:0;font-weight:650;letter-spacing:.2em;font-size:1.1rem}
.w-footer-line{margin:0;font-weight:300;font-size:1.35rem;letter-spacing:-.02em;color:var(--champagne-2)}
.w-footer-est{margin:0;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.w-footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:2rem;padding:3rem 0}
.w-footer-updates{border:1px solid var(--line);border-radius:1rem;padding:1.5rem;background:rgba(12,16,21,.6)}
.w-footer-updates .w-display{font-size:1.75rem;line-height:1.1;margin:0 0 1.25rem}
.w-footer-updates .w-fine{margin:.85rem 0 0}
.w-footer-grid nav h2{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:0 0 1rem}
.w-footer-grid nav a{display:block;padding:.3rem 0;font-size:.9375rem;color:var(--text-2);transition:color var(--dur-1)}
.w-footer-grid nav a:hover{color:var(--text)}
.w-footer-bottom{display:flex!important;flex-wrap:wrap;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:1.5rem;font-size:.8125rem;color:var(--muted)}
.w-release{font-size:.75rem}
.w .motion-control{color:var(--text-2)}

/* Legacy pages inside the system */
.w-legacy main{padding-bottom:2rem}
.w-legacy .page-hero h1{font-family:var(--sans);font-weight:600;letter-spacing:-.04em}
.w-legacy .light-section,.w .owned-work.light-section{background:rgba(12,16,21,.78)}
.w-legacy .button,.w .owned-work .button{border-radius:999px;background:var(--text);color:var(--bg);border-color:var(--text)}
.w-legacy .eyebrow,.w .owned-work .eyebrow{color:var(--text-2);letter-spacing:.16em}
.w .owned-work{position:relative}
.w .company-profile{grid-template-columns:minmax(0,46rem)}

/* 02 Hub + single payoff */
.w-hub rect{fill:rgba(16,21,28,.92);stroke:var(--line-strong)}
.w-hub{opacity:calc(.28 + .72*var(--connect,0))}
.w-field .w-hub-a{font:600 19px var(--sans);letter-spacing:-.02em;fill:var(--text)}
.w-field .w-hub-b{font:400 13px var(--sans);fill:var(--text-2)}
.is-connected .w-hub rect{stroke:var(--champagne);fill:#1a1814}
.w-payoff li{font-size:1rem}

/* 02b Outcome agreement */
.w-outcome-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.w-outcome-head h2{font-size:clamp(2.6rem,5vw,4.75rem);line-height:1;margin:0 0 1.25rem}
.w-outcome-head>p:not(.w-label){color:var(--text-2);max-width:31rem;margin:0 0 2rem}
.w-oa-pick{display:flex;flex-wrap:wrap;gap:.5rem;border:0;padding:0;margin:0}
.w-oa-pick label{cursor:pointer}
.w-oa-pick input{position:absolute;opacity:0;width:1px;height:1px}
.w-oa-pick span{display:inline-block;padding:.55rem 1rem;border:1px solid var(--line-strong);border-radius:999px;font-size:.875rem;color:var(--text-2);transition:background var(--dur-1),color var(--dur-1),border-color var(--dur-1)}
.w-oa-pick input:checked+span{background:var(--text);color:var(--bg);border-color:var(--text)}
.w-oa-pick input:focus-visible+span{outline:2px solid var(--champagne);outline-offset:3px}
.w-oa-doc{display:none;border:1px solid var(--line-strong);border-radius:1.25rem;background:linear-gradient(160deg,rgba(21,27,35,.96),rgba(10,13,18,.96));padding:clamp(1.25rem,3vw,2.25rem);box-shadow:0 3rem 6rem -3rem rgba(0,0,0,.8)}
.w-outcome:has(#oa-finance:checked) [data-oa="finance"],.w-outcome:has(#oa-approvals:checked) [data-oa="approvals"],.w-outcome:has(#oa-records:checked) [data-oa="records"]{display:block}
.w-outcome:not(:has(.w-oa-pick input:checked)) [data-oa="finance"]{display:block}
.w-oa-doc header{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);padding-bottom:1rem;border-bottom:1px solid var(--line)}
.w-oa-sample{color:var(--champagne)}
.w-oa-doc h3{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:600;letter-spacing:-.03em;margin:1.25rem 0 1.25rem;line-height:1.1}
.w-oa-doc dl{margin:0;display:grid}
.w-oa-doc dl>div{display:grid;grid-template-columns:9.5rem 1fr;gap:1rem;padding:.75rem 0;border-top:1px solid var(--line)}
.w-oa-doc dt{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:.15rem}
.w-oa-doc dd{margin:0;color:var(--text-2);font-size:.9375rem}
.w-oa-nums dd{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}
.w-oa-nums b{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:600;letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums}
.w-oa-nums i{font-style:normal;color:var(--muted)}
.w-oa-nums .w-oa-to{color:var(--champagne-2)}
.w-oa-meter{display:grid;gap:.4rem;margin:1rem 0 1.25rem}
.w-oa-bars{display:block;width:100%;height:1.2rem;overflow:visible}
.w-oa-bars .w-oa-b{fill:rgba(214,224,238,.22)}
.w-oa-bars .w-oa-t{fill:var(--champagne)}
.w-oa-bars rect{transform-box:fill-box;transform-origin:left center}
.w-oa-meter small{display:flex;align-items:center;gap:.45rem;margin-top:.35rem;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.w-oa-meter small i{width:.9rem;height:.3rem;border-radius:999px;background:rgba(214,224,238,.22)}
.w-oa-meter small .w-oa-kt{margin-left:.75rem;background:var(--champagne)}
.w-oa-doc footer{font-size:.8125rem;color:var(--text-2);padding-top:1rem;border-top:1px solid var(--line)}
.w-oa>.w-fine{margin:1rem 0 0}
@media(prefers-reduced-motion:no-preference){html:not(.motion-reduced) .w-oa-doc{animation:w-panel var(--dur-3) var(--ease-out) both}html:not(.motion-reduced) .w-oa-bars rect{animation:w-grow 1.1s var(--ease-out) both}html:not(.motion-reduced) .w-oa-bars .w-oa-t{animation-delay:.25s}}
@keyframes w-grow{from{transform:scaleX(0)}}

/* 04b Platform */
.w-layers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:1.25rem;overflow:hidden;background:rgba(10,13,18,.78)}
.w-layers li{padding:clamp(1.5rem,3vw,2.5rem);border-left:1px solid var(--line);position:relative}
.w-layers li:first-child{border-left:0}
.w-layers li::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--champagne),transparent);opacity:.55}
.w-layer-n{font-size:.75rem;color:var(--champagne);letter-spacing:.14em}
.w-layers h3{font-size:clamp(1.35rem,2vw,1.75rem);font-weight:600;letter-spacing:-.03em;line-height:1.15;margin:1rem 0 .75rem}
.w-layers p{margin:0;color:var(--text-2);font-size:.9375rem}
.w-platform-cta{margin-top:2rem}

/* Trust page */
.w-trust-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.w-trust-block{border:1px solid var(--line);border-radius:1.25rem;background:rgba(12,16,21,.78);padding:clamp(1.5rem,3vw,2.5rem)}
.w-trust-block h2{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:600;letter-spacing:-.03em;margin:0 0 1.25rem}
.w-trust-block dl{margin:0;display:grid}
.w-trust-block dl>div{padding:.9rem 0;border-top:1px solid var(--line)}
.w-trust-block dt{font-weight:600;color:var(--text);margin-bottom:.25rem}
.w-trust-block dd{margin:0;color:var(--text-2);font-size:.9375rem}
.w-trust-contact{grid-column:1/-1}
.w-trust-contact p{margin:0;color:var(--text-2)}

/* Live-rendered confirmation (replaces the receipt screenshot) */
.w-receipt{border:1px solid var(--line-strong);border-top:2px solid var(--champagne);border-radius:1rem;background:rgba(12,16,21,.92);padding:clamp(1.25rem,3vw,2rem)}
.w-receipt .w-label{margin-bottom:.75rem}
.w-receipt-h{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:600;letter-spacing:-.03em;margin:0 0 1.25rem;color:var(--text)}
.w-receipt-l{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .35rem}
.w-receipt code{display:inline-block;font-size:clamp(1rem,2vw,1.25rem);letter-spacing:.04em;color:var(--champagne-2);padding:.5rem .75rem;border:1px solid var(--line);border-radius:.5rem;background:rgba(7,9,12,.6);max-width:100%;overflow-wrap:anywhere}
.w-receipt-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.25rem 0}
.w-receipt-actions span{font-size:.8125rem;padding:.45rem .9rem;border:1px solid var(--line-strong);border-radius:999px;color:var(--text-2)}
.w .work-interface:has(.w-receipt){background:none;border:0;padding:0}

/* Custom select (product updates) */
.w .intake-form select{appearance:none;-webkit-appearance:none;padding-right:2.75rem;background-image:linear-gradient(45deg,transparent 50%,var(--text-2) 50%),linear-gradient(135deg,var(--text-2) 50%,transparent 50%);background-position:calc(100% - 1.35rem) 55%,calc(100% - 1rem) 55%;background-size:.35rem .35rem,.35rem .35rem;background-repeat:no-repeat;cursor:pointer;min-height:3rem}
.w .intake-form select option{background:var(--bg-2);color:var(--text)}

@media(max-width:900px){.w-outcome-grid,.w-trust-page{grid-template-columns:1fr}.w-layers{grid-template-columns:1fr}.w-layers li{border-left:0;border-top:1px solid var(--line)}.w-layers li:first-child{border-top:0}}
@media(max-width:560px){.w-oa-doc dl>div{grid-template-columns:1fr;gap:.25rem}}

/* 07b Ask Williams — the homepage conversation, inline (no pop-up) */
.w-askband{border-top:1px solid var(--line)}
.w-askband-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.w-askband h2{font-size:clamp(2.6rem,5vw,4.75rem);line-height:1;margin:0 0 1.25rem}
.w-askband-grid>div>p:not(.w-label){color:var(--text-2);max-width:30rem;margin:0}
.w-askband-card{border:1px solid var(--line-strong);border-radius:1.25rem;background:rgba(12,16,21,.88);overflow:hidden}
.w-askband-card noscript p{margin:0;padding:1.5rem;color:var(--text-2)}
.w-askband-log{max-height:min(26rem,55vh);min-height:9rem;overflow-y:auto;padding:1.25rem 1.25rem .5rem;overscroll-behavior:contain}
.w-askband-log ol{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.w-askband-log li{max-width:88%;padding:.75rem .95rem;border-radius:1rem;font-size:.9375rem;line-height:1.5}
.w-askband-log li p{margin:0}
.w-askband-log li a{display:inline-block;margin-top:.5rem;font-size:.875rem}
.w-askband-suggest{display:flex;flex-wrap:wrap;gap:.45rem;padding:.5rem 1.25rem .9rem}
.w-askband-suggest button{font-size:.8125rem;padding:.45rem .85rem;border-radius:999px;border:1px solid var(--line-strong);color:var(--text-2);transition:border-color var(--dur-1),color var(--dur-1)}
.w-askband-suggest button:hover{border-color:var(--champagne);color:var(--text)}
.w-askband-row{display:flex;gap:.6rem;padding:.9rem 1.25rem 1.25rem;border-top:1px solid var(--line)}
.w-askband-row input{flex:1 1 auto;min-width:0;min-height:3rem;padding:.7rem 1.1rem;border-radius:999px;border:1px solid var(--line-strong);background:rgba(7,9,12,.7);color:var(--text);font:inherit;font-size:1rem}
.w-askband-row input:focus{outline:2px solid var(--champagne);outline-offset:2px}
.w-askband-row .w-btn{flex:none}
@media(max-width:900px){.w-askband-grid{grid-template-columns:1fr}.w-askband-log{max-height:60vh}}

/* Ask Williams (preview) */
.w-ask-open{position:fixed;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);z-index:40;display:inline-flex;align-items:center;gap:.55rem;padding:.7rem 1.1rem;border-radius:999px;border:1px solid var(--line-strong);background:rgba(12,16,21,.88);backdrop-filter:blur(10px);color:var(--text);font-size:.875rem;font-weight:600;box-shadow:0 1rem 2.5rem -1rem rgba(0,0,0,.8);transition:border-color var(--dur-1),transform var(--dur-2) var(--ease-out)}
.w-ask-open span{color:var(--champagne)}
.w-ask-open:hover{border-color:var(--champagne);transform:translateY(-.1rem)}
.w-ask-open[hidden]{display:none}
.w-ask-open.is-away{opacity:0;pointer-events:none;transform:translateY(.5rem)}
.w-ask-open{transition:opacity var(--dur-2),transform var(--dur-2) var(--ease-out),border-color var(--dur-1)}
.w-ask{width:min(32rem,calc(100vw - 2rem));max-height:min(40rem,calc(100dvh - 2rem));margin:auto clamp(1rem,3vw,2rem) clamp(1rem,3vw,2rem) auto;padding:0;border:1px solid var(--line-strong);border-radius:1.25rem;background:#0c1118;color:var(--text);box-shadow:0 2rem 5rem -1.5rem rgba(0,0,0,.9)}
.w-ask[open]{display:flex;flex-direction:column}
.w-ask::backdrop{background:rgba(3,5,8,.55);backdrop-filter:blur(2px)}
.w-ask header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--line)}
.w-ask h2{margin:0 0 .35rem;font-size:1.25rem;font-weight:600;letter-spacing:-.02em}
.w-ask-note{margin:0;font-size:.8125rem;color:var(--text-2);line-height:1.5}
.w-ask-note strong{color:var(--champagne)}
.w-ask-close{font-size:.8125rem;color:var(--text-2);border:1px solid var(--line-strong);border-radius:999px;padding:.35rem .8rem;flex:none}
.w-ask-log{padding:1rem 1.25rem;overflow-y:auto;flex:1;min-height:8rem}
.w-ask-log ol{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.w-ask-log li{max-width:88%;padding:.7rem .9rem;border-radius:1rem;font-size:.9375rem;line-height:1.5}
.w-ask-log li p{margin:0}
.w-ask-log li a{display:inline-block;margin-top:.5rem;font-size:.875rem}
.ask-williams{background:rgba(255,255,255,.04);border:1px solid var(--line);border-bottom-left-radius:.3rem}
.ask-you{justify-self:end;background:var(--text);color:var(--bg);border-bottom-right-radius:.3rem}
.w-ask-suggest{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 1.25rem .75rem}
.w-ask-suggest button{font-size:.8125rem;padding:.4rem .8rem;border-radius:999px;border:1px solid var(--line-strong);color:var(--text-2);transition:border-color var(--dur-1),color var(--dur-1)}
.w-ask-suggest button:hover{border-color:var(--champagne);color:var(--text)}
.w-ask-form{display:flex;gap:.5rem;padding:.75rem 1.25rem;border-top:1px solid var(--line)}
.w-ask-form input{flex:1;min-width:0;min-height:2.75rem;padding:.6rem .9rem;border-radius:999px;border:1px solid var(--line-strong);background:rgba(7,9,12,.7);color:var(--text);font:inherit;font-size:1rem}
.w-ask-form input:focus{outline:2px solid var(--champagne);outline-offset:2px}
.w-ask-form button{padding:.6rem 1.1rem;border-radius:999px;background:var(--text);color:var(--bg);font-weight:600;font-size:.875rem}
.w-ask>.w-fine{margin:0;padding:0 1.25rem 1rem}
@media(prefers-reduced-motion:no-preference){html:not(.motion-reduced) .w-ask[open]{animation:w-rise var(--dur-2) var(--ease-out)}}

/* Information pages (Terms, Accessibility, Support) */
.w-doc{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,46rem);gap:clamp(2rem,6vw,6rem);align-items:start}
.w-doc-toc{position:sticky;top:calc(var(--header) + 2rem)}
.w-doc-toc ol{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.15rem;border-left:1px solid var(--line)}
.w-doc-toc a{display:block;padding:.35rem 0 .35rem 1rem;font-size:.875rem;color:var(--text-2);margin-left:-1px;border-left:1px solid transparent;transition:color var(--dur-1),border-color var(--dur-1)}
.w-doc-toc a:hover{color:var(--text);border-color:var(--champagne)}
.w-doc-part{padding:0 0 2.25rem;margin:0 0 2.25rem;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header) + 1.5rem)}
.w-doc-part:last-child{border-bottom:0}
.w-doc-part h2{font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:600;letter-spacing:-.03em;margin:0 0 .9rem}
.w-doc-part p{color:var(--text-2);margin:0 0 .9rem;max-width:44rem}
.w-doc-list{margin:0;padding:0;list-style:none;display:grid;gap:.6rem}
.w-doc-list li{position:relative;padding-left:1.4rem;color:var(--text-2)}
.w-doc-list li::before{content:'';position:absolute;left:0;top:.7em;width:.55rem;height:1px;background:var(--champagne)}
.w-doc-routes{margin:0;display:grid}
.w-doc-routes>div{display:grid;grid-template-columns:minmax(0,13rem) 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}
.w-doc-routes dt{font-weight:600;color:var(--text)}
.w-doc-routes dd{margin:0;color:var(--text-2)}
@media(max-width:900px){.w-doc{grid-template-columns:1fr}.w-doc-toc{position:static}.w-doc-routes>div{grid-template-columns:1fr;gap:.25rem}}

/* Phones and touch devices: keep the look, drop the costly effects that make scrolling stutter. */
@media (pointer: coarse), (max-width: 900px){
 .atmosphere{filter:none;height:100lvh;bottom:auto}
 .w-ribbon-lines>g[filter]{display:none}
 .w-ribbon-lines>g:not([filter]){stroke-width:1.15}
 .w .site-header.w-header,.w .site-header.w-header.scrolled{backdrop-filter:none;background:rgba(7,9,12,.94)}
 .w-outcomes,.w-contact-form,.w-askband-form,.w-ask-open,.w-oa-doc{backdrop-filter:none}
 .w-cap,.w-work{transition:border-color var(--dur-2)}
}

/* Footer on phones and tablets: a compact block — brand line, one updates row, link groups as rows, legal line. */
@media(max-width:900px){
 .w-footer.site-footer{padding:3rem 0 6rem}
 .w-footer-top{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.35rem 1rem;padding-bottom:1.5rem}
 .w-footer-line{grid-column:1/-1;grid-row:2;font-size:1.15rem}
 .w-footer-grid{grid-template-columns:1fr;gap:0;padding:1.25rem 0 1.5rem}
 .w-footer-updates{display:grid;grid-template-columns:1fr;gap:.75rem;padding:1.1rem 1.25rem;margin-bottom:1rem}
 .w-footer-updates .w-label{display:none}
 .w-footer-updates .w-display{font-size:1.2rem;margin:0}
 .w-footer-updates .w-fine{margin:0}
 .w-footer-grid nav{display:grid;grid-template-columns:7rem 1fr;align-items:baseline;gap:.75rem;padding:.9rem 0;border-top:1px solid var(--line)}
 .w-footer-grid nav h2{margin:0}
 .w-footer-links{display:flex;flex-wrap:wrap;gap:.15rem 1.1rem}
 .w-footer-grid nav a{padding:.3rem 0;font-size:.9375rem}
 .w-footer-bottom{display:grid!important;gap:.4rem;padding-top:1.25rem;font-size:.75rem}
}
@media(max-width:380px){.w-footer-grid nav{grid-template-columns:1fr;gap:.25rem}}

/* View transitions between pages (progressive; same-origin navigations only) */
@view-transition{navigation:auto}
::view-transition-old(root){animation:w-vt-out .28s var(--ease-inout) both}
::view-transition-new(root){animation:w-vt-in .45s var(--ease-out) both}
@keyframes w-vt-out{to{opacity:0;transform:translateY(-.5rem)}}
@keyframes w-vt-in{from{opacity:0;transform:translateY(.75rem)}}

/* Responsive */
@media(max-width:1100px){.w-system-tabs{grid-template-columns:repeat(5,minmax(9.5rem,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem}.w-system-tabs button{scroll-snap-align:start}.w-work-layout{grid-template-columns:1fr}.w-service-row{grid-template-columns:auto 1fr}.w-service-row .w-spec{grid-column:2}}
@media(max-width:900px){
 .w .w-nav,.w-contact{display:none}
 .w-hero-grid,.w-head,.w-process-grid,.w-contact-band .w-wrap,.w-system-panel,.w-q,.w-spec-wide{grid-template-columns:1fr}
 .w-hero-index{display:none}
 .w-connect-grid{grid-template-columns:1fr}
 .w-connect-side{padding:0}
 .w-connect-control{flex-direction:row;padding:2rem 0}
 .w-connect-control::before{top:50%;bottom:auto;left:0;right:0;width:auto;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong) 20%,var(--line-strong) 80%,transparent)}
 .w-connect-ends{display:none}
 .w-process-head{position:static}
 .w-cap-grid,.w-work-grid,.w-cards3{grid-template-columns:1fr}
 .w-system-visual{min-height:0}
}
@media(max-width:560px){.w-connect{overflow:hidden}.w-field{width:100%;margin-left:0}.atmosphere{opacity:.6}:root{--header:3.75rem}.w-cap-grid{gap:.75rem}.w-hero{min-height:auto}.w-scroll{display:none}}
@media(prefers-reduced-motion:reduce){.w *,.w *::before,.w *::after{animation:none!important;transition:none!important}}
html.motion-reduced .w *,html.motion-reduced .w *::before,html.motion-reduced .w *::after{animation:none!important;transition:none!important}
html.motion-reduced{view-transition-name:none}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}
@media(forced-colors:active){.atmosphere,body.w::before{display:none}.w-field line{stroke:CanvasText}.w-system-tabs button[aria-selected="true"]{outline:2px solid Highlight}}
@media print{.atmosphere,body.w::before{display:none}}
