@keyframes hero-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}:root{--ink:#1c2331;--anthracite:#1f2a3d;--paper:#f4f0e8;--paper-2:#ebe5d8;--paper-3:#e1d9c9;--stone:#8a8478;--stone-2:#b3ab9d;--line:rgba(28, 35, 49, 0.14);--line-soft:rgba(28, 35, 49, 0.08);--accent:oklch(0.62 0.13 47);--accent-deep:oklch(0.5 0.12 42);--accent-soft:oklch(0.8 0.066 56);--on-accent:#fbf7f0;--ok:oklch(0.55 0.11 150);--no:oklch(0.55 0.16 27);--font-display:"Spectral", Georgia, serif;--font-sans:"Hanken Grotesk", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--maxw:1180px;--gut:clamp(20px, 5vw, 88px);--header-h:76px}*,::after,::before{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:1.6;letter-spacing:-.005em;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;margin:0;line-height:1.05;letter-spacing:-.015em}body,p,ul{margin:0}img{max-width:100%;display:block;height:auto}a{color:inherit}.skip-link{position:absolute;left:-9999px;top:0;z-index:10000;background:var(--anthracite);color:var(--paper);padding:12px 18px;border-radius:0 0 6px 0;font-family:var(--font-mono);font-size:13px}.skip-link:focus{left:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}.section{padding:clamp(64px,11vh,132px)0}.section--tight{padding:clamp(44px,7vh,84px)0}.kicker{font-family:var(--font-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-deep);display:flex;align-items:center;gap:12px}.kicker::before{content:"";width:26px;height:1px;background:var(--accent-deep);display:inline-block}.lead{font-size:clamp(20px,2.4vw,27px);line-height:1.4;color:var(--ink);max-width:48ch}.muted{color:var(--stone)}.band-dark{background:var(--anthracite)}.band-dark .kicker,.contact-info .row a:hover{color:var(--accent-soft)}.band-dark .kicker::before{background:var(--accent-soft)}.band-dark .muted{color:var(--stone-2)}.band-dark,.band-dark h2,.band-dark h3{color:var(--paper)}.band-paper2{background:var(--paper-2)}.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-sans);font-weight:600;font-size:15px;letter-spacing:0;padding:14px 26px;border-radius:6px;border:1px solid #fff0;cursor:pointer;text-decoration:none;transition:transform .15s ease,background .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--accent)}.btn-primary:hover{box-shadow:0 12px 28px -12px var(--accent-deep)}.btn-primary,.hero-actions .btn-ghost{color:var(--on-accent)}.btn-ghost{background:#fff0;border-color:var(--accent)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent-deep)}.site-header{position:fixed;inset:0 0 auto 0;z-index:1000;height:var(--header-h);background:color-mix(in srgb,var(--anthracite) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgb(255 255 255/.08);transition:background .3s ease}.brand,.site-header,.site-header .wrap{display:flex;align-items:center}.site-header .wrap{justify-content:space-between;width:100%}.brand{gap:12px;text-decoration:none;color:var(--paper)}.brand svg,.footer-brand svg{width:30px;color:var(--accent-soft)}.brand .brand-name{font-family:var(--font-display);font-size:21px;letter-spacing:-.01em}.nav-toggle{display:none;flex-direction:column;gap:5px;background:0 0;border:0;cursor:pointer;padding:8px}.nav-toggle span{width:24px;height:2px;background:var(--paper);transition:transform .25s ease,opacity .25s ease}.primary-nav{display:flex;align-items:center;gap:8px}.primary-nav ul{list-style:none;display:flex;gap:4px;padding:0;margin:0}.hero-meta b,.primary-nav a{font-weight:500;display:block}.primary-nav a{text-decoration:none;color:var(--stone-2);font-size:15px;padding:8px 14px;border-radius:6px;transition:color .2s ease,background .2s ease}.primary-nav a:hover{color:var(--paper);background:rgb(255 255 255/.06)}.nav-cta{margin-left:12px}@media (max-width:880px){.nav-toggle{display:flex}.primary-nav{position:fixed;inset:var(--header-h)0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:var(--anthracite);padding:16px var(--gut) 28px;border-bottom:1px solid rgb(255 255 255/.08);transform:translateY(-120%);transition:transform .3s ease;box-shadow:0 20px 40px -20px rgb(0 0 0/.6)}.primary-nav ul{flex-direction:column;gap:2px}.primary-nav a{padding:14px 8px;font-size:17px}.nav-cta{margin:14px 8px 0}.nav-cta .btn{width:100%;justify-content:center}}.hero{min-height:100vh;background:var(--anthracite);color:var(--paper);display:flex;flex-direction:column;justify-content:space-around;padding:calc(var(--header-h) + clamp(28px,4vw,52px))0 clamp(28px,4vw,52px);overflow:hidden}.hero-bottom,.hero-mid,.hero-top{position:relative}.hero-mid{display:flex;flex-direction:column;gap:28px}.hero h1{font-size:clamp(54px,12vw,172px);line-height:.92;letter-spacing:-.03em;font-weight:400}.hero .sub,.value h3{font-family:var(--font-display)}.hero .sub{font-size:clamp(19px,2.4vw,30px);color:var(--paper);max-width:30ch;line-height:1.3}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}.hero-meta{display:flex;gap:40px;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone-2)}.hero-meta b{color:var(--paper);margin-top:4px;font-family:var(--font-sans);letter-spacing:0;text-transform:none;font-size:14px}.grid{display:grid;gap:clamp(20px,3vw,40px)}.g-2{grid-template-columns:repeat(2,1fr)}.g-3{grid-template-columns:repeat(3,1fr)}.g-4{grid-template-columns:repeat(4,1fr)}@media (max-width:900px){.g-3,.g-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.g-2,.g-3,.g-4{grid-template-columns:1fr}}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,96px);align-items:start}@media (max-width:820px){.split{grid-template-columns:1fr;gap:32px}}.head{display:grid;gap:18px;margin-bottom:clamp(36px,5vw,64px);max-width:52ch}.head h2{font-size:clamp(32px,5vw,58px)}.value h3{font-size:21px}.value p{font-size:14px;margin-top:6px}.svc-card{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:16px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.svc-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgb(28 35 49/.4);border-color:var(--accent)}.svc-icon{width:48px;height:48px;color:var(--accent-deep)}.svc-card h3{font-size:23px}.svc-card p{font-size:15px;color:var(--stone)}.svc-card .svc-meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone);margin-top:auto;padding-top:8px;border-top:1px solid var(--line-soft)}.steps{counter-reset:step;display:grid;gap:2px}.step{display:grid;grid-template-columns:64px 1fr;gap:clamp(18px,3vw,36px);align-items:start;padding:clamp(22px,3vw,34px)0;border-top:1px solid rgb(255 255 255/.1)}.step:last-child{border-bottom:1px solid rgb(255 255 255/.1)}.step .num{counter-increment:step;font-family:var(--font-mono);font-size:14px;color:var(--accent-soft);letter-spacing:.08em}.step .num::before{content:counter(step,decimal-leading-zero)}.step h3{font-size:clamp(22px,3vw,30px)}.step p{color:var(--stone-2);margin-top:8px;max-width:56ch}.bullets{list-style:none;padding:0;margin:0;display:grid;gap:16px}.bullets li{display:grid;grid-template-columns:22px 1fr;gap:14px;align-items:start}.bullets li::before{content:"";width:12px;height:12px;margin-top:7px;background:var(--accent);clip-path:polygon(50%0,100% 100%,0 100%)}.bullets strong{display:block;font-size:17px}.bullets span{color:var(--stone);font-size:14.5px}.stat{text-align:left}.proj .cap .t,.quote blockquote,.stat .n{font-family:var(--font-display)}.stat .n{font-size:clamp(40px,6vw,68px);line-height:1;color:var(--accent-soft)}.stat .l{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone-2);margin-top:10px}.proj{position:relative;border-radius:6px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:var(--paper-2)}.proj img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.proj:hover img{transform:scale(1.05)}.proj .cap{position:absolute;inset:auto 0 0 0;padding:16px 18px;background:linear-gradient(transparent,rgb(28 35 49/.85));color:var(--paper);font-size:14px}.proj .cap .t{font-size:18px}.faq summary,.quote{display:flex;gap:18px}.quote{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:clamp(26px,3vw,40px);flex-direction:column}.quote .stars{color:var(--accent);font-size:15px;letter-spacing:2px}.quote blockquote{margin:0;font-size:clamp(18px,2vw,22px);line-height:1.4}.quote .who{font-size:13.5px;color:var(--stone)}.quote .who strong{color:var(--ink);display:block;font-size:15px}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;padding:22px 0;justify-content:space-between;align-items:center;font-family:var(--font-display);font-size:clamp(18px,2.2vw,23px)}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font-family:var(--font-mono);font-size:24px;color:var(--accent-deep);transition:transform .2s ease}.faq details[open] summary::after{transform:rotate(45deg)}.faq .answer{padding:0 0 24px;color:var(--stone);max-width:70ch}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:start}@media (max-width:820px){.contact-grid{grid-template-columns:1fr;gap:36px}}.contact-info,.form{display:grid;gap:22px}.contact-info .row{display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:start}.contact-info .row svg{width:22px;color:var(--accent-soft);margin-top:3px}.contact-info .row a{color:var(--paper);text-decoration:none}.contact-info .label,.form label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone-2)}.form{gap:16px}.form .field{display:grid;gap:7px}.form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:560px){.form .field-row{grid-template-columns:1fr}}.form label{letter-spacing:.1em}.form input,.form select,.form textarea{font-family:var(--font-sans);font-size:16px;padding:13px 15px;border-radius:6px;border:1px solid rgb(255 255 255/.16);background:rgb(255 255 255/.05);color:var(--paper);width:100%}.form input::placeholder,.form textarea::placeholder{color:var(--stone-2)}.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--accent-soft);background:rgb(255 255 255/.08)}.form textarea{resize:vertical;min-height:120px}.form .form-msg{font-size:14px;padding:12px 14px;border-radius:6px;display:none}.form .hp{position:absolute;left:-9999px}.site-footer{background:var(--anthracite);color:var(--paper)}.site-footer a{color:var(--accent-soft);text-decoration:none}.site-footer a:hover{text-decoration:underline}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(28px,4vw,56px)}@media (max-width:720px){.footer-grid{grid-template-columns:1fr;gap:32px}}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand .brand-name,.hero-slide-label b{font-family:var(--font-display);font-size:22px}.footer-col h4{letter-spacing:.14em;font-weight:500;margin-bottom:14px}.footer-col ul{list-style:none;padding:0;display:grid;gap:10px}.footer-bottom,.footer-col a,.footer-col h4{color:var(--stone-2)}.footer-col a:hover{color:var(--paper);text-decoration:none}.footer-bottom,.footer-col h4{font-family:var(--font-mono);font-size:11px;text-transform:uppercase}.footer-bottom{border-top:1px solid rgb(255 255 255/.1);margin-top:clamp(36px,5vw,56px);padding-top:24px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;letter-spacing:.1em}.divider{height:1px;background:var(--line);border:0;margin:0}.mobile-callbar a,.pill{align-items:center;color:var(--on-accent)}.pill{display:inline-flex;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--accent);padding:6px 12px;border-radius:100px}.mobile-callbar{display:none;position:fixed;inset:auto 0 0 0;z-index:999;background:var(--accent);color:var(--on-accent)}.mobile-callbar a{display:flex;justify-content:center;gap:10px;padding:15px;text-decoration:none;font-weight:600;font-size:16px}.mobile-callbar svg{width:20px}@media (max-width:720px){.mobile-callbar{display:block}body{padding-bottom:54px}}figcaption{font-size:13px;color:var(--stone);margin-top:8px}.hero{position:relative}.hero-slides{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-slide{position:absolute;inset:0;opacity:0;transform:scale(1.12);transition:opacity 1.2s ease;will-change:opacity,transform}.hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(31 42 61/.55)0,rgb(31 42 61/.78) 60%,rgb(31 42 61/.92) 100%),linear-gradient(105deg,rgb(31 42 61/.85)0,rgb(31 42 61/.25) 55%,transparent 100%)}.hero-slide img{width:100%;height:100%;object-fit:cover}.hero-slide.is-active{opacity:1;transform:scale(1);transition:opacity 1.2s ease,transform 8s ease-out}.hero-bottom,.hero-mid,.hero-top{z-index:2}.hero-mid{transform:translateY(calc(var(--py, 0)*.45px));transition:opacity .1s linear}.hero-bottom,.hero-mid,.hero-top{opacity:var(--hero-fade,1)}.hero-top{transform:translateY(calc(var(--py, 0)*.25px))}.hero-bottom{transform:translateY(calc(var(--py, 0)*.7px))}.hero-slides{transform:translateY(calc(var(--py, 0)*.15px))}.hero-controls{position:absolute;z-index:3;right:var(--gut);bottom:clamp(28px,4vw,52px);display:flex;align-items:center;gap:12px}.hero-arrow{width:46px;height:46px;border-radius:50%;border:1px solid rgb(255 255 255/.28);background:rgb(255 255 255/.06);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--paper);display:grid;place-items:center;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.hero-arrow:hover{background:var(--accent);border-color:var(--accent);transform:scale(1.08)}.hero-arrow svg{width:18px}.hero-dots{display:flex;gap:8px;margin-right:6px}.hero-dot{width:28px;height:3px;border-radius:2px;border:0;background:rgb(255 255 255/.3);cursor:pointer;padding:0;transition:background .3s ease;position:relative;overflow:hidden}.hero-dot.is-active{background:rgb(255 255 255/.4)}.hero-dot.is-active::after{content:"";position:absolute;inset:0;background:var(--accent-soft);transform-origin:left;animation:hero-progress var(--slide-dur,6s) linear forwards}.hero-slide-label{z-index:3;left:var(--gut);bottom:clamp(28px,4vw,52px);font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone-2);display:flex;align-items:center;gap:12px;opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}.hero-slide-label b{color:var(--paper);font-size:16px;letter-spacing:0;text-transform:none}.hero-slide-label::before{content:"";width:22px;height:1px;background:var(--accent-soft)}@media (max-width:720px){.hero-controls{bottom:16px}.hero-slide-label{display:none}.hero-arrow{width:40px;height:40px}}@media (prefers-reduced-motion:no-preference){.reveal-up{opacity:0;transform:translateY(40px)}.reveal-left{opacity:0;transform:translateX(-40px)}.reveal-right{opacity:0;transform:translateX(40px)}.reveal-left,.reveal-right,.reveal-up{transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}}.stagger>*{opacity:0;transform:translateY(28px)}.parallax-band{position:relative;overflow:hidden}.parallax-deco{position:absolute;z-index:0;pointer-events:none;opacity:.5;will-change:transform}.parallax-band .wrap{position:relative;z-index:1}.deco-chevron{width:clamp(220px,36vw,520px);color:var(--accent);opacity:.06;top:-8%;right:-6%}.band-dark .deco-chevron{color:var(--accent-soft);opacity:.08}.stat .n{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:no-preference){.svc-card{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,border-color .3s ease}.svc-card:hover{transform:translateY(-8px) scale(1.01)}.svc-card:hover .svc-icon{transform:translateY(-2px) rotate(-3deg)}.svc-card:hover .svc-icon,.svc-icon{transition:transform .3s ease}.btn-primary{position:relative;overflow:hidden}.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgb(255 255 255/.25) 50%,transparent 70%);transform:translateX(-120%)}.btn-primary:hover::after{animation:btn-sheen .7s ease}@keyframes btn-sheen{to{transform:translateX(120%)}}.step{transition:padding-left .3s ease}.step:hover{padding-left:10px}.step:hover .num{color:var(--paper)}.hero h1{animation:hero-title 1s cubic-bezier(.16,1,.3,1) both}.hero .sub{animation:hero-fade 1s ease .25s both}.hero-actions{animation:hero-fade 1s ease .45s both}@keyframes hero-title{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:none}}@keyframes hero-fade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}}@media (prefers-reduced-motion:reduce){.hero-slide.is-active{transition:opacity .4s ease;transform:none}.hero-dot.is-active::after{animation:none;background:var(--accent-soft)}.hero-bottom,.hero-mid,.hero-slides,.hero-top{transform:none;opacity:1}}