@font-face{font-family:M;src:url(assets/Montserrat.ttf);font-weight:100 900}
:root{--navy:#1E2F4F;--cream:#F3F0EA;--amber:#E8A33D;--ink:#1b2333}
*{box-sizing:border-box}body{margin:0;font-family:M,system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}
a{color:var(--navy)}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy);line-height:1.15;margin:0 0 .5em}
header{background:var(--navy);position:sticky;top:0;z-index:5}header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
header img{height:48px}nav a{color:#fff;text-decoration:none;margin-left:22px;font-size:.9rem;font-weight:600;letter-spacing:.04em}nav a:hover{color:var(--amber)}
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden;padding:80px 0 120px}
.hero .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.hero h1{color:#fff;font-size:clamp(2.2rem,5vw,3.8rem)}.hero p{font-size:1.15rem;color:#d7dce6;max-width:34em}
.kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;color:var(--amber)!important;font-weight:700}
.hero .badge{width:100%;max-width:380px;justify-self:center}
.road{position:absolute;left:0;right:0;bottom:0;height:56px;background:#2a3a5c}
.road:after{content:"";position:absolute;left:0;right:0;top:26px;height:4px;background:repeating-linear-gradient(90deg,var(--amber) 0 48px,transparent 48px 88px)}
.btn{display:inline-block;background:var(--amber);color:var(--navy);padding:13px 26px;border-radius:40px;font-weight:700;text-decoration:none;margin:8px 10px 0 0}
.btn.ghost{background:transparent;color:#fff;border:2px solid #fff}
section{padding:80px 0}.lead{font-size:1.1rem;max-width:44em}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:36px}
.card{background:#fff;border-radius:14px;padding:26px;border-top:5px solid var(--navy);box-shadow:0 6px 20px rgba(30,47,79,.08)}
.card .ic{font-size:.75rem;font-weight:800;letter-spacing:.15em;color:var(--amber)}
.card p{font-size:.95rem;margin:0}
.alt{background:#fff}
.route{list-style:none;padding:0;margin:44px 0 0;display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.route:before{content:"";position:absolute;top:22px;left:12%;right:12%;border-top:4px dashed var(--amber)}
.route li{text-align:center;padding:0 14px;position:relative}
.route span{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;margin-bottom:14px;border:4px solid #fff;box-shadow:0 0 0 2px var(--navy)}
.route p{font-size:.93rem;margin:0}
.work{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.work figure{margin:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 6px 20px rgba(30,47,79,.08)}
.work img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.work figcaption{padding:12px 16px;font-size:.88rem;font-weight:600}
.note{font-size:.85rem;color:#5b6475;margin-top:16px}
.contact{background:var(--navy);color:#fff}.contact h2{color:#fff}.contact p{color:#d7dce6}
.contact .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.contact a:not(.btn){color:#fff}
footer{background:#141f36;color:#aab3c5;padding:40px 0;font-size:.9rem}footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
footer img{height:64px}footer a{color:#fff;margin-right:18px}
@media(max-width:860px){nav{display:none}.hero .wrap,.contact .wrap{grid-template-columns:1fr}.hero .badge{max-width:240px;order:-1}
.grid{grid-template-columns:1fr 1fr}.route{grid-template-columns:1fr 1fr;row-gap:30px}.route:before{display:none}.work{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.grid,.work{grid-template-columns:1fr}.route{grid-template-columns:1fr}.hero{padding:50px 0 100px}section{padding:56px 0}}
