
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    /* --- accessibility: skip link --- */
    .skip-link {
      position: absolute; left: -9999px; top: 0; z-index: 10000;
      background: var(--cyan); color: #04121A; padding: 12px 20px;
      font-weight: 700; border-radius: 0 0 8px 0; text-decoration: none;
    }
    .skip-link:focus { left: 0; }
    :focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; }

    /* --- Equal Housing Opportunity notice --- */
    .eho {
      display: flex; gap: 14px; align-items: flex-start;
      max-width: 900px; margin: 0 auto 22px; padding: 16px 18px;
      border: 1px solid var(--dark-border); border-radius: 10px;
      background: rgba(255,255,255,0.02); text-align: left;
    }
    .eho svg { flex: 0 0 34px; width: 34px; height: 34px; }
    .eho strong {
      display: block; color: var(--white); font-size: 12px;
      letter-spacing: 1.2px; text-transform: uppercase; margin-bottom: 5px;
    }
    .eho p { color: var(--gray); font-size: 11.5px; line-height: 1.65; margin: 0; }
    .footer-legal { margin-top: 6px; }
    .footer-legal a { color: var(--gray-light); text-decoration: underline; }
    .footer-legal a:hover { color: var(--cyan); }
    @media (max-width: 600px) { .eho { flex-direction: column; gap: 10px; } }

    :root {
      --dark-bg:       #080D18;
      --dark-card:     #0F1626;
      --dark-border:   #1A2540;
      --cyan:          #00B8D9;
      --cyan-light:    #33CADF;
      --blue:          #2B4D8A;
      --blue-light:    #3A64B0;
      --white:         #FFFFFF;
      --gray:          #8A94AA;
      --gray-light:    #C0C8D8;
      --gold:          #C9973A;
    }

    html { scroll-behavior: smooth; }
    body {
      font-family: 'Inter', sans-serif;
      background: var(--dark-bg);
      color: var(--white);
      line-height: 1.6;
      overflow-x: hidden;
    }

    /* ─── NAV ─────────────────────────────────── */
    nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
      display: flex; align-items: center; justify-content: space-between;
      padding: 16px 5%;
      background: rgba(8,13,24,0.92);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--dark-border);
      transition: all 0.3s;
    }
    .nav-logo {
      display: flex; align-items: center; gap: 12px; text-decoration: none;
    }
    .nav-logo img {
      height: 52px; width: 52px; object-fit: contain;
    }
    .nav-logo-text {
      display: flex; flex-direction: column;
    }
    .nav-logo-text span:first-child {
      font-size: 18px; font-weight: 800; color: var(--white);
      letter-spacing: 0.05em; text-transform: uppercase;
    }
    .nav-logo-text span:last-child {
      font-size: 10px; font-weight: 400; color: var(--cyan);
      letter-spacing: 0.12em; text-transform: uppercase;
    }
    .nav-links {
      display: flex; align-items: center; gap: 32px;
      list-style: none;
    }
    .nav-links a {
      color: var(--gray-light); text-decoration: none; font-size: 14px;
      font-weight: 500; letter-spacing: 0.03em;
      transition: color 0.2s;
    }
    .nav-links a:hover { color: var(--cyan); }
    .btn {
      display: inline-block; padding: 11px 24px; border-radius: 6px;
      font-weight: 600; font-size: 14px; text-decoration: none;
      cursor: pointer; border: none; transition: all 0.25s;
      letter-spacing: 0.03em;
    }
    .btn-primary {
      background: var(--cyan); color: var(--dark-bg);
    }
    .btn-primary:hover { background: var(--cyan-light); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(0,184,217,0.35); }
    .btn-outline {
      background: transparent; color: var(--cyan);
      border: 1.5px solid var(--cyan);
    }
    .btn-outline:hover { background: var(--cyan); color: var(--dark-bg); }
    .btn-lg { padding: 16px 36px; font-size: 16px; border-radius: 8px; }
    .nav-cta { display: flex; gap: 12px; align-items: center; }
    .hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; }
    .hamburger span { width: 24px; height: 2px; background: var(--white); }

    /* ─── HERO ───────────────────────────────── */
    .hero {
      min-height: 100vh;
      display: flex; align-items: center;
      position: relative; overflow: hidden;
      padding: 120px 5% 80px;
    }
    .hero-bg {
      position: absolute; inset: 0;
      background: linear-gradient(135deg, #080D18 0%, #0D1630 50%, #071220 100%);
    }
    .hero-grid {
      position: absolute; inset: 0; opacity: 0.04;
      background-image: linear-gradient(var(--cyan) 1px, transparent 1px),
                        linear-gradient(90deg, var(--cyan) 1px, transparent 1px);
      background-size: 60px 60px;
    }
    .hero-glow {
      position: absolute; top: -200px; right: -200px;
      width: 600px; height: 600px; border-radius: 50%;
      background: radial-gradient(circle, rgba(0,184,217,0.12) 0%, transparent 70%);
    }
    .hero-glow-2 {
      position: absolute; bottom: -100px; left: 10%;
      width: 400px; height: 400px; border-radius: 50%;
      background: radial-gradient(circle, rgba(43,77,138,0.15) 0%, transparent 70%);
    }
    .hero-content {
      position: relative; z-index: 2;
      max-width: 700px;
    }
    .hero-badge {
      display: inline-flex; align-items: center; gap: 8px;
      background: rgba(0,184,217,0.1); border: 1px solid rgba(0,184,217,0.3);
      padding: 6px 16px; border-radius: 100px;
      font-size: 12px; font-weight: 600; color: var(--cyan);
      letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 24px;
    }
    .hero-badge::before {
      content: ''; width: 6px; height: 6px; border-radius: 50%;
      background: var(--cyan); animation: pulse 2s infinite;
    }
    @keyframes pulse {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.5; transform: scale(1.5); }
    }
    .hero h1 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(40px, 6vw, 72px);
      font-weight: 800; line-height: 1.1;
      margin-bottom: 24px;
    }
    .hero h1 span { color: var(--cyan); }
    .hero p {
      font-size: 18px; color: var(--gray-light); margin-bottom: 40px;
      max-width: 560px; line-height: 1.7;
    }
    .hero-btns { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 60px; }
    .hero-stats {
      display: flex; gap: 40px; flex-wrap: wrap;
    }
    .stat {
      display: flex; flex-direction: column;
    }
    .stat-num {
      font-size: 32px; font-weight: 800; color: var(--cyan);
      line-height: 1;
    }
    .stat-label {
      font-size: 13px; color: var(--gray); margin-top: 4px;
    }

    /* ─── SECTIONS ───────────────────────────── */
    section { padding: 100px 5%; }
    .section-label {
      font-size: 12px; font-weight: 700; color: var(--cyan);
      letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 12px;
    }
    .section-title {
      font-family: 'Playfair Display', serif;
      font-size: clamp(28px, 4vw, 48px); font-weight: 700;
      line-height: 1.2; margin-bottom: 16px;
    }
    .section-title span { color: var(--cyan); }
    .section-sub {
      font-size: 16px; color: var(--gray-light); max-width: 560px; line-height: 1.7;
    }
    .section-header { margin-bottom: 60px; }
    .section-header.center { text-align: center; }
    .section-header.center .section-sub { margin: 0 auto; }

    /* ─── SERVICES ───────────────────────────── */
    .services { background: var(--dark-card); }
    .services-grid {
      display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
      gap: 24px;
    }
    .service-card {
      background: var(--dark-bg); border: 1px solid var(--dark-border);
      border-radius: 12px; padding: 32px;
      transition: all 0.3s; position: relative; overflow: hidden;
    }
    .service-card::before {
      content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
      background: linear-gradient(90deg, var(--cyan), var(--blue-light));
      transform: scaleX(0); transform-origin: left;
      transition: transform 0.3s;
    }
    .service-card:hover { border-color: rgba(0,184,217,0.3); transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,0.4); }
    .service-card:hover::before { transform: scaleX(1); }
    .service-icon {
      width: 56px; height: 56px; border-radius: 12px;
      background: rgba(0,184,217,0.1); border: 1px solid rgba(0,184,217,0.2);
      display: flex; align-items: center; justify-content: center;
      margin-bottom: 20px; font-size: 26px;
    }
    .service-card h3 {
      font-size: 18px; font-weight: 700; margin-bottom: 12px; color: var(--white);
    }
    .service-card p {
      font-size: 14px; color: var(--gray); line-height: 1.7;
    }
    .service-card ul {
      list-style: none; margin-top: 16px;
    }
    .service-card ul li {
      font-size: 13px; color: var(--gray-light); padding: 5px 0;
      padding-left: 18px; position: relative;
    }
    .service-card ul li::before {
      content: '→'; position: absolute; left: 0; color: var(--cyan); font-size: 12px;
    }

    /* ─── WHY US ──────────────────────────────── */
    .why-us { background: var(--dark-bg); }
    .why-grid {
      display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center;
    }
    .why-visual {
      position: relative;
    }
    .why-card-big {
      background: var(--dark-card); border: 1px solid var(--dark-border);
      border-radius: 16px; padding: 36px;
      border-left: 4px solid var(--cyan);
    }
    .why-card-big h3 {
      font-size: 22px; font-weight: 700; margin-bottom: 12px;
    }
    .why-card-big p {
      color: var(--gray-light); font-size: 15px; line-height: 1.7;
    }
    .why-badge-row {
      display: flex; gap: 12px; margin-top: 24px; flex-wrap: wrap;
    }
    .why-badge {
      background: rgba(0,184,217,0.1); border: 1px solid rgba(0,184,217,0.25);
      padding: 6px 14px; border-radius: 100px;
      font-size: 12px; font-weight: 600; color: var(--cyan);
    }
    .why-list { list-style: none; }
    .why-list li {
      padding: 18px 0; border-bottom: 1px solid var(--dark-border);
      display: flex; gap: 16px; align-items: flex-start;
    }
    .why-list li:last-child { border-bottom: none; }
    .why-check {
      width: 28px; height: 28px; min-width: 28px; border-radius: 50%;
      background: rgba(0,184,217,0.15); display: flex; align-items: center;
      justify-content: center; font-size: 13px; margin-top: 2px;
    }
    .why-list h4 {
      font-size: 15px; font-weight: 600; margin-bottom: 4px;
    }
    .why-list p {
      font-size: 13px; color: var(--gray);
    }

    /* ─── PROCESS ────────────────────────────── */
    .process { background: var(--dark-card); }
    .process-steps {
      display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
      position: relative;
    }
    .process-steps::before {
      content: ''; position: absolute; top: 32px; left: 10%; right: 10%; height: 1px;
      background: linear-gradient(90deg, transparent, var(--cyan), transparent);
      z-index: 0;
    }
    .step {
      text-align: center; position: relative; z-index: 1;
    }
    .step-num {
      width: 64px; height: 64px; border-radius: 50%;
      background: var(--dark-bg); border: 2px solid var(--cyan);
      display: flex; align-items: center; justify-content: center;
      font-size: 20px; font-weight: 800; color: var(--cyan);
      margin: 0 auto 20px; position: relative;
    }
    .step h4 { font-size: 16px; font-weight: 700; margin-bottom: 8px; }
    .step p { font-size: 13px; color: var(--gray); line-height: 1.6; }

    /* ─── PRICING ────────────────────────────── */
    .pricing { background: var(--dark-bg); }
    .pricing-grid {
      display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 24px; max-width: 1100px; margin: 0 auto;
    }
    .price-card {
      background: var(--dark-card); border: 1px solid var(--dark-border);
      border-radius: 12px; padding: 32px; text-align: center;
      transition: all 0.3s;
    }


    .price-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,0.4); }
    .price-icon { font-size: 36px; margin-bottom: 16px; }
    .price-card h3 { font-size: 16px; font-weight: 700; margin-bottom: 8px; color: var(--gray-light); text-transform: uppercase; letter-spacing: 0.05em; }
    .price-main { font-size: 42px; font-weight: 900; color: var(--cyan); line-height: 1; margin-bottom: 4px; }
    .price-sub { font-size: 13px; color: var(--gray); margin-bottom: 24px; }
    .price-features { list-style: none; text-align: left; }
    .price-features li { padding: 8px 0; font-size: 13px; color: var(--gray-light); border-bottom: 1px solid var(--dark-border); display: flex; gap: 10px; }
    .price-features li:last-child { border-bottom: none; }
    .price-features li span:first-child { color: var(--cyan); }

    /* ─── AREA ───────────────────────────────── */
    .area { background: var(--dark-card); }
    .area-grid {
      display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start;
    }
    .county-cards { display: flex; flex-direction: column; gap: 16px; }
    .county-card {
      background: var(--dark-bg); border: 1px solid var(--dark-border);
      border-radius: 10px; padding: 24px 28px;
      display: flex; align-items: center; gap: 18px;
      transition: all 0.3s;
    }
    .county-card:hover { border-color: var(--cyan); }
    .county-icon { font-size: 28px; }
    .county-card h4 { font-size: 16px; font-weight: 700; margin-bottom: 4px; }
    .county-card p { font-size: 13px; color: var(--gray); }
    .office-info {
      background: var(--dark-bg); border: 1px solid var(--dark-border);
      border-radius: 12px; padding: 32px;
    }
    .office-info h3 { font-size: 20px; font-weight: 700; margin-bottom: 24px; }
    .info-row {
      display: flex; gap: 14px; align-items: flex-start; margin-bottom: 20px;
    }
    .info-icon {
      width: 40px; height: 40px; min-width: 40px; border-radius: 8px;
      background: rgba(0,184,217,0.1); display: flex; align-items: center;
      justify-content: center; font-size: 18px;
    }
    .info-row h5 { font-size: 12px; font-weight: 600; color: var(--cyan); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 4px; }
    .info-row p { font-size: 14px; color: var(--gray-light); }
    .info-row a { color: var(--gray-light); text-decoration: none; }
    .info-row a:hover { color: var(--cyan); }

    /* ─── CONTACT ────────────────────────────── */
    .contact { background: var(--dark-bg); }
    .contact-grid {
      display: grid; grid-template-columns: 1fr 1.4fr; gap: 60px; align-items: start;
    }
    .contact-form {
      background: var(--dark-card); border: 1px solid var(--dark-border);
      border-radius: 16px; padding: 40px;
    }
    .contact-form h3 { font-size: 22px; font-weight: 700; margin-bottom: 8px; }
    .contact-form p { font-size: 14px; color: var(--gray); margin-bottom: 28px; }
    .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
    .form-group { margin-bottom: 16px; }
    .form-group label { display: block; font-size: 12px; font-weight: 600; color: var(--gray-light); letter-spacing: 0.05em; margin-bottom: 8px; }
    .form-group input, .form-group select, .form-group textarea {
      width: 100%; background: var(--dark-bg); border: 1px solid var(--dark-border);
      border-radius: 8px; padding: 12px 16px; color: var(--white); font-size: 14px;
      font-family: 'Inter', sans-serif; outline: none; transition: border-color 0.2s;
    }
    .form-group input:focus, .form-group select:focus, .form-group textarea:focus {
      border-color: var(--cyan);
    }
    .form-group textarea { resize: vertical; min-height: 100px; }
    .form-group select option { background: var(--dark-card); }
    .form-submit { width: 100%; margin-top: 8px; }
    .contact-info p { font-size: 16px; color: var(--gray-light); line-height: 1.7; margin-bottom: 32px; }

    /* ─── FOOTER ──────────────────────────────── */
    footer {
      background: #050810; border-top: 1px solid var(--dark-border);
      padding: 60px 5% 30px;
    }
    .footer-grid {
      display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 40px;
    }
    .footer-brand p {
      font-size: 14px; color: var(--gray); line-height: 1.7; margin: 16px 0 24px;
    }
    .social-links { display: flex; gap: 12px; }
    .social-link {
      width: 36px; height: 36px; border-radius: 8px;
      background: var(--dark-card); border: 1px solid var(--dark-border);
      display: flex; align-items: center; justify-content: center;
      font-size: 16px; text-decoration: none; transition: all 0.2s;
    }
    .social-link:hover { border-color: var(--cyan); background: rgba(0,184,217,0.1); }
    .footer-col h4 { font-size: 13px; font-weight: 700; color: var(--white); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 16px; }
    .footer-col ul { list-style: none; }
    .footer-col ul li { margin-bottom: 10px; }
    .footer-col ul li a { font-size: 14px; color: var(--gray); text-decoration: none; transition: color 0.2s; }
    .footer-col ul li a:hover { color: var(--cyan); }
    .footer-bottom {
      border-top: 1px solid var(--dark-border); padding-top: 28px;
      display: flex; justify-content: space-between; align-items: center; flex-wrap: gap;
    }
    .footer-bottom p { font-size: 13px; color: var(--gray); }
    .footer-bottom a { color: var(--cyan); text-decoration: none; }

    /* ─── SCROLLBAR ───────────────────────────── */
    ::-webkit-scrollbar { width: 6px; }
    ::-webkit-scrollbar-track { background: var(--dark-bg); }
    ::-webkit-scrollbar-thumb { background: var(--blue); border-radius: 3px; }

    /* ─── RESPONSIVE ──────────────────────────── */
    @media (max-width: 1024px) {
      .why-grid, .area-grid, .contact-grid { grid-template-columns: 1fr; gap: 40px; }
      .process-steps { grid-template-columns: repeat(2, 1fr); }
      .process-steps::before { display: none; }
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
    }
    @media (max-width: 768px) {
      .nav-links, .nav-cta { display: none; }
      .hamburger { display: flex; }
      .hero { padding: 100px 5% 60px; }
      .hero-stats { gap: 24px; }
      .process-steps { grid-template-columns: 1fr 1fr; }
      .footer-grid { grid-template-columns: 1fr; }
      .form-row { grid-template-columns: 1fr; }
      .pricing-grid { grid-template-columns: 1fr; max-width: 400px; margin: 0 auto; }
    }
    @media (max-width: 480px) {
      section { padding: 60px 5%; }
      .process-steps { grid-template-columns: 1fr; }
      .hero-btns { flex-direction: column; }
      .hero-btns .btn { text-align: center; }
    }

    /* ─── ANIMATIONS ──────────────────────────── */
    .fade-in {
      opacity: 1;
      transform: translateY(0);
    }
    .fade-in.visible { opacity: 1; transform: translateY(0); }

    /* ─── MOBILE NAV MENU ─────────────────────── */
    .mobile-menu {
      position: fixed; inset: 0; background: var(--dark-bg);
      z-index: 999; display: none; flex-direction: column;
      align-items: center; justify-content: center; gap: 32px;
    }
    .mobile-menu.open { display: flex; }
    .mobile-menu a {
      font-size: 24px; font-weight: 700; color: var(--white);
      text-decoration: none; transition: color 0.2s;
    }
    .mobile-menu a:hover { color: var(--cyan); }
    .mobile-close {
      position: absolute; top: 24px; right: 5%;
      font-size: 28px; cursor: pointer; color: var(--gray);
    }

    /* ─── CYAN DIVIDER ────────────────────────── */
    .cyan-divider {
      height: 1px; background: linear-gradient(90deg, transparent, var(--cyan), transparent);
      margin: 0;
    }
  
