:root{--bg: #050507;--bg-2: #0a0a0c;--fg: #f3f3f0;--fg-2: #cfcfca;--fg-3: #8a8a86;--fg-4: #4a4a47;--line: rgba(243, 243, 240, .12);--line-soft: rgba(243, 243, 240, .06);--hairline: 1px;--font-display: "Space Grotesk", "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--max: 1440px;--gutter: clamp(20px, 4vw, 56px);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);background-color:var(--bg);color:var(--fg);font-family:var(--font-display);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overscroll-behavior:none;overscroll-behavior-y:none}html{scroll-behavior:auto;background:var(--bg)}body{min-height:100vh;min-height:100dvh;overflow-x:hidden;cursor:none}@media (max-width: 768px){body{cursor:auto}}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit;background:transparent;border:none;outline:none}::selection{background:var(--fg);color:var(--bg)}img,svg{display:block}#scene{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;z-index:0;display:block;pointer-events:none}.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.13;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1.2 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:200px 200px;animation:grainShift 1.6s steps(6) infinite}@keyframes grainShift{0%{transform:translate(0)}20%{transform:translate(-2%,1%)}40%{transform:translate(1%,-2%)}60%{transform:translate(-1%,-1%)}80%{transform:translate(2%,2%)}to{transform:translate(0)}}body:before{content:"";position:fixed;inset:0;z-index:80;pointer-events:none;background:radial-gradient(120% 80% at 50% 50%,transparent 55%,rgba(0,0,0,.55) 100%),linear-gradient(180deg,rgba(0,0,0,.35) 0%,transparent 18%,transparent 82%,rgba(0,0,0,.55) 100%)}.loader{position:fixed;inset:0;z-index:200;background:var(--bg);overflow:hidden;transition:opacity .7s var(--ease-out),visibility .7s var(--ease-out)}.loader.loader--gone{opacity:0;visibility:hidden}.loader__ticks{position:absolute;top:0;left:0;right:0;height:10px;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.1) 0 1px,transparent 1px 5px);background-size:5px 100%}.loader__ticks-fill{position:absolute;top:0;left:0;bottom:0;width:0%;background-image:repeating-linear-gradient(90deg,#ffffff 0 1px,transparent 1px 5px);background-size:5px 100%;transition:none}.loader__center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:14px;padding:0 20px;text-align:center}.loader__mark{display:block}.loader__wordmark{font-family:var(--font-display);font-weight:500;font-size:clamp(15px,1.4vw,19px);letter-spacing:.18em;text-transform:uppercase;color:#fff}.loader__divider{width:64px;height:1px;background:#ffffff52}.loader__tagline{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#fff9}.loader__count{position:absolute;right:clamp(20px,4vw,64px);bottom:clamp(-12px,-1vw,0px);font-family:var(--font-display);font-weight:300;font-size:clamp(120px,22vw,280px);line-height:.85;letter-spacing:-.05em;color:#ffffff1a;user-select:none;pointer-events:none}@media (max-width: 600px){.loader__count{right:clamp(12px,4vw,24px);bottom:clamp(-8px,-1vw,0px);font-size:clamp(140px,32vw,220px)}}.topbar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:calc(clamp(18px,2.4vw,28px) + env(safe-area-inset-top)) calc(var(--gutter) + env(safe-area-inset-right)) clamp(18px,2.4vw,28px) calc(var(--gutter) + env(safe-area-inset-left));pointer-events:none;mix-blend-mode:difference;color:#fff}.topbar>*{pointer-events:auto}.wordmark{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:500;font-size:14px;letter-spacing:.04em}.wordmark__dot{width:8px;height:8px;background:#fff;border-radius:50%;box-shadow:0 0 0 2px #ffffff26;animation:pulseDot 2.4s var(--ease-in-out) infinite}@keyframes pulseDot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.65);opacity:.5}}.topbar__meta{display:flex;gap:22px;font-size:11px;letter-spacing:.12em;color:#ffffffb3}@media (max-width: 640px){.topbar__meta{display:none}}.mono{font-family:var(--font-mono);font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.progress{position:fixed;top:50%;right:var(--gutter);transform:translateY(-50%);z-index:100;pointer-events:none;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.6)}.progress ol{list-style:none;display:flex;flex-direction:column;gap:14px}.progress li{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#ffffffb3;transition:color .4s var(--ease-out),transform .4s var(--ease-out)}.progress li.is-active{color:#fff;transform:translate(-4px)}.progress li span{display:inline-block;width:22px;border-bottom:1px solid currentColor;opacity:.85}.progress li.is-active span{width:32px;opacity:1}@media (max-width: 900px){.progress{display:none}}main{position:relative;z-index:1}.section{position:relative;min-height:100vh;min-height:100dvh;padding:clamp(80px,12vh,140px) var(--gutter);display:flex;align-items:center;width:100%;max-width:var(--max);margin:0 auto}.grid__eyebrow{color:#ffffffdb;margin-bottom:24px}.grid__title{font-family:var(--font-display);font-weight:300;font-size:clamp(32px,4.8vw,68px);line-height:1.04;letter-spacing:-.022em;color:var(--fg);margin-bottom:32px}.grid__title em{font-style:normal;color:var(--fg-3)}.grid__body{font-size:clamp(15px,1.15vw,18px);line-height:1.55;color:var(--fg-2);max-width:52ch}.section--hero{align-items:center;justify-content:center;text-align:center;flex-direction:column}.hero__inner{display:flex;flex-direction:column;align-items:center;gap:28px;position:relative;z-index:2}.hero__eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--fg-3)}.pulse{width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 12px #fff9;animation:pulseDot 1.8s var(--ease-in-out) infinite}.hero__title{font-family:var(--font-display);font-weight:300;font-size:clamp(38px,11vw,180px);line-height:.94;letter-spacing:-.035em;color:var(--fg);text-wrap:balance}.hero__title .line{display:block;overflow:hidden}.hero__sub{font-size:clamp(16px,1.55vw,24px);line-height:1.5;font-weight:400;color:#fff;max-width:52ch;text-wrap:pretty}@media (max-width: 600px){.hero__inner{gap:22px}.hero__title{letter-spacing:-.025em}.hero__title,.hero__sub,.hero__eyebrow{text-shadow:0 1px 14px rgba(5,5,7,.78),0 0 3px rgba(5,5,7,.5)}.hero__sub{max-width:38ch}}.hero__cues{margin-top:22px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;justify-content:center}.cta{position:relative;display:inline-flex;align-items:center;gap:12px;padding:14px 22px;border:1px solid var(--line);border-radius:999px;color:var(--fg);font-size:13px;font-weight:500;letter-spacing:.02em;background:#ffffff05;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .35s var(--ease-out),border-color .35s var(--ease-out),transform .35s var(--ease-out),color .35s var(--ease-out);overflow:hidden;cursor:pointer}.cta:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:translate(-100%);transition:transform .7s var(--ease-out)}.cta:hover{border-color:#ffffff8c;background:#ffffff0f}.cta:hover:before{transform:translate(100%)}.cta:hover svg{transform:translate(4px)}.cta svg{transition:transform .35s var(--ease-out)}.cta--lg{padding:18px 28px;font-size:14px}.scrollhint{color:var(--fg-3);display:inline-flex;align-items:center;gap:12px}.scrollhint__line{display:inline-block;width:80px;height:1px;background:linear-gradient(90deg,var(--fg-3),transparent);position:relative;overflow:hidden}.scrollhint__line:after{content:"";position:absolute;inset:0 80% 0 0;background:var(--fg);animation:scrollLine 2.2s var(--ease-in-out) infinite}@keyframes scrollLine{0%{transform:translate(-100%)}60%{transform:translate(400%)}to{transform:translate(400%)}}.section--text .grid{max-width:720px;margin-left:0}.section--text.section--right .grid{margin-left:auto;margin-right:0}.pullquote{margin-top:44px;padding-left:24px;border-left:1px solid rgba(243,243,240,.35);font-family:var(--font-display);font-weight:300;font-style:italic;font-size:clamp(20px,2.2vw,30px);line-height:1.3;letter-spacing:-.015em;color:var(--fg);max-width:54ch}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,36px);margin-top:56px;border-top:1px solid var(--line);padding-top:32px}.metric__num{font-family:var(--font-display);font-weight:300;font-size:clamp(28px,3.2vw,44px);letter-spacing:-.025em;line-height:1.05;color:var(--fg)}.metric__lbl{margin-top:10px;color:#ffffffd1;font-size:10px;letter-spacing:.16em}@media (max-width: 720px){.metrics{grid-template-columns:1fr;gap:20px}}.section--services{flex-direction:column;align-items:stretch;justify-content:center;gap:64px}.services__head{display:flex;flex-direction:column;gap:16px;max-width:720px}.services__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.6vw,24px)}@media (max-width: 900px){.services__grid{grid-template-columns:1fr}}.card{position:relative;padding:32px 28px 28px;border:1px solid rgba(255,255,255,.14);background:#0505079e;backdrop-filter:blur(14px) saturate(.85);-webkit-backdrop-filter:blur(14px) saturate(.85);min-height:380px;display:flex;flex-direction:column;gap:16px;overflow:hidden;transition:background .5s var(--ease-out),border-color .5s var(--ease-out),transform .6s var(--ease-out)}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translate(-100%);transition:transform .9s var(--ease-out)}.card:hover{background:#0e0e12b8;border-color:#ffffff61;transform:translateY(-4px)}.card:hover:before{transform:translate(100%)}.card__index{color:#ffffffdb}.card__title{font-weight:400;font-size:clamp(22px,1.9vw,30px);letter-spacing:-.015em;color:var(--fg)}.card__body{font-size:14px;line-height:1.6;color:var(--fg)}.card__list{margin-top:auto;list-style:none;display:flex;flex-direction:column;gap:6px;color:#ffffffbf;font-size:10px}.section--process{flex-direction:column;align-items:stretch;justify-content:center;gap:56px}.process__head{display:flex;flex-direction:column;gap:16px;max-width:720px}.process__steps{list-style:none;display:flex;flex-direction:column;border-top:1px solid var(--line)}.process__steps li{display:grid;grid-template-columns:220px 1fr;gap:clamp(24px,4vw,80px);padding:28px 0;border-bottom:1px solid var(--line);align-items:baseline;transition:padding .5s var(--ease-out),background .5s var(--ease-out)}.process__steps li:hover{padding-left:16px;background:linear-gradient(90deg,rgba(255,255,255,.03),transparent 30%)}.step__num{color:#ffffffdb}.step__body{font-size:clamp(17px,1.6vw,26px);line-height:1.35;font-weight:300;letter-spacing:-.01em;color:var(--fg);max-width:62ch}.section--process .grid__eyebrow,.section--process .grid__title,.section--process .grid__body{text-shadow:0 0 28px rgba(5,5,7,.95),0 0 14px rgba(5,5,7,.9),0 1px 6px rgba(5,5,7,.8)}.section--process .step__num,.section--process .step__body{text-shadow:0 0 36px rgba(5,5,7,1),0 0 22px rgba(5,5,7,.95),0 0 12px rgba(5,5,7,.9),0 1px 4px rgba(5,5,7,.85)}@media (max-width: 720px){.process__steps li{grid-template-columns:1fr;gap:8px}}.section--pricing{flex-direction:column;align-items:stretch;justify-content:center;gap:56px}.pricing__head{display:flex;flex-direction:column;gap:18px;max-width:720px}.pricing__intro{font-size:clamp(15px,1.15vw,18px);line-height:1.55;color:var(--fg);max-width:52ch}.pricing__card{width:100%;max-width:620px;margin:0 auto;padding:44px 40px 36px;min-height:0;gap:22px}.pricing__trial{display:inline-flex;align-items:center;gap:10px;color:var(--fg);font-size:11px;letter-spacing:.18em}.pricing__price{font-family:var(--font-display);font-weight:300;font-size:clamp(56px,7.4vw,92px);line-height:.95;letter-spacing:-.04em;color:#fff;display:flex;align-items:baseline;flex-wrap:wrap}.pricing__amount{color:#fff}.pricing__period{font-size:.32em;font-weight:400;letter-spacing:0;color:var(--fg-2);margin-left:4px}.pricing__sub{font-size:14px;line-height:1.5;color:var(--fg);margin:-8px 0 4px}.pricing__sub strong{font-weight:500;color:#fff}.pricing__divider{height:1px;width:100%;background:#ffffff24}.pricing__incl-label{color:#ffffffdb;font-size:10px;letter-spacing:.18em;margin-bottom:-4px}.pricing__features{list-style:none;display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.5;color:var(--fg)}.pricing__features li{position:relative;padding-left:22px}.pricing__features li:before{content:"—";position:absolute;left:0;color:var(--fg-3)}.pricing__cta-row{margin-top:8px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.pricing__cta-note{color:#ffffffc7;font-size:10px;letter-spacing:.16em}.section--contact{flex-direction:column;align-items:stretch;justify-content:center;gap:32px;padding-bottom:calc(clamp(40px,8vh,80px) + env(safe-area-inset-bottom))}.contact__inner{position:relative;isolation:isolate}.contact__inner:before{content:"";position:absolute;inset:-48px -32px;z-index:-1;background:radial-gradient(85% 78% at 50% 55%,#050507b8,#05050780 50%,#05050700 92%);pointer-events:none;border-radius:28px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.contact__title,.contact__sub,.section--contact .grid__eyebrow{text-shadow:0 1px 24px rgba(5,5,7,.7)}.field{border-bottom-color:#f3f3f08c}.field input,.field textarea{text-shadow:0 1px 8px rgba(5,5,7,.6)}@media (max-width: 768px){.contact__inner:before{inset:-32px -16px;background:radial-gradient(80% 70% at 50% 55%,#050507c7,#0505078c,#05050700 90%);border-radius:24px;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}}.contact__inner{width:100%;max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:22px}.contact__title{font-family:var(--font-display);font-weight:300;font-size:clamp(40px,5.6vw,80px);line-height:1;letter-spacing:-.03em;color:var(--fg)}.contact__sub{color:var(--fg);font-size:clamp(15px,1.1vw,18px);line-height:1.55;max-width:48ch}.form{margin-top:28px;display:flex;flex-direction:column;gap:18px}.form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width: 640px){.form__row{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:8px;padding:14px 0 12px;border-bottom:1px solid rgba(243,243,240,.35);transition:border-color .35s var(--ease-out)}.field:focus-within{border-color:var(--fg)}.field__label{color:#fff;font-weight:500;font-size:12px;letter-spacing:.16em}.field input,.field textarea{font-family:var(--font-display);font-weight:400;font-size:clamp(17px,1.4vw,22px);line-height:1.3;color:#fff;resize:none;width:100%}.field input::placeholder,.field textarea::placeholder{color:#ffffff8c}.form__foot{margin-top:16px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.mailto{color:var(--fg);border-bottom:1px solid rgba(243,243,240,.45);padding-bottom:2px;transition:color .3s var(--ease-out),border-color .3s var(--ease-out)}.mailto:hover{color:#fff;border-color:#fff}.form__status{margin-top:8px;font-family:var(--font-mono);font-size:13px;color:var(--fg);min-height:18px}.form__status.is-ok{color:#fff}.form__status.is-err{color:#ff8e8e}.footer{margin-top:56px;padding-top:24px;border-top:1px solid rgba(243,243,240,.25);display:flex;align-items:center;gap:16px;color:var(--fg-2)}.footer__spacer{flex:1}.line>span{display:inline-block}[data-reveal]{opacity:0;transform:translateY(28px);will-change:transform,opacity}[data-reveal-line]{overflow:hidden}[data-reveal-line]>span{display:inline-block;transform:translateY(102%);will-change:transform}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}[data-reveal],[data-reveal-line]>span{opacity:1;transform:none}}
