:root {
  --navy:#0a2b55;
  --navy-2:#113f78;
  --navy-3:#0d3564;
  --blue:#1c5fb8;
  --blue-soft:#eef5ff;
  --sky:#6aa8ff;
  --yellow:#f4cb38;
  --yellow-2:#ffe27a;
  --gold:#f4cf63;
  --red:#e53a3a;
  --ink:#16314f;
  --text:#2f4863;
  --muted:#617991;
  --line:#dce7f2;
  --line-strong:#c9d7e8;
  --surface:#ffffff;
  --surface-2:#f5f9fd;
  --surface-3:#fbfcfe;
  --success:#1f8a66;
  --shadow:0 24px 60px rgba(9,37,78,.14);
  --shadow-sm:0 14px 38px rgba(12,44,89,.10);
  --radius:24px;
  --container:1200px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(244,203,56,.14), transparent 22%),
    linear-gradient(180deg, #fbfdff 0%, #f6f9fd 100%);
  line-height:1.65;
}
img { max-width:100%; display:block; }
a { color:var(--blue); text-decoration:none; }
a:hover { text-decoration:none; }
p { margin:0 0 16px; }
h1,h2,h3,h4 { margin:0 0 14px; line-height:1.1; color:var(--ink); }
h1 { font-size:clamp(3rem, 6vw, 4.9rem); letter-spacing:-.04em; }
h2 { font-size:clamp(2rem, 4vw, 3rem); letter-spacing:-.03em; }
h3 { font-size:1.32rem; letter-spacing:-.02em; }
small { display:block; }

.container { width:min(calc(100% - 40px), var(--container)); margin:0 auto; }
.section { padding:92px 0; position:relative; }
.section-sm { padding:34px 0 88px; }
.section-alt {
  background:linear-gradient(180deg, rgba(15,72,128,.04), rgba(255,255,255,.75));
  border-top:1px solid rgba(12,58,102,.04);
  border-bottom:1px solid rgba(12,58,102,.04);
}
.section-warm {
  background:
    radial-gradient(circle at top right, rgba(244,203,56,.16), transparent 25%),
    linear-gradient(180deg, #fffaf0 0%, #fffdf8 100%);
}
.center { text-align:center; }
.kicker {
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.8rem;
  font-weight:900;
  color:var(--blue);
  margin-bottom:16px;
}
.kicker::before {
  content:"";
  width:34px;
  height:2px;
  border-radius:999px;
  background:currentColor;
}
.lead { font-size:1.08rem; color:var(--muted); }
.muted { color:var(--muted); }
.text-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:800;
  color:var(--blue);
}
.text-link::after { content:"→"; }

.skip-link {
  position:absolute;
  left:-999px;
  top:0;
  background:#fff;
  padding:12px 16px;
  z-index:9999;
  border-radius:12px;
}
.skip-link:focus { left:16px; top:16px; }

.topbar {
  background:linear-gradient(90deg, var(--navy), var(--blue));
  color:#fff;
  font-size:.94rem;
}
.topbar .container {
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.topbar-left,
.topbar-right {
  display:flex;
  align-items:center;
  gap:16px 24px;
  flex-wrap:wrap;
}
.topbar .dot {
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--yellow);
  display:inline-block;
  margin-right:10px;
}
.topbar a { color:#fff; font-weight:800; }

.site-header {
  position:sticky;
  top:0;
  z-index:800;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(15,58,102,.08);
  box-shadow:0 10px 30px rgba(8,37,72,.04);
}
.nav-wrap {
  display:grid;
  grid-template-columns:270px 1fr auto;
  gap:22px;
  align-items:center;
  min-height:96px;
}
.brand img {
  width:250px;
  object-fit:contain;
}
.main-nav {
  display:flex;
  justify-content:center;
  gap:4px;
  flex-wrap:wrap;
}
.main-nav a {
  color:var(--ink);
  font-weight:800;
  padding:12px 16px;
  border-radius:999px;
  transition:.24s ease;
}
.main-nav a:hover,
.main-nav a.active {
  background:var(--blue-soft);
  color:var(--blue);
}
.nav-actions { display:flex; align-items:center; gap:12px; }
.header-cta { white-space:nowrap; }
.menu-toggle {
  display:none;
  width:52px;
  height:52px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  cursor:pointer;
  padding:0;
  box-shadow:var(--shadow-sm);
}
.menu-toggle span {
  display:block;
  width:22px;
  height:2px;
  margin:5px auto;
  background:var(--ink);
  border-radius:10px;
}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:0;
  border-radius:999px;
  padding:15px 24px;
  font-weight:900;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  cursor:pointer;
  text-align:center;
}
.btn:hover { transform:translateY(-2px); }
.btn-primary {
  color:#fff;
  background:linear-gradient(135deg, var(--red), #d62d3b);
  box-shadow:0 16px 34px rgba(214,45,59,.22);
}
.btn-outline {
  color:var(--ink);
  background:#fff;
  border:1px solid var(--line-strong);
  box-shadow:var(--shadow-sm);
}
.btn-accent {
  color:var(--ink);
  background:linear-gradient(135deg, var(--yellow), #ffd96e);
  box-shadow:0 16px 34px rgba(244,203,56,.24);
}

.hero {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 15%, rgba(244,203,56,.15), transparent 18%),
    radial-gradient(circle at 95% 12%, rgba(255,255,255,.12), transparent 18%),
    linear-gradient(135deg, #08284d 0%, #0d437f 60%, #1e5ca3 100%);
  color:#fff;
}
.hero::before {
  content:"";
  position:absolute;
  inset:auto auto -140px -120px;
  width:320px;
  height:320px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
}
.hero::after {
  content:"";
  position:absolute;
  right:-100px;
  top:-100px;
  width:280px;
  height:280px;
  border-radius:50%;
  border:42px solid rgba(244,203,56,.14);
}
.hero-grid {
  min-height:680px;
  display:grid;
  grid-template-columns:1.04fr .96fr;
  gap:50px;
  align-items:center;
  padding:84px 0 88px;
  position:relative;
  z-index:1;
}
.hero-copy { max-width:630px; }
.hero h1,
.hero h2 { color:#fff; }
.hero .lead { color:#d9e8f9; font-size:1.12rem; }
.hero .kicker { color:var(--yellow-2); }
.hero .kicker::before { background:var(--yellow-2); }
.hero span { color:var(--yellow-2); }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
.hero-points {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:26px;
}
.hero-point {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  font-weight:700;
  font-size:.95rem;
}
.hero-point b {
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  color:var(--yellow-2);
}
.hero-visual { position:relative; }
.hero-frame {
  position:relative;
  padding:14px;
  border-radius:36px;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.06));
  box-shadow:0 34px 80px rgba(0,0,0,.24);
}
.hero-frame img {
  width:100%;
  min-height:490px;
  object-fit:cover;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.18);
}
.hero-card {
  position:absolute;
  left:-28px;
  bottom:-28px;
  max-width:340px;
  padding:22px 22px 20px;
  background:rgba(255,255,255,.92);
  color:var(--ink);
  border-radius:22px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
}
.accent-line {
  width:58px;
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--yellow), var(--red));
  margin-bottom:14px;
}
.hero-card strong { display:block; font-size:1.15rem; margin-bottom:6px; }
.hero-card small { color:var(--muted); }

.trust-strip { position:relative; margin-top:-42px; z-index:3; }
.trust-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.trust-item {
  display:flex;
  gap:16px;
  align-items:center;
  padding:22px 20px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(12,62,107,.08);
  border-radius:22px;
  box-shadow:0 16px 40px rgba(7,36,71,.09);
}
.trust-icon {
  flex:0 0 50px;
  width:50px;
  height:50px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, var(--blue), var(--navy-2));
  color:#fff;
  font-size:1.2rem;
}
.trust-item strong { display:block; color:var(--ink); }
.trust-item span { display:block; color:var(--muted); font-size:.92rem; }

