:root{--color-navy:#172b4d;--color-teal:#147d80;--color-link:#0e6769;--color-bg:#fafaf7;--color-surface:#fff;--color-surface-muted:#eaf3f3;--color-text:#475569;--color-muted:#475569;--color-border:#d9e3e6;--color-on-navy:#fff;--color-danger:#8a2b2b;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4.5rem;--radius-sm:4px;--radius-md:8px;--content-width:72.5rem;--reading-width:47.5rem;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);margin:0;font-size:1.0625rem;line-height:1.65}:focus-visible{outline:2px solid var(--color-navy);outline-offset:3px}a,.button,.inquiry button{transition:background-color .15s,color .15s,border-color .15s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}a{color:var(--color-link);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}.skip-link{left:var(--space-md);top:var(--space-md);z-index:10;border-radius:var(--radius-sm);background:var(--color-navy);color:var(--color-on-navy);padding:.6rem .9rem;font-weight:600;text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header,.site-footer{background:var(--color-bg)}.site-header{border-bottom:1px solid var(--color-border)}.site-header-inner,.site-footer-inner{justify-content:space-between;align-items:center;gap:var(--space-md) var(--space-xl);max-width:var(--content-width);padding:var(--space-md) var(--space-lg);margin:0 auto;display:flex}.site-header nav{flex-wrap:wrap;gap:.35rem 1.15rem;display:flex}.site-header nav a{color:var(--color-navy);padding:.4rem .1rem;font-weight:500;text-decoration:none}.site-header nav a:hover{color:var(--color-link);text-decoration:underline}.site-header nav a[aria-current=page]{text-underline-offset:.35em;font-weight:700;text-decoration:underline 2px}.brand{color:var(--color-navy);font-weight:700;text-decoration:none}.brand:hover{text-decoration:none}@media (width<=40rem){.site-header-inner{flex-direction:column;align-items:flex-start}}main{max-width:var(--content-width);padding:var(--space-xl) var(--space-lg) var(--space-3xl);margin:0 auto}main:focus{outline:none}.content-page,.case-study{max-width:var(--reading-width)}h1,h2,h3{color:var(--color-navy);text-wrap:balance}h1{margin:0 0 var(--space-md);letter-spacing:-.03em;font-size:clamp(1.85rem,1.15rem + 2.8vw,3.25rem);font-weight:700;line-height:1.12}h2{margin:var(--space-2xl) 0 var(--space-md);font-size:clamp(1.5rem,1.2rem + 1vw,2rem);font-weight:700;line-height:1.2}h3{margin:var(--space-xl) 0 var(--space-sm);font-size:clamp(1.15rem,1.05rem + .4vw,1.35rem);font-weight:650;line-height:1.3}p,li{font-size:1.0625rem}strong{color:var(--color-navy);font-weight:650}p .brand-name,li .brand-name{font-weight:650}ul,ol{padding-left:1.25rem}hr{margin:var(--space-2xl) 0;border:0;border-top:1px solid var(--color-border)}code,pre{font-family:var(--font-mono)}pre,table{max-width:100%;display:block;overflow-x:auto}table{border-collapse:collapse}.site-footer{border-top:1px solid var(--color-border);color:var(--color-text)}.site-footer-inner{align-items:flex-start}.site-footer p{margin:0}.button,.inquiry button{border:1px solid var(--color-navy);border-radius:var(--radius-md);background:var(--color-navy);color:var(--color-on-navy);font:inherit;text-align:center;cursor:pointer;padding:.7rem 1.15rem;font-weight:600;line-height:1.3;text-decoration:none;display:inline-block}.button:hover,.inquiry button:hover{color:var(--color-on-navy);background:#0f1e38;border-color:#0f1e38;text-decoration:none}.button-secondary{background:var(--color-surface);color:var(--color-navy)}.button-secondary:hover{border-color:var(--color-navy);background:var(--color-surface-muted);color:var(--color-navy)}.inquiry label{margin-top:var(--space-md);color:var(--color-navy);font-weight:600;display:block}.inquiry input,.inquiry select,.inquiry textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-navy);font:inherit;margin-top:.35rem;padding:.65rem .75rem;font-weight:400;display:block}.inquiry textarea{resize:vertical}.inquiry button{margin-top:var(--space-lg)}.inquiry button:disabled{cursor:wait;opacity:.7}.optional,.form-status{color:var(--color-muted);font-weight:400}.form-status{min-height:1.5rem}.form-status[data-state=error]{color:var(--color-danger)}.form-status[data-state=success]{color:var(--color-navy)}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.home>section+section,.work-index>section+section{margin-top:var(--space-3xl)}.home h2,.work-index h2{margin-top:0}.home .hero,.home .why-matters,.home .about-preview,.work-index .hero,.work-index .secondary-experience{max-width:42rem}.home .why-matters{padding-left:var(--space-lg);border-left:3px solid var(--color-teal)}.card-grid,.project-grid{gap:var(--space-md);display:grid}.summary-card,.project-card{padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.summary-card>:first-child,.project-card h3{margin-top:0}.summary-card p:last-child,.project-card p:last-child{margin-bottom:0}.home .featured-work,.work-index .featured-work{padding:var(--space-xl) var(--space-lg);border-radius:var(--radius-md);background:var(--color-surface-muted)}.project-card{flex-direction:column;height:100%;display:flex}.project-media{aspect-ratio:16/9;margin:0 0 var(--space-md);border:1px dashed var(--color-teal);border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-text);place-items:center;font-size:.95rem;display:grid}.work-index .project-card p:has(>strong:only-child){margin:0 0 var(--space-sm);color:var(--color-navy);font-size:.95rem}p.cta-row{margin:var(--space-lg) 0 0;flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.project-card .cta-row{padding-top:var(--space-md);margin-top:auto}.home .cta-band,.work-index .cta-band{padding:var(--space-xl) var(--space-lg);border-radius:var(--radius-md);background:var(--color-navy);color:var(--color-on-navy)}.home .cta-band h2,.work-index .cta-band h2,.home .cta-band p,.work-index .cta-band p{color:var(--color-on-navy)}.cta-band .button{border-color:var(--color-on-navy);background:var(--color-on-navy);color:var(--color-navy)}.cta-band .button:hover{border-color:var(--color-surface-muted);background:var(--color-surface-muted);color:var(--color-navy)}.cta-band .button-secondary{color:var(--color-on-navy);background:0 0}.cta-band .button-secondary:hover{border-color:var(--color-on-navy);color:var(--color-on-navy);background:#ffffff1f}.cta-band :focus-visible{outline-color:var(--color-on-navy)}@media (width>=48rem){.home .service-overview .card-grid{grid-template-columns:1fr 1fr}}@media (width>=60rem){.home .engagements .card-grid,.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}}.case-study .technical-callout{margin:var(--space-xl) 0 var(--space-2xl);padding:var(--space-lg);border:1px solid var(--color-border);border-left:3px solid var(--color-teal);border-radius:var(--radius-md);background:var(--color-surface-muted)}.case-study .technical-callout>:first-child{margin-top:0}.case-study .technical-callout p:last-child{margin-bottom:0}.case-study .technical-followup{margin:var(--space-2xl) 0 0;padding-top:var(--space-lg);border-top:1px solid var(--color-border);font-weight:650}.case-study .case-end-secondary{margin:var(--space-md) 0 0}.contact-choices{gap:var(--space-md);margin:var(--space-xl) 0 var(--space-lg);display:grid}.contact-choice{padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-navy);flex-direction:column;align-items:flex-start;gap:.35rem;text-decoration:none;display:flex}.contact-choice svg{width:1.35rem;height:1.35rem;margin-bottom:.35rem}.contact-choice-title{font-weight:700;line-height:1.3}.contact-choice-note{color:var(--color-text);font-size:.95rem;line-height:1.45}.contact-choice:hover{border-color:var(--color-teal);color:var(--color-navy);text-decoration:none}@media (width>=40rem){.contact-choices{grid-template-columns:1fr 1fr}}
