:root{--green-900:#0c2a1f;--green-800:#103a2c;--green-700:#16513c;--green-600:#1f6b51;--green-500:#2c8a6b;--green-50: #eaf2ee;--gold: #c9a961;--gold-2: #b8964b;--paper: #faf8f3;--paper-2: #f3efe3;--paper-3: #ece6d4;--ink: #0e1a14;--ink-2: #2a3a31;--muted: #5a6b5e;--muted-2: #8a958c;--rule: rgba(14,26,20,.12);--shadow-sm: 0 1px 2px rgba(14,26,20,.04), 0 2px 8px rgba(14,26,20,.04);--shadow: 0 2px 4px rgba(14,26,20,.04), 0 12px 32px rgba(14,26,20,.08);--shadow-lg: 0 4px 8px rgba(14,26,20,.06), 0 24px 56px rgba(14,26,20,.12);--glow-gold: 0 0 0 1px rgba(201,169,97,.35), 0 12px 40px rgba(201,169,97,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--paper);color:var(--ink);font-family:Geist,system-ui,sans-serif;font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--green-700);color:var(--paper)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.serif{font-family:Fraunces,serif;font-optical-sizing:auto;font-variation-settings:"opsz" 96,"SOFT" 30}.italic-serif{font-family:"Instrument Serif",serif;font-style:italic}.mono{font-family:JetBrains Mono,monospace}.eyebrow{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--green-700);font-weight:500}.eyebrow.dim{color:var(--muted)}.h-display{font-family:Fraunces,serif;font-weight:300;letter-spacing:-.02em;line-height:.96}.h-section{font-family:Fraunces,serif;font-weight:340;letter-spacing:-.01em;line-height:1.02;font-size:clamp(40px,5vw,68px);margin:0}.h-section em{font-style:italic;font-family:"Instrument Serif",serif;font-weight:400;color:var(--green-700)}.wrap{max-width:1320px;margin:0 auto;padding:0 32px}section{padding:120px 0;position:relative}section+section{border-top:1px solid var(--rule)}.nav{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:100}.nav-pill{display:flex;align-items:center;gap:2px;height:48px;padding:0 7px;border-radius:999px;background:linear-gradient(180deg,#fff6,#faf8f347);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);border:1px solid rgba(255,255,255,.65);box-shadow:0 10px 36px #0e1a1424,0 2px 8px #0e1a140f,0 1px #ffffffd9 inset,0 0 0 .5px #fff3}.nav-ic{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);transition:background .2s,color .2s,transform .2s}.nav-ic:hover{background:#ffffff8c;color:var(--ink);transform:translateY(-1px)}.nav-ic svg{display:block}.nav-music{border:none;background:transparent;cursor:pointer;padding:0;color:var(--ink-2)}.nav-music.playing{color:var(--green-700)}.nav-music .eq{display:flex;align-items:center;justify-content:center;gap:2px;height:15px}.nav-music .eq span{width:2.5px;height:4px;border-radius:2px;background:currentColor;transition:height .2s ease}.nav-music.playing .eq span{animation:eqbar .9s ease-in-out infinite}.nav-music.playing .eq span:nth-child(1){animation-delay:0s}.nav-music.playing .eq span:nth-child(2){animation-delay:.22s}.nav-music.playing .eq span:nth-child(3){animation-delay:.44s}.nav-music.playing .eq span:nth-child(4){animation-delay:.13s}@keyframes eqbar{0%,to{height:4px}50%{height:14px}}@media (prefers-reduced-motion:reduce){.nav-music.playing .eq span{animation:none;height:9px}}.nav-sep{width:1px;height:18px;background:#0e1a1424;margin:0 5px;flex-shrink:0}.nav-menu-pill{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px 0 14px;border-radius:999px;border:none;cursor:pointer;background:var(--ink);color:var(--paper);font-family:Geist,sans-serif;font-size:13px;font-weight:600;letter-spacing:.01em;transition:background .2s,transform .2s}.nav-menu-pill:hover{background:#000;transform:translateY(-1px)}.nav-menu-lines{display:flex;flex-direction:column;gap:3px;width:14px}.nav-menu-lines span{display:block;height:1.6px;border-radius:2px;background:var(--paper);transition:transform .25s ease,opacity .25s ease}.nav-menu-lines span:first-child{width:14px}.nav-menu-lines span:last-child{width:9px;margin-left:auto}.nav-menu-pill.open .nav-menu-lines span:first-child{transform:translateY(2.3px) rotate(45deg)}.nav-menu-pill.open .nav-menu-lines span:last-child{width:14px;transform:translateY(-2.3px) rotate(-45deg)}.nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:98}.nav-menu-panel{position:fixed;top:76px;left:50%;transform:translate(-50%);z-index:99;width:min(88%,280px);background:linear-gradient(180deg,#ffffff80,#faf8f36b);backdrop-filter:saturate(180%) blur(26px);-webkit-backdrop-filter:saturate(180%) blur(26px);border:1px solid rgba(255,255,255,.6);border-radius:20px;padding:8px;box-shadow:0 18px 50px #0e1a142e,0 1px #ffffffb3 inset;display:flex;flex-direction:column;gap:2px;animation:navdrop .26s cubic-bezier(.34,1.3,.64,1)}@keyframes navdrop{0%{opacity:0;transform:translate(-50%) translateY(-10px) scale(.97)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.nav-menu-panel a{padding:12px 16px;border-radius:13px;font-family:Fraunces,serif;font-weight:300;font-size:17px;color:var(--ink-2);letter-spacing:-.01em;transition:background .18s,color .18s}.nav-menu-panel a:hover{background:#ffffff8c;color:var(--ink)}.nav-menu-panel a.nav-active{color:var(--green-800);background:#2c8a6b1f}.hero{padding-top:96px;padding-bottom:72px;border-top:none}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}.hero-stamp{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 8px;border-radius:999px;background:var(--paper-2);border:1px solid var(--rule);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--green-800);margin-bottom:20px}.hero-stamp .dot{width:8px;height:8px;border-radius:50%;background:var(--green-500);box-shadow:0 0 0 3px #2c8a6b2e;animation:pulse 2.4s infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #2c8a6b2e}50%{box-shadow:0 0 0 7px #2c8a6b0d}}.hero h1{font-family:Fraunces,serif;font-weight:300;font-size:clamp(28px,3.5vw,52px);line-height:1.05;letter-spacing:-.025em;margin:0;color:var(--ink)}.hero h1 em{font-style:italic;font-family:"Instrument Serif",serif;font-weight:400;color:var(--green-800);position:relative}.hero h1 em:after{content:"";position:absolute;left:-2%;right:-2%;bottom:8%;height:.18em;background:#c9a96180;border-radius:2px;z-index:-1}.hero .lede{font-family:Fraunces,serif;font-weight:300;font-size:17px;line-height:1.55;color:var(--ink-2);max-width:52ch;margin:20px 0 0}.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-size:14px;font-weight:500;letter-spacing:.005em;transition:all .25s ease;cursor:pointer;border:1px solid transparent}.btn svg{width:16px;height:16px;transition:transform .25s ease}.btn-primary{background:var(--green-800);color:var(--paper)}.btn-primary:hover{background:var(--green-900);transform:translateY(-2px);box-shadow:0 14px 30px #0c2a1f40}.btn-primary:hover svg{transform:translate(2px,-2px)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--rule)}.btn-ghost:hover{background:var(--paper-2);border-color:var(--ink-2)}.btn-gold{background:var(--gold);color:var(--green-900);font-weight:600}.btn-gold:hover{background:var(--gold-2);transform:translateY(-2px);box-shadow:0 14px 30px #c9a96159}.portrait-stack{position:relative;aspect-ratio:4/5;margin-right:24px;cursor:pointer}.portrait-stack:focus-visible{outline:2px solid var(--green-500);outline-offset:6px;border-radius:28px}.portrait{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:24px;overflow:hidden;background:var(--green-900);box-shadow:var(--shadow-lg);transition:transform .45s cubic-bezier(.34,1.56,.64,1),opacity .35s ease,z-index 0s .22s}.portrait-a{z-index:2;transform:none;opacity:1}.portrait-b{z-index:1;transform:rotate(7deg) translate(9%) translateY(2%);opacity:.9}.portrait-stack.flipped .portrait-a{z-index:1;transform:rotate(-7deg) translate(-9%) translateY(2%);opacity:.9}.portrait-stack.flipped .portrait-b{z-index:2;transform:none;opacity:1}.portrait-hint{position:absolute;top:14px;right:14px;z-index:4;display:flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:#0e1a148c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#faf8f3eb;opacity:0;transition:opacity .25s ease;pointer-events:none}.portrait-stack:hover .portrait-hint{opacity:1}.portrait img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center top}.nameplate{position:absolute;left:16px;right:16px;bottom:16px;background:#faf8f3eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;z-index:3;pointer-events:none}.nameplate .n{font-family:Fraunces,serif;font-size:22px;letter-spacing:-.01em}.nameplate .r{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--green-700);letter-spacing:.18em;text-transform:uppercase}.floats{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.float-tag{position:absolute;background:var(--paper);border:1px solid var(--rule);border-radius:10px;padding:8px 12px;font-size:12px;font-weight:500;box-shadow:var(--shadow)}.float-tag .ic{display:inline-flex;width:14px;height:14px;color:var(--green-700);vertical-align:-2px;margin-right:6px}.float-tag.t1{top:6%;left:-14%;transform:rotate(-3deg)}.float-tag.t2{top:36%;right:-12%;transform:rotate(2deg);background:var(--green-50);border-color:#16513c33;color:var(--green-800)}.float-tag.t3{bottom:24%;left:-18%;transform:rotate(2deg)}.hero-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.hero-metrics .m{padding:20px 24px;border-right:1px solid var(--rule)}.hero-metrics .m:last-child{border-right:none}.hero-metrics .v{font-family:Fraunces,serif;font-weight:300;font-size:32px;line-height:1;letter-spacing:-.02em;color:var(--green-800)}.hero-metrics .v sup{font-size:13px;color:var(--gold);margin-left:2px}.hero-metrics .l{font-size:12px;color:var(--muted);margin-top:6px}.marquee{overflow:hidden;border-bottom:1px solid var(--rule);background:var(--paper);padding:18px 0}.marquee-track{display:flex;gap:48px;animation:scroll 36s linear infinite;width:max-content}.marquee span{font-family:Fraunces,serif;font-style:italic;font-size:18px;color:var(--muted);white-space:nowrap}.marquee .dot{color:var(--gold)}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.about-lead{font-family:Fraunces,serif;font-weight:300;font-size:32px;line-height:1.25;letter-spacing:-.01em;color:var(--ink);margin:24px 0}.about-lead em{font-family:"Instrument Serif",serif;font-style:italic;color:var(--green-800)}.about-body{font-size:16px;line-height:1.7;color:var(--ink-2);max-width:54ch}.about-body p{margin:0 0 16px}.ident-card{background:var(--paper);border:1px solid var(--rule);border-radius:20px;padding:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.ident-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(80% 60% at 100% 0%,rgba(22,81,60,.06),transparent 60%);pointer-events:none}.ident-row{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--rule);margin-top:24px}.ident-side{padding:24px 0}.ident-side+.ident-side{border-left:1px solid var(--rule);padding-left:24px}.ident-side:first-child{padding-right:24px}.ident-side h4{font-family:Fraunces,serif;font-weight:400;font-size:22px;margin:8px 0 4px;letter-spacing:-.01em}.ident-side .role{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.18em;color:var(--green-700);text-transform:uppercase}.ident-side ul{list-style:none;padding:0;margin:14px 0 0;font-size:13px;color:var(--muted)}.ident-side li{padding:4px 0;display:flex;align-items:center;gap:8px}.ident-side li:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--gold);flex-shrink:0}.svc-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px;gap:32px;flex-wrap:wrap}.svc-head .lede{font-family:Fraunces,serif;font-weight:300;font-size:22px;color:var(--ink-2);max-width:46ch;line-height:1.4}.svc-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.svc{background:var(--paper);border:1px solid var(--rule);border-radius:20px;padding:28px;position:relative;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;display:flex;flex-direction:column;gap:14px;min-height:220px}.svc:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#16513c40}.svc .num{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted-2);letter-spacing:.18em}.svc .ic{width:46px;height:46px;border-radius:12px;background:var(--green-50);display:grid;place-items:center;color:var(--green-800)}.svc h3{font-family:Fraunces,serif;font-weight:400;font-size:24px;margin:0;letter-spacing:-.005em;line-height:1.15}.svc p{font-size:14px;color:var(--muted);margin:0;line-height:1.55}.svc .more{margin-top:auto;display:inline-flex;align-items:center;gap:6px;color:var(--green-800);font-size:13px;font-weight:500;opacity:0;transform:translateY(4px);transition:all .3s ease}.svc:hover .more{opacity:1;transform:translateY(0)}.svc.featured{grid-column:span 6;background:linear-gradient(160deg,var(--green-800),var(--green-900));color:var(--paper);border-color:transparent}.svc.featured .num{color:#faf8f38c}.svc.featured .ic{background:#c9a9612e;color:var(--gold)}.svc.featured h3{font-size:36px;font-weight:300}.svc.featured p{color:#faf8f3c7;font-size:16px;max-width:42ch}.svc.featured .more{color:var(--gold);opacity:1;transform:none}.svc.span-3{grid-column:span 3}.svc.span-4{grid-column:span 4}.svc.span-6{grid-column:span 6}.w3{background:var(--green-900);color:var(--paper);border-top:none}.w3:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(50% 40% at 20% 10%,rgba(201,169,97,.1),transparent 70%),radial-gradient(40% 50% at 90% 90%,rgba(44,138,107,.18),transparent 70%);pointer-events:none}.w3 .eyebrow{color:var(--gold)}.w3 .h-section{color:var(--paper)}.w3 .h-section em{color:var(--gold)}.w3-lede{font-family:Fraunces,serif;font-weight:300;font-size:22px;color:#faf8f3c7;max-width:54ch;line-height:1.4;margin-top:24px}.w3{overflow:hidden}.w3-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px;margin-top:60px;position:relative}.node{border:1px solid rgba(201,169,97,.22);border-radius:16px;padding:22px 18px;background:#faf8f308;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .35s ease;cursor:default;position:relative;overflow:hidden;min-width:0}.node:hover{border-color:var(--gold);background:#c9a96114;transform:translateY(-3px)}.node .n{font-family:JetBrains Mono,monospace;font-size:10px;color:#faf8f380;letter-spacing:.18em}.node h4{font-family:Fraunces,serif;font-weight:400;font-size:20px;margin:14px 0 6px;letter-spacing:-.005em}.node p{font-size:12px;color:#faf8f3a6;margin:0;line-height:1.45}.node.big{grid-column:span 2}.node.big h4{font-size:24px}.node-bespoke{grid-column:span 3}.w3-grid svg.lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.35}.proj-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px;gap:32px;flex-wrap:wrap}.proj-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.proj{grid-column:span 6;background:var(--paper);border:1px solid var(--rule);border-radius:20px;overflow:hidden;transition:all .35s ease;position:relative;display:flex;flex-direction:column}.proj:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#16513c40}.proj.span-12{grid-column:span 12}.proj.span-4{grid-column:span 4}.proj .vis{aspect-ratio:16/9;background:var(--paper-2);position:relative;overflow:hidden;display:grid;place-items:center}.proj.span-12 .vis{aspect-ratio:21/8}.proj.span-4 .vis{aspect-ratio:4/3}.proj .body{padding:24px 28px 28px;display:flex;flex-direction:column;gap:8px}.proj .meta{display:flex;justify-content:space-between;align-items:center;gap:12px}.proj .role{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.18em;color:var(--green-700);text-transform:uppercase}.proj .stat{font-size:11px;font-family:JetBrains Mono,monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.16em}.proj h3{font-family:Fraunces,serif;font-weight:400;font-size:30px;margin:0;letter-spacing:-.01em;line-height:1.1}.proj.span-12 h3{font-size:42px;font-weight:300}.proj.span-4 h3{font-size:24px}.proj p{font-size:14px;color:var(--muted);margin:0;max-width:54ch;line-height:1.55}.proj .stack{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.chip{font-size:11px;font-family:JetBrains Mono,monospace;padding:4px 10px;border-radius:999px;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--rule)}.mock-vallot{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:linear-gradient(140deg,#eef3ee,#dde8df)}.mock-vallot .device{width:62%;height:80%;background:var(--paper);border-radius:18px 18px 0 0;border:1px solid var(--rule);box-shadow:0 30px 60px #0e1a142e;position:relative;overflow:hidden;padding:18px}.mock-vallot .device .bar{height:6px;width:60px;background:var(--green-700);border-radius:3px}.mock-vallot .device h5{font-family:Fraunces,serif;font-weight:400;font-size:22px;margin:14px 0 6px}.mock-vallot .device .ticket{margin-top:14px;border:1px dashed var(--rule);border-radius:10px;padding:10px;display:flex;justify-content:space-between;align-items:center}.mock-vallot .device .ticket .price{font-family:JetBrains Mono,monospace;color:var(--green-700);font-size:13px}.mock-vallot .device .row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.mock-vallot .device .cell{height:50px;background:var(--paper-2);border-radius:8px}.mock-vallot .device .btn-mini{margin-top:14px;background:var(--green-800);color:var(--paper);text-align:center;padding:8px;border-radius:999px;font-size:12px}.mock-generic{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(135deg,rgba(14,26,20,.04) 0 8px,transparent 8px 16px),var(--paper-2);display:grid;place-items:center;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase}.mock-tg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#1c4a3a,#0e2a20);display:grid;place-items:center;padding:24px}.mock-tg .panel{width:80%;background:#faf8f30f;border:1px solid rgba(250,248,243,.12);border-radius:14px;padding:14px;color:var(--paper);font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.6}.mock-tg .ln{display:flex;gap:8px;align-items:flex-start}.mock-tg .tag{color:var(--gold)}.mock-tg .arrow{color:var(--green-500)}.mock-os{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(150deg,#f0ead8,#e3d9bd);display:grid;place-items:center}.mock-os .ring{width:60%;aspect-ratio:1;border-radius:50%;border:1px dashed var(--green-700);position:relative;display:grid;place-items:center}.mock-os .ring:before{content:"";position:absolute;width:80%;height:80%;border-radius:50%;border:1px dashed var(--green-700);opacity:.5}.mock-os .ring:after{content:"";position:absolute;width:60%;height:60%;border-radius:50%;border:1px dashed var(--green-700);opacity:.3}.mock-os .core{font-family:Fraunces,serif;font-style:italic;color:var(--green-800);font-size:24px;background:var(--paper);padding:12px 18px;border-radius:999px;border:1px solid var(--rule);z-index:1}.mock-comm{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#193b2d,#0c241b);display:grid;place-items:center}.mock-comm .nodes{position:relative;width:80%;height:80%}.mock-comm .dot{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #c9a96133}.proc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:60px;border:1px solid var(--rule);border-radius:20px;overflow:hidden;background:var(--paper)}.step{padding:36px 28px;border-right:1px solid var(--rule);position:relative;transition:background .3s}.step:last-child{border-right:none}.step:hover{background:var(--paper-2)}.step .num{font-family:Fraunces,serif;font-style:italic;font-weight:300;font-size:54px;color:var(--green-700);line-height:1;letter-spacing:-.03em}.step .num sup{font-size:14px;font-style:normal;font-family:JetBrains Mono,monospace;color:var(--gold);margin-left:4px;vertical-align:24px}.step h4{font-family:Fraunces,serif;font-weight:400;font-size:24px;margin:16px 0 6px;letter-spacing:-.005em}.step p{font-size:13px;color:var(--muted);margin:0;line-height:1.55}.step .arrow{position:absolute;right:-9px;top:50%;width:18px;height:18px;background:var(--paper);border-top:1px solid var(--rule);border-right:1px solid var(--rule);transform:translateY(-50%) rotate(45deg);z-index:2}.step:last-child .arrow{display:none}.cs-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:start}.cert-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px}.cert{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:20px;transition:all .3s ease;display:flex;gap:16px;align-items:flex-start}.cert:hover{border-color:var(--gold);box-shadow:var(--glow-gold);transform:translateY(-2px)}.cert .seal{width:46px;height:46px;border-radius:50%;background:var(--green-50);color:var(--green-800);display:grid;place-items:center;flex-shrink:0;border:1px solid rgba(22,81,60,.18)}.cert h4{font-family:Fraunces,serif;font-weight:400;font-size:18px;margin:0;letter-spacing:-.005em;line-height:1.2}.cert .iss{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-top:4px}.cert .yr{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--gold-2);font-weight:600}.skill-block{background:var(--paper);border:1px solid var(--rule);border-radius:18px;padding:24px;margin-top:14px}.skill-block h4{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--green-700);margin:0 0 16px}.skill-block .row{display:grid;grid-template-columns:1fr;gap:10px}.skill-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:13px;color:var(--ink-2)}.skill-bar .bar{flex:1;height:4px;background:var(--paper-2);border-radius:2px;overflow:hidden;margin:0 14px}.skill-bar .bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--green-700),var(--gold));border-radius:2px;transform-origin:left;animation:grow 1.4s ease forwards}@keyframes grow{0%{transform:scaleX(0)}}.skill-bar .pct{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted)}.res{background:linear-gradient(180deg,var(--paper-2) 0%,var(--paper) 100%)}.res-head{text-align:center;margin-bottom:60px}.res-head .h-section{max-width:18ch;margin:18px auto}.res-head .lede{font-family:Fraunces,serif;font-weight:300;font-size:20px;color:var(--ink-2);max-width:60ch;margin:0 auto;line-height:1.45}.featured-res{position:relative;border-radius:28px;padding:0;overflow:hidden;background:linear-gradient(160deg,var(--green-900) 0%,var(--green-800) 60%,#0a2118 100%);color:var(--paper);box-shadow:var(--shadow-lg);display:grid;grid-template-columns:1.3fr 1fr;gap:0}.featured-res:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(40% 60% at 100% 0%,rgba(201,169,97,.18),transparent 60%),radial-gradient(60% 80% at 0% 100%,rgba(44,138,107,.2),transparent 60%);pointer-events:none}.featured-res .left{padding:56px;position:relative;z-index:1}.featured-res .stamp{display:inline-flex;align-items:center;gap:10px;background:#c9a96126;border:1px solid rgba(201,169,97,.35);color:var(--gold);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:6px 14px;border-radius:999px}.featured-res h3{font-family:Fraunces,serif;font-weight:300;font-size:48px;letter-spacing:-.02em;line-height:1.05;margin:24px 0 18px}.featured-res h3 em{font-family:"Instrument Serif",serif;font-style:italic;color:var(--gold);font-weight:400}.featured-res .desc{font-size:16px;color:#faf8f3c7;margin:0 0 28px;max-width:48ch;line-height:1.55}.featured-res ul.inside{list-style:none;padding:24px 0 0;margin:0 0 36px;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;border-top:1px solid rgba(250,248,243,.12)}.featured-res ul.inside li{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:#faf8f3e0;line-height:1.4}.featured-res ul.inside li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:8px;box-shadow:0 0 0 3px #c9a96133}.featured-res .meta-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:24px}.featured-res .meta-row .item{font-family:JetBrains Mono,monospace;font-size:11px;color:#faf8f38c;letter-spacing:.14em;text-transform:uppercase}.featured-res .meta-row .item b{color:var(--gold);font-weight:600;margin-right:6px}.featured-res .cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.featured-res .price-tag{font-family:JetBrains Mono,monospace;font-size:11px;color:#faf8f399;letter-spacing:.18em;text-transform:uppercase}.featured-res .price-tag s{color:#faf8f366}.featured-res .price-tag b{color:var(--gold);margin-left:6px}.featured-res .right{position:relative;display:grid;place-items:center;padding:56px;z-index:1}.doc-mock{position:relative;width:100%;max-width:340px;aspect-ratio:3/4;background:linear-gradient(160deg,#fdfbf3,#f0e7cf);border-radius:8px 14px 14px 8px;box-shadow:0 30px 80px #0006,0 10px 30px #0000004d,-2px 0 #00000026 inset;padding:36px 28px;color:var(--green-900);overflow:hidden;transform:rotate(2deg) translateY(-6px);transition:transform .5s ease}.featured-res:hover .doc-mock{transform:rotate(0) translateY(-12px)}.doc-mock:before{content:"";position:absolute;left:0;top:0;bottom:0;width:14px;background:linear-gradient(90deg,rgba(0,0,0,.2),transparent)}.doc-mock .doc-mark{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.3em;color:var(--gold-2)}.doc-mock .doc-title{font-family:Fraunces,serif;font-weight:300;font-size:24px;line-height:1.1;letter-spacing:-.01em;margin:14px 0 18px}.doc-mock .doc-title em{font-family:"Instrument Serif",serif;font-style:italic;color:var(--green-700)}.doc-mock .doc-line{height:4px;background:var(--green-700);width:40px;border-radius:2px;margin-bottom:18px}.doc-mock .doc-toc{font-family:JetBrains Mono,monospace;font-size:9px;color:var(--green-800);opacity:.7;line-height:1.8;letter-spacing:.04em}.doc-mock .doc-foot{position:absolute;left:28px;right:28px;bottom:24px;display:flex;justify-content:space-between;font-family:JetBrains Mono,monospace;font-size:9px;color:var(--green-800);opacity:.6;letter-spacing:.16em}.doc-mock .seal{position:absolute;top:24px;right:24px;width:42px;height:42px;border-radius:50%;border:1px solid var(--green-800);display:grid;place-items:center;font-family:"Instrument Serif",serif;font-style:italic;color:var(--green-800);font-size:14px;transform:rotate(-8deg)}.sec-res{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.res-card{background:var(--paper);border:1px solid var(--rule);border-radius:18px;padding:28px;position:relative;overflow:hidden;cursor:pointer;transition:all .35s ease;display:flex;flex-direction:column;gap:14px;min-height:240px}.res-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,transparent 40%,rgba(201,169,97,.4) 50%,transparent 60%);opacity:0;transition:opacity .35s ease}.res-card:hover{transform:translateY(-6px);border-color:#c9a96166;box-shadow:var(--glow-gold)}.res-card:hover:before{opacity:1}.res-card .ic-wrap{width:46px;height:46px;border-radius:12px;background:var(--paper-2);display:grid;place-items:center;color:var(--green-800);transition:all .3s ease}.res-card:hover .ic-wrap{background:var(--green-800);color:var(--gold)}.res-card .tag{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.res-card h4{font-family:Fraunces,serif;font-weight:400;font-size:22px;margin:0;letter-spacing:-.005em;line-height:1.2}.res-card p{font-size:13px;color:var(--muted);margin:0;line-height:1.5}.res-card .dl{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--green-800);font-weight:500}.res-card .dl svg{width:16px;height:16px;transition:transform .3s ease}.res-card:hover .dl svg{transform:translateY(2px)}.res-card .pages{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--muted-2);letter-spacing:.16em}.contact{background:var(--green-900);color:var(--paper);position:relative;overflow:hidden}.contact:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(50% 60% at 100% 100%,rgba(201,169,97,.16),transparent 60%),radial-gradient(40% 50% at 0% 0%,rgba(44,138,107,.18),transparent 70%);pointer-events:none}.contact .h-section{color:var(--paper);font-size:clamp(48px,6vw,84px);max-width:18ch}.contact .h-section em{color:var(--gold)}.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:end;position:relative;z-index:1}.contact .lede{font-family:Fraunces,serif;font-weight:300;font-size:22px;color:#faf8f3c7;max-width:54ch;line-height:1.45;margin:24px 0 36px}.channels{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ch{display:flex;align-items:center;gap:14px;padding:18px;background:#faf8f30a;border:1px solid rgba(250,248,243,.1);border-radius:14px;transition:all .3s ease}.ch:hover{background:#c9a96114;border-color:#c9a96166;transform:translateY(-2px)}.ch .ic{width:40px;height:40px;border-radius:10px;background:#faf8f30f;display:grid;place-items:center;color:var(--gold);flex-shrink:0}.ch .l{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#faf8f38c}.ch .v{font-family:Fraunces,serif;font-size:18px;font-weight:400}.mock-fatcat{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(140deg,#0f0a1e,#1c1035);display:grid;place-items:center;overflow:hidden}.mock-fatcat:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 20px),repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 20px)}.mock-fatcat .fc-inner{text-align:center;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.mock-fatcat .fc-icon{font-size:44px;line-height:1;filter:drop-shadow(0 0 16px rgba(255,210,50,.55))}.mock-fatcat .fc-title{font-family:Fraunces,serif;font-style:italic;font-size:20px;color:#ffe566;letter-spacing:.04em;margin-top:10px;text-shadow:0 0 24px rgba(255,229,100,.45)}.mock-fatcat .fc-sub{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.28em;color:#ffffff61;text-transform:uppercase;margin-top:5px}.mock-fatcat .fc-bar{margin-top:14px;width:80px;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.mock-fatcat .fc-fill{width:62%;height:100%;background:linear-gradient(90deg,#ffe566,#ffb347);border-radius:3px}.mock-kandella{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(150deg,#fff9f2,#fdf0e0);display:flex;flex-direction:column;padding:16px 14px;gap:9px;overflow:hidden}.mock-kandella .k-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.mock-kandella .k-logo{height:7px;width:44%;background:var(--ink);border-radius:3px}.mock-kandella .k-dot{width:20px;height:20px;border-radius:50%;background:var(--gold);opacity:.7}.mock-kandella .k-card{background:#fff;border-radius:10px;padding:10px;border:1px solid rgba(0,0,0,.07);display:flex;gap:10px;align-items:center;flex-shrink:0;box-shadow:0 2px 8px #0000000d}.mock-kandella .k-date{width:34px;height:38px;background:var(--ink);border-radius:7px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.mock-kandella .k-date .d{height:9px;width:18px;background:#fff;border-radius:2px}.mock-kandella .k-date .m{height:5px;width:12px;background:#ffffff73;border-radius:2px}.mock-kandella .k-info{flex:1;display:flex;flex-direction:column;gap:5px}.mock-kandella .k-line{height:7px;background:#f0ece3;border-radius:2px}.mock-kandella .k-line.sm{height:5px;width:60%;background:#e8e3d8}.mock-sali{position:absolute;top:0;right:0;bottom:0;left:0;background:#f4f6fa;display:flex;overflow:hidden}.mock-sali .s-sidebar{width:32%;background:#fff;border-right:1px solid #e4e9f0;padding:14px 10px;display:flex;flex-direction:column;gap:6px}.mock-sali .s-logo{height:6px;width:55%;background:var(--green-700);border-radius:3px;margin-bottom:12px}.mock-sali .s-item{height:8px;border-radius:3px;background:#e8edf5}.mock-sali .s-item.act{background:var(--green-50);position:relative}.mock-sali .s-item.act:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--green-700);border-radius:2px}.mock-sali .s-main{flex:1;padding:12px;display:flex;flex-direction:column;gap:8px;overflow:hidden}.mock-sali .s-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px}.mock-sali .s-stat{background:#fff;border-radius:7px;padding:8px;border:1px solid #e4e9f0}.mock-sali .s-stat .val{height:7px;border-radius:2px;background:var(--green-700);width:60%;margin-bottom:5px}.mock-sali .s-stat .lab{height:5px;border-radius:2px;background:#e8edf5;width:80%}.mock-sali .s-table{background:#fff;border-radius:7px;border:1px solid #e4e9f0;padding:8px;display:flex;flex-direction:column;gap:5px}.mock-sali .s-row{height:7px;background:#f4f6fa;border-radius:2px}.mock-sali .s-row:first-child{height:7px;background:#e4e9f0;border-radius:2px;width:90%}.preview-container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--paper-2)}.preview-container iframe{position:absolute;top:0;left:0;border:none;pointer-events:none;width:1280px;transform-origin:0 0;opacity:0;transition:opacity .6s ease}.preview-container iframe.loaded{opacity:1}.preview-container .preview-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--paper-2) 25%,var(--paper-3) 50%,var(--paper-2) 75%);background-size:200% 100%;animation:shimmer 1.6s infinite;transition:opacity .4s ease}.preview-container iframe.loaded~.preview-shimmer{opacity:0;pointer-events:none}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.proj-link{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:8px 18px;border-radius:999px;border:1px solid var(--rule);font-size:13px;font-weight:500;color:var(--green-800);transition:all .25s ease;width:fit-content}.proj-link:hover{background:var(--green-800);color:var(--paper);border-color:var(--green-800)}.proj-link svg{width:14px;height:14px;transition:transform .25s ease}.proj-link:hover svg{transform:translate(2px,-2px)}.mock-aethel{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(140deg,#0a0a12,#12101e);display:grid;place-items:center;overflow:hidden}.mock-aethel:before{content:"";position:absolute;width:200px;height:200px;border-radius:50%;border:1px solid rgba(201,169,97,.25);top:50%;left:50%;transform:translate(-50%,-50%)}.mock-aethel:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;border:1px solid rgba(201,169,97,.45);top:50%;left:50%;transform:translate(-50%,-50%)}.mock-aethel .a-text{font-family:"Instrument Serif",serif;font-style:italic;font-size:22px;color:var(--gold);letter-spacing:.06em;z-index:1;text-align:center}.mock-aethel .a-sub{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:#c9a96199;margin-top:6px;z-index:1;text-align:center}.mock-blocly{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(140deg,#f0f4ff,#e6edff);display:grid;place-items:center;padding:24px}.mock-blocly .bl-card{width:78%;background:#fff;border-radius:14px;box-shadow:0 8px 32px #3c50c81f;padding:18px;font-family:JetBrains Mono,monospace}.mock-blocly .bl-bar{height:6px;border-radius:3px;background:#4a6cf7;width:40%;margin-bottom:14px}.mock-blocly .bl-row{display:flex;gap:8px;margin-bottom:8px}.mock-blocly .bl-tag{padding:3px 10px;border-radius:999px;font-size:10px;letter-spacing:.1em;background:#eef1ff;color:#4a6cf7;border:1px solid #c8d0ff}.mock-blocly .bl-line{height:8px;border-radius:4px;background:#eef1ff;margin:6px 0}.mock-blocly .bl-prog{margin-top:12px;display:flex;align-items:center;gap:8px;font-size:10px;color:#89c}.mock-blocly .bl-prog-bar{flex:1;height:4px;background:#eef1ff;border-radius:2px;overflow:hidden}.mock-blocly .bl-prog-fill{height:100%;width:62%;background:#4a6cf7;border-radius:2px}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;cursor:pointer;background:none;border:none;padding:4px}.hamburger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:all .3s ease}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu{display:none;position:fixed;top:82px;left:50%;transform:translate(-50%);width:min(92%,980px);background:#faf8f3b8;backdrop-filter:saturate(200%) blur(24px);-webkit-backdrop-filter:saturate(200%) blur(24px);border:1px solid rgba(255,255,255,.5);border-radius:16px;box-shadow:0 12px 40px #0e1a1424;padding:16px 24px 20px;z-index:99;flex-direction:column;gap:0;overflow-y:auto}.mobile-menu.open{display:flex}.mobile-menu a{font-size:16px;color:var(--ink-2);padding:12px 0;border-bottom:1px solid var(--rule);font-family:Fraunces,serif;font-weight:300;transition:color .2s;letter-spacing:-.01em}.mobile-menu a:hover{color:var(--green-800)}.mobile-menu a:last-of-type:not(.mob-cta){border-bottom:none}.mobile-menu .mob-cta{margin-top:24px;display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:999px;background:var(--green-800);color:var(--paper);font-size:14px;font-weight:500;width:fit-content;font-family:Geist,sans-serif}@media (max-width:1100px){.nav-links{display:none}.hamburger{display:flex}.nav-cta,.float-tag{display:none}.hero-grid{grid-template-columns:1fr;gap:48px}.portrait{max-width:540px;margin:0 auto}.hero-metrics{grid-template-columns:1fr 1fr}.hero-metrics .m{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}.hero-metrics .m:nth-child(2n){border-right:none}.hero-metrics .m:nth-last-child(-n+2){border-bottom:none}.about-grid{grid-template-columns:1fr;gap:40px}.svc-grid{grid-template-columns:repeat(6,1fr)}.svc.span-3,.svc.span-4{grid-column:span 3}.svc.featured,.svc.span-6{grid-column:span 6}.w3-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.node.big,.node-bespoke{grid-column:span 3}.proj-grid{grid-template-columns:repeat(6,1fr)}.proj,.proj.span-12,.proj.span-4{grid-column:span 6}.proc-grid{grid-template-columns:1fr 1fr}.step{border-right:none;border-bottom:1px solid var(--rule)}.step .arrow{display:none}.cs-grid{grid-template-columns:1fr;gap:40px}.featured-res{grid-template-columns:1fr}.featured-res .right{padding:24px 56px 56px}.sec-res{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:32px}.channels{grid-template-columns:1fr 1fr}}@media (max-width:768px){.wrap{padding:0 20px}section{padding:72px 0}.hero{padding-top:48px}.hero-grid{gap:32px}.hero h1{font-size:clamp(26px,6vw,42px);letter-spacing:-.02em}.hero .lede{font-size:16px}.hero-stamp{margin-bottom:16px;font-size:10px}.hero-metrics{grid-template-columns:1fr 1fr}.hero-metrics .m{padding:16px 14px}.hero-metrics .v{font-size:26px}.portrait{max-width:420px;margin:0 auto}.hero-ctas{gap:10px}.btn{padding:12px 18px;font-size:13px}.h-section{font-size:clamp(32px,8vw,52px)}.about-lead{font-size:26px}.svc-grid{grid-template-columns:1fr}.svc{min-height:180px}.svc.featured,.svc.span-3,.svc.span-4,.svc.span-6{grid-column:span 1}.svc.featured h3{font-size:28px}.w3-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.node.big,.node-bespoke{grid-column:span 2}.proj-grid{grid-template-columns:1fr}.proj,.proj.span-12,.proj.span-6,.proj.span-4{grid-column:span 1}.proj.span-12 .vis{aspect-ratio:16/9}.proj.span-12 h3{font-size:28px}.proc-grid{grid-template-columns:1fr}.step{border-right:none;border-bottom:1px solid var(--rule)}.step:last-child{border-bottom:none}.cs-grid,.cert-grid{grid-template-columns:1fr}.contact .h-section{font-size:clamp(36px,8vw,56px)}.featured-res .left{padding:32px 24px}.featured-res .right{padding:0 24px 32px}.featured-res h3{font-size:34px}.featured-res ul.inside,.sec-res{grid-template-columns:1fr}.contact-grid{gap:40px}.channels,.ident-row{grid-template-columns:1fr}.ident-side+.ident-side{border-left:none;border-top:1px solid var(--rule);padding-left:0;padding-top:24px}.svc-head{gap:20px}.skill-block .row{grid-template-columns:1fr}.w3-lede{font-size:18px;margin-top:16px}footer .row{flex-direction:column;align-items:center;text-align:center;gap:10px}}@media (max-width:430px){.wrap{padding:0 16px}section{padding:56px 0}.hero{padding-top:24px}.hero h1{font-size:clamp(24px,7vw,36px)}.hero h1 br{display:none}.hero .lede{font-size:16px;max-width:100%}.nav-inner{height:56px}.mobile-menu{top:56px}.brand{font-size:19px}.hero-metrics{grid-template-columns:1fr 1fr}.hero-metrics .m{padding:16px 12px}.hero-metrics .v{font-size:30px}.hero-metrics .l{font-size:11px}.portrait .nameplate .n{font-size:18px}.w3-grid{grid-template-columns:minmax(0,1fr)}.node.big,.node-bespoke{grid-column:span 1}.featured-res h3{font-size:28px}.doc-mock{max-width:260px}.channels{grid-template-columns:1fr}.hero-ctas{flex-direction:column;align-items:flex-start}.btn{width:100%;justify-content:center}.svc-head .lede{font-size:17px}.skill-bar{font-size:11px}.skill-bar .bar{margin:0 6px}.contact .h-section{font-size:clamp(32px,8vw,48px)}}.proj-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;gap:24px;flex-wrap:wrap}.carousel-controls{display:flex;gap:10px}.carousel-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--rule);background:var(--paper);cursor:pointer;display:grid;place-items:center;color:var(--ink);transition:all .25s ease}.carousel-btn:hover{background:var(--green-800);color:var(--paper);border-color:var(--green-800)}.carousel-btn svg{width:16px;height:16px}.carousel-dots{display:flex;gap:6px;justify-content:center;margin-top:20px}.carousel-dot{width:6px;height:6px;border-radius:50%;background:var(--paper-3);border:1px solid var(--rule);transition:all .3s ease}.carousel-dot.active{background:var(--green-700);width:20px;border-radius:3px;border-color:var(--green-700)}.proj-experience{margin-top:24px;background:linear-gradient(135deg,var(--paper-2),var(--paper));border:1px solid var(--rule);border-radius:20px;overflow:hidden}.proj-exp-body{padding:32px 36px;display:flex;flex-direction:column;gap:8px}.proj-experience h3{font-family:Fraunces,serif;font-weight:400;font-size:28px;margin:0;letter-spacing:-.01em}.proj-experience p{font-size:14px;color:var(--muted);margin:0;max-width:68ch;line-height:1.55}#experience{padding:96px 0}.exp-list{display:flex;flex-direction:column;gap:2px;margin-bottom:64px}.exp-card{display:grid;grid-template-columns:180px 1fr;gap:32px;padding:32px 0;border-bottom:1px solid var(--rule)}.exp-card:first-child{border-top:1px solid var(--rule)}.exp-left{display:flex;flex-direction:column;gap:6px;padding-top:4px}.exp-period{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ink-2);letter-spacing:.08em}.exp-type{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.exp-header{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.exp-role{font-family:Fraunces,serif;font-weight:400;font-size:22px;margin:0;letter-spacing:-.01em;color:var(--ink-1)}.exp-org{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--green-700);letter-spacing:.08em}.exp-bullets{margin:0 0 16px;padding-left:20px;display:flex;flex-direction:column;gap:6px}.exp-bullets li{font-size:15px;color:var(--ink-2);line-height:1.6}.exp-tags{display:flex;flex-wrap:wrap;gap:8px}.exp-edu-block{padding:32px 36px;background:var(--paper-2);border:1px solid var(--rule);border-radius:20px}.edu-card{display:grid;grid-template-columns:180px 1fr;gap:32px}.edu-right{display:flex;flex-direction:column;gap:4px}.edu-note{font-size:14px;color:var(--muted);margin:10px 0 0;line-height:1.6;max-width:60ch}@media (max-width:768px){.exp-card,.edu-card{grid-template-columns:1fr;gap:8px}.exp-edu-block{padding:24px 20px}}.proj-carousel{display:flex;gap:20px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.proj-carousel::-webkit-scrollbar{display:none}.proj-preview-card{flex:0 0 calc(44% - 10px);border-radius:16px;overflow:hidden;cursor:pointer;position:relative;aspect-ratio:16/10;background:var(--paper-2);border:1px solid var(--rule);transition:transform .3s ease,box-shadow .3s ease;outline:none}.proj-preview-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.proj-preview-card:focus-visible{box-shadow:0 0 0 3px var(--green-500)}.proj-preview-card .preview-container{position:absolute;top:0;right:0;bottom:0;left:0}.proj-preview-card .mock-fill{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:linear-gradient(160deg,#1c4a3a,#0e2a20);padding:16px}.card-hover-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;background:linear-gradient(to top,rgba(10,20,14,.75) 0%,transparent 55%);opacity:0;transition:opacity .3s ease}.proj-preview-card:hover .card-hover-label{opacity:1}.card-hover-name{font-family:Fraunces,serif;color:#fff;font-size:16px;font-weight:400;line-height:1.2}.card-hover-cta{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#ffffffb3;margin-top:4px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0e1a148c;display:grid;place-items:center;padding:20px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--paper);border-radius:20px;max-width:640px;width:100%;max-height:90vh;overflow-y:auto;padding:36px 36px 28px;position:relative;box-shadow:var(--shadow-lg);animation:slideUp .25s ease}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}.modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:1px solid var(--rule);background:var(--paper-2);cursor:pointer;display:grid;place-items:center;color:var(--ink-2);transition:all .2s}.modal-close:hover{background:var(--ink);color:var(--paper)}.modal-header{margin-bottom:24px}.modal-header .eyebrow{margin-bottom:6px;display:block}.modal-title{font-family:Fraunces,serif;font-weight:300;font-size:clamp(28px,5vw,40px);letter-spacing:-.02em;margin:8px 0 0;line-height:1.05;color:var(--ink)}.modal-body-card{background:var(--paper-2);border:1px solid var(--rule);border-radius:14px;padding:22px;margin-bottom:24px}.modal-section{margin-bottom:18px}.modal-section:last-child{margin-bottom:0}.modal-label{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--green-700);font-weight:600;display:block;margin-bottom:8px}.modal-text{font-size:14px;color:var(--ink-2);line-height:1.6;margin:0}.modal-divider{height:1px;background:var(--rule);margin:18px 0}.modal-meta-row{display:flex;gap:32px;flex-wrap:wrap}.modal-meta-row>div{display:flex;flex-direction:column;gap:4px}.modal-val{font-size:14px;color:var(--ink-2);font-weight:500}.modal-stack{margin-top:0!important}.chip-green{background:var(--green-50)!important;color:var(--green-800)!important;border-color:#16513c33!important}.modal-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.modal-visit{gap:8px}.modal-nav-btns{display:flex;gap:8px}.modal-nav-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;border:1px solid var(--rule);background:var(--paper);cursor:pointer;font-size:13px;color:var(--ink-2);font-weight:500;transition:all .2s}.modal-nav-btn:hover{background:var(--paper-2);color:var(--ink)}.modal-counter{text-align:center;margin-top:18px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.2em;color:var(--muted)}.skills-head{margin-bottom:36px}.stack-icons-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.stack-icon-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;border-radius:12px;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.08em;font-weight:500;transition:transform .25s ease,box-shadow .25s ease}.stack-icon-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000002e}@media (max-width:1100px){.nav-links,.nav-right{display:none}.hamburger{display:flex}.proj-preview-card{flex:0 0 calc(56% - 10px)}.stack-icons-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:768px){.hero{padding-top:80px}.proj-preview-card{flex:0 0 80%}.proj-head{flex-direction:column;align-items:flex-start;gap:16px}.proj-exp-body{padding:24px 20px}.stack-icons-grid{grid-template-columns:repeat(3,1fr)}.modal{padding:24px 20px 20px;border-radius:16px}.modal-meta-row{gap:20px}.cs-grid{grid-template-columns:1fr}.portrait-stack{max-width:420px;margin:0 auto}}@media (max-width:480px){.hero{padding-top:72px}.proj-preview-card{flex:0 0 90%}.stack-icons-grid{grid-template-columns:repeat(3,1fr);gap:8px}.stack-icon-card{padding:12px 8px;font-size:9px}.nav{top:10px;border-radius:14px}.nav-inner{height:46px;padding:0 14px}.mobile-menu{top:70px}.brand{font-size:14px}.brand-logo{width:20px;height:20px}}.nav-links a{transition:color .2s,background .2s;border-radius:6px;padding:4px 10px;margin:0 -10px}.nav-links a.nav-active{color:var(--green-800);background:#2c8a6b1a}.skills-split{display:grid;grid-template-columns:1fr 1fr;gap:32px}.skills-col-label{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;font-weight:500}.skills-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.skills-list li{font-size:15px;color:var(--ink-2);padding-left:16px;position:relative;line-height:1.5}.skills-list li:before{content:"→";position:absolute;left:0;color:var(--green-700);font-size:12px;top:2px}.skills-list--muted li{color:var(--muted)}.skills-list--muted li:before{color:var(--muted)}@media (max-width:600px){.skills-split{grid-template-columns:1fr}}.tcarousel{margin:56px 0;max-width:720px}.tcarousel-item{margin:0;animation:tfade .5s ease}@keyframes tfade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tcarousel-quote{font-family:Fraunces,serif;font-weight:300;font-size:clamp(20px,2.6vw,28px);line-height:1.5;color:var(--ink-1);margin:0 0 18px;letter-spacing:-.01em}.tcarousel-author{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--ink-1);letter-spacing:.02em}.tcarousel-author span{color:var(--muted)}.tcarousel-dots{display:flex;gap:8px;margin-top:24px}.tcarousel-dot{width:7px;height:7px;border-radius:50%;padding:0;background:var(--paper-3);border:1px solid var(--rule);cursor:pointer;transition:all .3s ease}.tcarousel-dot.active{background:var(--green-700);border-color:var(--green-700);width:22px;border-radius:4px}.contact-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#faf8f38c}.form-field input,.form-field textarea{background:#faf8f312;border:1px solid rgba(250,248,243,.15);border-radius:10px;padding:12px 14px;font-family:Geist,sans-serif;font-size:15px;color:var(--paper);outline:none;transition:border-color .2s;resize:none}.form-field input::placeholder,.form-field textarea::placeholder{color:#faf8f34d}.form-field input:focus,.form-field textarea:focus{border-color:var(--green-700)}.form-sent{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#2c8a6b1f;border:1px solid rgba(44,138,107,.3);border-radius:12px;font-size:15px;color:var(--paper)}.form-sent span{color:var(--green-500);font-size:18px}.form-error{font-size:13px;color:#f87171;margin:0}@media (max-width:580px){.form-row{grid-template-columns:1fr}}.site-footer{background:#141a17;border-top:1px solid rgba(255,255,255,.06);padding:48px 0 32px}.footer-inner{display:flex;flex-direction:column;gap:32px}.footer-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.footer-brand{display:flex;align-items:center;gap:10px;font-family:Fraunces,serif;font-size:18px;color:var(--paper);font-weight:400}.footer-status{display:flex;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:12px;color:#faf8f399;letter-spacing:.06em}.footer-dot{width:8px;height:8px;border-radius:50%;background:var(--green-500);box-shadow:0 0 0 3px #2c8a6b40;animation:pulse 2.4s infinite;flex-shrink:0}.footer-mid{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:24px;border-top:1px solid rgba(255,255,255,.07)}.footer-links,.footer-socials{display:flex;align-items:center;gap:24px}.footer-links a,.footer-socials a{font-size:14px;color:#faf8f38c;text-decoration:none;transition:color .2s}.footer-links a:hover,.footer-socials a:hover{color:var(--paper)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-family:JetBrains Mono,monospace;font-size:11px;color:#faf8f359;letter-spacing:.04em}@media (max-width:600px){.footer-mid,.footer-top{flex-direction:column;align-items:flex-start}}@media (max-width:1200px){.wrap{padding:0 28px}}@media (max-width:1100px){.nav-links,.nav-right{display:none}.hamburger{display:flex}.hero-grid{grid-template-columns:1fr;gap:40px}.portrait-stack{width:100%;max-width:440px;margin:0 auto;justify-self:center}.hero-metrics{grid-template-columns:repeat(2,1fr)}.about-grid{grid-template-columns:1fr;gap:40px}.exp-card,.edu-card{grid-template-columns:140px 1fr;gap:24px}.skills-split{grid-template-columns:1fr 1fr;gap:28px}.contact-grid{grid-template-columns:1fr;gap:40px}.channels{grid-template-columns:repeat(2,1fr)}}@media (max-width:860px){.wrap{padding:0 22px}section{padding:80px 0}.stack-icons-grid{grid-template-columns:repeat(4,1fr)}.proj-preview-card{flex:0 0 72%}.proj-head{flex-direction:column;align-items:flex-start;gap:16px}.modal{padding:28px 24px;border-radius:18px}}@media (max-width:680px){.wrap{padding:0 18px}section{padding:64px 0}.hero{padding-top:84px}.hero h1{font-size:clamp(26px,7.5vw,40px)}.hero .lede{font-size:16px;max-width:100%}.hero-ctas{gap:10px}.hero-metrics{grid-template-columns:repeat(2,1fr)}.portrait-stack{max-width:360px}.exp-card{grid-template-columns:1fr;gap:10px;padding:24px 0}.exp-left{flex-direction:row;align-items:center;gap:12px}.edu-card{grid-template-columns:1fr;gap:10px}.exp-edu-block{padding:24px 20px}.skills-split{grid-template-columns:1fr;gap:28px}.stack-icons-grid{grid-template-columns:repeat(3,1fr);gap:10px}.proj-preview-card{flex:0 0 82%}.channels,.contact-form .form-row{grid-template-columns:1fr}.footer-top,.footer-mid{flex-direction:column;align-items:flex-start;gap:18px}.footer-links{flex-wrap:wrap;gap:16px 20px}}@media (max-width:520px){.nav{top:12px}.nav-pill{height:44px;gap:0}.nav-ic{width:34px;height:34px}.nav-sep{margin:0 3px}.nav-menu-pill{height:34px;padding:0 14px 0 12px;font-size:12px}.nav-menu-panel{top:66px}.hero{padding-top:76px}.hero h1{letter-spacing:-.02em}.hero-ctas{flex-direction:column;align-items:stretch}.hero-ctas .btn{width:100%;justify-content:center}.portrait-stack{max-width:300px}.nameplate{left:12px;right:12px;bottom:12px;padding:11px 13px}.nameplate .n{font-size:18px}.nameplate .r{font-size:10px}.stack-icons-grid{grid-template-columns:repeat(3,1fr);gap:8px}.stack-icon-card{padding:12px 8px;font-size:9px}.proj-preview-card{flex:0 0 88%}.tcarousel-quote{font-size:19px}}@media (max-width:400px){.wrap{padding:0 14px}section{padding:52px 0}.hero h1{font-size:clamp(23px,8vw,32px)}.hero-metrics{grid-template-columns:1fr}.stack-icons-grid{grid-template-columns:repeat(2,1fr)}.portrait-stack{max-width:260px}.exp-left{flex-direction:column;align-items:flex-start;gap:4px}.proj-preview-card{flex:0 0 90%}.tcarousel-quote{font-size:18px}}@media (max-width:360px){.brand{font-size:15px}.hero h1{font-size:22px}.h-section{font-size:clamp(28px,9vw,36px)}.stack-icon-card{font-size:8px;padding:10px 6px}}.proj-showmore{display:flex;justify-content:center;margin-top:40px}.page{padding:120px 0 96px;min-height:70vh}.wrap-narrow{max-width:1080px;margin:0 auto;padding:0 32px}.back-link{display:inline-flex;align-items:center;gap:7px;font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);transition:color .2s,transform .2s;margin-bottom:36px}.back-link:hover{color:var(--ink);transform:translate(-3px)}.page-head{margin-bottom:48px;max-width:60ch}.page-head .eyebrow{display:block;margin-bottom:16px}.page-lede{font-family:Fraunces,serif;font-weight:300;font-size:19px;color:var(--ink-2);line-height:1.5;margin:18px 0 0;max-width:54ch}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.grid-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--rule);border-radius:18px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.grid-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#0e1a142e}.grid-card-preview{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--green-900);border-bottom:1px solid var(--rule)}.grid-card-preview .preview-container{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden}.grid-card-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:10px}.grid-card-name{font-family:Fraunces,serif;font-weight:400;font-size:22px;letter-spacing:-.01em;margin:0;color:var(--ink)}.grid-card-desc{font-size:14px;color:var(--muted);line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.grid-card-btn{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:8px;padding:10px 16px;border-radius:999px;background:var(--paper-2);border:1px solid var(--rule);font-size:13px;font-weight:500;color:var(--ink);transition:background .2s,gap .2s}.grid-card:hover .grid-card-btn{background:var(--green-800);color:var(--paper);border-color:var(--green-800);gap:11px}.detail-page .wrap-narrow{max-width:780px}.detail-head{margin-bottom:32px}.detail-head .eyebrow{display:block;margin-bottom:14px}.detail-title{font-family:Fraunces,serif;font-weight:340;font-size:clamp(34px,5vw,56px);letter-spacing:-.015em;line-height:1.02;margin:0}.detail-tagline{font-family:Fraunces,serif;font-weight:300;font-size:18px;color:var(--ink-2);line-height:1.5;margin:18px 0 0;max-width:60ch}.detail-card{background:var(--paper-2);border:1px solid var(--rule);border-radius:18px;padding:32px 36px;margin:36px 0 28px;display:flex;flex-direction:column;gap:0}.detail-block{display:flex;flex-direction:column;gap:10px;padding:4px 0}.detail-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.detail-nav-btns{display:flex;gap:10px}.detail-preview{margin-top:40px;border-radius:18px;overflow:hidden;border:1px solid var(--rule);background:var(--green-900);aspect-ratio:16/10;position:relative;box-shadow:var(--shadow-lg)}.detail-preview .preview-container{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden}.detail-counter{text-align:center;margin-top:28px;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--muted);letter-spacing:.1em}.nav-menu-all{margin-top:6px;border-top:1px solid var(--rule);padding-top:14px!important;color:var(--green-800)!important;font-family:Geist,sans-serif!important;font-weight:600!important;font-size:14px!important;display:flex;align-items:center;justify-content:space-between}.nav-menu-all:after{content:"→"}@media (max-width:860px){.wrap-narrow{padding:0 22px}.page{padding:104px 0 80px}.projects-grid{grid-template-columns:1fr;gap:22px}.detail-card{padding:24px 22px}}@media (max-width:520px){.wrap-narrow{padding:0 18px}.page{padding:92px 0 64px}.back-link{margin-bottom:24px}.page-head{margin-bottom:36px}.detail-actions{flex-direction:column;align-items:stretch}.detail-actions .btn{justify-content:center}.detail-nav-btns{justify-content:space-between}}
