/* ──────────────────────────────────────────────────────────────
   Hubbard Insurance, LLC — hubbard-ins.com
   "National-Agency" design (Direction B), approved 2026-07-06.
   Light, clean, navy-and-blue, photography-forward. Self-hosted
   Manrope (no external calls). Shared across every page.
   v3 (2026-07-29): mobile nav restored (no hamburger, links wrap
   under the logo), AA contrast, focus/skip-link, footer Coverage
   column, proportional footer logo, mobile tap targets.
   ────────────────────────────────────────────────────────────── */

@font-face{
  font-family:'Manrope';
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
  src:url('/assets/fonts/manrope-latin.woff2') format('woff2');
}

:root{
  --navy:#0a2540; --navy2:#0e2e52; --ink:#12314f;
  --text:#3a4c5e; --muted:#5f7183;
  --blue:#1660df; --blue-dk:#0f49ac;
  --bg:#ffffff; --bg2:#f3f7fc; --line:#e4ebf3; --gold:#c9a24b;
  --maxw:1200px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3{color:var(--ink);font-weight:800;line-height:1.1;letter-spacing:-.5px}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.kicker{color:var(--blue);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:13px;margin-bottom:14px}
h2.big{font-size:clamp(28px,3.4vw,42px)}
.lead{color:var(--muted);font-size:17px;max-width:640px}

/* keyboard access */
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--navy);color:#fff;font-weight:700;padding:10px 18px;border-radius:0 0 8px 0}
.skip:focus{left:0}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

