:root{--navy:#0a172a;--dark:#101f35;--blue:#92baff;--ink:#10203a;--muted:#4a5c72;--line:#dbe3ee;--paper:#f5f7fb}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--paper)}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid #548afa;outline-offset:4px}
img{display:block;max-width:100%}
figure,h1,h2,h3,p{margin:0}
.wrap{width:min(1160px,calc(100% - 64px));margin-inline:auto}
.skip{position:absolute;left:1rem;top:-5rem;z-index:3;background:white;padding:.7rem}
.skip:focus{top:1rem}
.header{background:var(--navy);color:white;border-bottom:1px solid #25344a}
.nav,.brand,nav,.footer{display:flex;align-items:center}
.nav,.footer{justify-content:space-between;min-height:72px}
.brand{gap:11px;font-size:1.15rem;font-weight:850;letter-spacing:.05em;white-space:nowrap}
.brand b{color:var(--blue)}
nav{gap:clamp(12px,3vw,36px);font-size:.9rem;font-weight:650}
nav a:hover,.footer a:hover{color:var(--blue)}
.nav-cta{border:1px solid #556d90;border-radius:6px;padding:8px 13px;white-space:nowrap}
.hero,.contact{color:white;background:var(--navy)}
.hero{background-image:radial-gradient(ellipse at 78% 10%,#1b3456,transparent 57%)}
.hero-grid{display:grid;grid-template-columns:1fr 1.06fr;gap:clamp(24px,5vw,70px);align-items:center;padding-block:clamp(48px,8vw,104px)}
.eyebrow{font:750 .75rem/1.4 ui-monospace,Consolas,monospace;text-transform:uppercase;letter-spacing:.13em;color:#315a9c}
.hero .eyebrow,.contact .eyebrow{color:var(--blue)}
.hero .eyebrow span{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--blue);margin-right:6px}
h1,h2,h3{line-height:1.08;letter-spacing:-.04em}
h1{font-size:clamp(2.7rem,5.9vw,5.25rem);margin-top:17px}
h2{font-size:clamp(2.05rem,4vw,3.45rem);margin-top:10px}
h3{font-size:1.4rem}
.intro,.contact p:not(.eyebrow){color:#c5d3e5;margin-top:18px;max-width:48ch}
.intro{font-size:1.12rem}
.actions,.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid transparent;border-radius:6px;padding:11px 17px;font-weight:750;font-size:.93rem}
.primary{background:var(--blue);color:var(--navy)}
.primary:hover{background:#b8d3ff}
.outline{border-color:#607695;color:#f5f8ff}
.outline:hover{background:#203857}
.hero-visual{border:1px solid #526788;background:#e9edf3;border-radius:12px;overflow:hidden}
.hero-visual img{width:100%;aspect-ratio:1.46;object-fit:contain}
.hero-visual figcaption{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--dark);color:#ecf3ff;font-size:.8rem}
.hero-visual figcaption span:first-child{color:var(--blue);font:700 .7rem/1.8 ui-monospace,Consolas,monospace}
.section{padding-block:clamp(48px,7vw,90px)}
.section-head{display:flex;gap:24px;align-items:end;justify-content:space-between;margin-bottom:24px}
.section-head>p{color:var(--muted);max-width:47ch}
.project-grid,.service-grid{display:grid;gap:16px}
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.project{overflow:hidden;background:white;border:1px solid var(--line);border-radius:10px}
.project-image{background:#e9edf3;border-bottom:1px solid var(--line)}
.project img{width:100%;aspect-ratio:1.95;object-fit:contain}
.project-copy{padding:22px 24px}
.tag{display:inline-block;border-radius:4px;background:#eaf0fa;color:#264a7e;padding:3px 8px;margin-bottom:12px;font:700 .72rem/1.5 ui-monospace,Consolas,monospace;text-transform:uppercase}
.tag.paid{background:#dcefe9;color:#20584a}
.project-copy>p:last-child,.service-grid p{color:var(--muted);margin-top:9px}
.services{background:white;border-top:1px solid var(--line)}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-grid article{border-top:2px solid #6d9bf0;background:var(--paper);padding:20px}
.service-grid span{display:block;margin-bottom:12px;color:#315a9c;font:750 .8rem ui-monospace,Consolas,monospace}
.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:center;padding-block:clamp(48px,7vw,86px)}
.contact-actions{justify-content:flex-end;margin:0}
.contact-actions p:not(.eyebrow){flex-basis:100%;text-align:right;font-size:.84rem;margin:0}
footer{background:var(--navy);color:#c5d3e5;border-top:1px solid #25344a;font-size:.88rem}
@media(max-width:850px){.hero-grid,.contact-grid{grid-template-columns:1fr}.contact-actions{justify-content:flex-start}.contact-actions p:not(.eyebrow){text-align:left}.section-head{align-items:start;flex-direction:column;gap:12px}}
@media(max-width:620px){.wrap{width:calc(100% - 32px)}.project-grid,.service-grid{grid-template-columns:1fr}.nav{gap:8px}.brand{gap:6px;font-size:.95rem}.brand img{width:28px;height:28px}nav{gap:9px;font-size:.78rem}.nav-cta{padding:6px}.footer{gap:12px}.project-copy{padding:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
