:root{--color-bg: #F0EEE5;--color-surface: #FAFAF3;--color-surface-2: #E1DDC9;--color-surface-3: #EBE6D2;--color-ink: #101010;--color-ink-2: #3C3C3A;--color-ink-3: #6E6E62;--color-ink-4: #9A998E;--color-border: rgba(16, 16, 16, .1);--color-border-2: rgba(16, 16, 16, .18);--color-border-3: rgba(16, 16, 16, .06);--color-primary: #0A7F8C;--color-primary-hover: #0F9CA8;--color-primary-pressed: #076570;--color-primary-soft: rgba(10, 127, 140, .12);--color-primary-fg: #FAFAF3;--color-secondary: #3C3C3A;--color-accent: #0A7F8C;--color-success: #207A4D;--color-success-soft: rgba(32, 122, 77, .14);--color-warning: #C87A1C;--color-warning-soft: rgba(200, 122, 28, .16);--color-error: #A8332A;--color-error-soft: rgba(168, 51, 42, .14);--color-info: #0A7F8C;--color-info-soft: rgba(10, 127, 140, .14);--color-dark-bg: #15191A;--color-dark-surface: #1F2426;--color-dark-surface-2: #262C2E;--color-dark-ink: #F0EEE5;--color-dark-ink-2: #B6B5AE;--color-dark-ink-3: #7E7E78;--color-dark-border: rgba(240, 238, 229, .1);--color-dark-primary: #2BBAC9;--color-dark-primary-soft: rgba(43, 186, 201, .16);--color-neutral-50: #FAFAF3;--color-neutral-100: #F0EEE5;--color-neutral-200: #E1DDC9;--color-neutral-300: #CFCAB0;--color-neutral-400: #A6A28A;--color-neutral-500: #7A766A;--color-neutral-600: #56554B;--color-neutral-700: #3C3C3A;--color-neutral-800: #212120;--color-neutral-900: #101010;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-pill: 999px;--shadow-1: 0 1px 0 rgba(16, 16, 16, .04), 0 1px 3px rgba(16, 16, 16, .05);--shadow-2: 0 2px 4px rgba(16, 16, 16, .06), 0 6px 14px rgba(16, 16, 16, .07);--shadow-3: 0 4px 8px rgba(16, 16, 16, .08), 0 16px 30px rgba(16, 16, 16, .12);--shadow-soft: 0 1px 0 rgba(16, 16, 16, .04), 0 6px 18px rgba(16, 16, 16, .06);--font-heading: "Space Grotesk", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}html{font-size:19.2px;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;font:.73rem/1.55 var(--font-body);color:var(--color-ink);background:var(--color-bg);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-pressed)}.font-display{font-family:var(--font-heading);letter-spacing:-.005em}.font-mono{font-family:var(--font-mono)}hr{border:0;height:1px;background:var(--color-border);margin:2rem 0}.shell{max-width:1240px;margin:0 auto;padding:1.2rem 1.2rem 0}.page{max-width:1240px;margin:0 auto;padding:1.6rem 1.2rem 4rem}.gap-1{display:flex;flex-direction:column;gap:1rem}.gap-2{display:flex;flex-direction:column;gap:2rem}.section{margin-top:2.4rem}.eyebrow{font:500 .55rem/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-3)}.cap{font:500 .55rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-3)}.dim{color:var(--color-ink-2)}.muted{color:var(--color-ink-3)}.page-head{margin-bottom:2rem}.page-head h1{font:700 1.8rem/1.05 var(--font-heading);letter-spacing:-.015em;margin:0 0 .3rem}.page-head .sub{font:500 .55rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-3)}.page-head .subhead{font:400 .95rem/1.5 var(--font-body);color:var(--color-ink-2);max-width:52ch;margin:.4rem 0 0}.page-head .legend{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.7rem;font-size:.6rem}.page-head .legend span{padding:.18rem .4rem;border-radius:var(--radius-sm);background:var(--color-surface-3);color:var(--color-ink-2);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase}.wordmark-hero{display:inline-flex;align-items:baseline;font:700 2.6rem/1 var(--font-heading);letter-spacing:-.02em;color:var(--color-ink)}.wordmark-hero .dot{color:var(--color-primary)}.link-cta{display:inline-flex;align-items:center;gap:.3rem;font:600 .65rem var(--font-heading);color:var(--color-primary)}.link-cta .arrow{transition:transform .2s}.link-cta:hover .arrow{transform:translate(.25rem)}.nav{display:flex;align-items:center;gap:1rem;padding:.7rem 1rem;border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border)}.nav .logo{font:700 1.1rem/1 var(--font-heading);letter-spacing:-.012em;color:inherit;display:inline-flex;align-items:baseline}.nav .logo .dot{color:var(--color-primary)}.nav-links{display:flex;gap:1rem;margin-left:1.4rem;flex:1}.nav-links a:not(.btn){color:var(--color-ink-2);font-size:.65rem;font-weight:500;letter-spacing:.01em}.nav-links a:not(.btn):hover{color:var(--color-ink)}.nav-links .active{color:var(--color-ink)}.nav .btn{outline:none}.nav-mobile-toggle{display:none}@media(max-width:760px){.nav-links{display:none}.nav-mobile-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--color-border);color:var(--color-ink-2);cursor:pointer;margin-left:auto;font-size:1rem}.nav .btn:not(.btn-icon){display:none}}.btn{font:600 .68rem/1 var(--font-heading);letter-spacing:.005em;padding:.6rem 1rem;border-radius:var(--radius-pill);cursor:pointer;border:2px solid var(--color-ink);background:var(--color-ink);color:var(--color-bg);transition:transform .12s ease,background .15s ease,color .15s ease,border-color .15s ease;display:inline-flex;align-items:center;gap:.4rem;outline:2px solid var(--color-bg);outline-offset:2px;text-decoration:none}.btn:hover{background:var(--color-ink-2);border-color:var(--color-ink-2);color:var(--color-bg)}.btn:active{transform:translateY(1px)}.btn-secondary{background:var(--color-surface-2);color:var(--color-ink);border-color:var(--color-surface-2)}.btn-secondary:hover{background:var(--color-surface-3);border-color:var(--color-surface-3);color:var(--color-ink)}.btn-accent{background:var(--color-primary);color:var(--color-primary-fg);border-color:var(--color-primary)}.btn-accent:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-primary-fg)}.btn-outline{background:transparent;color:var(--color-ink);border-color:var(--color-ink)}.btn-outline:hover{background:var(--color-ink);color:var(--color-bg)}.btn-outline-accent{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline-accent:hover{background:var(--color-primary);color:var(--color-primary-fg)}.btn-ghost{background:transparent;color:var(--color-ink-2);border-color:transparent;outline:none}.btn-ghost:hover{background:var(--color-surface-3);color:var(--color-ink)}.btn-destructive{background:var(--color-error);color:#fff;border-color:var(--color-error)}.btn-destructive:hover{background:var(--color-error);border-color:var(--color-error);color:#fff;filter:brightness(.85)}.btn-disabled,.btn:disabled{opacity:.45;cursor:not-allowed;background:var(--color-surface-2);color:var(--color-ink-3);border-color:var(--color-surface-2)}.btn-sm{padding:.42rem .75rem;font-size:.6rem}.btn-lg{padding:.78rem 1.4rem;font-size:.78rem}.btn-icon{padding:.55rem;width:2rem;height:2rem;justify-content:center}.btn-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .55rem;border-radius:var(--radius-pill);font:600 .52rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid transparent}.pill-neutral{background:var(--color-surface-3);color:var(--color-ink-2)}.pill-accent{background:var(--color-primary-soft);color:var(--color-primary);border-color:var(--color-primary-soft)}.pill-outline{background:transparent;border-color:var(--color-border-2);color:var(--color-ink-2)}.pill .dot{width:.32rem;height:.32rem;border-radius:50%;background:currentColor}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .55rem;border-radius:var(--radius-pill);font:600 .55rem/1 var(--font-mono);letter-spacing:.07em;text-transform:uppercase}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-error{background:var(--color-error-soft);color:var(--color-error)}.badge-info{background:var(--color-info-soft);color:var(--color-info)}.badge-neutral{background:var(--color-surface-3);color:var(--color-ink-2)}.badge-outline{background:transparent;border:1px solid var(--color-border-2);color:var(--color-ink-2)}.badge-outline-accent{background:transparent;border:1px solid var(--color-primary);color:var(--color-primary)}.badge .dot{width:.32rem;height:.32rem;border-radius:50%}.badge-live{background:var(--color-primary-soft);color:var(--color-primary)}.badge-live .dot{background:var(--color-primary);box-shadow:0 0 0 0 var(--color-primary);animation:pulse 2s infinite}.badge-pending{background:var(--color-warning-soft);color:var(--color-warning)}.badge-pending .dot{background:var(--color-warning)}.badge-offline{background:var(--color-surface-3);color:var(--color-ink-3)}.badge-offline .dot{background:var(--color-ink-4)}@keyframes pulse{0%{box-shadow:0 0 #0a7f8c80}70%{box-shadow:0 0 0 .35rem #0a7f8c00}to{box-shadow:0 0 #0a7f8c00}}@media(prefers-reduced-motion:reduce){.badge-live .dot{animation:none}}.alert{display:flex;gap:.7rem;padding:.85rem 1rem;border-radius:var(--radius);border:1px solid;margin-bottom:.6rem}.alert .icon{width:1.3rem;height:1.3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-primary-fg);font-weight:700;font-size:.75rem;flex-shrink:0}.alert .body{flex:1}.alert .title{font:600 .72rem/1.2 var(--font-heading);margin-bottom:.2rem}.alert .desc{font-size:.65rem;color:var(--color-ink-2);line-height:1.5}.alert-success{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-ink)}.alert-success .icon{background:var(--color-success)}.alert-warning{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-ink)}.alert-warning .icon{background:var(--color-warning)}.alert-error{background:var(--color-error-soft);border-color:var(--color-error);color:var(--color-ink)}.alert-error .icon{background:var(--color-error)}.alert-info{background:var(--color-info-soft);border-color:var(--color-info);color:var(--color-ink)}.alert-info .icon{background:var(--color-info)}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.7rem}.field label{font:600 .6rem/1.1 var(--font-heading);letter-spacing:.005em;color:var(--color-ink-2)}.field .hint{font-size:.55rem;color:var(--color-ink-3);font-family:var(--font-mono);letter-spacing:.04em}.field .err{font-size:.55rem;color:var(--color-error);font-family:var(--font-mono);letter-spacing:.04em}.input,.select,.textarea{font:400 .7rem/1.4 var(--font-body);color:var(--color-ink);background:var(--color-surface);border:1.5px solid var(--color-border-2);border-radius:var(--radius-sm);padding:.55rem .75rem;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.input.error,.textarea.error{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-soft)}.textarea{min-height:4rem;resize:vertical}.check-row{display:flex;align-items:center;gap:.5rem;font-size:.7rem;color:var(--color-ink-2);padding:.2rem 0;cursor:pointer}.check-box{appearance:none;width:1rem;height:1rem;border:2px solid var(--color-ink-3);border-radius:3px;background:var(--color-surface);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:.12s}.check-box:checked{background:var(--color-primary);border-color:var(--color-primary)}.check-box:checked:after{content:"✓";color:var(--color-primary-fg);font-size:.65rem;font-weight:700}.radio-box{appearance:none;width:1rem;height:1rem;border:2px solid var(--color-ink-3);border-radius:50%;cursor:pointer;flex-shrink:0;transition:.12s;background:var(--color-surface)}.radio-box:checked{border-color:var(--color-primary);background:radial-gradient(circle,var(--color-primary) 0,var(--color-primary) 35%,var(--color-surface) 40%,var(--color-surface) 100%)}.toggle{display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;font-size:.7rem;color:var(--color-ink-2)}.toggle input{display:none}.toggle .track{width:2.1rem;height:1.05rem;border-radius:999px;background:var(--color-ink-4);position:relative;transition:.2s}.toggle .track:after{content:"";position:absolute;top:.12rem;left:.12rem;width:.8rem;height:.8rem;border-radius:50%;background:var(--color-primary-fg);transition:.2s}.toggle input:checked+.track{background:var(--color-primary)}.toggle input:checked+.track:after{left:1.18rem}.hero{position:relative;padding:3rem 1.6rem;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden}.hero .pre{font:500 .58rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-3);margin-bottom:.7rem;display:flex;align-items:center;gap:.5rem}.hero h1{font:700 clamp(1.8rem,3vw + 1rem,3rem)/1.02 var(--font-heading);letter-spacing:-.025em;margin:0 0 .8rem;max-width:22ch}.hero h1 em{font-style:normal;color:var(--color-primary);font-weight:700}.hero .sub{font:400 .95rem/1.45 var(--font-body);color:var(--color-ink-2);max-width:48ch;margin:0 0 1.4rem}.hero .ctas{display:flex;gap:.6rem;flex-wrap:wrap}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:1.8rem;align-items:center}@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}.cta-band{background:var(--color-ink);color:var(--color-bg);border-radius:var(--radius-lg);padding:2.6rem 1.8rem;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:1.4rem;position:relative;overflow:hidden}@media(max-width:760px){.cta-band{grid-template-columns:1fr;text-align:left}}.cta-band h2{font:700 1.8rem/1.05 var(--font-heading);letter-spacing:-.02em;margin:0 0 .5rem;color:var(--color-bg)}.cta-band p{font:400 .8rem/1.5 var(--font-body);color:var(--color-dark-ink-2);margin:0;max-width:46ch}.cta-band .ctas{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}@media(max-width:760px){.cta-band .ctas{justify-content:flex-start}}.cta-band .btn-accent{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-fg);outline-color:var(--color-ink)}.cta-band .btn-accent:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.cta-band .btn-outline{color:var(--color-bg);border-color:var(--color-dark-ink-2);outline-color:var(--color-ink)}.cta-band .btn-outline:hover{background:var(--color-bg);color:var(--color-ink)}.dark-block{background:var(--color-dark-bg);color:var(--color-dark-ink);padding:2.6rem 1.8rem;border-radius:var(--radius-lg);border:1px solid var(--color-dark-border)}.dark-block h2{font:700 1.8rem/1.05 var(--font-heading);letter-spacing:-.02em;color:var(--color-dark-ink);margin:0 0 .6rem}.dark-block p{font:400 .8rem/1.5 var(--font-body);color:var(--color-dark-ink-2);margin:0 0 1.2rem;max-width:52ch}.dark-block .ctas{display:flex;gap:.5rem;flex-wrap:wrap}.dark-block .btn-accent{background:var(--color-dark-primary);border-color:var(--color-dark-primary);color:var(--color-dark-bg);outline-color:var(--color-dark-bg)}.dark-block .btn-accent:hover{background:var(--color-dark-primary);border-color:var(--color-dark-primary);color:var(--color-dark-bg);filter:brightness(1.08)}.dark-block .btn-outline{color:var(--color-dark-ink);border-color:var(--color-dark-ink-2);background:transparent;outline-color:var(--color-dark-bg)}.dark-block .btn-outline:hover{background:var(--color-dark-ink);color:var(--color-dark-bg)}.cards-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.feat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.4rem 1.3rem;box-shadow:var(--shadow-1);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;gap:.55rem}.feat:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.feat .ico{width:2.1rem;height:2.1rem;border-radius:.5rem;background:var(--color-primary-soft);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;margin-bottom:.3rem}.feat h4{font:700 .95rem/1.2 var(--font-heading);margin:0;letter-spacing:-.005em;color:var(--color-ink)}.feat p{font:400 .72rem/1.55 var(--font-body);color:var(--color-ink-2);margin:0}@media(prefers-reduced-motion:reduce){.feat:hover{transform:none}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem}.stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow-1)}.stat .label{font:500 .55rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-3);margin-bottom:.4rem}.stat .num{font:700 1.5rem/1.05 var(--font-heading);letter-spacing:-.015em;color:var(--color-ink)}.stat .suffix{font:500 .6rem var(--font-mono);color:var(--color-ink-3);letter-spacing:.04em;margin-top:.3rem;display:block}.phases{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;position:relative}@media(max-width:760px){.phases{grid-template-columns:1fr}}.phase{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.3rem 1.2rem;position:relative}.phase .step{font:700 .55rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary);margin-bottom:.4rem;display:flex;align-items:center;gap:.4rem}.phase .step:before{content:"";display:block;width:.4rem;height:.4rem;border-radius:50%;background:var(--color-primary)}.phase h4{font:700 1.05rem/1.15 var(--font-heading);letter-spacing:-.005em;margin:0 0 .35rem;color:var(--color-ink)}.phase p{font:400 .7rem/1.5 var(--font-body);color:var(--color-ink-2);margin:0}.systems-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:760px){.systems-grid{grid-template-columns:1fr}}.system{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.4rem 1.3rem;display:flex;flex-direction:column;gap:.55rem;transition:transform .2s,box-shadow .2s}.system:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.system .head{display:flex;align-items:center;gap:.7rem}.system .ico{width:2.1rem;height:2.1rem;border-radius:.5rem;background:var(--color-primary-soft);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;font:700 1rem var(--font-heading)}.system h4{font:700 1rem var(--font-heading);letter-spacing:-.005em;margin:0;color:var(--color-ink)}.system .tagline{font:500 .55rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-3)}.system p{font:400 .7rem/1.55 var(--font-body);color:var(--color-ink-2);margin:.2rem 0 0}@media(prefers-reduced-motion:reduce){.system:hover{transform:none}}.ships-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.6rem;display:grid;grid-template-columns:1fr 1.4fr;gap:1.4rem}@media(max-width:760px){.ships-card{grid-template-columns:1fr}}.ships-card h3{font:700 1.3rem/1.1 var(--font-heading);letter-spacing:-.015em;margin:.3rem 0 .35rem}.ships-card .lead{font:400 .72rem/1.55 var(--font-body);color:var(--color-ink-2);margin:0}.ships-list{list-style:none;padding:0;margin:0}.ships-list li{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:baseline;padding:.6rem 0;border-top:1px solid var(--color-border);font:500 .72rem/1.4 var(--font-body);color:var(--color-ink-2)}.ships-list li:first-child{border-top:0;padding-top:.2rem}.ships-list li .day{font:600 .55rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);min-width:2.4rem}.ships-list li .what{color:var(--color-ink)}.ships-list li .count{font:500 .58rem var(--font-mono);letter-spacing:.04em;color:var(--color-ink-3)}.faq{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.faq details{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.9rem 1.1rem;transition:box-shadow .2s}.faq details[open]{box-shadow:var(--shadow-1)}.faq summary{font:600 .8rem var(--font-heading);letter-spacing:-.005em;color:var(--color-ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:.7rem}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font:400 1.2rem/1 var(--font-heading);color:var(--color-primary);transition:transform .2s}.faq details[open] summary:after{transform:rotate(45deg)}.faq .ans{font:400 .72rem/1.6 var(--font-body);color:var(--color-ink-2);margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--color-border)}.portfolio{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}@media(max-width:760px){.portfolio{grid-template-columns:1fr}}.portfolio-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.4rem 1.3rem;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;gap:.4rem}.portfolio-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.portfolio-card .name{font:700 1.05rem/1 var(--font-heading);letter-spacing:-.012em;color:var(--color-ink);display:flex;align-items:baseline}.portfolio-card .name .dot{color:var(--color-primary)}.portfolio-card .desc{font:400 .7rem/1.5 var(--font-body);color:var(--color-ink-2);margin:0}.portfolio-card .role{font:500 .55rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-3)}@media(prefers-reduced-motion:reduce){.portfolio-card:hover{transform:none}}.teardown-card{background:var(--color-ink);color:var(--color-bg);border-radius:var(--radius-lg);padding:2.2rem 1.6rem;display:grid;grid-template-columns:1fr .7fr;gap:1.6rem;align-items:center;overflow:hidden;position:relative}@media(max-width:760px){.teardown-card{grid-template-columns:1fr}}.teardown-card .eyebrow{color:var(--color-dark-ink-3)}.teardown-card h3{font:700 1.6rem/1.1 var(--font-heading);letter-spacing:-.015em;margin:.4rem 0 .6rem;color:var(--color-bg)}.teardown-card p{font:400 .78rem/1.5 var(--font-body);color:var(--color-dark-ink-2);margin:0 0 1.1rem;max-width:44ch}.teardown-card .ctas{display:flex;gap:.5rem;flex-wrap:wrap}.signals-feature{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.8rem 1.6rem;display:flex;flex-direction:column;gap:.85rem;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.signals-feature:before{content:"";position:absolute;inset:0 auto 0 0;width:.25rem;background:var(--color-primary)}.signals-feature .meta{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}.signals-feature .date,.signals-feature .read{font:500 .55rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-3)}.signals-feature h2{font:700 1.65rem/1.1 var(--font-heading);letter-spacing:-.02em;margin:0}.signals-feature h2 a{color:var(--color-ink);text-decoration:none}.signals-feature h2 a:hover{color:var(--color-primary)}.signals-feature .lead{font:400 .85rem/1.55 var(--font-body);color:var(--color-ink-2);margin:0;max-width:68ch}.signals-feature .byline{display:flex;gap:.6rem;align-items:center;font:500 .65rem var(--font-body);color:var(--color-ink-3)}.signals-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem;margin-bottom:1.2rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.signals-bar .filters{display:flex;flex-wrap:wrap;gap:.4rem;flex:1;justify-content:center}.signals-bar .chip{font:600 .6rem var(--font-heading);padding:.4rem .75rem;border-radius:var(--radius-pill);border:1px solid var(--color-border-2);background:var(--color-surface);color:var(--color-ink-2);cursor:pointer;transition:.15s;text-decoration:none}.signals-bar .chip:hover{color:var(--color-ink);border-color:var(--color-ink-3)}.signals-bar .chip.active{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.signals-list{display:flex;flex-direction:column;border-top:1px solid var(--color-border)}.signals-list .entry{display:grid;grid-template-columns:7rem 1fr auto;gap:1rem;align-items:start;padding:1.1rem 0;border-bottom:1px solid var(--color-border);text-decoration:none;color:inherit;transition:background .12s,padding .12s}.signals-list .entry:hover{background:var(--color-surface);padding-left:.6rem;padding-right:.6rem}.signals-list .entry-tag{align-self:start;justify-self:start}.signals-list .entry-body h4{font:700 1rem/1.25 var(--font-heading);letter-spacing:-.012em;margin:0 0 .25rem;color:var(--color-ink)}.signals-list .entry:hover .entry-body h4{color:var(--color-primary)}.signals-list .entry-body p{font:400 .7rem/1.5 var(--font-body);color:var(--color-ink-3);margin:0;max-width:60ch}.signals-list .entry-meta{display:flex;flex-direction:column;gap:.15rem;align-items:flex-end;font:500 .55rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-3);white-space:nowrap}@media(max-width:680px){.signals-list .entry{grid-template-columns:1fr;gap:.4rem}.signals-list .entry-meta{flex-direction:row;align-self:flex-start}}.signals-foot{display:flex;justify-content:space-between;align-items:center;margin-top:1.2rem;gap:1rem;flex-wrap:wrap}.signals-foot-meta{font:500 .55rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-3)}.tag-teardown{background:var(--color-primary-soft);color:var(--color-primary);border-color:#0a7f8c40}.tag-changelog{background:var(--color-success-soft);color:var(--color-success);border-color:#207a4d40}.tag-casestudy{background:var(--color-warning-soft);color:var(--color-warning);border-color:#c87a1c4d}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:900px){.blog-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.blog-grid{grid-template-columns:1fr}}.blog-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-1);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.blog-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.blog-media{aspect-ratio:16/9;background:linear-gradient(135deg,var(--color-primary) 0%,#0a1c1e 100%);position:relative;color:var(--color-primary-fg);display:flex;align-items:flex-end;padding:.7rem .9rem}.blog-media .tag{font:600 .52rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:#1010104d;padding:.25rem .5rem;border-radius:var(--radius-sm)}.blog-body{padding:1rem 1.1rem;flex:1;display:flex;flex-direction:column}.blog-meta{display:flex;gap:.5rem;font:500 .55rem/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-3);margin-bottom:.45rem}.blog-body h4{font:700 .95rem/1.2 var(--font-heading);letter-spacing:-.005em;margin:0 0 .45rem;color:var(--color-ink)}.blog-body h4 a{color:inherit;text-decoration:none}.blog-body h4 a:hover{color:var(--color-primary)}.blog-body p{font:400 .7rem/1.5 var(--font-body);color:var(--color-ink-2);margin:0 0 .8rem;flex:1}@media(prefers-reduced-motion:reduce){.blog-card:hover{transform:none}}.article-hero{background:linear-gradient(135deg,var(--color-primary) 0%,#0a1c1e 100%);color:var(--color-primary-fg);border-radius:var(--radius-lg);padding:3.2rem 1.6rem 2.8rem;position:relative;overflow:hidden;border:1px solid var(--color-primary-pressed)}.article-hero .tag{display:inline-flex;align-items:center;gap:.35rem;font:600 .55rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:#10101040;padding:.32rem .65rem;border-radius:999px;color:var(--color-primary-fg);margin-bottom:1rem}.article-hero h1{font:700 clamp(1.8rem,3vw + 1rem,2.8rem)/1.08 var(--font-heading);letter-spacing:-.02em;margin:0 0 .8rem;max-width:22ch;color:var(--color-primary-fg)}.article-hero .lede{font:400 .9rem/1.45 var(--font-body);max-width:48ch;color:#f0eee5d9;margin:0 0 1.2rem}.article-hero .meta{display:flex;flex-wrap:wrap;gap:.7rem .9rem;font:500 .58rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#f0eee5b3}.prose{max-width:64ch;margin:0 auto;font:400 .85rem/1.7 var(--font-body);color:var(--color-ink-2)}.prose h2{font:700 1.5rem/1.15 var(--font-heading);letter-spacing:-.012em;color:var(--color-ink);margin:2.2rem 0 .5rem}.prose h3{font:700 1.1rem/1.2 var(--font-heading);letter-spacing:-.005em;color:var(--color-ink);margin:1.6rem 0 .35rem}.prose p{margin:0 0 1.05rem}.prose p>strong{color:var(--color-ink);font-weight:700}.prose ul,.prose ol{margin:0 0 1.05rem;padding-left:1.4rem}.prose ul li,.prose ol li{margin-bottom:.35rem}.prose ul li::marker{color:var(--color-primary)}.prose blockquote{position:relative;padding:1.4rem 1.4rem 1.2rem 2.2rem;margin:1.6rem 0;border-left:2px solid var(--color-primary);background:var(--color-surface);border-radius:0 var(--radius) var(--radius) 0;font:500 1rem/1.45 var(--font-heading);letter-spacing:-.005em;color:var(--color-ink)}.prose blockquote:before{content:"“";position:absolute;top:-.4rem;left:.2rem;font:900 4rem/1 var(--font-heading);color:var(--color-primary);opacity:.35;pointer-events:none}.prose code{font-family:var(--font-mono);font-size:.74rem;background:var(--color-surface-3);padding:.08rem .35rem;border-radius:3px;color:var(--color-ink)}.prose pre{font-family:var(--font-mono);font-size:.7rem;background:var(--color-ink);color:var(--color-bg);padding:1rem 1.1rem;border-radius:var(--radius);overflow:auto;line-height:1.6;margin:1.2rem 0}.prose figure{margin:1.6rem 0}.prose figure figcaption{font:500 .58rem var(--font-mono);color:var(--color-ink-3);letter-spacing:.06em;text-transform:uppercase;margin-top:.5rem;text-align:center}.prose .pull{font:600 1.15rem/1.4 var(--font-heading);letter-spacing:-.005em;color:var(--color-ink);margin:1.8rem 0;padding:1rem;border-top:1px solid var(--color-primary);border-bottom:1px solid var(--color-primary)}.source-cite{display:flex;gap:.7rem;align-items:flex-start;padding:.7rem .9rem;margin:1rem 0;border-left:2px solid var(--color-primary);background:var(--color-surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font:500 .68rem/1.5 var(--font-body);color:var(--color-ink-2)}.source-cite .arrow{color:var(--color-primary);font-weight:700;flex-shrink:0}.source-cite .body{flex:1}.source-cite .claim{color:var(--color-ink);font-weight:600;display:block;margin-bottom:.2rem}.source-cite .host{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary)}.source-cite a{color:inherit;text-decoration:none}.source-cite a:hover{text-decoration:underline}.source-cite .ts{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.04em;color:var(--color-ink-3);text-transform:uppercase}.author-bio{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.3rem;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;margin-top:1.6rem}@media(max-width:560px){.author-bio{grid-template-columns:1fr;text-align:left}}.author-bio .auth-avatar{width:3rem;height:3rem;border-radius:50%;background:var(--color-primary);color:var(--color-primary-fg);display:inline-flex;align-items:center;justify-content:center;font:700 .8rem var(--font-heading)}.author-bio .auth-name{font:700 .85rem var(--font-heading);color:var(--color-ink);margin-bottom:.15rem}.author-bio .auth-role{font:500 .55rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);margin-bottom:.3rem}.author-bio .auth-bio{font:400 .68rem/1.5 var(--font-body);color:var(--color-ink-2);margin:0;max-width:54ch}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}@media(max-width:760px){.related-grid{grid-template-columns:1fr}}.subscribe{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.8rem 1.6rem;display:grid;grid-template-columns:1fr auto;gap:1.4rem;align-items:center;box-shadow:var(--shadow-soft)}@media(max-width:760px){.subscribe{grid-template-columns:1fr}}.subscribe h3{font:700 1.4rem/1.1 var(--font-heading);letter-spacing:-.02em;margin:.2rem 0 .35rem}.subscribe p{font:400 .72rem/1.5 var(--font-body);color:var(--color-ink-2);margin:0}.sub-form{display:flex;gap:.5rem;align-items:stretch}.sub-form input{font:400 .75rem var(--font-body);padding:.7rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-2);background:var(--color-surface-2);min-width:18rem;color:var(--color-ink)}.sub-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);background:var(--color-surface)}.sub-form .status{font:500 .62rem var(--font-mono);color:var(--color-ink-3);letter-spacing:.04em}.sub-form .status.ok{color:var(--color-success)}.sub-form .status.err{color:var(--color-error)}@media(max-width:520px){.sub-form{flex-direction:column}.sub-form input{min-width:0;width:100%}}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:1.6rem}@media(max-width:760px){.contact-grid{grid-template-columns:1fr}}.contact-explainer{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.6rem 1.4rem}.contact-explainer h2{font:700 1.4rem/1.1 var(--font-heading);letter-spacing:-.015em;margin:0 0 .5rem}.contact-explainer h3{font:700 .8rem var(--font-heading);color:var(--color-ink);margin:1rem 0 .3rem}.contact-explainer p{font:400 .75rem/1.55 var(--font-body);color:var(--color-ink-2);margin:0 0 1rem}.calendly-card{background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-lg);padding:1.2rem;display:flex;flex-direction:column;gap:.8rem;min-height:24rem;box-shadow:var(--shadow-1)}.calendly-card .embed{flex:1;border-radius:var(--radius-sm);min-height:20rem;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-ink-3);font:500 .62rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:1rem;gap:.5rem}.calendly-card .embed iframe{width:100%;height:100%;min-height:20rem;border:0}.calendly-card .embed .fallback-title{color:var(--color-ink);font-size:.7rem}.calendly-card .embed .fallback-sub{color:var(--color-ink-3);font-size:.6rem;text-transform:none;letter-spacing:.02em}.calendly-card .head{display:flex;justify-content:space-between;align-items:center;font:500 .55rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-3)}.empty-card{background:var(--color-surface);border:1px dashed var(--color-border-2);border-radius:var(--radius);padding:2.4rem 1.4rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.7rem}.empty-card .ico{width:2.6rem;height:2.6rem;border-radius:50%;background:var(--color-surface-3);color:var(--color-ink-3);display:flex;align-items:center;justify-content:center;font:700 1.1rem var(--font-mono)}.empty-card h4{font:700 .95rem var(--font-heading);letter-spacing:-.005em;margin:0;color:var(--color-ink)}.empty-card p{font:400 .7rem/1.5 var(--font-body);color:var(--color-ink-2);margin:0;max-width:44ch}.radar-card{background:var(--color-dark-bg);color:var(--color-dark-ink);border-radius:var(--radius-lg);border:1px solid var(--color-dark-border);padding:1.2rem 1.2rem 1rem;box-shadow:var(--shadow-3)}.radar-card .head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem;font:500 .55rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-dark-ink-3)}.radar-card .head .right{display:flex;align-items:center;gap:.4rem;color:var(--color-dark-primary)}.radar-card .head .pulse-dot{width:.4rem;height:.4rem;border-radius:50%;background:var(--color-dark-primary);box-shadow:0 0 0 0 var(--color-dark-primary);animation:radar-pulse 2s infinite}@keyframes radar-pulse{0%{box-shadow:0 0 #2bbac980}70%{box-shadow:0 0 0 .35rem #2bbac900}to{box-shadow:0 0 #2bbac900}}.radar-scope{aspect-ratio:1;background:radial-gradient(circle at center,rgba(43,186,201,.18) 0%,rgba(43,186,201,.06) 35%,transparent 70%);border:1px solid var(--color-dark-border);border-radius:50%;position:relative;margin:.4rem auto .9rem;max-width:14rem;overflow:hidden}.radar-scope:before,.radar-scope:after{content:"";position:absolute;border:1px solid var(--color-dark-border);border-radius:50%}.radar-scope:before{inset:18%}.radar-scope:after{inset:36%}.radar-scope .sweep{position:absolute;inset:0;background:conic-gradient(from 0deg,transparent 0deg,rgba(43,186,201,.55) 30deg,transparent 60deg);border-radius:50%;animation:radarspin 4s linear infinite;mix-blend-mode:screen}@keyframes radarspin{to{transform:rotate(360deg)}}.radar-scope .blip{position:absolute;width:.5rem;height:.5rem;border-radius:50%;background:var(--color-dark-primary);box-shadow:0 0 .6rem var(--color-dark-primary)}.radar-scope .blip.b1{top:22%;left:60%}.radar-scope .blip.b2{top:55%;left:30%}.radar-scope .blip.b3{top:68%;left:72%;opacity:.7}.radar-scope .blip.b4{top:38%;left:78%;opacity:.5}.radar-scope .center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 .55rem var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--color-dark-ink-3)}.radar-feed{font:500 .58rem var(--font-mono);color:var(--color-dark-ink-2);letter-spacing:.04em}.radar-feed .ln{display:flex;gap:.5rem;padding:.32rem 0;border-top:1px solid var(--color-dark-border)}.radar-feed .ln:first-child{border-top:0}.radar-feed .ts{color:var(--color-dark-primary);min-width:3.2rem}@media(prefers-reduced-motion:reduce){.radar-card .head .pulse-dot,.radar-scope .sweep{animation:none}}.footer{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2.2rem 1.6rem 1.4rem;margin-top:2.4rem}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:1.4rem;padding-bottom:1.6rem;border-bottom:1px solid var(--color-border)}@media(max-width:760px){.footer-top{grid-template-columns:1fr 1fr}}.footer .wm{font:700 1.4rem/1 var(--font-heading);letter-spacing:-.015em;color:inherit;margin-bottom:.4rem;display:inline-flex;align-items:baseline}.footer .wm .dot{color:var(--color-primary)}.footer .tagline{font:400 .65rem/1.5 var(--font-body);color:var(--color-ink-2);max-width:24ch;margin-bottom:.7rem}.footer .col h5{font:600 .55rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-3);margin:0 0 .65rem}.footer .col a{display:block;padding:.25rem 0;font:500 .65rem var(--font-body);color:var(--color-ink-2);letter-spacing:.005em}.footer .col a:hover{color:var(--color-ink)}.footer-bot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.7rem;padding-top:1rem;font:500 .55rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-3)}.footer-bot .socials{display:flex;gap:.5rem}.footer-bot .socials a{width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid var(--color-border);display:inline-flex;align-items:center;justify-content:center;color:var(--color-ink-2);font-size:.7rem}.footer-bot .socials a:hover{background:var(--color-primary);color:var(--color-primary-fg);border-color:var(--color-primary)}@media(max-width:560px){.wordmark-hero{font-size:1.9rem}.page-head h1{font-size:1.45rem}.hero{padding:2.2rem 1.2rem}.cta-band{padding:1.8rem 1.2rem}}