/* --- REVIEW-2: icon system (replaces emoji) --- */
.icon{width:1em;height:1em;display:inline-block;vertical-align:-0.125em;
  stroke:currentColor;fill:none;flex:none}
.service-icon .icon{width:32px;height:32px;stroke-width:1.5}
.why-check .icon{width:18px;height:18px;stroke-width:2.5}

/* ===== MULTI-PAGE BUILD: craft layer =====
   Sources: editorial type as primary architecture; deliberate anti-grid
   breaks; tactile texture; motion that confirms rather than decorates. */

/* 1. EDITORIAL SCALE - type carries the page, not effects */
.page-head{padding:150px 5% 10px;max-width:1180px;margin:0 auto}
.page-head .section-label{margin-bottom:14px}
.page-head h1{font-family:'Playfair Display',serif;font-weight:800;
  font-size:clamp(38px,6.4vw,86px);line-height:.98;letter-spacing:-.022em;
  margin:0 0 18px}
.page-head p{max-width:58ch;font-size:19px;line-height:1.72;color:var(--gray-light)}
.page-head .rule{width:64px;height:2px;background:var(--cyan);margin:30px 0 0;
  transform-origin:left;animation:ruleIn .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes ruleIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* 2. ANTI-GRID - one deliberate break so the layout reads as decided, not filled */
@media (min-width:960px){
  .services-grid{grid-template-columns:repeat(6,1fr)}
  .services-grid>.service-card{grid-column:span 2}
  .services-grid>.service-card:nth-child(1){grid-column:span 3}
  .services-grid>.service-card:nth-child(2){grid-column:span 3}
  .services-grid>.service-card:nth-child(1) h3{font-size:26px}
}

/* 3. TACTILE TEXTURE - replaces flat fill; ~700 bytes, no image request */
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:1;
  opacity:.032;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}

