:root {
      --navy: #0b1b4d;
      --navy-deep: #07123a;
      --gold: #8F6A1B;
      --gold-light: #E3C26F;
      --ink: #0c1740;
      --muted: #5b6485;
      --paper: #f8f5ee;
      --white: #fff;
      --line: #e6dfcf;
      --max: 1160px;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; font-family: Inter, "Segoe UI", Arial, sans-serif; color: var(--ink); background: var(--white); line-height: 1.65; }
    a { color: inherit; text-decoration: none; }
    a:focus-visible, button:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
    .container { width: min(var(--max), calc(100% - 48px)); margin: 0 auto; }
    .eyebrow { text-transform: uppercase; letter-spacing: .17em; font-size: 11px; font-weight: 700; color: var(--gold); }
    .site-header { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(11,27,77,.08); }
    .nav { height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
    .brand { display: inline-flex; align-items: center; gap: 12px; color: var(--navy); font-weight: 800; letter-spacing: .16em; }
    .brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--gold); color: var(--navy); font-family: Georgia, serif; font-size: 21px; letter-spacing: -.08em; }
    .brand small { display: block; font-size: 9px; font-weight: 600; letter-spacing: .2em; color: #69729a; margin-top: 1px; }
    .nav-links { display: flex; align-items: center; gap: 28px; font-size: 12px; font-weight: 650; color: #273257; }
    .nav-links a:hover, .nav-links a.active { color: #75560F; }
    .nav-cta { border: 1px solid var(--gold); padding: 11px 16px; color: var(--navy); }
    .menu-toggle { display: none; border: 0; background: none; color: var(--navy); font-size: 25px; cursor: pointer; }

    .hero { position: relative; min-height: 550px; display: flex; align-items: end; color: var(--white); background: linear-gradient(90deg, rgba(7,18,58,.92) 0%, rgba(7,18,58,.68) 48%, rgba(7,18,58,.18) 100%), url("https://images.unsplash.com/photo-1497366811353-6870744d04b2?auto=format&fit=crop&w=2000&q=85") center 50%/cover no-repeat; }
    .hero-inner { padding: 105px 0 84px; max-width: 790px; }
    .hero h1 { margin: 16px 0 20px; font: 400 clamp(42px, 6vw, 72px)/1.08 Georgia, "Times New Roman", serif; letter-spacing: -.035em; }
    .hero p { max-width: 610px; color: rgba(255,255,255,.82); font-size: 17px; line-height: 1.8; margin: 0; }
    .hero-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
    .btn { display: inline-flex; justify-content: center; align-items: center; padding: 14px 21px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; transition: .2s ease; }
    .btn-gold { background: var(--gold); color: var(--navy-deep); }
    .btn-gold:hover { background: var(--gold-light); transform: translateY(-1px); }
    .btn-outline { border: 1px solid rgba(255,255,255,.55); color: var(--white); }
    .btn-outline:hover { border-color: var(--gold-light); color: var(--gold-light); }

    h2 { margin: 14px 0 24px; font: 400 clamp(32px, 4vw, 48px)/1.16 Georgia, "Times New Roman", serif; color: var(--navy); letter-spacing: -.025em; }
    .intro { padding: 100px 0; }
    .intro-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: start; }
    .gold-rule { width: 54px; height: 2px; background: var(--gold); margin: 27px 0; }
    .intro-lead { font: 400 23px/1.55 Georgia, "Times New Roman", serif; color: var(--navy); margin: 0 0 20px; }
    .body-copy { color: var(--muted); font-size: 15px; margin: 0 0 18px; }

    .contact { padding: 90px 0 100px; }
    .contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: start; }
    .contact-info p.lead { color: var(--muted); margin: 0 0 28px; }
    .info-item { padding: 20px 0; border-top: 1px solid var(--line); }
    .info-item h3 { margin: 0 0 6px; font-size: 14px; font-weight: 700; color: var(--navy); }
    .info-item p { margin: 0; font-size: 14px; color: var(--muted); }
    .info-item a { color: var(--navy); border-bottom: 1px solid var(--gold); }
    .form-panel { background: var(--paper); padding: clamp(26px, 4vw, 44px); }
    .form-panel h2 { margin-top: 0; }
    .form-intro { color: var(--muted); font-size: 14px; margin: 0 0 26px; }
    .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
    .field { display: flex; flex-direction: column; gap: 7px; }
    .field.full { grid-column: 1 / -1; }
    label { font-size: 13px; font-weight: 700; color: var(--navy); }
    input, select, textarea { width: 100%; padding: 13px 14px; border: 1px solid #d5d9db; background: var(--white); border-radius: 0; font: 14px Inter, "Segoe UI", Arial, sans-serif; color: var(--ink); }
    input:focus, select:focus, textarea:focus { outline: 2px solid var(--gold); outline-offset: 1px; }
    textarea { resize: vertical; min-height: 140px; }
    .consent { display: flex; align-items: flex-start; gap: 10px; margin: 22px 0; font-weight: 400; font-size: 12px; color: var(--muted); }
    .consent input { width: auto; margin-top: 4px; }
    button.btn { border: 0; cursor: pointer; }
    .form-status { margin: 16px 0 0; font-size: 13px; color: var(--navy); }
    .location { background: var(--navy); color: var(--white); padding: 80px 0; }
    .location-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
    .location h2 { color: var(--white); margin-top: 0; }
    .location p { color: rgba(255,255,255,.72); margin: 0 0 24px; }
    .location address { font-style: normal; font: 400 22px/1.5 Georgia, serif; color: var(--gold-light); }
    @media (max-width: 850px) {
      .contact-grid, .location-grid { grid-template-columns: 1fr; gap: 36px; }
    }
    @media (max-width: 520px) {
      .contact { padding: 70px 0; }
      .form-grid { grid-template-columns: 1fr; }
      .field.full { grid-column: auto; }
      .location { padding: 65px 0; }
    }
    @media (max-width: 850px) {
      .nav { height: 70px; }
      .menu-toggle { display: block; }
      .nav-links { display: none; position: absolute; top: 70px; left: 0; right: 0; padding: 22px 24px 26px; background: white; border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; gap: 18px; }
      .nav-links.open { display: flex; }
      .nav-cta { text-align: center; }
      .hero { min-height: 460px; }
    }
    @media (max-width: 520px) {
      .container { width: min(var(--max), calc(100% - 36px)); }
      .hero-inner { padding: 80px 0 60px; }
      .hero p { font-size: 15px; }
      .footer-main, .footer-bottom { flex-direction: column; }
      .footer-links { gap: 16px; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .btn { transition: none; }
    }
  
    .hero-inner { max-width: var(--max); }
    .hero-inner > h1, .hero-inner > p { max-width: 790px; }
    .hero-inner > p { max-width: 620px; }
    /* ---- Brand sync: logo = black S, green F (#8F6A1B), grey stripes ---- */
    .brand-logo { display: block; height: 44px; width: auto; }
    footer .brand-logo { height: 92px; }
    .hero, .location, .topbar, footer { --gold: #E3C26F; }
    .btn-gold { background: #8F6A1B; color: #fff; border: 1px solid #8F6A1B; }
    .btn-gold:hover { background: #75560F; border-color: #75560F; color: #fff; transform: translateY(-1px); }
    ::selection { background: #8F6A1B; color: #fff; }
    @media (max-width: 520px) { .brand-logo { height: 36px; } footer .brand-logo { height: 76px; } }
