
:root{
  --navy:#0f2a44;
  --navy-2:#102e4a;
  --gold:#c8a03d;
  --sand:#f7f4ef;
  --ink:#0c1a2a;
  --text:#1b2a3a;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:#fff;
  line-height:1.6;
}

.container{max-width:1120px;margin:0 auto;padding:0 20px}

.site-header{
  position:sticky; top:0; z-index:10;
  background:linear-gradient(0deg, var(--navy-2), var(--navy));
  color:#fff; border-bottom:1px solid rgba(255,255,255,.08);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between; padding:14px 0;
}
.brand{display:flex; align-items:center; gap:10px; font-weight:700}
.brand .logo-mark{color:var(--gold); font-size:18px}
.brand .brand-name{font-family:Merriweather, serif; letter-spacing:.5px}

.nav a{
  color:#fff; text-decoration:none; margin-left:18px; opacity:.9;
}
.nav a:hover{opacity:1}

.hero{
  background:linear-gradient(180deg, var(--navy), var(--navy-2));
  color:#fff; padding:64px 0;
}
.hero-grid{
  display:grid; grid-template-columns:1.2fr 1fr; gap:24px; align-items:center;
}
.hero h1{font-family:Merriweather, serif; font-size:40px; line-height:1.2; margin:0 0 12px}
.lead{font-size:18px; opacity:.95; margin:0 0 18px}
.btn{display:inline-block; border-radius:10px; padding:12px 18px; text-decoration:none; font-weight:600}
.btn-gold{background:var(--gold); color:#1a1a1a}
.btn-gold:hover{filter:brightness(1.05)}

.trust-points{display:flex; gap:16px; list-style:none; padding:14px 0 0; margin:0; opacity:.9}
.trust-points li{background:rgba(255,255,255,.12); padding:6px 10px; border-radius:999px; font-size:13px}

.hero-visual{display:flex; justify-content:center}
.hero-visual img, .hero-visual svg{max-width:420px; width:100%; height:auto;}

.section{padding:56px 0}
.about .kicker{color:var(--gold); margin-top:-4px; font-weight:600}

.services .services-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:20px;
}
.service-card{
  border:1px solid #e6e4dd; border-radius:14px; padding:18px; background:var(--sand);
  min-height:140px;
}
.service-card h3{margin:0 0 8px; font-family:Merriweather, serif}

.contact .contact-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start;
}
.contact-copy .contact-list{list-style:none; padding:0; margin:14px 0 0}
.contact-copy .contact-list li{margin:8px 0}
.contact-copy .icon{margin-right:8px}

.contact-form{
  display:grid; gap:10px; background:#fff; border:1px solid #ece8db; padding:18px; border-radius:14px;
}
.contact-form input, .contact-form textarea{
  width:100%; padding:12px; border-radius:10px; border:1px solid #d9d6cc; font:inherit;
}
.contact-form label{font-weight:600; font-size:14px}
.contact-form .hp{display:none} /* honeypot */

.site-footer{
  background:#0c1726; color:#94a2b8; padding:22px 0; margin-top:20px;
}
.site-footer .mini{font-size:12px; opacity:.8}

@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr; text-align:center}
  .services .services-grid{grid-template-columns:repeat(2,1fr)}
  .contact .contact-grid{grid-template-columns:1fr}
}
@media (max-width: 560px){
  .services .services-grid{grid-template-columns:1fr}
  .hero h1{font-size:32px}
}