/* 4. MICRO-MOTION - eases, never snaps; disabled for reduced-motion users */
.nav-links a{position:relative;transition:color .22s ease}
.nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:-6px;
  height:2px;background:var(--cyan);transform:scaleX(0);transform-origin:right;
  transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-links a[aria-current="page"]{color:var(--white)}
.nav-links a[aria-current="page"]::after{transform:scaleX(1)}
/* NB: do NOT add .btn here - it already has `transition: all 0.25s`
   and overriding it kills the box-shadow/colour easing on the CTAs. */
.service-card{transition:transform .26s cubic-bezier(.2,.7,.2,1),
  border-color .26s ease,background .26s ease}
.service-card:hover{transform:translateY(-3px)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

main>section{position:relative;z-index:2}
/* ===== FIXES ===== */
/* 2. never clobber the hero's nav clearance (was: main>section:first-of-type) */
main>section:first-of-type:not(.hero){padding-top:24px}
.hero{padding-top:150px}

/* 3. Facebook mark: real glyph, readable contrast, brand hover */
.social-link{color:var(--gray-light);background:#0F1626;
  border:1px solid #24304d}
.social-link .icon{width:18px;height:18px}
.social-link:hover{color:var(--white);border-color:var(--cyan);
  background:rgba(0,184,217,.12)}
.social-link[data-net="fb"]:hover{color:#fff;border-color:#1877F2;
  background:rgba(24,119,242,.18)}

/* 4. footer-bottom had flex-wrap:gap (invalid -> nowrap), crushing 7
      children onto one row. Stack them. */
.footer-bottom{display:flex!important;flex-direction:column;
  align-items:center;text-align:center;gap:10px;flex-wrap:wrap!important}
.footer-bottom .eho{margin:0 auto 18px;text-align:left}
.footer-bottom>p{margin:0;max-width:70ch}
.footer-bottom .footer-legal{margin-top:0}


/* ===== FINAL HERO: storefront, lightened scrim ===== */
.hero-bg{
  background:
    /* was .93/.84/.48/.30 - eased so the building reads brighter, while the
       left column stays dark enough to carry the headline */
    linear-gradient(90deg, rgba(8,13,24,.90) 0%, rgba(8,13,24,.78) 38%,
                    rgba(8,13,24,.36) 70%, rgba(8,13,24,.18) 100%),
    /* was .46/.12/.26/.58/.86/.97 */
    linear-gradient(to bottom, rgba(8,13,24,.36) 0%, rgba(8,13,24,.07) 40%,
                    rgba(8,13,24,.19) 74%, rgba(8,13,24,.48) 84%,
                    rgba(8,13,24,.80) 92%, rgba(8,13,24,.95) 100%),
    url('/hero.jpg') no-repeat !important;
  background-size: auto, auto, 130% auto !important;
  background-position: center, center, 10% 45% !important;
}
.hero-grid,.hero-glow,.hero-glow-2{display:none !important}
/* slightly stronger text shadow to hold legibility against the lighter scrim */
.hero h1{text-shadow:0 2px 30px rgba(0,0,0,.72)}
.hero p{text-shadow:0 1px 16px rgba(0,0,0,.80)}
.hero-badge{backdrop-filter:blur(3px)}
@media (max-width:820px){
  .hero-bg{background:
    linear-gradient(to bottom, rgba(8,13,24,.80) 0%, rgba(8,13,24,.64) 40%,
                    rgba(8,13,24,.50) 80%, rgba(8,13,24,.95) 100%),
    url('/hero-mobile.jpg') center 40% / cover no-repeat !important;}
}
@media (max-width:1080px){
  .nav-links,.nav-cta{display:none !important}
  .hamburger{display:flex !important}
}
/* nav: left spacing + calm pills (cyan reserved for hover/active + CTAs) */
.nav-links{gap:6px !important;margin-left:32px;margin-right:auto !important}
.nav-cta{margin-left:40px}
.nav-links a{padding:9px 16px;border-radius:999px;border:1px solid transparent;
  font-size:14px;display:inline-block;white-space:nowrap;
  background:rgba(255,255,255,.05);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.11)}
.nav-links a::after{display:none !important}
.nav-links a:hover{background:rgba(0,184,217,.16);color:var(--white);
  box-shadow:inset 0 0 0 1px rgba(0,184,217,.30)}
.nav-links a[aria-current="page"]{background:rgba(0,184,217,.20);
  color:var(--white);box-shadow:inset 0 0 0 1px rgba(0,184,217,.36)}
/* CTAs deliberately untouched - original .btn rules only */
