:root{--font-sans: "Geist", "Inter", system-ui, sans-serif;--font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, monospace;--tile-1: #B5D4F4;--tile-2: #85B7EB;--tile-3: #378ADD;--tile-4: #185FA5;--tile-5: #0C447C}[data-theme=dark]{--bg: oklch(.135 .022 252);--bg-elev: oklch(.175 .028 252);--bg-deep: oklch(.095 .02 252);--fg: oklch(.97 .008 252);--fg-dim: oklch(.68 .015 252);--fg-faint: oklch(.45 .018 252);--line: oklch(.27 .035 252);--line-soft: oklch(.22 .025 252);--accent: oklch(.72 .16 240);--accent-2: oklch(.58 .18 245);--accent-dim: oklch(.45 .14 245);--glow: oklch(.78 .18 235 / .55);--tile-stroke: oklch(.18 .03 252);--tile-fat: color-mix(in oklch, var(--accent) 38%, transparent);--tile-thin: color-mix(in oklch, var(--accent) 15%, transparent);--tile-boost: color-mix(in oklch, var(--accent) 95%, white 5%);--hex-stroke: oklch(.38 .09 248);color-scheme:dark}[data-theme=light]{--bg: oklch(.985 .004 252);--bg-elev: oklch(1 0 0);--bg-deep: oklch(.96 .008 252);--fg: oklch(.16 .025 252);--fg-dim: oklch(.42 .025 252);--fg-faint: oklch(.65 .018 252);--line: oklch(.86 .018 252);--line-soft: oklch(.92 .012 252);--accent: oklch(.48 .18 245);--accent-2: oklch(.36 .18 250);--accent-dim: oklch(.65 .14 245);--glow: oklch(.55 .18 240 / .3);--tile-stroke: oklch(.98 0 0);--tile-fat: color-mix(in oklch, var(--accent) 22%, transparent);--tile-thin: color-mix(in oklch, var(--accent) 8%, transparent);--tile-boost: var(--accent);--hex-stroke: oklch(.9 .022 245);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--fg);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11";transition:background .48s ease,color .48s ease;overflow-x:hidden}::selection{background:var(--accent);color:var(--bg)}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}a{color:inherit;text-decoration:none}.wrap{max-width:1600px;margin:0 auto;padding:0 56px}@media(max-width:720px){.wrap{padding:0 24px}}.eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-dim)}.rule{height:1px;background:var(--line);width:100%}nav.top{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px 48px;background:color-mix(in oklch,var(--bg) 70%,transparent);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-bottom:1px solid var(--line-soft)}nav.top .brand{display:flex;align-items:center;gap:12px;font-family:var(--font-sans)}nav.top .brand .mark{width:47px;height:47px;display:grid;place-items:center}nav.top .brand .mark svg{width:100%;height:100%;display:block}nav.top .brand .name{font-weight:600;letter-spacing:-.01em;font-size:16.5px}nav.top .brand .name .lattice{font-weight:300;opacity:.85}nav.top .links{display:flex;align-items:center;gap:28px}nav.top .links a{font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:.04em;color:var(--fg-dim);position:relative;padding:6px 2px;transition:color .2s}nav.top .links a:hover{color:var(--fg)}nav.top .links a:before{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--accent);transition:width .28s ease}nav.top .links a:hover:before{width:100%}nav.top .right{display:flex;align-items:center;gap:18px}.theme-toggle{display:flex;align-items:center;width:50px;height:26px;border:1px solid var(--line);border-radius:999px;padding:2px;position:relative;transition:border-color .24s}.theme-toggle:hover{border-color:var(--accent)}.theme-toggle .knob{width:20px;height:20px;border-radius:999px;background:var(--accent);box-shadow:0 0 16px var(--glow);transform:translate(0);transition:transform .32s cubic-bezier(.7,0,.2,1),background .24s}[data-theme=light] .theme-toggle .knob{transform:translate(24px)}.nav-cta{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.04em;padding:8px 14px;border:1px solid var(--line);border-radius:6px;color:var(--fg);background:transparent;transition:border-color .22s,background .22s}.nav-cta:hover{border-color:var(--accent);background:color-mix(in oklch,var(--accent) 8%,transparent)}@media(max-width:720px){nav.top{padding:14px 24px}nav.top .links{display:none}nav.top .theme-toggle{display:none}nav.top .brand .mark{width:50px;height:50px}nav.top .brand .name{font-size:20px}footer.foot .footer-theme-toggle{display:flex}}section.hero{position:relative;min-height:100vh;padding-top:90px;display:grid;grid-template-rows:1fr auto;overflow:hidden}.penrose-layer{position:absolute;inset:0;display:block;pointer-events:none;z-index:0;overflow:hidden}.penrose-layer svg{width:100%;height:100%;display:block}.hero-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 50% 45% at 18% 50%,var(--bg) 0%,transparent 70%),linear-gradient(180deg,transparent 70%,var(--bg) 100%);pointer-events:none;z-index:1}.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;justify-items:start;padding:80px 48px;pointer-events:none}.hero-content>*{pointer-events:auto}.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:32px}.hero-eyebrow .dot{width:6px;height:6px;border-radius:999px;background:var(--accent);box-shadow:0 0 12px var(--glow);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}h1.hero-title{font-family:var(--font-sans);font-weight:500;font-size:clamp(48px,7.2vw,112px);line-height:.95;letter-spacing:-.035em;margin:0 0 28px;max-width:22ch;text-wrap:balance}h1.hero-title .em{font-style:italic;font-weight:300;color:var(--fg-dim)}h1.hero-title .accent{color:var(--accent);position:relative}.hero-sub{font-family:var(--font-sans);font-weight:400;font-size:clamp(15px,1.25vw,18px);line-height:1.5;color:var(--fg-dim);max-width:48ch;margin:0 0 40px;text-wrap:pretty}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.btn-primary{font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:.04em;padding:14px 22px;background:var(--accent);color:var(--bg);border-radius:8px;display:inline-flex;align-items:center;gap:10px;box-shadow:0 0 0 0 var(--glow),0 8px 28px -8px var(--glow);transition:transform .24s cubic-bezier(.4,0,.2,1),box-shadow .32s,background .2s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 0 8px color-mix(in oklch,var(--accent) 14%,transparent),0 14px 40px -8px var(--glow)}.btn-primary .arrow{display:inline-block;transition:transform .24s cubic-bezier(.4,0,.2,1)}.btn-primary:hover .arrow{transform:translate(3px)}.btn-ghost{font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:.04em;padding:14px 22px;color:var(--fg);border:1px solid var(--line);border-radius:8px;display:inline-flex;align-items:center;gap:10px;transition:border-color .2s,background .2s}.btn-ghost:hover{border-color:var(--accent);background:color-mix(in oklch,var(--accent) 5%,transparent)}.hero-stats-wrap{position:relative;z-index:2;width:100%}.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border-top:1px solid var(--line-soft)}.hero-stats .cell{background:var(--bg);padding:24px 32px;display:flex;flex-direction:column;gap:6px}.hero-stats .label{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-faint)}.hero-stats .value{font-family:var(--font-sans);font-size:20px;font-weight:500;letter-spacing:-.01em}.hero-stats .value .unit{color:var(--fg-dim);font-weight:400;font-size:14px;margin-left:4px}@media(max-width:880px){.hero-stats{grid-template-columns:repeat(2,1fr)}}section.frame{position:relative;padding:120px 0 140px;border-top:1px solid var(--line-soft)}.section-head{display:grid;grid-template-columns:220px 1fr;gap:48px;margin-bottom:80px;align-items:end}.section-head .marker{display:flex;flex-direction:column;gap:12px}.section-head .marker .num{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--accent)}.section-head h2{font-family:var(--font-sans);font-weight:400;font-size:clamp(32px,3.5vw,50px);line-height:1.08;letter-spacing:-.03em;margin:0}.section-head h2 .em{font-style:italic;font-weight:300;color:var(--fg-dim)}@media(max-width:720px){.section-head{grid-template-columns:1fr;gap:16px}section.frame{padding:80px 0}}.services-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:80px 1fr 240px 36px;gap:32px;padding:28px 0;border-bottom:1px solid var(--line);cursor:pointer;align-items:center;position:relative;transition:background .32s;width:100%;text-align:left}.service-row:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in oklch,var(--accent) 6%,transparent),transparent 60%);opacity:0;transition:opacity .32s;pointer-events:none}.service-row:hover:before{opacity:1}.service-row .num{font-family:var(--font-mono);font-size:13px;color:var(--fg-faint);letter-spacing:.08em}.service-row .title{font-family:var(--font-sans);font-size:clamp(22px,2.4vw,34px);font-weight:400;letter-spacing:-.02em;transition:color .22s,transform .32s cubic-bezier(.3,0,.2,1)}.service-row:hover .title{color:var(--accent);transform:translate(8px)}.service-row .keywords{font-family:var(--font-mono);font-size:12px;color:var(--fg-dim);letter-spacing:.04em}.service-row .chevron{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:999px;color:var(--fg-dim);transition:transform .32s cubic-bezier(.4,0,.2,1),background .24s,border-color .24s,color .24s}.service-row[aria-expanded=true] .chevron{transform:rotate(45deg);background:var(--accent);border-color:var(--accent);color:var(--bg)}.service-row .chevron svg{width:14px;height:14px}.service-detail{display:grid;grid-template-columns:80px 1fr 1fr;gap:32px;padding:0;border-bottom:1px solid var(--line);overflow:hidden;background:var(--bg-deep)}.service-detail[hidden]{display:none}.service-detail .pad{padding:36px 0 52px}.service-detail .left .summary{font-family:var(--font-sans);font-size:clamp(17px,1.5vw,21px);line-height:1.5;font-weight:400;color:var(--fg);max-width:42ch;text-wrap:pretty;margin:0 0 28px}.service-detail .deliverables{list-style:none;padding:0;margin:0;display:grid;gap:10px}.service-detail .deliverables li{font-family:var(--font-mono);font-size:12px;letter-spacing:.03em;color:var(--fg-dim);padding-left:18px;position:relative}.service-detail .deliverables li:before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;background:var(--accent);transform:rotate(45deg)}.service-detail .right{border-left:1px solid var(--line);padding-left:36px}.service-detail .right .label{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:16px}.service-detail .stack{display:flex;flex-wrap:wrap;gap:8px}.service-detail .stack .chip{font-family:var(--font-mono);font-size:11px;padding:6px 10px;border:1px solid var(--line);border-radius:4px;color:var(--fg)}.service-detail .echo{width:100%;margin-top:28px;aspect-ratio:3 / 2;background:var(--bg);border:1px solid var(--line);border-radius:4px;overflow:hidden;display:grid;place-items:center}.service-detail .echo svg{width:100%;height:100%}@media(max-width:880px){.service-row{grid-template-columns:50px 1fr 36px;gap:16px}.service-row .keywords{display:none}.service-detail{grid-template-columns:50px 1fr;gap:16px}.service-detail .right{display:none}}.approach-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line)}.approach-step{padding:36px 28px 44px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;display:flex;flex-direction:column;gap:14px;min-height:280px}.approach-step:last-child{border-right:0}.approach-step .num{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--accent)}.approach-step .glyph{width:56px;height:56px;display:grid;place-items:center;margin:8px 0 16px}.approach-step .glyph svg{width:100%;height:100%;display:block}.approach-step h3{font-family:var(--font-sans);font-size:22px;font-weight:500;letter-spacing:-.015em;margin:0}.approach-step p{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--fg-dim);margin:0;text-wrap:pretty}@media(max-width:880px){.approach-grid{grid-template-columns:1fr}.approach-step{border-right:0;min-height:0}}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.contact-grid>*{min-width:0}.contact-grid h3{font-family:var(--font-sans);font-size:clamp(28px,3.4vw,44px);font-weight:400;letter-spacing:-.025em;line-height:1.05;margin:0 0 24px;max-width:16ch}.contact-grid h3 .em{font-style:italic;font-weight:300;color:var(--fg-dim)}.contact-grid .lede{color:var(--fg-dim);font-size:16px;line-height:1.55;max-width:42ch;margin:0 0 32px;text-wrap:pretty}.contact-meta{display:grid;gap:24px}.contact-meta .row{display:grid;grid-template-columns:100px 1fr;gap:24px;padding:14px 0;border-bottom:1px solid var(--line-soft)}.contact-meta .row .key{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint)}.contact-meta .row .val{font-family:var(--font-sans);font-size:16px}.form{background:var(--bg-elev);border:1px solid var(--line);border-radius:8px;padding:32px;display:grid;gap:18px;min-width:0}.form label{display:grid;gap:6px;min-width:0}.form label .key{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-faint)}.form input,.form textarea,.form select{font:inherit;font-family:var(--font-sans);background:var(--bg-deep);border:1px solid var(--line);color:var(--fg);padding:12px 14px;border-radius:6px;outline:none;min-width:0;width:100%;transition:border-color .22s,box-shadow .22s}.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 18%,transparent)}.form textarea{min-height:110px;resize:vertical}.form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-width:0}.form .submit{margin-top:8px;align-self:start}.form-status{font-family:var(--font-mono);font-size:12px;color:var(--accent);display:flex;align-items:center;gap:8px;min-height:18px}.form-status .check{width:14px;height:14px;background:var(--accent);transform:rotate(45deg);box-shadow:0 0 10px var(--glow)}@media(max-width:880px){.contact-grid{grid-template-columns:1fr;gap:48px}.form .row{grid-template-columns:1fr}}footer.foot{border-top:1px solid var(--line-soft);padding:48px 0 60px;background:var(--bg-deep)}footer.foot .row{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}footer.foot .brand{display:flex;align-items:center;gap:12px}footer.foot .brand .mark{width:40px;height:40px;display:grid;place-items:center}footer.foot .footer-theme-toggle{display:none}@media(max-width:720px){footer.foot .footer-theme-toggle{display:flex}}footer.foot .name{font-weight:600;letter-spacing:-.01em;font-size:17.5px}footer.foot .name .lattice{font-weight:300;opacity:.85}footer.foot .meta{font-family:var(--font-mono);font-size:11px;color:var(--fg-faint);letter-spacing:.04em}footer.foot .legal{font-family:var(--font-mono);font-size:11px;color:var(--fg-faint);letter-spacing:.04em}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(16px);transition:opacity .8s cubic-bezier(.2,0,.1,1),transform .8s cubic-bezier(.2,0,.1,1)}.reveal.in{opacity:1;transform:translateY(0)}.stagger>.reveal:nth-child(1){transition-delay:0ms}.stagger>.reveal:nth-child(2){transition-delay:80ms}.stagger>.reveal:nth-child(3){transition-delay:.16s}.stagger>.reveal:nth-child(4){transition-delay:.24s}.stagger>.reveal:nth-child(5){transition-delay:.32s}.stagger>.reveal:nth-child(6){transition-delay:.4s}.hero-content>*{animation:fadeUp 1s cubic-bezier(.2,0,.1,1) both}.hero-content>*:nth-child(1){animation-delay:.2s}.hero-content>*:nth-child(2){animation-delay:.32s}.hero-content>*:nth-child(3){animation-delay:.44s}.hero-content>*:nth-child(4){animation-delay:.56s}.penrose-tile{animation:fadeUp 1.2s cubic-bezier(.2,0,.1,1) both}.corner-mark{position:absolute;width:14px;height:14px;border:1px solid var(--line)}.corner-mark.tl{top:-1px;left:-1px;border-right:0;border-bottom:0}.corner-mark.tr{top:-1px;right:-1px;border-left:0;border-bottom:0}.corner-mark.bl{bottom:-1px;left:-1px;border-right:0;border-top:0}.corner-mark.br{bottom:-1px;right:-1px;border-left:0;border-top:0}.section-marker-glyph{width:28px;height:28px;display:grid;place-items:center}.section-marker-glyph svg{width:100%;height:100%}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}
