@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_19208930-module__oXOaRW__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_19208930-module__oXOaRW__variable{--ff-display:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/91bd2e40df15814e-s.19s5evoqhirey.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.386o_ri1vb0yv.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.44dak0sams9f0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.3lxpqujs87tck.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Fallback;src:local(Arial);ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.0%;size-adjust:100.94%}.hanken_grotesk_bd08d4d4-module__Mq_9Lq__className{font-family:Hanken Grotesk,Hanken Grotesk Fallback;font-style:normal}.hanken_grotesk_bd08d4d4-module__Mq_9Lq__variable{--ff-sans:"Hanken Grotesk", "Hanken Grotesk Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_b348f500-module__QC1kXa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_b348f500-module__QC1kXa__variable{--ff-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--ink-900:#0c2742;--ink-850:#122f4e;--ink-800:#1b3c5e;--ink-700:#2e4a6b;--ink-600:#45607e;--ink-500:#6f86a4;--ink-400:#94a8c2;--ink-300:#b6c6db;--ink-200:#c3d2e2;--ink-100:#dce7f2;--ink-050:#edf3fb;--pure-white:#fff;--blue:#2563eb;--green:#1fa64a;--grad:linear-gradient(95deg, #2563eb 0%, #1fa64a 100%);--grad-soft:linear-gradient(95deg, #2563eb1f, #1fa64a1f);--signal:#2563eb;--signal-bright:#1b5bd8;--signal-dim:#1fa64a;--signal-ghost:#2563eb1a;--signal-line:#2563eb52;--net-node:#2563eb73;--net-link:#2563eb29;--glass-bg:#ffffff26;--glass-bg-strong:#ffffff4d;--glass-card:#1b386321;--glass-card-strong:#1b386330;--glass-border:#ffffffd9;--glass-blur:blur(26px) saturate(190%);--glass-sheen:linear-gradient(180deg, #ffffff8c 0%, #ffffff24 20%, #ffffff0a 60%, #ffffff1a 100%);--glass-inset:inset 0 1px 0 #fffffff2, inset 0 0 0 1px #ffffff47, inset 0 -8px 18px #1f48870a;--glass-shadow:0 16px 44px #143c7829;--bg:#dfe8f3;--bg-raised:#f6fafe;--surface:var(--pure-white);--surface-hover:#f6fafe;--border:var(--ink-100);--border-strong:var(--ink-200);--fg:var(--ink-900);--fg-secondary:var(--ink-600);--fg-muted:var(--ink-500);--fg-inverse:var(--pure-white);--accent:var(--signal);--accent-hover:var(--signal-bright);--accent-press:var(--signal-dim);--focus-ring:var(--signal);--positive:#1fa64a;--warning:#e0a019;--negative:#e0574b;--font-display:var(--ff-display,"Space Grotesk"), ui-sans-serif, system-ui, sans-serif;--font-sans:var(--ff-sans,"Hanken Grotesk"), ui-sans-serif, system-ui, sans-serif;--font-mono:var(--ff-mono,"JetBrains Mono"), ui-monospace, "SF Mono", Menlo, monospace;--text-display:clamp(3.5rem, 7vw, 6.5rem);--text-h1:clamp(2.5rem, 4.5vw, 3.75rem);--text-h2:clamp(1.875rem, 3vw, 2.5rem);--text-h3:1.5rem;--text-h4:1.25rem;--text-body-lg:1.125rem;--text-body:1rem;--text-sm:.875rem;--text-xs:.75rem;--text-mono-lbl:.75rem;--w-regular:400;--w-medium:500;--w-semibold:600;--w-bold:700;--lh-tight:1.02;--lh-snug:1.12;--lh-normal:1.45;--lh-relaxed:1.6;--track-tight:-.03em;--track-snug:-.015em;--track-normal:0;--track-label:.16em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--space-11:192px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--hairline:1px solid var(--border);--hairline-strong:1px solid var(--border-strong);--shadow-sm:0 1px 2px #0f2d5a0f;--shadow-md:0 10px 30px #143c781a;--shadow-lg:0 24px 64px #143c7824;--glow-signal:0 8px 22px #2563eb4d;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.14s;--dur-med:.26s;--dur-slow:.52s;--maxw:1200px}.ds-display{font-family:var(--font-display);font-weight:var(--w-bold);font-size:var(--text-display);line-height:var(--lh-tight);letter-spacing:var(--track-tight);color:var(--fg)}.ds-h1{font-family:var(--font-display);font-weight:var(--w-semibold);font-size:var(--text-h1);line-height:var(--lh-snug);letter-spacing:var(--track-snug);color:var(--fg)}.ds-h2{font-family:var(--font-display);font-weight:var(--w-semibold);font-size:var(--text-h2);line-height:var(--lh-snug);letter-spacing:var(--track-snug);color:var(--fg)}.ds-h3{font-family:var(--font-display);font-weight:var(--w-medium);font-size:var(--text-h3);letter-spacing:var(--track-snug);color:var(--fg);line-height:1.2}.ds-h4{font-family:var(--font-sans);font-weight:var(--w-semibold);font-size:var(--text-h4);color:var(--fg);line-height:1.3}.ds-body-lg{font-family:var(--font-sans);font-weight:var(--w-regular);font-size:var(--text-body-lg);line-height:var(--lh-relaxed);color:var(--fg-secondary)}.ds-body{font-family:var(--font-sans);font-weight:var(--w-regular);font-size:var(--text-body);line-height:var(--lh-normal);color:var(--fg-secondary)}.ds-sm{font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--lh-normal);color:var(--fg-muted)}.ds-label{font-family:var(--font-mono);font-weight:var(--w-medium);font-size:var(--text-mono-lbl);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--fg-muted)}.ds-mono{font-family:var(--font-mono);font-weight:var(--w-regular);font-size:var(--text-sm);color:var(--fg-secondary)}.ds-price{font-family:var(--font-mono);font-weight:var(--w-medium);font-variant-numeric:tabular-nums;letter-spacing:var(--track-snug)}.ds-accent{color:var(--accent)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow-x:hidden}::selection{background:var(--signal-ghost);color:var(--fg)}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.grad-text,.hero h1 em,.meta-item .num em,.rate-price .amt,.work-stat .v em{background:var(--grad);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.wrap{max-width:var(--maxw);padding:0 var(--space-6);margin:0 auto}.section{padding:var(--space-10) 0;position:relative}.section-tight{padding:var(--space-9) 0}.bg-field{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.app{z-index:1;position:relative}.eyebrow{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-mono-lbl);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--fg-muted);display:inline-flex}.eyebrow:before{content:"";background:var(--grad);border-radius:2px;width:6px;height:6px}.btn{align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--w-semibold);font-size:var(--text-sm);letter-spacing:-.01em;border-radius:var(--radius-pill);transition:transform var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), box-shadow var(--dur-med) var(--ease-out), color var(--dur-fast);will-change:transform;padding:12px 22px;display:inline-flex}.btn:active{transform:translateY(1px)scale(.99)}.btn-primary{background:var(--grad);color:var(--fg-inverse);box-shadow:inset 0 1px #fff6,0 4px 14px #2563eb42}.btn-primary:hover{filter:brightness(1.06);box-shadow:inset 0 1px 0 #ffffff80, var(--glow-signal);transform:translateY(-1px)}.btn-ghost{background-image:var(--glass-sheen);background-color:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);color:var(--fg);border:1px solid var(--glass-border);box-shadow:var(--glass-inset)}.btn-ghost:hover{background:var(--surface);border-color:var(--ink-400)}.btn-mono{font-family:var(--font-mono);font-weight:500}.btn .arrow{transition:transform var(--dur-med) var(--ease-out)}.btn:hover .arrow{transform:translate(3px)}.nav{z-index:50;transition:padding var(--dur-med) var(--ease-out);background:0 0;padding:14px 0;position:sticky;top:0}.nav.scrolled{padding:8px 0}.nav-inner{align-items:center;gap:var(--space-6);border-radius:var(--radius-pill);background-image:var(--glass-sheen);background-color:var(--glass-bg-strong);width:max-content;max-width:100%;height:56px;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-inset), var(--glass-shadow);margin:0 auto;padding:0 8px 0 20px;display:flex}.nav-links{align-items:center;gap:var(--space-6);display:flex}.nav-link{font-size:var(--text-sm);color:var(--fg-secondary);transition:color var(--dur-fast);font-weight:500;position:relative}.nav-link:hover,.nav-link.active{color:var(--fg)}.logo{align-items:center;gap:10px;display:inline-flex}.logo-mark{background-image:var(--glass-sheen);background-color:var(--glass-bg-strong);width:30px;height:30px;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-inset);border-radius:7px;flex:none;position:relative}.logo-word{font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg);font-size:16px;font-weight:600}.logo-word b{background:var(--grad);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700}.hero{align-items:center;min-height:100vh;padding-top:68px;display:flex;position:relative;overflow:hidden}.hero-canvas{z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-fade{z-index:1;pointer-events:none;background:radial-gradient(82% 78% at 24% 46%,#dfe8f3eb 0%,#dfe8f38c 46%,#0000 78%);position:absolute;inset:0}.hero-inner{z-index:2;position:relative}.hero h1{font-family:var(--font-display);font-weight:700;font-size:var(--text-display);line-height:var(--lh-tight);letter-spacing:var(--track-tight);max-width:16ch;margin:var(--space-5) 0 var(--space-5)}.hero h1 em{font-style:normal}.hero-sub{font-size:var(--text-body-lg);color:var(--fg-secondary);max-width:52ch;line-height:var(--lh-relaxed)}.hero-cta{gap:var(--space-3);margin-top:var(--space-7);flex-wrap:wrap;display:flex}.hero-meta{gap:var(--space-7);margin-top:var(--space-9);flex-wrap:wrap;display:flex}.meta-item .ds-price,.meta-item .num{font-family:var(--font-mono);color:var(--fg);letter-spacing:-.02em;font-size:1.6rem;font-weight:500}.meta-item .num em{font-style:normal}.meta-item .lbl{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--fg-muted);margin-top:4px}.sec-head{justify-content:space-between;align-items:flex-end;gap:var(--space-6);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.sec-head h2{font-family:var(--font-display);font-weight:600;font-size:var(--text-h2);letter-spacing:var(--track-snug);max-width:18ch;line-height:1.1}.sec-head p{color:var(--fg-secondary);max-width:42ch;margin-top:var(--space-3)}.rate-grid{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.rate-card{background-image:var(--glass-sheen);background-color:var(--glass-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);padding:var(--space-6);gap:var(--space-4);box-shadow:var(--glass-inset), var(--shadow-sm);transition:border-color var(--dur-med), transform var(--dur-med) var(--ease-out), box-shadow var(--dur-med), background-color var(--dur-med);border-radius:22px;flex-direction:column;display:flex;position:relative}.rate-card:hover{background-color:var(--glass-card-strong);box-shadow:var(--glass-inset), var(--glass-shadow);transform:translateY(-4px)}.rate-card.featured{border-color:var(--signal-line);background-color:var(--glass-card-strong);box-shadow:var(--glass-inset), var(--glass-shadow)}.rate-card.featured:after{content:"MOST BOOKED";top:-10px;left:var(--space-6);font-family:var(--font-mono);letter-spacing:.12em;background:var(--grad);color:var(--fg-inverse);border-radius:4px;padding:4px 8px;font-size:10px;position:absolute}.rate-name{font-family:var(--font-display);font-weight:600;font-size:var(--text-h4)}.rate-desc{font-size:var(--text-sm);color:var(--fg-muted);min-height:2.6em;line-height:1.5}.rate-price{align-items:baseline;gap:6px;margin-top:auto;display:flex}.rate-price .amt{font-family:var(--font-mono);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:600}.rate-price .per{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg-muted)}.rate-list{padding-top:var(--space-4);border-top:1px solid var(--border);flex-direction:column;gap:10px;display:flex}.rate-feat{font-size:var(--text-sm);color:var(--fg-secondary);align-items:flex-start;gap:10px;display:flex}.rate-feat .ico{color:var(--green);flex:none;margin-top:2px}.work-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.work-card{background-image:var(--glass-sheen);background-color:var(--glass-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);padding:var(--space-6);box-shadow:var(--glass-inset), var(--shadow-sm);transition:border-color var(--dur-med), box-shadow var(--dur-med), transform var(--dur-med) var(--ease-out), background-color var(--dur-med);cursor:pointer;border-radius:22px}.work-card:hover{border-color:var(--signal-line);background-color:var(--glass-card-strong);box-shadow:var(--glass-inset), var(--glass-shadow);transform:translateY(-3px)}.work-top{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.work-tag{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted)}.work-card h3{font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:var(--space-3);font-size:1.4rem;font-weight:600}.work-card p{font-size:var(--text-sm);color:var(--fg-secondary);line-height:1.55}.work-stats{gap:var(--space-6);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border);display:flex}.work-stat .v{font-family:var(--font-mono);color:var(--fg);font-size:1.25rem;font-weight:600}.work-stat .v em{font-style:normal}.work-stat .k{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted);margin-top:2px;font-size:11px}.proc-grid{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.proc-step{border-top:1px solid var(--border);padding-top:var(--space-4)}.proc-step .no{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--signal)}.proc-step h4{font-family:var(--font-display);margin:var(--space-3) 0 var(--space-2);font-size:1.15rem;font-weight:500}.proc-step p{font-size:var(--text-sm);color:var(--fg-muted);line-height:1.5}.about{gap:var(--space-8);grid-template-columns:1.2fr 1fr;align-items:start;display:grid}.about p{color:var(--fg-secondary);font-size:var(--text-body-lg);line-height:var(--lh-relaxed);margin-bottom:var(--space-4)}.about p strong{color:var(--fg);font-weight:600}.stack-panel{background-image:var(--glass-sheen);background-color:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);padding:var(--space-6);box-shadow:var(--glass-inset), var(--shadow-sm);border-radius:22px}.stack-row{border-bottom:1px solid var(--border);font-size:var(--text-sm);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.stack-row:last-child{border-bottom:none}.stack-row .k{color:var(--fg-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em}.stack-row .v{color:var(--fg);font-family:var(--font-mono)}.chips{margin-top:var(--space-5);flex-wrap:wrap;gap:8px;display:flex}.chip{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-secondary);border:1px solid var(--border);border-radius:var(--radius-pill);transition:border-color var(--dur-fast), color var(--dur-fast);padding:6px 12px}.chip:hover{border-color:var(--signal-line);color:var(--signal)}.cta{border:1px solid var(--glass-border);padding:var(--space-9) var(--space-8);text-align:center;background-image:var(--glass-sheen), radial-gradient(120% 140% at 50% 0%, #2563eb1a, transparent 55%);background-color:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-inset), var(--glass-shadow);border-radius:26px;position:relative;overflow:hidden}.cta h2{font-family:var(--font-display);font-weight:700;font-size:var(--text-h1);letter-spacing:var(--track-snug);margin-bottom:var(--space-4)}.cta p{color:var(--fg-secondary);max-width:46ch;margin:0 auto var(--space-7)}.footer{border-top:1px solid var(--border);padding:var(--space-8) 0;margin-top:var(--space-10)}.footer-inner{justify-content:space-between;align-items:flex-start;gap:var(--space-6);flex-wrap:wrap;display:flex}.footer-col{flex-direction:column;gap:10px;display:flex}.footer-col .ds-label{margin-bottom:6px}.footer-col a{font-size:var(--text-sm);color:var(--fg-secondary);transition:color var(--dur-fast)}.footer-col a:hover{color:var(--signal)}.footer-bottom{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--border);color:var(--fg-muted);font-family:var(--font-mono);font-size:var(--text-xs);justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;display:flex}.reveal{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transform:translateY(18px)}.reveal.in{opacity:1;transform:none}.toast{background-image:var(--glass-sheen);background-color:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);color:var(--fg);border-radius:var(--radius-md);font-size:var(--text-sm);box-shadow:var(--shadow-lg);z-index:100;transition:transform var(--dur-med) var(--ease-out);align-items:center;gap:10px;padding:14px 20px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%,120%)}.toast.show{transform:translate(-50%)}.toast .dot{background:var(--grad);border-radius:50%;width:8px;height:8px}@media (max-width:900px){.rate-grid,.work-grid,.proc-grid,.about{grid-template-columns:1fr}.nav-links{display:none}}.skip-link{left:var(--space-4);z-index:200;background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--w-semibold);box-shadow:var(--shadow-md);transition:top var(--dur-fast) var(--ease-out);padding:10px 16px;position:absolute;top:-60px}.skip-link:focus{top:var(--space-4)}[id]{scroll-margin-top:96px}a:focus-visible,button:focus-visible,.chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius-xs)}.nav-link.active{color:var(--fg)}.nav-link.active:after{content:"";background:var(--grad);border-radius:2px;height:2px;position:absolute;bottom:-6px;left:0;right:0}@media (max-width:680px){.hero{min-height:auto;padding-top:120px;padding-bottom:var(--space-9)}.hero-meta{gap:var(--space-6)}.hero-cta .btn{flex:auto;justify-content:center}.sec-head{align-items:flex-start}.footer-bottom{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none;opacity:1!important;transform:none!important}.btn,.rate-card,.work-card,.chip,.toast,.btn .arrow{transition:none}}.work-open-ico{color:var(--fg-muted);transition:color var(--dur-fast), transform var(--dur-med) var(--ease-out)}.work-card:hover .work-open-ico,.work-card:focus-visible .work-open-ico{color:var(--signal);transform:translate(2px,-2px)}.work-more{margin-top:var(--space-5);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--fg-muted);transition:color var(--dur-fast);align-items:center;gap:6px;display:flex}.work-more .arrow{transition:transform var(--dur-med) var(--ease-out)}.work-card:hover .work-more,.work-card:focus-visible .work-more{color:var(--signal)}.work-card:hover .work-more .arrow,.work-card:focus-visible .work-more .arrow{transform:translate(3px)}html:has(.case-modal[open]){overflow:hidden}.case-modal{width:min(760px,92vw);max-width:92vw;color:var(--fg);background:0 0;border:none;margin:auto;padding:0}.case-modal::backdrop{-webkit-backdrop-filter:blur(3px);background:#0a203a75}.case-modal-inner{background-image:var(--glass-sheen);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-inset), var(--shadow-lg);padding:var(--space-8) var(--space-7) var(--space-7);background-color:#f6fafeeb;border-radius:22px;max-height:88vh;position:relative;overflow-y:auto}.case-modal[open] .case-modal-inner{animation:case-in .26s var(--ease-out)}@keyframes case-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}.case-close{width:38px;height:38px;color:var(--fg-secondary);border:1px solid var(--border);transition:color var(--dur-fast), background var(--dur-fast), border-color var(--dur-fast);background:#fff9;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:14px;right:14px}.case-close:hover{color:var(--fg);background:var(--surface);border-color:var(--ink-300)}.case-title{font-family:var(--font-display);letter-spacing:var(--track-snug);margin:var(--space-3) 0 var(--space-3);max-width:30ch;font-size:1.7rem;font-weight:600;line-height:1.15}.case-lead{color:var(--fg-secondary);font-size:var(--text-body-lg);line-height:var(--lh-relaxed)}.case-stats{gap:var(--space-7);margin:var(--space-6) 0;padding:var(--space-5) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.case-block{margin-top:var(--space-6)}.case-block>.ds-label{margin-bottom:var(--space-3);display:block}.case-block p{color:var(--fg-secondary);line-height:var(--lh-relaxed)}.case-list{flex-direction:column;gap:12px;list-style:none;display:flex}.case-list li{color:var(--fg-secondary);align-items:flex-start;gap:10px;line-height:1.5;display:flex}.case-list .ico{color:var(--green);flex:none;margin-top:3px}.case-meta{gap:var(--space-7);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.case-meta-col{gap:var(--space-3);flex-direction:column;display:flex}.case-meta-col .ds-label{display:block}.case-timeline{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg)}.case-cta{margin-top:var(--space-7);flex-wrap:wrap;gap:12px;display:flex}@media (prefers-reduced-motion:reduce){.case-modal[open] .case-modal-inner{animation:none}.work-open-ico,.work-more,.work-more .arrow{transition:none}}.faq-list{gap:var(--space-3);flex-direction:column;max-width:860px;display:flex}.faq-item{background-image:var(--glass-sheen);background-color:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-inset), var(--shadow-sm);overflow:hidden}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);font-family:var(--font-display);color:var(--ink-900);font-size:1.05rem;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-family:var(--font-mono);color:var(--signal);font-size:1.3rem;line-height:1;transition:transform .2s}.faq-item[open] summary:after{content:"−"}.faq-item summary:hover{color:var(--signal-bright)}.faq-item>p{padding:0 var(--space-5) var(--space-5);color:var(--ink-600);max-width:70ch;margin:0;line-height:1.65}
