:root { --fog: #eef3f5; --deep: #071b2d; --gold: #ef734c; --shadow: 0 18px 42px rgba(9, 30, 49, .12); }
body { text-rendering: optimizeLegibility; }
.site-header { background: rgba(255,255,255,.94); backdrop-filter: blur(16px); }
.brand { width: 205px; }
.hero { background: radial-gradient(circle at 86% 18%, rgba(37,91,119,.28), transparent 30%), var(--deep); }
.hero:before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.45; background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(90deg,#000,transparent 76%); }
.hero-copy { position:relative; }
.hero h1 { max-width: 680px; }
.hero-text { color:#d2dde3; }
.button { border-radius: 3px; box-shadow: 0 8px 20px rgba(228,94,56,.22); }
.button:hover { box-shadow:0 14px 28px rgba(228,94,56,.35); }
.solutions { background: linear-gradient(180deg, var(--paper), var(--fog)); }
.solution-grid { gap: 12px; border: 0; }
.solution-card { min-height: 285px; border: 1px solid rgba(17,38,61,.10); background: rgba(255,255,255,.68); overflow:hidden; }
.solution-card:before { content:""; position:absolute; left:0; top:0; width:100%; height:3px; background:linear-gradient(90deg,var(--signal),rgba(228,94,56,0)); transform:scaleX(0); transform-origin:left; transition:transform .25s var(--ease); }
.solution-card:hover:before { transform:scaleX(1); }
.solution-card:hover { box-shadow: var(--shadow); }
.solution-icon { width:48px; height:48px; display:grid; place-items:center; margin:8px 0 17px; color:var(--signal); border:1px solid rgba(228,94,56,.28); background:#fff8f5; }
.solution-icon svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.solution-group { margin-top:0; }
.solution-card h3 { font-size:21px; }
.clients { background:linear-gradient(130deg,#0c243a,#071b2d); }
.client-card { position:relative; transition:background .2s var(--ease); }
.client-card:hover { background:rgba(255,255,255,.05); }
.quote-box { box-shadow:var(--shadow); border-top-width:4px; }
.quote-box input,.quote-box select,.quote-box textarea { transition:border-color .16s,box-shadow .16s; }
.quote-box input:focus,.quote-box select:focus,.quote-box textarea:focus { box-shadow:0 0 0 4px rgba(228,94,56,.1); }
.solution-hero .solution-icon { width:72px; height:72px; background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.25); color:#f68157; }
.solution-hero .solution-icon svg { width:34px; height:34px; }
.entry-content { max-width: 700px; }
.entry-content h2,.entry-content h3 { color:var(--ink); font-family:"Space Grotesk",sans-serif; letter-spacing:-.035em; line-height:1.14; }
.entry-content h2 { font-size:clamp(28px,3vw,38px); margin:0 0 20px; }
.entry-content h3 { font-size:21px; margin:30px 0 10px; }
.entry-content strong { color:var(--ink); font-weight:800; }
.entry-content p { max-width:68ch; }
.solution-editorial-visual { margin:30px 0 34px; border:1px solid rgba(17,38,61,.12); background:var(--deep); overflow:hidden; }
.solution-editorial-visual img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.solution-editorial-visual figcaption { padding:10px 14px; color:#dbe6ed; font:500 12px/1.45 "DM Mono",monospace; }
.home-seo { background:linear-gradient(135deg,#eef3f5,#fffaf7); }
.home-seo-grid { display:grid; grid-template-columns:minmax(0,.86fr) minmax(320px,1.14fr); gap:72px; align-items:start; }
.home-seo h2 { max-width:11ch; margin:0; }
.home-seo-copy { font-size:17px; }
.home-seo-copy p { max-width:66ch; }
.home-seo-copy a { color:var(--signal); font-weight:800; text-underline-offset:4px; }
@media(max-width:900px){ .solution-grid{gap:8px}.solution-card{min-height:270px}.brand{width:175px} }
@media(max-width:900px){ .home-seo-grid{grid-template-columns:1fr;gap:22px}.home-seo h2{max-width:18ch} }
@media(max-width:590px){ .solution-grid{gap:0}.solution-card{border-width:0 0 1px;min-height:230px}.solution-icon{width:43px;height:43px;margin:4px 0 13px} }
