 :root{
  --accent:#F2632E; --accent-600:#D84F21; --accent-700:#B33F1A;
  --text-color:#0f2544; --muted-text:#475569;
  --ok:#10b981; --bad:#ef4444;
  --header-h:64px;
  --nav-fs:16px; --nav-fs-mobile:15px;
}
*{box-sizing:border-box}
html,body{margin:0}
.container{width:min(1200px,92%);margin-inline:auto}

  .site-header{
    -webkit-text-size-adjust:100% !important; text-size-adjust:100% !important;
    background:rgba(255,255,255,.92); backdrop-filter:blur(16px);
    position:sticky; top:0; z-index:1000;
    border-bottom:1px solid rgba(0,0,0,.07); box-shadow:0 2px 4px rgba(0,0,0,.04);
    color:#0f2544; font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  }
  .container{width:min(1200px,92%);margin-inline:auto}

  .brand-logo{height:46px;width:auto}
  @media (max-width:768px){ .brand-logo{height:36px} }

  .utility-bar{ background:#475569; color:#fff; font-size:14px !important; line-height:1.35 !important; }
  .utility-bar .wrap{
    width:min(1200px,92%); margin-inline:auto;
    display:grid; grid-template-columns:1fr auto 1fr;
    align-items:center; gap:12px; padding:8px 0;
  }
  .util-left, .util-right{display:flex; align-items:center; gap:16px}
  .util-right{justify-content:flex-end}

  .segment{display:flex; gap:8px}
  .segment .seg{
    display:inline-block; padding:7px 14px; border-radius:999px;
    font-weight:800; border:1px solid rgba(255,255,255,.35);
    font-size:14px !important; line-height:1 !important; color:#fff;
    transition:transform .1s, background .2s, border-color .2s;
  }
  .segment .seg:hover{ transform:translateY(-1px); border-color:#fff; }
  .segment .seg.active{ background:rgba(255,255,255,.15); border-color:rgba(255,255,255,.6); }

  .q-link{
    display:inline-flex; align-items:center; gap:8px;
    padding:6px 10px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:10px;
    font-size:14px !important; line-height:1.3 !important;
    color:#fff; text-decoration:none;
    transition: background .2s ease, border-color .2s ease, border-radius .2s ease, box-shadow .2s ease, transform .1s ease;
  }
  .q-link:hover, .q-link:focus-visible{
    background:rgba(255,255,255,.16);
    border-color:rgba(255,255,255,.45);
    border-radius:16px;
    box-shadow:0 2px 10px rgba(0,0,0,.15);
    transform: translateY(-1px);
    outline:none;
  }

  .phones{display:flex;gap:10px;align-items:flex-start}
  .phones .icon-phone{
    display:inline-flex;align-items:center;justify-content:center;
    width:22px;height:22px;border-radius:6px;color:#fff;background:#F2632E;
    box-shadow:0 2px 8px rgba(242,99,46,.35); animation:phoneRing 1.8s ease-in-out infinite;margin-top:2px; flex:0 0 22px;
  }
  .phones .icon-phone::before{content:"\f095";font-family:"Font Awesome 6 Free";font-weight:900;font-size:13px}
  .phones span, .phones a{font-size:14px !important; font-weight:800; color:inherit; text-decoration:none}
  .open-state{font-size:12px !important; color:#e5ecff; font-weight:600}
  .open-state .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:-1px;background:#cbd5e1}
  .open-state.is-open .dot{background:#10b981}
  .open-state.is-closed .dot{background:#ef4444}

  @keyframes phoneRing{
    0%{ transform:rotate(0); box-shadow:0 0 0 0 rgba(242,99,46,.45) }
    10%{ transform:rotate(-15deg) } 20%{ transform:rotate(12deg) }
    30%{ transform:rotate(-8deg) }  40%{ transform:rotate(6deg) }
    50%{ transform:rotate(0) }     60%{ box-shadow:0 0 0 6px rgba(242,99,46,.15) }
    100%{ box-shadow:0 0 0 0 rgba(242,99,46,0) }
  }

  .header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px; padding:16px 0; min-height:72px;}
  .main-nav{
    position: fixed; left: 0; right: 0; top: 72px;
    background:#fff; z-index:10030; display:block !important;
    transform: translateY(-100%); opacity:0; visibility:hidden; pointer-events:none;
    transition: transform .25s ease, opacity .2s ease, visibility 0s linear .25s;
    box-shadow:0 6px 16px rgba(0,0,0,.12);
  }
  .main-nav ul{
    display:flex; gap:24px; list-style:none; margin:0; padding:0; align-items:center; font-weight:700;
  }
  .main-nav a{
    position:relative; color:#0f2544; text-decoration:none; white-space:nowrap;
    font-size:16px !important; line-height:1 !important; padding:10px 4px; transition:opacity .2s;
  }
  .main-nav a:hover{opacity:.95}
  .main-nav a::after{
    content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px;
    background: currentColor; transform:scaleX(0); transform-origin:left; transition:transform .2s ease;
  }
  .main-nav a:hover::after, .main-nav a:focus-visible::after{ transform:scaleX(1); }

  .nav-cta a{
    background:#F2632E!important;color:#0b1e2a!important;border:1px solid rgba(0,0,0,.06);
    border-radius:999px;padding:12px;font-weight:800;text-align:center;
    box-shadow:0 8px 18px rgba(242,99,46,.22);display:inline-flex;align-items:center;gap:6px;
    font-size:15px !important;
  }

  @media (min-width:769px){
    .mobile-only{ display:none !important; }
    .main-nav{
      position: static !important; transform: none !important;
      opacity: 1 !important; visibility: visible !important; pointer-events: auto !important;
      background: transparent !important; box-shadow: none !important; top:auto !important;
    }
    .main-nav ul{ flex-direction: row; }
    .nav-toggle{ display: none !important; }
  }

  @media (max-width:768px){
    .utility-bar{ display:none; }
    .header-inner { gap: 12px; }
    .brand { margin-right: auto; }
    .nav-toggle{
      display:flex !important; width:40px;height:40px;border-radius:8px;background:#fff;border:1px solid rgba(0,0,0,.12);
      align-items:center;justify-content:center;position:relative;z-index:10040;
    }
    .nav-toggle .bars,.nav-toggle .bars::before,.nav-toggle .bars::after{
      content:"";display:block;width:22px;height:2px;background:#0f2544;border-radius:2px;position:relative}
    .nav-toggle .bars::before{top:-6px;position:relative}
    .nav-toggle .bars::after{top:4px;position:relative}

    .main-nav{
      position: fixed; left: 0; right: 0; top: 72px;
      background:#fff; box-shadow:0 6px 16px rgba(0,0,0,.12);
      z-index:10030; display:block !important;
      transform: translateY(-100%); opacity:0; visibility:hidden; pointer-events:none;
      transition: transform .25s ease, opacity .2s ease, visibility 0s linear .25s;
    }
    .main-nav.open{ transform: translateY(0); opacity:1; visibility:visible; pointer-events:auto; }

    .main-nav ul{ flex-direction: column !important; gap: 12px; margin: 0; padding: 16px 20px; }
    .main-nav li{ width:100%; }
    .main-nav a{ font-size:15px !important; display:block; width:100%; padding:12px 10px; border-radius:10px; }
    .main-nav .nav-speedtest a{ text-align:center; font-weight:800; border:1px dashed rgba(0,0,0,.15); }
    .main-nav .nav-cta{ width:100%; margin-top:4px; }
  }