/* Self-hosted variable faces (SIL OFL 1.1, fonts/OFL.txt): no request leaves for a font host. */
@font-face{font-family:Figtree;src:url(/marketing/fonts/figtree.woff2) format('woff2');font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(/marketing/fonts/jetbrains-mono.woff2) format('woff2');font-weight:100 800;font-style:normal;font-display:swap}
:root{--ink:#0c0c0c;--muted:#5f5f5f;--border:#e0e0e0;--paper:#ffffff;--ease:cubic-bezier(.22,1,.36,1);--header-clearance:96px}
/* Keyboard focus and in-page jumps stop below the sticky header (80px, 72px on phones; WCAG 2.2 Focus Not Obscured).
   Each anchor's scroll-margin-top subtracts --header-clearance, so jumps land where they always did. */
@media(max-width:700px){:root{--header-clearance:84px}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-clearance)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Figtree,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--muted);outline-offset:5px}button:disabled{cursor:default}svg{display:block}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-style:normal}button{border:0;background:none}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:8px;left:8px;z-index:100;background:#fff;color:#1b1b1b;padding:14px 16px;border-radius:10px;outline:2px solid #35483d;outline-offset:2px;box-shadow:0 8px 24px #0000001f}
.site-header{height:92px;max-width:1440px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;margin:auto}.wordmark{display:flex;gap:10px;align-items:center;font-size:28px;font-weight:650;letter-spacing:-1.2px}.wordmark img{width:27px;height:30px}.site-header nav{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:500}.site-header nav>a{display:flex;align-items:center;gap:14px;min-height:44px}.site-header nav>a:first-child:hover{color:var(--muted)}.site-header .nav-start{padding:13px 19px;background:var(--ink);color:white;border-radius:9px}.nav-start:hover{background:#333333}.nav-start span{font-size:20px}
.hero-copy{text-align:center;margin:44px auto 0;padding:0 24px;position:relative;z-index:1}.category{display:flex;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:500;letter-spacing:.2px}.category-mark{color:var(--muted);font-size:16px}.hero h1{font-size:clamp(54px,6.45vw,96px);line-height:1.015;letter-spacing:-.062em;font-weight:500;margin:24px auto 22px}.hero-description{font-size:19px;line-height:1.48;color:#575757;letter-spacing:-.25px}.project-start{margin:25px auto 0;max-width:496px;display:flex;padding:8px;background:#fff;border:1px solid #c6c6c6;border-radius:16px;box-shadow:0 3px 4px #1c1c1c10;scroll-margin-top:32px;transition:border-color .2s,box-shadow .2s}.project-start:focus-within{border-color:var(--muted);box-shadow:0 0 0 4px #5f5f5f12}.project-start input{border:0;background:transparent;min-width:0;width:100%;outline:none;padding:0 14px;font-size:16px;line-height:1.4;color:var(--ink)}.project-start input::placeholder{color:#747474;opacity:1}.project-start input:focus-visible{outline:none}.project-start button{width:48px;height:48px;flex:0 0 48px;border-radius:10px;background:var(--ink);color:white;display:grid;place-items:center;transition:background .2s}.project-start button:hover{background:#4d4d4d}.project-start button svg{width:25px;height:25px}.hero-aftercare{display:flex;justify-content:center;align-items:center;gap:22px;margin:14px auto 0;font-size:11px;color:#6f6f6f}.hero-aftercare sup{font-size:10px;margin-left:1px}.hero-aftercare button{display:flex;align-items:center;gap:5px;font-size:12px;padding:5px 0;min-height:30px;color:#2a2a2a}.hero-aftercare svg{width:16px;height:16px}.hero-aftercare button:hover{text-decoration:underline;text-underline-offset:4px}
.project-scene{max-width:1440px;margin:42px auto 0;padding:0 30px;position:relative;scroll-margin-top:22px}.photograph{position:relative;height:490px;border-radius:18px;overflow:hidden;background:#c4c1b7}.photograph>img{width:100%;height:100%;object-fit:cover;object-position:center 48%}.photograph:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07110b3d,transparent 46%),linear-gradient(0deg,#050b084d,transparent 52%);pointer-events:none}.photo-caption{position:absolute;z-index:1;left:32px;bottom:40px;color:#fff;font-size:21px;line-height:1.4;letter-spacing:-.5px;text-shadow:0 1px 10px #0003}.photo-caption span,.photo-caption strong{display:block}.photo-caption strong{font-weight:550}.lifecycle{position:absolute;z-index:1;top:24px;left:28px;display:flex;align-items:center;gap:12px;color:white;font-size:11px;background:#15201cb3;border:1px solid #ffffff30;padding:10px 13px;border-radius:100px;backdrop-filter:blur(12px)}.lifecycle i{width:13px;height:1px;background:#ffffff70}
.project-window{position:relative;z-index:2;width:calc(100% - 270px);max-width:1110px;margin:-330px 22px 0 auto;border:1px solid #cdcdcd;border-radius:14px;background:#fff;box-shadow:0 34px 68px -25px #1f1f1f33,0 4px 12px #1a1a1a10;overflow:hidden}.story-toolbar{display:flex;align-items:center;justify-content:space-between;background:#fafafa;border-bottom:1px solid #e4e4e4;padding:0 12px;gap:10px;min-height:54px}.story-toolbar [role=tablist]{display:flex;gap:7px;min-width:0}.story-toolbar [role=tab]{white-space:nowrap;display:flex;gap:6px;align-items:center;font-size:11px;padding:18px 9px 16px;border-bottom:2px solid transparent;color:#737373;min-height:52px}.story-toolbar [role=tab] span{font:9px 'JetBrains Mono',monospace;color:#959595}.story-toolbar [role=tab][aria-selected=true]{border-bottom-color:var(--muted);color:#161616}.story-toolbar [role=tab]:hover{color:#161616}.motion-button{display:flex;align-items:center;gap:6px;flex-shrink:0;font-size:11px;min-height:44px;padding:8px}.motion-button>span:first-child{font-size:17px}.motion-button:hover{color:var(--muted)}
#story-panel{position:relative;min-height:585px;height:585px;overflow:hidden;background:#fff}#project-interface{min-height:100%;transition:opacity .4s var(--ease),transform .6s var(--ease)}.project-window:not([data-step="3"]) #project-interface{opacity:0;transform:translateY(16px);pointer-events:none}.story-overlay{position:absolute;inset:0;display:flex;flex-direction:column;background:#fff;opacity:1;transition:opacity .3s var(--ease);overflow:hidden}.project-window[data-step="3"] .story-overlay{opacity:0;pointer-events:none}.story-brand{height:52px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #e8e8e8;padding:0 26px;font-size:14px;font-weight:600;flex-shrink:0}.story-brand img{width:18px;height:20px}.story-example{margin-left:auto;font-size:11px;font-weight:400;color:#909090}.story-content{flex:1;display:grid;align-items:center;padding:24px 9% 20px}.story-stage{max-width:720px;width:100%;margin:auto;animation:stage-in .5s var(--ease) both}.story-stage[hidden]{display:none}.story-kicker{font-size:12px;color:var(--muted);font-weight:500;margin-bottom:14px}.story-stage h2{font-size:43px;line-height:1.06;font-weight:500;letter-spacing:-1.7px;margin-bottom:14px}.story-stage>p:not(.story-kicker){font-size:14px;line-height:1.5;max-width:510px;color:#6e6e6e}.project-facts{display:grid;grid-template-columns:1fr 1fr;margin-top:22px;border:1px solid #e2e2e2;border-radius:12px;padding:0 18px;background:#fdfdfd}.project-facts>div{display:flex;justify-content:space-between;gap:15px;font-size:12px;padding:15px 0}.project-facts>div:nth-child(odd){padding-right:20px;border-right:1px solid #e8e8e8}.project-facts>div:nth-child(even){padding-left:20px}.project-facts>div:nth-child(-n+2){border-bottom:1px solid #e8e8e8}.project-facts span{color:#858585}.project-facts strong{font-weight:500}.requirement-tree{margin-top:20px;border:1px solid #e3e3e3;border-radius:12px;overflow:hidden;font-size:12px}.requirement-tree>div{padding:14px 18px;display:flex;align-items:center;gap:9px;background:#f9f9f9;border-bottom:1px solid #e3e3e3}.tree-glyph{font-size:20px;line-height:1;color:var(--muted)}.requirement-tree strong{font-weight:550}.requirement-tree ul{display:flex;list-style:none;gap:24px;padding:18px;margin:0}.requirement-tree li{flex:1;position:relative;padding-left:12px;border-left:1px solid #bfbfbf;line-height:1.3}.requirement-tree li span,.requirement-tree small{display:block}.requirement-tree li span{font-weight:550}.requirement-tree small{color:#838383;font-size:11px;margin-top:5px}.sorting-story{display:flex;align-items:center;gap:20px;margin-top:24px}.file-stack{display:grid;gap:7px;flex:1}.file-stack span{font-size:12px;border:1px solid #e3e3e3;background:#fbfbfb;border-radius:7px;padding:11px 14px}.sort-bridge{color:#919191;font-size:24px}.sort-result{border:1px solid #d2d2d2;border-radius:12px;padding:20px;flex:1.2;display:grid;gap:8px;background:#fafafa}.sort-result strong{font-size:13px;font-weight:550}.sort-result>span{font-size:10px;color:#828282}.story-stage>.review-line{font-size:11px!important;margin-top:13px}.story-footnote{font-size:10px;color:#949494;text-align:center;padding:13px;border-top:1px solid #f0f0f0}.window-foot{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 22px;background:#fcfcfc;border-top:1px solid #e5e5e5;font-size:11px;color:#8f8f8f}.window-foot>button{font-size:11px;display:flex;gap:10px;align-items:center;color:#2d2d2d;min-height:28px}.window-foot>button:hover{text-decoration:underline;text-underline-offset:3px}.hero-bottom{max-width:1440px;margin:0 auto;padding:38px 54px 54px;display:flex;justify-content:space-between;gap:32px;font-size:17px;color:#757575;line-height:1.45;letter-spacing:-.2px}.hero-bottom strong{font-weight:500;color:#303030}.hero-bottom .project-example{font-size:11px;text-align:right;line-height:1.7;color:#919191;letter-spacing:0}.review-footer{max-width:1332px;margin:0 auto;padding:22px 0 30px;border-top:1px solid #e3e3e3;display:flex;justify-content:space-between;align-items:flex-start;gap:30px;font-size:10px;color:#8f8f8f}.review-footer>span{white-space:nowrap}.review-footer p{max-width:490px;line-height:1.5;text-align:center}.review-footer button{font-size:10px;white-space:nowrap;padding:0;color:#6f6f6f;min-height:20px}
dialog{border:1px solid #d5d5d5;border-radius:18px;background:#fff;max-width:570px;width:calc(100% - 40px);padding:40px;color:var(--ink);box-shadow:0 35px 100px #0f0f0f33;font-family:Figtree,sans-serif}dialog::backdrop{background:#20202070;backdrop-filter:blur(5px)}.close-dialog{position:absolute;right:13px;top:10px;width:40px;height:40px;font-size:28px;font-weight:400;color:#757575}.dialog-kicker{font-size:12px;color:#858585;margin-bottom:15px}dialog h2{font-size:34px;line-height:1.1;letter-spacing:-1.1px;font-weight:500;margin-bottom:18px}dialog p{font-size:15px;line-height:1.55;color:#767676;margin-top:12px}.entry-steps{display:flex;align-items:center;gap:14px;padding:20px 0;margin-top:16px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;font-size:12px}.entry-steps b{color:#aaaaaa;font-weight:400}.dialog-note{font-size:11px!important}.dialog-action{margin-top:25px;background:#0c0c0c;color:#fff;border-radius:8px;padding:15px 18px;font-size:13px}.dialog-action span{margin-left:20px}.project-dialog{max-width:1350px;padding:0;max-height:90vh}.project-dialog-top{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #e5e5e5;position:sticky;top:0;z-index:3;background:#fff}.project-dialog-top h2{font-size:17px;letter-spacing:-.3px;margin:0}.project-dialog .close-dialog{position:static}.project-dialog>.dialog-note{margin:0;padding:16px 24px;border-top:1px solid #e9e9e9}
@keyframes stage-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-copy{margin-top:52px}.hero h1{font-size:102px}.project-scene{margin-top:48px}}
@media(max-width:1100px){.site-header{padding:0 36px;height:80px}.hero-copy{margin-top:35px}.hero h1{font-size:78px}.project-scene{padding:0 22px}.photograph{height:420px}.project-window{width:calc(100% - 80px);margin:-265px auto 0}.photo-caption{bottom:auto;top:75px;font-size:18px;left:24px}.lifecycle{top:20px;left:23px}.story-toolbar [role=tab]{padding:17px 6px;font-size:10px}.story-toolbar [role=tab] span{font-size:8px}.hero-bottom{padding:32px 36px 44px}.review-footer{margin:0 36px}}
@media(max-width:780px){.site-header{padding:0 24px}.site-header nav{gap:20px}.site-header nav>a:first-child{display:none}.hero-copy{margin-top:34px}.hero h1{font-size:65px}.hero-description{font-size:17px}.project-window{width:calc(100% - 30px);margin-top:-205px}.photograph{height:340px}.photo-caption{font-size:16px;top:65px;left:20px}.lifecycle{top:17px;left:18px;font-size:9px;padding:8px 10px}.story-toolbar{gap:3px;padding:0 8px}.story-toolbar [role=tablist]{gap:0}.story-toolbar [role=tab]{padding:14px 7px;gap:4px;font-size:10px}.story-toolbar [role=tab]>span{display:none}.motion-button{font-size:10px;padding:6px;gap:4px}.story-content{padding:28px 7%}.story-stage h2{font-size:38px}.window-foot{padding:10px 16px}.window-foot>span{max-width:55%;line-height:1.5}#story-panel{height:590px;min-height:590px}.hero-bottom{font-size:16px;padding:28px 26px 36px}.review-footer{margin:0 26px;flex-wrap:wrap;gap:15px}.review-footer>p{order:3;width:100%;text-align:left;max-width:none}}
@media(max-width:540px){.site-header{height:74px;padding:0 20px}.wordmark{font-size:24px;letter-spacing:-1px;gap:7px}.wordmark img{width:23px;height:27px}.site-header .nav-start{font-size:11px;gap:12px;min-height:40px;padding:10px 12px}.nav-start span{font-size:17px}.hero-copy{margin-top:26px;padding:0 20px}.category{font-size:11px;gap:6px}.category-mark{font-size:13px}.hero h1{font-size:clamp(39px,10.5vw,56px);letter-spacing:-.058em;margin-top:22px;margin-bottom:20px;line-height:1.045}.hero-description{font-size:16px;line-height:1.55;max-width:355px;margin:auto;letter-spacing:-.1px}.desktop-break{display:none}.project-start{margin-top:22px;padding:7px;border-radius:13px}.project-start input{font-size:15px;padding-left:9px}.project-start button{width:44px;height:44px;flex-basis:44px;border-radius:8px}.hero-aftercare{flex-direction:column;gap:8px;margin-top:12px;font-size:10px}.hero-aftercare button{font-size:12px;min-height:34px}.project-scene{margin-top:22px;padding:0 12px}.photograph{height:272px;border-radius:12px}.photograph>img{object-position:45% center}.lifecycle{font-size:8px;gap:8px;padding:7px 10px;left:14px;top:14px}.lifecycle i{width:10px}.photo-caption{top:auto;bottom:82px;left:16px;font-size:15px;line-height:1.4}.project-window{margin-top:-65px;width:calc(100% - 16px);border-radius:11px;box-shadow:0 16px 32px -16px #1f1f1f30}.story-toolbar{padding:0 6px;display:block;position:relative;min-height:89px}.story-toolbar [role=tablist]{display:grid;grid-template-columns:repeat(4,1fr);width:100%;gap:0}.story-toolbar [role=tab]{font-size:9px;padding:10px 3px;min-height:45px;justify-content:center;white-space:normal;text-align:center;line-height:1.25}.motion-button{height:38px;min-height:38px;margin-left:auto;padding:6px 8px;font-size:10px}.story-content{padding:24px 20px;align-items:start}.story-stage h2{font-size:33px;letter-spacing:-1.3px}.story-stage>p:not(.story-kicker){font-size:13px}.story-kicker{font-size:11px}.story-brand{padding:0 18px;height:48px;font-size:13px}.story-example{font-size:9px}.project-facts{grid-template-columns:1fr;padding:0 14px}.project-facts>div{padding:11px 0!important;border:0!important;font-size:11px}.project-facts>div+div{border-top:1px solid #e9e9e9!important}.requirement-tree ul{display:grid;gap:15px;padding:15px}.sorting-story{gap:10px}.file-stack span{font-size:10px;padding:10px}.sort-bridge{font-size:18px}.sort-result{padding:13px;gap:10px}.sort-result strong{font-size:11px}.sort-result>span{font-size:9px;line-height:1.5}.story-footnote{font-size:9px;padding:11px 14px}#story-panel{height:575px;min-height:575px}.window-foot{padding:10px 12px;gap:12px;font-size:9px}.window-foot>button{font-size:10px;gap:4px;min-height:36px}.hero-bottom{padding:27px 22px 30px;display:block;font-size:17px;line-height:1.5}.hero-bottom .project-example{text-align:left;font-size:10px;margin-top:15px;line-height:1.5}.review-footer{margin:0 22px;font-size:9px;gap:12px;padding-top:17px}.review-footer button{font-size:9px}dialog{padding:30px 23px}dialog h2{font-size:29px}.entry-steps{font-size:10px;gap:10px}.project-dialog{padding:0}.project-dialog-top{padding:10px 15px}.project-dialog-top h2{font-size:13px;max-width:75%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Keep the sector and the product in the opening composition. */
.project-window:not(.is-story-active) .story-toolbar{display:none}
.category-mark{width:18px;height:20px;flex:none;color:var(--ink)}
.lifecycle{background:linear-gradient(135deg,#ffffff35,#ffffff12);border:1px solid #ffffff70;box-shadow:inset 0 1px 0 #ffffff65,inset 0 -1px 0 #ffffff18,0 5px 20px #0f0f0f20;-webkit-backdrop-filter:blur(20px) saturate(140%) brightness(.55);backdrop-filter:blur(20px) saturate(140%) brightness(.55);text-shadow:0 1px 4px #0005}
@media(min-width:1101px){.photo-caption{font-size:20px;letter-spacing:-.55px}}
@media(min-width:1101px){.site-header{height:80px}.hero-copy{margin-top:24px}.hero h1{font-size:82px;margin-top:16px;margin-bottom:18px}.project-start{margin-top:20px}.hero-aftercare{margin-top:10px}.project-scene{margin-top:28px}.project-window{margin-top:-410px}}
@media(min-width:781px) and (max-width:1100px){.hero-copy{margin-top:22px}.hero h1{font-size:72px;margin-top:17px;margin-bottom:18px}.project-start{margin-top:19px}.hero-aftercare{margin-top:10px}.project-scene{margin-top:26px}.project-window{margin-top:-310px}.photo-caption{top:62px;font-size:16px}}

/* Shared brand, with the two website directions beside it. */
.header-identity{display:flex;align-items:center;gap:26px;min-width:0}
.website-switcher{display:flex;align-items:center;padding:4px;gap:2px;border:1px solid #1c1c1c10;border-radius:999px;background:#e9eceb}
.website-switcher button{min-height:35px;padding:7px 15px;border-radius:999px;color:#6a6a6a;font-size:13px;font-weight:550;white-space:nowrap;transition:background .18s,color .18s,box-shadow .18s}
.website-switcher button[aria-pressed=true]{background:#fff;color:#161616;box-shadow:0 1px 3px #1f1f1f10}
.website-switcher button:hover{color:#161616}
@media(max-width:900px){.header-identity{gap:18px}.site-header nav>a:first-child{display:none}.website-switcher button{font-size:12px;padding:7px 12px}}
@media(max-width:620px){.site-header{height:auto;min-height:113px;position:relative;align-items:flex-start;padding-top:18px;padding-bottom:12px}.header-identity{display:contents}.site-header nav{margin-left:auto}.website-switcher{position:absolute;left:20px;top:66px;padding:3px}.website-switcher button{min-height:30px;padding:5px 14px;font-size:12px}.hero-copy{margin-top:24px}}

/* The audit promise sits below the lifecycle labels, alongside the product. */
.photo-caption{max-width:210px}.photo-caption strong{margin-top:5px}.photo-caption sup{font-size:11px;margin-left:2px}
@media(min-width:781px) and (max-width:1100px){.photo-caption{max-width:calc(100% - 48px)}}
@media(min-width:541px) and (max-width:780px){.photo-caption{max-width:calc(100% - 40px)}}
@media(max-width:540px){.photo-caption{max-width:280px}}

/* Keep longer mode headlines balanced at narrower widths. */
#hero-title{text-wrap:balance}

/* Keep the Construction explanation readable beneath its shorter category headline. */
body[data-site-mode=construction] .hero-description{max-width:780px;margin-left:auto;margin-right:auto;text-wrap:balance}


/* Current dashboard previews: let the full completion/estate desk carry the story. */
#story-panel{height:auto;min-height:0;overflow:visible}
#project-interface{min-height:0}
.window-foot{background:#fff}
@media(min-width:1101px){.project-window{width:calc(100% - 224px);max-width:1190px}.photo-caption{max-width:165px;font-size:19px}}
@media(max-width:540px){.project-window{width:100%;margin-top:-60px}.window-foot{font-size:9px}.window-foot>span{max-width:55%}.window-foot>button{font-size:10px}.project-dialog{width:calc(100% - 16px);max-height:94dvh}.project-dialog-top h2{font-size:14px}}
