:root { --ink:#102329; --muted:#597076; --paper:#f6f8f7; --surface:#ffffff; --line:#dbe4e2; --teal:#087b7b; --teal-dark:#075f60; --soft:#e8f3f1; --radius:18px; --max:1120px; }
* { box-sizing:border-box; }
button { font:inherit; }
a:focus-visible, button:focus-visible { outline:3px solid var(--teal); outline-offset:4px; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height:1.55; }
a { color:inherit; }
.site-header, main, footer { width:min(calc(100% - 40px), var(--max)); margin:auto; }
.site-header { min-height:76px; display:flex; align-items:center; justify-content:space-between; }
.brand { text-decoration:none; font-size:1.35rem; font-weight:800; letter-spacing:-.06em; }.brand span{color:var(--teal)}
nav { display:flex; gap:22px; font-size:.94rem; } nav a { color:var(--muted); text-decoration:none; } nav a:hover { color:var(--teal); }
.hero { padding:92px 0 72px; max-width:760px; }.eyebrow { margin:0 0 13px; color:var(--teal); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; } h1 { max-width:720px; margin-bottom:22px; font-size:clamp(2.7rem,7vw,5.7rem); line-height:.97; letter-spacing:-.065em; } h2 { margin-bottom:0; font-size:clamp(2rem,4vw,3rem); line-height:1; letter-spacing:-.05em; } h3 { font-size:1.35rem; line-height:1.08; letter-spacing:-.035em; }
.hero-copy { max-width:650px; color:var(--muted); font-size:1.16rem; }.button { display:inline-flex; gap:10px; align-items:center; margin-top:16px; padding:13px 17px; border-radius:999px; background:var(--teal); color:#fff; font-weight:750; text-decoration:none; }.button:hover { background:var(--teal-dark); }
.case-studies { padding:64px 0 94px; border-top:1px solid var(--line); }.section-heading { margin-bottom:30px; }.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.case-card { min-height:275px; display:flex; flex-direction:column; padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); text-decoration:none; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }.featured-card:hover { transform:translateY(-4px); border-color:#a3d0cb; box-shadow:0 14px 36px rgba(16,35,41,.09); }.card-number { color:var(--teal); font-size:.78rem; font-weight:800; letter-spacing:.1em; }.case-card p:not(.card-number) { color:var(--muted); }.case-card span { margin-top:auto; color:var(--teal); font-size:.9rem; font-weight:750; }.muted-card { opacity:.72; } footer { display:flex; justify-content:space-between; gap:24px; padding:28px 0 42px; border-top:1px solid var(--line); color:var(--muted); font-size:.82rem; } footer p:last-child { max-width:470px; text-align:right; }
.card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:760px) { .site-header,main,footer { width:min(calc(100% - 28px),var(--max)); }.hero { padding:64px 0 54px; }.card-grid { grid-template-columns:1fr; }.case-card { min-height:220px; } footer { flex-direction:column; } footer p:last-child { text-align:left; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { transition:none !important; } }
