:root{--navy:#0a1f3c;--navy-soft:#14315c;--ink:#16233a;--muted:#5b6b84;--line:#e3e9f2;--bg:#fff;--bg-soft:#f5f8fc;--accent:#2563eb;--gold:#f5a623;--radius:14px;--maxw:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--line);z-index:50;background:#fff;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;gap:16px;height:64px;display:flex}.brand{color:var(--navy);letter-spacing:-.01em;white-space:nowrap;font-size:17px;font-weight:800}.brand:hover{text-decoration:none}.brand span{color:var(--gold)}.main-nav{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.main-nav a{color:var(--ink);border-radius:8px;padding:8px 12px;font-size:14px;font-weight:600}.main-nav a:hover{background:var(--bg-soft);text-decoration:none}.hero{background:linear-gradient(180deg, var(--navy) 0%, var(--navy-soft) 100%);color:#fff;text-align:center;padding:72px 0 56px}.hero h1{letter-spacing:-.02em;max-width:820px;margin:0 auto 16px;font-size:clamp(30px,5vw,48px);line-height:1.15}.hero p.lead{color:#c6d4ea;max-width:720px;margin:0 auto 32px;font-size:clamp(16px,2.2vw,19px)}.stars{color:var(--gold);letter-spacing:3px;font-size:22px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;max-width:880px;margin:40px auto 0;display:grid}.stat{border-radius:var(--radius);background:#ffffff12;border:1px solid #ffffff24;padding:18px 12px}.stat .num{color:#fff;font-size:28px;font-weight:800;display:block}.stat .label{color:#b9c9e2;font-size:13px}.section{padding:56px 0}.section.alt{background:var(--bg-soft)}.section h2{letter-spacing:-.02em;color:var(--navy);margin:0 0 8px;font-size:clamp(24px,3.6vw,34px)}.section .sub{color:var(--muted);max-width:720px;margin:0 0 32px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.card:hover{transform:translateY(-2px);box-shadow:0 8px 28px #0a1f3c1a}.card a.card-link{color:inherit;flex-direction:column;height:100%;display:flex}.card a.card-link:hover{text-decoration:none}.card .thumb{aspect-ratio:16/9;object-fit:cover;background:var(--bg-soft);width:100%;display:block}.card .body{flex-direction:column;flex:1;gap:6px;padding:16px 18px 18px;display:flex}.card .tag{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-size:12px;font-weight:700}.card h3{color:var(--navy);margin:0;font-size:17px;line-height:1.3}.card p{color:var(--muted);margin:0;font-size:14px}.quote-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;gap:14px;margin:0;padding:24px;display:flex}.quote-card blockquote{color:var(--ink);margin:0;font-size:15.5px}.quote-card .who{align-items:center;gap:12px;display:flex}.quote-card .who img.portrait{object-fit:cover;border-radius:50%;width:48px;height:48px}.quote-card .who .name{color:var(--navy);font-size:14.5px;font-weight:700}.quote-card .who .meta{color:var(--muted);font-size:13px}.quote-card img.signature{align-self:flex-start;width:auto;max-height:44px}.gallery{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.gallery figure{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin:0;overflow:hidden}.gallery figure img{width:100%;display:block}.gallery figcaption{color:var(--ink);border-top:1px solid var(--line);padding:12px 14px;font-size:13.5px}.gallery figcaption .type{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px;font-size:11.5px;font-weight:700;display:block}.case-hero{background:var(--bg-soft);padding:48px 0}.case-hero .tag{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-size:13px;font-weight:700}.case-hero h1{color:var(--navy);letter-spacing:-.02em;max-width:860px;margin:8px 0 10px;font-size:clamp(26px,4vw,40px)}.case-hero p.desc{color:var(--muted);max-width:760px;margin:0;font-size:18px}.video-wrap{aspect-ratio:16/9;border-radius:var(--radius);background:var(--navy);margin:32px 0;position:relative;overflow:hidden}.video-wrap iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.case-block{margin:28px 0}.case-block h2{color:var(--navy);margin:0 0 8px;font-size:20px}.case-block p{color:var(--ink);max-width:780px;margin:0}.breadcrumbs{color:var(--muted);margin-bottom:12px;font-size:13.5px}.btn{background:var(--accent);color:#fff;border-radius:10px;padding:12px 22px;font-size:15px;font-weight:700;display:inline-block}.btn:hover{background:#1d4fd7;text-decoration:none}.btn.ghost{border:1px solid var(--line);color:var(--navy);background:0 0}.btn.ghost:hover{background:var(--bg-soft)}.review-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.review{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:20px}.review .stars{letter-spacing:2px;font-size:16px}.review p{margin:10px 0;font-size:14.5px}.review .who{color:var(--muted);font-size:13px;font-weight:600}.rating-summary{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:32px;padding:24px;display:flex}.rating-summary .big{color:var(--navy);font-size:44px;font-weight:800;line-height:1}.site-footer{background:var(--navy);color:#b9c9e2;margin-top:64px;padding:40px 0;font-size:14px}.site-footer a{color:#dce7f7}.site-footer .cols{flex-wrap:wrap;justify-content:space-between;gap:24px;display:flex}.site-footer .foot-nav{flex-wrap:wrap;gap:18px;display:flex}@media (max-width:640px){.site-header{position:static}.site-header .container{flex-direction:column;align-items:flex-start;height:auto;padding-top:10px;padding-bottom:10px}.main-nav{justify-content:flex-start}.main-nav a{padding:6px 8px}.hero{padding:48px 0 40px}}
