/*
Theme Name: Ronald I. Jones Pediatrics
Theme URI: https://ronaldjonespediatrics.com/
Author: Lolite Media
Description: A responsive custom WordPress theme for Ronald I. Jones Pediatrics.
Version: 2.1.4
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: ronald-jones-pediatrics
*/

:root {
  --navy: #11155d;
  --blue: #1266df;
  --sky: #dff3ff;
  --green: #20a74b;
  --ink: #131520;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 104px; }
body { margin: 0; color: var(--ink); background: #fff; font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }
img { display: block; }

header {
  height: 88px;
  padding: 0 5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: white;
  position: sticky;
  top: 0;
  z-index: 20;
  border-top: 3px solid #e6edf3;
}
.logo { display:flex; flex-direction:column; width:190px; }
.logo img { width:100%; height:auto; }
nav { display: flex; align-items: center; gap: clamp(20px, 2.5vw, 38px); font-size: 13px; }
nav a { transition: color .2s; }
nav a:hover, nav > a.active, .nav-group.active > a { color: var(--blue); }
.nav-group { position:relative; }
.nav-group > a { display:flex; align-items:center; gap:5px; }
.nav-group > a span { font-size:15px; transform:translateY(-1px); }
.nav-submenu {
  position:absolute;
  top:calc(100% + 16px);
  left:50%;
  width:220px;
  padding:10px;
  display:grid;
  gap:3px;
  border:1px solid #e2ebf2;
  border-radius:14px;
  background:white;
  box-shadow:0 14px 34px rgba(20,50,80,.14);
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,-5px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
}
.nav-submenu::before { content:""; position:absolute; left:0; right:0; top:-18px; height:18px; }
.nav-submenu a { padding:10px 12px; border-radius:8px; color:#344d62; line-height:1.25; }
.nav-submenu a:hover, .nav-submenu a:focus-visible { background:#eef8ff; color:var(--blue); }
.nav-group:hover .nav-submenu, .nav-group:focus-within .nav-submenu { opacity:1; visibility:visible; transform:translate(-50%,0); }
.primary {
  min-height: 48px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(135deg,#1767df,#2074ec);
  border-radius: 10px;
  color: white !important;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 8px 20px rgba(26,103,219,.18);
}
.nav-cta { margin-left: 10px; }
.install-app-button { padding:9px 12px; border:1px solid #b9d7f4; border-radius:9px; background:#f2f9ff; color:var(--blue); font:inherit; font-size:11px; font-weight:850; cursor:pointer; }
.install-app-button:hover { background:#e5f3ff; }
.install-modal[hidden] { display:none; }
.install-modal { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:20px; background:rgba(8,28,61,.64); backdrop-filter:blur(5px); }
.install-dialog { position:relative; width:min(520px,100%); padding:34px; border-radius:26px; background:white; box-shadow:0 24px 70px rgba(0,0,0,.25); text-align:center; }
.install-dialog > img { width:82px; height:82px; border-radius:20px; box-shadow:0 8px 24px rgba(23,104,229,.2); }
.install-dialog h2 { margin:6px 0 22px; color:var(--navy); }
.install-close { position:absolute; top:14px; right:16px; width:36px; height:36px; border:0; border-radius:50%; background:#edf6fc; color:var(--navy); font-size:24px; cursor:pointer; }
.install-steps { display:grid; grid-template-columns:1fr 1fr; gap:12px; text-align:left; }
.install-steps article { padding:18px; border-radius:14px; background:#f4faff; }
.install-steps strong { color:var(--blue); }
.install-steps p { margin:8px 0 0; color:#526678; font-size:12px; line-height:1.55; }
.menu-toggle { display: none; }

.hero {
  height: 430px;
  position: relative;
  display: grid;
  grid-template-columns: 30% 34% 36%;
  align-items: center;
  overflow: hidden;
  background-image: url("assets/media/ronald-jones-hero-clean.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.hero-copy { grid-column: 2; z-index: 3; margin:0 10px; padding:26px 28px; border-radius:22px; background:rgba(226,245,255,.9); box-shadow:0 12px 30px rgba(23,63,100,.1); }
.hero-copy h1 { margin:0; color:var(--navy); font-size:clamp(36px,3.5vw,56px); line-height:1.08; letter-spacing:-.035em; font-weight:850; }
.hero-copy p { margin:20px 0 18px; font-size:14px; line-height:1.5; color:#333b4b; }
.hero-buttons { display:flex; gap:14px; }
.hero-buttons .primary, .secondary { min-height:44px; padding:0 20px; border-radius:9px; font-size:12px; font-weight:800; }
.secondary { display:inline-flex; align-items:center; gap:10px; background:white; border:1.5px solid var(--blue); color:var(--blue); }
.team-photo { grid-column:3; position:relative; z-index:4; height:252px; margin:30px 5vw 0 0; border-radius:26px; overflow:hidden; box-shadow:0 12px 28px rgba(35,69,105,.12); }
.team-photo img { width:100%; height:100%; object-fit:cover; }

.services {
  min-height: 170px;
  padding: 28px 5vw 34px;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 22px;
  background: white;
  border-radius: 48% 48% 0 0 / 25px 25px 0 0;
  position: relative;
  z-index: 5;
  margin-top: -18px;
}
.services article {
  min-width:0;
  padding:18px 20px;
  display:flex;
  align-items:flex-start;
  gap:15px;
  border:1px solid #e6ebf0;
  border-radius:20px;
  box-shadow:0 8px 24px rgba(27,58,92,.05);
}
.service-icon { flex:0 0 50px; width:50px; height:50px; border-radius:50%; display:grid; place-items:center; color:white; font-size:27px; font-family:Georgia,serif; }
.service-icon.green { background:#18a64d; }
.service-icon.blue { background:#2e78cb; }
.service-icon.purple { background:#7c3fc1; }
.service-icon.orange { background:#ff8a00; }
.services h2 { margin:5px 0 10px; color:var(--navy); font-size:13px; line-height:1.25; }
.services p { margin:0; font-size:10px; line-height:1.5; color:#424a56; }

.providers {
  min-height: 470px;
  padding: 22px 10vw 54px;
  position: relative;
  overflow:hidden;
  background: linear-gradient(180deg,#e9f8ff,#f1fbff);
  text-align:center;
}
.providers > h2 { margin:0; color:var(--navy); font-size:31px; font-weight:900; }
.squiggle { display:block; height:18px; color:#27ac4e; font-size:28px; line-height:12px; }
.provider-grid { max-width:1040px; margin:14px auto 0; display:grid; grid-template-columns:repeat(4,1fr); gap:26px; position:relative; z-index:3; }
.provider-grid article { overflow:hidden; background:white; border-radius:14px; box-shadow:0 10px 28px rgba(26,66,103,.09); }
.provider-grid article > img { width:100%; aspect-ratio:1.12; object-fit:cover; }
.provider-copy { min-height:170px; padding:12px 14px 14px; display:flex; flex-direction:column; align-items:center; }
.provider-copy h3 { margin:0; color:#11993f; font-size:14px; }
.provider-copy strong { color:#11993f; font-size:12px; }
.provider-copy p { margin:10px 0 12px; font-size:10px; line-height:1.45; }
.provider-copy a { margin-top:auto; padding:7px 20px; border:1.5px solid #17a348; border-radius:6px; color:#168f40; font-size:10px; font-weight:800; }
.mobile-provider-slider { display:none; }
.mobile-provider-card[hidden] { display:none !important; }
.cloud { position:absolute; width:70px; height:24px; border-radius:40px; background:white; box-shadow:20px 4px 0 3px white, 39px 0 0 -3px white; }
.cloud-left { left:4%; top:140px; }
.cloud-right { right:3%; top:180px; }
.hill { position:absolute; bottom:-72px; width:210px; height:120px; border-radius:50% 50% 0 0; background-color:#56bd6c; background-image:radial-gradient(circle at 20% 42%,#168f48 0 7px,transparent 8px),radial-gradient(circle at 56% 25%,#279c50 0 10px,transparent 11px),radial-gradient(circle at 82% 55%,#168f48 0 13px,transparent 14px); z-index:1; }
.hill-left { left:-35px; }
.hill-right { right:-20px; width:230px; background-color:#45b664; }
.hill-right::after { content:""; position:absolute; left:28px; top:-50px; width:92px; height:92px; background:url("assets/media/flower-cluster.png") center/contain no-repeat; transform:rotate(7deg); }
.design-flowers {
  display:block;
  background-image:url("assets/media/flower-cluster.png");
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
}
.flower { position:absolute; right:40px; top:-64px; width:108px; height:108px; transform:rotate(-7deg); }

.bottom-panel {
  padding: 28px 5vw;
  display:grid;
  grid-template-columns:1fr 1fr 1.5fr;
  gap:28px;
  background:white;
}
.community-photo { height:190px; border-radius:18px; overflow:hidden; box-shadow:0 8px 22px rgba(27,58,92,.12); }
.community-photo img { width:100%; height:100%; object-fit:cover; }
.schedule-card { min-height:190px; display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; overflow:hidden; border-radius:70px 24px 24px 70px; background-color:#1aa447; background-image:radial-gradient(circle at 9% 24%,rgba(10,126,61,.72) 0 8px,transparent 9px),radial-gradient(circle at 27% 76%,rgba(10,126,61,.62) 0 12px,transparent 13px),radial-gradient(circle at 52% 18%,rgba(10,126,61,.62) 0 7px,transparent 8px),radial-gradient(circle at 76% 68%,rgba(10,126,61,.68) 0 11px,transparent 12px),linear-gradient(135deg,#20aa4c,#16a143); color:white; text-align:center; }
.schedule-card > * { position:relative; z-index:2; }
.schedule-card h2 { margin:0 0 6px; font-size:26px; }
.schedule-card p { margin:0 0 16px; font-size:14px; line-height:1.35; }
.schedule-card a { min-height:42px; padding:0 24px; display:inline-flex; align-items:center; gap:10px; border-radius:8px; background:white; color:var(--blue); font-size:12px; font-weight:900; box-shadow:0 5px 14px rgba(0,0,0,.12); }
.tiny-flower { position:absolute; right:8px; bottom:-10px; width:132px; height:132px; transform:rotate(8deg); z-index:1; }

.site-copy { background:#fff; }
.site-copy h2 { margin:0; color:var(--navy); font-size:clamp(30px,3.3vw,50px); line-height:1.08; letter-spacing:-.03em; }
.section-kicker { margin:0 0 12px; color:var(--green); font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.announcements, .copy-section, .reviews-section { padding:90px max(7vw,45px); }
.announcement-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:42px; }
.announcement-grid article { padding:28px; border-radius:20px; background:#eef8ff; border:1px solid #dcecf7; }
.announcement-grid span { color:var(--blue); font-size:11px; font-weight:900; }
.announcement-grid h3 { margin:16px 0 10px; color:var(--navy); font-size:18px; }
.announcement-grid p { margin:0; color:#536171; font-size:13px; line-height:1.65; }
.why-families { padding:82px max(7vw,45px); display:grid; grid-template-columns:.85fr 1.15fr; gap:8vw; position:relative; overflow:hidden; color:white; background-color:#1ca249; background-image:radial-gradient(circle at 7% 28%,rgba(7,119,54,.62) 0 9px,transparent 10px),radial-gradient(circle at 19% 78%,rgba(7,119,54,.52) 0 14px,transparent 15px),radial-gradient(circle at 47% 15%,rgba(7,119,54,.54) 0 8px,transparent 9px),radial-gradient(circle at 72% 84%,rgba(7,119,54,.58) 0 12px,transparent 13px),radial-gradient(circle at 91% 25%,rgba(7,119,54,.5) 0 16px,transparent 17px),linear-gradient(135deg,#169746,#25b454); }
.why-families::after { content:""; position:absolute; right:2.5vw; bottom:-34px; width:190px; height:190px; background:url("assets/media/flower-cluster.png") center/contain no-repeat; transform:rotate(6deg); opacity:.94; }
.why-families > * { position:relative; z-index:2; }
.why-families h2 { color:white; }
.why-families .section-kicker { color:#d5f5df; }
.why-families ul { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.why-families li { padding:16px 17px 16px 42px; position:relative; border-radius:13px; background:rgba(255,255,255,.1); font-size:13px; line-height:1.4; }
.why-families li::before { content:"✓"; position:absolute; left:16px; color:#ffe271; font-weight:900; }
.copy-section { border-bottom:1px solid #e4edf3; }
.copy-section > h2, .reviews-section > h2 { max-width:780px; margin-bottom:34px; }
.accordion-list { max-width:1000px; border-top:1px solid #d9e4eb; }
.accordion-list details { border-bottom:1px solid #d9e4eb; }
.accordion-list summary, .insurance-list summary { padding:22px 40px 22px 0; cursor:pointer; color:var(--navy); font-size:17px; font-weight:800; }
.accordion-list details p { max-width:920px; margin:0 0 18px; color:#526170; font-size:14px; line-height:1.75; }
.about-team-photos { display:grid; grid-template-columns:1.15fr .85fr; gap:20px; max-width:1000px; margin-top:42px; }
.about-team-photos figure { margin:0; overflow:hidden; border-radius:20px; background:#eef8ff; }
.about-team-photos img { width:100%; height:280px; object-fit:cover; }
.about-team-photos figcaption { padding:14px 18px; color:#405466; font-size:12px; font-weight:800; }
.resource-grid a { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; color:inherit; text-decoration:none; }
.resource-grid a span:last-child { color:#1768e5; font-size:18px; transition:transform .2s ease; }
.resource-grid a:hover span:first-child, .resource-grid a:focus-visible span:first-child { color:#1768e5; text-decoration:underline; text-underline-offset:3px; }
.resource-grid a:hover span:last-child, .resource-grid a:focus-visible span:last-child { transform:translate(2px,-2px); }
.resource-link { display:inline-flex; margin-top:14px; color:#1768e5; font-weight:850; text-decoration:none; }
.resource-link:hover, .resource-link:focus-visible { text-decoration:underline; text-underline-offset:4px; }
.payment-section { background:#f5fbff; }
.payment-section > p:not(.section-kicker) { color:#566675; }
.policy-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:35px 0; }
.policy-grid article { padding:24px; border-radius:17px; background:white; box-shadow:0 7px 25px rgba(26,64,100,.07); }
.policy-grid h3 { margin:0 0 9px; color:var(--green); font-size:15px; }
.policy-grid p { margin:0; color:#5c6975; font-size:12px; line-height:1.65; }
.insurance-list { margin-top:25px; padding:0 24px; border-radius:16px; background:white; border:1px solid #dce8ef; }
.insurance-list > p { color:#6c7780; font-size:12px; }
.insurance-list ul { padding:0 0 25px; list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:10px 25px; }
.insurance-list li { color:#44535f; font-size:12px; }
.insurance-list li::before { content:"•"; margin-right:8px; color:var(--green); }
.wellness-section { background:#fff; }
.age-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; max-width:1000px; }
.age-grid span { min-height:55px; display:grid; place-items:center; padding:10px; border-radius:12px; background:#eaf7ff; color:var(--navy); font-size:12px; font-weight:800; text-align:center; }
.important-note { margin:28px 0 15px; max-width:850px; padding:18px 22px; border-left:4px solid #f1c94e; background:#fffae9; color:#5b5c50; font-size:13px; line-height:1.6; }
.inline-link { color:var(--blue); font-size:13px; font-weight:800; }
.forms-section { background:#eaf7ff; }
.forms-section > p:not(.section-kicker) { max-width:850px; color:#586875; font-size:14px; line-height:1.7; }
.pdf-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:32px; }
.pdf-grid a { min-height:150px; padding:24px; display:flex; flex-direction:column; align-items:flex-start; border-radius:18px; background:white; box-shadow:0 8px 28px rgba(25,62,100,.08); transition:transform .2s, box-shadow .2s; }
.pdf-grid a:hover { transform:translateY(-3px); box-shadow:0 13px 34px rgba(25,62,100,.14); }
.pdf-grid span { margin-bottom:20px; padding:6px 9px; border-radius:6px; background:#e65058; color:white; font-size:9px; font-weight:900; letter-spacing:.08em; }
.pdf-grid strong { color:var(--navy); font-size:16px; }
.pdf-grid small { margin-top:7px; color:var(--blue); font-size:11px; }
.form-request-grid { margin-top:18px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.form-request-grid article { display:flex; gap:14px; padding:20px; border:1px solid #dfeaf2; border-radius:16px; background:white; }
.form-request-grid article > span { flex:0 0 38px; width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:#e9f6ff; color:#1768e5; font-size:11px; font-weight:900; }
.form-request-grid h3 { margin:1px 0 8px; color:var(--navy); font-size:15px; }
.form-request-grid p { margin:0 0 12px; color:#4d6071; font-size:11px; line-height:1.55; }
.form-request-grid a { color:#1768e5; font-size:11px; font-weight:850; }
.visit-checklist { margin-top:18px; padding:21px 24px; border-radius:16px; background:#eaf8ef; }
.visit-checklist h3 { margin:0 0 12px; color:#168f40; font-size:15px; }
.visit-checklist ul { margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:10px; list-style:none; }
.visit-checklist li { color:#365548; font-size:11px; font-weight:750; }
.visit-checklist li::before { content:"✓"; margin-right:7px; color:#16a34a; font-weight:900; }
.faq-section { background:#f7fbff; }
.urgent-care { margin-top:50px; }
.urgent-care h3 { color:var(--navy); font-size:21px; }
.urgent-care > div { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.urgent-care p { margin:0; padding:20px; border-radius:15px; background:white; color:#53616c; font-size:12px; line-height:1.6; }
.urgent-care strong { color:var(--green); }
.resource-grid { margin:0 0 35px; padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.resource-grid li { padding:17px 18px; border-radius:13px; background:#eef8ff; color:#344d62; font-size:12px; line-height:1.4; }
.resource-feature { max-width:1000px; margin-top:15px; padding:25px 28px; border:1px solid #d9e9f3; border-radius:16px; }
.resource-feature h3 { margin:0 0 10px; color:var(--navy); }
.resource-feature p { margin:0; color:#5b6975; font-size:13px; line-height:1.65; }
.reviews-section { background:#dff3ff; }
.reviews-section > div { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.reviews-section blockquote { margin:0; padding:28px; border-radius:18px; background:white; color:#334754; font-family:Georgia,serif; font-size:17px; line-height:1.55; }
.reviews-section cite { display:block; margin-top:17px; color:var(--green); font-family:Arial,sans-serif; font-size:10px; font-style:normal; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.local-service-area { padding:76px max(7vw,45px); text-align:center; background:linear-gradient(180deg,#fff 0%,#f2faff 100%); }
.local-service-area h2 { max-width:760px; margin:0 auto 16px; color:var(--navy); font-size:clamp(30px,4vw,48px); }
.local-service-area > p:not(.section-kicker) { max-width:820px; margin:0 auto 30px; color:#52636e; font-size:16px; line-height:1.75; }
.local-service-area ul { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; max-width:950px; margin:0 auto; padding:0; list-style:none; }
.local-service-area li { padding:11px 18px; border:1px solid #cfe6f5; border-radius:999px; background:white; color:var(--navy); font-size:13px; font-weight:800; box-shadow:0 6px 18px rgba(34,94,124,.06); }
.contact-copy { padding:85px max(7vw,45px); display:grid; grid-template-columns:1.15fr .85fr; gap:8vw; background:var(--navy); color:white; }
.contact-copy h2 { color:white; }
.contact-copy a { color:#9cc9ff; font-weight:800; }
.contact-copy p { color:#d6dcf0; font-size:14px; line-height:1.7; }
.contact-copy h3 { margin:0 0 14px; font-size:22px; }
.location-card { grid-column:1 / -1; display:grid; grid-template-columns:.8fr 1.2fr; align-items:stretch; overflow:hidden; border-radius:22px; background:white; color:#24394b; box-shadow:0 18px 42px rgba(7,41,78,.18); }
.location-card > div { padding:32px; }
.location-card h3 { margin:5px 0 12px; color:var(--navy); line-height:1.35; }
.location-card p:not(.section-kicker) { color:#536779; }
.location-card a { display:inline-flex; margin-top:8px; padding:12px 17px; border-radius:9px; background:#1768e5; color:white; font-size:12px; font-weight:850; }
.map-frame { width:100%; min-height:300px; border:0; }
.comment-note { padding-top:18px; border-top:1px solid rgba(255,255,255,.2); font-size:11px !important; }

footer { min-height:82px; padding:18px 5vw; display:flex; justify-content:space-between; align-items:center; border-top:1px solid #edf0f3; }
footer .logo { transform:scale(.8); transform-origin:left center; }
footer p { font-size:11px; color:#5f6872; }
.design-credit { min-height:54px; padding:10px 5vw; display:flex; align-items:center; justify-content:center; gap:8px; border-top:1px solid #edf0f3; background:#f8fbfd; color:#6c7782; font-size:10px; letter-spacing:.03em; }
.design-credit a { display:flex; align-items:center; gap:8px; }
.design-credit img { width:62px; height:18px; object-fit:cover; border-radius:3px; }
.design-credit strong { color:#313b46; font-size:11px; }

@media (min-width: 721px) {
  .hero-copy p { font-size:17px; line-height:1.6; }
  .services h2 { font-size:16px; }
  .services p { font-size:14px; line-height:1.6; }
  .provider-copy h3 { font-size:17px; }
  .provider-copy strong { font-size:14px; }
  .provider-copy p { font-size:14px; line-height:1.6; }
  .provider-copy a { font-size:13px; }
  .schedule-card p { font-size:16px; line-height:1.5; }
  .announcement-grid p { font-size:16px; }
  .why-families li { font-size:16px; line-height:1.55; }
  .accordion-list details p { font-size:16px; }
  .about-team-photos figcaption { font-size:14px; }
  .policy-grid p, .insurance-list > p, .insurance-list li { font-size:15px; }
  .age-grid span { font-size:14px; }
  .important-note, .inline-link, .forms-section > p:not(.section-kicker) { font-size:16px; }
  .pdf-grid small { font-size:13px; }
  .form-request-grid p, .form-request-grid a, .visit-checklist li { font-size:14px; }
  .urgent-care p, .resource-grid li { font-size:15px; }
  .resource-feature p { font-size:16px; }
  .contact-copy p { font-size:16px; }
  .comment-note { font-size:14px !important; }
}

@media (max-width: 1000px) {
  header { position:sticky; }
  .menu-toggle { display:flex; width:44px; height:44px; padding:10px; border:0; background:none; flex-direction:column; justify-content:center; gap:5px; }
  .menu-toggle span { width:24px; height:2px; background:var(--navy); }
  nav { display:none; position:absolute; top:88px; left:0; right:0; max-height:calc(100vh - 88px); overflow-y:auto; padding:20px 5vw 24px; background:white; flex-direction:column; align-items:stretch; gap:4px; box-shadow:0 16px 30px rgba(20,50,80,.14); }
  nav.open { display:flex; }
  nav > a:not(.nav-cta), .nav-group > a { display:block; padding:9px 0; }
  .nav-group > a span { display:none; }
  .nav-submenu { position:static; width:auto; padding:0 0 5px 16px; gap:0; border:0; border-radius:0; box-shadow:none; opacity:1; visibility:visible; transform:none; transition:none; }
  .nav-submenu::before { display:none; }
  .nav-submenu a { display:block; padding:8px 10px; font-size:12px; }
  .nav-group:hover .nav-submenu, .nav-group:focus-within .nav-submenu { transform:none; }
  .nav-cta { margin:10px 0 0; }
  .install-app-button { width:100%; margin-top:8px; }
  .hero { grid-template-columns:34% 35% 31%; }
  .team-photo { margin-right:24px; }
  .services { gap:12px; padding-left:24px; padding-right:24px; }
  .services article { padding:16px 12px; }
  .provider-grid { gap:14px; }
}

@media (max-width: 720px) {
  html, body { width:100%; max-width:100%; overflow-x:hidden; }
  body { background:#fff; }
  main { width:100%; max-width:100%; margin:0; overflow:hidden; border-radius:0; background:white; }
  header { width:100%; height:106px; padding:0 20px; justify-content:center; border-top:0; border-radius:0; }
  header > a { transform:scale(1.22); transform-origin:center; }
  .logo { width:220px; }
  .menu-toggle { position:absolute; right:16px; }
  nav { top:106px; width:100%; max-width:100%; max-height:calc(100vh - 106px); padding:20px 24px 24px; border-radius:0; }
  .hero {
    height:auto;
    min-height:650px;
    grid-template-columns:1fr;
    padding:295px 0 24px;
    background-size:auto 295px;
    background-position:top left;
    background-color:#dff3ff;
  }
  .hero-copy { grid-column:1; grid-row:1; margin:0; padding:20px 28px 0; text-align:center; border-radius:0; background:transparent; box-shadow:none; }
  .hero-copy h1 { font-size:35px; line-height:1.1; }
  .hero-copy p { margin:14px auto 20px; max-width:330px; font-size:15px; line-height:1.45; }
  .hero-buttons { display:grid; grid-template-columns:1fr; gap:10px; }
  .hero-buttons .primary, .hero-buttons .secondary { width:100%; min-height:56px; font-size:15px; border-radius:10px; }
  .team-photo { display:none; }
  .services { grid-template-columns:1fr 1fr; gap:12px; margin-top:0; padding:20px 12px 28px; border-radius:0; background:#dff3ff; }
  .services article { min-height:100px; align-items:center; padding:14px 12px; gap:10px; border-radius:16px; }
  .services p { display:none; }
  .services h2 { margin:0; font-size:13px; text-align:left; }
  .service-icon { flex-basis:48px; width:48px; height:48px; }
  .providers { min-height:430px; padding:22px 10px 62px; background:linear-gradient(#fff,#f3fbff); }
  .providers > h2 { font-size:27px; }
  .provider-grid { display:none; }
  .cloud { display:none; }
  .mobile-provider-slider { display:grid; grid-template-columns:36px 1fr 36px; align-items:center; gap:4px; margin-top:18px; position:relative; z-index:4; }
  .mobile-provider-card { grid-column:2; display:grid; grid-template-columns:43% 57%; align-items:stretch; min-height:218px; padding:14px; background:white; border-radius:18px; box-shadow:0 10px 28px rgba(28,63,98,.12); text-align:left; }
  .mobile-provider-card > img { width:100%; height:100%; max-height:190px; object-fit:cover; border-radius:13px; }
  .mobile-provider-card > div { padding:5px 4px 4px 14px; display:flex; flex-direction:column; }
  .mobile-provider-card h3 { margin:0; color:#1ba54a; font-size:14px; }
  .mobile-provider-card strong { color:#1ba54a; font-size:11px; }
  .mobile-provider-card p { margin:12px 0; font-size:11px; line-height:1.45; }
  .mobile-provider-card a { margin-top:auto; align-self:center; padding:8px 18px; border-radius:6px; background:#1cad4d; color:white; font-size:10px; font-weight:800; }
  .slider-arrow { width:34px; height:34px; display:grid; place-items:center; border:1.5px solid #b9cde4; border-radius:50%; background:white; color:#486b98; font-size:25px; line-height:1; }
  .slider-arrow.previous { grid-column:1; }
  .slider-arrow.next { grid-column:3; }
  .slider-dots { grid-column:1 / -1; display:flex; justify-content:center; gap:10px; margin-top:14px; }
  .slider-dots button { width:11px; height:11px; padding:0; border:0; border-radius:50%; background:#c6d2df; }
  .slider-dots button.active { background:#19ac4b; }
  .bottom-panel { display:block; padding:0; background:#20a947; }
  .community-photo { display:none; }
  .schedule-card { min-height:310px; padding:48px 24px 38px; border-radius:50% 50% 28px 28px / 28px 28px 28px 28px; }
  .schedule-card h2 { font-size:29px; }
  .schedule-card p { margin:12px 0 25px; font-size:16px; line-height:1.5; }
  .schedule-card a { width:78%; min-height:54px; justify-content:center; font-size:14px; }
  .tiny-flower { right:-10px; bottom:5px; width:136px; height:136px; transform:rotate(7deg); }
  .why-families::after { right:-26px; bottom:-22px; width:126px; height:126px; opacity:.82; }
  .announcements, .copy-section, .reviews-section { padding:65px 22px; }
  .site-copy h2 { font-size:34px; }
  .announcement-grid { grid-template-columns:1fr; margin-top:28px; }
  .why-families { padding:60px 22px; grid-template-columns:1fr; gap:32px; }
  .why-families ul { grid-template-columns:1fr; }
  .policy-grid { grid-template-columns:1fr; }
  .about-team-photos { grid-template-columns:1fr; }
  .about-team-photos img { height:230px; }
  .insurance-list { padding:0 18px; }
  .insurance-list ul { grid-template-columns:1fr 1fr; }
  .age-grid { grid-template-columns:repeat(3,1fr); }
  .pdf-grid { grid-template-columns:1fr; }
  .form-request-grid { grid-template-columns:1fr; }
  .visit-checklist ul { grid-template-columns:1fr 1fr; }
  .urgent-care > div { grid-template-columns:1fr; }
  .resource-grid { grid-template-columns:1fr; }
  .reviews-section > div { grid-template-columns:1fr; }
  .local-service-area { padding:60px 22px; }
  .local-service-area li { flex:1 1 calc(50% - 10px); padding:11px 8px; }
  .contact-copy { padding:65px 22px; grid-template-columns:1fr; gap:35px; }
  .location-card { grid-template-columns:1fr; }
  .location-card > div { padding:26px 22px; }
  .map-frame { min-height:260px; }
  footer { display:none; }
  .design-credit { min-height:58px; padding:12px 18px; }
  .install-steps { grid-template-columns:1fr; }
}

@media (max-width: 430px) {
  .hero-copy h1 { font-size:32px; }
  .mobile-provider-card { grid-template-columns:44% 56%; padding:11px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
}
