@import"https://fonts.googleapis.com/css2?family=Hanken+Grotesk:ital,wght@0,100..900;1,100..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Staatliches&display=swap";.lab-footer[data-astro-cid-sz7xmlte]{margin-top:4rem;background:var(--navy);color:var(--paper);position:relative;overflow:hidden}.footer-frame[data-astro-cid-sz7xmlte]{background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:40px 40px;background-position:center;border-top:8px solid var(--frame);padding:3rem 0 0;position:relative}.footer-frame[data-astro-cid-sz7xmlte]:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--frame),transparent)}.footer-grid[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2.5rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:1.5rem}.footer-logo[data-astro-cid-sz7xmlte]{font-size:1.5rem;font-weight:900;letter-spacing:.12em;margin:0 0 .75rem;color:var(--paper)}.footer-tagline[data-astro-cid-sz7xmlte]{opacity:.8;margin:0 0 1.5rem;line-height:1.6}.social-grid[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.social-link[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;transition:all .2s ease;font-size:.9rem;font-weight:500}.social-link[data-astro-cid-sz7xmlte]:hover{background:#ffffff1a;border-color:#fff6;transform:translateY(-1px)}.footer-nav[data-astro-cid-sz7xmlte] h4[data-astro-cid-sz7xmlte],.footer-services[data-astro-cid-sz7xmlte] h4[data-astro-cid-sz7xmlte],.footer-contact[data-astro-cid-sz7xmlte] h4[data-astro-cid-sz7xmlte]{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:0 0 1rem;opacity:.9}.footer-nav[data-astro-cid-sz7xmlte] ul[data-astro-cid-sz7xmlte],.footer-services[data-astro-cid-sz7xmlte] ul[data-astro-cid-sz7xmlte]{list-style:none;padding:0;margin:0}.footer-nav[data-astro-cid-sz7xmlte] li[data-astro-cid-sz7xmlte],.footer-services[data-astro-cid-sz7xmlte] li[data-astro-cid-sz7xmlte]{margin-bottom:.5rem}.footer-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{opacity:.8;transition:opacity .2s ease;position:relative}.footer-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{opacity:1}.footer-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:before{content:"→";position:absolute;left:-1.2rem;opacity:0;transition:opacity .2s ease}.footer-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover:before{opacity:1}.footer-services[data-astro-cid-sz7xmlte] li[data-astro-cid-sz7xmlte]{opacity:.75;font-size:.95rem}.footer-contact[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{margin:0 0 1rem;opacity:.8}.footer-cta[data-astro-cid-sz7xmlte]{display:inline-block;padding:.8rem 1.2rem;background:var(--paper);color:var(--navy);font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:all .2s ease;margin-bottom:1.5rem}.footer-cta[data-astro-cid-sz7xmlte]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.contact-details[data-astro-cid-sz7xmlte]{padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.contact-details[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{margin:.25rem 0;font-size:.9rem}.footer-bottom[data-astro-cid-sz7xmlte]{background:#0003;border-top:1px solid rgba(255,255,255,.1);padding:1.5rem 0}.footer-bottom-inner[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-legal[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.footer-legal[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{margin:0;opacity:.7;font-size:.9rem}.footer-links[data-astro-cid-sz7xmlte]{display:flex;gap:1.5rem}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{opacity:.7;font-size:.9rem;transition:opacity .2s ease}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{opacity:1}.tech-badge[data-astro-cid-sz7xmlte]{margin:0;padding:.4rem .8rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);font-size:.8rem;opacity:.8;font-family:Courier New,monospace}@media (max-width: 768px){.footer-grid[data-astro-cid-sz7xmlte]{grid-template-columns:1fr;gap:2rem}.social-grid[data-astro-cid-sz7xmlte]{grid-template-columns:1fr}.footer-bottom-inner[data-astro-cid-sz7xmlte]{flex-direction:column;text-align:center}.footer-legal[data-astro-cid-sz7xmlte]{flex-direction:column;gap:1rem}}:root{--ink: #0f0f10;--paper: #f3f1ee;--frame: #e8e4de;--navy: #001c4b;--charcoal: #222;--accent: #1f1f1f;--lilac: #e9dcf5;--focus: #3a6ea5;--grid-line: rgba(255, 255, 255, .05);--maxw: 98%;--step--1: clamp(.9rem, .85rem + .2vw, .95rem);--step-0: clamp(1.02rem, .96rem + .3vw, 1.12rem);--step-1: clamp(1.25rem, 1.1rem + .7vw, 1.6rem);--step-2: clamp(1.8rem, 1.3rem + 1.5vw, 2.4rem);--step-3: clamp(3rem, 2.2rem + 4vw, 6rem);--step-4: clamp(6rem, 3rem + 10vw, 13rem)}@font-face{font-family:Hanken Grotesk;src:local("Hanken Grotesk"),url(https://fonts.gstatic.com/s/hankengrotesk/v21/pxiDyp8kv8JHgFVrJJfedw.woff2) format("woff2");font-weight:200 900;font-display:swap;font-style:normal;font-optical-sizing:auto}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:400 var(--step-0) / 1.55 "Inter",system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--paper);background-image:url(/textures/noise.png);background-attachment:fixed;background-size:512px 512px}h1,h2,h3,h4,h5,h6{font-family:Hanken Grotesk,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;text-transform:uppercase}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.container{max-width:var(--maxw);margin-inline:auto;padding:1rem}.btn{display:inline-block;padding:.9rem 1.2rem;background:var(--charcoal);color:#fff;border:none;font-weight:800;letter-spacing:.02em;transition:transform .15s ease,opacity .2s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:none;opacity:.9}.btn-ghost{background:transparent;border:2px solid var(--charcoal);color:var(--charcoal)}.card{border:1px solid var(--frame);background:#fff;padding:1rem}.reveal{opacity:0;transform:translateY(10px)}.reveal.in{opacity:1;transform:none;transition:opacity .45s ease,transform .45s ease}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal,.reveal.in{transition:none;opacity:1;transform:none}}h1,h2,h3{font-weight:900;line-height:1;letter-spacing:0}h1{font-size:var(--step-3)}h2{font-size:clamp(1.8rem,1.2rem + 2vw,3rem)}h3{font-size:clamp(1.25rem,1rem + 1vw,1.8rem)}.kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;opacity:.7}header.site-nav{background:var(--paper);border-bottom:1px solid var(--frame)}header .nav-inner{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem}.nav-brand{font-weight:900;letter-spacing:.12em}.nav-links{margin-left:auto;display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.nav-cta{background:var(--charcoal);padding:.5rem .8rem;color:var(--paper)}.hero-section{height:100vh;width:100vw;position:relative;overflow:hidden;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);color:var(--paper)}.hero-frame{background:var(--navy);border:10px solid var(--frame);height:100%;width:100%;position:relative;display:flex;align-items:center;justify-content:center;padding:2rem}.hero-grid{width:100%;max-width:var(--maxw);margin:0 auto;position:relative;height:100%;display:flex;flex-direction:column;justify-content:center}.hero-content{width:100%}.hero-mast{font-size:var(--step-4);letter-spacing:.02em;font-weight:900;line-height:1;width:100%;margin:0}.about-section{position:absolute;bottom:2rem;right:2rem;max-width:300px}.hero-sub{max-width:48ch;opacity:.85}.search-bar{display:flex;gap:.5rem;align-items:center}.search-input{flex:1;border:none;border-bottom:2px solid #222;background:transparent;padding:.8rem 0}.search-input::placeholder{opacity:.6}.lede{font-size:var(--step-1);opacity:.8;max-width:60ch}.rule{height:1px;background:var(--frame);margin:1rem 0 2rem}
