:root{
  --navy:#0a2540; --navy-2:#0e355e; --navy-3:#123f6d;
  --aqua:#00b4c5; --aqua-dark:#0093a3; --teal:#0f766e;
  --ink:#17242f; --muted:#51606e; --line:#d7e3e8;
  --bg:#ffffff; --bg-soft:#eef7f8; --bg-pale:#f6fbfc;
  --gold:#f2b705;
  --radius:12px;
  --shadow:0 6px 24px rgba(10,37,64,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);line-height:1.65;background:var(--bg);font-size:17px}
img,svg{max-width:100%;height:auto}
a{color:var(--aqua-dark)}
a:hover{color:var(--navy)}
h1,h2,h3{color:var(--navy);line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(1.9rem,5vw,2.9rem);letter-spacing:-.01em}
h2{font-size:clamp(1.45rem,3.6vw,2rem);margin-top:2.2em;padding-top:.2em}
h3{font-size:1.2rem;margin-top:1.6em}
p{margin:0 0 1em}
ul,ol{margin:0 0 1.1em;padding-left:1.35em}
li{margin-bottom:.45em}
table{width:100%;border-collapse:collapse;margin:1em 0 1.4em;font-size:.95rem}
th,td{border:1px solid var(--line);padding:.65em .7em;text-align:left;vertical-align:top}
th{background:var(--navy);color:#fff}
tbody tr:nth-child(even){background:var(--bg-pale)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:.6em 1em;z-index:99}
.skip-link:focus{left:0;color:#fff}

/* Header */
.site-header{background:var(--navy);color:#fff;box-shadow:0 2px 12px rgba(0,0,0,.2)}
.header-inner{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:12px 20px;max-width:1080px;margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;flex-shrink:0}
.brand img{width:212px;height:auto;display:block}
.brand-name{font-size:1.35rem;font-weight:800;letter-spacing:.01em;line-height:1}
.brand-tag{display:block;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#7fe3ec;margin-top:3px}
.main-nav > ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap;align-items:center}
.main-nav a{color:#dbeef2;text-decoration:none;font-weight:600;font-size:.95rem;padding:.5em .7em;border-radius:8px}
.main-nav a:hover,.main-nav a[aria-current="page"]{background:rgba(0,180,197,.22);color:#fff}
.header-call{display:inline-block;background:var(--aqua-dark);color:#fff;text-decoration:none;font-weight:800;padding:.6em 1em;border-radius:999px;white-space:nowrap}
.header-call:hover{background:#fff;color:var(--navy)}

/* Hero */
.hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 55%,#0d4a5e 100%);color:#fff;padding:44px 0 36px}
.hero h1{color:#fff}
.hero .lead{font-size:1.12rem;color:#d6ecf0;max-width:820px}
.hero .call-line{margin:20px 0 12px;font-weight:600;color:#eaf7f9}
.hero .call-line a{color:#fff}
.trust-bar{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:18px 0 0;padding:0}
.trust-bar li{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:.45em .9em;font-size:.9rem;font-weight:600}
.eyebrow{color:#7fe3ec;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;margin-bottom:.6em}

/* Buttons */
.btn{display:inline-block;background:var(--aqua);color:#04222b;text-decoration:none;font-weight:800;padding:.85em 1.5em;border-radius:999px;border:0;cursor:pointer;font-size:1rem;line-height:1.2}
.btn:hover{background:#fff;color:var(--navy)}
.btn-outline{background:transparent;color:var(--navy);border:2px solid var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.cta-band{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin:32px 0;text-align:center}
.cta-band h2{margin-top:0}
.cta-band p:last-of-type{margin-bottom:0}

/* Layout */
main{padding-bottom:20px}
section{margin-bottom:8px}
.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:18px 0}
.service-card{background:var(--bg-pale);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.service-card h3{margin-top:0}
.service-card h3 a{color:var(--navy);text-decoration:none}
.service-card h3 a:hover{color:var(--aqua-dark);text-decoration:underline}
.steps{background:var(--bg-soft);border-radius:var(--radius);padding:8px 24px 20px;margin:20px 0}
.faq details{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:10px;background:#fff}
.faq summary{font-weight:700;color:var(--navy);cursor:pointer}
.faq details p{margin:.7em 0 0}
.note{font-size:.92rem;color:var(--muted)}
.small{font-size:.9rem}
.byline{border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:.92rem}

/* Image slots */
.img-slot{border:2px dashed #7fb8c4;background:var(--bg-soft);border-radius:var(--radius);color:var(--navy-2);text-align:center;padding:44px 18px;margin:22px 0}
.img-slot strong{display:block;font-size:1.05rem;margin-bottom:4px}
.img-slot span{font-size:.9rem;color:var(--muted)}

/* Footer */
.site-footer{background:var(--navy);color:#cfe6ea;margin-top:36px;padding:36px 0 0}
.site-footer a{color:#fff}
.site-footer h2,.site-footer h3{color:#fff}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.footer-brand img{width:212px;height:auto}
.footer-brand span{font-size:1.25rem;font-weight:800;color:#fff}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:.4em}
.footer-bottom{border-top:1px solid rgba(255,255,255,.18);margin-top:24px;padding-top:16px;font-size:.88rem;color:#9fc3cb}

@media (max-width:760px){
  body{font-size:16px}
  .header-inner{flex-wrap:wrap}
  .header-call{display:none}
  .main-nav{order:3;width:100%}
  .main-nav > ul{gap:2px}
  .main-nav a{font-size:.9rem;padding:.45em .55em}
  .hero{padding:32px 0 28px}
  table{display:block;overflow-x:auto}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ===== Homepage redesign: readable, scannable sections ===== */
.section-band{padding:54px 0}
.section-band.soft{background:var(--bg-soft)}
.section-band.pale{background:var(--bg-pale)}
.section-band.navy{background:var(--navy);color:#d6ecf0}
.section-band.navy h2,.section-band.navy h3{color:#fff}
.section-band.navy p{color:#d6ecf0}
.section-band h2{margin-top:0}
.kicker{color:var(--aqua-dark);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;margin:0 0 .5em}
.section-lead{font-size:1.08rem;color:var(--muted);max-width:780px}
.section-band.navy .section-lead{color:#cfe6ea}
.section-intro{max-width:780px}

/* Hero two-column */
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}
.hero-visual .img-slot{margin:0;background:rgba(255,255,255,.08);border:2px dashed rgba(127,227,236,.6);color:#fff}
.hero-visual .img-slot span{color:#cfe6ea}
.page-nav{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 0;padding:0;list-style:none}
.page-nav a{display:inline-block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.32);color:#fff;border-radius:999px;padding:.45em .95em;font-size:.88rem;font-weight:700;text-decoration:none}
.page-nav a:hover{background:#fff;color:var(--navy)}

/* Numbered step cards */
.step-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:24px 0}
.step-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.step-num{width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.25rem;margin-bottom:14px}
.step-card h3{margin-top:0;font-size:1.08rem}
.step-card p{margin:0;font-size:.97rem}

/* Callout box */
.callout{border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:var(--radius);padding:22px 24px;background:#fff;margin:26px 0}
.callout h3{margin-top:0}
.callout p{margin:0}

/* Icon cards (services / why Boca) */
.icon-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.icon-card h3{margin-top:0}
.icon-card p{margin:0;font-size:.97rem}
.service-icon,.why-icon{width:50px;height:50px;border-radius:12px;background:var(--bg-soft);color:var(--aqua-dark);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.service-icon svg,.why-icon svg{width:26px;height:26px}
.service-card{transition:border-color .15s ease}
.service-card:hover{border-color:var(--aqua)}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:24px 0}
.why-card .tag{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--aqua-dark)}

/* Timeline / stepper */
.timeline{list-style:none;margin:24px 0 0;padding:0}
.timeline li{position:relative;padding:0 0 30px 66px}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:22px;top:50px;bottom:2px;width:2px;background:#b9d9de}
.timeline li:last-child::before{display:none}
.timeline-num{position:absolute;left:0;top:0;width:46px;height:46px;border-radius:50%;background:var(--aqua);color:#04222b;font-weight:800;font-size:1.2rem;display:flex;align-items:center;justify-content:center}
.timeline h3{margin-top:8px}
.timeline p{margin:0;max-width:760px}

/* Check cards */
.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:24px 0}
.check-card{background:#fff;border:1px solid var(--line);border-left:4px solid var(--aqua);border-radius:var(--radius);padding:18px 20px}
.check-card p{margin:0;font-size:.97rem}
.check-card .check{width:20px;height:20px;color:var(--aqua-dark);vertical-align:-4px;margin-right:6px}
.check-card .check svg{width:20px;height:20px}

/* Two-column splits */
.split{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.split h3{margin-top:0}
.mini-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin-bottom:14px}
.mini-card p{margin:0;font-size:.97rem}

/* Price cards */
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:24px 0}
.price-card{background:var(--navy);color:#fff;border-radius:var(--radius);padding:26px}
.price-card.light{background:#fff;border:1px solid var(--line);color:var(--ink)}
.price-card h3{color:#fff;margin-top:0}
.price-card.light h3{color:var(--navy)}
.price-card .price{font-size:1.85rem;font-weight:800;color:#7fe3ec;line-height:1.2;margin:.2em 0 .4em}
.price-card.light .price{color:var(--aqua-dark)}
.price-card p{margin:0;color:#d6ecf0}
.price-card.light p{color:var(--muted)}
.driver-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:20px 0}
.driver-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;font-weight:600;color:var(--navy);font-size:.97rem}

/* Area cards */
.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:24px 0}
.area-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.area-card h3{margin-top:0}
.area-card p{margin:0;font-size:.97rem}
.area-card .zip{color:var(--aqua-dark);font-weight:800}

/* Demo case studies + testimonials */
.demo-tag{display:inline-block;background:var(--gold);color:#3d2c00;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;border-radius:999px;padding:.35em .85em;margin-bottom:12px}
.case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin:24px 0}
.case-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.case-head{background:var(--navy);color:#fff;padding:18px 20px}
.case-head h3{color:#fff;margin:0;font-size:1.12rem}
.case-head p{color:#9fc3cb;margin:.35em 0 0;font-size:.9rem}
.case-body{padding:20px 22px}
.case-body dl{margin:0}
.case-body dt{font-weight:800;color:var(--navy);margin-top:14px}
.case-body dt:first-child{margin-top:0}
.case-body dd{margin:.25em 0 0;font-size:.97rem}
.testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin:24px 0}
.testi-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.testi-card::before{content:"\201C";display:block;font-size:3.2rem;line-height:.6;color:var(--aqua);font-weight:800;margin-bottom:10px}
.testi-quote{font-size:1.06rem;line-height:1.65;margin:0}
.testi-who{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.testi-who strong{color:var(--navy)}
.testi-who span{display:block;color:var(--muted);font-size:.9rem}
.testi-job{font-size:.88rem;color:var(--aqua-dark);font-weight:700}

/* Navy CTA band */
.cta-band.navy{background:var(--navy);border:1px solid var(--navy);color:#fff}
.cta-band.navy h2{color:#fff}
.cta-band.navy p{color:#d6ecf0}
.cta-band.navy p a{color:#fff}
.cta-band .btn-outline{border-color:#fff;color:#fff}
.cta-band.navy .btn-outline:hover{background:#fff;color:var(--navy)}

@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:24px}
  .split{grid-template-columns:1fr}
  .section-band{padding:40px 0}
}

/* ===== Revision round: top bar, dropdown header, white phone CTAs, new footer ===== */
/* Top bar — slim, darker navy strip above the header */
.topbar{background:#071c31;color:#cfe6ea;font-size:.82rem}
.topbar-inner{display:flex;gap:8px 24px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.topbar a{color:#fff;text-decoration:none;font-weight:700}
.topbar a:hover{color:#7fe3ec;text-decoration:underline}
.topbar-addr{color:#9fc3cb}
.topbar-lic{color:#7fe3ec;font-weight:700;white-space:nowrap}

/* Dropdown navigation — hidden by default; never a visible strip */
.nav-toggle{background:none;border:0;color:#dbeef2;font:inherit;font-weight:600;font-size:.95rem;padding:.5em .7em;border-radius:8px;cursor:pointer}
.nav-toggle:hover,.nav-toggle[aria-expanded="true"]{background:rgba(0,180,197,.22);color:#fff}
.nav-toggle .caret{font-size:.8em}
.main-nav .has-dropdown{position:relative}
.main-nav .dropdown{display:none;position:absolute;top:100%;left:0;min-width:300px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(10,37,64,.25);list-style:none;margin:6px 0 0;padding:8px 0;z-index:80}
.main-nav .dropdown li{margin:0}
.main-nav .dropdown a{display:block;color:var(--navy);text-decoration:none;font-weight:600;font-size:.93rem;padding:.6em 1.1em;border-radius:0;white-space:normal}
.main-nav .dropdown a:hover,.main-nav .dropdown a[aria-current="page"]{background:var(--bg-soft);color:var(--navy)}
.main-nav .has-dropdown:hover > .dropdown,
.main-nav .has-dropdown:focus-within > .dropdown,
.main-nav .has-dropdown.open > .dropdown{display:block}

/* Phone CTA buttons — white text on dark teal / navy (never white on light aqua) */
a.btn[href^="tel:"]{background:var(--aqua-dark);color:#fff}
a.btn[href^="tel:"]:hover{background:var(--navy);color:#fff}
.btn-outline[href^="tel:"]{background:var(--aqua-dark);border-color:var(--aqua-dark);color:#fff}
.btn-outline[href^="tel:"]:hover{background:var(--navy);border-color:var(--navy);color:#fff}

/* Hero portrait image slot (homepage only) */
.hero-visual .img-slot.portrait{aspect-ratio:3/4;min-height:560px;display:flex;flex-direction:column;justify-content:center}

/* Footer — simple, three columns */
.footer-grid{grid-template-columns:1.4fr .7fr 1fr;gap:32px}
.footer-about p{font-size:.97rem;color:#cfe6ea}
.footer-legal,.footer-areas{list-style:none;padding:0;margin:0}
.footer-legal li,.footer-areas li{margin-bottom:.55em}
.footer-legal a{color:#cfe6ea;text-decoration:none}
.footer-legal a:hover{color:#7fe3ec;text-decoration:underline}
.footer-areas a{color:#cfe6ea;text-decoration:none}
.footer-areas a:hover{color:#7fe3ec;text-decoration:underline}
.footer-call{margin-top:18px}
.footer-bottom-bar{background:#071c31;color:#9fc3cb;font-size:.88rem}
.footer-bottom-inner{display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}

@media (max-width:760px){
  .topbar-inner{justify-content:center;text-align:center}
  .topbar-lic{white-space:normal}
  .brand img{width:190px}
  .main-nav .has-dropdown{width:100%}
  .main-nav .dropdown{position:static;min-width:0;background:transparent;border:0;box-shadow:none;margin:0;padding:0 0 0 12px}
  .main-nav .dropdown a{color:#dbeef2}
  .main-nav .dropdown a:hover,.main-nav .dropdown a[aria-current="page"]{background:rgba(0,180,197,.22);color:#fff}
  .footer-grid{grid-template-columns:1fr}
  .hero-visual .img-slot.portrait{min-height:480px}
}
