*,*::before,*::after{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--fg);font:400 17px/1.6 'IBM Plex Sans',system-ui,sans-serif;overflow-x:clip}img,video{display:block;max-width:100%}a{color:inherit}h1,h2,h3,legend{margin:0;line-height:.95}p{margin:0}
.skip{position:absolute;left:-999px;z-index:99;background:var(--a);color:#000;padding:8px 14px}.skip:focus{left:8px;top:8px}:focus-visible{outline:3px solid var(--a);outline-offset:2px}
.big{font-family:'Big Shoulders Display',Impact,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.005em}.mono{font:500 13px 'IBM Plex Mono',monospace;letter-spacing:.06em;text-transform:uppercase}.lead{font-size:clamp(17px,1.4vw,20px);max-width:32em;margin-top:22px;opacity:.85}.fine{font-size:13px;opacity:.65;margin-top:10px}.ln{font-weight:600}
.sample-note{font-size:13px;padding:8px 20px;text-align:center;background:var(--sf)}.sample-note a{font-weight:600}
.hd{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:30px;padding:0 3vw;height:72px;background:var(--bg);border-bottom:3px solid var(--fg)}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:900 26px/0.9 'Big Shoulders Display'}.logo svg{width:34px;height:34px}.logo small{display:block;font-size:14px;letter-spacing:.3em;color:var(--a)}.p-estimate .logo small{color:#fff}
.nv{display:flex;align-items:center;gap:28px;margin-left:auto;height:100%}.nv>a,.mt{font:600 15px 'IBM Plex Sans';text-decoration:none;background:none;border:0;color:inherit;cursor:pointer;height:100%;display:flex;align-items:center;gap:6px;border-bottom:3px solid transparent;margin-bottom:-3px}.nv>a:hover,.nv>a[aria-current],.mt[aria-expanded=true]{border-color:var(--a)}.mt i{font-style:normal;transition:transform .3s}.mt[aria-expanded=true] i{transform:rotate(180deg)}.mw{height:100%}
.mega{position:absolute;left:0;right:0;top:72px;background:var(--fg);color:var(--bg);display:grid;grid-template-columns:2fr 1fr;gap:3vw;padding:40px 3vw;border-bottom:6px solid var(--a);animation:mg .45s cubic-bezier(.7,0,.2,1)}@keyframes mg{from{clip-path:inset(0 0 100% 0)}}.mg-c{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 30px}.mg-c a{text-decoration:none;padding:16px 0;border-top:1px solid color-mix(in srgb,var(--bg) 25%,transparent);display:flex;flex-direction:column;transition:padding .3s}.mg-c a:hover{padding-left:10px;color:var(--a)}.mg-c b{font:900 26px 'Big Shoulders Display';text-transform:uppercase}.mg-c span{font-size:14px;opacity:.75}.mg-f{text-decoration:none;position:relative;overflow:hidden}.mg-f img{width:100%;height:100%;object-fit:cover;max-height:240px}.mg-f span{position:absolute;left:0;bottom:0;background:var(--a);color:#1C1C1C;font-weight:600;padding:10px 14px}
.cta{background:var(--a);color:var(--bg);text-decoration:none;font-weight:600;padding:12px 20px;border:3px solid var(--fg)}.p-index .cta,.p-services .cta,.p-nf .cta{color:#1C1C1C}.p-estimate .cta{color:#F2A900}.bg{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;cursor:pointer}.bg i{display:block;height:3px;background:var(--fg);margin:6px 6px;transition:.3s}.bg[aria-expanded=true] i:nth-child(1){transform:translateY(9px) rotate(45deg)}.bg[aria-expanded=true] i:nth-child(2){opacity:0}.bg[aria-expanded=true] i:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
.mob{position:sticky;top:72px;z-index:39;background:var(--fg);color:var(--bg);display:grid;padding:10px 20px 20px;border-bottom:6px solid var(--a)}.mob a,.mob summary{font:900 30px 'Big Shoulders Display';text-transform:uppercase;text-decoration:none;padding:8px 0;cursor:pointer}.mob details a{display:block;font:500 17px 'IBM Plex Sans';text-transform:none;padding:6px 14px}
.btn{display:inline-block;background:var(--fg);color:var(--bg);text-decoration:none;font:600 16px 'IBM Plex Sans';padding:16px 26px;border:3px solid var(--fg);cursor:pointer;position:relative;overflow:hidden;z-index:0;transition:color .35s}.btn::before{content:'';position:absolute;inset:0;background:var(--a);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.7,0,.2,1);z-index:-1}.btn:hover::before{transform:none}.btn:hover{color:#1C1C1C}.btn.o{background:transparent;color:var(--fg)}.p-estimate .btn::before{background:#fff}
/* motion: wipe reveals (bar sweeps then content) + blueprint draw */
.wp{position:relative;clip-path:inset(0 100% 0 0);transition:clip-path .9s cubic-bezier(.77,0,.18,1)}.wp::after{content:'';position:absolute;inset:0;background:var(--a);transform:scaleX(1);transform-origin:right;transition:transform .7s cubic-bezier(.77,0,.18,1) .55s;pointer-events:none;z-index:3}.wp.in{clip-path:inset(0 0 0 0)}.wp.in::after{transform:scaleX(0)}
.bp{position:absolute;right:2vw;bottom:-30px;width:min(420px,40vw);color:var(--a);opacity:.9;z-index:2;pointer-events:none}.bp path{stroke-dasharray:2400;stroke-dashoffset:2400;animation:draw 3s cubic-bezier(.6,0,.3,1) .6s forwards}@keyframes draw{to{stroke-dashoffset:0}}
.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 108px)}.ht{padding:10vh 3vw 8vh;display:flex;flex-direction:column;justify-content:center}.tag{color:var(--a);font-weight:600}.big{font-size:clamp(56px,8vw,160px)}.hero h1{margin-top:16px}.hero h1 span{color:var(--a)}.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hv{position:relative;clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);background:#1C1C1C}.hv video,.hv .still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.still{display:none}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:3px solid var(--fg);border-bottom:3px solid var(--fg)}.stats div{padding:30px 3vw;border-right:3px solid var(--fg)}.stats div:nth-child(4){border-right:0}.stats b{display:block;font-size:clamp(60px,6vw,110px);line-height:1;color:var(--a)}.stats span{font-weight:600}.stats .fine{grid-column:1/-1;padding:8px 3vw;border-top:3px solid var(--fg);margin:0}
.svc{padding:12vh 3vw}.svh{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px;gap:20px}.svh .big{font-size:clamp(48px,6vw,110px)}.sg{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:3px;background:var(--fg);border:3px solid var(--fg)}.sc{position:relative;text-decoration:none;overflow:hidden;min-height:440px;display:block;background:#1C1C1C}.sc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s,opacity .5s;opacity:.85}.sc:hover img{transform:scale(1.06);opacity:1}.sc span{position:absolute;left:0;right:0;bottom:0;padding:24px;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff;display:flex;flex-direction:column}.sc b{font:900 40px 'Big Shoulders Display';text-transform:uppercase}
.ba-s{display:grid;grid-template-columns:1fr 1.6fr;gap:4vw;padding:0 3vw 12vh;align-items:center}.ba-s .big{font-size:clamp(44px,5vw,96px);margin-bottom:20px}
.ba{position:relative;aspect-ratio:16/10;overflow:hidden;border:3px solid var(--fg);--v:50%;user-select:none;background:#1C1C1C}.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ba-b{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--v)) 0 0)}.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;z-index:4}.ba-h{position:absolute;top:0;bottom:0;left:var(--v);width:4px;background:var(--a);transform:translateX(-50%);z-index:3;pointer-events:none}.ba-h::after{content:'◀ ▶';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--a);color:#1C1C1C;font-size:12px;padding:12px 10px;white-space:nowrap;font-weight:700}.ba input:focus-visible~.ba-h{box-shadow:0 0 0 4px #fff}.ba-l{position:absolute;top:12px;background:#1C1C1C;color:#fff;padding:4px 10px;z-index:3;pointer-events:none}.ba-l.b{left:12px}.ba-l.a{right:12px}
.proc{padding:12vh 3vw;background:var(--fg);color:var(--bg)}.proc .big{font-size:clamp(48px,6vw,110px);margin-bottom:40px}.proc ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:3vw}.proc li{border-top:6px solid var(--a);padding-top:20px}.proc li span{color:var(--a)}.proc b{display:block;font:900 32px 'Big Shoulders Display';text-transform:uppercase;margin:8px 0}.proc p{opacity:.8}
.sh,.ph,.eh{padding:10vh 3vw 6vh;border-bottom:3px solid var(--fg)}.sh .big,.ph .big,.eh .big{font-size:clamp(64px,10vw,200px)}.nf{min-height:70vh}
.p-services{background-image:linear-gradient(rgba(232,238,244,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(232,238,244,.06) 1px,transparent 1px);background-size:32px 32px}.p-services .btn{background:var(--a);color:#1C1C1C;border-color:var(--a)}.p-services .btn::before{background:#fff}
.sl{padding:0 3vw 10vh}.si{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:center;padding:8vh 0;border-bottom:1px dashed color-mix(in srgb,var(--fg) 35%,transparent);scroll-margin-top:90px}.si:nth-child(even) figure{order:2}.si figure{margin:0;aspect-ratio:4/3;overflow:hidden;border:3px solid var(--a)}.si img{width:100%;height:100%;object-fit:cover}.si span{color:var(--a)}.si .big{font-size:clamp(50px,6vw,110px);margin:8px 0 14px}.si p{margin-bottom:24px;font-size:19px;opacity:.85}
.pf{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.pf button,.ty span,.ex span{font:600 15px 'IBM Plex Sans';background:transparent;color:inherit;border:3px solid var(--fg);padding:10px 18px;cursor:pointer;display:inline-block}.pf button[aria-pressed=true]{background:var(--fg);color:var(--bg)}
.pg{display:grid;grid-template-columns:1fr 1fr;gap:4vw 3vw;padding:8vh 3vw 14vh}.pc h2{font:900 34px 'Big Shoulders Display';text-transform:uppercase;margin-top:16px}.pc p{color:var(--a)}
.es{display:grid;grid-template-columns:1.4fr 1fr;gap:3vw;padding:6vh 3vw 14vh;align-items:start}fieldset{border:0;padding:0;margin:0 0 34px;min-inline-size:0}legend{font:900 32px 'Big Shoulders Display';text-transform:uppercase;margin-bottom:14px;display:flex;gap:16px;align-items:baseline;width:100%}legend output{font:500 16px 'IBM Plex Mono'}.ty,.ex{display:flex;flex-wrap:wrap;gap:8px}.ty label,.ex label,.fin label{position:relative;cursor:pointer;margin:0}.ty input,.ex input,.fin input{position:absolute;opacity:0}.ty input:checked+span,.ex input:checked+span{background:#1C1C1C;color:#F2A900}.ex input:checked+span::before{content:'✓ '}.ty input:focus-visible+span,.ex input:focus-visible+span,.fin input:focus-visible+span{outline:3px solid #fff}
#sz{width:100%;accent-color:#1C1C1C;height:30px}.fin{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.fin span{display:block;border:3px solid #1C1C1C;padding:16px;height:100%}.fin b{display:block;font:900 26px 'Big Shoulders Display';text-transform:uppercase}.fin small{font-size:14px}.fin input:checked+span{background:#1C1C1C;color:#F2A900}
select,input:not([type=radio]):not([type=checkbox]):not([type=range]){width:100%;font:inherit;padding:14px;border:3px solid #1C1C1C;background:#fff;color:#1C1C1C;border-radius:0}
.res{position:sticky;top:90px;background:#1C1C1C;color:#F4F1EA;padding:30px;border:3px solid #1C1C1C;box-shadow:10px 10px 0 #fff}.res .mono{color:#F2A900}.rng{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:8px 0 18px}.rng b{font:900 clamp(40px,4vw,68px)/1 'Big Shoulders Display';color:#F2A900;transition:filter .3s}.rng b.bl{filter:blur(3px)}.ph2{display:flex;height:34px;gap:3px;margin-bottom:8px}.ph2 i{display:flex;align-items:center;justify-content:center;font:500 11px 'IBM Plex Mono';text-transform:uppercase;color:#1C1C1C;background:#F2A900;transition:flex-grow .6s cubic-bezier(.77,0,.18,1);overflow:hidden;white-space:nowrap}.ph2 i:nth-child(2){background:#F4F1EA}.ph2 i:nth-child(3){background:#C2410C;color:#fff}.ph2 i:nth-child(4){background:#8FA3B8}.wk{opacity:.9}#qf{margin-top:20px;border-top:1px solid #444;padding-top:10px}label{display:block;font-weight:600;font-size:14px;margin:12px 0 6px}.res .btn{background:#F2A900;color:#1C1C1C;border-color:#F2A900;margin-top:16px;width:100%}.err{display:block;color:#FF6B4A;font-weight:600;font-size:14px;min-height:1em}.p-estimate .es .err{color:#7A1D00}.res .err{color:#FF8A6A}.ok{margin-top:20px;background:#F2A900;color:#1C1C1C;padding:20px;font-weight:600}
.sticky{position:fixed;left:50%;bottom:18px;transform:translate(-50%,140%);z-index:30;display:flex;gap:20px;align-items:center;background:#1C1C1C;color:#F4F1EA;text-decoration:none;padding:12px 12px 12px 24px;border:3px solid #F2A900;box-shadow:6px 6px 0 #F2A900;transition:transform .5s cubic-bezier(.77,0,.18,1);white-space:nowrap}.sticky.on{transform:translate(-50%,0)}.sticky b{background:#F2A900;color:#1C1C1C;padding:10px 16px}
.ft{background:#1C1C1C;color:#F4F1EA;padding:10vh 3vw 100px;border-top:8px solid #F2A900}.ft-g{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px;font-size:15px}.ft-l{display:block;font:900 clamp(40px,5vw,80px)/1 'Big Shoulders Display';color:#F2A900;margin-bottom:12px}.ft b{display:block;margin-bottom:8px}.ft-g p,.ft li{opacity:.8}.ft ul{padding-left:18px}.ft-s{margin-top:40px;font-size:13px;opacity:.6}
@media(max-width:1000px){.nv,.cta{display:none}.bg{display:block}.hero{grid-template-columns:1fr}.hv{order:-1;aspect-ratio:16/10;clip-path:polygon(0 0,100% 0,100% 86%,0 100%)}.bp{display:none}.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(2){border-right:0}.stats div:nth-child(-n+2){border-bottom:3px solid var(--fg)}.sg{grid-template-columns:1fr}.sc{min-height:300px}.ba-s,.es,.si,.pg{grid-template-columns:1fr}.si:nth-child(even) figure{order:0}.proc ol{grid-template-columns:1fr 1fr}.res{position:static}.ft-g{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hd{padding:0 16px}.ht,.svc,.ba-s,.proc,.sh,.ph,.eh,.sl,.pg,.es{padding-left:16px;padding-right:16px}.proc ol,.fin{grid-template-columns:1fr}.ft-g{grid-template-columns:1fr}.sticky span{display:none}.sticky{padding:8px}.res{box-shadow:none}}
@media(min-width:1700px){body{font-size:19px}.svc,.ba-s,.proc,.sl,.pg,.es{padding-left:6vw;padding-right:6vw}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.wp{clip-path:none}.wp::after{display:none}.bp path{stroke-dashoffset:0}video{display:none}.still{display:block}}