.btn{display:inline-block;padding:13px 26px;border-radius:6px;font-weight:700;font-size:14.5px;transition:.18s;cursor:pointer;border:2px solid transparent}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-dk)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:#071b30}
.btn-out{border-color:#7d96b0;color:var(--ink)}
.btn-out:hover{border-color:var(--blue);color:var(--blue)}
.btn-white{background:#fff;color:var(--navy)}
.btn-white:hover{background:#eef4fc}

/* utility bar */
.util{background:var(--navy);color:#c6d6e8;font-size:13px}
.util .wrap{display:flex;justify-content:space-between;align-items:center;height:42px}
.util a{color:#e7f0fa}.util a:hover{color:#fff}
.util .r{display:flex;gap:24px;align-items:center}

/* header */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:80px}
.brand{display:flex;align-items:center;gap:14px}
.brand img{height:54px;border-radius:6px}
.brand .bt{font-weight:800;color:var(--ink);font-size:18px;letter-spacing:-.3px;line-height:1.1}
.brand .bt small{display:block;font-weight:600;color:var(--muted);font-size:11px;letter-spacing:2px;text-transform:uppercase}
nav.main{display:flex;gap:30px;align-items:center}
nav.main a{font-size:15px;font-weight:600;color:#33465a}
nav.main a:hover,nav.main a.active{color:var(--blue)}
.nav-cta{display:flex;gap:12px;align-items:center}

/* hero (home) */
.hero{background:radial-gradient(820px 520px at 12% 8%, rgba(22,96,223,.10), transparent 55%), radial-gradient(720px 520px at 96% 104%, rgba(22,96,223,.06), transparent 60%), linear-gradient(180deg,#f6f9fd,#fff);border-bottom:1px solid var(--line)}
.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:84px 0 90px}
.hero .eyebrow{color:var(--blue);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:13px;margin-bottom:18px}
.hero h1{font-size:clamp(38px,5.4vw,62px)}
.hero p.sub{font-size:20px;color:var(--muted);margin:22px 0 0;max-width:520px}
.hero .cta{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap}
.heroart{position:relative;aspect-ratio:5/4;border-radius:14px;overflow:hidden;
  background:linear-gradient(150deg,var(--navy),#123a68);box-shadow:0 30px 60px -30px rgba(10,37,64,.5);
  display:flex;align-items:flex-end;padding:30px}
.heroart .stat{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px);border-radius:10px;padding:18px 22px;color:#eaf2fb}
.heroart .stat b{font-size:22px;font-weight:800;color:#fff;display:block}

/* interior page header */
.pagehead{background:linear-gradient(135deg,var(--navy),#123a68);color:#dce8f5;padding:70px 0 64px}
.pagehead .kicker{color:#8fb4e6}
.pagehead h1{color:#fff;font-size:clamp(32px,4.4vw,52px)}
.pagehead p{color:#bcd0e6;font-size:18px;max-width:620px;margin-top:14px}

section{padding:88px 0;background:radial-gradient(760px 440px at 88% 4%, rgba(22,96,223,.05), transparent 62%)}

/* flood / feature panels */
.alt{background:var(--bg2)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:38px;box-shadow:0 20px 40px -30px rgba(10,37,64,.35)}
.tag{display:inline-block;background:#e7f0ff;color:var(--blue);font-weight:700;font-size:12.5px;letter-spacing:1px;text-transform:uppercase;padding:6px 12px;border-radius:20px;margin-bottom:16px}
.checks{margin-top:18px}
.checks div{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px;color:var(--text)}
.checks .ic{color:var(--blue);font-weight:800}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.imgcard{aspect-ratio:4/3;border-radius:14px;background:linear-gradient(140deg,#eaf1f9,#dbe7f4);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#93a8bf;font-weight:600;text-align:center;padding:20px}
.split h2{margin-bottom:18px}.split p{margin-bottom:15px}

/* values */
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}
.vcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px;transition:.18s}
.vcard:hover{border-color:#bcd2ee;box-shadow:0 18px 40px -28px rgba(10,37,64,.4);transform:translateY(-3px)}
.vcard .ic{width:44px;height:44px;border-radius:10px;background:#e7f0ff;color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;margin-bottom:16px}
.vcard h3{font-size:20px;margin-bottom:8px}.vcard p{color:var(--muted);font-size:15px}

/* contact info cards */
.info{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.icard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px}
.icard .ic{width:44px;height:44px;border-radius:10px;background:#e7f0ff;color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:14px}
.icard h2{font-size:18px;margin-bottom:6px}
.icard a{color:var(--blue);font-weight:700}
.hours{width:100%;border-collapse:collapse;margin-top:6px}
.hours td{padding:5px 0;font-size:14.5px;color:var(--text)}
.hours td.d{color:var(--muted);width:52px}
.hours tr.closed td{color:#5f7183}

/* CTA band */
.band{background:linear-gradient(135deg,var(--navy),#123a68);color:#dce8f5;text-align:center}
.band h2{color:#fff;font-size:clamp(28px,3.6vw,44px);margin-bottom:12px}
.band .lead{color:#bcd0e6;margin:0 auto}
.band .cta{margin-top:30px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* footer */
footer.site{background:#08192c;color:#9fb3c8;font-size:14.5px;padding:60px 0 28px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1.1fr 1fr 1fr;gap:36px}
footer.site h4{color:#fff;font-size:13px;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:16px}
footer.site a:hover{color:#fff}
footer.site .brand img{height:auto;width:226px;max-width:100%}
.fbot{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:#7d93a9}
.flist p{margin-bottom:9px}

@media(max-width:900px){
  /* top bar: drop the tagline (the logo already says it), keep phone + hours tappable */
  .util .wrap>span:first-child,.util .r span.hide{display:none}
  .util .wrap{justify-content:flex-end}
  .util .r{gap:18px}
  .util .r a{display:inline-block;padding:12px 0}
  /* nav stays visible: links wrap onto their own row under the logo */
  header.site .wrap{flex-wrap:wrap;height:auto;padding-top:10px;padding-bottom:8px}
  nav.main{order:3;width:100%;gap:16px;flex-wrap:wrap;justify-content:space-between;padding:10px 0 2px;font-size:14px}
  nav.main a{padding:8px 0}
  .hero .grid,.grid2,.split{grid-template-columns:1fr;gap:34px}
  .hero .grid{padding:34px 0 44px}
  .pagehead{padding:44px 0 40px}
  /* text before decorative photos when columns stack */
  .split .imgcard,.grid2 .imgcard{order:2}
  .vgrid,.info{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  footer.site .brand img{width:150px}
  .flist p{margin-bottom:0}
  .flist p a{display:inline-block;padding:11px 0}
  section{padding:60px 0}
  .brand .bt{display:none}
}
