:root {
  --black: #020308;
  --navy: #07101f;
  --navy-2: #101b2e;
  --card: #192437;
  --gold: #f2bd31;
  --gold-soft: #f7d994;
  --text: #f5f7fb;
  --muted: #c6ccd6;
  --line: rgba(255,255,255,.12);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--black); color: var(--text); font-family: Inter, Arial, sans-serif; }
a { color: inherit; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(4,12,25,.96); border-bottom: 1px solid rgba(255,255,255,.07); backdrop-filter: blur(12px); }
.nav-wrap { max-width: 1180px; margin: auto; min-height: 86px; display: flex; align-items: center; padding: 0 28px; }
.brand { display: flex; gap: 12px; align-items: center; text-decoration: none; }
.brand-mark { width: 42px; height: 42px; border: 1px solid var(--gold-soft); color: var(--gold-soft); display:grid; place-items:center; font-family: 'Cormorant Garamond', serif; font-size: 30px; }
.brand-copy { display:flex; flex-direction:column; letter-spacing:.16em; line-height:1; }
.brand-copy strong { font-size:20px; }
.brand-copy small { font-size:9px; margin-top:6px; }
.main-nav { margin-left:auto; display:flex; gap:40px; }
.main-nav a { text-decoration:none; color:#dbe0e9; font-weight:600; letter-spacing:.04em; }
.main-nav a:hover { color:var(--gold); }
.menu-button { display:none; margin-left:auto; color:white; background:none; border:0; font-size:28px; }
.hero { min-height: 740px; position:relative; overflow:hidden; display:flex; align-items:flex-end; }
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-shade { position:absolute; inset:0; background: linear-gradient(90deg, rgba(1,3,8,.93) 0%, rgba(1,3,8,.62) 34%, rgba(1,3,8,.14) 69%, rgba(1,3,8,.12) 100%), linear-gradient(0deg, rgba(1,3,8,.82), transparent 42%); }
.hero-content { position:relative; z-index:2; max-width:1180px; width:100%; margin:0 auto; padding: 0 28px 80px; }
.eyebrow { letter-spacing:.24em; font-size:13px; font-weight:800; margin:0 0 16px; }
.gold { color:var(--gold); }
.hero h1 { margin:0; font-family:'Cormorant Garamond', serif; font-size: clamp(58px, 8vw, 106px); line-height:.84; text-transform:uppercase; max-width:760px; }
.tagline { font-size: clamp(20px, 2.2vw, 31px); line-height:1.45; font-style:italic; color:#e9edf4; max-width:700px; margin:28px 0 34px; }
.button { display:inline-flex; align-items:center; gap:18px; padding:18px 32px; border-radius:8px; text-decoration:none; font-weight:800; }
.button-gold { color:#171717; background:linear-gradient(180deg,#ffd46b,#e6a944); box-shadow:0 10px 28px rgba(242,189,49,.18); }
.intro { background:var(--navy); padding:105px 28px 44px; text-align:center; }
.section-shell { max-width:1180px; margin:auto; }
.intro h2, .drivers h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(50px,6vw,78px); line-height:.95; margin:0; }
.section-lead { color:var(--muted); font-size:19px; line-height:1.75; max-width:760px; margin:28px auto 0; }
.features { background:var(--navy); padding:35px 28px 110px; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.feature-card { background:var(--card); border:1px solid var(--line); border-radius:23px; padding:62px 38px; text-align:center; min-height:330px; display:flex; flex-direction:column; justify-content:center; box-shadow:0 18px 45px rgba(0,0,0,.18); }
.feature-icon { font-size:28px; margin-bottom:12px; }
.feature-card h3 { font-size:24px; margin:0 0 22px; }
.feature-card p { color:#e0e4eb; font-size:17px; line-height:1.55; margin:0; }
.drivers { background:linear-gradient(135deg,#070a12,#121c2b); padding:100px 28px; border-top:1px solid var(--line); }
.drivers-inner { display:grid; grid-template-columns:1.05fr .95fr; gap:90px; align-items:end; }
.drivers-inner > p { color:var(--muted); font-size:20px; line-height:1.8; margin:0; }
.site-footer { background:#020308; border-top:1px solid rgba(255,255,255,.08); padding:100px 28px 70px; text-align:center; }
.footer-shell { max-width:900px; margin:auto; display:flex; flex-direction:column; align-items:center; }
.footer-logo { font-size:34px; font-weight:800; margin-bottom:28px; }
.footer-brand p { font-size:20px; margin:0 0 30px; }
.contact-link { font-size:26px; font-weight:700; text-decoration:none; margin:8px 0; }
.contact-link:hover { color:var(--gold); }
.phone { font-size:31px; }
.service-line { font-size:20px; margin:32px 0 42px; color:#e2e6ed; }
.copyright { color:#818894; margin:0; }
@media (max-width: 860px) {
  .nav-wrap { min-height:74px; }
  .menu-button { display:block; }
  .main-nav { display:none; position:absolute; top:74px; left:0; right:0; background:#07101f; flex-direction:column; gap:0; padding:12px 24px 20px; }
  .main-nav.open { display:flex; }
  .main-nav a { padding:16px 10px; border-bottom:1px solid rgba(255,255,255,.08); }
  .hero { min-height:720px; }
  .hero-image { object-position:60% center; }
  .hero-shade { background:linear-gradient(0deg, rgba(1,3,8,.97) 0%, rgba(1,3,8,.58) 55%, rgba(1,3,8,.16) 100%); }
  .hero-content { padding-bottom:48px; }
  .hero h1 { font-size:58px; }
  .tagline { font-size:19px; }
  .feature-grid, .drivers-inner { grid-template-columns:1fr; }
  .drivers-inner { gap:34px; }
}
@media (max-width: 520px) {
  .nav-wrap { padding:0 18px; }
  .hero { min-height:650px; }
  .hero-content { padding-left:20px; padding-right:20px; }
  .hero h1 { font-size:47px; }
  .tagline br { display:none; }
  .intro, .features, .drivers, .site-footer { padding-left:18px; padding-right:18px; }
  .feature-card { padding:46px 24px; min-height:280px; }
  .contact-link { font-size:20px; }
  .phone { font-size:25px; }
  .service-line { font-size:17px; line-height:1.6; }
}
