@font-face{font-family:"DM Serif Display";src:url(/fonts/DMSerifDisplay-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"DM Serif Display";src:url(/fonts/DMSerifDisplay-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Syne;src:url(/fonts/Syne-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Syne;src:url(/fonts/Syne-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Syne;src:url(/fonts/Syne-ExtraBold.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Literata;src:url(/fonts/Literata-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Literata;src:url(/fonts/Literata-LightItalic.woff2) format("woff2");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Literata;src:url(/fonts/Literata-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Literata;src:url(/fonts/Literata-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--font-display: "DM Serif Display", Georgia, serif;--font-heading: "Syne", "Trebuchet MS", sans-serif;--font-body: "Literata", Georgia, serif;--font-mono: "JetBrains Mono", "SFMono-Regular", monospace;--type-display: clamp(3rem, 6vw, 5.5rem);--type-display-sub: clamp(1.25rem, 2.5vw, 1.75rem);--type-h1: clamp(2rem, 4vw, 3rem);--type-h2: clamp(1.5rem, 3vw, 2rem);--type-h3: clamp(1.125rem, 2vw, 1.375rem);--type-h4: 1.0625rem;--type-body: 1rem;--type-body-lg: 1.125rem;--type-small: .875rem;--type-xs: .75rem;--type-mono: .875rem;--lh-display: 1.05;--lh-heading: 1.2;--lh-body: 1.75;--lh-tight: 1.35}body{font-family:var(--font-body);font-size:var(--type-body);line-height:var(--lh-body)}h1,h2,h3,h4,.heading-display,.heading-section{font-family:var(--font-heading);line-height:var(--lh-heading);letter-spacing:-.02em}.heading-display{font-family:var(--font-display);font-size:var(--type-display);line-height:var(--lh-display)}.body-lead{font-size:var(--type-body-lg)}.label,.meta,.eyebrow{font-family:var(--font-mono);font-size:var(--type-xs);text-transform:uppercase;letter-spacing:.18em}@media print{nav,footer,.hero-diagram,.btn,.custom-cursor,[data-no-print]{display:none!important}*,*:before,*:after{box-shadow:none!important;text-shadow:none!important;animation:none!important;transition:none!important}body{font-family:Literata,Georgia,serif;font-size:11pt;line-height:1.6;color:#000;background:#fff}a[href^=http]:after,a[href^=mailto]:after{content:" (" attr(href) ")";font-size:9pt;color:#555}.card,.card-featured,.surface-panel{box-shadow:none;border:1px solid #ccc;break-inside:avoid}h1,h2,h3,h4{break-after:avoid;page-break-after:avoid}@page{margin:1.5cm 2cm}.case-study-section{break-inside:avoid}}:root{--color-bg: #f7f8fa;--color-surface: #ffffff;--color-surface-2: #eef1f5;--color-navy: #1b3a5c;--color-navy-mid: #2a4f78;--color-navy-light: #d6e4f0;--color-teal: #1a6b72;--color-teal-mid: #2a8a92;--color-teal-light: #e0f4f5;--color-teal-glow: rgba(26, 107, 114, .12);--color-text-primary: #1a1a2e;--color-text-mid: #4a5568;--color-text-light: #8896a5;--color-border: #dde3ea;--color-border-strong: #bfc9d4;--color-gold: #b8860b;--color-gold-light: #fdf6e3;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--space-10: 8rem;--section-pad: clamp(var(--space-8), 10vw, var(--space-10));--container-max: 1280px;--container-wide: 1440px;--container-narrow: 720px;--container-pad: clamp(var(--space-4), 4vw, var(--space-7));--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(27, 58, 92, .06), 0 1px 2px rgba(27, 58, 92, .04);--shadow-md: 0 4px 12px rgba(27, 58, 92, .08), 0 2px 4px rgba(27, 58, 92, .05);--shadow-lg: 0 12px 40px rgba(27, 58, 92, .12), 0 4px 12px rgba(27, 58, 92, .06);--shadow-teal: 0 4px 24px rgba(26, 107, 114, .18), 0 1px 4px rgba(26, 107, 114, .1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--color-text-primary);background:radial-gradient(circle at top left,rgba(214,228,240,.9),transparent 28%),radial-gradient(circle at top right,rgba(224,244,245,.9),transparent 24%),linear-gradient(180deg,#fbfcfd 0%,var(--color-bg) 100%)}img{max-width:100%;display:block}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}.site-shell{min-height:100vh}.container,.container-wide,.container-narrow{width:min(100% - (var(--container-pad) * 2),var(--container-max));margin:0 auto}.container-wide{width:min(100% - (var(--container-pad) * 2),var(--container-wide))}.container-narrow{width:min(100% - (var(--container-pad) * 2),var(--container-narrow))}.section{padding:var(--section-pad) 0}.section-shell{position:relative}.section-shell:before{content:"";position:absolute;inset:0;border-radius:calc(var(--radius-xl) + 12px);border:1px solid rgba(214,228,240,.45);background:linear-gradient(180deg,#ffffffad,#ffffff3d),radial-gradient(circle at top right,rgba(26,107,114,.04),transparent 28%);pointer-events:none}.section-shell>*{position:relative;z-index:1}.eyebrow{color:var(--color-teal);margin-bottom:.85rem}.section-title{font-size:var(--type-h1);margin:0 0 .85rem}.section-subtitle{max-width:56ch;color:var(--color-text-mid);margin:0;line-height:1.65}.surface-panel,.card,.card-featured{background:#ffffffeb;border:1px solid rgba(221,227,234,.9);box-shadow:0 8px 24px #1b3a5c14;border-radius:var(--radius-lg)}.card-featured{padding:1.35rem}.grid-3,.grid-4,.grid-2,.grid-4-8,.grid-7-5{display:grid;gap:var(--space-6)}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4-8{grid-template-columns:minmax(240px,4fr) minmax(0,8fr)}.grid-7-5{grid-template-columns:minmax(0,7fr) minmax(320px,5fr)}.btn-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.85rem 1.2rem;border-radius:999px;border:1px solid transparent;font-family:var(--font-heading);font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:hover,.btn:focus-visible{transform:translateY(-1px)}.btn-primary{background:var(--color-teal);color:#fff;box-shadow:var(--shadow-teal)}.btn-primary:hover,.btn-primary:focus-visible{background:var(--color-teal-mid)}.btn-secondary{background:var(--color-surface);color:var(--color-navy);border-color:var(--color-border-strong)}.btn-ghost{color:#fff;border-color:#ffffff4d}.btn-secondary:hover,.btn-secondary:focus-visible{background:#e0f4f58c}.mono{font-family:var(--font-mono)}.muted{color:var(--color-text-mid)}.tag-cloud{display:flex;flex-wrap:wrap;gap:.65rem}.micro-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .75rem;border-radius:999px;background:#fffc;border:1px solid rgba(191,201,212,.65);color:var(--color-navy);font-family:var(--font-mono);font-size:var(--type-xs)}.micro-pill.is-teal{background:#e0f4f5eb;color:var(--color-teal)}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--color-border-strong),transparent);margin:var(--space-8) 0}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@media(max-width:960px){.grid-3,.grid-4,.grid-2,.grid-4-8,.grid-7-5{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}.site-footer[data-astro-cid-sz7xmlte]{background:var(--color-navy);color:#ffffffeb;padding-bottom:var(--space-7)}.footer-grid[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--space-7);align-items:start}.footer-brand[data-astro-cid-sz7xmlte]{display:flex;gap:1rem;align-items:center;margin-bottom:var(--space-5)}.footer-brand[data-astro-cid-sz7xmlte] span[data-astro-cid-sz7xmlte]{width:3rem;height:3rem;border-radius:50%;display:grid;place-items:center;background:#ffffff14;font-family:var(--font-display);font-size:1.35rem}.footer-brand[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte],.footer-copy[data-astro-cid-sz7xmlte]{margin:0;color:#ffffffb8}.footer-links[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:#fff}.footer-meta[data-astro-cid-sz7xmlte]{padding-top:var(--space-6);color:#ffffff94;font-family:var(--font-mono);font-size:var(--type-xs)}@media(max-width:820px){.footer-grid[data-astro-cid-sz7xmlte]{grid-template-columns:1fr}.footer-links[data-astro-cid-sz7xmlte]{justify-content:flex-start}}.site-nav[data-astro-cid-dmqpwcec]{position:sticky;top:0;z-index:50;background:#fffffff5;border-bottom:1px solid rgba(221,227,234,.8);box-shadow:0 1px 8px #1b3a5c0f}.nav-inner[data-astro-cid-dmqpwcec]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:1rem 0}.brand[data-astro-cid-dmqpwcec]{text-decoration:none;font-family:var(--font-display);color:var(--color-navy);font-size:1.55rem;line-height:1}.brand[data-astro-cid-dmqpwcec] span[data-astro-cid-dmqpwcec]{color:var(--color-teal)}.nav-toggle[data-astro-cid-dmqpwcec]{display:none;border:1px solid var(--color-border-strong);border-radius:999px;padding:.7rem 1rem;font:inherit;background:#fff;color:var(--color-navy)}.nav-links[data-astro-cid-dmqpwcec]{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center}.nav-link[data-astro-cid-dmqpwcec]{position:relative;color:var(--color-text-mid);text-decoration:none;font-family:var(--font-heading);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.nav-link[data-astro-cid-dmqpwcec].is-active,.nav-link[data-astro-cid-dmqpwcec]:hover,.nav-link[data-astro-cid-dmqpwcec]:focus-visible{color:var(--color-navy)}.nav-link[data-astro-cid-dmqpwcec].is-active:after{content:"";position:absolute;left:0;right:0;bottom:-.4rem;height:2px;background:var(--color-teal)}.nav-cv[data-astro-cid-dmqpwcec]{display:inline-flex;align-items:center;padding:.45rem 1rem;border-radius:999px;border:1.5px solid var(--color-teal);color:var(--color-teal);font-family:var(--font-heading);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:background .15s ease,color .15s ease;white-space:nowrap}.nav-cv[data-astro-cid-dmqpwcec]:hover,.nav-cv[data-astro-cid-dmqpwcec]:focus-visible{background:var(--color-teal);color:#fff}@media(max-width:820px){.nav-toggle[data-astro-cid-dmqpwcec]{display:inline-flex;align-items:center;justify-content:center}.nav-links[data-astro-cid-dmqpwcec]{position:absolute;left:0;right:0;top:calc(100% + 1px);display:none;flex-direction:column;align-items:stretch;padding:1rem var(--container-pad) 1.25rem;background:#f7f8fafa;border-bottom:1px solid rgba(221,227,234,.8)}.nav-links[data-astro-cid-dmqpwcec].is-open{display:flex}}@media(max-width:560px){.nav-inner[data-astro-cid-dmqpwcec]{gap:.75rem;padding:.85rem 0}.brand[data-astro-cid-dmqpwcec]{font-size:1.25rem}.nav-panel[data-astro-cid-dmqpwcec]{width:100vw;padding:1rem}}
