:root{--paper: oklch(94.4% .013 78);--paper-2: oklch(91.4% .015 78);--paper-3: oklch(88% .017 78);--surface: oklch(97.8% .007 80);--ink: oklch(21% .015 35);--ink-soft: oklch(34% .014 35);--muted: oklch(45% .013 35);--accent: oklch(51% .175 29);--accent-deep: oklch(43% .15 29);--accent-soft: oklch(51% .175 29 / .14);--ink-bg: oklch(22% .016 35);--ink-bg-2: oklch(26% .017 35);--paper-on-ink: oklch(95% .007 45);--muted-on-ink: oklch(72% .012 40);--line: oklch(21% .015 35 / .14);--line-soft: oklch(21% .015 35 / .07);--line-on-ink: oklch(95% .007 45 / .18);--font-display: "Bricolage Grotesque", "Arial Narrow", sans-serif;--font-body: "Familjen Grotesk", "Segoe UI", system-ui, sans-serif;--fs-hero: clamp(3.25rem, 10vw, 8.25rem);--fs-h2: clamp(2.1rem, 4.8vw, 4.25rem);--fs-h3: clamp(1.25rem, 1.9vw, 1.55rem);--fs-manifesto: clamp(1.55rem, 3.6vw, 2.9rem);--fs-body: 1.0625rem;--fs-sm: .9375rem;--fs-label: .8125rem;--space-2xs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--space-4xl: 96px;--space-5xl: 128px;--section-pad: clamp(88px, 11vw, 152px);--r-xs: 3px;--r-sm: 6px;--r-md: 12px;--ease-out: cubic-bezier(.25, 1, .5, 1);--ease-expo: cubic-bezier(.16, 1, .3, 1);--ease-inout: cubic-bezier(.65, 0, .35, 1);--dur-fast: .18s;--dur-md: .35s;--dur-slow: .7s;--z-header: 100;--z-nav: 110;--z-progress: 120;--z-cursor: 999;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:var(--fs-body);line-height:1.7;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:clip}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}img,svg{display:block}p,ul,ol,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}h1,h2,h3{margin:0;font-family:var(--font-display);font-optical-sizing:auto;font-weight:700;line-height:1.02;letter-spacing:-.02em;text-wrap:balance}::selection{background:var(--accent);color:#fcf7f6}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-xs)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:min(1200px,100% - clamp(40px,8vw,80px));margin-inline:auto}.container--narrow{max-width:800px}.reveal{opacity:0}.reveal--up{transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:none;transition:opacity .8s var(--ease-out) var(--reveal-delay, 0ms),transform .9s var(--ease-expo) var(--reveal-delay, 0ms)}.line{display:block;overflow:hidden;padding-block:.04em}.line-inner{display:inline-block;transform:translateY(115%);will-change:transform}.hero .line-inner{animation:line-up 1s var(--ease-expo) forwards}.hero .line:nth-child(1) .line-inner{animation-delay:.12s}.hero .line:nth-child(2) .line-inner{animation-delay:.24s}.hero .line:nth-child(3) .line-inner{animation-delay:.36s}@keyframes line-up{to{transform:translateY(0)}}[data-line-reveal]{transform:translateY(115%);transition:transform 1s var(--ease-expo)}[data-line-reveal].is-visible{transform:translateY(0)}.line:nth-child(2) [data-line-reveal]{transition-delay:.12s}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:var(--z-progress);pointer-events:none}.scroll-progress span{display:block;height:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0)}.cursor-label{position:fixed;top:0;left:0;pointer-events:none;z-index:var(--z-cursor);padding:10px 18px;border-radius:999px;background:var(--ink);color:var(--paper-on-ink);font-size:var(--fs-sm);font-weight:500;white-space:nowrap;opacity:0;transition:opacity .25s var(--ease-out)}body.cursor-view .cursor-label{opacity:1}.site-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);transition:background-color .4s,box-shadow .4s}.site-header.is-scrolled{background:#f1ece3e6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line-soft)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding-block:18px;transition:padding .4s var(--ease-out)}.site-header.is-scrolled .site-header__inner{padding-block:12px}.wordmark{font-family:var(--font-display);font-weight:800;font-size:1.3rem;letter-spacing:-.02em;line-height:1}.wordmark__dot{color:var(--accent)}.wordmark--light{color:var(--paper-on-ink)}.site-nav{display:flex;align-items:center;gap:clamp(18px,2.6vw,34px)}.site-nav a{position:relative;font-size:var(--fs-sm);font-weight:500;color:var(--ink-soft);transition:color var(--dur-fast);padding-block:6px}.site-nav a sup{font-size:.62em;font-weight:600;color:var(--accent);margin-right:4px;letter-spacing:.03em}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--ink);transition:right .35s var(--ease-expo)}.site-nav a:hover,.site-nav a[aria-current=true]{color:var(--ink)}.site-nav a:hover:after,.site-nav a[aria-current=true]:after{right:0}.site-nav__cta{display:none}.nav-toggle{display:none;position:relative;z-index:var(--z-nav);width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer}.nav-toggle span{position:absolute;left:10px;right:10px;height:2px;background:var(--ink);border-radius:2px;transition:transform .4s var(--ease-expo),top .4s var(--ease-expo)}.nav-toggle span:nth-child(1){top:18px}.nav-toggle span:nth-child(2){top:26px}.nav-toggle[aria-expanded=true] span:nth-child(1){top:22px;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){top:22px;transform:rotate(-45deg)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 28px;border:1px solid transparent;border-radius:var(--r-xs);font-weight:600;font-size:var(--fs-sm);letter-spacing:.01em;cursor:pointer;transition:background-color var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast),transform .3s var(--ease-out);will-change:transform}.btn svg{transition:transform .35s var(--ease-expo)}.btn:hover svg{transform:translate(4px)}.btn--accent{background:var(--accent);color:#fcf7f6}.btn--accent:hover{background:var(--accent-deep)}.btn--line{border-color:var(--line);color:var(--ink);background:transparent}.btn--line:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn--sm{padding:10px 20px}.btn--lg{padding:18px 36px;font-size:1rem}.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding-top:clamp(96px,14vh,150px);padding-bottom:var(--space-3xl)}.page-grid{position:absolute;top:0;right:0;bottom:0;left:0;width:min(1200px,100% - clamp(40px,8vw,80px));margin-inline:auto;pointer-events:none}.page-grid i{position:absolute;top:0;bottom:0;width:1px;background:var(--line-soft)}.page-grid i:nth-child(1){left:25%}.page-grid i:nth-child(2){left:50%}.page-grid i:nth-child(3){left:75%}.hero__inner{position:relative}.hero__meta{display:flex;flex-wrap:wrap;gap:var(--space-md) var(--space-xl);font-size:var(--fs-label);font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:clamp(24px,4vh,48px)}.hero__meta-item{display:inline-flex;align-items:center;gap:10px}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 2.4s var(--ease-inout) infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--accent-soft)}50%{box-shadow:0 0 0 9px transparent}}.hero__headline{font-size:var(--fs-hero);font-weight:800;letter-spacing:-.03em;line-height:.98;margin:0 0 clamp(32px,5vh,56px) -.04em}.hero__accent{font-style:normal;color:var(--accent)}.hero__foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-xl)}.hero__body{max-width:44ch;font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.6;color:var(--ink-soft)}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-md)}.marquee{overflow:hidden;padding-block:clamp(20px,3vw,36px);border-block:1px solid var(--line-soft)}.marquee__track{display:flex;align-items:center;gap:clamp(28px,4vw,56px);width:max-content;animation:marquee-scroll 36s linear infinite}.marquee span{font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,5.5vw,4.6rem);line-height:1.1;text-transform:uppercase;letter-spacing:-.01em;color:transparent;-webkit-text-stroke:1.5px oklch(21% .015 35 / .6);white-space:nowrap}.marquee i{font-style:normal;color:var(--accent);font-size:clamp(1.6rem,3vw,2.6rem);line-height:1}@keyframes marquee-scroll{to{transform:translate(-50%)}}.stats{padding-block:clamp(48px,7vw,88px)}.stats__inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-xl) var(--space-lg)}.stat{display:grid;gap:6px;padding-left:var(--space-md);position:relative}.stat:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:1px;background:var(--line)}.stat__number{font-family:var(--font-display);font-weight:800;font-size:clamp(2.3rem,4vw,3.4rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat__number small{font-size:.5em;font-weight:700;color:var(--accent);margin-left:2px}.stat__label{font-size:var(--fs-label);font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.manifesto{padding-block:var(--section-pad)}.manifesto__text{max-width:26ch;font-family:var(--font-display);font-weight:700;font-size:var(--fs-manifesto);line-height:1.22;letter-spacing:-.015em}.manifesto__text .tw-word{display:inline-block}.manifesto__text .tw-word--accent{color:var(--accent)}.manifesto__text .tw-char{visibility:hidden}.manifesto__text .tw-char.is-on{visibility:visible}.tw-caret{position:relative}.tw-caret:after{content:"";position:absolute;right:-.1em;top:.06em;bottom:.04em;width:.055em;background:var(--accent);animation:caret-blink .9s steps(1) infinite}@keyframes caret-blink{50%{opacity:0}}.section{padding-block:var(--section-pad);scroll-margin-top:64px}.section--tint{background:var(--paper-2)}.section--ink{background:var(--ink-bg);color:var(--paper-on-ink)}.section-head{margin-bottom:clamp(48px,7vw,88px)}.index-label{display:inline-flex;align-items:baseline;gap:10px;font-size:var(--fs-label);font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-bottom:var(--space-lg)}.index-label span{color:var(--accent);font-variant-numeric:tabular-nums}.index-label--light{color:var(--muted-on-ink)}.section-title{font-size:var(--fs-h2);font-weight:800;letter-spacing:-.025em;margin-left:-.03em}.section-sub{max-width:52ch;margin-top:var(--space-lg);color:var(--muted);font-size:var(--fs-body)}.services{border-top:1px solid var(--line)}.service{border-bottom:1px solid var(--line)}.service__row{position:relative;display:grid;grid-template-columns:64px 1fr auto;grid-template-areas:"num title arrow" "num desc arrow";align-items:center;column-gap:clamp(16px,3vw,48px);padding:clamp(24px,3.6vw,44px) clamp(12px,2vw,28px);overflow:hidden;isolation:isolate}.service__row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--ink);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease-expo)}.service__row:hover:before{transform:scaleY(1);transform-origin:bottom}.service__num{grid-area:num;font-family:var(--font-display);font-weight:300;font-size:1.3rem;color:var(--muted);font-variant-numeric:tabular-nums;transition:color var(--dur-md)}.service__title{grid-area:title;font-size:clamp(1.6rem,3.4vw,2.7rem);font-weight:700;letter-spacing:-.02em;transition:color var(--dur-md),transform .45s var(--ease-expo)}.service__desc{grid-area:desc;max-width:56ch;margin-top:6px;font-size:var(--fs-sm);color:var(--muted);transition:color var(--dur-md)}.service__arrow{grid-area:arrow;display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--line);border-radius:50%;color:var(--ink);transition:background-color var(--dur-md),color var(--dur-md),border-color var(--dur-md),transform .45s var(--ease-expo)}.service__row:hover .service__num{color:var(--accent)}.service__row:hover .service__title{color:var(--paper);transform:translate(10px)}.service__row:hover .service__desc{color:var(--muted-on-ink)}.service__row:hover .service__arrow{background:var(--accent);border-color:var(--accent);color:#fcf7f6;transform:rotate(45deg)}.services-foot{margin-top:var(--space-xl);color:var(--muted);font-size:var(--fs-body)}.services-foot a{color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px;font-weight:600}.services-foot a:hover{color:var(--accent)}.section-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-lg);margin-top:clamp(56px,8vw,104px);padding-top:var(--space-xl);border-top:1px solid var(--line)}.section-cta__text{font-family:var(--font-display);font-weight:700;font-size:clamp(1.4rem,2.6vw,2.1rem);letter-spacing:-.02em}.projects{display:grid;gap:clamp(64px,9vw,120px)}.project{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(28px,4vw,64px);align-items:center}.project--flip{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}.project--flip .project__visual{order:2}.project--flip .project__meta{order:1}.project__visual{display:block;perspective:1200px}.project__frame{display:block;border-radius:var(--r-md);overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 2px #1f16140d,0 12px 40px -12px #1f16142e;transition:box-shadow .5s var(--ease-out),transform .5s var(--ease-out);transform-style:preserve-3d;will-change:transform}.project__visual:hover .project__frame{box-shadow:0 2px 4px #1f16140f,0 28px 64px -16px #1f161447}.browser-bar{display:flex;align-items:center;gap:var(--space-md);padding:10px 16px;background:var(--paper);border-bottom:1px solid var(--line-soft)}.browser-bar__dots{display:flex;gap:6px}.browser-bar__dots i{width:9px;height:9px;border-radius:50%;background:#1f161424}.browser-bar__url{flex:1;text-align:center;font-size:.78rem;font-weight:500;color:var(--muted);background:var(--surface);border-radius:999px;padding:4px 14px;max-width:260px;margin-inline:auto;border:1px solid var(--line-soft)}.project__shot{display:block;position:relative;aspect-ratio:16 / 10.5;overflow:hidden;background:var(--paper-2)}.project__shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left}.project__meta{display:grid;gap:var(--space-sm);justify-items:start}.project__index{font-family:var(--font-display);font-weight:300;font-size:1rem;letter-spacing:.08em;color:var(--muted)}.tag{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border-radius:999px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.tag--live{background:var(--accent-soft);color:var(--accent-deep)}.tag--live:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 2.4s var(--ease-inout) infinite}.tag--demo{border:1px solid var(--line);color:var(--muted)}.project__title{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:800;letter-spacing:-.02em}.project__desc{color:var(--muted);max-width:38ch}.project__link{position:relative;display:inline-flex;align-items:center;gap:8px;margin-top:var(--space-xs);font-weight:600;font-size:var(--fs-sm);color:var(--ink);padding-bottom:3px}.project__link:after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease-expo)}.project__link:hover:after{transform:scaleX(1);transform-origin:left}.project__link svg{transition:transform .35s var(--ease-expo)}.project__link:hover svg{transform:translate(2px,-2px)}.quality{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,6vw,96px);align-items:start}.quality__lead{font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.6;color:var(--ink-soft);max-width:46ch}.quality__list{margin-top:var(--space-xl);display:grid;gap:var(--space-md)}.quality__list li{position:relative;padding-left:34px;color:var(--muted);max-width:56ch}.quality__list li strong{color:var(--ink);font-weight:600}.quality__list li:before{content:"";position:absolute;left:0;top:.34em;width:18px;height:18px;border-radius:50%;background:var(--accent-soft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.5l2.5 2.5L13 6.5' fill='none' stroke='%23802b1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:100%}.quality__note{margin-top:var(--space-xl);font-weight:600;color:var(--ink)}.quality__gauges{border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(24px,3vw,40px);background:var(--surface)}.quality__gauges-label{font-size:var(--fs-sm);color:var(--muted);max-width:48ch;margin-bottom:var(--space-xl)}.gauges{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.gauge{position:relative;display:grid;justify-items:center;gap:var(--space-sm)}.gauge svg{width:min(100%,120px);transform:rotate(-90deg)}.gauge__track,.gauge__fill{fill:none;stroke-width:7;stroke-linecap:round}.gauge__track{stroke:var(--line-soft)}.gauge__fill{stroke:var(--accent);stroke-dasharray:326.7;stroke-dashoffset:calc(326.7 * (1 - var(--p, 0)));transition:stroke-dashoffset 1.6s var(--ease-expo) .2s}.gauge__value{position:absolute;top:calc(min(100%,120px)/2);left:50%;translate:-50% -58%;font-family:var(--font-display);font-weight:800;font-size:1.7rem;font-variant-numeric:tabular-nums}.gauge__name{font-size:var(--fs-label);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.speed{margin-top:var(--space-2xl);display:grid;gap:var(--space-md)}.speed__row{display:grid;grid-template-columns:130px 1fr 56px;align-items:center;gap:var(--space-md);font-size:var(--fs-sm)}.speed__who{color:var(--muted);font-weight:500}.speed__bar{height:10px;background:var(--paper-2);border-radius:999px;overflow:hidden}.speed__fill{display:block;height:100%;width:var(--w, 50%);border-radius:inherit;background:#1f161447;transform:scaleX(0);transform-origin:left;transition:transform 1.3s var(--ease-expo) .35s}.speed__fill--us{background:var(--accent)}.is-visible .speed__fill,.gauges-on .speed__fill{transform:scaleX(1)}.speed__time{font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.speed__note{margin-top:var(--space-md);font-size:.8rem;color:var(--muted);max-width:52ch}.process{display:grid;gap:0;border-top:1px solid var(--line);counter-reset:step}.process__step{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr);gap:clamp(20px,4vw,64px);align-items:start;padding-block:clamp(36px,5vw,64px);border-bottom:1px solid var(--line)}.process__num{font-family:var(--font-display);font-weight:800;font-size:clamp(4rem,9vw,7.5rem);line-height:.9;color:transparent;-webkit-text-stroke:1.5px oklch(21% .015 35 / .4);letter-spacing:-.03em;transition:color .5s var(--ease-out),-webkit-text-stroke-color .5s}.process__step:hover .process__num,.process__step.is-visible:hover .process__num{color:var(--accent);-webkit-text-stroke-color:var(--accent)}.process__body h3{font-size:var(--fs-h3);font-weight:700;margin-bottom:var(--space-sm)}.process__body p{color:var(--muted);max-width:52ch}.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(24px,3vw,48px);align-items:start}.quote{display:grid;gap:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--line)}.quote:nth-child(2){margin-top:var(--space-2xl)}.quote:nth-child(3){margin-top:var(--space-4xl)}.quote blockquote{position:relative}.quote blockquote:before{content:"”";display:block;font-family:var(--font-display);font-weight:800;font-size:3.4rem;line-height:.6;color:var(--accent);margin-bottom:var(--space-md)}.quote blockquote p{font-family:var(--font-display);font-weight:500;font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.4;letter-spacing:-.01em}.quote figcaption{display:grid;gap:2px}.quote__name{font-weight:600}.quote__role{font-size:var(--fs-sm);color:var(--muted)}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item__summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);width:100%;padding:clamp(20px,2.6vw,30px) 4px;background:none;border:0;cursor:pointer;text-align:left;font-family:var(--font-display);font-weight:600;font-size:clamp(1.05rem,1.6vw,1.3rem);letter-spacing:-.01em;transition:color var(--dur-fast)}.faq-item__summary:hover{color:var(--accent-deep)}.faq-item__icon{position:relative;flex:0 0 auto;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;transition:background-color var(--dur-md),border-color var(--dur-md),transform .45s var(--ease-expo)}.faq-item__icon:before,.faq-item__icon:after{content:"";position:absolute;top:50%;left:50%;width:12px;height:1.6px;background:currentColor;translate:-50% -50%;transition:rotate .45s var(--ease-expo)}.faq-item__icon:after{rotate:90deg}.faq-item.is-open .faq-item__icon{background:var(--accent);border-color:var(--accent);color:#fcf7f6;transform:rotate(45deg)}.faq-item__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease-expo)}.faq-item__body>div{overflow:hidden}.faq-item__body p{padding:0 4px clamp(20px,2.6vw,30px);max-width:65ch;color:var(--muted)}.faq-item__body a{color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px;font-weight:600}.faq-item__body a:hover{color:var(--accent)}.faq-item.is-open .faq-item__body{grid-template-rows:1fr}.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(48px,6vw,96px);align-items:start}.contact__headline{font-size:clamp(2.5rem,5.6vw,5rem);font-weight:800;letter-spacing:-.03em;line-height:1;margin:0 0 var(--space-lg) -.03em}.contact__body{color:var(--muted-on-ink);max-width:42ch;margin-bottom:var(--space-xl)}.contact__person{color:var(--paper-on-ink);font-weight:500;max-width:42ch;margin-bottom:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--line-on-ink)}.contact__direct{display:grid;gap:var(--space-sm);justify-items:start}.contact__direct a{display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:1.05rem;padding:8px 0;color:var(--paper-on-ink);transition:color var(--dur-fast)}.contact__direct a:hover{color:var(--accent)}.contact__direct svg{color:var(--accent)}.contact-form{display:grid;gap:var(--space-xl)}.contact-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl) var(--space-lg)}.field{display:grid;gap:8px}.field--full{grid-column:1 / -1}.field__label{font-size:var(--fs-label);font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-on-ink)}.field__optional{text-transform:none;letter-spacing:0;font-weight:400}.field input,.field textarea{width:100%;padding:12px 2px;background:transparent;border:0;border-bottom:1px solid var(--line-on-ink);border-radius:0;color:var(--paper-on-ink);transition:border-color var(--dur-md);resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#f3edeb80}.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--accent)}.field--error .field__label{color:#fb817a}.field--error input,.field--error textarea{border-bottom-color:#e9504d}.contact-form__trap{position:absolute;left:-9999px;opacity:0;pointer-events:none}.contact-form__footer{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-lg)}.form-status{font-size:var(--fs-sm);color:var(--muted-on-ink);min-height:1.4em}.form-status--success{color:#75d78d}.form-status--error{color:#ff958d;color:oklch(78% .14 25)}.form-status a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px}.field__error{font-size:var(--fs-label);line-height:1.4;color:#ff958d;color:oklch(78% .14 25)}.field__error:empty{display:none}.field--error .field__error{animation:field-error-in .35s var(--ease-out) both}@keyframes field-error-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.btn--loading{pointer-events:none}.btn--loading svg{display:none}.btn--loading:after{content:"";width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(1turn)}}.contact-form[hidden]{display:none}.form-done{display:grid;gap:var(--space-md);justify-items:start;align-content:start;padding-top:var(--space-sm);animation:done-in .6s var(--ease-out) both}.form-done[hidden]{display:none}.form-done:focus{outline:none}@keyframes done-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.form-done__check{width:54px;height:54px;margin-bottom:var(--space-sm)}.form-done__check circle{fill:none;stroke:#75d78d59;stroke-width:1.5}.form-done__check path{fill:none;stroke:#75d78d;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:28;stroke-dashoffset:28;animation:check-draw .45s .3s var(--ease-out) forwards}@keyframes check-draw{to{stroke-dashoffset:0}}.form-done__title{font-family:var(--font-display);font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:800;letter-spacing:-.02em;line-height:1.05}.form-done__body{max-width:44ch;color:var(--muted-on-ink)}.form-done__direct{font-size:var(--fs-sm);color:var(--muted-on-ink)}.form-done__direct a{color:var(--paper-on-ink);text-decoration:underline;text-underline-offset:3px;transition:color var(--dur-fast)}.form-done__direct a:hover{color:var(--accent)}.form-done__again{background:none;border:0;padding:8px 0 0;font:inherit;font-size:var(--fs-sm);font-weight:600;color:var(--muted-on-ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color var(--dur-fast)}.form-done__again:hover{color:var(--paper-on-ink)}.site-footer{position:relative;background:var(--ink-bg);color:var(--paper-on-ink);padding-block:var(--space-3xl) var(--space-xl);overflow:hidden;border-top:1px solid var(--line-on-ink)}.site-footer__giant{position:absolute;left:50%;bottom:-.34em;translate:-50%;font-family:var(--font-display);font-weight:800;font-size:clamp(6rem,17vw,15rem);line-height:1;letter-spacing:-.03em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px oklch(95% .007 45 / .1);pointer-events:none;-webkit-user-select:none;user-select:none}.site-footer__inner{position:relative;display:grid;gap:var(--space-xl);padding-bottom:clamp(64px,12vw,160px)}.footer-nav{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg)}.footer-nav a{font-size:var(--fs-sm);color:var(--muted-on-ink);transition:color var(--dur-fast);padding-block:4px}.footer-nav a:hover{color:var(--paper-on-ink)}.site-footer__copy{font-size:.85rem;color:#f3edeba3}.article{padding-top:clamp(120px,18vh,180px)}.breadcrumb{display:flex;gap:10px;font-size:var(--fs-label);font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:var(--space-xl)}.breadcrumb a{color:var(--accent-deep)}.breadcrumb a:hover{text-decoration:underline}.article h1{font-size:clamp(2.4rem,5.5vw,4rem);font-weight:800;letter-spacing:-.025em;margin-bottom:var(--space-lg)}.article__lead{font-size:clamp(1.15rem,1.6vw,1.3rem);line-height:1.6;color:var(--ink-soft);margin-bottom:var(--space-2xl)}.article h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:var(--space-2xl) 0 var(--space-md)}.article p{color:var(--ink-soft);max-width:70ch}.article ul{display:grid;gap:var(--space-sm);margin-block:var(--space-md)}.article ul li{position:relative;padding-left:30px;color:var(--ink-soft);max-width:70ch}.article ul li:before{content:"";position:absolute;left:4px;top:.56em;width:8px;height:8px;border-radius:50%;background:var(--accent)}.article a:not(.btn){color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px}.article-cta{margin-block:var(--space-3xl);padding:clamp(28px,4vw,48px);border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2);display:grid;gap:var(--space-md);justify-items:start}.article-cta h2{margin:0}.article-cta .btn{margin-top:var(--space-xs)}.article__related{padding-block:var(--space-2xl);font-size:var(--fs-sm);color:var(--muted)}@media (max-width: 1080px){.project,.project--flip{grid-template-columns:1fr;gap:var(--space-lg)}.project--flip .project__visual{order:0}.project--flip .project__meta{order:1}.quality,.contact{grid-template-columns:1fr}}@media (max-width: 860px){.site-header__cta{padding:9px 14px;font-size:.875rem}.nav-toggle{display:block}.site-nav{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-header);flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-md);padding:clamp(24px,8vw,64px);background:var(--paper);visibility:hidden;opacity:0;transition:opacity .4s var(--ease-out),visibility 0s .4s}.site-nav.is-open{visibility:visible;opacity:1;transition:opacity .4s var(--ease-out)}.site-nav a{font-family:var(--font-display);font-size:clamp(2rem,8vw,3rem);font-weight:700;letter-spacing:-.02em;color:var(--ink);transform:translateY(24px);opacity:0;transition:transform .5s var(--ease-expo),opacity .4s}.site-nav.is-open a{transform:none;opacity:1}.site-nav.is-open a:nth-child(1){transition-delay:60ms}.site-nav.is-open a:nth-child(2){transition-delay:.12s}.site-nav.is-open a:nth-child(3){transition-delay:.18s}.site-nav.is-open a:nth-child(4){transition-delay:.24s}.site-nav.is-open a:nth-child(5){transition-delay:.3s}.site-nav.is-open a:nth-child(6){transition-delay:.36s}.site-nav a:after{display:none}.site-nav a sup{font-size:.45em}.site-nav__cta{display:inline-flex;margin-top:var(--space-lg);color:var(--accent)!important}.hero{min-height:92svh}.hero__scroll-cue{display:none}.service__row{grid-template-columns:40px 1fr;grid-template-areas:"num title" "num desc";row-gap:4px}.service__arrow{display:none}.process__step{grid-template-columns:1fr;gap:var(--space-md)}.quote:nth-child(2),.quote:nth-child(3){margin-top:0}.contact-form__grid{grid-template-columns:1fr;gap:var(--space-lg)}.gauges{gap:var(--space-md)}.speed__row{grid-template-columns:104px 1fr 48px;gap:var(--space-sm)}}@media (max-width: 520px){.stats__inner{grid-template-columns:1fr 1fr}.hero__actions .btn{width:100%}.gauge__value{font-size:1.3rem}.site-header__inner{gap:var(--space-sm)}.wordmark{font-size:1.1rem}.site-header__cta{padding:8px 12px;font-size:.8125rem}.section-cta{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.reveal--up{opacity:1;transform:none}.line-inner,[data-line-reveal]{transform:none;animation:none}.marquee__track{animation:none}.manifesto__text .tw-char{visibility:visible}.tw-caret:after{display:none}.gauge__fill{stroke-dashoffset:calc(326.7 * (1 - var(--p, 1)))}.speed__fill{transform:scaleX(1)}.cursor-label{display:none}}
