:root{
  --blue:#004E7A;
  --bg:#ffffff;
  --bg-alt:#d9d9d9;
  --text:#333333;
  --radius:16px;
  --shadow:0 10px 20px rgba(0,0,0,.06);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Open Sans',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}
h1,h2,h3{font-family:'Montserrat',Arial,sans-serif;color:var(--blue);margin:0 0 .6rem}
p{margin:.5rem 0 1rem}
.container{width:min(1120px,92%);margin:0 auto}
.section{padding:64px 0;border-top:1px solid #eee}
.section.alt{background:var(--bg-alt)}
.header-inner,.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}

/* Header */
.site-header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid #eaeaea}
.logo{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:1.1rem;color:var(--blue);text-decoration:none}
.brand-mark{width:18px;height:18px;display:inline-block;border-radius:50%}
.main-nav{display:flex;align-items:center;gap:16px}
.nav-list{display:flex;align-items:center;gap:18px;list-style:none;margin:0;padding:0}
.nav-list a{color:var(--text);text-decoration:none}
.nav-list a:hover{color:var(--blue)}

/* Hamburger */
.hamburger{display:none;background:none;border:0;padding:8px;cursor:pointer;width:36px;height:36px;position:relative}
.hamburger span{position:absolute;left:8px;right:8px;height:2px;background:#333;transition:.25s ease}
.hamburger span:nth-child(1){top:11px}
.hamburger span:nth-child(2){top:17px}
.hamburger span:nth-child(3){top:23px}
.hamburger.open span:nth-child(1){transform:rotate(45deg);top:17px}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg);top:17px}

.header-ctas{display:flex;gap:10px}

/* Buttons */
.btn{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;padding:10px 16px;border-radius:999px;font-weight:600}
.btn:hover{opacity:.92}
.btn-outline{display:inline-block;background:#fff;color:var(--blue);border:2px solid var(--blue);text-decoration:none;padding:10px 16px;border-radius:999px;font-weight:600}
.btn-sm{padding:8px 14px;font-size:.95rem}
.btn-full{display:block;width:100%;text-align:center}

/* Phone link always blue */
.tel-link{color:var(--blue)!important;text-decoration:none}
.tel-link:hover{text-decoration:underline}

/* Dropdown */
.has-dropdown{position:relative}
.dropdown-toggle{background:none;border:0;font:inherit;color:var(--text);cursor:pointer}
.has-dropdown .dropdown-toggle::after{content:"▾";margin-left:6px}
.dropdown{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border:1px solid #eee;border-radius:12px;box-shadow:var(--shadow);list-style:none;padding:8px;display:none;min-width:280px;z-index:70}
.dropdown.open{display:block}
.dropdown li a{display:block;padding:10px 12px;border-radius:8px}
.dropdown li a:hover{background:#f5f5f5}
@media (min-width:861px){.has-dropdown:hover .dropdown{display:block}}
.has-dropdown:focus-within .dropdown{display:block}

/* Hero/media */
.hero .grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
.media-frame{max-width:420px;width:100%;margin:0 auto}
.hero .video{width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow);display:block;aspect-ratio:16/9;object-fit:cover}

/* Benefit and images */
.benefit-block{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;margin-top:24px}
.check-list{list-style:none;padding:0}
.check-list li{padding-left:28px;position:relative;margin:.5rem 0}
.check-list li:before{content:'✔';position:absolute;left:0;color:var(--blue);font-weight:700}
.responsive-img{width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow)}
.img-tight{max-width:360px;display:block;margin:8px auto}
.portrait{max-width:300px}

/* Grids */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:18px}
.v-center{align-items:center}

/* Cards */
.card{background:#fff;border:1px solid #eee;border-radius:12px;box-shadow:var(--shadow);padding:18px}

/* Timeline */
.timeline{margin-top:36px}
.timeline h3{margin-bottom:12px}
.timeline-track{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tl-item{position:relative;background:#fff;border:1px solid #eee;border-radius:12px;padding:14px 12px 12px 42px;box-shadow:var(--shadow);min-height:56px}
.tl-dot{position:absolute;left:12px;top:16px;width:16px;height:16px;border-radius:50%;background:var(--blue)}
.tl-item p{margin:0;font-weight:600}
@media (max-width:980px){.timeline-track{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.timeline-track{grid-template-columns:1fr}}

/* Footer */
.site-footer{background:var(--bg-alt);padding:28px 0;border-top:1px solid #d2d2d2}
.footer-inner{gap:24px}
.footer-brand{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;flex:1}
.logo-footer{width:176px;height:auto;border-radius:10px}
.footer-brand p{margin:0}
.footer-actions{display:flex;gap:14px;align-items:center;justify-content:flex-end;white-space:nowrap}

/* Mobile */
@media (max-width:980px){
  .hero .grid-2,.benefit-block,.grid-2{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
}
@media (max-width:860px){
  .hamburger{display:block}
  .nav-list{position:absolute;right:0;top:64px;background:#fff;border:1px solid #eee;padding:12px;border-radius:12px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:flex-start;min-width:280px;z-index:80}
  .nav-list.open{display:flex}
  .header-ctas{display:none}
  .nav-cta-mobile .btn{color:#fff}
  /* Footer stacking */
  .footer-inner{flex-direction:column;align-items:flex-start}
  .footer-actions{order:1;flex-direction:column;align-items:flex-start;width:100%}
  .footer-actions .btn,.footer-actions .btn-outline{width:100%;text-align:center}
  .footer-brand{order:4;grid-template-columns:1fr}
  .footer-brand p{display:none}
  .logo-footer{order:4;justify-self:center;margin-top:10px}
}

@media (min-width:861px){
  .nav-cta-mobile{display:none}
}


/* Hero animated headline */
.hero-copy .mot{
  opacity:0;
  display:inline-block;
  animation: am-fade 0.9s forwards;
}
.hero-copy .mot:nth-of-type(1){ animation-delay:.4s; }
.hero-copy .mot:nth-of-type(2){ animation-delay:1.2s; }
.hero-copy .mot:nth-of-type(3){ animation-delay:2.0s; }
@keyframes am-fade{
  from{ opacity:0; transform: translateY(6px); }
  to{ opacity:1; transform: translateY(0); }
}
.hero-copy i{ margin-right:8px; color: var(--blue); }
