:root { --navy:#0d1527; --gold:#f2a900; --muted:#4b5563; --fog:#e2e8f0; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
html, body { max-width:100%; }
body { margin:0; font-family:"DM Sans",system-ui,sans-serif; color:var(--navy); background:var(--white); }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
.wrap { width:min(1280px, calc(100% - 2rem)); margin-inline:auto; }
.top { background:var(--navy); color:var(--white); }
.top .wrap { display:flex; align-items:center; min-height:90px; gap:1rem; }
.logo { font-family:Outfit,sans-serif; font-weight:900; font-size:24px; letter-spacing:.02em; }
.logo span { display:block; font-family:"DM Sans",sans-serif; font-size:12px; font-weight:700; color:var(--gold); letter-spacing:.12em; }
.top nav { margin-left:auto; display:flex; gap:1.2rem; font-weight:600; font-size:16px; }
.top nav a.active { color:var(--gold); }
.call-pill { background:transparent; color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.08em; text-align:right; }
.call-pill b { display:block; color:#fff; font-family:Outfit,sans-serif; font-size:20px; letter-spacing:0; font-weight:900; }
.hero { background:var(--navy); color:#fff; padding:3.5rem 0; }
.hero-grid { display:grid; grid-template-columns:1fr 500px; gap:2.5rem; align-items:center; }
.kicker { color:var(--gold); font-weight:700; font-size:13px; letter-spacing:.08em; }
.hero h1 { font-family:Outfit,sans-serif; font-weight:900; font-size:clamp(2.2rem,5vw,56px); line-height:1.05; margin:.6rem 0 1rem; }
.hero p { color:var(--fog); font-size:18px; max-width:36rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.4rem; }
.btn { display:inline-flex; align-items:center; justify-content:center; padding:.85rem 1.2rem; font-weight:800; font-family:Outfit,sans-serif; border-radius:4px; }
.btn-gold { background:var(--gold); color:var(--navy); }
.btn-ghost { color:#fff; box-shadow:inset 0 0 0 1.5px #fff; }
.hero img { width:100%; height:450px; object-fit:cover; }
.trust { padding:3rem 0; }
.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.trust-grid h3 { font-family:Outfit,sans-serif; font-weight:800; margin:0 0 .3rem; }
.trust-grid p { margin:0; color:var(--muted); font-size:14px; }
.services { padding:3.5rem 0; background:#f8fafc; }
.services h2 { font-family:Outfit,sans-serif; font-weight:900; font-size:40px; margin:0 0 .6rem; }
.svc-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; margin-top:1.5rem; }
.svc { background:#fff; padding:1.2rem; border:1px solid #e5e7eb; }
.svc h3 { font-family:Outfit,sans-serif; margin:0 0 .35rem; }
.svc p { margin:0; color:var(--muted); }
.about { padding:3.5rem 0; }
.about-grid { display:grid; grid-template-columns:450px 1fr; gap:2.5rem; align-items:center; }
.about img { width:100%; height:450px; object-fit:cover; }
.gold { color:var(--gold); font-weight:800; letter-spacing:.08em; font-size:14px; }
.about h2 { font-family:Outfit,sans-serif; font-weight:900; font-size:40px; margin:.4rem 0 1rem; }
.about p { color:var(--muted); }
.areas { padding:3rem 0; background:#f8fafc; }
.areas h2 { font-family:Outfit,sans-serif; font-weight:900; font-size:36px; }
.tags { display:flex; flex-wrap:wrap; gap:.5rem; margin:1rem 0 1.5rem; }
.tags span { background:#fff; border:1px solid #e5e7eb; padding:.45rem .8rem; font-weight:600; font-size:16px; }
.map { width:100%; height:280px; border:0; }
.contact { background:var(--navy); color:#fff; padding:3.5rem 0; }
.contact-grid { display:grid; grid-template-columns:1fr 450px; gap:2rem; }
.contact h2 { font-family:Outfit,sans-serif; font-weight:900; font-size:44px; margin:0 0 .8rem; }
.contact p { color:var(--fog); }
.creds { background:#132033; padding:1.4rem; }
.creds h3 { color:var(--gold); font-family:Outfit,sans-serif; }
.creds dt { color:var(--fog); font-size:12px; margin-top:.7rem; }
.creds dd { margin:0; font-weight:700; }
.foot { background:#080e1b; color:var(--fog); padding:2.5rem 0; font-size:14px; }
.foot .wrap { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1.5rem; }
.foot .logo span { color:var(--gold); }
.gold-h { color:var(--gold); font-family:Outfit,sans-serif; font-weight:800; }
form { display:grid; gap:.7rem; }
label { font-weight:700; font-size:14px; }
input, textarea, select {
  font:inherit; padding:.7rem .8rem; border:1px solid #d1d5db; width:100%;
}
.page-hero { background:var(--navy); color:#fff; padding:3rem 0; }
.page-hero h1 { font-family:Outfit,sans-serif; font-weight:900; font-size:56px; margin:.5rem 0; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:2rem; padding:3rem 0; }
.sample-note {
  margin:0; padding:.45rem 1rem; text-align:center;
  background:#f2a900; color:#0d1527; font-size:12px; font-weight:700;
}
.sample-note a { text-decoration:underline; }
.btn { transition: transform .2s ease, filter .2s ease; }
.btn:hover { transform: translateY(-1px); filter: brightness(1.05); }
.svc { transition: transform .25s ease, box-shadow .25s ease; }
.svc:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(13,21,39,.08); }
@media (max-width:800px) {
  .hero-grid, .about-grid, .contact-grid, .svc-grid, .trust-grid, .foot .wrap, .split { grid-template-columns:1fr; }
  .top .wrap { flex-wrap: wrap; }
  .top nav {
    display:flex; width:100%; order:3; font-size:14px; gap:1rem;
    padding:0 0 .85rem; overflow-x:auto;
  }
  .call-pill { margin-left:auto; }
  .hero img, .about img { height:240px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .btn, .svc { transition:none; }
}