.cards { display:grid; gap:22px; }
.cards-3 { grid-template-columns:repeat(3,1fr); }
.cards-4 { grid-template-columns:repeat(4,1fr); }
.card {
  background:rgba(255,255,255,.96);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px;
  box-shadow:0 14px 34px rgba(12,60,108,.06);
  transition:.25s ease;
}
.card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.card-icon {
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, rgba(28,95,184,.12), rgba(244,203,56,.22));
  color:var(--blue);
  font-size:1.4rem;
  font-weight:900;
  margin-bottom:18px;
}
.card p { color:var(--muted); }
.card ul { margin:16px 0 0; padding-left:20px; color:#516982; }

.split {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;
}
.split-media { position:relative; }
.split-media img {
  width:100%;
  min-height:360px;
  object-fit:cover;
  border-radius:28px;
  box-shadow:var(--shadow);
}
.image-note {
  position:absolute;
  right:18px;
  bottom:18px;
  padding:14px 18px;
  background:rgba(10,43,85,.88);
  color:#fff;
  border-radius:16px;
  font-weight:800;
  box-shadow:var(--shadow-sm);
  max-width:240px;
}
.check-list {
  list-style:none;
  padding:0;
  margin:24px 0;
  display:grid;
  gap:11px;
}
.check-list li {
  position:relative;
  padding-left:31px;
  color:#46617b;
}
.check-list li::before {
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e8f7f1;
  color:var(--success);
  font-weight:900;
  font-size:.8rem;
}

.band {
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg, var(--navy), var(--blue));
  color:#fff;
  border-radius:32px;
  padding:46px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:26px;
  align-items:center;
  box-shadow:var(--shadow);
}
.band::after {
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  border:42px solid rgba(255,255,255,.10);
  right:110px;
  top:-100px;
}
.band h2 { color:#fff; font-size:clamp(1.8rem, 3vw, 2.6rem); }
.band p { color:#d5e3f4; max-width:720px; }

.feature-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.feature {
  display:grid;
  grid-template-columns:165px 1fr;
  min-height:218px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:26px;
  background:#fff;
  box-shadow:0 12px 30px rgba(4,37,78,.06);
}
.feature img { width:100%; height:100%; object-fit:cover; }
.feature-content { padding:24px; }
.feature-content p { color:var(--muted); }

.page-hero {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 10%, rgba(244,203,56,.20), transparent 24%),
    linear-gradient(135deg, var(--navy), var(--navy-2));
  color:#fff;
  padding:78px 0 66px;
}
.page-hero::after {
  content:"";
  position:absolute;
  bottom:-90px;
  left:-90px;
  width:260px;
  height:260px;
  border-radius:50%;
  background:rgba(255,255,255,.05);
}
.page-hero .grid {
  display:grid;
  grid-template-columns:1fr .72fr;
  gap:50px;
  align-items:center;
  position:relative;
  z-index:1;
}
.page-hero h1 { color:#fff; font-size:clamp(2.5rem, 5vw, 4.25rem); }
.page-hero p { color:#d5e5f5; max-width:720px; font-size:1.08rem; }
.page-hero img {
  width:100%;
  max-height:320px;
  object-fit:cover;
  border-radius:28px;
  border:4px solid rgba(255,255,255,.12);
  box-shadow:0 26px 60px rgba(0,0,0,.22);
}
.breadcrumbs {
  display:flex;
  gap:8px;
  align-items:center;
  color:#bdd1e7;
  font-size:.88rem;
  margin-bottom:16px;
  flex-wrap:wrap;
}
.breadcrumbs a { color:#fff; font-weight:800; }

.stat-row { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:30px; }
.stat {
  border:1px solid var(--line);
  background:#fff;
  border-radius:22px;
  padding:24px;
  box-shadow:0 10px 24px rgba(8,37,72,.04);
}
.stat b { display:block; color:var(--blue); font-size:1.48rem; }
.stat span { color:var(--muted); font-size:.92rem; }

.service-list {
  columns:2;
  column-gap:38px;
  margin:24px 0 0;
  padding:0;
  list-style:none;
}
.service-list li {
  break-inside:avoid;
  position:relative;
  padding:10px 0 10px 28px;
  border-bottom:1px dashed #d9e5f0;
  color:#456078;
}
.service-list li::before {
  content:"+";
  position:absolute;
  left:0;
  color:var(--blue);
  font-weight:900;
}

.timeline { display:grid; gap:18px; counter-reset:steps; }
.timeline-item {
  position:relative;
  padding:24px 26px 24px 76px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 24px rgba(8,37,72,.04);
}
.timeline-item::before {
  counter-increment:steps;
  content:counter(steps);
  position:absolute;
  left:24px;
  top:24px;
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--yellow);
  color:var(--navy);
  font-weight:900;
}
.timeline-item h3 { margin-bottom:7px; }
.timeline-item p { margin:0; color:var(--muted); }

.role-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.role {
  border:1px solid var(--line);
  border-radius:18px;
  padding:20px;
  background:#fff;
  font-weight:800;
  color:#35516d;
  box-shadow:0 8px 20px rgba(8,37,72,.04);
}
.role::before {
  content:"•";
  color:var(--yellow);
  font-size:1.4rem;
  margin-right:9px;
  vertical-align:-2px;
}


.contact-form-embed {
  border:1px solid var(--line);
  border-radius:28px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow);
}
.contact-form-embed iframe {
  display:block;
  width:100%;
  max-width:100%;
}

.form-shell {
  border:1px solid var(--line);
  border-radius:28px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow);
}
.form-shell iframe {
  border:0;
  width:100%;
  min-height:820px;
  display:block;
  background:#fff;
}
.notice {
  border-left:5px solid var(--yellow);
  background:#fff9db;
  color:#4e5460;
  padding:16px 18px;
  border-radius:12px;
}
.notice strong { color:var(--navy); }

.contact-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:32px; }
.contact-card {
  border-radius:28px;
  padding:32px;
  background:linear-gradient(180deg, var(--navy), var(--navy-2));
  color:#fff;
  box-shadow:var(--shadow);
}
.contact-card h2,
.contact-card h3 { color:#fff; }
.contact-card p { color:#d6e4f3; }
.contact-line {
  display:grid;
  grid-template-columns:42px 1fr;
  gap:13px;
  align-items:start;
  padding:16px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.contact-line:last-child { border-bottom:0; }
.contact-icon {
  width:42px;
  height:42px;
  border-radius:12px;
  background:rgba(255,255,255,.10);
  display:grid;
  place-items:center;
  color:var(--yellow);
}
.map-frame {
  border:0;
  width:100%;
  min-height:420px;
  border-radius:28px;
  box-shadow:var(--shadow-sm);
}

.faq { display:grid; gap:12px; max-width:900px; margin:34px auto 0; }
.faq-item { border:1px solid var(--line); border-radius:18px; overflow:hidden; background:#fff; }
.faq-q {
  width:100%;
  border:0;
  background:#fff;
  color:var(--ink);
  font-weight:850;
  text-align:left;
  padding:20px 52px 20px 20px;
  position:relative;
  cursor:pointer;
}
.faq-q::after { content:"+"; position:absolute; right:20px; font-size:1.3rem; top:16px; }
.faq-item.open .faq-q::after { content:"−"; }
.faq-a { display:none; padding:0 20px 20px; color:var(--muted); }
.faq-item.open .faq-a { display:block; }

.site-footer {
  background:linear-gradient(180deg, #071c38, #031227);
  color:#fff;
  margin-top:0;
}
.footer-main {
  padding:68px 0 38px;
  display:grid;
  grid-template-columns:1.5fr .7fr .9fr 1.1fr;
  gap:40px;
}
.footer-brand img {
  width:255px;
  background:#fff;
  border-radius:16px;
  padding:10px;
}
.footer-brand p { color:#adc4dc; max-width:420px; margin-top:18px; }
.footer-col h3 {
  color:#fff;
  font-size:1rem;
  margin-bottom:16px;
  letter-spacing:.02em;
}
.footer-col a {
  display:block;
  color:#adc4dc;
  padding:5px 0;
}
.footer-col a:hover { color:#fff; }
.footer-contact { color:#adc4dc; }
.footer-contact strong { color:#fff; }
.footer-bottom {
  border-top:1px solid rgba(255,255,255,.11);
  padding:18px 0 24px;
  color:#86a4c2;
  font-size:.86rem;
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}

.footer-bottom .design-credit a {
  color:var(--yellow-2);
  font-weight:800;
  text-decoration:none;
  transition:color .2s ease, opacity .2s ease;
}
.footer-bottom .design-credit a:hover,
.footer-bottom .design-credit a:focus-visible {
  color:#fff;
}

.call-float {
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:900;
  background:linear-gradient(135deg, var(--red), #c92d39);
  color:#fff;
  font-weight:900;
  padding:14px 18px;
  border-radius:999px;
  box-shadow:0 14px 35px rgba(231,44,53,.30);
  display:flex;
  gap:9px;
  align-items:center;
}

.reveal {
  opacity:0;
  transform:translateY(18px);
  transition:.6s ease;
}
.reveal.in { opacity:1; transform:none; }

@media (max-width: 1100px) {
  .nav-wrap { grid-template-columns:230px 1fr auto; }
  .brand img { width:220px; }
  .main-nav a { padding-inline:12px; font-size:.93rem; }
  .cards-4 { grid-template-columns:repeat(2,1fr); }
  .footer-main { grid-template-columns:1.2fr 1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
}

@media (max-width: 920px) {
  .topbar .container { justify-content:center; text-align:center; }
  .topbar-right { display:none; }
  .nav-wrap { grid-template-columns:1fr auto; min-height:82px; }
  .brand img { width:220px; }
  .main-nav {
    position:absolute;
    left:20px;
    right:20px;
    top:calc(100% + 10px);
    padding:14px;
    border-radius:22px;
    background:#fff;
    box-shadow:var(--shadow);
    border:1px solid var(--line);
    display:none;
    flex-direction:column;
    justify-content:flex-start;
    gap:4px;
  }
  .main-nav.open { display:flex; }
  .main-nav a { padding:12px 14px; }
  .nav-actions .header-cta { display:none; }
  .menu-toggle { display:block; }
  .hero-grid,
  .split,
  .page-hero .grid,
  .contact-grid { grid-template-columns:1fr; }
  .hero-grid { min-height:auto; padding:64px 0 80px; }
  .hero-copy { order:1; }
  .hero-visual { order:2; }
  .hero-card { left:16px; bottom:-24px; }
  .trust-grid { grid-template-columns:repeat(2,1fr); }
  .cards-3,
  .feature-grid { grid-template-columns:1fr; }
  .feature { grid-template-columns:170px 1fr; }
  .page-hero { padding:58px 0; }
  .stat-row { grid-template-columns:repeat(2,1fr); }
  .role-grid { grid-template-columns:repeat(2,1fr); }
  .band { grid-template-columns:1fr; }
  .footer-main { grid-template-columns:repeat(2,1fr); }
  .footer-brand { grid-column:1/-1; }
}

@media (max-width: 640px) {
  .container { width:min(calc(100% - 28px), var(--container)); }
  .section { padding:68px 0; }
  .section-sm { padding:30px 0 66px; }
  h1 { font-size:2.6rem; }
  .topbar-left { gap:10px 18px; justify-content:center; text-align:center; }
  .topbar-left .service-note { display:none; }
  .brand img { width:195px; }
  .hero-frame img { min-height:300px; }
  .hero-card {
    position:relative;
    left:auto;
    bottom:auto;
    width:calc(100% - 20px);
    margin:-40px auto 0;
  }
  .trust-grid,
  .cards-4,
  .stat-row,
  .role-grid,
  .footer-main { grid-template-columns:1fr; }
  .feature { grid-template-columns:1fr; }
  .feature img { min-height:200px; }
  .service-list { columns:1; }
  .band { padding:32px 24px; border-radius:24px; }
  .page-hero img { max-height:240px; }
  .call-float { left:14px; right:14px; justify-content:center; }
}

/* ===== Premium homepage redesign ===== */
.home-hero { position:relative; background:#fff; padding-bottom:112px; }
.hero-panorama-wrap { position:relative; overflow:hidden; background:var(--navy); }
.hero-panorama { width:100%; aspect-ratio:1904/440; object-fit:cover; object-position:center; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(180deg, rgba(4,23,45,.04), rgba(4,23,45,.22)); pointer-events:none; }
.hero-intro-wrap { position:relative; margin-top:-74px; z-index:3; }
.hero-intro {
  display:grid;
  grid-template-columns:1.4fr .6fr;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(12,58,102,.08);
  border-radius:34px;
  box-shadow:0 30px 70px rgba(8,37,72,.16);
  overflow:hidden;
  backdrop-filter:blur(14px);
}
.hero-intro-main { padding:46px 52px 42px; }
.hero-intro-main h1 { font-size:clamp(2.6rem,5vw,4.6rem); max-width:790px; }
.hero-intro-main h1 span { color:var(--blue); }
.hero-intro-main p { max-width:800px; color:var(--muted); font-size:1.08rem; }
.eyebrow-pill {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--blue);
  background:var(--blue-soft);
  border:1px solid #d9e8fa;
  border-radius:999px;
  padding:9px 14px;
  font-weight:900;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.eyebrow-pill::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--yellow); box-shadow:0 0 0 4px rgba(244,203,56,.2); }
.hero-contact-panel { background:linear-gradient(160deg,var(--navy),var(--blue)); color:#fff; padding:44px 38px; display:flex; flex-direction:column; justify-content:center; }
.hero-contact-panel p { color:#dceafb; }
.hero-phone { color:#fff; font-size:clamp(2rem,3vw,3.1rem); font-weight:950; letter-spacing:-.04em; line-height:1; margin:8px 0 14px; }
.hero-phone:hover { color:var(--yellow-2); }
.hero-office { margin-top:12px; padding-top:18px; border-top:1px solid rgba(255,255,255,.15); }
.hero-office strong,.hero-office span { display:block; }
.hero-office span { color:#c7daee; margin-top:4px; }
.mini-label { font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; font-weight:900; color:var(--yellow); }
.light-label { color:#ffe997; }

.quick-access-section { padding-top:32px; }
.section-heading { max-width:900px; margin:0 auto; }
.split-heading { max-width:none; display:grid; grid-template-columns:1fr .78fr; gap:48px; align-items:end; }
.split-heading .lead { margin-bottom:10px; }
.quick-access-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:42px; }
.quick-card {
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:340px;
  padding:30px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:0 14px 34px rgba(10,43,85,.06);
  color:var(--text);
  overflow:hidden;
  transition:.28s ease;
}
.quick-card::after { content:""; position:absolute; width:150px; height:150px; border-radius:50%; right:-70px; top:-70px; background:rgba(28,95,184,.05); }
.quick-card:hover { transform:translateY(-8px); box-shadow:var(--shadow); }
.quick-card.featured { background:linear-gradient(150deg,#0a2b55,#174f91); border-color:transparent; color:#fff; }
.quick-card.featured h3,.quick-card.featured .quick-link { color:#fff; }
.quick-card.featured p { color:#d5e4f3; }
.quick-card.featured .quick-icon { background:rgba(255,255,255,.12); color:var(--yellow-2); }
.quick-card.featured .quick-number { color:rgba(255,255,255,.18); }
.quick-number { position:absolute; right:22px; top:16px; font-weight:950; font-size:3rem; line-height:1; color:#edf3fa; }
.quick-icon { width:62px; height:62px; border-radius:20px; display:grid; place-items:center; background:linear-gradient(135deg,#edf5ff,#fff5ce); color:var(--blue); font-size:1.45rem; font-weight:900; margin-bottom:26px; }
.quick-card h3 { font-size:1.55rem; }
.quick-card p { color:var(--muted); margin-bottom:24px; }
.quick-link { margin-top:auto; font-weight:900; color:var(--blue); }

.section-deep { background:linear-gradient(145deg,#071f3e,#0d3d72 62%,#145aa1); color:#fff; overflow:hidden; }
.section-deep::before { content:""; position:absolute; width:380px; height:380px; border:68px solid rgba(255,255,255,.04); border-radius:50%; left:-170px; top:-150px; }
.section-deep h2,.section-deep h3 { color:#fff; }
.section-deep .light { color:#cfe1f4; }
.kicker-light { color:var(--yellow-2); }
.premium-split { position:relative; z-index:1; }
.layered-media { padding:22px 26px 28px 0; }
.layered-media::before { content:""; position:absolute; inset:0 0 0 60px; background:linear-gradient(135deg,rgba(244,203,56,.24),rgba(255,255,255,.06)); border-radius:34px; transform:rotate(-2deg); }
.layered-media img { position:relative; min-height:440px; }
.media-badge { position:absolute; right:0; bottom:0; display:flex; gap:12px; align-items:center; padding:16px 18px; border-radius:18px; background:#fff; color:var(--ink); box-shadow:var(--shadow); min-width:265px; }
.media-badge-icon { width:42px; height:42px; border-radius:14px; display:grid; place-items:center; background:#fff4c3; color:#b88400; font-size:1.25rem; }
.media-badge strong,.media-badge small { display:block; }
.media-badge small { color:var(--muted); margin-top:2px; }
.principle-list { display:grid; gap:14px; margin:28px 0 30px; }
.principle { display:grid; grid-template-columns:48px 1fr; gap:16px; align-items:start; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.principle b { width:42px; height:42px; border-radius:14px; display:grid; place-items:center; background:rgba(255,255,255,.08); color:var(--yellow-2); }
.principle strong { display:block; color:#fff; }
.principle span { display:block; color:#bfd3e8; margin-top:4px; }

.section-copy { max-width:820px; margin-inline:auto; }
.service-showcase-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:44px; }
.service-showcase-card { background:#fff; border:1px solid var(--line); border-radius:28px; overflow:hidden; box-shadow:0 14px 34px rgba(10,43,85,.06); transition:.28s ease; }
.service-showcase-card:hover { transform:translateY(-8px); box-shadow:var(--shadow); }
.service-showcase-card img { width:100%; height:220px; object-fit:cover; }
.service-showcase-body { padding:26px 26px 28px; }
.service-showcase-body > span { display:inline-block; color:var(--blue); font-size:.75rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; margin-bottom:10px; }
.service-showcase-body p { color:var(--muted); }
.service-showcase-body a { font-weight:900; }
.service-pill-row { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:30px; }
.service-pill-row span { padding:10px 14px; border-radius:999px; background:#f4f8fd; border:1px solid var(--line); color:#49637d; font-weight:800; font-size:.9rem; }

.two-col-checks { grid-template-columns:1fr 1fr; }
.inline-actions { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.quality-collage { min-height:500px; position:relative; }
.quality-main { position:absolute; left:0; top:18px; width:78%; height:330px; object-fit:cover; border-radius:28px; box-shadow:var(--shadow); }
.quality-side { position:absolute; right:0; bottom:20px; width:58%; height:270px; object-fit:cover; border:10px solid #fff; border-radius:26px; box-shadow:var(--shadow); }
.quality-card { position:absolute; left:18px; bottom:18px; z-index:2; background:linear-gradient(145deg,var(--navy),var(--blue)); color:#fff; padding:20px 22px; border-radius:20px; box-shadow:var(--shadow); min-width:245px; }
.quality-card strong,.quality-card span { display:block; }
.quality-card span { color:#cfe1f3; font-size:.9rem; margin-top:4px; }

.insurance-section { padding-top:40px; }
.insurance-shell { display:grid; grid-template-columns:1fr 1fr; background:linear-gradient(135deg,#f7fbff,#fffdf4); border:1px solid var(--line); border-radius:32px; overflow:hidden; box-shadow:var(--shadow-sm); }
.insurance-copy { padding:46px; }
.insurance-image { display:flex; align-items:center; justify-content:center; padding:28px; background:#fff; }
.insurance-image img { width:100%; max-height:390px; object-fit:contain; border-radius:18px; }

.fingerprint-card { background:linear-gradient(145deg,#fff,#fff9df); border:1px solid #f2e2a6; border-radius:30px; padding:34px; box-shadow:var(--shadow-sm); position:relative; overflow:hidden; }
.fingerprint-card::after { content:""; position:absolute; width:170px; height:170px; border-radius:50%; right:-65px; top:-55px; border:24px solid rgba(244,203,56,.15); }
.fingerprint-icon { width:76px; height:76px; border-radius:24px; display:grid; place-items:center; background:linear-gradient(135deg,var(--navy),var(--blue)); color:#fff; font-size:2rem; margin-bottom:22px; }

.service-area-section { overflow:hidden; }
.service-area-art { position:relative; min-height:450px; border-radius:32px; background:linear-gradient(145deg,#0a2b55,#18599d); box-shadow:var(--shadow); overflow:hidden; }
.service-area-art::before,.service-area-art::after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.16); }
.service-area-art::before { width:420px; height:420px; left:30px; top:20px; }
.service-area-art::after { width:290px; height:290px; right:-30px; bottom:-80px; }
.ohio-mark { position:absolute; left:42px; top:46px; color:rgba(255,255,255,.10); font-weight:950; font-size:10rem; line-height:1; letter-spacing:-.06em; }
.area-dot { position:absolute; width:16px; height:16px; border-radius:50%; background:var(--yellow); box-shadow:0 0 0 8px rgba(244,203,56,.16); }
.area-dot span { position:absolute; white-space:nowrap; top:-8px; left:28px; color:#fff; font-weight:900; font-size:.95rem; }
.area-dot.blacklick { left:48%; top:48%; }
.area-dot.pickerington { left:50%; top:48%; }
.area-dot.reynoldsburg { left:60%; top:50%; }
.area-dot.akron { left:68%; top:24%; }
.area-dot.cincinnati { left:42%; top:76%; }
.compact-stats { grid-template-columns:repeat(2,1fr); margin:24px 0; }
.band-actions { display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.btn-ghost { color:#fff; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.08); }

@media (max-width: 920px) {
  .home-hero { padding-bottom:82px; }
  .hero-intro-wrap { margin-top:-48px; }
  .hero-intro { grid-template-columns:1fr; }
  .hero-intro-main,.hero-contact-panel { padding:34px; }
  .hero-contact-panel { display:grid; grid-template-columns:1fr 1fr; gap:8px 22px; align-items:center; }
  .hero-contact-panel p { grid-column:1/-1; }
  .hero-office { grid-column:1/-1; }
  .split-heading { grid-template-columns:1fr; gap:16px; }
  .quick-access-grid,.service-showcase-grid { grid-template-columns:1fr; }
  .quick-card { min-height:280px; }
  .quality-collage { min-height:520px; }
  .insurance-shell { grid-template-columns:1fr; }
  .insurance-image { order:-1; }
}

@media (max-width: 640px) {
  .hero-panorama { aspect-ratio:auto; height:250px; object-fit:cover; object-position:center; }
  .hero-intro-wrap { margin-top:-28px; }
  .hero-intro { border-radius:24px; }
  .hero-intro-main,.hero-contact-panel { padding:26px 24px; }
  .hero-intro-main h1 { font-size:2.45rem; }
  .hero-contact-panel { display:block; }
  .hero-phone { font-size:2rem; }
  .trust-strip { margin-top:-22px; }
  .two-col-checks { grid-template-columns:1fr; }
  .quality-collage { min-height:430px; }
  .quality-main { width:88%; height:260px; }
  .quality-side { width:62%; height:210px; }
  .quality-card { left:10px; min-width:220px; }
  .insurance-copy { padding:30px 24px; }
  .service-area-art { min-height:380px; }
  .ohio-mark { font-size:7.5rem; left:24px; top:34px; }
  .area-dot.columbus { left:42%; }
  .area-dot.reynoldsburg { left:55%; top:53%; }
  .area-dot.akron { left:62%; }
  .area-dot.cincinnati { left:34%; }
  .band-actions { justify-content:flex-start; }
}

/* Brand visibility and keyboard accessibility */
.brand { display:inline-flex; align-items:center; width:max-content; padding:9px 12px; border-radius:18px; background:linear-gradient(135deg,#f0f7ff,#fff9df); border:1px solid #dce9f6; box-shadow:0 8px 22px rgba(10,43,85,.06); }
a:focus-visible, button:focus-visible { outline:3px solid rgba(28,95,184,.35); outline-offset:3px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition-duration:.001ms !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; }
  .reveal { opacity:1 !important; transform:none !important; }
}
.split-media img.contain-image { object-fit:contain; background:#fff; padding:34px; }

/* ======================================================================
   ULTRA PREMIUM VISUAL SYSTEM — 2026 refresh
   ====================================================================== */
:root {
  --navy:#071f3b;
  --navy-2:#0c315e;
  --navy-3:#0f3f78;
  --blue:#1459ab;
  --blue-soft:#eef4fb;
  --sky:#6b9fd7;
  --yellow:#e7c56f;
  --yellow-2:#f3dda4;
  --gold:#d9b45c;
  --red:#cf3f4c;
  --ink:#102942;
  --text:#334d66;
  --muted:#6b7f92;
  --line:#e2e8ee;
  --line-strong:#d1dbe5;
  --surface:#ffffff;
  --surface-2:#f7f8fa;
  --surface-3:#f7f4ee;
  --success:#2a7d63;
  --shadow:0 28px 80px rgba(7,31,59,.14);
  --shadow-sm:0 14px 38px rgba(7,31,59,.08);
  --radius:30px;
  --container:1280px;
}

body {
  background:#fff;
  color:var(--text);
  font-size:16px;
  letter-spacing:.002em;
}

h1,h2,h3,h4 {
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-weight:600;
  color:var(--ink);
  letter-spacing:-.035em;
}
h1 { font-size:clamp(3.1rem,6.25vw,5.55rem); line-height:.98; }
h2 { font-size:clamp(2.35rem,4.5vw,3.75rem); line-height:1.02; }
h3 { font-size:1.5rem; line-height:1.12; }
.lead { font-size:1.12rem; line-height:1.78; }
.container { width:min(calc(100% - 48px),var(--container)); }
.section { padding:112px 0; }
.section-sm { padding:40px 0 100px; }
.section-alt { background:#f7f9fb; }
.section-warm { background:linear-gradient(180deg,#fbf8f2,#fffdf9); }

.kicker {
  color:var(--navy-3);
  font-size:.73rem;
  letter-spacing:.18em;
  margin-bottom:20px;
}
.kicker::before { width:40px; height:1px; background:var(--gold); }

/* Header */
.topbar {
  background:#061a31;
  font-size:.79rem;
  letter-spacing:.035em;
}
.topbar .container { min-height:40px; }
.topbar-left,.topbar-right { gap:14px 22px; }
.topbar .dot { width:5px; height:5px; background:var(--gold); margin-right:8px; }
.topbar-right a { color:var(--yellow-2); }

.site-header {
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(9,37,70,.08);
  box-shadow:0 12px 34px rgba(7,31,59,.035);
}
.nav-wrap {
  min-height:94px;
  grid-template-columns:270px 1fr auto;
  gap:28px;
}
.brand {
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  border-radius:0;
}
.brand img { width:248px; }
.main-nav { gap:2px; }
.main-nav a {
  position:relative;
  padding:14px 13px;
  border-radius:0;
  color:#27435d;
  font-size:.92rem;
  font-weight:760;
  background:none !important;
}
.main-nav a::after {
  content:"";
  position:absolute;
  left:13px;
  right:13px;
  bottom:7px;
  height:2px;
  border-radius:99px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}
.main-nav a:hover,
.main-nav a.active { color:var(--navy); }
.main-nav a:hover::after,
.main-nav a.active::after { transform:scaleX(1); }
.nav-actions { gap:15px; }
.header-call-link {
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--navy);
  padding:7px 2px;
}
.header-call-icon {
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--surface-3);
  color:var(--navy);
  border:1px solid #ebe2d0;
  font-size:.95rem;
}
.header-call-copy { display:flex; flex-direction:column; line-height:1.15; }
.header-call-copy small { color:var(--muted); font-size:.68rem; margin-bottom:3px; }
.header-call-copy strong { color:var(--navy); font-size:.88rem; }

.btn {
  border-radius:14px;
  padding:15px 22px;
  min-height:52px;
  font-size:.92rem;
  letter-spacing:.01em;
}
.btn-primary {
  background:linear-gradient(135deg,#c93846,#df5260);
  box-shadow:0 12px 28px rgba(207,63,76,.20);
}
.btn-primary:hover { box-shadow:0 18px 34px rgba(207,63,76,.27); }
.btn-outline {
  border:1px solid #d8e0e8;
  background:rgba(255,255,255,.95);
  box-shadow:none;
}
.btn-accent {
  background:linear-gradient(135deg,#e3c06a,#f2d98d);
  color:#13283d;
  box-shadow:0 13px 30px rgba(217,180,92,.18);
}

/* Immersive hero */
.home-hero {
  background:linear-gradient(180deg,#fff 0%,#f8f6f1 100%);
  padding:22px 0 128px;
  overflow:hidden;
}
.hero-panorama-wrap {
  width:min(calc(100% - 40px),1510px);
  margin:0 auto;
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 26px 70px rgba(7,31,59,.15);
  border:1px solid rgba(255,255,255,.9);
}
.hero-panorama { aspect-ratio:1904/440; min-height:330px; object-fit:cover; }
.hero-shade {
  background:
    linear-gradient(90deg,rgba(6,27,51,.16),rgba(6,27,51,.01) 45%,rgba(6,27,51,.08)),
    linear-gradient(180deg,transparent 58%,rgba(6,27,51,.25));
}
.hero-intro-wrap { margin-top:-58px; }
.hero-intro {
  grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);
  border-radius:34px;
  border:1px solid rgba(9,39,72,.08);
  box-shadow:0 34px 88px rgba(7,31,59,.15);
  background:#fff;
}
.hero-intro-main {
  position:relative;
  padding:54px 60px 52px;
  background:
    radial-gradient(circle at 4% 5%,rgba(231,197,111,.12),transparent 26%),
    #fff;
}
.hero-intro-main::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,var(--gold),var(--red));
}
.hero-intro-main h1 {
  font-size:clamp(3rem,5.2vw,5.3rem);
  max-width:890px;
  margin-bottom:20px;
}
.hero-intro-main h1 span { color:var(--blue); }
.hero-intro-main p { font-size:1.14rem; line-height:1.8; max-width:860px; }
.eyebrow-pill {
  padding:8px 12px;
  border-radius:8px;
  background:#f7f4ed;
  border:1px solid #eadfc8;
  color:#6d5a2a;
  letter-spacing:.14em;
  font-size:.69rem;
}
.eyebrow-pill::before { background:var(--gold); box-shadow:none; width:6px; height:6px; }
.hero-actions { margin-top:32px; gap:12px; }
.hero-contact-panel {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 90% 8%,rgba(231,197,111,.16),transparent 25%),
    linear-gradient(155deg,#061b34,#0d3869);
  padding:50px 42px;
}
.hero-contact-panel::after {
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-95px;
  bottom:-95px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 58px rgba(255,255,255,.02);
}
.hero-phone {
  font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;
  font-size:clamp(2.25rem,3vw,3.4rem);
  font-weight:600;
  letter-spacing:-.04em;
}
.hero-office { border-top-color:rgba(255,255,255,.13); }
.mini-label { color:var(--yellow-2); font-size:.7rem; }

/* Trust ribbon */
.trust-strip { margin-top:-74px; }
.trust-grid { gap:14px; }
.trust-item {
  padding:22px 20px;
  border-radius:20px;
  border:1px solid rgba(8,38,72,.075);
  box-shadow:0 16px 44px rgba(7,31,59,.08);
  background:rgba(255,255,255,.97);
}
.trust-icon {
  width:48px;
  height:48px;
  flex-basis:48px;
  border-radius:50%;
  background:#f7f3e9;
  color:var(--navy);
  border:1px solid #eadfc5;
  font-family:Georgia,serif;
  font-weight:700;
}
.trust-item strong { font-family:Georgia,serif; font-size:1.02rem; font-weight:600; }

/* Quick access */
.quick-access-section { padding-top:66px; }
.split-heading { grid-template-columns:1.05fr .65fr; gap:72px; align-items:end; }
.quick-access-grid { gap:18px; margin-top:48px; }
.quick-card {
  min-height:360px;
  padding:34px;
  border-radius:26px;
  border:1px solid #e3e8ed;
  box-shadow:none;
  background:#fff;
}
.quick-card::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:linear-gradient(90deg,var(--gold),transparent 75%);
}
.quick-card::after { background:rgba(14,65,119,.035); }
.quick-card:hover { transform:translateY(-6px); box-shadow:0 24px 58px rgba(7,31,59,.10); }
.quick-card.featured {
  background:
    radial-gradient(circle at 90% 8%,rgba(231,197,111,.16),transparent 26%),
    linear-gradient(145deg,#071f3b,#0f447f);
}
.quick-card.featured::before { background:linear-gradient(90deg,var(--gold),rgba(255,255,255,.08)); }
.quick-icon { border-radius:16px; background:#f7f4ed; color:var(--navy); }
.quick-card.featured .quick-icon { background:rgba(255,255,255,.09); }
.quick-number { font-family:Georgia,serif; font-weight:500; color:#eef2f5; }
.quick-card h3 { font-size:1.75rem; }
.quick-card p { line-height:1.75; }

/* Dark editorial story section */
.section-deep {
  background:
    radial-gradient(circle at 86% 12%,rgba(231,197,111,.11),transparent 21%),
    linear-gradient(145deg,#061a31,#0b315e 58%,#0b3c73);
}
.section-deep::before { border-color:rgba(255,255,255,.025); }
.layered-media::before {
  background:linear-gradient(135deg,rgba(231,197,111,.35),rgba(255,255,255,.03));
  border-radius:30px;
}
.layered-media img { border-radius:28px; }
.media-badge { border-radius:16px; border:1px solid rgba(7,31,59,.08); }
.media-badge-icon { border-radius:50%; background:#f8f3e6; color:#8f6c22; }
.principle { padding:18px 0; }
.principle b { border-radius:50%; font-family:Georgia,serif; font-weight:600; }

/* Service showcase */
.services-showcase { background:#fff; }
.service-showcase-grid { gap:18px; margin-top:52px; }
.service-showcase-card {
  border-radius:26px;
  border:1px solid #e2e7ec;
  box-shadow:none;
  background:#fff;
}
.service-showcase-card:hover { transform:translateY(-6px); box-shadow:0 24px 58px rgba(7,31,59,.09); }
.service-showcase-card img { height:244px; }
.service-showcase-body { padding:30px 30px 34px; }
.service-showcase-body > span { color:#8a6b26; letter-spacing:.15em; }
.service-showcase-body h3 { font-size:1.7rem; }
.service-showcase-body p { line-height:1.75; }
.service-pill-row span {
  background:#f8f6f1;
  border-color:#ece5d8;
  color:#4e5e6d;
}

/* Care pathway */
.care-pathway-section { padding-top:36px; background:#fff; }
.pathway-shell {
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:72px;
  padding:66px;
  border-radius:34px;
  background:
    radial-gradient(circle at 0 0,rgba(231,197,111,.16),transparent 22%),
    #f7f5f0;
  border:1px solid #ebe5da;
}
.pathway-heading { align-self:start; position:sticky; top:150px; }
.pathway-heading .lead { max-width:520px; }
.pathway-steps { display:grid; }
.pathway-step {
  display:grid;
  grid-template-columns:70px 1fr;
  gap:24px;
  padding:28px 0;
  border-bottom:1px solid #ded8cb;
}
.pathway-step:first-child { padding-top:0; }
.pathway-step:last-child { border-bottom:0; padding-bottom:0; }
.pathway-step > span {
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--navy);
  color:var(--yellow-2);
  font-family:Georgia,serif;
  font-size:1.1rem;
}
.pathway-step h3 { margin-bottom:7px; }
.pathway-step p { color:var(--muted); margin:0; line-height:1.75; }

/* Quality collage */
.two-col-checks { column-gap:30px; }
.quality-main,.quality-side { border-radius:24px; }
.quality-main { box-shadow:0 25px 60px rgba(7,31,59,.13); }
.quality-side { border-width:8px; }
.quality-card {
  border-radius:16px;
  background:linear-gradient(145deg,#071f3b,#0d3b70);
  border:1px solid rgba(255,255,255,.08);
}

/* Insurance */
.insurance-shell {
  border-radius:30px;
  border:1px solid #e6e1d8;
  background:linear-gradient(135deg,#f8f6f1,#fbfcfd);
  box-shadow:none;
}
.insurance-copy { padding:58px; }
.insurance-image { padding:38px; }

/* Fingerprinting */
.fingerprint-card {
  border-radius:26px;
  background:linear-gradient(145deg,#fff,#faf5e8);
  border-color:#ebdfbf;
  box-shadow:none;
}
.fingerprint-icon { border-radius:50%; background:var(--navy); }

/* Map art / regional section */
.service-area-art {
  border-radius:30px;
  background:
    radial-gradient(circle at 80% 14%,rgba(231,197,111,.16),transparent 23%),
    linear-gradient(145deg,#061a31,#0e427c);
}
.area-dot { background:var(--gold); box-shadow:0 0 0 7px rgba(231,197,111,.14); }

/* Generic internal pages */
.page-hero {
  padding:84px 0 80px;
  background:
    radial-gradient(circle at 88% 12%,rgba(231,197,111,.14),transparent 24%),
    linear-gradient(145deg,#061a31,#0c3566 72%,#0e427b);
}
.page-hero::after {
  width:360px;
  height:360px;
  bottom:-190px;
  left:-140px;
  border:1px solid rgba(255,255,255,.08);
  background:transparent;
  box-shadow:0 0 0 46px rgba(255,255,255,.018),0 0 0 92px rgba(255,255,255,.012);
}
.page-hero .grid { grid-template-columns:1.05fr .72fr; gap:68px; }
.page-hero h1 { font-size:clamp(3rem,5.2vw,5rem); max-width:840px; }
.page-hero p { line-height:1.8; font-size:1.12rem; }
.page-hero img {
  max-height:350px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 26px 64px rgba(0,0,0,.25);
}
.breadcrumbs { color:#abc1d8; letter-spacing:.02em; }
.breadcrumbs a { color:var(--yellow-2); }

.card {
  border-radius:24px;
  border-color:#e1e7ed;
  box-shadow:none;
  padding:30px;
}
.card:hover { transform:translateY(-5px); box-shadow:0 22px 52px rgba(7,31,59,.09); }
.card-icon { border-radius:50%; background:#f7f3e8; color:var(--navy); }
.check-list li { color:#4f6477; }
.check-list li::before { background:#eef6f2; color:var(--success); }
.split { gap:72px; }
.split-media img { border-radius:26px; box-shadow:0 24px 60px rgba(7,31,59,.13); }
.image-note { border-radius:12px; background:rgba(7,31,59,.92); }

.stat {
  border-radius:18px;
  box-shadow:none;
  background:#fff;
}
.stat b { font-family:Georgia,serif; font-weight:600; color:var(--navy); }

.timeline-item {
  border-radius:18px;
  box-shadow:none;
  padding:26px 28px 26px 82px;
}
.timeline-item::before { background:#f4ead0; color:var(--navy); font-family:Georgia,serif; }

.role { border-radius:16px; box-shadow:none; }
.form-shell { border-radius:24px; box-shadow:0 24px 60px rgba(7,31,59,.09); }
.notice { background:#faf6e8; border-left-color:var(--gold); }
.contact-card {
  border-radius:26px;
  background:
    radial-gradient(circle at 90% 4%,rgba(231,197,111,.14),transparent 26%),
    linear-gradient(160deg,#061a31,#0d3a6d);
}
.contact-icon { border-radius:50%; color:var(--yellow-2); }
.map-frame { border-radius:24px; }
.faq-item { border-radius:16px; }
.faq-q { font-family:Georgia,serif; font-size:1.05rem; font-weight:600; }

/* CTA */
.band {
  border-radius:30px;
  padding:54px 58px;
  background:
    radial-gradient(circle at 85% 0,rgba(231,197,111,.14),transparent 25%),
    linear-gradient(145deg,#061a31,#0d396d);
  box-shadow:0 25px 60px rgba(7,31,59,.13);
}
.band::after { border-color:rgba(255,255,255,.06); }
.band h2 { font-size:clamp(2rem,3.5vw,3.2rem); }

/* Footer */
.site-footer { background:#04162b; }
.footer-main { padding-top:78px; }
.footer-brand img { background:#fff; border-radius:10px; padding:7px; }
.footer-col h3 {
  font-family:inherit;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  color:var(--yellow-2);
}
.footer-col a { color:#a9bbcc; }
.footer-col a:hover { color:#fff; }
.footer-bottom { color:#718ba3; }
.call-float {
  right:22px;
  bottom:22px;
  border-radius:14px;
  padding:13px 17px;
  background:#c93846;
  box-shadow:0 16px 40px rgba(134,34,45,.28);
}

.reveal { transform:translateY(24px); transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1); }

@media (max-width:1180px) {
  .nav-wrap { grid-template-columns:230px 1fr auto; gap:15px; }
  .brand img { width:218px; }
  .main-nav a { font-size:.86rem; padding-inline:9px; }
  .main-nav a::after { left:9px; right:9px; }
  .header-call-copy { display:none; }
}

@media (max-width:920px) {
  .container { width:min(calc(100% - 34px),var(--container)); }
  .section { padding:88px 0; }
  .nav-wrap { min-height:82px; }
  .header-call-link { display:none; }
  .main-nav {
    border-radius:18px;
    padding:10px;
    box-shadow:0 26px 65px rgba(7,31,59,.16);
  }
  .main-nav a { border-radius:10px; padding:13px 14px; }
  .main-nav a::after { display:none; }
  .main-nav a:hover,.main-nav a.active { background:#f5f6f8 !important; }
  .home-hero { padding-top:14px; padding-bottom:100px; }
  .hero-panorama-wrap { width:min(calc(100% - 28px),1510px); border-radius:24px; }
  .hero-panorama { min-height:300px; }
  .hero-intro-wrap { margin-top:-38px; }
  .hero-intro { grid-template-columns:1fr; border-radius:26px; }
  .hero-intro-main { padding:44px 40px 40px; }
  .hero-contact-panel { padding:36px 40px; }
  .trust-strip { margin-top:-58px; }
  .split-heading { grid-template-columns:1fr; gap:18px; }
  .pathway-shell { grid-template-columns:1fr; gap:34px; padding:44px; }
  .pathway-heading { position:static; }
  .page-hero .grid { gap:36px; }
}

@media (max-width:640px) {
  .container { width:min(calc(100% - 26px),var(--container)); }
  .section { padding:70px 0; }
  .topbar .container { min-height:38px; }
  .topbar-left .service-note { display:none; }
  .topbar-right { display:none; }
  .brand img { width:186px; }
  .home-hero { padding-bottom:84px; }
  .hero-panorama-wrap { width:calc(100% - 18px); border-radius:18px; }
  .hero-panorama { height:230px; min-height:0; }
  .hero-intro-wrap { margin-top:-20px; }
  .hero-intro { border-radius:20px; }
  .hero-intro-main { padding:30px 24px 28px; }
  .hero-intro-main::before { width:3px; }
  .hero-intro-main h1 { font-size:2.7rem; }
  .hero-intro-main p { font-size:1rem; }
  .hero-contact-panel { padding:28px 24px; }
  .hero-contact-panel p { font-size:.95rem; }
  .hero-phone { font-size:2.15rem; }
  .trust-strip { margin-top:-38px; }
  .trust-item { border-radius:16px; }
  .quick-card { min-height:0; padding:28px; }
  .service-showcase-card img { height:215px; }
  .pathway-shell { padding:30px 24px; border-radius:22px; }
  .pathway-step { grid-template-columns:52px 1fr; gap:16px; }
  .pathway-step > span { width:44px; height:44px; font-size:.95rem; }
  .insurance-copy { padding:34px 24px; }
  .page-hero { padding:62px 0 58px; }
  .page-hero h1 { font-size:2.75rem; }
  .page-hero img { border-radius:18px; }
  .split { gap:42px; }
  .band { padding:34px 26px; border-radius:22px; }
  .call-float { left:12px; right:12px; bottom:12px; justify-content:center; }
}

/* Premium interaction refinements */
.site-header,.nav-wrap { transition:min-height .25s ease,box-shadow .25s ease,background .25s ease; }
.site-header.scrolled { box-shadow:0 16px 42px rgba(7,31,59,.08); }
.site-header.scrolled .nav-wrap { min-height:80px; }
section[id] { scroll-margin-top:130px; }
@media (max-width:920px) {
  body.menu-open { overflow:hidden; }
  .main-nav.open { animation:menuReveal .22s ease both; }
  @keyframes menuReveal { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
}

/* ======================================================================
   FINAL MOBILE HARDENING PASS
   Optimized for phones from 320px through large tablets, including
   safe-area devices and compact landscape layouts.
   ====================================================================== */
html {
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  max-width:100%;
  overflow-x:hidden;
}
body {
  max-width:100%;
  overflow-x:hidden;
}
img, svg, video, canvas, iframe { max-width:100%; }
.grid > *,
.split > *,
.contact-grid > *,
.hero-intro > *,
.insurance-shell > *,
.pathway-shell > *,
.footer-main > * { min-width:0; }

@supports (overflow:clip) {
  html, body { overflow-x:clip; }
}

@media (max-width:920px) {
  /* Mobile header/menu behaves like a compact app navigation panel. */
  .site-header { position:sticky; top:0; }
  .nav-wrap { position:relative; gap:14px; }
  .menu-toggle {
    display:block;
    flex:0 0 50px;
    width:50px;
    height:50px;
    min-width:50px;
    touch-action:manipulation;
  }
  .main-nav {
    left:0;
    right:0;
    top:calc(100% + 8px);
    width:100%;
    max-height:calc(100dvh - 116px);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:10px;
  }
  .main-nav a {
    display:flex;
    align-items:center;
    min-height:48px;
    width:100%;
  }
  .main-nav a.active {
    box-shadow:inset 3px 0 0 var(--gold);
  }

  /* Prevent the floating phone action from obscuring the final footer row. */
  .site-footer {
    padding-bottom:calc(72px + env(safe-area-inset-bottom));
  }
  .call-float {
    bottom:calc(12px + env(safe-area-inset-bottom));
    min-height:50px;
    touch-action:manipulation;
  }

  /* Allow dense page components to breathe when stacked. */
  .page-hero .grid,
  .split,
  .contact-grid { align-items:start; }
  .page-hero img { width:100%; }
  .form-shell { width:100%; }
  .form-shell iframe { min-width:0; }
  .map-frame { min-height:360px; }

  .band-actions { justify-content:flex-start; }
  .service-area-art { width:100%; }
  .area-dot span {
    white-space:normal;
    width:max-content;
    max-width:130px;
    line-height:1.2;
  }
}

@media (max-width:640px) {
  body { font-size:15.5px; }
  .container { width:min(calc(100% - 24px),var(--container)); }
  .section { padding:64px 0; }
  .section-sm { padding:28px 0 68px; }

  h1 { font-size:clamp(2.35rem,12vw,2.8rem); line-height:1.02; }
  h2 { font-size:clamp(2rem,9vw,2.45rem); line-height:1.05; }
  h3 { font-size:1.35rem; }
  .lead { font-size:1.02rem; line-height:1.7; }
  .kicker {
    font-size:.67rem;
    letter-spacing:.14em;
    gap:8px;
    margin-bottom:14px;
  }
  .kicker::before { width:28px; }

  .topbar { font-size:.72rem; }
  .topbar .container { min-height:36px; padding:6px 0; }
  .topbar-left { width:100%; justify-content:center; }
  .nav-wrap { min-height:74px; }
  .site-header.scrolled .nav-wrap { min-height:70px; }
  .brand { max-width:calc(100% - 68px); }
  .brand img { width:min(176px,100%); height:auto; }
  .menu-toggle { width:48px; height:48px; min-width:48px; border-radius:14px; }
  .main-nav {
    top:calc(100% + 6px);
    max-height:calc(100dvh - 102px);
    border-radius:16px;
  }

  /* Home hero: readable without oversized vertical gaps. */
  .home-hero { padding-top:9px; padding-bottom:76px; }
  .hero-panorama-wrap { width:calc(100% - 12px); border-radius:16px; }
  .hero-panorama {
    height:220px;
    min-height:0;
    object-fit:cover;
    object-position:center center;
  }
  .hero-intro-wrap { margin-top:-16px; }
  .hero-intro { border-radius:18px; }
  .hero-intro-main { padding:28px 21px 25px; }
  .hero-intro-main h1 { font-size:clamp(2.35rem,11.5vw,2.7rem); margin-bottom:16px; }
  .hero-intro-main p { font-size:1rem; line-height:1.7; }
  .hero-contact-panel { padding:26px 21px; }
  .hero-phone {
    font-size:clamp(1.9rem,9vw,2.2rem);
    overflow-wrap:anywhere;
  }
  .eyebrow-pill {
    max-width:100%;
    white-space:normal;
    line-height:1.3;
  }
  .hero-actions,
  .inline-actions,
  .band-actions {
    display:grid;
    grid-template-columns:1fr;
    width:100%;
    gap:10px;
  }
  .hero-actions .btn,
  .inline-actions .btn,
  .band-actions .btn,
  .band > .btn,
  .band > a.btn { width:100%; }

  .trust-strip { margin-top:-30px; }
  .trust-grid { grid-template-columns:1fr; gap:10px; }
  .trust-item { padding:18px 16px; }

  .quick-access-section { padding-top:48px; }
  .quick-access-grid,
  .service-showcase-grid { margin-top:30px; gap:16px; }
  .quick-card { padding:26px 22px; border-radius:20px; }
  .quick-icon { margin-bottom:20px; }
  .quick-number { font-size:2.6rem; }
  .service-showcase-card { border-radius:20px; }
  .service-showcase-card img { height:200px; }
  .service-showcase-body { padding:24px 21px 27px; }
  .service-pill-row { justify-content:flex-start; }

  /* Remove desktop-style floating captions that can cover photos on phones. */
  .split-media img { min-height:260px; border-radius:20px; }
  .image-note {
    position:relative;
    right:auto;
    bottom:auto;
    max-width:none;
    width:calc(100% - 18px);
    margin:-24px auto 0;
    padding:12px 14px;
    border-radius:12px;
    font-size:.88rem;
  }

  .cards,
  .cards-3,
  .cards-4,
  .role-grid,
  .stat-row,
  .compact-stats { grid-template-columns:1fr; }
  .card { padding:24px 21px; border-radius:20px; }
  .card:hover,
  .quick-card:hover,
  .service-showcase-card:hover { transform:none; }

  .pathway-shell { padding:26px 20px; border-radius:20px; }
  .pathway-step {
    grid-template-columns:44px minmax(0,1fr);
    gap:14px;
    padding:22px 0;
  }
  .pathway-step > span { width:40px; height:40px; }

  .quality-collage {
    min-height:410px;
    width:100%;
  }
  .quality-main { width:90%; height:250px; border-radius:18px; }
  .quality-side { width:62%; height:190px; border-width:6px; border-radius:18px; }
  .quality-card {
    left:8px;
    right:8px;
    bottom:8px;
    width:auto;
    min-width:0;
    padding:16px 18px;
  }

  .insurance-shell { border-radius:20px; }
  .insurance-image { padding:20px; }
  .insurance-copy { padding:28px 21px; }
  .insurance-image img { max-height:300px; }

  .fingerprint-card { padding:26px 22px; border-radius:20px; }
  .fingerprint-icon { width:64px; height:64px; }

  .service-area-art {
    min-height:350px;
    border-radius:20px;
  }
  .ohio-mark { font-size:6.7rem; left:18px; top:28px; }
  .area-dot { width:13px; height:13px; box-shadow:0 0 0 6px rgba(231,197,111,.14); }
  .area-dot span {
    left:22px;
    top:-7px;
    max-width:105px;
    font-size:.78rem;
  }
  .area-dot.columbus { left:38%; top:45%; }
  .area-dot.reynoldsburg { left:53%; top:55%; }
  .area-dot.akron { left:60%; top:24%; }
  .area-dot.cincinnati { left:31%; top:76%; }

  .page-hero { padding:54px 0 50px; }
  .page-hero .grid { gap:28px; }
  .page-hero h1 { font-size:clamp(2.3rem,11vw,2.75rem); }
  .page-hero p { font-size:1rem; line-height:1.7; }
  .page-hero img { max-height:230px; min-height:200px; border-radius:16px; }
  .breadcrumbs { font-size:.78rem; margin-bottom:12px; }

  .timeline-item {
    padding:22px 20px 22px 66px;
    border-radius:16px;
  }
  .timeline-item::before { left:18px; top:22px; width:32px; height:32px; }

  .contact-card { padding:25px 21px; border-radius:20px; }
  .contact-line { grid-template-columns:38px minmax(0,1fr); gap:11px; }
  .contact-icon { width:38px; height:38px; }
  .contact-line a,
  .contact-line div { overflow-wrap:anywhere; }
  .form-shell { border-radius:16px; }
  .form-shell iframe { min-height:900px; }
  .map-frame { min-height:320px; border-radius:16px; }

  .faq-q { padding:18px 46px 18px 17px; font-size:1rem; }
  .faq-a { padding:0 17px 18px; }

  .band { padding:30px 21px; border-radius:20px; gap:20px; }
  .band h2 { font-size:clamp(1.9rem,9vw,2.35rem); }

  .footer-main { padding:58px 0 26px; gap:30px; }
  .footer-brand img { width:min(220px,100%); }
  .footer-bottom {
    flex-direction:column;
    gap:8px;
    padding-bottom:18px;
  }

  .btn {
    min-height:48px;
    padding:13px 18px;
    border-radius:12px;
    touch-action:manipulation;
  }
}

@media (max-width:380px) {
  .container { width:min(calc(100% - 20px),var(--container)); }
  body { font-size:15px; }
  .topbar { font-size:.68rem; }
  .brand img { width:160px; }
  .nav-wrap { min-height:70px; }
  .menu-toggle { width:46px; height:46px; min-width:46px; }
  .hero-panorama { height:205px; }
  .hero-intro-main { padding:25px 18px 23px; }
  .hero-contact-panel { padding:24px 18px; }
  .hero-intro-main h1,
  .page-hero h1 { font-size:2.25rem; }
  .quick-card,
  .card,
  .fingerprint-card { padding-left:19px; padding-right:19px; }
  .service-showcase-body { padding-left:19px; padding-right:19px; }
  .service-area-art { min-height:330px; }
  .area-dot span { max-width:94px; font-size:.73rem; }
  .timeline-item { padding-left:62px; padding-right:17px; }
  .contact-card { padding-left:18px; padding-right:18px; }
  .call-float { font-size:.9rem; }
}

@media (max-height:520px) and (orientation:landscape) and (max-width:920px) {
  .main-nav { max-height:calc(100dvh - 90px); }
  .topbar { display:none; }
  .nav-wrap { min-height:64px; }
  .site-header.scrolled .nav-wrap { min-height:64px; }
}


/* Referral form embed */
.referral-form-shell {
  max-width: 980px;
  margin: 38px auto 0;
  padding: 28px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 28px;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.referral-form-shell iframe,
.referral-form-shell .cognito,
.referral-form-shell > div {
  width: 100% !important;
  max-width: 100% !important;
}
.referral-form-note {
  max-width: 980px;
  margin: 18px auto 0;
  padding: 16px 18px;
  border-radius: 16px;
  background: rgba(28,95,184,.07);
  border: 1px solid rgba(28,95,184,.12);
  color: var(--text);
}
.referral-help-row {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.referral-help-row span { color:var(--muted); font-weight:700; }
.referral-help-row a,
.referral-help-row strong { color:var(--ink); font-weight:900; }
@media (max-width:640px) {
  .referral-form-shell {
    padding:14px;
    margin-top:24px;
    border-radius:20px;
  }
  .referral-form-note { border-radius:14px; }
  .referral-help-row { align-items:flex-start; }
}
