/*
Theme Name: Princeton Dental
Description: Custom theme for Princeton Dental (Kenmore QLD), converted from static HTML design.
Author: JRNY Digital
Version: 3.9
Text Domain: princeton-dental
*/

/* ---- from dental-hygiene-and-exams.html ---- */

/* ==========================================================================
   PRINCETON DENTAL — homepage recreation
   Palette taken from the live site. Change these variables to re-skin.
   ========================================================================== */
:root{
  --teal:       #4E8E9A;   /* primary teal — buttons, links, accents         */
  --teal-dark:  #3C7079;   /* hover                                          */
  --teal-deep:  #2C545C;   /* dark panels: dentists, services, contact strip */
  --ink:        #333333;   /* body + heading text                            */
  --muted:      #6A7578;   /* secondary text                                 */
  --faq:        #E0F9FE;   /* FAQ section background                          */
  --wash:       #F3FAFB;   /* very light teal wash for alt sections           */
  --line:       #E2EBEC;
  --white:      #FFFFFF;
  --shadow:     0 14px 44px rgba(44,84,92,.14);
  --radius:     14px;
  --maxw:       1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:'Raleway',system-ui,-apple-system,Segoe UI,sans-serif;
  font-weight:400;line-height:1.75;color:var(--ink);background:var(--white);font-size:16px;
  letter-spacing:.01em;
}
h1,h2,h3,h4{font-family:'Raleway',sans-serif;font-weight:800;line-height:1.22;
  letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.3rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);}
h3{font-size:clamp(1.15rem,2vw,1.5rem);}
p{margin:0 0 1.1em;}
a{color:var(--teal);text-decoration:none;}
a:hover{color:var(--teal-dark);}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.site{background:#fff;overflow:hidden;}
.center{text-align:center;}
.hl{color:var(--teal);}
.thin{font-weight:400;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  font-size:.78rem;padding:14px 32px;border-radius:50px;cursor:pointer;border:2px solid transparent;
  transition:.2s ease;}
.btn-primary{background:var(--teal);color:#fff;}
/* Book Online button: top-left + bottom-right rounded, other corners square */
.btn-book{display:inline-flex;align-items:center;gap:9px;background:var(--teal);color:#fff;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;
  padding:14px 28px;border:2px solid transparent;cursor:pointer;transition:.2s ease;
  border-radius:18px 0 18px 0;}
.btn-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-book svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.hero-cta{align-self:flex-start;padding:19px 52px;font-size:.95rem;border-radius:24px 0 24px 0;margin-top:20px;}
.btn-primary:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal);}
.btn-outline:hover{background:var(--teal);color:#fff;}
.btn-light{background:#fff;color:var(--teal);}
.btn-light:hover{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep);}
.btn-white-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-white-outline:hover{background:#fff;color:var(--teal);}

/* ---------- Image placeholders ---------- */
.ph{position:relative;background:repeating-linear-gradient(45deg,#eef3f3 0 14px,#e6edee 14px 28px);
  border:1px dashed #aebdbd;border-radius:var(--radius);display:flex;align-items:center;
  justify-content:center;text-align:center;color:#6f807f;font-size:.8rem;font-weight:600;
  letter-spacing:.02em;padding:16px;min-height:120px;overflow:hidden;}
.ph span{display:block;line-height:1.5;}
.ph small{display:block;font-weight:500;opacity:.72;margin-top:4px;font-size:.72rem;}

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.topbar{background:var(--teal-deep);color:#dcedef;font-size:.85rem;}
.topbar .container{display:flex;align-items:center;gap:20px;min-height:44px;flex-wrap:wrap;}
.topbar a{color:#dcedef;}
.topbar a:hover{color:#fff;}
.tb-promo{margin-right:auto;font-weight:600;}
.tb-promo a{text-decoration:none;}
.tb-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto;}
.tb-socials{display:flex;gap:8px;}
.tb-socials a{width:26px;height:26px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;}
.tb-socials a:hover{background:#fff;color:var(--teal-deep);}
.hours-toggle{position:relative;cursor:pointer;}
.hours-panel{position:absolute;top:130%;right:0;background:#fff;color:var(--ink);
  box-shadow:var(--shadow);border-radius:10px;padding:16px 20px;width:250px;z-index:60;display:none;}
.hours-toggle:hover .hours-panel,.hours-panel:hover{display:block;}
.hours-panel h4{font-size:.95rem;margin-bottom:10px;color:var(--teal);}
.hours-panel table{width:100%;border-collapse:collapse;font-size:.8rem;}
.hours-panel td{padding:4px 0;border-bottom:1px solid var(--line);}
.hours-panel td:last-child{text-align:right;color:var(--muted);}

/* ==========================================================================
   HEADER (two rows: brand row + nav row)
   ========================================================================== */
.header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px rgba(0,0,0,.07);}
.brand-row{display:flex;align-items:center;gap:24px;padding:16px 0 10px;}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{height:46px;width:auto;display:block;}
.call-now{margin-left:auto;font-size:.9rem;color:var(--ink);font-weight:600;}
.call-now strong{color:var(--teal);}
.menu-toggle{display:none;background:none;border:2px solid var(--line);border-radius:8px;
  padding:8px 12px;font-weight:700;cursor:pointer;color:var(--ink);font-family:inherit;margin-left:auto;}

.nav-row{border-top:1px solid var(--line);}
.nav{display:flex;justify-content:center;}
.nav>ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap;justify-content:center;}
.nav>ul>li{position:relative;}
.nav>ul>li>a{display:block;padding:14px 15px;font-weight:700;font-size:.82rem;color:var(--ink);
  letter-spacing:.04em;text-transform:uppercase;}
.nav>ul>li>a:hover{color:var(--teal);}
.nav .has-sub>a::after{content:"▾";font-size:.7em;margin-left:5px;color:var(--muted);}
.submenu{position:absolute;top:100%;left:0;background:#fff;min-width:250px;box-shadow:var(--shadow);
  border-radius:10px;padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.18s ease;z-index:40;}
.nav li:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu li{position:relative;}
.submenu a{display:block;padding:9px 14px;border-radius:7px;font-size:.82rem;font-weight:600;
  color:var(--ink);text-transform:none;letter-spacing:0;}
.submenu a:hover{background:var(--wash);color:var(--teal);}
.submenu .has-sub>a::after{content:"›";float:right;color:var(--muted);}
.submenu .submenu{top:0;left:100%;margin-left:4px;}
.nav .book-online>a{background:var(--teal);color:#fff;border-radius:18px 0 18px 0;margin:6px 0 0 8px;
  padding:11px 20px;display:inline-flex;align-items:center;gap:8px;}
.nav .book-online>a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.nav .book-online>a:hover{background:var(--teal-dark);color:#fff;}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;overflow:hidden;}
.hero-bg{display:block;width:100%;height:auto;}
.hero-inner{position:absolute;inset:0;z-index:2;max-width:var(--maxw);margin:0 auto;
  padding:0 24px;display:flex;flex-direction:column;justify-content:center;}
.hero h1{color:#23383c;max-width:620px;font-size:clamp(2.4rem,5.6vw,4rem);}
.hero h1 .light{font-weight:300;display:block;font-size:.6em;letter-spacing:.01em;margin-bottom:.15em;color:#3f5457;}
.hero .btn{margin-top:12px;}

/* quick links band */
.quickband{background:linear-gradient(rgba(44,84,92,.35),rgba(44,84,92,.45)),url('images/background_banners1.jpg') center/cover;padding:56px 0;}
.quickband .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:920px;margin:0 auto;}
.quickband a{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;text-align:center;transition:.2s;}
.quickband .tile{width:136px;height:136px;background:var(--teal);border-radius:34px 0 34px 0;
  display:flex;align-items:center;justify-content:center;transition:.2s;}
.quickband a:hover .tile{background:var(--teal-dark);transform:translateY(-4px);}
.quickband .tile img{width:82px;height:82px;object-fit:contain;}
.quickband .lbl{font-size:1.05rem;font-weight:500;line-height:1.25;}
.quickband .lbl b{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}

/* tagline */
.tagline{text-align:center;max-width:640px;margin:0 auto;padding:56px 24px;font-style:italic;
  color:var(--teal);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;font-weight:500;}

/* ==========================================================================
   OFFER ROWS (image beside text)
   ========================================================================== */
.offer{padding:20px 0;}
.offer .grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
  background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.offer .col-img .ph{border-radius:0;min-height:420px;height:100%;}
.offer .col-text{padding:48px 46px;display:flex;flex-direction:column;justify-content:center;}
.offer .grid.flip .col-img{order:2;}
.offer h2 sup{color:var(--teal);font-size:.5em;}
.offer .sub{font-weight:700;color:var(--teal);margin:2px 0 20px;font-size:1.05rem;}
.offer .price{color:var(--teal);}
.offer ul{margin:0 0 20px;padding:0;list-style:none;}
.offer ul li{position:relative;padding-left:28px;margin-bottom:7px;font-size:.94rem;}
.offer ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800;}
.offer .fineprint{font-size:.74rem;color:var(--muted);margin:8px 0 22px;line-height:1.6;}
.offer .btn{align-self:flex-start;}
.offer .smile-big{font-size:clamp(2rem,4vw,2.8rem);color:var(--teal);font-weight:800;
  line-height:1.05;margin-bottom:.1em;}
.offer .smile-sub{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:.5em;}

/* ---- Gap Free offer: full-bleed photo background, text on light right side ---- */
.offer-hero{position:relative;overflow:hidden;background:#eceeef;}
.offer-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;}
.offer-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(236,238,239,0) 40%,rgba(236,238,239,.82) 58%,rgba(236,238,239,.96) 74%);}
.offer-hero .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:66px 24px;
  display:flex;justify-content:flex-end;}
.offer-content{width:min(580px,55%);color:var(--ink);}
.offer-content .t1{font-family:'Raleway',sans-serif;font-weight:700;line-height:1.02;margin:0;
  color:var(--teal);text-transform:uppercase;font-size:clamp(2.3rem,4.6vw,3.4rem);}
.offer-content .t1 sup{font-size:.5em;top:-.6em;}
/* mirrored variant: photo on the right, text on the left */
.offer-hero.flip .offer-hero-bg{object-position:right center;}
.offer-hero.flip::after{background:linear-gradient(90deg,rgba(255,255,255,.96) 26%,rgba(255,255,255,.82) 44%,rgba(255,255,255,0) 62%);}
.offer-hero.flip .inner{justify-content:flex-start;}
.offer-content .t2{font-family:'Raleway',sans-serif;font-weight:400;line-height:1.08;margin:0 0 22px;
  font-size:clamp(1.9rem,3.8vw,2.8rem);color:var(--ink);}
.offer-content .t3{font-family:'Raleway',sans-serif;font-weight:300;margin:0 0 12px;
  font-size:clamp(1.1rem,2vw,1.45rem);color:var(--ink);}
.offer-content .inc{font-family:'Open Sans',sans-serif;font-weight:400;margin:0 0 8px;color:var(--ink);}
.offer-list{list-style:none;margin:0 0 20px;padding:0;font-family:'Open Sans',sans-serif;}
.offer-list li{position:relative;padding-left:30px;margin-bottom:9px;font-size:.98rem;color:#444;}
.offer-list li::before{content:"";position:absolute;left:3px;top:6px;width:13px;height:8px;
  border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);transform:rotate(-45deg);}
.offer-content .fine{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;
  color:var(--muted);margin:0 0 26px;line-height:1.6;max-width:520px;}
.offer-book{display:block;width:100%;background:var(--teal);color:#fff;font-family:'Raleway',sans-serif;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;text-align:center;
  padding:19px 24px;border-radius:28px 0 28px 0;transition:.2s;}
.offer-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
@media(max-width:820px){
  .offer-hero-bg{position:relative;height:auto;}
  .offer-hero::after{display:none;}
  .offer-hero .inner{display:block;padding:0 0 40px;}
  .offer-content{width:100%;padding:30px 24px 0;}
  .care-inner{grid-template-columns:1fr;min-height:0;}
  .care-bg{position:relative;height:260px;}
  .care.flip .care-panel{order:2;}
  .care.flip .care-spacer{order:1;}
  .care-spacer{display:none;}
  .care-panel.br,.care-panel.tl{border-radius:0;}
  .care-panel{padding:40px 24px;}
}

/* ==========================================================================
   FEATURE ROWS (Honest Care / Straightforward Approach / Get Started)
   ========================================================================== */
.feature{padding:70px 0;}
.feature.wash{background:var(--wash);}
.feature .grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.feature .grid.flip .col-img{order:2;}
.feature .col-img .ph{min-height:380px;height:100%;border-radius:20px;}
.feature .col-text h2 .hl{display:inline;}

/* ---- Care / Straightforward: full-bleed photo with an overlaid white curved panel ---- */
.care{position:relative;overflow:hidden;background:#fff;}
.care-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;}
.care.flip .care-bg{object-position:left center;}
.care-bg.ph{border-radius:0;border:none;}
.care-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;min-height:470px;}
.care-panel{background:#fff;padding:64px clamp(28px,4.5vw,60px);display:flex;flex-direction:column;
  justify-content:center;align-items:center;}
.care-panel>*{width:100%;max-width:430px;}
/* section 1: panel left, curve cut into its bottom-right */
.care-panel.br{border-bottom-right-radius:170px;}
/* section 2: panel right, curve cut into its top-left */
.care.flip .care-panel{order:2;}
.care.flip .care-spacer{order:1;}
.care-panel.tl{border-top-left-radius:170px;}
.care-panel.tr{border-top-right-radius:170px;}
.care-spacer{}
.care-panel h2{font-family:'Raleway',sans-serif;font-weight:300;color:#23383c;line-height:1.14;
  font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.6em;}
.care-panel h2 b{font-weight:700;}
.care-panel h2 .stack{display:block;}
.care-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.94rem;max-width:430px;}
.care-panel p a{color:var(--teal);font-weight:700;}

/* ==========================================================================
   MEET THE DENTISTS (dark teal panel + white cards)
   ========================================================================== */
.dentists{padding:0 0 70px;background:#fff;}
.dentists-hero{position:relative;background:#2C545C;padding:0;color:#fff;overflow:hidden;}
.dentists-hero img.team{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;
  position:absolute;inset:0;}
.dentists-hero .overlay{position:relative;z-index:2;min-height:720px;display:flex;flex-direction:column;
  justify-content:flex-end;align-items:center;text-align:center;padding:0 24px 150px;
  background:linear-gradient(to bottom,rgba(20,45,50,0) 40%,rgba(20,45,50,.4) 56%,rgba(20,45,50,.7) 80%);}
.dentists-hero h2{color:#fff;font-weight:300;margin-bottom:.5em;text-shadow:0 2px 14px rgba(0,0,0,.35);}
.dentists-hero h2 b{font-weight:800;}
.dentists-hero p{color:#e6f1f3;max-width:660px;margin:0 auto;font-size:.94rem;
  text-shadow:0 1px 10px rgba(0,0,0,.45);}
.dentists-hero .ph{border-radius:14px;min-height:300px;max-width:640px;margin:0 auto 30px;
  background:repeating-linear-gradient(45deg,#3a656d 0 16px,#345a62 16px 32px);border-color:#4a747c;
  color:#bcd6da;}
.dentists-hero h2{color:#fff;}
.dentists-hero p{color:#d4e5e8;max-width:720px;margin:0 auto;}
.dentist-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:920px;margin:-60px auto 0;
  position:relative;z-index:2;}
.dentist-card{background:#fff;border-radius:0;box-shadow:var(--shadow);padding:32px 32px 36px;}
.dentist-card h3 small{font-weight:500;color:var(--muted);font-size:.85rem;}
.quals{background:var(--wash);border-radius:0;padding:14px 18px;margin:16px 0 20px;font-size:.85rem;}
.quals strong{display:block;margin-bottom:6px;color:var(--teal);}
.quals ul{margin:0;padding-left:18px;}

/* ==========================================================================
   OUR DENTAL SERVICES (dark teal, tabbed)
   ========================================================================== */
.services{background:url('images/img-services.jpg') center/cover;color:#fff;padding:70px 0;}
.services h2{color:#fff;font-weight:300;margin-bottom:.1em;}
.services h2 .hl{color:#fff;font-weight:800;}
.services .layout{display:grid;grid-template-columns:320px 1fr;gap:56px;margin-top:34px;}
.tab-list{display:flex;flex-direction:column;gap:4px;}
.tab-list button{background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;
  color:#e2f0f2;font-weight:600;font-size:.82rem;letter-spacing:.07em;text-transform:uppercase;
  padding:10px 0;display:flex;align-items:center;gap:10px;transition:.2s ease;
  border-bottom:1px solid transparent;align-self:flex-start;}
.tab-list button::after{content:"→";font-size:.95em;}
.tab-list button:hover{color:#fff;transform:translateX(6px);}
.tab-list button.active{color:#fff;font-weight:700;transform:translateX(18px);
  border-bottom-color:rgba(255,255,255,.85);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-panel h3{color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;font-weight:600;
  margin-bottom:.7em;}
.tab-panel p{color:#dbeaec;max-width:560px;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.tab-panel .btn-book{margin-top:14px;background:rgba(78,142,154,.85);}
.tab-panel .btn-book:hover{background:var(--teal);}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{background:var(--faq);padding:70px 0;}
.faq .head{text-align:center;margin-bottom:26px;}
.faq .head h2{color:#3f6168;font-weight:300;font-size:clamp(1.8rem,3.4vw,2.4rem);}
.acc{max-width:800px;margin:0 auto;display:flex;flex-direction:column;}
.acc-item{background:none;border-radius:0;box-shadow:none;overflow:hidden;}
.acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 0;
  font-family:inherit;font-weight:400;font-size:1.02rem;color:#3f6168;display:flex;align-items:center;
  gap:14px;}
.acc-q .qtext{flex-shrink:0;}
.acc-q .leader{flex:1;border-bottom:1px dotted #9dc2c9;height:1px;margin-top:6px;}
.acc-q:hover{color:var(--teal);}
.acc-q .ico{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;line-height:1;
  transition:.2s;}
.acc-item.open .acc-q .ico{transform:none;}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc-a-inner{padding:4px 60px 18px 22px;color:#4a5457;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.acc-item.open .acc-a{max-height:400px;}

/* ==========================================================================
   HEALTH FUNDS
   ========================================================================== */
.funds{padding:64px 0;text-align:center;background:#fff;}
.funds h2{margin-bottom:.15em;font-weight:800;}
.funds .sub{color:var(--ink);max-width:900px;margin:0 auto 40px;font-weight:400;
  font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.3;font-family:'Raleway',sans-serif;}
.fund-logos{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;align-items:center;
  justify-items:center;}
.fund-logos img{width:100%;max-width:150px;height:auto;object-fit:contain;}
.funds .note{font-size:.76rem;color:var(--muted);margin-top:26px;font-style:italic;}

/* ==========================================================================
   PAYMENT PLANS + CONTACT CTA + MAP
   ========================================================================== */
.payment{background:var(--teal);color:#fff;text-align:center;padding:46px 24px 42px;}
.payment h2{color:#fff;font-weight:300;margin-bottom:.45em;font-size:clamp(1.7rem,3.4vw,2.3rem);}
.payment .ask{color:#fff;font-weight:700;font-size:clamp(1rem,1.9vw,1.2rem);margin:0;}
.contact-cta{background:#466167;color:#fff;padding:30px 24px;}
.contact-cta .container{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center;}
.contact-cta .phone{font-size:1.45rem;font-weight:700;display:flex;align-items:center;gap:12px;}
.contact-cta .phone svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.8;}
.contact-cta .btn-book{padding:15px 60px;font-weight:400;letter-spacing:.06em;font-size:.92rem;}
.map{line-height:0;}
.map iframe{display:block;width:100%;height:400px;border:0;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:#fff;padding:58px 0;color:var(--ink);border-top:1px solid var(--line);}
.footer .fc-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start;}
.footer h2{font-size:1.4rem;}
.footer .addr{color:var(--muted);font-size:.95rem;}
.footer .addr strong{color:var(--ink);display:block;margin-top:14px;}
.footer .fc-hours h4{color:var(--teal);margin-bottom:8px;}
.footer .fc-hours table{width:100%;border-collapse:collapse;font-size:.88rem;max-width:360px;}
.footer .fc-hours td{padding:7px 0;border-bottom:1px solid var(--line);}
.footer .fc-hours td:last-child{text-align:right;color:var(--muted);}
.footer-bottom{background:#000;margin-top:0;padding:18px 0;border-top:none;}
.footer-bottom .container{max-width:1440px;}
.fb-grid{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:start;}
.fb-addr{margin:0;font-size:.76rem;line-height:1.65;color:#fff;font-weight:700;}
.fb-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.fb-email{display:flex;align-items:center;gap:10px;}
.fb-email .email-link{font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.04em;
  width:auto;height:auto;background:none;border-radius:0;text-decoration:underline;}
.fb-email .email-link:hover{color:#bcd6da;}
.fb-email a{width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  border-radius:4px;background:#fff;color:#000;font-size:.68rem;font-weight:800;}
.fb-email a.fb{background:#1877F2;color:#fff;border-radius:50%;}
.fb-email a.x{background:#000;color:#fff;border:1px solid #555;}
.fb-email a.em{background:#9aa0a6;color:#fff;}
.footer-links{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0;font-size:.74rem;
  align-items:center;}
.footer-links li:not(:last-child)::after{content:"|";color:#fff;margin:0 8px;text-decoration:none;
  display:inline-block;}
.footer-links a{color:#fff;text-decoration:underline;}
.footer-links a:hover{color:#bcd6da;}
.smile-credit{text-align:right;font-size:.74rem;color:#fff;padding:0;margin:0;}

/* ---------- Floating offer badge ---------- */
.badge{position:fixed;right:18px;bottom:18px;width:186px;height:186px;border-radius:50%;
  background:url('images/stickybutton-2025.png') center/cover no-repeat;
  box-shadow:0 10px 30px rgba(0,0,0,.28);z-index:150;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:0 8px;gap:8px;color:#fff;transition:transform .2s ease;overflow:hidden;}
.badge:hover{transform:scale(1.05);color:#fff;}
.badge .pill{background:#fff;color:#1b2a32;font-weight:700;line-height:1.2;border-radius:7px;
  padding:6px 10px;width:auto;max-width:74%;}
.badge .pill.top{font-size:.8rem;}
.badge .pill.cta{font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;padding:7px 14px;
  max-width:66%;}
.badge .mid{font-size:.72rem;font-weight:700;line-height:1.35;color:#fff;padding:0 4px;
  text-shadow:0 1px 4px rgba(0,0,0,.28);}

/* ---------- Cookie bar ---------- */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;margin:0 auto;background:#fff;
  color:var(--ink);box-shadow:0 12px 50px rgba(0,0,0,.22);border-radius:14px;padding:20px 24px;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;z-index:200;font-size:.85rem;line-height:1.6;}
.cookie-bar p{margin:0;flex:1 1 320px;color:var(--muted);}
.cookie-bar .btns{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-bar button{font-size:.76rem;padding:9px 16px;border-radius:50px;cursor:pointer;font-family:inherit;
  font-weight:700;border:2px solid var(--teal);}
.cookie-bar .ghost{background:#fff;color:var(--teal);}
.cookie-bar .solid{background:var(--teal);color:#fff;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
.nav-overlay{display:none;}
@media(max-width:940px){
  .menu-toggle{display:block;}
  .nav-row{display:none;}
  .nav-row.open{display:block;position:fixed;top:0;right:0;height:100vh;width:min(340px,86vw);
    background:#fff;box-shadow:-6px 0 30px rgba(0,0,0,.15);padding:70px 18px 30px;overflow-y:auto;
    z-index:100;border-top:none;}
  .nav>ul{flex-direction:column;gap:0;width:100%;align-items:stretch;}
  .nav>ul>li>a{padding:12px 10px;border-bottom:1px solid var(--line);}
  .submenu,.submenu .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    background:var(--wash);margin:0;padding:0 0 6px 10px;min-width:0;}
  .nav .book-online>a{margin:8px 0 0;display:inline-block;}
  .nav-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90;}
  .quickband .grid{grid-template-columns:1fr 1fr;}
  .fund-logos{grid-template-columns:repeat(4,1fr);gap:22px;}
  .offer .grid,.offer .grid.flip .col-img,.feature .grid,.feature .grid.flip .col-img,
  .dentist-cards,.footer .fc-grid{grid-template-columns:1fr;}
  .offer .grid.flip .col-img,.feature .grid.flip .col-img{order:0;}
  .services .layout{grid-template-columns:1fr;}
  .tab-list{flex-direction:row;flex-wrap:wrap;gap:8px;}
  .tab-list button{border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:9px 15px;}
  .tab-list button.active{background:var(--teal);}
}
@media(max-width:560px){
  .quickband .grid{grid-template-columns:1fr;}
  .fund-logos{grid-template-columns:repeat(2,1fr);}
  .offer .col-text,.feature{padding-left:22px;padding-right:22px;}
  .offer .col-text{padding:34px 26px;}
  .badge{width:150px;height:150px;gap:5px;}
  .badge .pill.top{font-size:.66rem;}
  .badge .pill.cta{font-size:.62rem;}
  .badge .mid{font-size:.6rem;}
}

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
:root{--green:#16922F;}
.page-head{padding:52px 0 10px;}
.page-head h1{font-weight:300;color:#3a4a4e;font-size:clamp(2rem,4.4vw,3rem);margin:0;}

.about-intro{padding:26px 0 60px;}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.ai-text h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.5em;}
.ai-text h2.mt{margin-top:1.6em;}
.ai-text p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.ai-text p a{color:var(--teal);font-weight:600;}
.pullquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:1rem;line-height:1.7;}
.ai-text .btn-book{margin:6px 0 4px;}
.ai-img .ph{min-height:400px;border-radius:60px 0 60px 0;}
.ai-img img{width:100%;height:auto;display:block;border-radius:60px 0 60px 0;}

.approach{position:relative;padding:0 24px 60px;}
.approach-bg{display:block;width:100%;max-width:1180px;height:auto;margin:0 auto;}
.approach .container{position:relative;z-index:2;}
.approach-panel{background:rgba(255,255,255,.95);padding:34px 40px 8px;
  max-width:900px;margin:-40px auto 0;}
.approach-panel h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.6em;}
.approach-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.approach-panel p a{color:var(--teal);font-weight:700;}

.about-cols{padding:20px 0 40px;}
.ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.ac-left h2,.ac-right h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.4vw,1.7rem);
  margin-bottom:.5em;}
.ac-left h2 .plus{color:var(--teal);font-weight:400;}
.ac-left p,.ac-right p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;}
.ac-left p a,.ac-right p a{color:var(--teal);font-weight:700;}
.ac-right{background:#F1F1F1;padding:30px 34px;}

.page-foot{padding:26px 0 54px;text-align:center;}
.diamond-rule{position:relative;height:14px;margin-bottom:34px;}
.diamond-rule::before{content:"";position:absolute;top:50%;left:0;right:0;height:0;
  border-top:2px dotted #bcd9c4;}
.diamond-rule .diamond{position:absolute;left:50%;top:50%;width:13px;height:13px;
  background:var(--green);transform:translate(-50%,-50%) rotate(45deg);}
.page-foot-title{font-weight:300;color:#3a4a4e;font-size:clamp(1.1rem,2.2vw,1.45rem);margin:0;}

@media(max-width:820px){
  .ai-grid,.ac-grid{grid-template-columns:1fr;gap:32px;}
  .ai-img .ph,.ai-img img{border-radius:0;min-height:280px;}
  .approach-bg{height:auto;}
  .approach-panel{padding:26px 22px 4px;margin:-40px auto 0;max-width:100%;}
}


/* ==========================================================================
   SERVICE DETAIL PAGES (v2: check&clean / children / emergency)
   ========================================================================== */
.svc2-intro{padding:44px 0 22px;overflow:hidden;}
.svc2-intro h1{font-weight:300;color:#4a4a4a;font-size:clamp(1.9rem,4vw,2.6rem);margin:0 0 18px;}
.svc2-photo{float:right;width:390px;max-width:46%;height:auto;margin:6px 0 20px 42px;
  border-radius:36px 0 36px 0;display:block;}
.svc2{padding:0 0 10px;}
.svc2 p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;line-height:1.7;margin:0 0 14px;}
.svc2 p a{color:var(--teal);font-weight:700;}
.svc2 strong{color:var(--teal);}
.svc2 .pullquote{margin:14px 0 20px;padding:4px 0 4px 18px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:.96rem;line-height:1.7;}
.svc2 .pullquote strong{color:var(--teal);font-style:italic;}
.svc2 .btn-book{margin:6px 0 14px;}
.svc2 h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.6vw,1.75rem);margin:1.4em 0 .4em;}
.svc2 h2 .plus{color:var(--teal);font-weight:400;margin-right:4px;}
.svc2-2col{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:6px 0 0;}
.svc2-2col p{margin-bottom:12px;}

/* full-bleed info banner */
.svc2-banner{position:relative;overflow:hidden;margin:30px 0;min-height:300px;display:flex;align-items:center;}
.svc2-banner-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.svc2-banner::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(226,238,243,.95) 0%,rgba(226,238,243,.82) 44%,rgba(226,238,243,.3) 72%,rgba(226,238,243,.05) 100%);}
.svc2-banner .inner{position:relative;z-index:2;max-width:760px;margin:0 auto;padding:34px 24px;width:100%;}
.svc2-banner h2{margin-top:0;}

/* white FAQ accordion */
.svc2-faqhead{font-weight:300;color:#3a4a4e;font-size:clamp(1.4rem,2.7vw,1.85rem);margin:1.6em 0 .6em;}
.svc2-acc{display:flex;flex-direction:column;}
.svc2-acc .acc-item{border-bottom:1px solid #e2e2e2;}
.svc2-acc .acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:15px 0;
  font-family:'Open Sans',sans-serif;font-weight:700;font-size:.92rem;color:#3a4a4e;display:flex;
  justify-content:space-between;align-items:center;gap:16px;}
.svc2-acc .acc-q:hover{color:var(--teal);}
.svc2-acc .acc-q .ico{flex-shrink:0;width:20px;height:20px;border:1px solid #b9c4c7;color:#7b8588;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.95rem;line-height:1;}
.svc2-acc .acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.svc2-acc .acc-a-inner{padding:0 0 16px;color:#4a5457;font-family:'Open Sans',sans-serif;font-size:.9rem;line-height:1.7;}
.svc2-acc .acc-item.open .acc-a{max-height:500px;}

/* two-box row (fissure text + schedule box) */
.svc2-tworow{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;margin:28px 0 0;}
.svc2-tworow h2{margin-top:0;}
.svc2-tworow p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.9rem;line-height:1.7;margin:0 0 12px;}
.svc2-greybox{background:#EDEDED;padding:30px 34px;}
.svc2-greybox h2{margin:0 0 .5em;color:#3a4a4e;font-weight:300;font-size:clamp(1.25rem,2.4vw,1.6rem);}
.svc2-greybox .btn-book{margin-top:4px;}

/* CTA box */
.svc2-cta{padding:16px 0 26px;}
.svc2-ctabox{background:#EDEDED;padding:36px 40px;}
.svc2-ctabox h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.6vw,1.75rem);margin:0 0 .5em;}
.svc2-ctabox p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;margin:0 0 12px;}
.svc2-ctabox p a{color:var(--teal);font-weight:700;}
.svc2-ctabox strong{color:var(--teal);}
.svc2-disclaimer{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;color:#7b8588;
  line-height:1.6;margin:22px 0 0;}

/* CDBS family offer band */
.cdbs-band{position:relative;overflow:hidden;background:#EDEFF1;min-height:430px;margin:30px 0;
  display:flex;align-items:center;}
.cdbs-band-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;z-index:0;}
.cdbs-band .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:40px 24px;width:100%;}
.cdbs-band .box{max-width:540px;}
.cdbs-band .t1{font-family:'Raleway',sans-serif;font-weight:300;color:#333;line-height:1.05;
  font-size:clamp(1.9rem,4vw,2.7rem);margin:0 0 .1em;}
.cdbs-band .t1 strong{font-weight:800;}
.cdbs-band .lead{font-family:'Raleway',sans-serif;font-weight:300;color:#3a3a3a;margin:0 0 12px;
  font-size:clamp(1.2rem,2.4vw,1.6rem);}
.cdbs-band p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;margin:0 0 10px;}
.cdbs-band ul{list-style:none;margin:0 0 12px;padding:0;font-family:'Open Sans',sans-serif;}
.cdbs-band li{position:relative;padding-left:28px;margin-bottom:8px;color:#4a5457;font-size:.92rem;}
.cdbs-band li::before{content:"";position:absolute;left:2px;top:5px;width:12px;height:7px;
  border-left:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(-45deg);}
.cdbs-band .btn-book{margin:6px 0 8px;}

@media(max-width:760px){
  .svc2-photo{float:none;width:100%;max-width:340px;margin:0 0 20px;}
  .svc2-2col,.svc2-tworow{grid-template-columns:1fr;gap:20px;}
  .svc2-banner-bg{position:relative;height:220px;}
  .svc2-banner{display:block;min-height:0;}
  .svc2-banner::after{display:none;}
  .svc2-banner .inner{padding:24px 22px;}
  .cdbs-band-bg{position:relative;height:230px;}
  .cdbs-band{display:block;min-height:0;}
  .cdbs-band .inner{padding:26px 22px;}
}


/* ---- from index.html ---- */

/* ==========================================================================
   PRINCETON DENTAL — homepage recreation
   Palette taken from the live site. Change these variables to re-skin.
   ========================================================================== */
:root{
  --teal:       #4E8E9A;   /* primary teal — buttons, links, accents         */
  --teal-dark:  #3C7079;   /* hover                                          */
  --teal-deep:  #2C545C;   /* dark panels: dentists, services, contact strip */
  --ink:        #333333;   /* body + heading text                            */
  --muted:      #6A7578;   /* secondary text                                 */
  --faq:        #E0F9FE;   /* FAQ section background                          */
  --wash:       #F3FAFB;   /* very light teal wash for alt sections           */
  --line:       #E2EBEC;
  --white:      #FFFFFF;
  --shadow:     0 14px 44px rgba(44,84,92,.14);
  --radius:     14px;
  --maxw:       1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:'Raleway',system-ui,-apple-system,Segoe UI,sans-serif;
  font-weight:400;line-height:1.75;color:var(--ink);background:var(--white);font-size:16px;
  letter-spacing:.01em;
}
h1,h2,h3,h4{font-family:'Raleway',sans-serif;font-weight:800;line-height:1.22;
  letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.3rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);}
h3{font-size:clamp(1.15rem,2vw,1.5rem);}
p{margin:0 0 1.1em;}
a{color:var(--teal);text-decoration:none;}
a:hover{color:var(--teal-dark);}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.site{background:#fff;overflow:hidden;}
.center{text-align:center;}
.hl{color:var(--teal);}
.thin{font-weight:400;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  font-size:.78rem;padding:14px 32px;border-radius:50px;cursor:pointer;border:2px solid transparent;
  transition:.2s ease;}
.btn-primary{background:var(--teal);color:#fff;}
/* Book Online button: top-left + bottom-right rounded, other corners square */
.btn-book{display:inline-flex;align-items:center;gap:9px;background:var(--teal);color:#fff;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;
  padding:14px 28px;border:2px solid transparent;cursor:pointer;transition:.2s ease;
  border-radius:18px 0 18px 0;}
.btn-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-book svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.hero-cta{align-self:flex-start;padding:19px 52px;font-size:.95rem;border-radius:24px 0 24px 0;margin-top:20px;}
.btn-primary:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal);}
.btn-outline:hover{background:var(--teal);color:#fff;}
.btn-light{background:#fff;color:var(--teal);}
.btn-light:hover{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep);}
.btn-white-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-white-outline:hover{background:#fff;color:var(--teal);}

/* ---------- Image placeholders ---------- */
.ph{position:relative;background:repeating-linear-gradient(45deg,#eef3f3 0 14px,#e6edee 14px 28px);
  border:1px dashed #aebdbd;border-radius:var(--radius);display:flex;align-items:center;
  justify-content:center;text-align:center;color:#6f807f;font-size:.8rem;font-weight:600;
  letter-spacing:.02em;padding:16px;min-height:120px;overflow:hidden;}
.ph span{display:block;line-height:1.5;}
.ph small{display:block;font-weight:500;opacity:.72;margin-top:4px;font-size:.72rem;}

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.topbar{background:var(--teal-deep);color:#dcedef;font-size:.85rem;}
.topbar .container{display:flex;align-items:center;gap:20px;min-height:44px;flex-wrap:wrap;}
.topbar a{color:#dcedef;}
.topbar a:hover{color:#fff;}
.tb-promo{margin-right:auto;font-weight:600;}
.tb-promo a{text-decoration:none;}
.tb-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto;}
.tb-socials{display:flex;gap:8px;}
.tb-socials a{width:26px;height:26px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;}
.tb-socials a:hover{background:#fff;color:var(--teal-deep);}
.hours-toggle{position:relative;cursor:pointer;}
.hours-panel{position:absolute;top:130%;right:0;background:#fff;color:var(--ink);
  box-shadow:var(--shadow);border-radius:10px;padding:16px 20px;width:250px;z-index:60;display:none;}
.hours-toggle:hover .hours-panel,.hours-panel:hover{display:block;}
.hours-panel h4{font-size:.95rem;margin-bottom:10px;color:var(--teal);}
.hours-panel table{width:100%;border-collapse:collapse;font-size:.8rem;}
.hours-panel td{padding:4px 0;border-bottom:1px solid var(--line);}
.hours-panel td:last-child{text-align:right;color:var(--muted);}

/* ==========================================================================
   HEADER (two rows: brand row + nav row)
   ========================================================================== */
.header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px rgba(0,0,0,.07);}
.brand-row{display:flex;align-items:center;gap:24px;padding:16px 0 10px;}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{height:46px;width:auto;display:block;}
.call-now{margin-left:auto;font-size:.9rem;color:var(--ink);font-weight:600;}
.call-now strong{color:var(--teal);}
.menu-toggle{display:none;background:none;border:2px solid var(--line);border-radius:8px;
  padding:8px 12px;font-weight:700;cursor:pointer;color:var(--ink);font-family:inherit;margin-left:auto;}

.nav-row{border-top:1px solid var(--line);}
.nav{display:flex;justify-content:center;}
.nav>ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap;justify-content:center;}
.nav>ul>li{position:relative;}
.nav>ul>li>a{display:block;padding:14px 15px;font-weight:700;font-size:.82rem;color:var(--ink);
  letter-spacing:.04em;text-transform:uppercase;}
.nav>ul>li>a:hover{color:var(--teal);}
.nav .has-sub>a::after{content:"▾";font-size:.7em;margin-left:5px;color:var(--muted);}
.submenu{position:absolute;top:100%;left:0;background:#fff;min-width:250px;box-shadow:var(--shadow);
  border-radius:10px;padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.18s ease;z-index:40;}
.nav li:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu li{position:relative;}
.submenu a{display:block;padding:9px 14px;border-radius:7px;font-size:.82rem;font-weight:600;
  color:var(--ink);text-transform:none;letter-spacing:0;}
.submenu a:hover{background:var(--wash);color:var(--teal);}
.submenu .has-sub>a::after{content:"›";float:right;color:var(--muted);}
.submenu .submenu{top:0;left:100%;margin-left:4px;}
.nav .book-online>a{background:var(--teal);color:#fff;border-radius:18px 0 18px 0;margin:6px 0 0 8px;
  padding:11px 20px;display:inline-flex;align-items:center;gap:8px;}
.nav .book-online>a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.nav .book-online>a:hover{background:var(--teal-dark);color:#fff;}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;overflow:hidden;}
.hero-bg{display:block;width:100%;height:auto;}
.hero-inner{position:absolute;inset:0;z-index:2;max-width:var(--maxw);margin:0 auto;
  padding:0 24px;display:flex;flex-direction:column;justify-content:center;}
.hero h1{color:#23383c;max-width:620px;font-size:clamp(2.4rem,5.6vw,4rem);}
.hero h1 .light{font-weight:300;display:block;font-size:.6em;letter-spacing:.01em;margin-bottom:.15em;color:#3f5457;}
.hero .btn{margin-top:12px;}

/* quick links band */
.quickband{background:linear-gradient(rgba(44,84,92,.35),rgba(44,84,92,.45)),url('images/background_banners1.jpg') center/cover;padding:56px 0;}
.quickband .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:920px;margin:0 auto;}
.quickband a{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;text-align:center;transition:.2s;}
.quickband .tile{width:136px;height:136px;background:var(--teal);border-radius:34px 0 34px 0;
  display:flex;align-items:center;justify-content:center;transition:.2s;}
.quickband a:hover .tile{background:var(--teal-dark);transform:translateY(-4px);}
.quickband .tile img{width:82px;height:82px;object-fit:contain;}
.quickband .lbl{font-size:1.05rem;font-weight:500;line-height:1.25;}
.quickband .lbl b{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}

/* tagline */
.tagline{text-align:center;max-width:640px;margin:0 auto;padding:56px 24px;font-style:italic;
  color:var(--teal);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;font-weight:500;}

/* ==========================================================================
   OFFER ROWS (image beside text)
   ========================================================================== */
.offer{padding:20px 0;}
.offer .grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
  background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.offer .col-img .ph{border-radius:0;min-height:420px;height:100%;}
.offer .col-text{padding:48px 46px;display:flex;flex-direction:column;justify-content:center;}
.offer .grid.flip .col-img{order:2;}
.offer h2 sup{color:var(--teal);font-size:.5em;}
.offer .sub{font-weight:700;color:var(--teal);margin:2px 0 20px;font-size:1.05rem;}
.offer .price{color:var(--teal);}
.offer ul{margin:0 0 20px;padding:0;list-style:none;}
.offer ul li{position:relative;padding-left:28px;margin-bottom:7px;font-size:.94rem;}
.offer ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800;}
.offer .fineprint{font-size:.74rem;color:var(--muted);margin:8px 0 22px;line-height:1.6;}
.offer .btn{align-self:flex-start;}
.offer .smile-big{font-size:clamp(2rem,4vw,2.8rem);color:var(--teal);font-weight:800;
  line-height:1.05;margin-bottom:.1em;}
.offer .smile-sub{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:.5em;}

/* ---- Gap Free offer: full-bleed photo background, text on light right side ---- */
.offer-hero{position:relative;overflow:hidden;background:#eceeef;}
.offer-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;}
.offer-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(236,238,239,0) 40%,rgba(236,238,239,.82) 58%,rgba(236,238,239,.96) 74%);}
.offer-hero .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:66px 24px;
  display:flex;justify-content:flex-end;}
.offer-content{width:min(580px,55%);color:var(--ink);}
.offer-content .t1{font-family:'Raleway',sans-serif;font-weight:700;line-height:1.02;margin:0;
  color:var(--teal);text-transform:uppercase;font-size:clamp(2.3rem,4.6vw,3.4rem);}
.offer-content .t1 sup{font-size:.5em;top:-.6em;}
/* mirrored variant: photo on the right, text on the left */
.offer-hero.flip .offer-hero-bg{object-position:right center;}
.offer-hero.flip::after{background:linear-gradient(90deg,rgba(255,255,255,.96) 26%,rgba(255,255,255,.82) 44%,rgba(255,255,255,0) 62%);}
.offer-hero.flip .inner{justify-content:flex-start;}
.offer-content .t2{font-family:'Raleway',sans-serif;font-weight:400;line-height:1.08;margin:0 0 22px;
  font-size:clamp(1.9rem,3.8vw,2.8rem);color:var(--ink);}
.offer-content .t3{font-family:'Raleway',sans-serif;font-weight:300;margin:0 0 12px;
  font-size:clamp(1.1rem,2vw,1.45rem);color:var(--ink);}
.offer-content .inc{font-family:'Open Sans',sans-serif;font-weight:400;margin:0 0 8px;color:var(--ink);}
.offer-list{list-style:none;margin:0 0 20px;padding:0;font-family:'Open Sans',sans-serif;}
.offer-list li{position:relative;padding-left:30px;margin-bottom:9px;font-size:.98rem;color:#444;}
.offer-list li::before{content:"";position:absolute;left:3px;top:6px;width:13px;height:8px;
  border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);transform:rotate(-45deg);}
.offer-content .fine{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;
  color:var(--muted);margin:0 0 26px;line-height:1.6;max-width:520px;}
.offer-book{display:block;width:100%;background:var(--teal);color:#fff;font-family:'Raleway',sans-serif;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;text-align:center;
  padding:19px 24px;border-radius:28px 0 28px 0;transition:.2s;}
.offer-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
@media(max-width:820px){
  .offer-hero-bg{position:relative;height:auto;}
  .offer-hero::after{display:none;}
  .offer-hero .inner{display:block;padding:0 0 40px;}
  .offer-content{width:100%;padding:30px 24px 0;}
  .care-inner{grid-template-columns:1fr;min-height:0;}
  .care-bg{position:relative;height:260px;}
  .care.flip .care-panel{order:2;}
  .care.flip .care-spacer{order:1;}
  .care-spacer{display:none;}
  .care-panel.br,.care-panel.tl{border-radius:0;}
  .care-panel{padding:40px 24px;}
}

/* ==========================================================================
   FEATURE ROWS (Honest Care / Straightforward Approach / Get Started)
   ========================================================================== */
.feature{padding:70px 0;}
.feature.wash{background:var(--wash);}
.feature .grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.feature .grid.flip .col-img{order:2;}
.feature .col-img .ph{min-height:380px;height:100%;border-radius:20px;}
.feature .col-text h2 .hl{display:inline;}

/* ---- Care / Straightforward: full-bleed photo with an overlaid white curved panel ---- */
.care{position:relative;overflow:hidden;background:#fff;}
.care-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;}
.care.flip .care-bg{object-position:left center;}
.care-bg.ph{border-radius:0;border:none;}
.care-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;min-height:470px;}
.care-panel{background:#fff;padding:64px clamp(28px,4.5vw,60px);display:flex;flex-direction:column;
  justify-content:center;align-items:center;}
.care-panel>*{width:100%;max-width:430px;}
/* section 1: panel left, curve cut into its bottom-right */
.care-panel.br{border-bottom-right-radius:170px;}
/* section 2: panel right, curve cut into its top-left */
.care.flip .care-panel{order:2;}
.care.flip .care-spacer{order:1;}
.care-panel.tl{border-top-left-radius:170px;}
.care-panel.tr{border-top-right-radius:170px;}
.care-spacer{}
.care-panel h2{font-family:'Raleway',sans-serif;font-weight:300;color:#23383c;line-height:1.14;
  font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.6em;}
.care-panel h2 b{font-weight:700;}
.care-panel h2 .stack{display:block;}
.care-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.94rem;max-width:430px;}
.care-panel p a{color:var(--teal);font-weight:700;}

/* ==========================================================================
   MEET THE DENTISTS (dark teal panel + white cards)
   ========================================================================== */
.dentists{padding:0 0 70px;background:#fff;}
.dentists-hero{position:relative;background:#2C545C;padding:0;color:#fff;overflow:hidden;}
.dentists-hero img.team{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;
  position:absolute;inset:0;}
.dentists-hero .overlay{position:relative;z-index:2;min-height:720px;display:flex;flex-direction:column;
  justify-content:flex-end;align-items:center;text-align:center;padding:0 24px 150px;
  background:linear-gradient(to bottom,rgba(20,45,50,0) 40%,rgba(20,45,50,.4) 56%,rgba(20,45,50,.7) 80%);}
.dentists-hero h2{color:#fff;font-weight:300;margin-bottom:.5em;text-shadow:0 2px 14px rgba(0,0,0,.35);}
.dentists-hero h2 b{font-weight:800;}
.dentists-hero p{color:#e6f1f3;max-width:660px;margin:0 auto;font-size:.94rem;
  text-shadow:0 1px 10px rgba(0,0,0,.45);}
.dentists-hero .ph{border-radius:14px;min-height:300px;max-width:640px;margin:0 auto 30px;
  background:repeating-linear-gradient(45deg,#3a656d 0 16px,#345a62 16px 32px);border-color:#4a747c;
  color:#bcd6da;}
.dentists-hero h2{color:#fff;}
.dentists-hero p{color:#d4e5e8;max-width:720px;margin:0 auto;}
.dentist-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:920px;margin:-60px auto 0;
  position:relative;z-index:2;}
.dentist-card{background:#fff;border-radius:0;box-shadow:var(--shadow);padding:32px 32px 36px;}
.dentist-card h3 small{font-weight:500;color:var(--muted);font-size:.85rem;}
.quals{background:var(--wash);border-radius:0;padding:14px 18px;margin:16px 0 20px;font-size:.85rem;}
.quals strong{display:block;margin-bottom:6px;color:var(--teal);}
.quals ul{margin:0;padding-left:18px;}

/* ==========================================================================
   OUR DENTAL SERVICES (dark teal, tabbed)
   ========================================================================== */
.services{background:url('images/img-services.jpg') center/cover;color:#fff;padding:70px 0;}
.services h2{color:#fff;font-weight:300;margin-bottom:.1em;}
.services h2 .hl{color:#fff;font-weight:800;}
.services .layout{display:grid;grid-template-columns:320px 1fr;gap:56px;margin-top:34px;}
.tab-list{display:flex;flex-direction:column;gap:4px;}
.tab-list button{background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;
  color:#e2f0f2;font-weight:600;font-size:.82rem;letter-spacing:.07em;text-transform:uppercase;
  padding:10px 0;display:flex;align-items:center;gap:10px;transition:.2s ease;
  border-bottom:1px solid transparent;align-self:flex-start;}
.tab-list button::after{content:"→";font-size:.95em;}
.tab-list button:hover{color:#fff;transform:translateX(6px);}
.tab-list button.active{color:#fff;font-weight:700;transform:translateX(18px);
  border-bottom-color:rgba(255,255,255,.85);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-panel h3{color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;font-weight:600;
  margin-bottom:.7em;}
.tab-panel p{color:#dbeaec;max-width:560px;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.tab-panel .btn-book{margin-top:14px;background:rgba(78,142,154,.85);}
.tab-panel .btn-book:hover{background:var(--teal);}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{background:var(--faq);padding:70px 0;}
.faq .head{text-align:center;margin-bottom:26px;}
.faq .head h2{color:#3f6168;font-weight:300;font-size:clamp(1.8rem,3.4vw,2.4rem);}
.acc{max-width:800px;margin:0 auto;display:flex;flex-direction:column;}
.acc-item{background:none;border-radius:0;box-shadow:none;overflow:hidden;}
.acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 0;
  font-family:inherit;font-weight:400;font-size:1.02rem;color:#3f6168;display:flex;align-items:center;
  gap:14px;}
.acc-q .qtext{flex-shrink:0;}
.acc-q .leader{flex:1;border-bottom:1px dotted #9dc2c9;height:1px;margin-top:6px;}
.acc-q:hover{color:var(--teal);}
.acc-q .ico{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;line-height:1;
  transition:.2s;}
.acc-item.open .acc-q .ico{transform:none;}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc-a-inner{padding:4px 60px 18px 22px;color:#4a5457;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.acc-item.open .acc-a{max-height:400px;}

/* ==========================================================================
   HEALTH FUNDS
   ========================================================================== */
.funds{padding:64px 0;text-align:center;background:#fff;}
.funds h2{margin-bottom:.15em;font-weight:800;}
.funds .sub{color:var(--ink);max-width:900px;margin:0 auto 40px;font-weight:400;
  font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.3;font-family:'Raleway',sans-serif;}
.fund-logos{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;align-items:center;
  justify-items:center;}
.fund-logos img{width:100%;max-width:150px;height:auto;object-fit:contain;}
.funds .note{font-size:.76rem;color:var(--muted);margin-top:26px;font-style:italic;}

/* ==========================================================================
   PAYMENT PLANS + CONTACT CTA + MAP
   ========================================================================== */
.payment{background:var(--teal);color:#fff;text-align:center;padding:46px 24px 42px;}
.payment h2{color:#fff;font-weight:300;margin-bottom:.45em;font-size:clamp(1.7rem,3.4vw,2.3rem);}
.payment .ask{color:#fff;font-weight:700;font-size:clamp(1rem,1.9vw,1.2rem);margin:0;}
.contact-cta{background:#466167;color:#fff;padding:30px 24px;}
.contact-cta .container{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center;}
.contact-cta .phone{font-size:1.45rem;font-weight:700;display:flex;align-items:center;gap:12px;}
.contact-cta .phone svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.8;}
.contact-cta .btn-book{padding:15px 60px;font-weight:400;letter-spacing:.06em;font-size:.92rem;}
.map{line-height:0;}
.map iframe{display:block;width:100%;height:400px;border:0;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:#fff;padding:58px 0;color:var(--ink);border-top:1px solid var(--line);}
.footer .fc-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start;}
.footer h2{font-size:1.4rem;}
.footer .addr{color:var(--muted);font-size:.95rem;}
.footer .addr strong{color:var(--ink);display:block;margin-top:14px;}
.footer .fc-hours h4{color:var(--teal);margin-bottom:8px;}
.footer .fc-hours table{width:100%;border-collapse:collapse;font-size:.88rem;max-width:360px;}
.footer .fc-hours td{padding:7px 0;border-bottom:1px solid var(--line);}
.footer .fc-hours td:last-child{text-align:right;color:var(--muted);}
.footer-bottom{background:#000;margin-top:0;padding:18px 0;border-top:none;}
.footer-bottom .container{max-width:1440px;}
.fb-grid{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:start;}
.fb-addr{margin:0;font-size:.76rem;line-height:1.65;color:#fff;font-weight:700;}
.fb-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.fb-email{display:flex;align-items:center;gap:10px;}
.fb-email .email-link{font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.04em;
  width:auto;height:auto;background:none;border-radius:0;text-decoration:underline;}
.fb-email .email-link:hover{color:#bcd6da;}
.fb-email a{width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  border-radius:4px;background:#fff;color:#000;font-size:.68rem;font-weight:800;}
.fb-email a.fb{background:#1877F2;color:#fff;border-radius:50%;}
.fb-email a.x{background:#000;color:#fff;border:1px solid #555;}
.fb-email a.em{background:#9aa0a6;color:#fff;}
.footer-links{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0;font-size:.74rem;
  align-items:center;}
.footer-links li:not(:last-child)::after{content:"|";color:#fff;margin:0 8px;text-decoration:none;
  display:inline-block;}
.footer-links a{color:#fff;text-decoration:underline;}
.footer-links a:hover{color:#bcd6da;}
.smile-credit{text-align:right;font-size:.74rem;color:#fff;padding:0;margin:0;}

/* ---------- Floating offer badge ---------- */
.badge{position:fixed;right:18px;bottom:18px;width:186px;height:186px;border-radius:50%;
  background:url('images/stickybutton-2025.png') center/cover no-repeat;
  box-shadow:0 10px 30px rgba(0,0,0,.28);z-index:150;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:0 8px;gap:8px;color:#fff;transition:transform .2s ease;overflow:hidden;}
.badge:hover{transform:scale(1.05);color:#fff;}
.badge .pill{background:#fff;color:#1b2a32;font-weight:700;line-height:1.2;border-radius:7px;
  padding:6px 10px;width:auto;max-width:74%;}
.badge .pill.top{font-size:.8rem;}
.badge .pill.cta{font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;padding:7px 14px;
  max-width:66%;}
.badge .mid{font-size:.72rem;font-weight:700;line-height:1.35;color:#fff;padding:0 4px;
  text-shadow:0 1px 4px rgba(0,0,0,.28);}

/* ---------- Cookie bar ---------- */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;margin:0 auto;background:#fff;
  color:var(--ink);box-shadow:0 12px 50px rgba(0,0,0,.22);border-radius:14px;padding:20px 24px;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;z-index:200;font-size:.85rem;line-height:1.6;}
.cookie-bar p{margin:0;flex:1 1 320px;color:var(--muted);}
.cookie-bar .btns{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-bar button{font-size:.76rem;padding:9px 16px;border-radius:50px;cursor:pointer;font-family:inherit;
  font-weight:700;border:2px solid var(--teal);}
.cookie-bar .ghost{background:#fff;color:var(--teal);}
.cookie-bar .solid{background:var(--teal);color:#fff;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
.nav-overlay{display:none;}
@media(max-width:940px){
  .menu-toggle{display:block;}
  .nav-row{display:none;}
  .nav-row.open{display:block;position:fixed;top:0;right:0;height:100vh;width:min(340px,86vw);
    background:#fff;box-shadow:-6px 0 30px rgba(0,0,0,.15);padding:70px 18px 30px;overflow-y:auto;
    z-index:100;border-top:none;}
  .nav>ul{flex-direction:column;gap:0;width:100%;align-items:stretch;}
  .nav>ul>li>a{padding:12px 10px;border-bottom:1px solid var(--line);}
  .submenu,.submenu .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    background:var(--wash);margin:0;padding:0 0 6px 10px;min-width:0;}
  .nav .book-online>a{margin:8px 0 0;display:inline-block;}
  .nav-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90;}
  .quickband .grid{grid-template-columns:1fr 1fr;}
  .fund-logos{grid-template-columns:repeat(4,1fr);gap:22px;}
  .offer .grid,.offer .grid.flip .col-img,.feature .grid,.feature .grid.flip .col-img,
  .dentist-cards,.footer .fc-grid{grid-template-columns:1fr;}
  .offer .grid.flip .col-img,.feature .grid.flip .col-img{order:0;}
  .services .layout{grid-template-columns:1fr;}
  .tab-list{flex-direction:row;flex-wrap:wrap;gap:8px;}
  .tab-list button{border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:9px 15px;}
  .tab-list button.active{background:var(--teal);}
}
@media(max-width:560px){
  .quickband .grid{grid-template-columns:1fr;}
  .fund-logos{grid-template-columns:repeat(2,1fr);}
  .offer .col-text,.feature{padding-left:22px;padding-right:22px;}
  .offer .col-text{padding:34px 26px;}
  .badge{width:150px;height:150px;gap:5px;}
  .badge .pill.top{font-size:.66rem;}
  .badge .pill.cta{font-size:.62rem;}
  .badge .mid{font-size:.6rem;}
}

/* ============================= CARING FOR KENMORE FAMILIES ============================= */
.kenmore{position:relative;padding:78px 0 86px;overflow:hidden;
  background:linear-gradient(155deg,#FEFCFA 0%,#F8FBFC 48%,#F1F8FA 100%);}
.kenmore-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:left center;z-index:0;pointer-events:none;}
.kenmore .container{position:relative;z-index:1;}
.kenmore h2{text-align:center;font-weight:300;color:var(--ink);margin:0 0 .5em;
  font-size:clamp(1.65rem,3.4vw,2.35rem);line-height:1.2;text-wrap:balance;}
.kenmore h2 b{font-weight:800;}
.kenmore .k-sub{max-width:640px;margin:0 auto 46px;text-align:center;color:var(--muted);
  font-size:.9rem;line-height:1.7;text-wrap:balance;}

.k-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.k-card{background:rgba(255,255,255,.5);border:1px solid #BFE3EA;
  border-radius:30px 0 30px 0;padding:30px 26px 32px;text-align:center;
  display:flex;flex-direction:column;justify-content:center;}
.k-card h3{color:var(--teal);font-weight:800;font-size:1.06rem;line-height:1.34;
  margin:0 0 13px;text-wrap:balance;}
.k-card p{color:var(--muted);font-size:.855rem;line-height:1.72;margin:0;text-wrap:balance;}

.k-note{max-width:760px;margin:46px auto 0;background:rgba(255,255,255,.58);
  border:1px solid #DCE9EB;border-left:9px solid var(--teal);
  border-radius:30px 0 30px 0;padding:26px 34px 28px;}
.k-note h3{color:var(--teal);font-weight:800;font-size:1.1rem;margin:0 0 10px;}
.k-note p{color:var(--muted);font-size:.855rem;line-height:1.72;margin:0;}

@media(max-width:900px){.k-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){
  .kenmore{padding:56px 0 62px;}
  .k-grid{grid-template-columns:1fr;gap:18px;}
  .k-note{padding:24px 24px 26px;margin-top:34px;}
}

/* ---- from about-us.html ---- */

/* ==========================================================================
   PRINCETON DENTAL — homepage recreation
   Palette taken from the live site. Change these variables to re-skin.
   ========================================================================== */
:root{
  --teal:       #4E8E9A;   /* primary teal — buttons, links, accents         */
  --teal-dark:  #3C7079;   /* hover                                          */
  --teal-deep:  #2C545C;   /* dark panels: dentists, services, contact strip */
  --ink:        #333333;   /* body + heading text                            */
  --muted:      #6A7578;   /* secondary text                                 */
  --faq:        #E0F9FE;   /* FAQ section background                          */
  --wash:       #F3FAFB;   /* very light teal wash for alt sections           */
  --line:       #E2EBEC;
  --white:      #FFFFFF;
  --shadow:     0 14px 44px rgba(44,84,92,.14);
  --radius:     14px;
  --maxw:       1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:'Raleway',system-ui,-apple-system,Segoe UI,sans-serif;
  font-weight:400;line-height:1.75;color:var(--ink);background:var(--white);font-size:16px;
  letter-spacing:.01em;
}
h1,h2,h3,h4{font-family:'Raleway',sans-serif;font-weight:800;line-height:1.22;
  letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.3rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);}
h3{font-size:clamp(1.15rem,2vw,1.5rem);}
p{margin:0 0 1.1em;}
a{color:var(--teal);text-decoration:none;}
a:hover{color:var(--teal-dark);}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.site{background:#fff;overflow:hidden;}
.center{text-align:center;}
.hl{color:var(--teal);}
.thin{font-weight:400;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  font-size:.78rem;padding:14px 32px;border-radius:50px;cursor:pointer;border:2px solid transparent;
  transition:.2s ease;}
.btn-primary{background:var(--teal);color:#fff;}
/* Book Online button: top-left + bottom-right rounded, other corners square */
.btn-book{display:inline-flex;align-items:center;gap:9px;background:var(--teal);color:#fff;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;
  padding:14px 28px;border:2px solid transparent;cursor:pointer;transition:.2s ease;
  border-radius:18px 0 18px 0;}
.btn-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-book svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.hero-cta{align-self:flex-start;padding:19px 52px;font-size:.95rem;border-radius:24px 0 24px 0;margin-top:20px;}
.btn-primary:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal);}
.btn-outline:hover{background:var(--teal);color:#fff;}
.btn-light{background:#fff;color:var(--teal);}
.btn-light:hover{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep);}
.btn-white-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-white-outline:hover{background:#fff;color:var(--teal);}

/* ---------- Image placeholders ---------- */
.ph{position:relative;background:repeating-linear-gradient(45deg,#eef3f3 0 14px,#e6edee 14px 28px);
  border:1px dashed #aebdbd;border-radius:var(--radius);display:flex;align-items:center;
  justify-content:center;text-align:center;color:#6f807f;font-size:.8rem;font-weight:600;
  letter-spacing:.02em;padding:16px;min-height:120px;overflow:hidden;}
.ph span{display:block;line-height:1.5;}
.ph small{display:block;font-weight:500;opacity:.72;margin-top:4px;font-size:.72rem;}

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.topbar{background:var(--teal-deep);color:#dcedef;font-size:.85rem;}
.topbar .container{display:flex;align-items:center;gap:20px;min-height:44px;flex-wrap:wrap;}
.topbar a{color:#dcedef;}
.topbar a:hover{color:#fff;}
.tb-promo{margin-right:auto;font-weight:600;}
.tb-promo a{text-decoration:none;}
.tb-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto;}
.tb-socials{display:flex;gap:8px;}
.tb-socials a{width:26px;height:26px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;}
.tb-socials a:hover{background:#fff;color:var(--teal-deep);}
.hours-toggle{position:relative;cursor:pointer;}
.hours-panel{position:absolute;top:130%;right:0;background:#fff;color:var(--ink);
  box-shadow:var(--shadow);border-radius:10px;padding:16px 20px;width:250px;z-index:60;display:none;}
.hours-toggle:hover .hours-panel,.hours-panel:hover{display:block;}
.hours-panel h4{font-size:.95rem;margin-bottom:10px;color:var(--teal);}
.hours-panel table{width:100%;border-collapse:collapse;font-size:.8rem;}
.hours-panel td{padding:4px 0;border-bottom:1px solid var(--line);}
.hours-panel td:last-child{text-align:right;color:var(--muted);}

/* ==========================================================================
   HEADER (two rows: brand row + nav row)
   ========================================================================== */
.header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px rgba(0,0,0,.07);}
.brand-row{display:flex;align-items:center;gap:24px;padding:16px 0 10px;}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{height:46px;width:auto;display:block;}
.call-now{margin-left:auto;font-size:.9rem;color:var(--ink);font-weight:600;}
.call-now strong{color:var(--teal);}
.menu-toggle{display:none;background:none;border:2px solid var(--line);border-radius:8px;
  padding:8px 12px;font-weight:700;cursor:pointer;color:var(--ink);font-family:inherit;margin-left:auto;}

.nav-row{border-top:1px solid var(--line);}
.nav{display:flex;justify-content:center;}
.nav>ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap;justify-content:center;}
.nav>ul>li{position:relative;}
.nav>ul>li>a{display:block;padding:14px 15px;font-weight:700;font-size:.82rem;color:var(--ink);
  letter-spacing:.04em;text-transform:uppercase;}
.nav>ul>li>a:hover{color:var(--teal);}
.nav .has-sub>a::after{content:"▾";font-size:.7em;margin-left:5px;color:var(--muted);}
.submenu{position:absolute;top:100%;left:0;background:#fff;min-width:250px;box-shadow:var(--shadow);
  border-radius:10px;padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.18s ease;z-index:40;}
.nav li:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu li{position:relative;}
.submenu a{display:block;padding:9px 14px;border-radius:7px;font-size:.82rem;font-weight:600;
  color:var(--ink);text-transform:none;letter-spacing:0;}
.submenu a:hover{background:var(--wash);color:var(--teal);}
.submenu .has-sub>a::after{content:"›";float:right;color:var(--muted);}
.submenu .submenu{top:0;left:100%;margin-left:4px;}
.nav .book-online>a{background:var(--teal);color:#fff;border-radius:18px 0 18px 0;margin:6px 0 0 8px;
  padding:11px 20px;display:inline-flex;align-items:center;gap:8px;}
.nav .book-online>a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.nav .book-online>a:hover{background:var(--teal-dark);color:#fff;}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;overflow:hidden;}
.hero-bg{display:block;width:100%;height:auto;}
.hero-inner{position:absolute;inset:0;z-index:2;max-width:var(--maxw);margin:0 auto;
  padding:0 24px;display:flex;flex-direction:column;justify-content:center;}
.hero h1{color:#23383c;max-width:620px;font-size:clamp(2.4rem,5.6vw,4rem);}
.hero h1 .light{font-weight:300;display:block;font-size:.6em;letter-spacing:.01em;margin-bottom:.15em;color:#3f5457;}
.hero .btn{margin-top:12px;}

/* quick links band */
.quickband{background:linear-gradient(rgba(44,84,92,.35),rgba(44,84,92,.45)),url('images/background_banners1.jpg') center/cover;padding:56px 0;}
.quickband .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:920px;margin:0 auto;}
.quickband a{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;text-align:center;transition:.2s;}
.quickband .tile{width:136px;height:136px;background:var(--teal);border-radius:34px 0 34px 0;
  display:flex;align-items:center;justify-content:center;transition:.2s;}
.quickband a:hover .tile{background:var(--teal-dark);transform:translateY(-4px);}
.quickband .tile img{width:82px;height:82px;object-fit:contain;}
.quickband .lbl{font-size:1.05rem;font-weight:500;line-height:1.25;}
.quickband .lbl b{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}

/* tagline */
.tagline{text-align:center;max-width:640px;margin:0 auto;padding:56px 24px;font-style:italic;
  color:var(--teal);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;font-weight:500;}

/* ==========================================================================
   OFFER ROWS (image beside text)
   ========================================================================== */
.offer{padding:20px 0;}
.offer .grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
  background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.offer .col-img .ph{border-radius:0;min-height:420px;height:100%;}
.offer .col-text{padding:48px 46px;display:flex;flex-direction:column;justify-content:center;}
.offer .grid.flip .col-img{order:2;}
.offer h2 sup{color:var(--teal);font-size:.5em;}
.offer .sub{font-weight:700;color:var(--teal);margin:2px 0 20px;font-size:1.05rem;}
.offer .price{color:var(--teal);}
.offer ul{margin:0 0 20px;padding:0;list-style:none;}
.offer ul li{position:relative;padding-left:28px;margin-bottom:7px;font-size:.94rem;}
.offer ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800;}
.offer .fineprint{font-size:.74rem;color:var(--muted);margin:8px 0 22px;line-height:1.6;}
.offer .btn{align-self:flex-start;}
.offer .smile-big{font-size:clamp(2rem,4vw,2.8rem);color:var(--teal);font-weight:800;
  line-height:1.05;margin-bottom:.1em;}
.offer .smile-sub{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:.5em;}

/* ---- Gap Free offer: full-bleed photo background, text on light right side ---- */
.offer-hero{position:relative;overflow:hidden;background:#eceeef;}
.offer-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;}
.offer-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(236,238,239,0) 40%,rgba(236,238,239,.82) 58%,rgba(236,238,239,.96) 74%);}
.offer-hero .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:66px 24px;
  display:flex;justify-content:flex-end;}
.offer-content{width:min(580px,55%);color:var(--ink);}
.offer-content .t1{font-family:'Raleway',sans-serif;font-weight:700;line-height:1.02;margin:0;
  color:var(--teal);text-transform:uppercase;font-size:clamp(2.3rem,4.6vw,3.4rem);}
.offer-content .t1 sup{font-size:.5em;top:-.6em;}
/* mirrored variant: photo on the right, text on the left */
.offer-hero.flip .offer-hero-bg{object-position:right center;}
.offer-hero.flip::after{background:linear-gradient(90deg,rgba(255,255,255,.96) 26%,rgba(255,255,255,.82) 44%,rgba(255,255,255,0) 62%);}
.offer-hero.flip .inner{justify-content:flex-start;}
.offer-content .t2{font-family:'Raleway',sans-serif;font-weight:400;line-height:1.08;margin:0 0 22px;
  font-size:clamp(1.9rem,3.8vw,2.8rem);color:var(--ink);}
.offer-content .t3{font-family:'Raleway',sans-serif;font-weight:300;margin:0 0 12px;
  font-size:clamp(1.1rem,2vw,1.45rem);color:var(--ink);}
.offer-content .inc{font-family:'Open Sans',sans-serif;font-weight:400;margin:0 0 8px;color:var(--ink);}
.offer-list{list-style:none;margin:0 0 20px;padding:0;font-family:'Open Sans',sans-serif;}
.offer-list li{position:relative;padding-left:30px;margin-bottom:9px;font-size:.98rem;color:#444;}
.offer-list li::before{content:"";position:absolute;left:3px;top:6px;width:13px;height:8px;
  border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);transform:rotate(-45deg);}
.offer-content .fine{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;
  color:var(--muted);margin:0 0 26px;line-height:1.6;max-width:520px;}
.offer-book{display:block;width:100%;background:var(--teal);color:#fff;font-family:'Raleway',sans-serif;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;text-align:center;
  padding:19px 24px;border-radius:28px 0 28px 0;transition:.2s;}
.offer-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
@media(max-width:820px){
  .offer-hero-bg{position:relative;height:auto;}
  .offer-hero::after{display:none;}
  .offer-hero .inner{display:block;padding:0 0 40px;}
  .offer-content{width:100%;padding:30px 24px 0;}
  .care-inner{grid-template-columns:1fr;min-height:0;}
  .care-bg{position:relative;height:260px;}
  .care.flip .care-panel{order:2;}
  .care.flip .care-spacer{order:1;}
  .care-spacer{display:none;}
  .care-panel.br,.care-panel.tl{border-radius:0;}
  .care-panel{padding:40px 24px;}
}

/* ==========================================================================
   FEATURE ROWS (Honest Care / Straightforward Approach / Get Started)
   ========================================================================== */
.feature{padding:70px 0;}
.feature.wash{background:var(--wash);}
.feature .grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.feature .grid.flip .col-img{order:2;}
.feature .col-img .ph{min-height:380px;height:100%;border-radius:20px;}
.feature .col-text h2 .hl{display:inline;}

/* ---- Care / Straightforward: full-bleed photo with an overlaid white curved panel ---- */
.care{position:relative;overflow:hidden;background:#fff;}
.care-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;}
.care.flip .care-bg{object-position:left center;}
.care-bg.ph{border-radius:0;border:none;}
.care-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;min-height:470px;}
.care-panel{background:#fff;padding:64px clamp(28px,4.5vw,60px);display:flex;flex-direction:column;
  justify-content:center;align-items:center;}
.care-panel>*{width:100%;max-width:430px;}
/* section 1: panel left, curve cut into its bottom-right */
.care-panel.br{border-bottom-right-radius:170px;}
/* section 2: panel right, curve cut into its top-left */
.care.flip .care-panel{order:2;}
.care.flip .care-spacer{order:1;}
.care-panel.tl{border-top-left-radius:170px;}
.care-panel.tr{border-top-right-radius:170px;}
.care-spacer{}
.care-panel h2{font-family:'Raleway',sans-serif;font-weight:300;color:#23383c;line-height:1.14;
  font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.6em;}
.care-panel h2 b{font-weight:700;}
.care-panel h2 .stack{display:block;}
.care-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.94rem;max-width:430px;}
.care-panel p a{color:var(--teal);font-weight:700;}

/* ==========================================================================
   MEET THE DENTISTS (dark teal panel + white cards)
   ========================================================================== */
.dentists{padding:0 0 70px;background:#fff;}
.dentists-hero{position:relative;background:#2C545C;padding:0;color:#fff;overflow:hidden;}
.dentists-hero img.team{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;
  position:absolute;inset:0;}
.dentists-hero .overlay{position:relative;z-index:2;min-height:720px;display:flex;flex-direction:column;
  justify-content:flex-end;align-items:center;text-align:center;padding:0 24px 150px;
  background:linear-gradient(to bottom,rgba(20,45,50,0) 40%,rgba(20,45,50,.4) 56%,rgba(20,45,50,.7) 80%);}
.dentists-hero h2{color:#fff;font-weight:300;margin-bottom:.5em;text-shadow:0 2px 14px rgba(0,0,0,.35);}
.dentists-hero h2 b{font-weight:800;}
.dentists-hero p{color:#e6f1f3;max-width:660px;margin:0 auto;font-size:.94rem;
  text-shadow:0 1px 10px rgba(0,0,0,.45);}
.dentists-hero .ph{border-radius:14px;min-height:300px;max-width:640px;margin:0 auto 30px;
  background:repeating-linear-gradient(45deg,#3a656d 0 16px,#345a62 16px 32px);border-color:#4a747c;
  color:#bcd6da;}
.dentists-hero h2{color:#fff;}
.dentists-hero p{color:#d4e5e8;max-width:720px;margin:0 auto;}
.dentist-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:920px;margin:-60px auto 0;
  position:relative;z-index:2;}
.dentist-card{background:#fff;border-radius:0;box-shadow:var(--shadow);padding:32px 32px 36px;}
.dentist-card h3 small{font-weight:500;color:var(--muted);font-size:.85rem;}
.quals{background:var(--wash);border-radius:0;padding:14px 18px;margin:16px 0 20px;font-size:.85rem;}
.quals strong{display:block;margin-bottom:6px;color:var(--teal);}
.quals ul{margin:0;padding-left:18px;}

/* ==========================================================================
   OUR DENTAL SERVICES (dark teal, tabbed)
   ========================================================================== */
.services{background:url('images/img-services.jpg') center/cover;color:#fff;padding:70px 0;}
.services h2{color:#fff;font-weight:300;margin-bottom:.1em;}
.services h2 .hl{color:#fff;font-weight:800;}
.services .layout{display:grid;grid-template-columns:320px 1fr;gap:56px;margin-top:34px;}
.tab-list{display:flex;flex-direction:column;gap:4px;}
.tab-list button{background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;
  color:#e2f0f2;font-weight:600;font-size:.82rem;letter-spacing:.07em;text-transform:uppercase;
  padding:10px 0;display:flex;align-items:center;gap:10px;transition:.2s ease;
  border-bottom:1px solid transparent;align-self:flex-start;}
.tab-list button::after{content:"→";font-size:.95em;}
.tab-list button:hover{color:#fff;transform:translateX(6px);}
.tab-list button.active{color:#fff;font-weight:700;transform:translateX(18px);
  border-bottom-color:rgba(255,255,255,.85);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-panel h3{color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;font-weight:600;
  margin-bottom:.7em;}
.tab-panel p{color:#dbeaec;max-width:560px;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.tab-panel .btn-book{margin-top:14px;background:rgba(78,142,154,.85);}
.tab-panel .btn-book:hover{background:var(--teal);}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{background:var(--faq);padding:70px 0;}
.faq .head{text-align:center;margin-bottom:26px;}
.faq .head h2{color:#3f6168;font-weight:300;font-size:clamp(1.8rem,3.4vw,2.4rem);}
.acc{max-width:800px;margin:0 auto;display:flex;flex-direction:column;}
.acc-item{background:none;border-radius:0;box-shadow:none;overflow:hidden;}
.acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 0;
  font-family:inherit;font-weight:400;font-size:1.02rem;color:#3f6168;display:flex;align-items:center;
  gap:14px;}
.acc-q .qtext{flex-shrink:0;}
.acc-q .leader{flex:1;border-bottom:1px dotted #9dc2c9;height:1px;margin-top:6px;}
.acc-q:hover{color:var(--teal);}
.acc-q .ico{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;line-height:1;
  transition:.2s;}
.acc-item.open .acc-q .ico{transform:none;}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc-a-inner{padding:4px 60px 18px 22px;color:#4a5457;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.acc-item.open .acc-a{max-height:400px;}

/* ==========================================================================
   HEALTH FUNDS
   ========================================================================== */
.funds{padding:64px 0;text-align:center;background:#fff;}
.funds h2{margin-bottom:.15em;font-weight:800;}
.funds .sub{color:var(--ink);max-width:900px;margin:0 auto 40px;font-weight:400;
  font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.3;font-family:'Raleway',sans-serif;}
.fund-logos{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;align-items:center;
  justify-items:center;}
.fund-logos img{width:100%;max-width:150px;height:auto;object-fit:contain;}
.funds .note{font-size:.76rem;color:var(--muted);margin-top:26px;font-style:italic;}

/* ==========================================================================
   PAYMENT PLANS + CONTACT CTA + MAP
   ========================================================================== */
.payment{background:var(--teal);color:#fff;text-align:center;padding:46px 24px 42px;}
.payment h2{color:#fff;font-weight:300;margin-bottom:.45em;font-size:clamp(1.7rem,3.4vw,2.3rem);}
.payment .ask{color:#fff;font-weight:700;font-size:clamp(1rem,1.9vw,1.2rem);margin:0;}
.contact-cta{background:#466167;color:#fff;padding:30px 24px;}
.contact-cta .container{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center;}
.contact-cta .phone{font-size:1.45rem;font-weight:700;display:flex;align-items:center;gap:12px;}
.contact-cta .phone svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.8;}
.contact-cta .btn-book{padding:15px 60px;font-weight:400;letter-spacing:.06em;font-size:.92rem;}
.map{line-height:0;}
.map iframe{display:block;width:100%;height:400px;border:0;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:#fff;padding:58px 0;color:var(--ink);border-top:1px solid var(--line);}
.footer .fc-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start;}
.footer h2{font-size:1.4rem;}
.footer .addr{color:var(--muted);font-size:.95rem;}
.footer .addr strong{color:var(--ink);display:block;margin-top:14px;}
.footer .fc-hours h4{color:var(--teal);margin-bottom:8px;}
.footer .fc-hours table{width:100%;border-collapse:collapse;font-size:.88rem;max-width:360px;}
.footer .fc-hours td{padding:7px 0;border-bottom:1px solid var(--line);}
.footer .fc-hours td:last-child{text-align:right;color:var(--muted);}
.footer-bottom{background:#000;margin-top:0;padding:18px 0;border-top:none;}
.footer-bottom .container{max-width:1440px;}
.fb-grid{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:start;}
.fb-addr{margin:0;font-size:.76rem;line-height:1.65;color:#fff;font-weight:700;}
.fb-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.fb-email{display:flex;align-items:center;gap:10px;}
.fb-email .email-link{font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.04em;
  width:auto;height:auto;background:none;border-radius:0;text-decoration:underline;}
.fb-email .email-link:hover{color:#bcd6da;}
.fb-email a{width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  border-radius:4px;background:#fff;color:#000;font-size:.68rem;font-weight:800;}
.fb-email a.fb{background:#1877F2;color:#fff;border-radius:50%;}
.fb-email a.x{background:#000;color:#fff;border:1px solid #555;}
.fb-email a.em{background:#9aa0a6;color:#fff;}
.footer-links{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0;font-size:.74rem;
  align-items:center;}
.footer-links li:not(:last-child)::after{content:"|";color:#fff;margin:0 8px;text-decoration:none;
  display:inline-block;}
.footer-links a{color:#fff;text-decoration:underline;}
.footer-links a:hover{color:#bcd6da;}
.smile-credit{text-align:right;font-size:.74rem;color:#fff;padding:0;margin:0;}

/* ---------- Floating offer badge ---------- */
.badge{position:fixed;right:18px;bottom:18px;width:186px;height:186px;border-radius:50%;
  background:url('images/stickybutton-2025.png') center/cover no-repeat;
  box-shadow:0 10px 30px rgba(0,0,0,.28);z-index:150;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:0 8px;gap:8px;color:#fff;transition:transform .2s ease;overflow:hidden;}
.badge:hover{transform:scale(1.05);color:#fff;}
.badge .pill{background:#fff;color:#1b2a32;font-weight:700;line-height:1.2;border-radius:7px;
  padding:6px 10px;width:auto;max-width:74%;}
.badge .pill.top{font-size:.8rem;}
.badge .pill.cta{font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;padding:7px 14px;
  max-width:66%;}
.badge .mid{font-size:.72rem;font-weight:700;line-height:1.35;color:#fff;padding:0 4px;
  text-shadow:0 1px 4px rgba(0,0,0,.28);}

/* ---------- Cookie bar ---------- */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;margin:0 auto;background:#fff;
  color:var(--ink);box-shadow:0 12px 50px rgba(0,0,0,.22);border-radius:14px;padding:20px 24px;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;z-index:200;font-size:.85rem;line-height:1.6;}
.cookie-bar p{margin:0;flex:1 1 320px;color:var(--muted);}
.cookie-bar .btns{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-bar button{font-size:.76rem;padding:9px 16px;border-radius:50px;cursor:pointer;font-family:inherit;
  font-weight:700;border:2px solid var(--teal);}
.cookie-bar .ghost{background:#fff;color:var(--teal);}
.cookie-bar .solid{background:var(--teal);color:#fff;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
.nav-overlay{display:none;}
@media(max-width:940px){
  .menu-toggle{display:block;}
  .nav-row{display:none;}
  .nav-row.open{display:block;position:fixed;top:0;right:0;height:100vh;width:min(340px,86vw);
    background:#fff;box-shadow:-6px 0 30px rgba(0,0,0,.15);padding:70px 18px 30px;overflow-y:auto;
    z-index:100;border-top:none;}
  .nav>ul{flex-direction:column;gap:0;width:100%;align-items:stretch;}
  .nav>ul>li>a{padding:12px 10px;border-bottom:1px solid var(--line);}
  .submenu,.submenu .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    background:var(--wash);margin:0;padding:0 0 6px 10px;min-width:0;}
  .nav .book-online>a{margin:8px 0 0;display:inline-block;}
  .nav-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90;}
  .quickband .grid{grid-template-columns:1fr 1fr;}
  .fund-logos{grid-template-columns:repeat(4,1fr);gap:22px;}
  .offer .grid,.offer .grid.flip .col-img,.feature .grid,.feature .grid.flip .col-img,
  .dentist-cards,.footer .fc-grid{grid-template-columns:1fr;}
  .offer .grid.flip .col-img,.feature .grid.flip .col-img{order:0;}
  .services .layout{grid-template-columns:1fr;}
  .tab-list{flex-direction:row;flex-wrap:wrap;gap:8px;}
  .tab-list button{border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:9px 15px;}
  .tab-list button.active{background:var(--teal);}
}
@media(max-width:560px){
  .quickband .grid{grid-template-columns:1fr;}
  .fund-logos{grid-template-columns:repeat(2,1fr);}
  .offer .col-text,.feature{padding-left:22px;padding-right:22px;}
  .offer .col-text{padding:34px 26px;}
  .badge{width:150px;height:150px;gap:5px;}
  .badge .pill.top{font-size:.66rem;}
  .badge .pill.cta{font-size:.62rem;}
  .badge .mid{font-size:.6rem;}
}

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
:root{--green:#16922F;}
.page-head{padding:52px 0 10px;}
.page-head h1{font-weight:300;color:#3a4a4e;font-size:clamp(2rem,4.4vw,3rem);margin:0;}

.about-intro{padding:26px 0 60px;}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.ai-text h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.5em;}
.ai-text h2.mt{margin-top:1.6em;}
.ai-text p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.ai-text p a{color:var(--teal);font-weight:600;}
.pullquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:1rem;line-height:1.7;}
.ai-text .btn-book{margin:6px 0 4px;}
.ai-img .ph{min-height:400px;border-radius:60px 0 60px 0;}
.ai-img img{width:100%;height:auto;display:block;border-radius:60px 0 60px 0;}

.approach{position:relative;padding:0 24px 60px;}
.approach-bg{display:block;width:100%;max-width:1180px;height:auto;margin:0 auto;}
.approach .container{position:relative;z-index:2;}
.approach-panel{background:rgba(255,255,255,.95);padding:34px 40px 8px;
  max-width:900px;margin:-40px auto 0;}
.approach-panel h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.6em;}
.approach-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.approach-panel p a{color:var(--teal);font-weight:700;}

.about-cols{padding:20px 0 40px;}
.ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.ac-left h2,.ac-right h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.4vw,1.7rem);
  margin-bottom:.5em;}
.ac-left h2 .plus{color:var(--teal);font-weight:400;}
.ac-left p,.ac-right p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;}
.ac-left p a,.ac-right p a{color:var(--teal);font-weight:700;}
.ac-right{background:#F1F1F1;padding:30px 34px;}

.page-foot{padding:26px 0 54px;text-align:center;}
.diamond-rule{position:relative;height:14px;margin-bottom:34px;}
.diamond-rule::before{content:"";position:absolute;top:50%;left:0;right:0;height:0;
  border-top:2px dotted #bcd9c4;}
.diamond-rule .diamond{position:absolute;left:50%;top:50%;width:13px;height:13px;
  background:var(--green);transform:translate(-50%,-50%) rotate(45deg);}
.page-foot-title{font-weight:300;color:#3a4a4e;font-size:clamp(1.1rem,2.2vw,1.45rem);margin:0;}

@media(max-width:820px){
  .ai-grid,.ac-grid{grid-template-columns:1fr;gap:32px;}
  .ai-img .ph,.ai-img img{border-radius:0;min-height:280px;}
  .approach-bg{height:auto;}
  .approach-panel{padding:26px 22px 4px;margin:-40px auto 0;max-width:100%;}
}


/* ---- from blog.html ---- */

/* ==========================================================================
   PRINCETON DENTAL — homepage recreation
   Palette taken from the live site. Change these variables to re-skin.
   ========================================================================== */
:root{
  --teal:       #4E8E9A;   /* primary teal — buttons, links, accents         */
  --teal-dark:  #3C7079;   /* hover                                          */
  --teal-deep:  #2C545C;   /* dark panels: dentists, services, contact strip */
  --ink:        #333333;   /* body + heading text                            */
  --muted:      #6A7578;   /* secondary text                                 */
  --faq:        #E0F9FE;   /* FAQ section background                          */
  --wash:       #F3FAFB;   /* very light teal wash for alt sections           */
  --line:       #E2EBEC;
  --white:      #FFFFFF;
  --shadow:     0 14px 44px rgba(44,84,92,.14);
  --radius:     14px;
  --maxw:       1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:'Raleway',system-ui,-apple-system,Segoe UI,sans-serif;
  font-weight:400;line-height:1.75;color:var(--ink);background:var(--white);font-size:16px;
  letter-spacing:.01em;
}
h1,h2,h3,h4{font-family:'Raleway',sans-serif;font-weight:800;line-height:1.22;
  letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.3rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);}
h3{font-size:clamp(1.15rem,2vw,1.5rem);}
p{margin:0 0 1.1em;}
a{color:var(--teal);text-decoration:none;}
a:hover{color:var(--teal-dark);}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.site{background:#fff;overflow:hidden;}
.center{text-align:center;}
.hl{color:var(--teal);}
.thin{font-weight:400;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  font-size:.78rem;padding:14px 32px;border-radius:50px;cursor:pointer;border:2px solid transparent;
  transition:.2s ease;}
.btn-primary{background:var(--teal);color:#fff;}
/* Book Online button: top-left + bottom-right rounded, other corners square */
.btn-book{display:inline-flex;align-items:center;gap:9px;background:var(--teal);color:#fff;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;
  padding:14px 28px;border:2px solid transparent;cursor:pointer;transition:.2s ease;
  border-radius:18px 0 18px 0;}
.btn-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-book svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.hero-cta{align-self:flex-start;padding:19px 52px;font-size:.95rem;border-radius:24px 0 24px 0;margin-top:20px;}
.btn-primary:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal);}
.btn-outline:hover{background:var(--teal);color:#fff;}
.btn-light{background:#fff;color:var(--teal);}
.btn-light:hover{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep);}
.btn-white-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-white-outline:hover{background:#fff;color:var(--teal);}

/* ---------- Image placeholders ---------- */
.ph{position:relative;background:repeating-linear-gradient(45deg,#eef3f3 0 14px,#e6edee 14px 28px);
  border:1px dashed #aebdbd;border-radius:var(--radius);display:flex;align-items:center;
  justify-content:center;text-align:center;color:#6f807f;font-size:.8rem;font-weight:600;
  letter-spacing:.02em;padding:16px;min-height:120px;overflow:hidden;}
.ph span{display:block;line-height:1.5;}
.ph small{display:block;font-weight:500;opacity:.72;margin-top:4px;font-size:.72rem;}

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.topbar{background:var(--teal-deep);color:#dcedef;font-size:.85rem;}
.topbar .container{display:flex;align-items:center;gap:20px;min-height:44px;flex-wrap:wrap;}
.topbar a{color:#dcedef;}
.topbar a:hover{color:#fff;}
.tb-promo{margin-right:auto;font-weight:600;}
.tb-promo a{text-decoration:none;}
.tb-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto;}
.tb-socials{display:flex;gap:8px;}
.tb-socials a{width:26px;height:26px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;}
.tb-socials a:hover{background:#fff;color:var(--teal-deep);}
.hours-toggle{position:relative;cursor:pointer;}
.hours-panel{position:absolute;top:130%;right:0;background:#fff;color:var(--ink);
  box-shadow:var(--shadow);border-radius:10px;padding:16px 20px;width:250px;z-index:60;display:none;}
.hours-toggle:hover .hours-panel,.hours-panel:hover{display:block;}
.hours-panel h4{font-size:.95rem;margin-bottom:10px;color:var(--teal);}
.hours-panel table{width:100%;border-collapse:collapse;font-size:.8rem;}
.hours-panel td{padding:4px 0;border-bottom:1px solid var(--line);}
.hours-panel td:last-child{text-align:right;color:var(--muted);}

/* ==========================================================================
   HEADER (two rows: brand row + nav row)
   ========================================================================== */
.header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px rgba(0,0,0,.07);}
.brand-row{display:flex;align-items:center;gap:24px;padding:16px 0 10px;}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{height:46px;width:auto;display:block;}
.call-now{margin-left:auto;font-size:.9rem;color:var(--ink);font-weight:600;}
.call-now strong{color:var(--teal);}
.menu-toggle{display:none;background:none;border:2px solid var(--line);border-radius:8px;
  padding:8px 12px;font-weight:700;cursor:pointer;color:var(--ink);font-family:inherit;margin-left:auto;}

.nav-row{border-top:1px solid var(--line);}
.nav{display:flex;justify-content:center;}
.nav>ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap;justify-content:center;}
.nav>ul>li{position:relative;}
.nav>ul>li>a{display:block;padding:14px 15px;font-weight:700;font-size:.82rem;color:var(--ink);
  letter-spacing:.04em;text-transform:uppercase;}
.nav>ul>li>a:hover{color:var(--teal);}
.nav .has-sub>a::after{content:"▾";font-size:.7em;margin-left:5px;color:var(--muted);}
.submenu{position:absolute;top:100%;left:0;background:#fff;min-width:250px;box-shadow:var(--shadow);
  border-radius:10px;padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.18s ease;z-index:40;}
.nav li:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu li{position:relative;}
.submenu a{display:block;padding:9px 14px;border-radius:7px;font-size:.82rem;font-weight:600;
  color:var(--ink);text-transform:none;letter-spacing:0;}
.submenu a:hover{background:var(--wash);color:var(--teal);}
.submenu .has-sub>a::after{content:"›";float:right;color:var(--muted);}
.submenu .submenu{top:0;left:100%;margin-left:4px;}
.nav .book-online>a{background:var(--teal);color:#fff;border-radius:18px 0 18px 0;margin:6px 0 0 8px;
  padding:11px 20px;display:inline-flex;align-items:center;gap:8px;}
.nav .book-online>a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.nav .book-online>a:hover{background:var(--teal-dark);color:#fff;}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;overflow:hidden;}
.hero-bg{display:block;width:100%;height:auto;}
.hero-inner{position:absolute;inset:0;z-index:2;max-width:var(--maxw);margin:0 auto;
  padding:0 24px;display:flex;flex-direction:column;justify-content:center;}
.hero h1{color:#23383c;max-width:620px;font-size:clamp(2.4rem,5.6vw,4rem);}
.hero h1 .light{font-weight:300;display:block;font-size:.6em;letter-spacing:.01em;margin-bottom:.15em;color:#3f5457;}
.hero .btn{margin-top:12px;}

/* quick links band */
.quickband{background:linear-gradient(rgba(44,84,92,.35),rgba(44,84,92,.45)),url('images/background_banners1.jpg') center/cover;padding:56px 0;}
.quickband .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:920px;margin:0 auto;}
.quickband a{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;text-align:center;transition:.2s;}
.quickband .tile{width:136px;height:136px;background:var(--teal);border-radius:34px 0 34px 0;
  display:flex;align-items:center;justify-content:center;transition:.2s;}
.quickband a:hover .tile{background:var(--teal-dark);transform:translateY(-4px);}
.quickband .tile img{width:82px;height:82px;object-fit:contain;}
.quickband .lbl{font-size:1.05rem;font-weight:500;line-height:1.25;}
.quickband .lbl b{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}

/* tagline */
.tagline{text-align:center;max-width:640px;margin:0 auto;padding:56px 24px;font-style:italic;
  color:var(--teal);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;font-weight:500;}

/* ==========================================================================
   OFFER ROWS (image beside text)
   ========================================================================== */
.offer{padding:20px 0;}
.offer .grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
  background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.offer .col-img .ph{border-radius:0;min-height:420px;height:100%;}
.offer .col-text{padding:48px 46px;display:flex;flex-direction:column;justify-content:center;}
.offer .grid.flip .col-img{order:2;}
.offer h2 sup{color:var(--teal);font-size:.5em;}
.offer .sub{font-weight:700;color:var(--teal);margin:2px 0 20px;font-size:1.05rem;}
.offer .price{color:var(--teal);}
.offer ul{margin:0 0 20px;padding:0;list-style:none;}
.offer ul li{position:relative;padding-left:28px;margin-bottom:7px;font-size:.94rem;}
.offer ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800;}
.offer .fineprint{font-size:.74rem;color:var(--muted);margin:8px 0 22px;line-height:1.6;}
.offer .btn{align-self:flex-start;}
.offer .smile-big{font-size:clamp(2rem,4vw,2.8rem);color:var(--teal);font-weight:800;
  line-height:1.05;margin-bottom:.1em;}
.offer .smile-sub{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:.5em;}

/* ---- Gap Free offer: full-bleed photo background, text on light right side ---- */
.offer-hero{position:relative;overflow:hidden;background:#eceeef;}
.offer-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;}
.offer-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(236,238,239,0) 40%,rgba(236,238,239,.82) 58%,rgba(236,238,239,.96) 74%);}
.offer-hero .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:66px 24px;
  display:flex;justify-content:flex-end;}
.offer-content{width:min(580px,55%);color:var(--ink);}
.offer-content .t1{font-family:'Raleway',sans-serif;font-weight:700;line-height:1.02;margin:0;
  color:var(--teal);text-transform:uppercase;font-size:clamp(2.3rem,4.6vw,3.4rem);}
.offer-content .t1 sup{font-size:.5em;top:-.6em;}
/* mirrored variant: photo on the right, text on the left */
.offer-hero.flip .offer-hero-bg{object-position:right center;}
.offer-hero.flip::after{background:linear-gradient(90deg,rgba(255,255,255,.96) 26%,rgba(255,255,255,.82) 44%,rgba(255,255,255,0) 62%);}
.offer-hero.flip .inner{justify-content:flex-start;}
.offer-content .t2{font-family:'Raleway',sans-serif;font-weight:400;line-height:1.08;margin:0 0 22px;
  font-size:clamp(1.9rem,3.8vw,2.8rem);color:var(--ink);}
.offer-content .t3{font-family:'Raleway',sans-serif;font-weight:300;margin:0 0 12px;
  font-size:clamp(1.1rem,2vw,1.45rem);color:var(--ink);}
.offer-content .inc{font-family:'Open Sans',sans-serif;font-weight:400;margin:0 0 8px;color:var(--ink);}
.offer-list{list-style:none;margin:0 0 20px;padding:0;font-family:'Open Sans',sans-serif;}
.offer-list li{position:relative;padding-left:30px;margin-bottom:9px;font-size:.98rem;color:#444;}
.offer-list li::before{content:"";position:absolute;left:3px;top:6px;width:13px;height:8px;
  border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);transform:rotate(-45deg);}
.offer-content .fine{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;
  color:var(--muted);margin:0 0 26px;line-height:1.6;max-width:520px;}
.offer-book{display:block;width:100%;background:var(--teal);color:#fff;font-family:'Raleway',sans-serif;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;text-align:center;
  padding:19px 24px;border-radius:28px 0 28px 0;transition:.2s;}
.offer-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
@media(max-width:820px){
  .offer-hero-bg{position:relative;height:auto;}
  .offer-hero::after{display:none;}
  .offer-hero .inner{display:block;padding:0 0 40px;}
  .offer-content{width:100%;padding:30px 24px 0;}
  .care-inner{grid-template-columns:1fr;min-height:0;}
  .care-bg{position:relative;height:260px;}
  .care.flip .care-panel{order:2;}
  .care.flip .care-spacer{order:1;}
  .care-spacer{display:none;}
  .care-panel.br,.care-panel.tl{border-radius:0;}
  .care-panel{padding:40px 24px;}
}

/* ==========================================================================
   FEATURE ROWS (Honest Care / Straightforward Approach / Get Started)
   ========================================================================== */
.feature{padding:70px 0;}
.feature.wash{background:var(--wash);}
.feature .grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.feature .grid.flip .col-img{order:2;}
.feature .col-img .ph{min-height:380px;height:100%;border-radius:20px;}
.feature .col-text h2 .hl{display:inline;}

/* ---- Care / Straightforward: full-bleed photo with an overlaid white curved panel ---- */
.care{position:relative;overflow:hidden;background:#fff;}
.care-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;}
.care.flip .care-bg{object-position:left center;}
.care-bg.ph{border-radius:0;border:none;}
.care-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;min-height:470px;}
.care-panel{background:#fff;padding:64px clamp(28px,4.5vw,60px);display:flex;flex-direction:column;
  justify-content:center;align-items:center;}
.care-panel>*{width:100%;max-width:430px;}
/* section 1: panel left, curve cut into its bottom-right */
.care-panel.br{border-bottom-right-radius:170px;}
/* section 2: panel right, curve cut into its top-left */
.care.flip .care-panel{order:2;}
.care.flip .care-spacer{order:1;}
.care-panel.tl{border-top-left-radius:170px;}
.care-panel.tr{border-top-right-radius:170px;}
.care-spacer{}
.care-panel h2{font-family:'Raleway',sans-serif;font-weight:300;color:#23383c;line-height:1.14;
  font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.6em;}
.care-panel h2 b{font-weight:700;}
.care-panel h2 .stack{display:block;}
.care-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.94rem;max-width:430px;}
.care-panel p a{color:var(--teal);font-weight:700;}

/* ==========================================================================
   MEET THE DENTISTS (dark teal panel + white cards)
   ========================================================================== */
.dentists{padding:0 0 70px;background:#fff;}
.dentists-hero{position:relative;background:#2C545C;padding:0;color:#fff;overflow:hidden;}
.dentists-hero img.team{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;
  position:absolute;inset:0;}
.dentists-hero .overlay{position:relative;z-index:2;min-height:720px;display:flex;flex-direction:column;
  justify-content:flex-end;align-items:center;text-align:center;padding:0 24px 150px;
  background:linear-gradient(to bottom,rgba(20,45,50,0) 40%,rgba(20,45,50,.4) 56%,rgba(20,45,50,.7) 80%);}
.dentists-hero h2{color:#fff;font-weight:300;margin-bottom:.5em;text-shadow:0 2px 14px rgba(0,0,0,.35);}
.dentists-hero h2 b{font-weight:800;}
.dentists-hero p{color:#e6f1f3;max-width:660px;margin:0 auto;font-size:.94rem;
  text-shadow:0 1px 10px rgba(0,0,0,.45);}
.dentists-hero .ph{border-radius:14px;min-height:300px;max-width:640px;margin:0 auto 30px;
  background:repeating-linear-gradient(45deg,#3a656d 0 16px,#345a62 16px 32px);border-color:#4a747c;
  color:#bcd6da;}
.dentists-hero h2{color:#fff;}
.dentists-hero p{color:#d4e5e8;max-width:720px;margin:0 auto;}
.dentist-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:920px;margin:-60px auto 0;
  position:relative;z-index:2;}
.dentist-card{background:#fff;border-radius:0;box-shadow:var(--shadow);padding:32px 32px 36px;}
.dentist-card h3 small{font-weight:500;color:var(--muted);font-size:.85rem;}
.quals{background:var(--wash);border-radius:0;padding:14px 18px;margin:16px 0 20px;font-size:.85rem;}
.quals strong{display:block;margin-bottom:6px;color:var(--teal);}
.quals ul{margin:0;padding-left:18px;}

/* ==========================================================================
   OUR DENTAL SERVICES (dark teal, tabbed)
   ========================================================================== */
.services{background:url('images/img-services.jpg') center/cover;color:#fff;padding:70px 0;}
.services h2{color:#fff;font-weight:300;margin-bottom:.1em;}
.services h2 .hl{color:#fff;font-weight:800;}
.services .layout{display:grid;grid-template-columns:320px 1fr;gap:56px;margin-top:34px;}
.tab-list{display:flex;flex-direction:column;gap:4px;}
.tab-list button{background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;
  color:#e2f0f2;font-weight:600;font-size:.82rem;letter-spacing:.07em;text-transform:uppercase;
  padding:10px 0;display:flex;align-items:center;gap:10px;transition:.2s ease;
  border-bottom:1px solid transparent;align-self:flex-start;}
.tab-list button::after{content:"→";font-size:.95em;}
.tab-list button:hover{color:#fff;transform:translateX(6px);}
.tab-list button.active{color:#fff;font-weight:700;transform:translateX(18px);
  border-bottom-color:rgba(255,255,255,.85);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-panel h3{color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;font-weight:600;
  margin-bottom:.7em;}
.tab-panel p{color:#dbeaec;max-width:560px;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.tab-panel .btn-book{margin-top:14px;background:rgba(78,142,154,.85);}
.tab-panel .btn-book:hover{background:var(--teal);}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{background:var(--faq);padding:70px 0;}
.faq .head{text-align:center;margin-bottom:26px;}
.faq .head h2{color:#3f6168;font-weight:300;font-size:clamp(1.8rem,3.4vw,2.4rem);}
.acc{max-width:800px;margin:0 auto;display:flex;flex-direction:column;}
.acc-item{background:none;border-radius:0;box-shadow:none;overflow:hidden;}
.acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 0;
  font-family:inherit;font-weight:400;font-size:1.02rem;color:#3f6168;display:flex;align-items:center;
  gap:14px;}
.acc-q .qtext{flex-shrink:0;}
.acc-q .leader{flex:1;border-bottom:1px dotted #9dc2c9;height:1px;margin-top:6px;}
.acc-q:hover{color:var(--teal);}
.acc-q .ico{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;line-height:1;
  transition:.2s;}
.acc-item.open .acc-q .ico{transform:none;}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc-a-inner{padding:4px 60px 18px 22px;color:#4a5457;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.acc-item.open .acc-a{max-height:400px;}

/* ==========================================================================
   HEALTH FUNDS
   ========================================================================== */
.funds{padding:64px 0;text-align:center;background:#fff;}
.funds h2{margin-bottom:.15em;font-weight:800;}
.funds .sub{color:var(--ink);max-width:900px;margin:0 auto 40px;font-weight:400;
  font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.3;font-family:'Raleway',sans-serif;}
.fund-logos{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;align-items:center;
  justify-items:center;}
.fund-logos img{width:100%;max-width:150px;height:auto;object-fit:contain;}
.funds .note{font-size:.76rem;color:var(--muted);margin-top:26px;font-style:italic;}

/* ==========================================================================
   PAYMENT PLANS + CONTACT CTA + MAP
   ========================================================================== */
.payment{background:var(--teal);color:#fff;text-align:center;padding:46px 24px 42px;}
.payment h2{color:#fff;font-weight:300;margin-bottom:.45em;font-size:clamp(1.7rem,3.4vw,2.3rem);}
.payment .ask{color:#fff;font-weight:700;font-size:clamp(1rem,1.9vw,1.2rem);margin:0;}
.contact-cta{background:#466167;color:#fff;padding:30px 24px;}
.contact-cta .container{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center;}
.contact-cta .phone{font-size:1.45rem;font-weight:700;display:flex;align-items:center;gap:12px;}
.contact-cta .phone svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.8;}
.contact-cta .btn-book{padding:15px 60px;font-weight:400;letter-spacing:.06em;font-size:.92rem;}
.map{line-height:0;}
.map iframe{display:block;width:100%;height:400px;border:0;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:#fff;padding:58px 0;color:var(--ink);border-top:1px solid var(--line);}
.footer .fc-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start;}
.footer h2{font-size:1.4rem;}
.footer .addr{color:var(--muted);font-size:.95rem;}
.footer .addr strong{color:var(--ink);display:block;margin-top:14px;}
.footer .fc-hours h4{color:var(--teal);margin-bottom:8px;}
.footer .fc-hours table{width:100%;border-collapse:collapse;font-size:.88rem;max-width:360px;}
.footer .fc-hours td{padding:7px 0;border-bottom:1px solid var(--line);}
.footer .fc-hours td:last-child{text-align:right;color:var(--muted);}
.footer-bottom{background:#000;margin-top:0;padding:18px 0;border-top:none;}
.footer-bottom .container{max-width:1440px;}
.fb-grid{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:start;}
.fb-addr{margin:0;font-size:.76rem;line-height:1.65;color:#fff;font-weight:700;}
.fb-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.fb-email{display:flex;align-items:center;gap:10px;}
.fb-email .email-link{font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.04em;
  width:auto;height:auto;background:none;border-radius:0;text-decoration:underline;}
.fb-email .email-link:hover{color:#bcd6da;}
.fb-email a{width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  border-radius:4px;background:#fff;color:#000;font-size:.68rem;font-weight:800;}
.fb-email a.fb{background:#1877F2;color:#fff;border-radius:50%;}
.fb-email a.x{background:#000;color:#fff;border:1px solid #555;}
.fb-email a.em{background:#9aa0a6;color:#fff;}
.footer-links{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0;font-size:.74rem;
  align-items:center;}
.footer-links li:not(:last-child)::after{content:"|";color:#fff;margin:0 8px;text-decoration:none;
  display:inline-block;}
.footer-links a{color:#fff;text-decoration:underline;}
.footer-links a:hover{color:#bcd6da;}
.smile-credit{text-align:right;font-size:.74rem;color:#fff;padding:0;margin:0;}

/* ---------- Floating offer badge ---------- */
.badge{position:fixed;right:18px;bottom:18px;width:186px;height:186px;border-radius:50%;
  background:url('images/stickybutton-2025.png') center/cover no-repeat;
  box-shadow:0 10px 30px rgba(0,0,0,.28);z-index:150;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:0 8px;gap:8px;color:#fff;transition:transform .2s ease;overflow:hidden;}
.badge:hover{transform:scale(1.05);color:#fff;}
.badge .pill{background:#fff;color:#1b2a32;font-weight:700;line-height:1.2;border-radius:7px;
  padding:6px 10px;width:auto;max-width:74%;}
.badge .pill.top{font-size:.8rem;}
.badge .pill.cta{font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;padding:7px 14px;
  max-width:66%;}
.badge .mid{font-size:.72rem;font-weight:700;line-height:1.35;color:#fff;padding:0 4px;
  text-shadow:0 1px 4px rgba(0,0,0,.28);}

/* ---------- Cookie bar ---------- */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;margin:0 auto;background:#fff;
  color:var(--ink);box-shadow:0 12px 50px rgba(0,0,0,.22);border-radius:14px;padding:20px 24px;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;z-index:200;font-size:.85rem;line-height:1.6;}
.cookie-bar p{margin:0;flex:1 1 320px;color:var(--muted);}
.cookie-bar .btns{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-bar button{font-size:.76rem;padding:9px 16px;border-radius:50px;cursor:pointer;font-family:inherit;
  font-weight:700;border:2px solid var(--teal);}
.cookie-bar .ghost{background:#fff;color:var(--teal);}
.cookie-bar .solid{background:var(--teal);color:#fff;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
.nav-overlay{display:none;}
@media(max-width:940px){
  .menu-toggle{display:block;}
  .nav-row{display:none;}
  .nav-row.open{display:block;position:fixed;top:0;right:0;height:100vh;width:min(340px,86vw);
    background:#fff;box-shadow:-6px 0 30px rgba(0,0,0,.15);padding:70px 18px 30px;overflow-y:auto;
    z-index:100;border-top:none;}
  .nav>ul{flex-direction:column;gap:0;width:100%;align-items:stretch;}
  .nav>ul>li>a{padding:12px 10px;border-bottom:1px solid var(--line);}
  .submenu,.submenu .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    background:var(--wash);margin:0;padding:0 0 6px 10px;min-width:0;}
  .nav .book-online>a{margin:8px 0 0;display:inline-block;}
  .nav-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90;}
  .quickband .grid{grid-template-columns:1fr 1fr;}
  .fund-logos{grid-template-columns:repeat(4,1fr);gap:22px;}
  .offer .grid,.offer .grid.flip .col-img,.feature .grid,.feature .grid.flip .col-img,
  .dentist-cards,.footer .fc-grid{grid-template-columns:1fr;}
  .offer .grid.flip .col-img,.feature .grid.flip .col-img{order:0;}
  .services .layout{grid-template-columns:1fr;}
  .tab-list{flex-direction:row;flex-wrap:wrap;gap:8px;}
  .tab-list button{border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:9px 15px;}
  .tab-list button.active{background:var(--teal);}
}
@media(max-width:560px){
  .quickband .grid{grid-template-columns:1fr;}
  .fund-logos{grid-template-columns:repeat(2,1fr);}
  .offer .col-text,.feature{padding-left:22px;padding-right:22px;}
  .offer .col-text{padding:34px 26px;}
  .badge{width:150px;height:150px;gap:5px;}
  .badge .pill.top{font-size:.66rem;}
  .badge .pill.cta{font-size:.62rem;}
  .badge .mid{font-size:.6rem;}
}

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
:root{--green:#16922F;}
.page-head{padding:52px 0 10px;}
.page-head h1{font-weight:300;color:#3a4a4e;font-size:clamp(2rem,4.4vw,3rem);margin:0;}

.about-intro{padding:26px 0 60px;}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.ai-text h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.5em;}
.ai-text h2.mt{margin-top:1.6em;}
.ai-text p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.ai-text p a{color:var(--teal);font-weight:600;}
.pullquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:1rem;line-height:1.7;}
.ai-text .btn-book{margin:6px 0 4px;}
.ai-img .ph{min-height:400px;border-radius:60px 0 60px 0;}
.ai-img img{width:100%;height:auto;display:block;border-radius:60px 0 60px 0;}

.approach{position:relative;padding:0 24px 60px;}
.approach-bg{display:block;width:100%;max-width:1180px;height:auto;margin:0 auto;}
.approach .container{position:relative;z-index:2;}
.approach-panel{background:rgba(255,255,255,.95);padding:34px 40px 8px;
  max-width:900px;margin:-40px auto 0;}
.approach-panel h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.6em;}
.approach-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.approach-panel p a{color:var(--teal);font-weight:700;}

.about-cols{padding:20px 0 40px;}
.ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.ac-left h2,.ac-right h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.4vw,1.7rem);
  margin-bottom:.5em;}
.ac-left h2 .plus{color:var(--teal);font-weight:400;}
.ac-left p,.ac-right p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;}
.ac-left p a,.ac-right p a{color:var(--teal);font-weight:700;}
.ac-right{background:#F1F1F1;padding:30px 34px;}

.page-foot{padding:26px 0 54px;text-align:center;}
.diamond-rule{position:relative;height:14px;margin-bottom:34px;}
.diamond-rule::before{content:"";position:absolute;top:50%;left:0;right:0;height:0;
  border-top:2px dotted #bcd9c4;}
.diamond-rule .diamond{position:absolute;left:50%;top:50%;width:13px;height:13px;
  background:var(--green);transform:translate(-50%,-50%) rotate(45deg);}
.page-foot-title{font-weight:300;color:#3a4a4e;font-size:clamp(1.1rem,2.2vw,1.45rem);margin:0;}

@media(max-width:820px){
  .ai-grid,.ac-grid{grid-template-columns:1fr;gap:32px;}
  .ai-img .ph,.ai-img img{border-radius:0;min-height:280px;}
  .approach-bg{height:auto;}
  .approach-panel{padding:26px 22px 4px;margin:-40px auto 0;max-width:100%;}
}



/* ==========================================================================
   BLOG INDEX
   ========================================================================== */
.blog-head{padding:44px 0 0;text-align:center;}
.blog-head h1{font-weight:300;color:#4a4a4a;font-size:clamp(1.8rem,4vw,2.6rem);margin:0 0 .3em;}
.blog-sub{font-family:'Raleway',sans-serif;font-weight:400;color:#4a4a4a;
  font-size:clamp(1rem,2vw,1.25rem);margin:0;}

.blog-latest{padding:0;}
.blog-latest .container{border-top:1px dotted #cfcfcf;border-bottom:1px dotted #cfcfcf;
  padding-top:26px;padding-bottom:26px;margin-top:22px;}

.entry{display:flex;gap:26px;align-items:flex-start;}
.thumb{flex-shrink:0;width:104px;border:1px solid #ddd;padding:5px;background:#fff;}
.thumb.lg{width:150px;}
.thumb .ph{min-height:96px;border-radius:0;font-size:.62rem;}
.thumb.lg .ph{min-height:142px;}
.thumb img{width:100%;height:auto;display:block;}
.entry-body{flex:1;}
.badge-latest{display:inline-block;border:1px solid #ccc;padding:6px 14px;font-size:.72rem;
  font-weight:600;letter-spacing:.04em;color:#555;margin-bottom:14px;}
.entry h2{font-weight:300;font-size:clamp(1.15rem,2.3vw,1.55rem);line-height:1.28;margin:0 0 2px;}
.entry h2 a{color:#3c4a55;}
.entry h2 a:hover{color:#4169b7;}
.pub{font-family:'Open Sans',sans-serif;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;
  color:#8b8b8b;margin:0 0 10px;font-weight:600;}
.pub span{color:#6f93a8;}
.ex{font-family:'Open Sans',sans-serif;color:#4a4a4a;font-size:.87rem;line-height:1.6;margin:0 0 12px;}
.cont{font-family:'Open Sans',sans-serif;font-size:.83rem;font-weight:700;color:#4169b7;}
.cont:hover{color:#2f519a;}

.blog-body{padding:26px 0 50px;}
.bb-grid{display:grid;grid-template-columns:1fr 250px;gap:56px;align-items:start;}
.posts .entry{padding-bottom:30px;margin-bottom:30px;}
.posts .entry + .entry{border-top:1px dotted transparent;}

.blog-side h3{font-weight:700;color:#16333f;font-size:1.05rem;margin:0 0 12px;}
.blog-side ul{list-style:none;margin:0;padding:0;}
.blog-side li{border-bottom:1px solid #ddd;}
.blog-side li:first-child{border-top:1px solid #ddd;}
.blog-side li a{display:block;padding:11px 0;font-family:'Open Sans',sans-serif;font-size:.83rem;
  line-height:1.45;color:#4169b7;}
.blog-side li a:hover{color:#2f519a;}

@media(max-width:820px){
  .bb-grid{grid-template-columns:1fr;gap:34px;}
  .entry{gap:16px;}
  .thumb{width:84px;}
  .thumb.lg{width:110px;}
}


/* ---- from contact-us.html ---- */

/* ==========================================================================
   PRINCETON DENTAL — homepage recreation
   Palette taken from the live site. Change these variables to re-skin.
   ========================================================================== */
:root{
  --teal:       #4E8E9A;   /* primary teal — buttons, links, accents         */
  --teal-dark:  #3C7079;   /* hover                                          */
  --teal-deep:  #2C545C;   /* dark panels: dentists, services, contact strip */
  --ink:        #333333;   /* body + heading text                            */
  --muted:      #6A7578;   /* secondary text                                 */
  --faq:        #E0F9FE;   /* FAQ section background                          */
  --wash:       #F3FAFB;   /* very light teal wash for alt sections           */
  --line:       #E2EBEC;
  --white:      #FFFFFF;
  --shadow:     0 14px 44px rgba(44,84,92,.14);
  --radius:     14px;
  --maxw:       1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:'Raleway',system-ui,-apple-system,Segoe UI,sans-serif;
  font-weight:400;line-height:1.75;color:var(--ink);background:var(--white);font-size:16px;
  letter-spacing:.01em;
}
h1,h2,h3,h4{font-family:'Raleway',sans-serif;font-weight:800;line-height:1.22;
  letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.3rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);}
h3{font-size:clamp(1.15rem,2vw,1.5rem);}
p{margin:0 0 1.1em;}
a{color:var(--teal);text-decoration:none;}
a:hover{color:var(--teal-dark);}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.site{background:#fff;overflow:hidden;}
.center{text-align:center;}
.hl{color:var(--teal);}
.thin{font-weight:400;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  font-size:.78rem;padding:14px 32px;border-radius:50px;cursor:pointer;border:2px solid transparent;
  transition:.2s ease;}
.btn-primary{background:var(--teal);color:#fff;}
/* Book Online button: top-left + bottom-right rounded, other corners square */
.btn-book{display:inline-flex;align-items:center;gap:9px;background:var(--teal);color:#fff;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;
  padding:14px 28px;border:2px solid transparent;cursor:pointer;transition:.2s ease;
  border-radius:18px 0 18px 0;}
.btn-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-book svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.hero-cta{align-self:flex-start;padding:19px 52px;font-size:.95rem;border-radius:24px 0 24px 0;margin-top:20px;}
.btn-primary:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal);}
.btn-outline:hover{background:var(--teal);color:#fff;}
.btn-light{background:#fff;color:var(--teal);}
.btn-light:hover{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep);}
.btn-white-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-white-outline:hover{background:#fff;color:var(--teal);}

/* ---------- Image placeholders ---------- */
.ph{position:relative;background:repeating-linear-gradient(45deg,#eef3f3 0 14px,#e6edee 14px 28px);
  border:1px dashed #aebdbd;border-radius:var(--radius);display:flex;align-items:center;
  justify-content:center;text-align:center;color:#6f807f;font-size:.8rem;font-weight:600;
  letter-spacing:.02em;padding:16px;min-height:120px;overflow:hidden;}
.ph span{display:block;line-height:1.5;}
.ph small{display:block;font-weight:500;opacity:.72;margin-top:4px;font-size:.72rem;}

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.topbar{background:var(--teal-deep);color:#dcedef;font-size:.85rem;}
.topbar .container{display:flex;align-items:center;gap:20px;min-height:44px;flex-wrap:wrap;}
.topbar a{color:#dcedef;}
.topbar a:hover{color:#fff;}
.tb-promo{margin-right:auto;font-weight:600;}
.tb-promo a{text-decoration:none;}
.tb-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto;}
.tb-socials{display:flex;gap:8px;}
.tb-socials a{width:26px;height:26px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;}
.tb-socials a:hover{background:#fff;color:var(--teal-deep);}
.hours-toggle{position:relative;cursor:pointer;}
.hours-panel{position:absolute;top:130%;right:0;background:#fff;color:var(--ink);
  box-shadow:var(--shadow);border-radius:10px;padding:16px 20px;width:250px;z-index:60;display:none;}
.hours-toggle:hover .hours-panel,.hours-panel:hover{display:block;}
.hours-panel h4{font-size:.95rem;margin-bottom:10px;color:var(--teal);}
.hours-panel table{width:100%;border-collapse:collapse;font-size:.8rem;}
.hours-panel td{padding:4px 0;border-bottom:1px solid var(--line);}
.hours-panel td:last-child{text-align:right;color:var(--muted);}

/* ==========================================================================
   HEADER (two rows: brand row + nav row)
   ========================================================================== */
.header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px rgba(0,0,0,.07);}
.brand-row{display:flex;align-items:center;gap:24px;padding:16px 0 10px;}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{height:46px;width:auto;display:block;}
.call-now{margin-left:auto;font-size:.9rem;color:var(--ink);font-weight:600;}
.call-now strong{color:var(--teal);}
.menu-toggle{display:none;background:none;border:2px solid var(--line);border-radius:8px;
  padding:8px 12px;font-weight:700;cursor:pointer;color:var(--ink);font-family:inherit;margin-left:auto;}

.nav-row{border-top:1px solid var(--line);}
.nav{display:flex;justify-content:center;}
.nav>ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap;justify-content:center;}
.nav>ul>li{position:relative;}
.nav>ul>li>a{display:block;padding:14px 15px;font-weight:700;font-size:.82rem;color:var(--ink);
  letter-spacing:.04em;text-transform:uppercase;}
.nav>ul>li>a:hover{color:var(--teal);}
.nav .has-sub>a::after{content:"▾";font-size:.7em;margin-left:5px;color:var(--muted);}
.submenu{position:absolute;top:100%;left:0;background:#fff;min-width:250px;box-shadow:var(--shadow);
  border-radius:10px;padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.18s ease;z-index:40;}
.nav li:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu li{position:relative;}
.submenu a{display:block;padding:9px 14px;border-radius:7px;font-size:.82rem;font-weight:600;
  color:var(--ink);text-transform:none;letter-spacing:0;}
.submenu a:hover{background:var(--wash);color:var(--teal);}
.submenu .has-sub>a::after{content:"›";float:right;color:var(--muted);}
.submenu .submenu{top:0;left:100%;margin-left:4px;}
.nav .book-online>a{background:var(--teal);color:#fff;border-radius:18px 0 18px 0;margin:6px 0 0 8px;
  padding:11px 20px;display:inline-flex;align-items:center;gap:8px;}
.nav .book-online>a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.nav .book-online>a:hover{background:var(--teal-dark);color:#fff;}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;overflow:hidden;}
.hero-bg{display:block;width:100%;height:auto;}
.hero-inner{position:absolute;inset:0;z-index:2;max-width:var(--maxw);margin:0 auto;
  padding:0 24px;display:flex;flex-direction:column;justify-content:center;}
.hero h1{color:#23383c;max-width:620px;font-size:clamp(2.4rem,5.6vw,4rem);}
.hero h1 .light{font-weight:300;display:block;font-size:.6em;letter-spacing:.01em;margin-bottom:.15em;color:#3f5457;}
.hero .btn{margin-top:12px;}

/* quick links band */
.quickband{background:linear-gradient(rgba(44,84,92,.35),rgba(44,84,92,.45)),url('images/background_banners1.jpg') center/cover;padding:56px 0;}
.quickband .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:920px;margin:0 auto;}
.quickband a{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;text-align:center;transition:.2s;}
.quickband .tile{width:136px;height:136px;background:var(--teal);border-radius:34px 0 34px 0;
  display:flex;align-items:center;justify-content:center;transition:.2s;}
.quickband a:hover .tile{background:var(--teal-dark);transform:translateY(-4px);}
.quickband .tile img{width:82px;height:82px;object-fit:contain;}
.quickband .lbl{font-size:1.05rem;font-weight:500;line-height:1.25;}
.quickband .lbl b{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}

/* tagline */
.tagline{text-align:center;max-width:640px;margin:0 auto;padding:56px 24px;font-style:italic;
  color:var(--teal);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;font-weight:500;}

/* ==========================================================================
   OFFER ROWS (image beside text)
   ========================================================================== */
.offer{padding:20px 0;}
.offer .grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
  background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.offer .col-img .ph{border-radius:0;min-height:420px;height:100%;}
.offer .col-text{padding:48px 46px;display:flex;flex-direction:column;justify-content:center;}
.offer .grid.flip .col-img{order:2;}
.offer h2 sup{color:var(--teal);font-size:.5em;}
.offer .sub{font-weight:700;color:var(--teal);margin:2px 0 20px;font-size:1.05rem;}
.offer .price{color:var(--teal);}
.offer ul{margin:0 0 20px;padding:0;list-style:none;}
.offer ul li{position:relative;padding-left:28px;margin-bottom:7px;font-size:.94rem;}
.offer ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800;}
.offer .fineprint{font-size:.74rem;color:var(--muted);margin:8px 0 22px;line-height:1.6;}
.offer .btn{align-self:flex-start;}
.offer .smile-big{font-size:clamp(2rem,4vw,2.8rem);color:var(--teal);font-weight:800;
  line-height:1.05;margin-bottom:.1em;}
.offer .smile-sub{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:.5em;}

/* ---- Gap Free offer: full-bleed photo background, text on light right side ---- */
.offer-hero{position:relative;overflow:hidden;background:#eceeef;}
.offer-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;}
.offer-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(236,238,239,0) 40%,rgba(236,238,239,.82) 58%,rgba(236,238,239,.96) 74%);}
.offer-hero .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:66px 24px;
  display:flex;justify-content:flex-end;}
.offer-content{width:min(580px,55%);color:var(--ink);}
.offer-content .t1{font-family:'Raleway',sans-serif;font-weight:700;line-height:1.02;margin:0;
  color:var(--teal);text-transform:uppercase;font-size:clamp(2.3rem,4.6vw,3.4rem);}
.offer-content .t1 sup{font-size:.5em;top:-.6em;}
/* mirrored variant: photo on the right, text on the left */
.offer-hero.flip .offer-hero-bg{object-position:right center;}
.offer-hero.flip::after{background:linear-gradient(90deg,rgba(255,255,255,.96) 26%,rgba(255,255,255,.82) 44%,rgba(255,255,255,0) 62%);}
.offer-hero.flip .inner{justify-content:flex-start;}
.offer-content .t2{font-family:'Raleway',sans-serif;font-weight:400;line-height:1.08;margin:0 0 22px;
  font-size:clamp(1.9rem,3.8vw,2.8rem);color:var(--ink);}
.offer-content .t3{font-family:'Raleway',sans-serif;font-weight:300;margin:0 0 12px;
  font-size:clamp(1.1rem,2vw,1.45rem);color:var(--ink);}
.offer-content .inc{font-family:'Open Sans',sans-serif;font-weight:400;margin:0 0 8px;color:var(--ink);}
.offer-list{list-style:none;margin:0 0 20px;padding:0;font-family:'Open Sans',sans-serif;}
.offer-list li{position:relative;padding-left:30px;margin-bottom:9px;font-size:.98rem;color:#444;}
.offer-list li::before{content:"";position:absolute;left:3px;top:6px;width:13px;height:8px;
  border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);transform:rotate(-45deg);}
.offer-content .fine{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;
  color:var(--muted);margin:0 0 26px;line-height:1.6;max-width:520px;}
.offer-book{display:block;width:100%;background:var(--teal);color:#fff;font-family:'Raleway',sans-serif;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;text-align:center;
  padding:19px 24px;border-radius:28px 0 28px 0;transition:.2s;}
.offer-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
@media(max-width:820px){
  .offer-hero-bg{position:relative;height:auto;}
  .offer-hero::after{display:none;}
  .offer-hero .inner{display:block;padding:0 0 40px;}
  .offer-content{width:100%;padding:30px 24px 0;}
  .care-inner{grid-template-columns:1fr;min-height:0;}
  .care-bg{position:relative;height:260px;}
  .care.flip .care-panel{order:2;}
  .care.flip .care-spacer{order:1;}
  .care-spacer{display:none;}
  .care-panel.br,.care-panel.tl{border-radius:0;}
  .care-panel{padding:40px 24px;}
}

/* ==========================================================================
   FEATURE ROWS (Honest Care / Straightforward Approach / Get Started)
   ========================================================================== */
.feature{padding:70px 0;}
.feature.wash{background:var(--wash);}
.feature .grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.feature .grid.flip .col-img{order:2;}
.feature .col-img .ph{min-height:380px;height:100%;border-radius:20px;}
.feature .col-text h2 .hl{display:inline;}

/* ---- Care / Straightforward: full-bleed photo with an overlaid white curved panel ---- */
.care{position:relative;overflow:hidden;background:#fff;}
.care-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;}
.care.flip .care-bg{object-position:left center;}
.care-bg.ph{border-radius:0;border:none;}
.care-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;min-height:470px;}
.care-panel{background:#fff;padding:64px clamp(28px,4.5vw,60px);display:flex;flex-direction:column;
  justify-content:center;align-items:center;}
.care-panel>*{width:100%;max-width:430px;}
/* section 1: panel left, curve cut into its bottom-right */
.care-panel.br{border-bottom-right-radius:170px;}
/* section 2: panel right, curve cut into its top-left */
.care.flip .care-panel{order:2;}
.care.flip .care-spacer{order:1;}
.care-panel.tl{border-top-left-radius:170px;}
.care-panel.tr{border-top-right-radius:170px;}
.care-spacer{}
.care-panel h2{font-family:'Raleway',sans-serif;font-weight:300;color:#23383c;line-height:1.14;
  font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.6em;}
.care-panel h2 b{font-weight:700;}
.care-panel h2 .stack{display:block;}
.care-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.94rem;max-width:430px;}
.care-panel p a{color:var(--teal);font-weight:700;}

/* ==========================================================================
   MEET THE DENTISTS (dark teal panel + white cards)
   ========================================================================== */
.dentists{padding:0 0 70px;background:#fff;}
.dentists-hero{position:relative;background:#2C545C;padding:0;color:#fff;overflow:hidden;}
.dentists-hero img.team{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;
  position:absolute;inset:0;}
.dentists-hero .overlay{position:relative;z-index:2;min-height:720px;display:flex;flex-direction:column;
  justify-content:flex-end;align-items:center;text-align:center;padding:0 24px 150px;
  background:linear-gradient(to bottom,rgba(20,45,50,0) 40%,rgba(20,45,50,.4) 56%,rgba(20,45,50,.7) 80%);}
.dentists-hero h2{color:#fff;font-weight:300;margin-bottom:.5em;text-shadow:0 2px 14px rgba(0,0,0,.35);}
.dentists-hero h2 b{font-weight:800;}
.dentists-hero p{color:#e6f1f3;max-width:660px;margin:0 auto;font-size:.94rem;
  text-shadow:0 1px 10px rgba(0,0,0,.45);}
.dentists-hero .ph{border-radius:14px;min-height:300px;max-width:640px;margin:0 auto 30px;
  background:repeating-linear-gradient(45deg,#3a656d 0 16px,#345a62 16px 32px);border-color:#4a747c;
  color:#bcd6da;}
.dentists-hero h2{color:#fff;}
.dentists-hero p{color:#d4e5e8;max-width:720px;margin:0 auto;}
.dentist-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:920px;margin:-60px auto 0;
  position:relative;z-index:2;}
.dentist-card{background:#fff;border-radius:0;box-shadow:var(--shadow);padding:32px 32px 36px;}
.dentist-card h3 small{font-weight:500;color:var(--muted);font-size:.85rem;}
.quals{background:var(--wash);border-radius:0;padding:14px 18px;margin:16px 0 20px;font-size:.85rem;}
.quals strong{display:block;margin-bottom:6px;color:var(--teal);}
.quals ul{margin:0;padding-left:18px;}

/* ==========================================================================
   OUR DENTAL SERVICES (dark teal, tabbed)
   ========================================================================== */
.services{background:url('images/img-services.jpg') center/cover;color:#fff;padding:70px 0;}
.services h2{color:#fff;font-weight:300;margin-bottom:.1em;}
.services h2 .hl{color:#fff;font-weight:800;}
.services .layout{display:grid;grid-template-columns:320px 1fr;gap:56px;margin-top:34px;}
.tab-list{display:flex;flex-direction:column;gap:4px;}
.tab-list button{background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;
  color:#e2f0f2;font-weight:600;font-size:.82rem;letter-spacing:.07em;text-transform:uppercase;
  padding:10px 0;display:flex;align-items:center;gap:10px;transition:.2s ease;
  border-bottom:1px solid transparent;align-self:flex-start;}
.tab-list button::after{content:"→";font-size:.95em;}
.tab-list button:hover{color:#fff;transform:translateX(6px);}
.tab-list button.active{color:#fff;font-weight:700;transform:translateX(18px);
  border-bottom-color:rgba(255,255,255,.85);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-panel h3{color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;font-weight:600;
  margin-bottom:.7em;}
.tab-panel p{color:#dbeaec;max-width:560px;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.tab-panel .btn-book{margin-top:14px;background:rgba(78,142,154,.85);}
.tab-panel .btn-book:hover{background:var(--teal);}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{background:var(--faq);padding:70px 0;}
.faq .head{text-align:center;margin-bottom:26px;}
.faq .head h2{color:#3f6168;font-weight:300;font-size:clamp(1.8rem,3.4vw,2.4rem);}
.acc{max-width:800px;margin:0 auto;display:flex;flex-direction:column;}
.acc-item{background:none;border-radius:0;box-shadow:none;overflow:hidden;}
.acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 0;
  font-family:inherit;font-weight:400;font-size:1.02rem;color:#3f6168;display:flex;align-items:center;
  gap:14px;}
.acc-q .qtext{flex-shrink:0;}
.acc-q .leader{flex:1;border-bottom:1px dotted #9dc2c9;height:1px;margin-top:6px;}
.acc-q:hover{color:var(--teal);}
.acc-q .ico{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;line-height:1;
  transition:.2s;}
.acc-item.open .acc-q .ico{transform:none;}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc-a-inner{padding:4px 60px 18px 22px;color:#4a5457;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.acc-item.open .acc-a{max-height:400px;}

/* ==========================================================================
   HEALTH FUNDS
   ========================================================================== */
.funds{padding:64px 0;text-align:center;background:#fff;}
.funds h2{margin-bottom:.15em;font-weight:800;}
.funds .sub{color:var(--ink);max-width:900px;margin:0 auto 40px;font-weight:400;
  font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.3;font-family:'Raleway',sans-serif;}
.fund-logos{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;align-items:center;
  justify-items:center;}
.fund-logos img{width:100%;max-width:150px;height:auto;object-fit:contain;}
.funds .note{font-size:.76rem;color:var(--muted);margin-top:26px;font-style:italic;}

/* ==========================================================================
   PAYMENT PLANS + CONTACT CTA + MAP
   ========================================================================== */
.payment{background:var(--teal);color:#fff;text-align:center;padding:46px 24px 42px;}
.payment h2{color:#fff;font-weight:300;margin-bottom:.45em;font-size:clamp(1.7rem,3.4vw,2.3rem);}
.payment .ask{color:#fff;font-weight:700;font-size:clamp(1rem,1.9vw,1.2rem);margin:0;}
.contact-cta{background:#466167;color:#fff;padding:30px 24px;}
.contact-cta .container{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center;}
.contact-cta .phone{font-size:1.45rem;font-weight:700;display:flex;align-items:center;gap:12px;}
.contact-cta .phone svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.8;}
.contact-cta .btn-book{padding:15px 60px;font-weight:400;letter-spacing:.06em;font-size:.92rem;}
.map{line-height:0;}
.map iframe{display:block;width:100%;height:400px;border:0;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:#fff;padding:58px 0;color:var(--ink);border-top:1px solid var(--line);}
.footer .fc-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start;}
.footer h2{font-size:1.4rem;}
.footer .addr{color:var(--muted);font-size:.95rem;}
.footer .addr strong{color:var(--ink);display:block;margin-top:14px;}
.footer .fc-hours h4{color:var(--teal);margin-bottom:8px;}
.footer .fc-hours table{width:100%;border-collapse:collapse;font-size:.88rem;max-width:360px;}
.footer .fc-hours td{padding:7px 0;border-bottom:1px solid var(--line);}
.footer .fc-hours td:last-child{text-align:right;color:var(--muted);}
.footer-bottom{background:#000;margin-top:0;padding:18px 0;border-top:none;}
.footer-bottom .container{max-width:1440px;}
.fb-grid{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:start;}
.fb-addr{margin:0;font-size:.76rem;line-height:1.65;color:#fff;font-weight:700;}
.fb-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.fb-email{display:flex;align-items:center;gap:10px;}
.fb-email .email-link{font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.04em;
  width:auto;height:auto;background:none;border-radius:0;text-decoration:underline;}
.fb-email .email-link:hover{color:#bcd6da;}
.fb-email a{width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  border-radius:4px;background:#fff;color:#000;font-size:.68rem;font-weight:800;}
.fb-email a.fb{background:#1877F2;color:#fff;border-radius:50%;}
.fb-email a.x{background:#000;color:#fff;border:1px solid #555;}
.fb-email a.em{background:#9aa0a6;color:#fff;}
.footer-links{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0;font-size:.74rem;
  align-items:center;}
.footer-links li:not(:last-child)::after{content:"|";color:#fff;margin:0 8px;text-decoration:none;
  display:inline-block;}
.footer-links a{color:#fff;text-decoration:underline;}
.footer-links a:hover{color:#bcd6da;}
.smile-credit{text-align:right;font-size:.74rem;color:#fff;padding:0;margin:0;}

/* ---------- Floating offer badge ---------- */
.badge{position:fixed;right:18px;bottom:18px;width:186px;height:186px;border-radius:50%;
  background:url('images/stickybutton-2025.png') center/cover no-repeat;
  box-shadow:0 10px 30px rgba(0,0,0,.28);z-index:150;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:0 8px;gap:8px;color:#fff;transition:transform .2s ease;overflow:hidden;}
.badge:hover{transform:scale(1.05);color:#fff;}
.badge .pill{background:#fff;color:#1b2a32;font-weight:700;line-height:1.2;border-radius:7px;
  padding:6px 10px;width:auto;max-width:74%;}
.badge .pill.top{font-size:.8rem;}
.badge .pill.cta{font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;padding:7px 14px;
  max-width:66%;}
.badge .mid{font-size:.72rem;font-weight:700;line-height:1.35;color:#fff;padding:0 4px;
  text-shadow:0 1px 4px rgba(0,0,0,.28);}

/* ---------- Cookie bar ---------- */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;margin:0 auto;background:#fff;
  color:var(--ink);box-shadow:0 12px 50px rgba(0,0,0,.22);border-radius:14px;padding:20px 24px;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;z-index:200;font-size:.85rem;line-height:1.6;}
.cookie-bar p{margin:0;flex:1 1 320px;color:var(--muted);}
.cookie-bar .btns{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-bar button{font-size:.76rem;padding:9px 16px;border-radius:50px;cursor:pointer;font-family:inherit;
  font-weight:700;border:2px solid var(--teal);}
.cookie-bar .ghost{background:#fff;color:var(--teal);}
.cookie-bar .solid{background:var(--teal);color:#fff;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
.nav-overlay{display:none;}
@media(max-width:940px){
  .menu-toggle{display:block;}
  .nav-row{display:none;}
  .nav-row.open{display:block;position:fixed;top:0;right:0;height:100vh;width:min(340px,86vw);
    background:#fff;box-shadow:-6px 0 30px rgba(0,0,0,.15);padding:70px 18px 30px;overflow-y:auto;
    z-index:100;border-top:none;}
  .nav>ul{flex-direction:column;gap:0;width:100%;align-items:stretch;}
  .nav>ul>li>a{padding:12px 10px;border-bottom:1px solid var(--line);}
  .submenu,.submenu .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    background:var(--wash);margin:0;padding:0 0 6px 10px;min-width:0;}
  .nav .book-online>a{margin:8px 0 0;display:inline-block;}
  .nav-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90;}
  .quickband .grid{grid-template-columns:1fr 1fr;}
  .fund-logos{grid-template-columns:repeat(4,1fr);gap:22px;}
  .offer .grid,.offer .grid.flip .col-img,.feature .grid,.feature .grid.flip .col-img,
  .dentist-cards,.footer .fc-grid{grid-template-columns:1fr;}
  .offer .grid.flip .col-img,.feature .grid.flip .col-img{order:0;}
  .services .layout{grid-template-columns:1fr;}
  .tab-list{flex-direction:row;flex-wrap:wrap;gap:8px;}
  .tab-list button{border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:9px 15px;}
  .tab-list button.active{background:var(--teal);}
}
@media(max-width:560px){
  .quickband .grid{grid-template-columns:1fr;}
  .fund-logos{grid-template-columns:repeat(2,1fr);}
  .offer .col-text,.feature{padding-left:22px;padding-right:22px;}
  .offer .col-text{padding:34px 26px;}
  .badge{width:150px;height:150px;gap:5px;}
  .badge .pill.top{font-size:.66rem;}
  .badge .pill.cta{font-size:.62rem;}
  .badge .mid{font-size:.6rem;}
}

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
:root{--green:#16922F;}
.page-head{padding:52px 0 10px;}
.page-head h1{font-weight:300;color:#3a4a4e;font-size:clamp(2rem,4.4vw,3rem);margin:0;}

.about-intro{padding:26px 0 60px;}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.ai-text h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.5em;}
.ai-text h2.mt{margin-top:1.6em;}
.ai-text p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.ai-text p a{color:var(--teal);font-weight:600;}
.pullquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:1rem;line-height:1.7;}
.ai-text .btn-book{margin:6px 0 4px;}
.ai-img .ph{min-height:400px;border-radius:60px 0 60px 0;}
.ai-img img{width:100%;height:auto;display:block;border-radius:60px 0 60px 0;}

.approach{position:relative;padding:0 24px 60px;}
.approach-bg{display:block;width:100%;max-width:1180px;height:auto;margin:0 auto;}
.approach .container{position:relative;z-index:2;}
.approach-panel{background:rgba(255,255,255,.95);padding:34px 40px 8px;
  max-width:900px;margin:-40px auto 0;}
.approach-panel h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.6em;}
.approach-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.approach-panel p a{color:var(--teal);font-weight:700;}

.about-cols{padding:20px 0 40px;}
.ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.ac-left h2,.ac-right h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.4vw,1.7rem);
  margin-bottom:.5em;}
.ac-left h2 .plus{color:var(--teal);font-weight:400;}
.ac-left p,.ac-right p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;}
.ac-left p a,.ac-right p a{color:var(--teal);font-weight:700;}
.ac-right{background:#F1F1F1;padding:30px 34px;}

.page-foot{padding:26px 0 54px;text-align:center;}
.diamond-rule{position:relative;height:14px;margin-bottom:34px;}
.diamond-rule::before{content:"";position:absolute;top:50%;left:0;right:0;height:0;
  border-top:2px dotted #bcd9c4;}
.diamond-rule .diamond{position:absolute;left:50%;top:50%;width:13px;height:13px;
  background:var(--green);transform:translate(-50%,-50%) rotate(45deg);}
.page-foot-title{font-weight:300;color:#3a4a4e;font-size:clamp(1.1rem,2.2vw,1.45rem);margin:0;}

@media(max-width:820px){
  .ai-grid,.ac-grid{grid-template-columns:1fr;gap:32px;}
  .ai-img .ph,.ai-img img{border-radius:0;min-height:280px;}
  .approach-bg{height:auto;}
  .approach-panel{padding:26px 22px 4px;margin:-40px auto 0;max-width:100%;}
}


/* ==========================================================================
   SERVICE DETAIL PAGES (v2: check&clean / children / emergency)
   ========================================================================== */
.svc2-intro{padding:44px 0 22px;overflow:hidden;}
.svc2-intro h1{font-weight:300;color:#4a4a4a;font-size:clamp(1.9rem,4vw,2.6rem);margin:0 0 18px;}
.svc2-photo{float:right;width:390px;max-width:46%;height:auto;margin:6px 0 20px 42px;
  border-radius:36px 0 36px 0;display:block;}
.svc2{padding:0 0 10px;}
.svc2 p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;line-height:1.7;margin:0 0 14px;}
.svc2 p a{color:var(--teal);font-weight:700;}
.svc2 strong{color:var(--teal);}
.svc2 .pullquote{margin:14px 0 20px;padding:4px 0 4px 18px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:.96rem;line-height:1.7;}
.svc2 .pullquote strong{color:var(--teal);font-style:italic;}
.svc2 .btn-book{margin:6px 0 14px;}
.svc2 h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.6vw,1.75rem);margin:1.4em 0 .4em;}
.svc2 h2 .plus{color:var(--teal);font-weight:400;margin-right:4px;}
.svc2-2col{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:6px 0 0;}
.svc2-2col p{margin-bottom:12px;}

/* full-bleed info banner */
.svc2-banner{position:relative;overflow:hidden;margin:30px 0;min-height:300px;display:flex;align-items:center;}
.svc2-banner-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.svc2-banner::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(226,238,243,.95) 0%,rgba(226,238,243,.82) 44%,rgba(226,238,243,.3) 72%,rgba(226,238,243,.05) 100%);}
.svc2-banner .inner{position:relative;z-index:2;max-width:760px;margin:0 auto;padding:34px 24px;width:100%;}
.svc2-banner h2{margin-top:0;}

/* white FAQ accordion */
.svc2-faqhead{font-weight:300;color:#3a4a4e;font-size:clamp(1.4rem,2.7vw,1.85rem);margin:1.6em 0 .6em;}
.svc2-acc{display:flex;flex-direction:column;}
.svc2-acc .acc-item{border-bottom:1px solid #e2e2e2;}
.svc2-acc .acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:15px 0;
  font-family:'Open Sans',sans-serif;font-weight:700;font-size:.92rem;color:#3a4a4e;display:flex;
  justify-content:space-between;align-items:center;gap:16px;}
.svc2-acc .acc-q:hover{color:var(--teal);}
.svc2-acc .acc-q .ico{flex-shrink:0;width:20px;height:20px;border:1px solid #b9c4c7;color:#7b8588;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.95rem;line-height:1;}
.svc2-acc .acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.svc2-acc .acc-a-inner{padding:0 0 16px;color:#4a5457;font-family:'Open Sans',sans-serif;font-size:.9rem;line-height:1.7;}
.svc2-acc .acc-item.open .acc-a{max-height:500px;}

/* two-box row (fissure text + schedule box) */
.svc2-tworow{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;margin:28px 0 0;}
.svc2-tworow h2{margin-top:0;}
.svc2-tworow p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.9rem;line-height:1.7;margin:0 0 12px;}
.svc2-greybox{background:#EDEDED;padding:30px 34px;}
.svc2-greybox h2{margin:0 0 .5em;color:#3a4a4e;font-weight:300;font-size:clamp(1.25rem,2.4vw,1.6rem);}
.svc2-greybox .btn-book{margin-top:4px;}

/* CTA box */
.svc2-cta{padding:16px 0 26px;}
.svc2-ctabox{background:#EDEDED;padding:36px 40px;}
.svc2-ctabox h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.6vw,1.75rem);margin:0 0 .5em;}
.svc2-ctabox p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;margin:0 0 12px;}
.svc2-ctabox p a{color:var(--teal);font-weight:700;}
.svc2-ctabox strong{color:var(--teal);}
.svc2-disclaimer{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;color:#7b8588;
  line-height:1.6;margin:22px 0 0;}

/* CDBS family offer band */
.cdbs-band{position:relative;overflow:hidden;background:#EDEFF1;min-height:430px;margin:30px 0;
  display:flex;align-items:center;}
.cdbs-band-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;z-index:0;}
.cdbs-band .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:40px 24px;width:100%;}
.cdbs-band .box{max-width:540px;}
.cdbs-band .t1{font-family:'Raleway',sans-serif;font-weight:300;color:#333;line-height:1.05;
  font-size:clamp(1.9rem,4vw,2.7rem);margin:0 0 .1em;}
.cdbs-band .t1 strong{font-weight:800;}
.cdbs-band .lead{font-family:'Raleway',sans-serif;font-weight:300;color:#3a3a3a;margin:0 0 12px;
  font-size:clamp(1.2rem,2.4vw,1.6rem);}
.cdbs-band p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;margin:0 0 10px;}
.cdbs-band ul{list-style:none;margin:0 0 12px;padding:0;font-family:'Open Sans',sans-serif;}
.cdbs-band li{position:relative;padding-left:28px;margin-bottom:8px;color:#4a5457;font-size:.92rem;}
.cdbs-band li::before{content:"";position:absolute;left:2px;top:5px;width:12px;height:7px;
  border-left:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(-45deg);}
.cdbs-band .btn-book{margin:6px 0 8px;}

@media(max-width:760px){
  .svc2-photo{float:none;width:100%;max-width:340px;margin:0 0 20px;}
  .svc2-2col,.svc2-tworow{grid-template-columns:1fr;gap:20px;}
  .svc2-banner-bg{position:relative;height:220px;}
  .svc2-banner{display:block;min-height:0;}
  .svc2-banner::after{display:none;}
  .svc2-banner .inner{padding:24px 22px;}
  .cdbs-band-bg{position:relative;height:230px;}
  .cdbs-band{display:block;min-height:0;}
  .cdbs-band .inner{padding:26px 22px;}
}


/* ==========================================================================
   DIAMOND BULLET LISTS — used on Sedation Dentistry
   ========================================================================== */
.svc2 .dlist{list-style:none;margin:6px 0 16px;padding:0;font-family:'Open Sans',sans-serif;}
.svc2 .dlist li{position:relative;padding-left:26px;margin-bottom:9px;
  color:#4a5457;font-size:.92rem;line-height:1.7;}
.svc2 .dlist li::before{content:"";position:absolute;left:4px;top:8px;width:9px;height:9px;
  background:var(--green);transform:rotate(45deg);}
.svc2 .dlist li a{color:var(--teal);font-weight:700;}
.svc2 .dlist li strong{color:var(--teal);}
.svc2 .dlist.indent{padding-left:22px;}
.svc2 .lead-in{margin-bottom:6px;}

/* ==========================================================================
   RESTORATIVE HUB — bordered service cards
   ========================================================================== */
.rest-cards{display:flex;flex-direction:column;gap:16px;margin:20px 0 24px;}
.rest-card{background:#fff;border:1px solid #E4E4E4;padding:26px 30px;
  display:grid;grid-template-columns:186px 1fr;gap:30px;align-items:start;}
.rest-card .rc-img{width:186px;height:186px;object-fit:cover;display:block;
  border-radius:24px 0 24px 0;}
.rest-card h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.25rem,2.4vw,1.6rem);
  margin:0 0 .45em;}
.rest-card p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;
  line-height:1.7;margin:0 0 13px;}
.rest-card p:last-child{margin-bottom:0;}
.rest-card p a{color:var(--teal);font-weight:700;}
.rest-card strong{color:var(--teal);}
@media(max-width:700px){
  .rest-card{grid-template-columns:1fr;gap:18px;padding:22px 22px;}
  .rest-card .rc-img{width:100%;max-width:260px;height:auto;aspect-ratio:1/1;}
}

/* ==========================================================================
   SERVICE DETAIL PAGES — root canal / fillings / dentures
   ========================================================================== */
/* green "+" prefix on section headings */
.svc2 h2 .plus{color:var(--green);font-weight:400;margin-right:6px;}

/* small uppercase inline "learn more" link */
.svc2 .learnlink{display:inline-block;font-family:'Open Sans',sans-serif;font-weight:700;
  font-size:.8rem;letter-spacing:.03em;text-transform:uppercase;color:var(--teal);margin:0 0 6px;}
.svc2 .learnlink:hover{color:var(--teal-dark);}

/* chevron FAQ accordion (independent toggles) */
.faq-acc{display:flex;flex-direction:column;margin:2px 0 16px;}
.faq-item{border-bottom:1px solid #E4E4E4;}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:11px 0;
  font-family:'Open Sans',sans-serif;font-size:.88rem;line-height:1.5;color:#4a5457;
  display:flex;align-items:center;gap:11px;}
.faq-q:hover{color:var(--teal);}
.faq-q .chev{flex-shrink:0;width:7px;height:7px;margin-left:3px;
  border-right:1.7px solid #8b9497;border-bottom:1.7px solid #8b9497;
  transform:rotate(-45deg);transition:transform .25s ease;}
.faq-item.open .faq-q .chev{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-item.open .faq-a{max-height:900px;}
.faq-a-inner{padding:0 0 14px 21px;}
.faq-a-inner p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.86rem;
  line-height:1.75;margin:0 0 11px;}
.faq-a-inner p:last-child{margin-bottom:0;}

/* full-bleed payment plans band */
.pay-band{position:relative;overflow:hidden;margin:26px 0 4px;min-height:170px;display:flex;align-items:center;}
.pay-band-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;z-index:0;}
.pay-band .inner{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;
  padding:26px 24px;display:flex;justify-content:flex-end;}
.pay-band .box{text-align:center;width:min(480px,55%);margin-right:4%;}
.pay-band h2{font-family:'Raleway',sans-serif;font-weight:300;color:#3a4a4e;margin:0 0 .3em;
  font-size:clamp(1.3rem,2.7vw,1.8rem);}
.pay-band p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.9rem;margin:0 0 15px;}
.btn-green{display:inline-flex;align-items:center;background:var(--green);color:#fff;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;padding:14px 28px;
  border-radius:18px 0 18px 0;transition:.2s ease;}
.btn-green:hover{background:#0f7a26;color:#fff;transform:translateY(-2px);}

@media(max-width:760px){
  .pay-band{display:block;min-height:0;}
  .pay-band-bg{position:relative;height:180px;}
  .pay-band .inner{display:block;padding:22px;}
  .pay-band .box{width:100%;margin:0;}
}

/* placeholder standing in for a hero photo not yet supplied */
.svc2-photo.ph{float:right;width:390px;max-width:46%;aspect-ratio:1/1;height:auto;min-height:0;
  margin:6px 0 20px 42px;border-radius:36px 0 36px 0;}
@media(max-width:760px){
  .svc2-photo.ph{float:none;width:100%;max-width:340px;margin:0 0 20px;}
}

/* teal variant of the "+" heading prefix (crowns & bridges, teeth whitening) */
.svc2 h2 .plus.teal{color:var(--teal);}

/* boxed +/- accordion, independent toggles (teeth whitening FAQ) */
.svc2-acc .accm-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:15px 0;
  font-family:'Open Sans',sans-serif;font-weight:700;font-size:.92rem;color:#3a4a4e;display:flex;
  justify-content:space-between;align-items:center;gap:16px;}
.svc2-acc .accm-q:hover{color:var(--teal);}
.svc2-acc .accm-q .ico{flex-shrink:0;width:20px;height:20px;border:1px solid #b9c4c7;color:#7b8588;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.95rem;line-height:1;}
.svc2-acc.multi .acc-item.open .acc-a{max-height:700px;}
.svc2-faqhead{margin-bottom:2px;}

/* wide placeholder for a promo banner asset not yet supplied */
.ph-banner{display:flex;align-items:center;justify-content:center;text-align:center;
  width:100%;aspect-ratio:819/484;background:#EFF3F4;border:1px dashed #B9C4C7;color:#7b8588;
  font-family:'Open Sans',sans-serif;font-size:.85rem;line-height:1.7;margin:22px 0;padding:20px;}
.ph-banner small{display:block;font-size:.76rem;opacity:.75;margin-top:6px;}

/* ==========================================================================
   SMILE BRIGHTER PROMO — lifted verbatim from special-offer.html
   ========================================================================== */
.so-block{padding:16px 0;}
.so-card{position:relative;display:grid;align-items:center;overflow:visible;}
.so-text{padding:44px 48px;position:relative;z-index:2;}
.so-photo{width:100%;height:100%;object-fit:cover;display:block;}
.so-card .ph.so-photo{min-height:420px;}
.so-h2{font-family:'Raleway',sans-serif;font-weight:800;color:#333;line-height:1.02;margin:0 0 16px;
  font-size:clamp(2rem,4.4vw,3rem);}
.so-lead{font-family:'Raleway',sans-serif;font-weight:300;color:#3a3a3a;font-size:clamp(1.15rem,2.3vw,1.6rem);
  line-height:1.25;margin:0 0 14px;}
.so-body{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;line-height:1.65;margin:0 0 16px;}
.so-card .btn-book{margin:6px 0 14px;}
.so-fine{font-family:'Open Sans',sans-serif;font-size:.72rem;color:#7b8588;line-height:1.6;margin:0;}
.so-circle{flex-shrink:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  font-family:'Raleway',sans-serif;font-weight:800;color:#333;}
.so-circle .cur{font-size:.6em;font-weight:700;vertical-align:.35em;margin-right:1px;}
.so-grey{grid-template-columns:1fr;background:#CDC7C7;max-width:1180px;position:relative;min-height:460px;}
.so-circle-blue{position:absolute;top:50%;right:392px;transform:translateY(-50%);z-index:3;
  width:120px;height:120px;background:#CEEFFB;font-size:2rem;box-shadow:0 5px 16px rgba(0,0,0,.14);}
.so-grey .so-text{max-width:470px;padding:52px 40px 52px 56px;}
.so-photo-circle{position:absolute;top:50%;right:24px;transform:translateY(-50%);
  width:400px;height:400px;border-radius:50%;border:18px solid #fff;overflow:hidden;
  background:#3fc6f0;min-height:0 !important;}
.so-photo-circle img{width:100%;height:100%;object-fit:cover;display:block;}

/* continuation of a svc2 block after an interrupting full-width section */
.svc2-intro.cont{padding-top:0;}

@media(max-width:820px){
  .so-card .ph.so-photo{min-height:260px;order:-1;}
  .so-grey{min-height:0;}
  .so-grey .so-text{max-width:100%;padding-bottom:200px;}
  .so-photo-circle{position:static;transform:none;margin:-180px auto 30px;width:260px;height:260px;border-width:12px;}
  .so-circle-blue{position:absolute;top:auto;bottom:210px;right:auto;left:50%;transform:translateX(-90px);
    width:96px;height:96px;font-size:1.6rem;}
  .so-text{padding:32px 26px;}
}

/* ==========================================================================
   CONTACT PAGE
   ========================================================================== */
.ct-sec{padding:8px 0 26px;}
.ct-grid{display:grid;grid-template-columns:minmax(0,0.72fr) minmax(0,1fr);gap:34px;align-items:start;}
.ct-h2{font-family:'Raleway',sans-serif;font-weight:300;color:#4a7c85;text-transform:uppercase;
  letter-spacing:.03em;font-size:clamp(1.2rem,2.4vw,1.5rem);margin:0 0 16px;}
.ct-addr{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;line-height:1.75;margin:0 0 16px;}
.ct-line{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;line-height:1.7;
  margin:0 0 10px;display:flex;align-items:center;gap:9px;}
.ct-line svg{flex-shrink:0;width:15px;height:15px;fill:var(--teal);}
.ct-line strong{color:#3a4a4e;}
.ct-line a{color:var(--teal);font-weight:700;}
.ct-sec .btn-book{margin:16px 0 4px;}
.ct-rule{border:0;border-top:1px solid #DCE2E3;margin:26px 0 20px;}
.ct-oh{font-family:'Raleway',sans-serif;font-weight:300;color:#4a4a4a;font-size:1.15rem;margin:0 0 12px;}
.ct-hours{width:100%;max-width:320px;border-collapse:collapse;font-family:'Open Sans',sans-serif;font-size:.86rem;}
.ct-hours th{background:#3C5A61;color:#fff;font-weight:700;padding:8px 14px;text-align:center;}
.ct-hours td{padding:8px 14px;border-bottom:1px solid #E4E8E9;color:#4a5457;}
.ct-hours td:first-child{font-weight:700;color:#3a4a4e;}
.ct-hours td:last-child{text-align:center;}
.ct-hours .ct-call td{background:#EDEFF0;text-align:center;font-weight:700;color:#3a4a4e;border-bottom:0;}
.ct-hours .ct-call a{color:var(--teal);}
.ct-map{line-height:0;}
.ct-map iframe{display:block;width:100%;height:562px;border:0;}
.ct-find{padding:4px 0 26px;}
.ct-find p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;line-height:1.8;margin:0 0 16px;}

@media(max-width:860px){
  .ct-grid{grid-template-columns:1fr;gap:26px;}
  .ct-map iframe{height:360px;}
  .ct-hours{max-width:100%;}
}


/* ---- from dr-luke-dodd.html ---- */

/* ==========================================================================
   PRINCETON DENTAL — homepage recreation
   Palette taken from the live site. Change these variables to re-skin.
   ========================================================================== */
:root{
  --teal:       #4E8E9A;   /* primary teal — buttons, links, accents         */
  --teal-dark:  #3C7079;   /* hover                                          */
  --teal-deep:  #2C545C;   /* dark panels: dentists, services, contact strip */
  --ink:        #333333;   /* body + heading text                            */
  --muted:      #6A7578;   /* secondary text                                 */
  --faq:        #E0F9FE;   /* FAQ section background                          */
  --wash:       #F3FAFB;   /* very light teal wash for alt sections           */
  --line:       #E2EBEC;
  --white:      #FFFFFF;
  --shadow:     0 14px 44px rgba(44,84,92,.14);
  --radius:     14px;
  --maxw:       1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:'Raleway',system-ui,-apple-system,Segoe UI,sans-serif;
  font-weight:400;line-height:1.75;color:var(--ink);background:var(--white);font-size:16px;
  letter-spacing:.01em;
}
h1,h2,h3,h4{font-family:'Raleway',sans-serif;font-weight:800;line-height:1.22;
  letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.3rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);}
h3{font-size:clamp(1.15rem,2vw,1.5rem);}
p{margin:0 0 1.1em;}
a{color:var(--teal);text-decoration:none;}
a:hover{color:var(--teal-dark);}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.site{background:#fff;overflow:hidden;}
.center{text-align:center;}
.hl{color:var(--teal);}
.thin{font-weight:400;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  font-size:.78rem;padding:14px 32px;border-radius:50px;cursor:pointer;border:2px solid transparent;
  transition:.2s ease;}
.btn-primary{background:var(--teal);color:#fff;}
/* Book Online button: top-left + bottom-right rounded, other corners square */
.btn-book{display:inline-flex;align-items:center;gap:9px;background:var(--teal);color:#fff;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;
  padding:14px 28px;border:2px solid transparent;cursor:pointer;transition:.2s ease;
  border-radius:18px 0 18px 0;}
.btn-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-book svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.hero-cta{align-self:flex-start;padding:19px 52px;font-size:.95rem;border-radius:24px 0 24px 0;margin-top:20px;}
.btn-primary:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal);}
.btn-outline:hover{background:var(--teal);color:#fff;}
.btn-light{background:#fff;color:var(--teal);}
.btn-light:hover{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep);}
.btn-white-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-white-outline:hover{background:#fff;color:var(--teal);}

/* ---------- Image placeholders ---------- */
.ph{position:relative;background:repeating-linear-gradient(45deg,#eef3f3 0 14px,#e6edee 14px 28px);
  border:1px dashed #aebdbd;border-radius:var(--radius);display:flex;align-items:center;
  justify-content:center;text-align:center;color:#6f807f;font-size:.8rem;font-weight:600;
  letter-spacing:.02em;padding:16px;min-height:120px;overflow:hidden;}
.ph span{display:block;line-height:1.5;}
.ph small{display:block;font-weight:500;opacity:.72;margin-top:4px;font-size:.72rem;}

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.topbar{background:var(--teal-deep);color:#dcedef;font-size:.85rem;}
.topbar .container{display:flex;align-items:center;gap:20px;min-height:44px;flex-wrap:wrap;}
.topbar a{color:#dcedef;}
.topbar a:hover{color:#fff;}
.tb-promo{margin-right:auto;font-weight:600;}
.tb-promo a{text-decoration:none;}
.tb-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto;}
.tb-socials{display:flex;gap:8px;}
.tb-socials a{width:26px;height:26px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;}
.tb-socials a:hover{background:#fff;color:var(--teal-deep);}
.hours-toggle{position:relative;cursor:pointer;}
.hours-panel{position:absolute;top:130%;right:0;background:#fff;color:var(--ink);
  box-shadow:var(--shadow);border-radius:10px;padding:16px 20px;width:250px;z-index:60;display:none;}
.hours-toggle:hover .hours-panel,.hours-panel:hover{display:block;}
.hours-panel h4{font-size:.95rem;margin-bottom:10px;color:var(--teal);}
.hours-panel table{width:100%;border-collapse:collapse;font-size:.8rem;}
.hours-panel td{padding:4px 0;border-bottom:1px solid var(--line);}
.hours-panel td:last-child{text-align:right;color:var(--muted);}

/* ==========================================================================
   HEADER (two rows: brand row + nav row)
   ========================================================================== */
.header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px rgba(0,0,0,.07);}
.brand-row{display:flex;align-items:center;gap:24px;padding:16px 0 10px;}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{height:46px;width:auto;display:block;}
.call-now{margin-left:auto;font-size:.9rem;color:var(--ink);font-weight:600;}
.call-now strong{color:var(--teal);}
.menu-toggle{display:none;background:none;border:2px solid var(--line);border-radius:8px;
  padding:8px 12px;font-weight:700;cursor:pointer;color:var(--ink);font-family:inherit;margin-left:auto;}

.nav-row{border-top:1px solid var(--line);}
.nav{display:flex;justify-content:center;}
.nav>ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap;justify-content:center;}
.nav>ul>li{position:relative;}
.nav>ul>li>a{display:block;padding:14px 15px;font-weight:700;font-size:.82rem;color:var(--ink);
  letter-spacing:.04em;text-transform:uppercase;}
.nav>ul>li>a:hover{color:var(--teal);}
.nav .has-sub>a::after{content:"▾";font-size:.7em;margin-left:5px;color:var(--muted);}
.submenu{position:absolute;top:100%;left:0;background:#fff;min-width:250px;box-shadow:var(--shadow);
  border-radius:10px;padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.18s ease;z-index:40;}
.nav li:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu li{position:relative;}
.submenu a{display:block;padding:9px 14px;border-radius:7px;font-size:.82rem;font-weight:600;
  color:var(--ink);text-transform:none;letter-spacing:0;}
.submenu a:hover{background:var(--wash);color:var(--teal);}
.submenu .has-sub>a::after{content:"›";float:right;color:var(--muted);}
.submenu .submenu{top:0;left:100%;margin-left:4px;}
.nav .book-online>a{background:var(--teal);color:#fff;border-radius:18px 0 18px 0;margin:6px 0 0 8px;
  padding:11px 20px;display:inline-flex;align-items:center;gap:8px;}
.nav .book-online>a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.nav .book-online>a:hover{background:var(--teal-dark);color:#fff;}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;overflow:hidden;}
.hero-bg{display:block;width:100%;height:auto;}
.hero-inner{position:absolute;inset:0;z-index:2;max-width:var(--maxw);margin:0 auto;
  padding:0 24px;display:flex;flex-direction:column;justify-content:center;}
.hero h1{color:#23383c;max-width:620px;font-size:clamp(2.4rem,5.6vw,4rem);}
.hero h1 .light{font-weight:300;display:block;font-size:.6em;letter-spacing:.01em;margin-bottom:.15em;color:#3f5457;}
.hero .btn{margin-top:12px;}

/* quick links band */
.quickband{background:linear-gradient(rgba(44,84,92,.35),rgba(44,84,92,.45)),url('images/background_banners1.jpg') center/cover;padding:56px 0;}
.quickband .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:920px;margin:0 auto;}
.quickband a{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;text-align:center;transition:.2s;}
.quickband .tile{width:136px;height:136px;background:var(--teal);border-radius:34px 0 34px 0;
  display:flex;align-items:center;justify-content:center;transition:.2s;}
.quickband a:hover .tile{background:var(--teal-dark);transform:translateY(-4px);}
.quickband .tile img{width:82px;height:82px;object-fit:contain;}
.quickband .lbl{font-size:1.05rem;font-weight:500;line-height:1.25;}
.quickband .lbl b{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}

/* tagline */
.tagline{text-align:center;max-width:640px;margin:0 auto;padding:56px 24px;font-style:italic;
  color:var(--teal);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;font-weight:500;}

/* ==========================================================================
   OFFER ROWS (image beside text)
   ========================================================================== */
.offer{padding:20px 0;}
.offer .grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
  background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.offer .col-img .ph{border-radius:0;min-height:420px;height:100%;}
.offer .col-text{padding:48px 46px;display:flex;flex-direction:column;justify-content:center;}
.offer .grid.flip .col-img{order:2;}
.offer h2 sup{color:var(--teal);font-size:.5em;}
.offer .sub{font-weight:700;color:var(--teal);margin:2px 0 20px;font-size:1.05rem;}
.offer .price{color:var(--teal);}
.offer ul{margin:0 0 20px;padding:0;list-style:none;}
.offer ul li{position:relative;padding-left:28px;margin-bottom:7px;font-size:.94rem;}
.offer ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800;}
.offer .fineprint{font-size:.74rem;color:var(--muted);margin:8px 0 22px;line-height:1.6;}
.offer .btn{align-self:flex-start;}
.offer .smile-big{font-size:clamp(2rem,4vw,2.8rem);color:var(--teal);font-weight:800;
  line-height:1.05;margin-bottom:.1em;}
.offer .smile-sub{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:.5em;}

/* ---- Gap Free offer: full-bleed photo background, text on light right side ---- */
.offer-hero{position:relative;overflow:hidden;background:#eceeef;}
.offer-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;}
.offer-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(236,238,239,0) 40%,rgba(236,238,239,.82) 58%,rgba(236,238,239,.96) 74%);}
.offer-hero .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:66px 24px;
  display:flex;justify-content:flex-end;}
.offer-content{width:min(580px,55%);color:var(--ink);}
.offer-content .t1{font-family:'Raleway',sans-serif;font-weight:700;line-height:1.02;margin:0;
  color:var(--teal);text-transform:uppercase;font-size:clamp(2.3rem,4.6vw,3.4rem);}
.offer-content .t1 sup{font-size:.5em;top:-.6em;}
/* mirrored variant: photo on the right, text on the left */
.offer-hero.flip .offer-hero-bg{object-position:right center;}
.offer-hero.flip::after{background:linear-gradient(90deg,rgba(255,255,255,.96) 26%,rgba(255,255,255,.82) 44%,rgba(255,255,255,0) 62%);}
.offer-hero.flip .inner{justify-content:flex-start;}
.offer-content .t2{font-family:'Raleway',sans-serif;font-weight:400;line-height:1.08;margin:0 0 22px;
  font-size:clamp(1.9rem,3.8vw,2.8rem);color:var(--ink);}
.offer-content .t3{font-family:'Raleway',sans-serif;font-weight:300;margin:0 0 12px;
  font-size:clamp(1.1rem,2vw,1.45rem);color:var(--ink);}
.offer-content .inc{font-family:'Open Sans',sans-serif;font-weight:400;margin:0 0 8px;color:var(--ink);}
.offer-list{list-style:none;margin:0 0 20px;padding:0;font-family:'Open Sans',sans-serif;}
.offer-list li{position:relative;padding-left:30px;margin-bottom:9px;font-size:.98rem;color:#444;}
.offer-list li::before{content:"";position:absolute;left:3px;top:6px;width:13px;height:8px;
  border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);transform:rotate(-45deg);}
.offer-content .fine{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;
  color:var(--muted);margin:0 0 26px;line-height:1.6;max-width:520px;}
.offer-book{display:block;width:100%;background:var(--teal);color:#fff;font-family:'Raleway',sans-serif;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;text-align:center;
  padding:19px 24px;border-radius:28px 0 28px 0;transition:.2s;}
.offer-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
@media(max-width:820px){
  .offer-hero-bg{position:relative;height:auto;}
  .offer-hero::after{display:none;}
  .offer-hero .inner{display:block;padding:0 0 40px;}
  .offer-content{width:100%;padding:30px 24px 0;}
  .care-inner{grid-template-columns:1fr;min-height:0;}
  .care-bg{position:relative;height:260px;}
  .care.flip .care-panel{order:2;}
  .care.flip .care-spacer{order:1;}
  .care-spacer{display:none;}
  .care-panel.br,.care-panel.tl{border-radius:0;}
  .care-panel{padding:40px 24px;}
}

/* ==========================================================================
   FEATURE ROWS (Honest Care / Straightforward Approach / Get Started)
   ========================================================================== */
.feature{padding:70px 0;}
.feature.wash{background:var(--wash);}
.feature .grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.feature .grid.flip .col-img{order:2;}
.feature .col-img .ph{min-height:380px;height:100%;border-radius:20px;}
.feature .col-text h2 .hl{display:inline;}

/* ---- Care / Straightforward: full-bleed photo with an overlaid white curved panel ---- */
.care{position:relative;overflow:hidden;background:#fff;}
.care-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;}
.care.flip .care-bg{object-position:left center;}
.care-bg.ph{border-radius:0;border:none;}
.care-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;min-height:470px;}
.care-panel{background:#fff;padding:64px clamp(28px,4.5vw,60px);display:flex;flex-direction:column;
  justify-content:center;align-items:center;}
.care-panel>*{width:100%;max-width:430px;}
/* section 1: panel left, curve cut into its bottom-right */
.care-panel.br{border-bottom-right-radius:170px;}
/* section 2: panel right, curve cut into its top-left */
.care.flip .care-panel{order:2;}
.care.flip .care-spacer{order:1;}
.care-panel.tl{border-top-left-radius:170px;}
.care-panel.tr{border-top-right-radius:170px;}
.care-spacer{}
.care-panel h2{font-family:'Raleway',sans-serif;font-weight:300;color:#23383c;line-height:1.14;
  font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.6em;}
.care-panel h2 b{font-weight:700;}
.care-panel h2 .stack{display:block;}
.care-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.94rem;max-width:430px;}
.care-panel p a{color:var(--teal);font-weight:700;}

/* ==========================================================================
   MEET THE DENTISTS (dark teal panel + white cards)
   ========================================================================== */
.dentists{padding:0 0 70px;background:#fff;}
.dentists-hero{position:relative;background:#2C545C;padding:0;color:#fff;overflow:hidden;}
.dentists-hero img.team{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;
  position:absolute;inset:0;}
.dentists-hero .overlay{position:relative;z-index:2;min-height:720px;display:flex;flex-direction:column;
  justify-content:flex-end;align-items:center;text-align:center;padding:0 24px 150px;
  background:linear-gradient(to bottom,rgba(20,45,50,0) 40%,rgba(20,45,50,.4) 56%,rgba(20,45,50,.7) 80%);}
.dentists-hero h2{color:#fff;font-weight:300;margin-bottom:.5em;text-shadow:0 2px 14px rgba(0,0,0,.35);}
.dentists-hero h2 b{font-weight:800;}
.dentists-hero p{color:#e6f1f3;max-width:660px;margin:0 auto;font-size:.94rem;
  text-shadow:0 1px 10px rgba(0,0,0,.45);}
.dentists-hero .ph{border-radius:14px;min-height:300px;max-width:640px;margin:0 auto 30px;
  background:repeating-linear-gradient(45deg,#3a656d 0 16px,#345a62 16px 32px);border-color:#4a747c;
  color:#bcd6da;}
.dentists-hero h2{color:#fff;}
.dentists-hero p{color:#d4e5e8;max-width:720px;margin:0 auto;}
.dentist-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:920px;margin:-60px auto 0;
  position:relative;z-index:2;}
.dentist-card{background:#fff;border-radius:0;box-shadow:var(--shadow);padding:32px 32px 36px;}
.dentist-card h3 small{font-weight:500;color:var(--muted);font-size:.85rem;}
.quals{background:var(--wash);border-radius:0;padding:14px 18px;margin:16px 0 20px;font-size:.85rem;}
.quals strong{display:block;margin-bottom:6px;color:var(--teal);}
.quals ul{margin:0;padding-left:18px;}

/* ==========================================================================
   OUR DENTAL SERVICES (dark teal, tabbed)
   ========================================================================== */
.services{background:url('images/img-services.jpg') center/cover;color:#fff;padding:70px 0;}
.services h2{color:#fff;font-weight:300;margin-bottom:.1em;}
.services h2 .hl{color:#fff;font-weight:800;}
.services .layout{display:grid;grid-template-columns:320px 1fr;gap:56px;margin-top:34px;}
.tab-list{display:flex;flex-direction:column;gap:4px;}
.tab-list button{background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;
  color:#e2f0f2;font-weight:600;font-size:.82rem;letter-spacing:.07em;text-transform:uppercase;
  padding:10px 0;display:flex;align-items:center;gap:10px;transition:.2s ease;
  border-bottom:1px solid transparent;align-self:flex-start;}
.tab-list button::after{content:"→";font-size:.95em;}
.tab-list button:hover{color:#fff;transform:translateX(6px);}
.tab-list button.active{color:#fff;font-weight:700;transform:translateX(18px);
  border-bottom-color:rgba(255,255,255,.85);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-panel h3{color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;font-weight:600;
  margin-bottom:.7em;}
.tab-panel p{color:#dbeaec;max-width:560px;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.tab-panel .btn-book{margin-top:14px;background:rgba(78,142,154,.85);}
.tab-panel .btn-book:hover{background:var(--teal);}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{background:var(--faq);padding:70px 0;}
.faq .head{text-align:center;margin-bottom:26px;}
.faq .head h2{color:#3f6168;font-weight:300;font-size:clamp(1.8rem,3.4vw,2.4rem);}
.acc{max-width:800px;margin:0 auto;display:flex;flex-direction:column;}
.acc-item{background:none;border-radius:0;box-shadow:none;overflow:hidden;}
.acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 0;
  font-family:inherit;font-weight:400;font-size:1.02rem;color:#3f6168;display:flex;align-items:center;
  gap:14px;}
.acc-q .qtext{flex-shrink:0;}
.acc-q .leader{flex:1;border-bottom:1px dotted #9dc2c9;height:1px;margin-top:6px;}
.acc-q:hover{color:var(--teal);}
.acc-q .ico{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;line-height:1;
  transition:.2s;}
.acc-item.open .acc-q .ico{transform:none;}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc-a-inner{padding:4px 60px 18px 22px;color:#4a5457;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.acc-item.open .acc-a{max-height:400px;}

/* ==========================================================================
   HEALTH FUNDS
   ========================================================================== */
.funds{padding:64px 0;text-align:center;background:#fff;}
.funds h2{margin-bottom:.15em;font-weight:800;}
.funds .sub{color:var(--ink);max-width:900px;margin:0 auto 40px;font-weight:400;
  font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.3;font-family:'Raleway',sans-serif;}
.fund-logos{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;align-items:center;
  justify-items:center;}
.fund-logos img{width:100%;max-width:150px;height:auto;object-fit:contain;}
.funds .note{font-size:.76rem;color:var(--muted);margin-top:26px;font-style:italic;}

/* ==========================================================================
   PAYMENT PLANS + CONTACT CTA + MAP
   ========================================================================== */
.payment{background:var(--teal);color:#fff;text-align:center;padding:46px 24px 42px;}
.payment h2{color:#fff;font-weight:300;margin-bottom:.45em;font-size:clamp(1.7rem,3.4vw,2.3rem);}
.payment .ask{color:#fff;font-weight:700;font-size:clamp(1rem,1.9vw,1.2rem);margin:0;}
.contact-cta{background:#466167;color:#fff;padding:30px 24px;}
.contact-cta .container{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center;}
.contact-cta .phone{font-size:1.45rem;font-weight:700;display:flex;align-items:center;gap:12px;}
.contact-cta .phone svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.8;}
.contact-cta .btn-book{padding:15px 60px;font-weight:400;letter-spacing:.06em;font-size:.92rem;}
.map{line-height:0;}
.map iframe{display:block;width:100%;height:400px;border:0;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:#fff;padding:58px 0;color:var(--ink);border-top:1px solid var(--line);}
.footer .fc-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start;}
.footer h2{font-size:1.4rem;}
.footer .addr{color:var(--muted);font-size:.95rem;}
.footer .addr strong{color:var(--ink);display:block;margin-top:14px;}
.footer .fc-hours h4{color:var(--teal);margin-bottom:8px;}
.footer .fc-hours table{width:100%;border-collapse:collapse;font-size:.88rem;max-width:360px;}
.footer .fc-hours td{padding:7px 0;border-bottom:1px solid var(--line);}
.footer .fc-hours td:last-child{text-align:right;color:var(--muted);}
.footer-bottom{background:#000;margin-top:0;padding:18px 0;border-top:none;}
.footer-bottom .container{max-width:1440px;}
.fb-grid{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:start;}
.fb-addr{margin:0;font-size:.76rem;line-height:1.65;color:#fff;font-weight:700;}
.fb-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.fb-email{display:flex;align-items:center;gap:10px;}
.fb-email .email-link{font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.04em;
  width:auto;height:auto;background:none;border-radius:0;text-decoration:underline;}
.fb-email .email-link:hover{color:#bcd6da;}
.fb-email a{width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  border-radius:4px;background:#fff;color:#000;font-size:.68rem;font-weight:800;}
.fb-email a.fb{background:#1877F2;color:#fff;border-radius:50%;}
.fb-email a.x{background:#000;color:#fff;border:1px solid #555;}
.fb-email a.em{background:#9aa0a6;color:#fff;}
.footer-links{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0;font-size:.74rem;
  align-items:center;}
.footer-links li:not(:last-child)::after{content:"|";color:#fff;margin:0 8px;text-decoration:none;
  display:inline-block;}
.footer-links a{color:#fff;text-decoration:underline;}
.footer-links a:hover{color:#bcd6da;}
.smile-credit{text-align:right;font-size:.74rem;color:#fff;padding:0;margin:0;}

/* ---------- Floating offer badge ---------- */
.badge{position:fixed;right:18px;bottom:18px;width:186px;height:186px;border-radius:50%;
  background:url('images/stickybutton-2025.png') center/cover no-repeat;
  box-shadow:0 10px 30px rgba(0,0,0,.28);z-index:150;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:0 8px;gap:8px;color:#fff;transition:transform .2s ease;overflow:hidden;}
.badge:hover{transform:scale(1.05);color:#fff;}
.badge .pill{background:#fff;color:#1b2a32;font-weight:700;line-height:1.2;border-radius:7px;
  padding:6px 10px;width:auto;max-width:74%;}
.badge .pill.top{font-size:.8rem;}
.badge .pill.cta{font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;padding:7px 14px;
  max-width:66%;}
.badge .mid{font-size:.72rem;font-weight:700;line-height:1.35;color:#fff;padding:0 4px;
  text-shadow:0 1px 4px rgba(0,0,0,.28);}

/* ---------- Cookie bar ---------- */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;margin:0 auto;background:#fff;
  color:var(--ink);box-shadow:0 12px 50px rgba(0,0,0,.22);border-radius:14px;padding:20px 24px;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;z-index:200;font-size:.85rem;line-height:1.6;}
.cookie-bar p{margin:0;flex:1 1 320px;color:var(--muted);}
.cookie-bar .btns{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-bar button{font-size:.76rem;padding:9px 16px;border-radius:50px;cursor:pointer;font-family:inherit;
  font-weight:700;border:2px solid var(--teal);}
.cookie-bar .ghost{background:#fff;color:var(--teal);}
.cookie-bar .solid{background:var(--teal);color:#fff;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
.nav-overlay{display:none;}
@media(max-width:940px){
  .menu-toggle{display:block;}
  .nav-row{display:none;}
  .nav-row.open{display:block;position:fixed;top:0;right:0;height:100vh;width:min(340px,86vw);
    background:#fff;box-shadow:-6px 0 30px rgba(0,0,0,.15);padding:70px 18px 30px;overflow-y:auto;
    z-index:100;border-top:none;}
  .nav>ul{flex-direction:column;gap:0;width:100%;align-items:stretch;}
  .nav>ul>li>a{padding:12px 10px;border-bottom:1px solid var(--line);}
  .submenu,.submenu .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    background:var(--wash);margin:0;padding:0 0 6px 10px;min-width:0;}
  .nav .book-online>a{margin:8px 0 0;display:inline-block;}
  .nav-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90;}
  .quickband .grid{grid-template-columns:1fr 1fr;}
  .fund-logos{grid-template-columns:repeat(4,1fr);gap:22px;}
  .offer .grid,.offer .grid.flip .col-img,.feature .grid,.feature .grid.flip .col-img,
  .dentist-cards,.footer .fc-grid{grid-template-columns:1fr;}
  .offer .grid.flip .col-img,.feature .grid.flip .col-img{order:0;}
  .services .layout{grid-template-columns:1fr;}
  .tab-list{flex-direction:row;flex-wrap:wrap;gap:8px;}
  .tab-list button{border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:9px 15px;}
  .tab-list button.active{background:var(--teal);}
}
@media(max-width:560px){
  .quickband .grid{grid-template-columns:1fr;}
  .fund-logos{grid-template-columns:repeat(2,1fr);}
  .offer .col-text,.feature{padding-left:22px;padding-right:22px;}
  .offer .col-text{padding:34px 26px;}
  .badge{width:150px;height:150px;gap:5px;}
  .badge .pill.top{font-size:.66rem;}
  .badge .pill.cta{font-size:.62rem;}
  .badge .mid{font-size:.6rem;}
}

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
:root{--green:#16922F;}
.page-head{padding:52px 0 10px;}
.page-head h1{font-weight:300;color:#3a4a4e;font-size:clamp(2rem,4.4vw,3rem);margin:0;}

.about-intro{padding:26px 0 60px;}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.ai-text h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.5em;}
.ai-text h2.mt{margin-top:1.6em;}
.ai-text p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.ai-text p a{color:var(--teal);font-weight:600;}
.pullquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:1rem;line-height:1.7;}
.ai-text .btn-book{margin:6px 0 4px;}
.ai-img .ph{min-height:400px;border-radius:60px 0 60px 0;}
.ai-img img{width:100%;height:auto;display:block;border-radius:60px 0 60px 0;}

.approach{position:relative;padding:0 24px 60px;}
.approach-bg{display:block;width:100%;max-width:1180px;height:auto;margin:0 auto;}
.approach .container{position:relative;z-index:2;}
.approach-panel{background:rgba(255,255,255,.95);padding:34px 40px 8px;
  max-width:900px;margin:-40px auto 0;}
.approach-panel h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.6em;}
.approach-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.approach-panel p a{color:var(--teal);font-weight:700;}

.about-cols{padding:20px 0 40px;}
.ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.ac-left h2,.ac-right h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.4vw,1.7rem);
  margin-bottom:.5em;}
.ac-left h2 .plus{color:var(--teal);font-weight:400;}
.ac-left p,.ac-right p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;}
.ac-left p a,.ac-right p a{color:var(--teal);font-weight:700;}
.ac-right{background:#F1F1F1;padding:30px 34px;}

.page-foot{padding:26px 0 54px;text-align:center;}
.diamond-rule{position:relative;height:14px;margin-bottom:34px;}
.diamond-rule::before{content:"";position:absolute;top:50%;left:0;right:0;height:0;
  border-top:2px dotted #bcd9c4;}
.diamond-rule .diamond{position:absolute;left:50%;top:50%;width:13px;height:13px;
  background:var(--green);transform:translate(-50%,-50%) rotate(45deg);}
.page-foot-title{font-weight:300;color:#3a4a4e;font-size:clamp(1.1rem,2.2vw,1.45rem);margin:0;}

@media(max-width:820px){
  .ai-grid,.ac-grid{grid-template-columns:1fr;gap:32px;}
  .ai-img .ph,.ai-img img{border-radius:0;min-height:280px;}
  .approach-bg{height:auto;}
  .approach-panel{padding:26px 22px 4px;margin:-40px auto 0;max-width:100%;}
}



/* ==========================================================================
   DENTIST BIO PAGE
   ========================================================================== */
:root{--linkblue:#3E68B8;}
.bio{padding:44px 0 20px;}
.bio h1{font-weight:700;color:#4a4a4a;font-size:clamp(1.9rem,4vw,2.6rem);margin:0 0 22px;}
.bio-portrait{float:right;width:360px;max-width:46%;height:auto;margin:0 0 24px 40px;
  border-radius:40px 0 40px 0;display:block;}
.bio p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;line-height:1.7;
  margin:0 0 14px;}
.bio p a{color:var(--linkblue);font-weight:700;}
.bio h2{font-weight:300;color:#4a4a4a;font-size:clamp(1.25rem,2.5vw,1.65rem);margin:26px 0 10px;}
.bio-quote{margin:16px 0 24px;padding:0;display:flex;gap:12px;align-items:flex-start;border:none;}
.bio-quote .qmark{font-family:Georgia,serif;font-size:2.6rem;line-height:.9;color:#b9c4c7;
  flex-shrink:0;}
.bio-quote .qtext{font-family:'Open Sans',sans-serif;font-style:italic;color:#6b7477;
  font-size:.98rem;line-height:1.65;}
.bio-quote .qtext strong{color:var(--linkblue);font-style:italic;font-weight:700;}

.bio-boxes{clear:both;display:grid;grid-template-columns:1fr 1fr;gap:34px;
  align-items:stretch;margin:36px 0 30px;}
.box-outline{border:1px solid #ddd;background:#fff;padding:26px 28px 22px;margin-top:0;}
.box-filled{background:#F1F1F1;padding:26px 30px 30px;}
.bio-boxes h3{font-weight:300;color:#4a4a4a;font-size:clamp(1.15rem,2.2vw,1.45rem);margin:0 0 12px;}
.bio-boxes h3 .emoji{font-size:.9em;}
.bio-boxes p{font-size:.88rem;margin-bottom:16px;}
.box-filled .btn-book{margin-top:4px;}
.box-filled.solo{clear:both;margin:30px 0 24px;}
.box-outline.solo{clear:both;margin:30px 0 24px;}

.disclaimer{clear:both;font-size:.85rem !important;color:#5c686b !important;margin-top:10px;}
@media(max-width:760px){
  .bio-portrait{float:none;width:100%;max-width:340px;margin:0 0 20px;border-radius:32px 0 32px 0;}
  .bio-boxes{grid-template-columns:1fr;gap:24px;}
  .box-outline{margin-top:0;}
}


/* ---- from dr-nina-ong.html ---- */

/* ==========================================================================
   PRINCETON DENTAL — homepage recreation
   Palette taken from the live site. Change these variables to re-skin.
   ========================================================================== */
:root{
  --teal:       #4E8E9A;   /* primary teal — buttons, links, accents         */
  --teal-dark:  #3C7079;   /* hover                                          */
  --teal-deep:  #2C545C;   /* dark panels: dentists, services, contact strip */
  --ink:        #333333;   /* body + heading text                            */
  --muted:      #6A7578;   /* secondary text                                 */
  --faq:        #E0F9FE;   /* FAQ section background                          */
  --wash:       #F3FAFB;   /* very light teal wash for alt sections           */
  --line:       #E2EBEC;
  --white:      #FFFFFF;
  --shadow:     0 14px 44px rgba(44,84,92,.14);
  --radius:     14px;
  --maxw:       1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:'Raleway',system-ui,-apple-system,Segoe UI,sans-serif;
  font-weight:400;line-height:1.75;color:var(--ink);background:var(--white);font-size:16px;
  letter-spacing:.01em;
}
h1,h2,h3,h4{font-family:'Raleway',sans-serif;font-weight:800;line-height:1.22;
  letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.3rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);}
h3{font-size:clamp(1.15rem,2vw,1.5rem);}
p{margin:0 0 1.1em;}
a{color:var(--teal);text-decoration:none;}
a:hover{color:var(--teal-dark);}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.site{background:#fff;overflow:hidden;}
.center{text-align:center;}
.hl{color:var(--teal);}
.thin{font-weight:400;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  font-size:.78rem;padding:14px 32px;border-radius:50px;cursor:pointer;border:2px solid transparent;
  transition:.2s ease;}
.btn-primary{background:var(--teal);color:#fff;}
/* Book Online button: top-left + bottom-right rounded, other corners square */
.btn-book{display:inline-flex;align-items:center;gap:9px;background:var(--teal);color:#fff;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;
  padding:14px 28px;border:2px solid transparent;cursor:pointer;transition:.2s ease;
  border-radius:18px 0 18px 0;}
.btn-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-book svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.hero-cta{align-self:flex-start;padding:19px 52px;font-size:.95rem;border-radius:24px 0 24px 0;margin-top:20px;}
.btn-primary:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal);}
.btn-outline:hover{background:var(--teal);color:#fff;}
.btn-light{background:#fff;color:var(--teal);}
.btn-light:hover{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep);}
.btn-white-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-white-outline:hover{background:#fff;color:var(--teal);}

/* ---------- Image placeholders ---------- */
.ph{position:relative;background:repeating-linear-gradient(45deg,#eef3f3 0 14px,#e6edee 14px 28px);
  border:1px dashed #aebdbd;border-radius:var(--radius);display:flex;align-items:center;
  justify-content:center;text-align:center;color:#6f807f;font-size:.8rem;font-weight:600;
  letter-spacing:.02em;padding:16px;min-height:120px;overflow:hidden;}
.ph span{display:block;line-height:1.5;}
.ph small{display:block;font-weight:500;opacity:.72;margin-top:4px;font-size:.72rem;}

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.topbar{background:var(--teal-deep);color:#dcedef;font-size:.85rem;}
.topbar .container{display:flex;align-items:center;gap:20px;min-height:44px;flex-wrap:wrap;}
.topbar a{color:#dcedef;}
.topbar a:hover{color:#fff;}
.tb-promo{margin-right:auto;font-weight:600;}
.tb-promo a{text-decoration:none;}
.tb-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto;}
.tb-socials{display:flex;gap:8px;}
.tb-socials a{width:26px;height:26px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;}
.tb-socials a:hover{background:#fff;color:var(--teal-deep);}
.hours-toggle{position:relative;cursor:pointer;}
.hours-panel{position:absolute;top:130%;right:0;background:#fff;color:var(--ink);
  box-shadow:var(--shadow);border-radius:10px;padding:16px 20px;width:250px;z-index:60;display:none;}
.hours-toggle:hover .hours-panel,.hours-panel:hover{display:block;}
.hours-panel h4{font-size:.95rem;margin-bottom:10px;color:var(--teal);}
.hours-panel table{width:100%;border-collapse:collapse;font-size:.8rem;}
.hours-panel td{padding:4px 0;border-bottom:1px solid var(--line);}
.hours-panel td:last-child{text-align:right;color:var(--muted);}

/* ==========================================================================
   HEADER (two rows: brand row + nav row)
   ========================================================================== */
.header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px rgba(0,0,0,.07);}
.brand-row{display:flex;align-items:center;gap:24px;padding:16px 0 10px;}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{height:46px;width:auto;display:block;}
.call-now{margin-left:auto;font-size:.9rem;color:var(--ink);font-weight:600;}
.call-now strong{color:var(--teal);}
.menu-toggle{display:none;background:none;border:2px solid var(--line);border-radius:8px;
  padding:8px 12px;font-weight:700;cursor:pointer;color:var(--ink);font-family:inherit;margin-left:auto;}

.nav-row{border-top:1px solid var(--line);}
.nav{display:flex;justify-content:center;}
.nav>ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap;justify-content:center;}
.nav>ul>li{position:relative;}
.nav>ul>li>a{display:block;padding:14px 15px;font-weight:700;font-size:.82rem;color:var(--ink);
  letter-spacing:.04em;text-transform:uppercase;}
.nav>ul>li>a:hover{color:var(--teal);}
.nav .has-sub>a::after{content:"▾";font-size:.7em;margin-left:5px;color:var(--muted);}
.submenu{position:absolute;top:100%;left:0;background:#fff;min-width:250px;box-shadow:var(--shadow);
  border-radius:10px;padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.18s ease;z-index:40;}
.nav li:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu li{position:relative;}
.submenu a{display:block;padding:9px 14px;border-radius:7px;font-size:.82rem;font-weight:600;
  color:var(--ink);text-transform:none;letter-spacing:0;}
.submenu a:hover{background:var(--wash);color:var(--teal);}
.submenu .has-sub>a::after{content:"›";float:right;color:var(--muted);}
.submenu .submenu{top:0;left:100%;margin-left:4px;}
.nav .book-online>a{background:var(--teal);color:#fff;border-radius:18px 0 18px 0;margin:6px 0 0 8px;
  padding:11px 20px;display:inline-flex;align-items:center;gap:8px;}
.nav .book-online>a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.nav .book-online>a:hover{background:var(--teal-dark);color:#fff;}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;overflow:hidden;}
.hero-bg{display:block;width:100%;height:auto;}
.hero-inner{position:absolute;inset:0;z-index:2;max-width:var(--maxw);margin:0 auto;
  padding:0 24px;display:flex;flex-direction:column;justify-content:center;}
.hero h1{color:#23383c;max-width:620px;font-size:clamp(2.4rem,5.6vw,4rem);}
.hero h1 .light{font-weight:300;display:block;font-size:.6em;letter-spacing:.01em;margin-bottom:.15em;color:#3f5457;}
.hero .btn{margin-top:12px;}

/* quick links band */
.quickband{background:linear-gradient(rgba(44,84,92,.35),rgba(44,84,92,.45)),url('images/background_banners1.jpg') center/cover;padding:56px 0;}
.quickband .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:920px;margin:0 auto;}
.quickband a{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;text-align:center;transition:.2s;}
.quickband .tile{width:136px;height:136px;background:var(--teal);border-radius:34px 0 34px 0;
  display:flex;align-items:center;justify-content:center;transition:.2s;}
.quickband a:hover .tile{background:var(--teal-dark);transform:translateY(-4px);}
.quickband .tile img{width:82px;height:82px;object-fit:contain;}
.quickband .lbl{font-size:1.05rem;font-weight:500;line-height:1.25;}
.quickband .lbl b{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}

/* tagline */
.tagline{text-align:center;max-width:640px;margin:0 auto;padding:56px 24px;font-style:italic;
  color:var(--teal);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;font-weight:500;}

/* ==========================================================================
   OFFER ROWS (image beside text)
   ========================================================================== */
.offer{padding:20px 0;}
.offer .grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
  background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.offer .col-img .ph{border-radius:0;min-height:420px;height:100%;}
.offer .col-text{padding:48px 46px;display:flex;flex-direction:column;justify-content:center;}
.offer .grid.flip .col-img{order:2;}
.offer h2 sup{color:var(--teal);font-size:.5em;}
.offer .sub{font-weight:700;color:var(--teal);margin:2px 0 20px;font-size:1.05rem;}
.offer .price{color:var(--teal);}
.offer ul{margin:0 0 20px;padding:0;list-style:none;}
.offer ul li{position:relative;padding-left:28px;margin-bottom:7px;font-size:.94rem;}
.offer ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800;}
.offer .fineprint{font-size:.74rem;color:var(--muted);margin:8px 0 22px;line-height:1.6;}
.offer .btn{align-self:flex-start;}
.offer .smile-big{font-size:clamp(2rem,4vw,2.8rem);color:var(--teal);font-weight:800;
  line-height:1.05;margin-bottom:.1em;}
.offer .smile-sub{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:.5em;}

/* ---- Gap Free offer: full-bleed photo background, text on light right side ---- */
.offer-hero{position:relative;overflow:hidden;background:#eceeef;}
.offer-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;}
.offer-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(236,238,239,0) 40%,rgba(236,238,239,.82) 58%,rgba(236,238,239,.96) 74%);}
.offer-hero .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:66px 24px;
  display:flex;justify-content:flex-end;}
.offer-content{width:min(580px,55%);color:var(--ink);}
.offer-content .t1{font-family:'Raleway',sans-serif;font-weight:700;line-height:1.02;margin:0;
  color:var(--teal);text-transform:uppercase;font-size:clamp(2.3rem,4.6vw,3.4rem);}
.offer-content .t1 sup{font-size:.5em;top:-.6em;}
/* mirrored variant: photo on the right, text on the left */
.offer-hero.flip .offer-hero-bg{object-position:right center;}
.offer-hero.flip::after{background:linear-gradient(90deg,rgba(255,255,255,.96) 26%,rgba(255,255,255,.82) 44%,rgba(255,255,255,0) 62%);}
.offer-hero.flip .inner{justify-content:flex-start;}
.offer-content .t2{font-family:'Raleway',sans-serif;font-weight:400;line-height:1.08;margin:0 0 22px;
  font-size:clamp(1.9rem,3.8vw,2.8rem);color:var(--ink);}
.offer-content .t3{font-family:'Raleway',sans-serif;font-weight:300;margin:0 0 12px;
  font-size:clamp(1.1rem,2vw,1.45rem);color:var(--ink);}
.offer-content .inc{font-family:'Open Sans',sans-serif;font-weight:400;margin:0 0 8px;color:var(--ink);}
.offer-list{list-style:none;margin:0 0 20px;padding:0;font-family:'Open Sans',sans-serif;}
.offer-list li{position:relative;padding-left:30px;margin-bottom:9px;font-size:.98rem;color:#444;}
.offer-list li::before{content:"";position:absolute;left:3px;top:6px;width:13px;height:8px;
  border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);transform:rotate(-45deg);}
.offer-content .fine{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;
  color:var(--muted);margin:0 0 26px;line-height:1.6;max-width:520px;}
.offer-book{display:block;width:100%;background:var(--teal);color:#fff;font-family:'Raleway',sans-serif;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;text-align:center;
  padding:19px 24px;border-radius:28px 0 28px 0;transition:.2s;}
.offer-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
@media(max-width:820px){
  .offer-hero-bg{position:relative;height:auto;}
  .offer-hero::after{display:none;}
  .offer-hero .inner{display:block;padding:0 0 40px;}
  .offer-content{width:100%;padding:30px 24px 0;}
  .care-inner{grid-template-columns:1fr;min-height:0;}
  .care-bg{position:relative;height:260px;}
  .care.flip .care-panel{order:2;}
  .care.flip .care-spacer{order:1;}
  .care-spacer{display:none;}
  .care-panel.br,.care-panel.tl{border-radius:0;}
  .care-panel{padding:40px 24px;}
}

/* ==========================================================================
   FEATURE ROWS (Honest Care / Straightforward Approach / Get Started)
   ========================================================================== */
.feature{padding:70px 0;}
.feature.wash{background:var(--wash);}
.feature .grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.feature .grid.flip .col-img{order:2;}
.feature .col-img .ph{min-height:380px;height:100%;border-radius:20px;}
.feature .col-text h2 .hl{display:inline;}

/* ---- Care / Straightforward: full-bleed photo with an overlaid white curved panel ---- */
.care{position:relative;overflow:hidden;background:#fff;}
.care-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;}
.care.flip .care-bg{object-position:left center;}
.care-bg.ph{border-radius:0;border:none;}
.care-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;min-height:470px;}
.care-panel{background:#fff;padding:64px clamp(28px,4.5vw,60px);display:flex;flex-direction:column;
  justify-content:center;align-items:center;}
.care-panel>*{width:100%;max-width:430px;}
/* section 1: panel left, curve cut into its bottom-right */
.care-panel.br{border-bottom-right-radius:170px;}
/* section 2: panel right, curve cut into its top-left */
.care.flip .care-panel{order:2;}
.care.flip .care-spacer{order:1;}
.care-panel.tl{border-top-left-radius:170px;}
.care-panel.tr{border-top-right-radius:170px;}
.care-spacer{}
.care-panel h2{font-family:'Raleway',sans-serif;font-weight:300;color:#23383c;line-height:1.14;
  font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.6em;}
.care-panel h2 b{font-weight:700;}
.care-panel h2 .stack{display:block;}
.care-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.94rem;max-width:430px;}
.care-panel p a{color:var(--teal);font-weight:700;}

/* ==========================================================================
   MEET THE DENTISTS (dark teal panel + white cards)
   ========================================================================== */
.dentists{padding:0 0 70px;background:#fff;}
.dentists-hero{position:relative;background:#2C545C;padding:0;color:#fff;overflow:hidden;}
.dentists-hero img.team{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;
  position:absolute;inset:0;}
.dentists-hero .overlay{position:relative;z-index:2;min-height:720px;display:flex;flex-direction:column;
  justify-content:flex-end;align-items:center;text-align:center;padding:0 24px 150px;
  background:linear-gradient(to bottom,rgba(20,45,50,0) 40%,rgba(20,45,50,.4) 56%,rgba(20,45,50,.7) 80%);}
.dentists-hero h2{color:#fff;font-weight:300;margin-bottom:.5em;text-shadow:0 2px 14px rgba(0,0,0,.35);}
.dentists-hero h2 b{font-weight:800;}
.dentists-hero p{color:#e6f1f3;max-width:660px;margin:0 auto;font-size:.94rem;
  text-shadow:0 1px 10px rgba(0,0,0,.45);}
.dentists-hero .ph{border-radius:14px;min-height:300px;max-width:640px;margin:0 auto 30px;
  background:repeating-linear-gradient(45deg,#3a656d 0 16px,#345a62 16px 32px);border-color:#4a747c;
  color:#bcd6da;}
.dentists-hero h2{color:#fff;}
.dentists-hero p{color:#d4e5e8;max-width:720px;margin:0 auto;}
.dentist-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:920px;margin:-60px auto 0;
  position:relative;z-index:2;}
.dentist-card{background:#fff;border-radius:0;box-shadow:var(--shadow);padding:32px 32px 36px;}
.dentist-card h3 small{font-weight:500;color:var(--muted);font-size:.85rem;}
.quals{background:var(--wash);border-radius:0;padding:14px 18px;margin:16px 0 20px;font-size:.85rem;}
.quals strong{display:block;margin-bottom:6px;color:var(--teal);}
.quals ul{margin:0;padding-left:18px;}

/* ==========================================================================
   OUR DENTAL SERVICES (dark teal, tabbed)
   ========================================================================== */
.services{background:url('images/img-services.jpg') center/cover;color:#fff;padding:70px 0;}
.services h2{color:#fff;font-weight:300;margin-bottom:.1em;}
.services h2 .hl{color:#fff;font-weight:800;}
.services .layout{display:grid;grid-template-columns:320px 1fr;gap:56px;margin-top:34px;}
.tab-list{display:flex;flex-direction:column;gap:4px;}
.tab-list button{background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;
  color:#e2f0f2;font-weight:600;font-size:.82rem;letter-spacing:.07em;text-transform:uppercase;
  padding:10px 0;display:flex;align-items:center;gap:10px;transition:.2s ease;
  border-bottom:1px solid transparent;align-self:flex-start;}
.tab-list button::after{content:"→";font-size:.95em;}
.tab-list button:hover{color:#fff;transform:translateX(6px);}
.tab-list button.active{color:#fff;font-weight:700;transform:translateX(18px);
  border-bottom-color:rgba(255,255,255,.85);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-panel h3{color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;font-weight:600;
  margin-bottom:.7em;}
.tab-panel p{color:#dbeaec;max-width:560px;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.tab-panel .btn-book{margin-top:14px;background:rgba(78,142,154,.85);}
.tab-panel .btn-book:hover{background:var(--teal);}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{background:var(--faq);padding:70px 0;}
.faq .head{text-align:center;margin-bottom:26px;}
.faq .head h2{color:#3f6168;font-weight:300;font-size:clamp(1.8rem,3.4vw,2.4rem);}
.acc{max-width:800px;margin:0 auto;display:flex;flex-direction:column;}
.acc-item{background:none;border-radius:0;box-shadow:none;overflow:hidden;}
.acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 0;
  font-family:inherit;font-weight:400;font-size:1.02rem;color:#3f6168;display:flex;align-items:center;
  gap:14px;}
.acc-q .qtext{flex-shrink:0;}
.acc-q .leader{flex:1;border-bottom:1px dotted #9dc2c9;height:1px;margin-top:6px;}
.acc-q:hover{color:var(--teal);}
.acc-q .ico{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;line-height:1;
  transition:.2s;}
.acc-item.open .acc-q .ico{transform:none;}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc-a-inner{padding:4px 60px 18px 22px;color:#4a5457;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.acc-item.open .acc-a{max-height:400px;}

/* ==========================================================================
   HEALTH FUNDS
   ========================================================================== */
.funds{padding:64px 0;text-align:center;background:#fff;}
.funds h2{margin-bottom:.15em;font-weight:800;}
.funds .sub{color:var(--ink);max-width:900px;margin:0 auto 40px;font-weight:400;
  font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.3;font-family:'Raleway',sans-serif;}
.fund-logos{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;align-items:center;
  justify-items:center;}
.fund-logos img{width:100%;max-width:150px;height:auto;object-fit:contain;}
.funds .note{font-size:.76rem;color:var(--muted);margin-top:26px;font-style:italic;}

/* ==========================================================================
   PAYMENT PLANS + CONTACT CTA + MAP
   ========================================================================== */
.payment{background:var(--teal);color:#fff;text-align:center;padding:46px 24px 42px;}
.payment h2{color:#fff;font-weight:300;margin-bottom:.45em;font-size:clamp(1.7rem,3.4vw,2.3rem);}
.payment .ask{color:#fff;font-weight:700;font-size:clamp(1rem,1.9vw,1.2rem);margin:0;}
.contact-cta{background:#466167;color:#fff;padding:30px 24px;}
.contact-cta .container{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center;}
.contact-cta .phone{font-size:1.45rem;font-weight:700;display:flex;align-items:center;gap:12px;}
.contact-cta .phone svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.8;}
.contact-cta .btn-book{padding:15px 60px;font-weight:400;letter-spacing:.06em;font-size:.92rem;}
.map{line-height:0;}
.map iframe{display:block;width:100%;height:400px;border:0;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:#fff;padding:58px 0;color:var(--ink);border-top:1px solid var(--line);}
.footer .fc-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start;}
.footer h2{font-size:1.4rem;}
.footer .addr{color:var(--muted);font-size:.95rem;}
.footer .addr strong{color:var(--ink);display:block;margin-top:14px;}
.footer .fc-hours h4{color:var(--teal);margin-bottom:8px;}
.footer .fc-hours table{width:100%;border-collapse:collapse;font-size:.88rem;max-width:360px;}
.footer .fc-hours td{padding:7px 0;border-bottom:1px solid var(--line);}
.footer .fc-hours td:last-child{text-align:right;color:var(--muted);}
.footer-bottom{background:#000;margin-top:0;padding:18px 0;border-top:none;}
.footer-bottom .container{max-width:1440px;}
.fb-grid{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:start;}
.fb-addr{margin:0;font-size:.76rem;line-height:1.65;color:#fff;font-weight:700;}
.fb-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.fb-email{display:flex;align-items:center;gap:10px;}
.fb-email .email-link{font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.04em;
  width:auto;height:auto;background:none;border-radius:0;text-decoration:underline;}
.fb-email .email-link:hover{color:#bcd6da;}
.fb-email a{width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  border-radius:4px;background:#fff;color:#000;font-size:.68rem;font-weight:800;}
.fb-email a.fb{background:#1877F2;color:#fff;border-radius:50%;}
.fb-email a.x{background:#000;color:#fff;border:1px solid #555;}
.fb-email a.em{background:#9aa0a6;color:#fff;}
.footer-links{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0;font-size:.74rem;
  align-items:center;}
.footer-links li:not(:last-child)::after{content:"|";color:#fff;margin:0 8px;text-decoration:none;
  display:inline-block;}
.footer-links a{color:#fff;text-decoration:underline;}
.footer-links a:hover{color:#bcd6da;}
.smile-credit{text-align:right;font-size:.74rem;color:#fff;padding:0;margin:0;}

/* ---------- Floating offer badge ---------- */
.badge{position:fixed;right:18px;bottom:18px;width:186px;height:186px;border-radius:50%;
  background:url('images/stickybutton-2025.png') center/cover no-repeat;
  box-shadow:0 10px 30px rgba(0,0,0,.28);z-index:150;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:0 8px;gap:8px;color:#fff;transition:transform .2s ease;overflow:hidden;}
.badge:hover{transform:scale(1.05);color:#fff;}
.badge .pill{background:#fff;color:#1b2a32;font-weight:700;line-height:1.2;border-radius:7px;
  padding:6px 10px;width:auto;max-width:74%;}
.badge .pill.top{font-size:.8rem;}
.badge .pill.cta{font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;padding:7px 14px;
  max-width:66%;}
.badge .mid{font-size:.72rem;font-weight:700;line-height:1.35;color:#fff;padding:0 4px;
  text-shadow:0 1px 4px rgba(0,0,0,.28);}

/* ---------- Cookie bar ---------- */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;margin:0 auto;background:#fff;
  color:var(--ink);box-shadow:0 12px 50px rgba(0,0,0,.22);border-radius:14px;padding:20px 24px;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;z-index:200;font-size:.85rem;line-height:1.6;}
.cookie-bar p{margin:0;flex:1 1 320px;color:var(--muted);}
.cookie-bar .btns{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-bar button{font-size:.76rem;padding:9px 16px;border-radius:50px;cursor:pointer;font-family:inherit;
  font-weight:700;border:2px solid var(--teal);}
.cookie-bar .ghost{background:#fff;color:var(--teal);}
.cookie-bar .solid{background:var(--teal);color:#fff;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
.nav-overlay{display:none;}
@media(max-width:940px){
  .menu-toggle{display:block;}
  .nav-row{display:none;}
  .nav-row.open{display:block;position:fixed;top:0;right:0;height:100vh;width:min(340px,86vw);
    background:#fff;box-shadow:-6px 0 30px rgba(0,0,0,.15);padding:70px 18px 30px;overflow-y:auto;
    z-index:100;border-top:none;}
  .nav>ul{flex-direction:column;gap:0;width:100%;align-items:stretch;}
  .nav>ul>li>a{padding:12px 10px;border-bottom:1px solid var(--line);}
  .submenu,.submenu .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    background:var(--wash);margin:0;padding:0 0 6px 10px;min-width:0;}
  .nav .book-online>a{margin:8px 0 0;display:inline-block;}
  .nav-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90;}
  .quickband .grid{grid-template-columns:1fr 1fr;}
  .fund-logos{grid-template-columns:repeat(4,1fr);gap:22px;}
  .offer .grid,.offer .grid.flip .col-img,.feature .grid,.feature .grid.flip .col-img,
  .dentist-cards,.footer .fc-grid{grid-template-columns:1fr;}
  .offer .grid.flip .col-img,.feature .grid.flip .col-img{order:0;}
  .services .layout{grid-template-columns:1fr;}
  .tab-list{flex-direction:row;flex-wrap:wrap;gap:8px;}
  .tab-list button{border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:9px 15px;}
  .tab-list button.active{background:var(--teal);}
}
@media(max-width:560px){
  .quickband .grid{grid-template-columns:1fr;}
  .fund-logos{grid-template-columns:repeat(2,1fr);}
  .offer .col-text,.feature{padding-left:22px;padding-right:22px;}
  .offer .col-text{padding:34px 26px;}
  .badge{width:150px;height:150px;gap:5px;}
  .badge .pill.top{font-size:.66rem;}
  .badge .pill.cta{font-size:.62rem;}
  .badge .mid{font-size:.6rem;}
}

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
:root{--green:#16922F;}
.page-head{padding:52px 0 10px;}
.page-head h1{font-weight:300;color:#3a4a4e;font-size:clamp(2rem,4.4vw,3rem);margin:0;}

.about-intro{padding:26px 0 60px;}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.ai-text h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.5em;}
.ai-text h2.mt{margin-top:1.6em;}
.ai-text p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.ai-text p a{color:var(--teal);font-weight:600;}
.pullquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:1rem;line-height:1.7;}
.ai-text .btn-book{margin:6px 0 4px;}
.ai-img .ph{min-height:400px;border-radius:60px 0 60px 0;}
.ai-img img{width:100%;height:auto;display:block;border-radius:60px 0 60px 0;}

.approach{position:relative;padding:0 24px 60px;}
.approach-bg{display:block;width:100%;max-width:1180px;height:auto;margin:0 auto;}
.approach .container{position:relative;z-index:2;}
.approach-panel{background:rgba(255,255,255,.95);padding:34px 40px 8px;
  max-width:900px;margin:-40px auto 0;}
.approach-panel h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.6em;}
.approach-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.approach-panel p a{color:var(--teal);font-weight:700;}

.about-cols{padding:20px 0 40px;}
.ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.ac-left h2,.ac-right h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.4vw,1.7rem);
  margin-bottom:.5em;}
.ac-left h2 .plus{color:var(--teal);font-weight:400;}
.ac-left p,.ac-right p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;}
.ac-left p a,.ac-right p a{color:var(--teal);font-weight:700;}
.ac-right{background:#F1F1F1;padding:30px 34px;}

.page-foot{padding:26px 0 54px;text-align:center;}
.diamond-rule{position:relative;height:14px;margin-bottom:34px;}
.diamond-rule::before{content:"";position:absolute;top:50%;left:0;right:0;height:0;
  border-top:2px dotted #bcd9c4;}
.diamond-rule .diamond{position:absolute;left:50%;top:50%;width:13px;height:13px;
  background:var(--green);transform:translate(-50%,-50%) rotate(45deg);}
.page-foot-title{font-weight:300;color:#3a4a4e;font-size:clamp(1.1rem,2.2vw,1.45rem);margin:0;}

@media(max-width:820px){
  .ai-grid,.ac-grid{grid-template-columns:1fr;gap:32px;}
  .ai-img .ph,.ai-img img{border-radius:0;min-height:280px;}
  .approach-bg{height:auto;}
  .approach-panel{padding:26px 22px 4px;margin:-40px auto 0;max-width:100%;}
}



/* ==========================================================================
   DENTIST BIO PAGE
   ========================================================================== */
:root{--linkblue:#3E68B8;}
.bio{padding:44px 0 20px;}
.bio h1{font-weight:700;color:#4a4a4a;font-size:clamp(1.9rem,4vw,2.6rem);margin:0 0 22px;}
.bio-portrait{float:right;width:360px;max-width:46%;height:auto;margin:0 0 24px 40px;
  border-radius:40px 0 40px 0;display:block;}
.bio p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;line-height:1.7;
  margin:0 0 14px;}
.bio p a{color:var(--linkblue);font-weight:700;}
.bio h2{font-weight:300;color:#4a4a4a;font-size:clamp(1.25rem,2.5vw,1.65rem);margin:26px 0 10px;}
.bio-quote{margin:16px 0 24px;padding:0;display:flex;gap:12px;align-items:flex-start;border:none;}
.bio-quote .qmark{font-family:Georgia,serif;font-size:2.6rem;line-height:.9;color:#b9c4c7;
  flex-shrink:0;}
.bio-quote .qtext{font-family:'Open Sans',sans-serif;font-style:italic;color:#6b7477;
  font-size:.98rem;line-height:1.65;}
.bio-quote .qtext strong{color:var(--linkblue);font-style:italic;font-weight:700;}

.bio-boxes{clear:both;display:grid;grid-template-columns:1fr 1fr;gap:34px;
  align-items:stretch;margin:36px 0 30px;}
.box-outline{border:1px solid #ddd;background:#fff;padding:26px 28px 22px;margin-top:0;}
.box-filled{background:#F1F1F1;padding:26px 30px 30px;}
.bio-boxes h3{font-weight:700;color:#4a4a4a;font-size:clamp(1.15rem,2.2vw,1.45rem);margin:0 0 12px;}
.bio-boxes h3 .emoji{font-size:.9em;}
.bio-boxes p{font-size:.88rem;margin-bottom:16px;}
.box-filled .btn-book{margin-top:4px;}

.disclaimer{clear:both;font-size:.85rem !important;color:#5c686b !important;margin-top:10px;}
@media(max-width:760px){
  .bio-portrait{float:none;width:100%;max-width:340px;margin:0 0 20px;border-radius:32px 0 32px 0;}
  .bio-boxes{grid-template-columns:1fr;gap:24px;}
  .box-outline{margin-top:0;}
}


/* ---- from emergency-dentistry.html ---- */

/* ==========================================================================
   PRINCETON DENTAL — homepage recreation
   Palette taken from the live site. Change these variables to re-skin.
   ========================================================================== */
:root{
  --teal:       #4E8E9A;   /* primary teal — buttons, links, accents         */
  --teal-dark:  #3C7079;   /* hover                                          */
  --teal-deep:  #2C545C;   /* dark panels: dentists, services, contact strip */
  --ink:        #333333;   /* body + heading text                            */
  --muted:      #6A7578;   /* secondary text                                 */
  --faq:        #E0F9FE;   /* FAQ section background                          */
  --wash:       #F3FAFB;   /* very light teal wash for alt sections           */
  --line:       #E2EBEC;
  --white:      #FFFFFF;
  --shadow:     0 14px 44px rgba(44,84,92,.14);
  --radius:     14px;
  --maxw:       1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:'Raleway',system-ui,-apple-system,Segoe UI,sans-serif;
  font-weight:400;line-height:1.75;color:var(--ink);background:var(--white);font-size:16px;
  letter-spacing:.01em;
}
h1,h2,h3,h4{font-family:'Raleway',sans-serif;font-weight:800;line-height:1.22;
  letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.3rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);}
h3{font-size:clamp(1.15rem,2vw,1.5rem);}
p{margin:0 0 1.1em;}
a{color:var(--teal);text-decoration:none;}
a:hover{color:var(--teal-dark);}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.site{background:#fff;overflow:hidden;}
.center{text-align:center;}
.hl{color:var(--teal);}
.thin{font-weight:400;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  font-size:.78rem;padding:14px 32px;border-radius:50px;cursor:pointer;border:2px solid transparent;
  transition:.2s ease;}
.btn-primary{background:var(--teal);color:#fff;}
/* Book Online button: top-left + bottom-right rounded, other corners square */
.btn-book{display:inline-flex;align-items:center;gap:9px;background:var(--teal);color:#fff;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;
  padding:14px 28px;border:2px solid transparent;cursor:pointer;transition:.2s ease;
  border-radius:18px 0 18px 0;}
.btn-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-book svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.hero-cta{align-self:flex-start;padding:19px 52px;font-size:.95rem;border-radius:24px 0 24px 0;margin-top:20px;}
.btn-primary:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal);}
.btn-outline:hover{background:var(--teal);color:#fff;}
.btn-light{background:#fff;color:var(--teal);}
.btn-light:hover{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep);}
.btn-white-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-white-outline:hover{background:#fff;color:var(--teal);}

/* ---------- Image placeholders ---------- */
.ph{position:relative;background:repeating-linear-gradient(45deg,#eef3f3 0 14px,#e6edee 14px 28px);
  border:1px dashed #aebdbd;border-radius:var(--radius);display:flex;align-items:center;
  justify-content:center;text-align:center;color:#6f807f;font-size:.8rem;font-weight:600;
  letter-spacing:.02em;padding:16px;min-height:120px;overflow:hidden;}
.ph span{display:block;line-height:1.5;}
.ph small{display:block;font-weight:500;opacity:.72;margin-top:4px;font-size:.72rem;}

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.topbar{background:var(--teal-deep);color:#dcedef;font-size:.85rem;}
.topbar .container{display:flex;align-items:center;gap:20px;min-height:44px;flex-wrap:wrap;}
.topbar a{color:#dcedef;}
.topbar a:hover{color:#fff;}
.tb-promo{margin-right:auto;font-weight:600;}
.tb-promo a{text-decoration:none;}
.tb-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto;}
.tb-socials{display:flex;gap:8px;}
.tb-socials a{width:26px;height:26px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;}
.tb-socials a:hover{background:#fff;color:var(--teal-deep);}
.hours-toggle{position:relative;cursor:pointer;}
.hours-panel{position:absolute;top:130%;right:0;background:#fff;color:var(--ink);
  box-shadow:var(--shadow);border-radius:10px;padding:16px 20px;width:250px;z-index:60;display:none;}
.hours-toggle:hover .hours-panel,.hours-panel:hover{display:block;}
.hours-panel h4{font-size:.95rem;margin-bottom:10px;color:var(--teal);}
.hours-panel table{width:100%;border-collapse:collapse;font-size:.8rem;}
.hours-panel td{padding:4px 0;border-bottom:1px solid var(--line);}
.hours-panel td:last-child{text-align:right;color:var(--muted);}

/* ==========================================================================
   HEADER (two rows: brand row + nav row)
   ========================================================================== */
.header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px rgba(0,0,0,.07);}
.brand-row{display:flex;align-items:center;gap:24px;padding:16px 0 10px;}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{height:46px;width:auto;display:block;}
.call-now{margin-left:auto;font-size:.9rem;color:var(--ink);font-weight:600;}
.call-now strong{color:var(--teal);}
.menu-toggle{display:none;background:none;border:2px solid var(--line);border-radius:8px;
  padding:8px 12px;font-weight:700;cursor:pointer;color:var(--ink);font-family:inherit;margin-left:auto;}

.nav-row{border-top:1px solid var(--line);}
.nav{display:flex;justify-content:center;}
.nav>ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap;justify-content:center;}
.nav>ul>li{position:relative;}
.nav>ul>li>a{display:block;padding:14px 15px;font-weight:700;font-size:.82rem;color:var(--ink);
  letter-spacing:.04em;text-transform:uppercase;}
.nav>ul>li>a:hover{color:var(--teal);}
.nav .has-sub>a::after{content:"▾";font-size:.7em;margin-left:5px;color:var(--muted);}
.submenu{position:absolute;top:100%;left:0;background:#fff;min-width:250px;box-shadow:var(--shadow);
  border-radius:10px;padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.18s ease;z-index:40;}
.nav li:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu li{position:relative;}
.submenu a{display:block;padding:9px 14px;border-radius:7px;font-size:.82rem;font-weight:600;
  color:var(--ink);text-transform:none;letter-spacing:0;}
.submenu a:hover{background:var(--wash);color:var(--teal);}
.submenu .has-sub>a::after{content:"›";float:right;color:var(--muted);}
.submenu .submenu{top:0;left:100%;margin-left:4px;}
.nav .book-online>a{background:var(--teal);color:#fff;border-radius:18px 0 18px 0;margin:6px 0 0 8px;
  padding:11px 20px;display:inline-flex;align-items:center;gap:8px;}
.nav .book-online>a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.nav .book-online>a:hover{background:var(--teal-dark);color:#fff;}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;overflow:hidden;}
.hero-bg{display:block;width:100%;height:auto;}
.hero-inner{position:absolute;inset:0;z-index:2;max-width:var(--maxw);margin:0 auto;
  padding:0 24px;display:flex;flex-direction:column;justify-content:center;}
.hero h1{color:#23383c;max-width:620px;font-size:clamp(2.4rem,5.6vw,4rem);}
.hero h1 .light{font-weight:300;display:block;font-size:.6em;letter-spacing:.01em;margin-bottom:.15em;color:#3f5457;}
.hero .btn{margin-top:12px;}

/* quick links band */
.quickband{background:linear-gradient(rgba(44,84,92,.35),rgba(44,84,92,.45)),url('images/background_banners1.jpg') center/cover;padding:56px 0;}
.quickband .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:920px;margin:0 auto;}
.quickband a{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;text-align:center;transition:.2s;}
.quickband .tile{width:136px;height:136px;background:var(--teal);border-radius:34px 0 34px 0;
  display:flex;align-items:center;justify-content:center;transition:.2s;}
.quickband a:hover .tile{background:var(--teal-dark);transform:translateY(-4px);}
.quickband .tile img{width:82px;height:82px;object-fit:contain;}
.quickband .lbl{font-size:1.05rem;font-weight:500;line-height:1.25;}
.quickband .lbl b{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}

/* tagline */
.tagline{text-align:center;max-width:640px;margin:0 auto;padding:56px 24px;font-style:italic;
  color:var(--teal);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;font-weight:500;}

/* ==========================================================================
   OFFER ROWS (image beside text)
   ========================================================================== */
.offer{padding:20px 0;}
.offer .grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
  background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.offer .col-img .ph{border-radius:0;min-height:420px;height:100%;}
.offer .col-text{padding:48px 46px;display:flex;flex-direction:column;justify-content:center;}
.offer .grid.flip .col-img{order:2;}
.offer h2 sup{color:var(--teal);font-size:.5em;}
.offer .sub{font-weight:700;color:var(--teal);margin:2px 0 20px;font-size:1.05rem;}
.offer .price{color:var(--teal);}
.offer ul{margin:0 0 20px;padding:0;list-style:none;}
.offer ul li{position:relative;padding-left:28px;margin-bottom:7px;font-size:.94rem;}
.offer ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800;}
.offer .fineprint{font-size:.74rem;color:var(--muted);margin:8px 0 22px;line-height:1.6;}
.offer .btn{align-self:flex-start;}
.offer .smile-big{font-size:clamp(2rem,4vw,2.8rem);color:var(--teal);font-weight:800;
  line-height:1.05;margin-bottom:.1em;}
.offer .smile-sub{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:.5em;}

/* ---- Gap Free offer: full-bleed photo background, text on light right side ---- */
.offer-hero{position:relative;overflow:hidden;background:#eceeef;}
.offer-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;}
.offer-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(236,238,239,0) 40%,rgba(236,238,239,.82) 58%,rgba(236,238,239,.96) 74%);}
.offer-hero .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:66px 24px;
  display:flex;justify-content:flex-end;}
.offer-content{width:min(580px,55%);color:var(--ink);}
.offer-content .t1{font-family:'Raleway',sans-serif;font-weight:700;line-height:1.02;margin:0;
  color:var(--teal);text-transform:uppercase;font-size:clamp(2.3rem,4.6vw,3.4rem);}
.offer-content .t1 sup{font-size:.5em;top:-.6em;}
/* mirrored variant: photo on the right, text on the left */
.offer-hero.flip .offer-hero-bg{object-position:right center;}
.offer-hero.flip::after{background:linear-gradient(90deg,rgba(255,255,255,.96) 26%,rgba(255,255,255,.82) 44%,rgba(255,255,255,0) 62%);}
.offer-hero.flip .inner{justify-content:flex-start;}
.offer-content .t2{font-family:'Raleway',sans-serif;font-weight:400;line-height:1.08;margin:0 0 22px;
  font-size:clamp(1.9rem,3.8vw,2.8rem);color:var(--ink);}
.offer-content .t3{font-family:'Raleway',sans-serif;font-weight:300;margin:0 0 12px;
  font-size:clamp(1.1rem,2vw,1.45rem);color:var(--ink);}
.offer-content .inc{font-family:'Open Sans',sans-serif;font-weight:400;margin:0 0 8px;color:var(--ink);}
.offer-list{list-style:none;margin:0 0 20px;padding:0;font-family:'Open Sans',sans-serif;}
.offer-list li{position:relative;padding-left:30px;margin-bottom:9px;font-size:.98rem;color:#444;}
.offer-list li::before{content:"";position:absolute;left:3px;top:6px;width:13px;height:8px;
  border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);transform:rotate(-45deg);}
.offer-content .fine{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;
  color:var(--muted);margin:0 0 26px;line-height:1.6;max-width:520px;}
.offer-book{display:block;width:100%;background:var(--teal);color:#fff;font-family:'Raleway',sans-serif;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;text-align:center;
  padding:19px 24px;border-radius:28px 0 28px 0;transition:.2s;}
.offer-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
@media(max-width:820px){
  .offer-hero-bg{position:relative;height:auto;}
  .offer-hero::after{display:none;}
  .offer-hero .inner{display:block;padding:0 0 40px;}
  .offer-content{width:100%;padding:30px 24px 0;}
  .care-inner{grid-template-columns:1fr;min-height:0;}
  .care-bg{position:relative;height:260px;}
  .care.flip .care-panel{order:2;}
  .care.flip .care-spacer{order:1;}
  .care-spacer{display:none;}
  .care-panel.br,.care-panel.tl{border-radius:0;}
  .care-panel{padding:40px 24px;}
}

/* ==========================================================================
   FEATURE ROWS (Honest Care / Straightforward Approach / Get Started)
   ========================================================================== */
.feature{padding:70px 0;}
.feature.wash{background:var(--wash);}
.feature .grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.feature .grid.flip .col-img{order:2;}
.feature .col-img .ph{min-height:380px;height:100%;border-radius:20px;}
.feature .col-text h2 .hl{display:inline;}

/* ---- Care / Straightforward: full-bleed photo with an overlaid white curved panel ---- */
.care{position:relative;overflow:hidden;background:#fff;}
.care-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;}
.care.flip .care-bg{object-position:left center;}
.care-bg.ph{border-radius:0;border:none;}
.care-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;min-height:470px;}
.care-panel{background:#fff;padding:64px clamp(28px,4.5vw,60px);display:flex;flex-direction:column;
  justify-content:center;align-items:center;}
.care-panel>*{width:100%;max-width:430px;}
/* section 1: panel left, curve cut into its bottom-right */
.care-panel.br{border-bottom-right-radius:170px;}
/* section 2: panel right, curve cut into its top-left */
.care.flip .care-panel{order:2;}
.care.flip .care-spacer{order:1;}
.care-panel.tl{border-top-left-radius:170px;}
.care-panel.tr{border-top-right-radius:170px;}
.care-spacer{}
.care-panel h2{font-family:'Raleway',sans-serif;font-weight:300;color:#23383c;line-height:1.14;
  font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.6em;}
.care-panel h2 b{font-weight:700;}
.care-panel h2 .stack{display:block;}
.care-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.94rem;max-width:430px;}
.care-panel p a{color:var(--teal);font-weight:700;}

/* ==========================================================================
   MEET THE DENTISTS (dark teal panel + white cards)
   ========================================================================== */
.dentists{padding:0 0 70px;background:#fff;}
.dentists-hero{position:relative;background:#2C545C;padding:0;color:#fff;overflow:hidden;}
.dentists-hero img.team{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;
  position:absolute;inset:0;}
.dentists-hero .overlay{position:relative;z-index:2;min-height:720px;display:flex;flex-direction:column;
  justify-content:flex-end;align-items:center;text-align:center;padding:0 24px 150px;
  background:linear-gradient(to bottom,rgba(20,45,50,0) 40%,rgba(20,45,50,.4) 56%,rgba(20,45,50,.7) 80%);}
.dentists-hero h2{color:#fff;font-weight:300;margin-bottom:.5em;text-shadow:0 2px 14px rgba(0,0,0,.35);}
.dentists-hero h2 b{font-weight:800;}
.dentists-hero p{color:#e6f1f3;max-width:660px;margin:0 auto;font-size:.94rem;
  text-shadow:0 1px 10px rgba(0,0,0,.45);}
.dentists-hero .ph{border-radius:14px;min-height:300px;max-width:640px;margin:0 auto 30px;
  background:repeating-linear-gradient(45deg,#3a656d 0 16px,#345a62 16px 32px);border-color:#4a747c;
  color:#bcd6da;}
.dentists-hero h2{color:#fff;}
.dentists-hero p{color:#d4e5e8;max-width:720px;margin:0 auto;}
.dentist-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:920px;margin:-60px auto 0;
  position:relative;z-index:2;}
.dentist-card{background:#fff;border-radius:0;box-shadow:var(--shadow);padding:32px 32px 36px;}
.dentist-card h3 small{font-weight:500;color:var(--muted);font-size:.85rem;}
.quals{background:var(--wash);border-radius:0;padding:14px 18px;margin:16px 0 20px;font-size:.85rem;}
.quals strong{display:block;margin-bottom:6px;color:var(--teal);}
.quals ul{margin:0;padding-left:18px;}

/* ==========================================================================
   OUR DENTAL SERVICES (dark teal, tabbed)
   ========================================================================== */
.services{background:url('images/img-services.jpg') center/cover;color:#fff;padding:70px 0;}
.services h2{color:#fff;font-weight:300;margin-bottom:.1em;}
.services h2 .hl{color:#fff;font-weight:800;}
.services .layout{display:grid;grid-template-columns:320px 1fr;gap:56px;margin-top:34px;}
.tab-list{display:flex;flex-direction:column;gap:4px;}
.tab-list button{background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;
  color:#e2f0f2;font-weight:600;font-size:.82rem;letter-spacing:.07em;text-transform:uppercase;
  padding:10px 0;display:flex;align-items:center;gap:10px;transition:.2s ease;
  border-bottom:1px solid transparent;align-self:flex-start;}
.tab-list button::after{content:"→";font-size:.95em;}
.tab-list button:hover{color:#fff;transform:translateX(6px);}
.tab-list button.active{color:#fff;font-weight:700;transform:translateX(18px);
  border-bottom-color:rgba(255,255,255,.85);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-panel h3{color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;font-weight:600;
  margin-bottom:.7em;}
.tab-panel p{color:#dbeaec;max-width:560px;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.tab-panel .btn-book{margin-top:14px;background:rgba(78,142,154,.85);}
.tab-panel .btn-book:hover{background:var(--teal);}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{background:var(--faq);padding:70px 0;}
.faq .head{text-align:center;margin-bottom:26px;}
.faq .head h2{color:#3f6168;font-weight:300;font-size:clamp(1.8rem,3.4vw,2.4rem);}
.acc{max-width:800px;margin:0 auto;display:flex;flex-direction:column;}
.acc-item{background:none;border-radius:0;box-shadow:none;overflow:hidden;}
.acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 0;
  font-family:inherit;font-weight:400;font-size:1.02rem;color:#3f6168;display:flex;align-items:center;
  gap:14px;}
.acc-q .qtext{flex-shrink:0;}
.acc-q .leader{flex:1;border-bottom:1px dotted #9dc2c9;height:1px;margin-top:6px;}
.acc-q:hover{color:var(--teal);}
.acc-q .ico{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;line-height:1;
  transition:.2s;}
.acc-item.open .acc-q .ico{transform:none;}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc-a-inner{padding:4px 60px 18px 22px;color:#4a5457;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.acc-item.open .acc-a{max-height:400px;}

/* ==========================================================================
   HEALTH FUNDS
   ========================================================================== */
.funds{padding:64px 0;text-align:center;background:#fff;}
.funds h2{margin-bottom:.15em;font-weight:800;}
.funds .sub{color:var(--ink);max-width:900px;margin:0 auto 40px;font-weight:400;
  font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.3;font-family:'Raleway',sans-serif;}
.fund-logos{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;align-items:center;
  justify-items:center;}
.fund-logos img{width:100%;max-width:150px;height:auto;object-fit:contain;}
.funds .note{font-size:.76rem;color:var(--muted);margin-top:26px;font-style:italic;}

/* ==========================================================================
   PAYMENT PLANS + CONTACT CTA + MAP
   ========================================================================== */
.payment{background:var(--teal);color:#fff;text-align:center;padding:46px 24px 42px;}
.payment h2{color:#fff;font-weight:300;margin-bottom:.45em;font-size:clamp(1.7rem,3.4vw,2.3rem);}
.payment .ask{color:#fff;font-weight:700;font-size:clamp(1rem,1.9vw,1.2rem);margin:0;}
.contact-cta{background:#466167;color:#fff;padding:30px 24px;}
.contact-cta .container{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center;}
.contact-cta .phone{font-size:1.45rem;font-weight:700;display:flex;align-items:center;gap:12px;}
.contact-cta .phone svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.8;}
.contact-cta .btn-book{padding:15px 60px;font-weight:400;letter-spacing:.06em;font-size:.92rem;}
.map{line-height:0;}
.map iframe{display:block;width:100%;height:400px;border:0;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:#fff;padding:58px 0;color:var(--ink);border-top:1px solid var(--line);}
.footer .fc-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start;}
.footer h2{font-size:1.4rem;}
.footer .addr{color:var(--muted);font-size:.95rem;}
.footer .addr strong{color:var(--ink);display:block;margin-top:14px;}
.footer .fc-hours h4{color:var(--teal);margin-bottom:8px;}
.footer .fc-hours table{width:100%;border-collapse:collapse;font-size:.88rem;max-width:360px;}
.footer .fc-hours td{padding:7px 0;border-bottom:1px solid var(--line);}
.footer .fc-hours td:last-child{text-align:right;color:var(--muted);}
.footer-bottom{background:#000;margin-top:0;padding:18px 0;border-top:none;}
.footer-bottom .container{max-width:1440px;}
.fb-grid{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:start;}
.fb-addr{margin:0;font-size:.76rem;line-height:1.65;color:#fff;font-weight:700;}
.fb-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.fb-email{display:flex;align-items:center;gap:10px;}
.fb-email .email-link{font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.04em;
  width:auto;height:auto;background:none;border-radius:0;text-decoration:underline;}
.fb-email .email-link:hover{color:#bcd6da;}
.fb-email a{width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  border-radius:4px;background:#fff;color:#000;font-size:.68rem;font-weight:800;}
.fb-email a.fb{background:#1877F2;color:#fff;border-radius:50%;}
.fb-email a.x{background:#000;color:#fff;border:1px solid #555;}
.fb-email a.em{background:#9aa0a6;color:#fff;}
.footer-links{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0;font-size:.74rem;
  align-items:center;}
.footer-links li:not(:last-child)::after{content:"|";color:#fff;margin:0 8px;text-decoration:none;
  display:inline-block;}
.footer-links a{color:#fff;text-decoration:underline;}
.footer-links a:hover{color:#bcd6da;}
.smile-credit{text-align:right;font-size:.74rem;color:#fff;padding:0;margin:0;}

/* ---------- Floating offer badge ---------- */
.badge{position:fixed;right:18px;bottom:18px;width:186px;height:186px;border-radius:50%;
  background:url('images/stickybutton-2025.png') center/cover no-repeat;
  box-shadow:0 10px 30px rgba(0,0,0,.28);z-index:150;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:0 8px;gap:8px;color:#fff;transition:transform .2s ease;overflow:hidden;}
.badge:hover{transform:scale(1.05);color:#fff;}
.badge .pill{background:#fff;color:#1b2a32;font-weight:700;line-height:1.2;border-radius:7px;
  padding:6px 10px;width:auto;max-width:74%;}
.badge .pill.top{font-size:.8rem;}
.badge .pill.cta{font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;padding:7px 14px;
  max-width:66%;}
.badge .mid{font-size:.72rem;font-weight:700;line-height:1.35;color:#fff;padding:0 4px;
  text-shadow:0 1px 4px rgba(0,0,0,.28);}

/* ---------- Cookie bar ---------- */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;margin:0 auto;background:#fff;
  color:var(--ink);box-shadow:0 12px 50px rgba(0,0,0,.22);border-radius:14px;padding:20px 24px;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;z-index:200;font-size:.85rem;line-height:1.6;}
.cookie-bar p{margin:0;flex:1 1 320px;color:var(--muted);}
.cookie-bar .btns{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-bar button{font-size:.76rem;padding:9px 16px;border-radius:50px;cursor:pointer;font-family:inherit;
  font-weight:700;border:2px solid var(--teal);}
.cookie-bar .ghost{background:#fff;color:var(--teal);}
.cookie-bar .solid{background:var(--teal);color:#fff;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
.nav-overlay{display:none;}
@media(max-width:940px){
  .menu-toggle{display:block;}
  .nav-row{display:none;}
  .nav-row.open{display:block;position:fixed;top:0;right:0;height:100vh;width:min(340px,86vw);
    background:#fff;box-shadow:-6px 0 30px rgba(0,0,0,.15);padding:70px 18px 30px;overflow-y:auto;
    z-index:100;border-top:none;}
  .nav>ul{flex-direction:column;gap:0;width:100%;align-items:stretch;}
  .nav>ul>li>a{padding:12px 10px;border-bottom:1px solid var(--line);}
  .submenu,.submenu .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    background:var(--wash);margin:0;padding:0 0 6px 10px;min-width:0;}
  .nav .book-online>a{margin:8px 0 0;display:inline-block;}
  .nav-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90;}
  .quickband .grid{grid-template-columns:1fr 1fr;}
  .fund-logos{grid-template-columns:repeat(4,1fr);gap:22px;}
  .offer .grid,.offer .grid.flip .col-img,.feature .grid,.feature .grid.flip .col-img,
  .dentist-cards,.footer .fc-grid{grid-template-columns:1fr;}
  .offer .grid.flip .col-img,.feature .grid.flip .col-img{order:0;}
  .services .layout{grid-template-columns:1fr;}
  .tab-list{flex-direction:row;flex-wrap:wrap;gap:8px;}
  .tab-list button{border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:9px 15px;}
  .tab-list button.active{background:var(--teal);}
}
@media(max-width:560px){
  .quickband .grid{grid-template-columns:1fr;}
  .fund-logos{grid-template-columns:repeat(2,1fr);}
  .offer .col-text,.feature{padding-left:22px;padding-right:22px;}
  .offer .col-text{padding:34px 26px;}
  .badge{width:150px;height:150px;gap:5px;}
  .badge .pill.top{font-size:.66rem;}
  .badge .pill.cta{font-size:.62rem;}
  .badge .mid{font-size:.6rem;}
}

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
:root{--green:#16922F;}
.page-head{padding:52px 0 10px;}
.page-head h1{font-weight:300;color:#3a4a4e;font-size:clamp(2rem,4.4vw,3rem);margin:0;}

.about-intro{padding:26px 0 60px;}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.ai-text h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.5em;}
.ai-text h2.mt{margin-top:1.6em;}
.ai-text p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.ai-text p a{color:var(--teal);font-weight:600;}
.pullquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:1rem;line-height:1.7;}
.ai-text .btn-book{margin:6px 0 4px;}
.ai-img .ph{min-height:400px;border-radius:60px 0 60px 0;}
.ai-img img{width:100%;height:auto;display:block;border-radius:60px 0 60px 0;}

.approach{position:relative;padding:0 24px 60px;}
.approach-bg{display:block;width:100%;max-width:1180px;height:auto;margin:0 auto;}
.approach .container{position:relative;z-index:2;}
.approach-panel{background:rgba(255,255,255,.95);padding:34px 40px 8px;
  max-width:900px;margin:-40px auto 0;}
.approach-panel h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.6em;}
.approach-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.approach-panel p a{color:var(--teal);font-weight:700;}

.about-cols{padding:20px 0 40px;}
.ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.ac-left h2,.ac-right h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.4vw,1.7rem);
  margin-bottom:.5em;}
.ac-left h2 .plus{color:var(--teal);font-weight:400;}
.ac-left p,.ac-right p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;}
.ac-left p a,.ac-right p a{color:var(--teal);font-weight:700;}
.ac-right{background:#F1F1F1;padding:30px 34px;}

.page-foot{padding:26px 0 54px;text-align:center;}
.diamond-rule{position:relative;height:14px;margin-bottom:34px;}
.diamond-rule::before{content:"";position:absolute;top:50%;left:0;right:0;height:0;
  border-top:2px dotted #bcd9c4;}
.diamond-rule .diamond{position:absolute;left:50%;top:50%;width:13px;height:13px;
  background:var(--green);transform:translate(-50%,-50%) rotate(45deg);}
.page-foot-title{font-weight:300;color:#3a4a4e;font-size:clamp(1.1rem,2.2vw,1.45rem);margin:0;}

@media(max-width:820px){
  .ai-grid,.ac-grid{grid-template-columns:1fr;gap:32px;}
  .ai-img .ph,.ai-img img{border-radius:0;min-height:280px;}
  .approach-bg{height:auto;}
  .approach-panel{padding:26px 22px 4px;margin:-40px auto 0;max-width:100%;}
}


/* ==========================================================================
   SERVICE DETAIL PAGES (v2: check&clean / children / emergency)
   ========================================================================== */
.svc2-intro{padding:44px 0 22px;overflow:hidden;}
.svc2-intro h1{font-weight:300;color:#4a4a4a;font-size:clamp(1.9rem,4vw,2.6rem);margin:0 0 18px;}
.svc2-photo{float:right;width:390px;max-width:46%;height:auto;margin:6px 0 20px 42px;
  border-radius:36px 0 36px 0;display:block;}
.svc2{padding:0 0 10px;}
.svc2 p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;line-height:1.7;margin:0 0 14px;}
.svc2 p a{color:var(--teal);font-weight:700;}
.svc2 strong{color:var(--teal);}
.svc2 .pullquote{margin:14px 0 20px;padding:4px 0 4px 18px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:.96rem;line-height:1.7;}
.svc2 .pullquote strong{color:var(--teal);font-style:italic;}
.svc2 .btn-book{margin:6px 0 14px;}
.svc2 h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.6vw,1.75rem);margin:1.4em 0 .4em;}
.svc2 h2 .plus{color:var(--teal);font-weight:400;margin-right:4px;}
.svc2-2col{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:6px 0 0;}
.svc2-2col p{margin-bottom:12px;}

/* full-bleed info banner */
.svc2-banner{position:relative;overflow:hidden;margin:30px 0;min-height:300px;display:flex;align-items:center;}
.svc2-banner-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.svc2-banner::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(226,238,243,.95) 0%,rgba(226,238,243,.82) 44%,rgba(226,238,243,.3) 72%,rgba(226,238,243,.05) 100%);}
.svc2-banner .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:34px 24px;width:100%;}
.svc2-banner .inner .svc2{max-width:660px;padding:0;}
.svc2-banner h2{margin-top:0;}

/* white FAQ accordion */
.svc2-faqhead{font-weight:300;color:#3a4a4e;font-size:clamp(1.4rem,2.7vw,1.85rem);margin:1.6em 0 .6em;}
.svc2-acc{display:flex;flex-direction:column;}
.svc2-acc .acc-item{border-bottom:1px solid #e2e2e2;}
.svc2-acc .acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:15px 0;
  font-family:'Open Sans',sans-serif;font-weight:700;font-size:.92rem;color:#3a4a4e;display:flex;
  justify-content:space-between;align-items:center;gap:16px;}
.svc2-acc .acc-q:hover{color:var(--teal);}
.svc2-acc .acc-q .ico{flex-shrink:0;width:20px;height:20px;border:1px solid #b9c4c7;color:#7b8588;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.95rem;line-height:1;}
.svc2-acc .acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.svc2-acc .acc-a-inner{padding:0 0 16px;color:#4a5457;font-family:'Open Sans',sans-serif;font-size:.9rem;line-height:1.7;}
.svc2-acc .acc-item.open .acc-a{max-height:500px;}

/* two-box row (fissure text + schedule box) */
.svc2-tworow{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;margin:28px 0 0;}
.svc2-tworow h2{margin-top:0;}
.svc2-tworow p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.9rem;line-height:1.7;margin:0 0 12px;}
.svc2-greybox{background:#EDEDED;padding:30px 34px;}
.svc2-greybox h2{margin:0 0 .5em;color:#3a4a4e;font-weight:300;font-size:clamp(1.25rem,2.4vw,1.6rem);}
.svc2-greybox .btn-book{margin-top:4px;}

/* CTA box */
.svc2-cta{padding:16px 0 26px;}
.svc2-ctabox{background:#EDEDED;padding:36px 40px;}
.svc2-ctabox h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.6vw,1.75rem);margin:0 0 .5em;}
.svc2-ctabox p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;margin:0 0 12px;}
.svc2-ctabox p a{color:var(--teal);font-weight:700;}
.svc2-ctabox strong{color:var(--teal);}
.svc2-disclaimer{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;color:#7b8588;
  line-height:1.6;margin:22px 0 0;}

/* CDBS family offer band */
.cdbs-band{position:relative;overflow:hidden;background:#EDEFF1;min-height:430px;margin:30px 0;
  display:flex;align-items:center;}
.cdbs-band-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;z-index:0;}
.cdbs-band .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:40px 24px;width:100%;}
.cdbs-band .box{max-width:540px;}
.cdbs-band .t1{font-family:'Raleway',sans-serif;font-weight:300;color:#333;line-height:1.05;
  font-size:clamp(1.9rem,4vw,2.7rem);margin:0 0 .1em;}
.cdbs-band .t1 strong{font-weight:800;}
.cdbs-band .lead{font-family:'Raleway',sans-serif;font-weight:300;color:#3a3a3a;margin:0 0 12px;
  font-size:clamp(1.2rem,2.4vw,1.6rem);}
.cdbs-band p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;margin:0 0 10px;}
.cdbs-band ul{list-style:none;margin:0 0 12px;padding:0;font-family:'Open Sans',sans-serif;}
.cdbs-band li{position:relative;padding-left:28px;margin-bottom:8px;color:#4a5457;font-size:.92rem;}
.cdbs-band li::before{content:"";position:absolute;left:2px;top:5px;width:12px;height:7px;
  border-left:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(-45deg);}
.cdbs-band .btn-book{margin:6px 0 8px;}

@media(max-width:760px){
  .svc2-photo{float:none;width:100%;max-width:340px;margin:0 0 20px;}
  .svc2-2col,.svc2-tworow{grid-template-columns:1fr;gap:20px;}
  .svc2-banner-bg{position:relative;height:220px;}
  .svc2-banner{display:block;min-height:0;}
  .svc2-banner::after{display:none;}
  .svc2-banner .inner{padding:24px 22px;}
  .cdbs-band-bg{position:relative;height:230px;}
  .cdbs-band{display:block;min-height:0;}
  .cdbs-band .inner{padding:26px 22px;}
}


/* ---- from fund-my-dental.html ---- */

/* ==========================================================================
   PRINCETON DENTAL — homepage recreation
   Palette taken from the live site. Change these variables to re-skin.
   ========================================================================== */
:root{
  --teal:       #4E8E9A;   /* primary teal — buttons, links, accents         */
  --teal-dark:  #3C7079;   /* hover                                          */
  --teal-deep:  #2C545C;   /* dark panels: dentists, services, contact strip */
  --ink:        #333333;   /* body + heading text                            */
  --muted:      #6A7578;   /* secondary text                                 */
  --faq:        #E0F9FE;   /* FAQ section background                          */
  --wash:       #F3FAFB;   /* very light teal wash for alt sections           */
  --line:       #E2EBEC;
  --white:      #FFFFFF;
  --shadow:     0 14px 44px rgba(44,84,92,.14);
  --radius:     14px;
  --maxw:       1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:'Raleway',system-ui,-apple-system,Segoe UI,sans-serif;
  font-weight:400;line-height:1.75;color:var(--ink);background:var(--white);font-size:16px;
  letter-spacing:.01em;
}
h1,h2,h3,h4{font-family:'Raleway',sans-serif;font-weight:800;line-height:1.22;
  letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.3rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);}
h3{font-size:clamp(1.15rem,2vw,1.5rem);}
p{margin:0 0 1.1em;}
a{color:var(--teal);text-decoration:none;}
a:hover{color:var(--teal-dark);}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.site{background:#fff;overflow:hidden;}
.center{text-align:center;}
.hl{color:var(--teal);}
.thin{font-weight:400;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  font-size:.78rem;padding:14px 32px;border-radius:50px;cursor:pointer;border:2px solid transparent;
  transition:.2s ease;}
.btn-primary{background:var(--teal);color:#fff;}
/* Book Online button: top-left + bottom-right rounded, other corners square */
.btn-book{display:inline-flex;align-items:center;gap:9px;background:var(--teal);color:#fff;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;
  padding:14px 28px;border:2px solid transparent;cursor:pointer;transition:.2s ease;
  border-radius:18px 0 18px 0;}
.btn-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-book svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.hero-cta{align-self:flex-start;padding:19px 52px;font-size:.95rem;border-radius:24px 0 24px 0;margin-top:20px;}
.btn-primary:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal);}
.btn-outline:hover{background:var(--teal);color:#fff;}
.btn-light{background:#fff;color:var(--teal);}
.btn-light:hover{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep);}
.btn-white-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-white-outline:hover{background:#fff;color:var(--teal);}

/* ---------- Image placeholders ---------- */
.ph{position:relative;background:repeating-linear-gradient(45deg,#eef3f3 0 14px,#e6edee 14px 28px);
  border:1px dashed #aebdbd;border-radius:var(--radius);display:flex;align-items:center;
  justify-content:center;text-align:center;color:#6f807f;font-size:.8rem;font-weight:600;
  letter-spacing:.02em;padding:16px;min-height:120px;overflow:hidden;}
.ph span{display:block;line-height:1.5;}
.ph small{display:block;font-weight:500;opacity:.72;margin-top:4px;font-size:.72rem;}

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.topbar{background:var(--teal-deep);color:#dcedef;font-size:.85rem;}
.topbar .container{display:flex;align-items:center;gap:20px;min-height:44px;flex-wrap:wrap;}
.topbar a{color:#dcedef;}
.topbar a:hover{color:#fff;}
.tb-promo{margin-right:auto;font-weight:600;}
.tb-promo a{text-decoration:none;}
.tb-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto;}
.tb-socials{display:flex;gap:8px;}
.tb-socials a{width:26px;height:26px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;}
.tb-socials a:hover{background:#fff;color:var(--teal-deep);}
.hours-toggle{position:relative;cursor:pointer;}
.hours-panel{position:absolute;top:130%;right:0;background:#fff;color:var(--ink);
  box-shadow:var(--shadow);border-radius:10px;padding:16px 20px;width:250px;z-index:60;display:none;}
.hours-toggle:hover .hours-panel,.hours-panel:hover{display:block;}
.hours-panel h4{font-size:.95rem;margin-bottom:10px;color:var(--teal);}
.hours-panel table{width:100%;border-collapse:collapse;font-size:.8rem;}
.hours-panel td{padding:4px 0;border-bottom:1px solid var(--line);}
.hours-panel td:last-child{text-align:right;color:var(--muted);}

/* ==========================================================================
   HEADER (two rows: brand row + nav row)
   ========================================================================== */
.header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px rgba(0,0,0,.07);}
.brand-row{display:flex;align-items:center;gap:24px;padding:16px 0 10px;}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{height:46px;width:auto;display:block;}
.call-now{margin-left:auto;font-size:.9rem;color:var(--ink);font-weight:600;}
.call-now strong{color:var(--teal);}
.menu-toggle{display:none;background:none;border:2px solid var(--line);border-radius:8px;
  padding:8px 12px;font-weight:700;cursor:pointer;color:var(--ink);font-family:inherit;margin-left:auto;}

.nav-row{border-top:1px solid var(--line);}
.nav{display:flex;justify-content:center;}
.nav>ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap;justify-content:center;}
.nav>ul>li{position:relative;}
.nav>ul>li>a{display:block;padding:14px 15px;font-weight:700;font-size:.82rem;color:var(--ink);
  letter-spacing:.04em;text-transform:uppercase;}
.nav>ul>li>a:hover{color:var(--teal);}
.nav .has-sub>a::after{content:"▾";font-size:.7em;margin-left:5px;color:var(--muted);}
.submenu{position:absolute;top:100%;left:0;background:#fff;min-width:250px;box-shadow:var(--shadow);
  border-radius:10px;padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.18s ease;z-index:40;}
.nav li:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu li{position:relative;}
.submenu a{display:block;padding:9px 14px;border-radius:7px;font-size:.82rem;font-weight:600;
  color:var(--ink);text-transform:none;letter-spacing:0;}
.submenu a:hover{background:var(--wash);color:var(--teal);}
.submenu .has-sub>a::after{content:"›";float:right;color:var(--muted);}
.submenu .submenu{top:0;left:100%;margin-left:4px;}
.nav .book-online>a{background:var(--teal);color:#fff;border-radius:18px 0 18px 0;margin:6px 0 0 8px;
  padding:11px 20px;display:inline-flex;align-items:center;gap:8px;}
.nav .book-online>a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.nav .book-online>a:hover{background:var(--teal-dark);color:#fff;}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;overflow:hidden;}
.hero-bg{display:block;width:100%;height:auto;}
.hero-inner{position:absolute;inset:0;z-index:2;max-width:var(--maxw);margin:0 auto;
  padding:0 24px;display:flex;flex-direction:column;justify-content:center;}
.hero h1{color:#23383c;max-width:620px;font-size:clamp(2.4rem,5.6vw,4rem);}
.hero h1 .light{font-weight:300;display:block;font-size:.6em;letter-spacing:.01em;margin-bottom:.15em;color:#3f5457;}
.hero .btn{margin-top:12px;}

/* quick links band */
.quickband{background:linear-gradient(rgba(44,84,92,.35),rgba(44,84,92,.45)),url('images/background_banners1.jpg') center/cover;padding:56px 0;}
.quickband .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:920px;margin:0 auto;}
.quickband a{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;text-align:center;transition:.2s;}
.quickband .tile{width:136px;height:136px;background:var(--teal);border-radius:34px 0 34px 0;
  display:flex;align-items:center;justify-content:center;transition:.2s;}
.quickband a:hover .tile{background:var(--teal-dark);transform:translateY(-4px);}
.quickband .tile img{width:82px;height:82px;object-fit:contain;}
.quickband .lbl{font-size:1.05rem;font-weight:500;line-height:1.25;}
.quickband .lbl b{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}

/* tagline */
.tagline{text-align:center;max-width:640px;margin:0 auto;padding:56px 24px;font-style:italic;
  color:var(--teal);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;font-weight:500;}

/* ==========================================================================
   OFFER ROWS (image beside text)
   ========================================================================== */
.offer{padding:20px 0;}
.offer .grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
  background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.offer .col-img .ph{border-radius:0;min-height:420px;height:100%;}
.offer .col-text{padding:48px 46px;display:flex;flex-direction:column;justify-content:center;}
.offer .grid.flip .col-img{order:2;}
.offer h2 sup{color:var(--teal);font-size:.5em;}
.offer .sub{font-weight:700;color:var(--teal);margin:2px 0 20px;font-size:1.05rem;}
.offer .price{color:var(--teal);}
.offer ul{margin:0 0 20px;padding:0;list-style:none;}
.offer ul li{position:relative;padding-left:28px;margin-bottom:7px;font-size:.94rem;}
.offer ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800;}
.offer .fineprint{font-size:.74rem;color:var(--muted);margin:8px 0 22px;line-height:1.6;}
.offer .btn{align-self:flex-start;}
.offer .smile-big{font-size:clamp(2rem,4vw,2.8rem);color:var(--teal);font-weight:800;
  line-height:1.05;margin-bottom:.1em;}
.offer .smile-sub{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:.5em;}

/* ---- Gap Free offer: full-bleed photo background, text on light right side ---- */
.offer-hero{position:relative;overflow:hidden;background:#eceeef;}
.offer-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;}
.offer-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(236,238,239,0) 40%,rgba(236,238,239,.82) 58%,rgba(236,238,239,.96) 74%);}
.offer-hero .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:66px 24px;
  display:flex;justify-content:flex-end;}
.offer-content{width:min(580px,55%);color:var(--ink);}
.offer-content .t1{font-family:'Raleway',sans-serif;font-weight:700;line-height:1.02;margin:0;
  color:var(--teal);text-transform:uppercase;font-size:clamp(2.3rem,4.6vw,3.4rem);}
.offer-content .t1 sup{font-size:.5em;top:-.6em;}
/* mirrored variant: photo on the right, text on the left */
.offer-hero.flip .offer-hero-bg{object-position:right center;}
.offer-hero.flip::after{background:linear-gradient(90deg,rgba(255,255,255,.96) 26%,rgba(255,255,255,.82) 44%,rgba(255,255,255,0) 62%);}
.offer-hero.flip .inner{justify-content:flex-start;}
.offer-content .t2{font-family:'Raleway',sans-serif;font-weight:400;line-height:1.08;margin:0 0 22px;
  font-size:clamp(1.9rem,3.8vw,2.8rem);color:var(--ink);}
.offer-content .t3{font-family:'Raleway',sans-serif;font-weight:300;margin:0 0 12px;
  font-size:clamp(1.1rem,2vw,1.45rem);color:var(--ink);}
.offer-content .inc{font-family:'Open Sans',sans-serif;font-weight:400;margin:0 0 8px;color:var(--ink);}
.offer-list{list-style:none;margin:0 0 20px;padding:0;font-family:'Open Sans',sans-serif;}
.offer-list li{position:relative;padding-left:30px;margin-bottom:9px;font-size:.98rem;color:#444;}
.offer-list li::before{content:"";position:absolute;left:3px;top:6px;width:13px;height:8px;
  border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);transform:rotate(-45deg);}
.offer-content .fine{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;
  color:var(--muted);margin:0 0 26px;line-height:1.6;max-width:520px;}
.offer-book{display:block;width:100%;background:var(--teal);color:#fff;font-family:'Raleway',sans-serif;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;text-align:center;
  padding:19px 24px;border-radius:28px 0 28px 0;transition:.2s;}
.offer-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
@media(max-width:820px){
  .offer-hero-bg{position:relative;height:auto;}
  .offer-hero::after{display:none;}
  .offer-hero .inner{display:block;padding:0 0 40px;}
  .offer-content{width:100%;padding:30px 24px 0;}
  .care-inner{grid-template-columns:1fr;min-height:0;}
  .care-bg{position:relative;height:260px;}
  .care.flip .care-panel{order:2;}
  .care.flip .care-spacer{order:1;}
  .care-spacer{display:none;}
  .care-panel.br,.care-panel.tl{border-radius:0;}
  .care-panel{padding:40px 24px;}
}

/* ==========================================================================
   FEATURE ROWS (Honest Care / Straightforward Approach / Get Started)
   ========================================================================== */
.feature{padding:70px 0;}
.feature.wash{background:var(--wash);}
.feature .grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.feature .grid.flip .col-img{order:2;}
.feature .col-img .ph{min-height:380px;height:100%;border-radius:20px;}
.feature .col-text h2 .hl{display:inline;}

/* ---- Care / Straightforward: full-bleed photo with an overlaid white curved panel ---- */
.care{position:relative;overflow:hidden;background:#fff;}
.care-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;}
.care.flip .care-bg{object-position:left center;}
.care-bg.ph{border-radius:0;border:none;}
.care-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;min-height:470px;}
.care-panel{background:#fff;padding:64px clamp(28px,4.5vw,60px);display:flex;flex-direction:column;
  justify-content:center;align-items:center;}
.care-panel>*{width:100%;max-width:430px;}
/* section 1: panel left, curve cut into its bottom-right */
.care-panel.br{border-bottom-right-radius:170px;}
/* section 2: panel right, curve cut into its top-left */
.care.flip .care-panel{order:2;}
.care.flip .care-spacer{order:1;}
.care-panel.tl{border-top-left-radius:170px;}
.care-panel.tr{border-top-right-radius:170px;}
.care-spacer{}
.care-panel h2{font-family:'Raleway',sans-serif;font-weight:300;color:#23383c;line-height:1.14;
  font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.6em;}
.care-panel h2 b{font-weight:700;}
.care-panel h2 .stack{display:block;}
.care-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.94rem;max-width:430px;}
.care-panel p a{color:var(--teal);font-weight:700;}

/* ==========================================================================
   MEET THE DENTISTS (dark teal panel + white cards)
   ========================================================================== */
.dentists{padding:0 0 70px;background:#fff;}
.dentists-hero{position:relative;background:#2C545C;padding:0;color:#fff;overflow:hidden;}
.dentists-hero img.team{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;
  position:absolute;inset:0;}
.dentists-hero .overlay{position:relative;z-index:2;min-height:720px;display:flex;flex-direction:column;
  justify-content:flex-end;align-items:center;text-align:center;padding:0 24px 150px;
  background:linear-gradient(to bottom,rgba(20,45,50,0) 40%,rgba(20,45,50,.4) 56%,rgba(20,45,50,.7) 80%);}
.dentists-hero h2{color:#fff;font-weight:300;margin-bottom:.5em;text-shadow:0 2px 14px rgba(0,0,0,.35);}
.dentists-hero h2 b{font-weight:800;}
.dentists-hero p{color:#e6f1f3;max-width:660px;margin:0 auto;font-size:.94rem;
  text-shadow:0 1px 10px rgba(0,0,0,.45);}
.dentists-hero .ph{border-radius:14px;min-height:300px;max-width:640px;margin:0 auto 30px;
  background:repeating-linear-gradient(45deg,#3a656d 0 16px,#345a62 16px 32px);border-color:#4a747c;
  color:#bcd6da;}
.dentists-hero h2{color:#fff;}
.dentists-hero p{color:#d4e5e8;max-width:720px;margin:0 auto;}
.dentist-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:920px;margin:-60px auto 0;
  position:relative;z-index:2;}
.dentist-card{background:#fff;border-radius:0;box-shadow:var(--shadow);padding:32px 32px 36px;}
.dentist-card h3 small{font-weight:500;color:var(--muted);font-size:.85rem;}
.quals{background:var(--wash);border-radius:0;padding:14px 18px;margin:16px 0 20px;font-size:.85rem;}
.quals strong{display:block;margin-bottom:6px;color:var(--teal);}
.quals ul{margin:0;padding-left:18px;}

/* ==========================================================================
   OUR DENTAL SERVICES (dark teal, tabbed)
   ========================================================================== */
.services{background:url('images/img-services.jpg') center/cover;color:#fff;padding:70px 0;}
.services h2{color:#fff;font-weight:300;margin-bottom:.1em;}
.services h2 .hl{color:#fff;font-weight:800;}
.services .layout{display:grid;grid-template-columns:320px 1fr;gap:56px;margin-top:34px;}
.tab-list{display:flex;flex-direction:column;gap:4px;}
.tab-list button{background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;
  color:#e2f0f2;font-weight:600;font-size:.82rem;letter-spacing:.07em;text-transform:uppercase;
  padding:10px 0;display:flex;align-items:center;gap:10px;transition:.2s ease;
  border-bottom:1px solid transparent;align-self:flex-start;}
.tab-list button::after{content:"→";font-size:.95em;}
.tab-list button:hover{color:#fff;transform:translateX(6px);}
.tab-list button.active{color:#fff;font-weight:700;transform:translateX(18px);
  border-bottom-color:rgba(255,255,255,.85);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-panel h3{color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;font-weight:600;
  margin-bottom:.7em;}
.tab-panel p{color:#dbeaec;max-width:560px;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.tab-panel .btn-book{margin-top:14px;background:rgba(78,142,154,.85);}
.tab-panel .btn-book:hover{background:var(--teal);}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{background:var(--faq);padding:70px 0;}
.faq .head{text-align:center;margin-bottom:26px;}
.faq .head h2{color:#3f6168;font-weight:300;font-size:clamp(1.8rem,3.4vw,2.4rem);}
.acc{max-width:800px;margin:0 auto;display:flex;flex-direction:column;}
.acc-item{background:none;border-radius:0;box-shadow:none;overflow:hidden;}
.acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 0;
  font-family:inherit;font-weight:400;font-size:1.02rem;color:#3f6168;display:flex;align-items:center;
  gap:14px;}
.acc-q .qtext{flex-shrink:0;}
.acc-q .leader{flex:1;border-bottom:1px dotted #9dc2c9;height:1px;margin-top:6px;}
.acc-q:hover{color:var(--teal);}
.acc-q .ico{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;line-height:1;
  transition:.2s;}
.acc-item.open .acc-q .ico{transform:none;}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc-a-inner{padding:4px 60px 18px 22px;color:#4a5457;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.acc-item.open .acc-a{max-height:400px;}

/* ==========================================================================
   HEALTH FUNDS
   ========================================================================== */
.funds{padding:64px 0;text-align:center;background:#fff;}
.funds h2{margin-bottom:.15em;font-weight:800;}
.funds .sub{color:var(--ink);max-width:900px;margin:0 auto 40px;font-weight:400;
  font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.3;font-family:'Raleway',sans-serif;}
.fund-logos{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;align-items:center;
  justify-items:center;}
.fund-logos img{width:100%;max-width:150px;height:auto;object-fit:contain;}
.funds .note{font-size:.76rem;color:var(--muted);margin-top:26px;font-style:italic;}

/* ==========================================================================
   PAYMENT PLANS + CONTACT CTA + MAP
   ========================================================================== */
.payment{background:var(--teal);color:#fff;text-align:center;padding:46px 24px 42px;}
.payment h2{color:#fff;font-weight:300;margin-bottom:.45em;font-size:clamp(1.7rem,3.4vw,2.3rem);}
.payment .ask{color:#fff;font-weight:700;font-size:clamp(1rem,1.9vw,1.2rem);margin:0;}
.contact-cta{background:#466167;color:#fff;padding:30px 24px;}
.contact-cta .container{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center;}
.contact-cta .phone{font-size:1.45rem;font-weight:700;display:flex;align-items:center;gap:12px;}
.contact-cta .phone svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.8;}
.contact-cta .btn-book{padding:15px 60px;font-weight:400;letter-spacing:.06em;font-size:.92rem;}
.map{line-height:0;}
.map iframe{display:block;width:100%;height:400px;border:0;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:#fff;padding:58px 0;color:var(--ink);border-top:1px solid var(--line);}
.footer .fc-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start;}
.footer h2{font-size:1.4rem;}
.footer .addr{color:var(--muted);font-size:.95rem;}
.footer .addr strong{color:var(--ink);display:block;margin-top:14px;}
.footer .fc-hours h4{color:var(--teal);margin-bottom:8px;}
.footer .fc-hours table{width:100%;border-collapse:collapse;font-size:.88rem;max-width:360px;}
.footer .fc-hours td{padding:7px 0;border-bottom:1px solid var(--line);}
.footer .fc-hours td:last-child{text-align:right;color:var(--muted);}
.footer-bottom{background:#000;margin-top:0;padding:18px 0;border-top:none;}
.footer-bottom .container{max-width:1440px;}
.fb-grid{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:start;}
.fb-addr{margin:0;font-size:.76rem;line-height:1.65;color:#fff;font-weight:700;}
.fb-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.fb-email{display:flex;align-items:center;gap:10px;}
.fb-email .email-link{font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.04em;
  width:auto;height:auto;background:none;border-radius:0;text-decoration:underline;}
.fb-email .email-link:hover{color:#bcd6da;}
.fb-email a{width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  border-radius:4px;background:#fff;color:#000;font-size:.68rem;font-weight:800;}
.fb-email a.fb{background:#1877F2;color:#fff;border-radius:50%;}
.fb-email a.x{background:#000;color:#fff;border:1px solid #555;}
.fb-email a.em{background:#9aa0a6;color:#fff;}
.footer-links{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0;font-size:.74rem;
  align-items:center;}
.footer-links li:not(:last-child)::after{content:"|";color:#fff;margin:0 8px;text-decoration:none;
  display:inline-block;}
.footer-links a{color:#fff;text-decoration:underline;}
.footer-links a:hover{color:#bcd6da;}
.smile-credit{text-align:right;font-size:.74rem;color:#fff;padding:0;margin:0;}

/* ---------- Floating offer badge ---------- */
.badge{position:fixed;right:18px;bottom:18px;width:186px;height:186px;border-radius:50%;
  background:url('images/stickybutton-2025.png') center/cover no-repeat;
  box-shadow:0 10px 30px rgba(0,0,0,.28);z-index:150;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:0 8px;gap:8px;color:#fff;transition:transform .2s ease;overflow:hidden;}
.badge:hover{transform:scale(1.05);color:#fff;}
.badge .pill{background:#fff;color:#1b2a32;font-weight:700;line-height:1.2;border-radius:7px;
  padding:6px 10px;width:auto;max-width:74%;}
.badge .pill.top{font-size:.8rem;}
.badge .pill.cta{font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;padding:7px 14px;
  max-width:66%;}
.badge .mid{font-size:.72rem;font-weight:700;line-height:1.35;color:#fff;padding:0 4px;
  text-shadow:0 1px 4px rgba(0,0,0,.28);}

/* ---------- Cookie bar ---------- */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;margin:0 auto;background:#fff;
  color:var(--ink);box-shadow:0 12px 50px rgba(0,0,0,.22);border-radius:14px;padding:20px 24px;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;z-index:200;font-size:.85rem;line-height:1.6;}
.cookie-bar p{margin:0;flex:1 1 320px;color:var(--muted);}
.cookie-bar .btns{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-bar button{font-size:.76rem;padding:9px 16px;border-radius:50px;cursor:pointer;font-family:inherit;
  font-weight:700;border:2px solid var(--teal);}
.cookie-bar .ghost{background:#fff;color:var(--teal);}
.cookie-bar .solid{background:var(--teal);color:#fff;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
.nav-overlay{display:none;}
@media(max-width:940px){
  .menu-toggle{display:block;}
  .nav-row{display:none;}
  .nav-row.open{display:block;position:fixed;top:0;right:0;height:100vh;width:min(340px,86vw);
    background:#fff;box-shadow:-6px 0 30px rgba(0,0,0,.15);padding:70px 18px 30px;overflow-y:auto;
    z-index:100;border-top:none;}
  .nav>ul{flex-direction:column;gap:0;width:100%;align-items:stretch;}
  .nav>ul>li>a{padding:12px 10px;border-bottom:1px solid var(--line);}
  .submenu,.submenu .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    background:var(--wash);margin:0;padding:0 0 6px 10px;min-width:0;}
  .nav .book-online>a{margin:8px 0 0;display:inline-block;}
  .nav-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90;}
  .quickband .grid{grid-template-columns:1fr 1fr;}
  .fund-logos{grid-template-columns:repeat(4,1fr);gap:22px;}
  .offer .grid,.offer .grid.flip .col-img,.feature .grid,.feature .grid.flip .col-img,
  .dentist-cards,.footer .fc-grid{grid-template-columns:1fr;}
  .offer .grid.flip .col-img,.feature .grid.flip .col-img{order:0;}
  .services .layout{grid-template-columns:1fr;}
  .tab-list{flex-direction:row;flex-wrap:wrap;gap:8px;}
  .tab-list button{border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:9px 15px;}
  .tab-list button.active{background:var(--teal);}
}
@media(max-width:560px){
  .quickband .grid{grid-template-columns:1fr;}
  .fund-logos{grid-template-columns:repeat(2,1fr);}
  .offer .col-text,.feature{padding-left:22px;padding-right:22px;}
  .offer .col-text{padding:34px 26px;}
  .badge{width:150px;height:150px;gap:5px;}
  .badge .pill.top{font-size:.66rem;}
  .badge .pill.cta{font-size:.62rem;}
  .badge .mid{font-size:.6rem;}
}

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
:root{--green:#16922F;}
.page-head{padding:52px 0 10px;}
.page-head h1{font-weight:300;color:#3a4a4e;font-size:clamp(2rem,4.4vw,3rem);margin:0;}

.about-intro{padding:26px 0 60px;}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.ai-text h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.5em;}
.ai-text h2.mt{margin-top:1.6em;}
.ai-text p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.ai-text p a{color:var(--teal);font-weight:600;}
.pullquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:1rem;line-height:1.7;}
.ai-text .btn-book{margin:6px 0 4px;}
.ai-img .ph{min-height:400px;border-radius:60px 0 60px 0;}
.ai-img img{width:100%;height:auto;display:block;border-radius:60px 0 60px 0;}

.approach{position:relative;padding:0 24px 60px;}
.approach-bg{display:block;width:100%;max-width:1180px;height:auto;margin:0 auto;}
.approach .container{position:relative;z-index:2;}
.approach-panel{background:rgba(255,255,255,.95);padding:34px 40px 8px;
  max-width:900px;margin:-40px auto 0;}
.approach-panel h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.6em;}
.approach-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.approach-panel p a{color:var(--teal);font-weight:700;}

.about-cols{padding:20px 0 40px;}
.ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.ac-left h2,.ac-right h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.4vw,1.7rem);
  margin-bottom:.5em;}
.ac-left h2 .plus{color:var(--teal);font-weight:400;}
.ac-left p,.ac-right p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;}
.ac-left p a,.ac-right p a{color:var(--teal);font-weight:700;}
.ac-right{background:#F1F1F1;padding:30px 34px;}

.page-foot{padding:26px 0 54px;text-align:center;}
.diamond-rule{position:relative;height:14px;margin-bottom:34px;}
.diamond-rule::before{content:"";position:absolute;top:50%;left:0;right:0;height:0;
  border-top:2px dotted #bcd9c4;}
.diamond-rule .diamond{position:absolute;left:50%;top:50%;width:13px;height:13px;
  background:var(--green);transform:translate(-50%,-50%) rotate(45deg);}
.page-foot-title{font-weight:300;color:#3a4a4e;font-size:clamp(1.1rem,2.2vw,1.45rem);margin:0;}

@media(max-width:820px){
  .ai-grid,.ac-grid{grid-template-columns:1fr;gap:32px;}
  .ai-img .ph,.ai-img img{border-radius:0;min-height:280px;}
  .approach-bg{height:auto;}
  .approach-panel{padding:26px 22px 4px;margin:-40px auto 0;max-width:100%;}
}


/* ==========================================================================
   FUND MY DENTAL
   ========================================================================== */
.fmd{padding:26px 0 30px;}
.fmd-head-row{display:grid;grid-template-columns:1fr minmax(240px,340px);gap:40px;align-items:start;}
.fmd-intro .fmd-logo{margin-top:6px;}
.fmd-photo{width:100%;height:auto;margin:0;border-radius:40px 0 40px 0;display:block;}
.fmd-logo{display:block;height:52px;width:auto;margin:0 0 26px;}
.fmd p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;line-height:1.7;margin:0 0 14px;}
.fmd p a{color:var(--teal);font-weight:700;}
.fmd .btn-book{margin:8px 0 6px;}
.fmd h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.4rem,2.7vw,1.9rem);margin:1.4em 0 .2em;}
.fmd .pullquote{margin:12px 0 18px;padding:2px 0 2px 18px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:.98rem;}
.fmd-list{list-style:none;margin:0 0 18px;padding:0;}
.fmd-list li{position:relative;padding-left:28px;margin-bottom:12px;font-family:'Open Sans',sans-serif;
  color:#4a5457;font-size:.94rem;line-height:1.6;}
.fmd-list li::before{content:"";position:absolute;left:2px;top:6px;width:11px;height:11px;
  background:var(--green);transform:rotate(45deg);}
.fmd-list li strong{color:#3a4a4e;}
@media(max-width:640px){
  .fmd-head-row{grid-template-columns:1fr;gap:24px;}
  .fmd-photo{max-width:340px;}
}


/* ---- from general-dentistry.html ---- */

/* ==========================================================================
   PRINCETON DENTAL — homepage recreation
   Palette taken from the live site. Change these variables to re-skin.
   ========================================================================== */
:root{
  --teal:       #4E8E9A;   /* primary teal — buttons, links, accents         */
  --teal-dark:  #3C7079;   /* hover                                          */
  --teal-deep:  #2C545C;   /* dark panels: dentists, services, contact strip */
  --ink:        #333333;   /* body + heading text                            */
  --muted:      #6A7578;   /* secondary text                                 */
  --faq:        #E0F9FE;   /* FAQ section background                          */
  --wash:       #F3FAFB;   /* very light teal wash for alt sections           */
  --line:       #E2EBEC;
  --white:      #FFFFFF;
  --shadow:     0 14px 44px rgba(44,84,92,.14);
  --radius:     14px;
  --maxw:       1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:'Raleway',system-ui,-apple-system,Segoe UI,sans-serif;
  font-weight:400;line-height:1.75;color:var(--ink);background:var(--white);font-size:16px;
  letter-spacing:.01em;
}
h1,h2,h3,h4{font-family:'Raleway',sans-serif;font-weight:800;line-height:1.22;
  letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.3rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);}
h3{font-size:clamp(1.15rem,2vw,1.5rem);}
p{margin:0 0 1.1em;}
a{color:var(--teal);text-decoration:none;}
a:hover{color:var(--teal-dark);}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.site{background:#fff;overflow:hidden;}
.center{text-align:center;}
.hl{color:var(--teal);}
.thin{font-weight:400;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  font-size:.78rem;padding:14px 32px;border-radius:50px;cursor:pointer;border:2px solid transparent;
  transition:.2s ease;}
.btn-primary{background:var(--teal);color:#fff;}
/* Book Online button: top-left + bottom-right rounded, other corners square */
.btn-book{display:inline-flex;align-items:center;gap:9px;background:var(--teal);color:#fff;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;
  padding:14px 28px;border:2px solid transparent;cursor:pointer;transition:.2s ease;
  border-radius:18px 0 18px 0;}
.btn-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-book svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.hero-cta{align-self:flex-start;padding:19px 52px;font-size:.95rem;border-radius:24px 0 24px 0;margin-top:20px;}
.btn-primary:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal);}
.btn-outline:hover{background:var(--teal);color:#fff;}
.btn-light{background:#fff;color:var(--teal);}
.btn-light:hover{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep);}
.btn-white-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-white-outline:hover{background:#fff;color:var(--teal);}

/* ---------- Image placeholders ---------- */
.ph{position:relative;background:repeating-linear-gradient(45deg,#eef3f3 0 14px,#e6edee 14px 28px);
  border:1px dashed #aebdbd;border-radius:var(--radius);display:flex;align-items:center;
  justify-content:center;text-align:center;color:#6f807f;font-size:.8rem;font-weight:600;
  letter-spacing:.02em;padding:16px;min-height:120px;overflow:hidden;}
.ph span{display:block;line-height:1.5;}
.ph small{display:block;font-weight:500;opacity:.72;margin-top:4px;font-size:.72rem;}

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.topbar{background:var(--teal-deep);color:#dcedef;font-size:.85rem;}
.topbar .container{display:flex;align-items:center;gap:20px;min-height:44px;flex-wrap:wrap;}
.topbar a{color:#dcedef;}
.topbar a:hover{color:#fff;}
.tb-promo{margin-right:auto;font-weight:600;}
.tb-promo a{text-decoration:none;}
.tb-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto;}
.tb-socials{display:flex;gap:8px;}
.tb-socials a{width:26px;height:26px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;}
.tb-socials a:hover{background:#fff;color:var(--teal-deep);}
.hours-toggle{position:relative;cursor:pointer;}
.hours-panel{position:absolute;top:130%;right:0;background:#fff;color:var(--ink);
  box-shadow:var(--shadow);border-radius:10px;padding:16px 20px;width:250px;z-index:60;display:none;}
.hours-toggle:hover .hours-panel,.hours-panel:hover{display:block;}
.hours-panel h4{font-size:.95rem;margin-bottom:10px;color:var(--teal);}
.hours-panel table{width:100%;border-collapse:collapse;font-size:.8rem;}
.hours-panel td{padding:4px 0;border-bottom:1px solid var(--line);}
.hours-panel td:last-child{text-align:right;color:var(--muted);}

/* ==========================================================================
   HEADER (two rows: brand row + nav row)
   ========================================================================== */
.header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px rgba(0,0,0,.07);}
.brand-row{display:flex;align-items:center;gap:24px;padding:16px 0 10px;}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{height:46px;width:auto;display:block;}
.call-now{margin-left:auto;font-size:.9rem;color:var(--ink);font-weight:600;}
.call-now strong{color:var(--teal);}
.menu-toggle{display:none;background:none;border:2px solid var(--line);border-radius:8px;
  padding:8px 12px;font-weight:700;cursor:pointer;color:var(--ink);font-family:inherit;margin-left:auto;}

.nav-row{border-top:1px solid var(--line);}
.nav{display:flex;justify-content:center;}
.nav>ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap;justify-content:center;}
.nav>ul>li{position:relative;}
.nav>ul>li>a{display:block;padding:14px 15px;font-weight:700;font-size:.82rem;color:var(--ink);
  letter-spacing:.04em;text-transform:uppercase;}
.nav>ul>li>a:hover{color:var(--teal);}
.nav .has-sub>a::after{content:"▾";font-size:.7em;margin-left:5px;color:var(--muted);}
.submenu{position:absolute;top:100%;left:0;background:#fff;min-width:250px;box-shadow:var(--shadow);
  border-radius:10px;padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.18s ease;z-index:40;}
.nav li:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu li{position:relative;}
.submenu a{display:block;padding:9px 14px;border-radius:7px;font-size:.82rem;font-weight:600;
  color:var(--ink);text-transform:none;letter-spacing:0;}
.submenu a:hover{background:var(--wash);color:var(--teal);}
.submenu .has-sub>a::after{content:"›";float:right;color:var(--muted);}
.submenu .submenu{top:0;left:100%;margin-left:4px;}
.nav .book-online>a{background:var(--teal);color:#fff;border-radius:18px 0 18px 0;margin:6px 0 0 8px;
  padding:11px 20px;display:inline-flex;align-items:center;gap:8px;}
.nav .book-online>a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.nav .book-online>a:hover{background:var(--teal-dark);color:#fff;}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;overflow:hidden;}
.hero-bg{display:block;width:100%;height:auto;}
.hero-inner{position:absolute;inset:0;z-index:2;max-width:var(--maxw);margin:0 auto;
  padding:0 24px;display:flex;flex-direction:column;justify-content:center;}
.hero h1{color:#23383c;max-width:620px;font-size:clamp(2.4rem,5.6vw,4rem);}
.hero h1 .light{font-weight:300;display:block;font-size:.6em;letter-spacing:.01em;margin-bottom:.15em;color:#3f5457;}
.hero .btn{margin-top:12px;}

/* quick links band */
.quickband{background:linear-gradient(rgba(44,84,92,.35),rgba(44,84,92,.45)),url('images/background_banners1.jpg') center/cover;padding:56px 0;}
.quickband .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:920px;margin:0 auto;}
.quickband a{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;text-align:center;transition:.2s;}
.quickband .tile{width:136px;height:136px;background:var(--teal);border-radius:34px 0 34px 0;
  display:flex;align-items:center;justify-content:center;transition:.2s;}
.quickband a:hover .tile{background:var(--teal-dark);transform:translateY(-4px);}
.quickband .tile img{width:82px;height:82px;object-fit:contain;}
.quickband .lbl{font-size:1.05rem;font-weight:500;line-height:1.25;}
.quickband .lbl b{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}

/* tagline */
.tagline{text-align:center;max-width:640px;margin:0 auto;padding:56px 24px;font-style:italic;
  color:var(--teal);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;font-weight:500;}

/* ==========================================================================
   OFFER ROWS (image beside text)
   ========================================================================== */
.offer{padding:20px 0;}
.offer .grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
  background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.offer .col-img .ph{border-radius:0;min-height:420px;height:100%;}
.offer .col-text{padding:48px 46px;display:flex;flex-direction:column;justify-content:center;}
.offer .grid.flip .col-img{order:2;}
.offer h2 sup{color:var(--teal);font-size:.5em;}
.offer .sub{font-weight:700;color:var(--teal);margin:2px 0 20px;font-size:1.05rem;}
.offer .price{color:var(--teal);}
.offer ul{margin:0 0 20px;padding:0;list-style:none;}
.offer ul li{position:relative;padding-left:28px;margin-bottom:7px;font-size:.94rem;}
.offer ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800;}
.offer .fineprint{font-size:.74rem;color:var(--muted);margin:8px 0 22px;line-height:1.6;}
.offer .btn{align-self:flex-start;}
.offer .smile-big{font-size:clamp(2rem,4vw,2.8rem);color:var(--teal);font-weight:800;
  line-height:1.05;margin-bottom:.1em;}
.offer .smile-sub{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:.5em;}

/* ---- Gap Free offer: full-bleed photo background, text on light right side ---- */
.offer-hero{position:relative;overflow:hidden;background:#eceeef;}
.offer-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;}
.offer-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(236,238,239,0) 40%,rgba(236,238,239,.82) 58%,rgba(236,238,239,.96) 74%);}
.offer-hero .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:66px 24px;
  display:flex;justify-content:flex-end;}
.offer-content{width:min(580px,55%);color:var(--ink);}
.offer-content .t1{font-family:'Raleway',sans-serif;font-weight:700;line-height:1.02;margin:0;
  color:var(--teal);text-transform:uppercase;font-size:clamp(2.3rem,4.6vw,3.4rem);}
.offer-content .t1 sup{font-size:.5em;top:-.6em;}
/* mirrored variant: photo on the right, text on the left */
.offer-hero.flip .offer-hero-bg{object-position:right center;}
.offer-hero.flip::after{background:linear-gradient(90deg,rgba(255,255,255,.96) 26%,rgba(255,255,255,.82) 44%,rgba(255,255,255,0) 62%);}
.offer-hero.flip .inner{justify-content:flex-start;}
.offer-content .t2{font-family:'Raleway',sans-serif;font-weight:400;line-height:1.08;margin:0 0 22px;
  font-size:clamp(1.9rem,3.8vw,2.8rem);color:var(--ink);}
.offer-content .t3{font-family:'Raleway',sans-serif;font-weight:300;margin:0 0 12px;
  font-size:clamp(1.1rem,2vw,1.45rem);color:var(--ink);}
.offer-content .inc{font-family:'Open Sans',sans-serif;font-weight:400;margin:0 0 8px;color:var(--ink);}
.offer-list{list-style:none;margin:0 0 20px;padding:0;font-family:'Open Sans',sans-serif;}
.offer-list li{position:relative;padding-left:30px;margin-bottom:9px;font-size:.98rem;color:#444;}
.offer-list li::before{content:"";position:absolute;left:3px;top:6px;width:13px;height:8px;
  border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);transform:rotate(-45deg);}
.offer-content .fine{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;
  color:var(--muted);margin:0 0 26px;line-height:1.6;max-width:520px;}
.offer-book{display:block;width:100%;background:var(--teal);color:#fff;font-family:'Raleway',sans-serif;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;text-align:center;
  padding:19px 24px;border-radius:28px 0 28px 0;transition:.2s;}
.offer-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
@media(max-width:820px){
  .offer-hero-bg{position:relative;height:auto;}
  .offer-hero::after{display:none;}
  .offer-hero .inner{display:block;padding:0 0 40px;}
  .offer-content{width:100%;padding:30px 24px 0;}
  .care-inner{grid-template-columns:1fr;min-height:0;}
  .care-bg{position:relative;height:260px;}
  .care.flip .care-panel{order:2;}
  .care.flip .care-spacer{order:1;}
  .care-spacer{display:none;}
  .care-panel.br,.care-panel.tl{border-radius:0;}
  .care-panel{padding:40px 24px;}
}

/* ==========================================================================
   FEATURE ROWS (Honest Care / Straightforward Approach / Get Started)
   ========================================================================== */
.feature{padding:70px 0;}
.feature.wash{background:var(--wash);}
.feature .grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.feature .grid.flip .col-img{order:2;}
.feature .col-img .ph{min-height:380px;height:100%;border-radius:20px;}
.feature .col-text h2 .hl{display:inline;}

/* ---- Care / Straightforward: full-bleed photo with an overlaid white curved panel ---- */
.care{position:relative;overflow:hidden;background:#fff;}
.care-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;}
.care.flip .care-bg{object-position:left center;}
.care-bg.ph{border-radius:0;border:none;}
.care-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;min-height:470px;}
.care-panel{background:#fff;padding:64px clamp(28px,4.5vw,60px);display:flex;flex-direction:column;
  justify-content:center;align-items:center;}
.care-panel>*{width:100%;max-width:430px;}
/* section 1: panel left, curve cut into its bottom-right */
.care-panel.br{border-bottom-right-radius:170px;}
/* section 2: panel right, curve cut into its top-left */
.care.flip .care-panel{order:2;}
.care.flip .care-spacer{order:1;}
.care-panel.tl{border-top-left-radius:170px;}
.care-panel.tr{border-top-right-radius:170px;}
.care-spacer{}
.care-panel h2{font-family:'Raleway',sans-serif;font-weight:300;color:#23383c;line-height:1.14;
  font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.6em;}
.care-panel h2 b{font-weight:700;}
.care-panel h2 .stack{display:block;}
.care-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.94rem;max-width:430px;}
.care-panel p a{color:var(--teal);font-weight:700;}

/* ==========================================================================
   MEET THE DENTISTS (dark teal panel + white cards)
   ========================================================================== */
.dentists{padding:0 0 70px;background:#fff;}
.dentists-hero{position:relative;background:#2C545C;padding:0;color:#fff;overflow:hidden;}
.dentists-hero img.team{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;
  position:absolute;inset:0;}
.dentists-hero .overlay{position:relative;z-index:2;min-height:720px;display:flex;flex-direction:column;
  justify-content:flex-end;align-items:center;text-align:center;padding:0 24px 150px;
  background:linear-gradient(to bottom,rgba(20,45,50,0) 40%,rgba(20,45,50,.4) 56%,rgba(20,45,50,.7) 80%);}
.dentists-hero h2{color:#fff;font-weight:300;margin-bottom:.5em;text-shadow:0 2px 14px rgba(0,0,0,.35);}
.dentists-hero h2 b{font-weight:800;}
.dentists-hero p{color:#e6f1f3;max-width:660px;margin:0 auto;font-size:.94rem;
  text-shadow:0 1px 10px rgba(0,0,0,.45);}
.dentists-hero .ph{border-radius:14px;min-height:300px;max-width:640px;margin:0 auto 30px;
  background:repeating-linear-gradient(45deg,#3a656d 0 16px,#345a62 16px 32px);border-color:#4a747c;
  color:#bcd6da;}
.dentists-hero h2{color:#fff;}
.dentists-hero p{color:#d4e5e8;max-width:720px;margin:0 auto;}
.dentist-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:920px;margin:-60px auto 0;
  position:relative;z-index:2;}
.dentist-card{background:#fff;border-radius:0;box-shadow:var(--shadow);padding:32px 32px 36px;}
.dentist-card h3 small{font-weight:500;color:var(--muted);font-size:.85rem;}
.quals{background:var(--wash);border-radius:0;padding:14px 18px;margin:16px 0 20px;font-size:.85rem;}
.quals strong{display:block;margin-bottom:6px;color:var(--teal);}
.quals ul{margin:0;padding-left:18px;}

/* ==========================================================================
   OUR DENTAL SERVICES (dark teal, tabbed)
   ========================================================================== */
.services{background:url('images/img-services.jpg') center/cover;color:#fff;padding:70px 0;}
.services h2{color:#fff;font-weight:300;margin-bottom:.1em;}
.services h2 .hl{color:#fff;font-weight:800;}
.services .layout{display:grid;grid-template-columns:320px 1fr;gap:56px;margin-top:34px;}
.tab-list{display:flex;flex-direction:column;gap:4px;}
.tab-list button{background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;
  color:#e2f0f2;font-weight:600;font-size:.82rem;letter-spacing:.07em;text-transform:uppercase;
  padding:10px 0;display:flex;align-items:center;gap:10px;transition:.2s ease;
  border-bottom:1px solid transparent;align-self:flex-start;}
.tab-list button::after{content:"→";font-size:.95em;}
.tab-list button:hover{color:#fff;transform:translateX(6px);}
.tab-list button.active{color:#fff;font-weight:700;transform:translateX(18px);
  border-bottom-color:rgba(255,255,255,.85);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-panel h3{color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;font-weight:600;
  margin-bottom:.7em;}
.tab-panel p{color:#dbeaec;max-width:560px;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.tab-panel .btn-book{margin-top:14px;background:rgba(78,142,154,.85);}
.tab-panel .btn-book:hover{background:var(--teal);}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{background:var(--faq);padding:70px 0;}
.faq .head{text-align:center;margin-bottom:26px;}
.faq .head h2{color:#3f6168;font-weight:300;font-size:clamp(1.8rem,3.4vw,2.4rem);}
.acc{max-width:800px;margin:0 auto;display:flex;flex-direction:column;}
.acc-item{background:none;border-radius:0;box-shadow:none;overflow:hidden;}
.acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 0;
  font-family:inherit;font-weight:400;font-size:1.02rem;color:#3f6168;display:flex;align-items:center;
  gap:14px;}
.acc-q .qtext{flex-shrink:0;}
.acc-q .leader{flex:1;border-bottom:1px dotted #9dc2c9;height:1px;margin-top:6px;}
.acc-q:hover{color:var(--teal);}
.acc-q .ico{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;line-height:1;
  transition:.2s;}
.acc-item.open .acc-q .ico{transform:none;}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc-a-inner{padding:4px 60px 18px 22px;color:#4a5457;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.acc-item.open .acc-a{max-height:400px;}

/* ==========================================================================
   HEALTH FUNDS
   ========================================================================== */
.funds{padding:64px 0;text-align:center;background:#fff;}
.funds h2{margin-bottom:.15em;font-weight:800;}
.funds .sub{color:var(--ink);max-width:900px;margin:0 auto 40px;font-weight:400;
  font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.3;font-family:'Raleway',sans-serif;}
.fund-logos{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;align-items:center;
  justify-items:center;}
.fund-logos img{width:100%;max-width:150px;height:auto;object-fit:contain;}
.funds .note{font-size:.76rem;color:var(--muted);margin-top:26px;font-style:italic;}

/* ==========================================================================
   PAYMENT PLANS + CONTACT CTA + MAP
   ========================================================================== */
.payment{background:var(--teal);color:#fff;text-align:center;padding:46px 24px 42px;}
.payment h2{color:#fff;font-weight:300;margin-bottom:.45em;font-size:clamp(1.7rem,3.4vw,2.3rem);}
.payment .ask{color:#fff;font-weight:700;font-size:clamp(1rem,1.9vw,1.2rem);margin:0;}
.contact-cta{background:#466167;color:#fff;padding:30px 24px;}
.contact-cta .container{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center;}
.contact-cta .phone{font-size:1.45rem;font-weight:700;display:flex;align-items:center;gap:12px;}
.contact-cta .phone svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.8;}
.contact-cta .btn-book{padding:15px 60px;font-weight:400;letter-spacing:.06em;font-size:.92rem;}
.map{line-height:0;}
.map iframe{display:block;width:100%;height:400px;border:0;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:#fff;padding:58px 0;color:var(--ink);border-top:1px solid var(--line);}
.footer .fc-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start;}
.footer h2{font-size:1.4rem;}
.footer .addr{color:var(--muted);font-size:.95rem;}
.footer .addr strong{color:var(--ink);display:block;margin-top:14px;}
.footer .fc-hours h4{color:var(--teal);margin-bottom:8px;}
.footer .fc-hours table{width:100%;border-collapse:collapse;font-size:.88rem;max-width:360px;}
.footer .fc-hours td{padding:7px 0;border-bottom:1px solid var(--line);}
.footer .fc-hours td:last-child{text-align:right;color:var(--muted);}
.footer-bottom{background:#000;margin-top:0;padding:18px 0;border-top:none;}
.footer-bottom .container{max-width:1440px;}
.fb-grid{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:start;}
.fb-addr{margin:0;font-size:.76rem;line-height:1.65;color:#fff;font-weight:700;}
.fb-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.fb-email{display:flex;align-items:center;gap:10px;}
.fb-email .email-link{font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.04em;
  width:auto;height:auto;background:none;border-radius:0;text-decoration:underline;}
.fb-email .email-link:hover{color:#bcd6da;}
.fb-email a{width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  border-radius:4px;background:#fff;color:#000;font-size:.68rem;font-weight:800;}
.fb-email a.fb{background:#1877F2;color:#fff;border-radius:50%;}
.fb-email a.x{background:#000;color:#fff;border:1px solid #555;}
.fb-email a.em{background:#9aa0a6;color:#fff;}
.footer-links{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0;font-size:.74rem;
  align-items:center;}
.footer-links li:not(:last-child)::after{content:"|";color:#fff;margin:0 8px;text-decoration:none;
  display:inline-block;}
.footer-links a{color:#fff;text-decoration:underline;}
.footer-links a:hover{color:#bcd6da;}
.smile-credit{text-align:right;font-size:.74rem;color:#fff;padding:0;margin:0;}

/* ---------- Floating offer badge ---------- */
.badge{position:fixed;right:18px;bottom:18px;width:186px;height:186px;border-radius:50%;
  background:url('images/stickybutton-2025.png') center/cover no-repeat;
  box-shadow:0 10px 30px rgba(0,0,0,.28);z-index:150;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:0 8px;gap:8px;color:#fff;transition:transform .2s ease;overflow:hidden;}
.badge:hover{transform:scale(1.05);color:#fff;}
.badge .pill{background:#fff;color:#1b2a32;font-weight:700;line-height:1.2;border-radius:7px;
  padding:6px 10px;width:auto;max-width:74%;}
.badge .pill.top{font-size:.8rem;}
.badge .pill.cta{font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;padding:7px 14px;
  max-width:66%;}
.badge .mid{font-size:.72rem;font-weight:700;line-height:1.35;color:#fff;padding:0 4px;
  text-shadow:0 1px 4px rgba(0,0,0,.28);}

/* ---------- Cookie bar ---------- */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;margin:0 auto;background:#fff;
  color:var(--ink);box-shadow:0 12px 50px rgba(0,0,0,.22);border-radius:14px;padding:20px 24px;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;z-index:200;font-size:.85rem;line-height:1.6;}
.cookie-bar p{margin:0;flex:1 1 320px;color:var(--muted);}
.cookie-bar .btns{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-bar button{font-size:.76rem;padding:9px 16px;border-radius:50px;cursor:pointer;font-family:inherit;
  font-weight:700;border:2px solid var(--teal);}
.cookie-bar .ghost{background:#fff;color:var(--teal);}
.cookie-bar .solid{background:var(--teal);color:#fff;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
.nav-overlay{display:none;}
@media(max-width:940px){
  .menu-toggle{display:block;}
  .nav-row{display:none;}
  .nav-row.open{display:block;position:fixed;top:0;right:0;height:100vh;width:min(340px,86vw);
    background:#fff;box-shadow:-6px 0 30px rgba(0,0,0,.15);padding:70px 18px 30px;overflow-y:auto;
    z-index:100;border-top:none;}
  .nav>ul{flex-direction:column;gap:0;width:100%;align-items:stretch;}
  .nav>ul>li>a{padding:12px 10px;border-bottom:1px solid var(--line);}
  .submenu,.submenu .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    background:var(--wash);margin:0;padding:0 0 6px 10px;min-width:0;}
  .nav .book-online>a{margin:8px 0 0;display:inline-block;}
  .nav-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90;}
  .quickband .grid{grid-template-columns:1fr 1fr;}
  .fund-logos{grid-template-columns:repeat(4,1fr);gap:22px;}
  .offer .grid,.offer .grid.flip .col-img,.feature .grid,.feature .grid.flip .col-img,
  .dentist-cards,.footer .fc-grid{grid-template-columns:1fr;}
  .offer .grid.flip .col-img,.feature .grid.flip .col-img{order:0;}
  .services .layout{grid-template-columns:1fr;}
  .tab-list{flex-direction:row;flex-wrap:wrap;gap:8px;}
  .tab-list button{border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:9px 15px;}
  .tab-list button.active{background:var(--teal);}
}
@media(max-width:560px){
  .quickband .grid{grid-template-columns:1fr;}
  .fund-logos{grid-template-columns:repeat(2,1fr);}
  .offer .col-text,.feature{padding-left:22px;padding-right:22px;}
  .offer .col-text{padding:34px 26px;}
  .badge{width:150px;height:150px;gap:5px;}
  .badge .pill.top{font-size:.66rem;}
  .badge .pill.cta{font-size:.62rem;}
  .badge .mid{font-size:.6rem;}
}

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
:root{--green:#16922F;}
.page-head{padding:52px 0 10px;}
.page-head h1{font-weight:300;color:#3a4a4e;font-size:clamp(2rem,4.4vw,3rem);margin:0;}

.about-intro{padding:26px 0 60px;}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.ai-text h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.5em;}
.ai-text h2.mt{margin-top:1.6em;}
.ai-text p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.ai-text p a{color:var(--teal);font-weight:600;}
.pullquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:1rem;line-height:1.7;}
.ai-text .btn-book{margin:6px 0 4px;}
.ai-img .ph{min-height:400px;border-radius:60px 0 60px 0;}
.ai-img img{width:100%;height:auto;display:block;border-radius:60px 0 60px 0;}

.approach{position:relative;padding:0 24px 60px;}
.approach-bg{display:block;width:100%;max-width:1180px;height:auto;margin:0 auto;}
.approach .container{position:relative;z-index:2;}
.approach-panel{background:rgba(255,255,255,.95);padding:34px 40px 8px;
  max-width:900px;margin:-40px auto 0;}
.approach-panel h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.6em;}
.approach-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.approach-panel p a{color:var(--teal);font-weight:700;}

.about-cols{padding:20px 0 40px;}
.ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.ac-left h2,.ac-right h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.4vw,1.7rem);
  margin-bottom:.5em;}
.ac-left h2 .plus{color:var(--teal);font-weight:400;}
.ac-left p,.ac-right p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;}
.ac-left p a,.ac-right p a{color:var(--teal);font-weight:700;}
.ac-right{background:#F1F1F1;padding:30px 34px;}

.page-foot{padding:26px 0 54px;text-align:center;}
.diamond-rule{position:relative;height:14px;margin-bottom:34px;}
.diamond-rule::before{content:"";position:absolute;top:50%;left:0;right:0;height:0;
  border-top:2px dotted #bcd9c4;}
.diamond-rule .diamond{position:absolute;left:50%;top:50%;width:13px;height:13px;
  background:var(--green);transform:translate(-50%,-50%) rotate(45deg);}
.page-foot-title{font-weight:300;color:#3a4a4e;font-size:clamp(1.1rem,2.2vw,1.45rem);margin:0;}

@media(max-width:820px){
  .ai-grid,.ac-grid{grid-template-columns:1fr;gap:32px;}
  .ai-img .ph,.ai-img img{border-radius:0;min-height:280px;}
  .approach-bg{height:auto;}
  .approach-panel{padding:26px 22px 4px;margin:-40px auto 0;max-width:100%;}
}


/* ==========================================================================
   SERVICE DETAIL PAGE (General Dentistry)
   ========================================================================== */
.svcd-intro{padding:44px 0 30px;}
.svcd-intro h1{font-weight:300;color:#4a4a4a;font-size:clamp(1.9rem,4vw,2.6rem);margin:0 0 18px;}
.svcd-intro p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;line-height:1.7;margin:0 0 16px;}
.svcd-intro p a{color:var(--teal);font-weight:700;}
.svcd-intro .pullquote{margin:16px 0 22px;padding:4px 0 4px 20px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:.98rem;line-height:1.7;}

.svcd-rows{padding:6px 0 30px;}
.svcd-card{display:grid;grid-template-columns:200px 1fr;gap:34px;align-items:start;
  background:#fff;border:1px solid #e6e6e6;border-radius:0 14px 14px 14px;
  box-shadow:0 6px 18px rgba(0,0,0,.05);padding:26px 30px;margin-bottom:22px;}
.svcd-img img{width:100%;height:auto;display:block;border-radius:22px 0 22px 0;}
.svcd-body h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.5vw,1.65rem);margin:0 0 .5em;}
.svcd-body p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.9rem;line-height:1.7;margin:0 0 12px;}
.svcd-body p:last-child{margin-bottom:0;}
.svcd-body strong{color:var(--teal);}

.svcd-cta{padding:14px 0 30px;}
.svcd-cta-box{background:#EDEDED;border-radius:0 14px 14px 14px;padding:36px 40px;}
.svcd-cta-box h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.6vw,1.75rem);margin:0 0 .5em;}
.svcd-cta-box p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;margin:0 0 12px;}
.svcd-cta-box .btn-book{margin-top:6px;}
.svcd-disclaimer{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;color:#7b8588;
  line-height:1.6;margin:22px 0 0;}

@media(max-width:680px){
  .svcd-card{grid-template-columns:1fr;gap:18px;}
  .svcd-img{max-width:280px;}
}


/* ---- from meet-the-dentists.html ---- */

/* ==========================================================================
   PRINCETON DENTAL — homepage recreation
   Palette taken from the live site. Change these variables to re-skin.
   ========================================================================== */
:root{
  --teal:       #4E8E9A;   /* primary teal — buttons, links, accents         */
  --teal-dark:  #3C7079;   /* hover                                          */
  --teal-deep:  #2C545C;   /* dark panels: dentists, services, contact strip */
  --ink:        #333333;   /* body + heading text                            */
  --muted:      #6A7578;   /* secondary text                                 */
  --faq:        #E0F9FE;   /* FAQ section background                          */
  --wash:       #F3FAFB;   /* very light teal wash for alt sections           */
  --line:       #E2EBEC;
  --white:      #FFFFFF;
  --shadow:     0 14px 44px rgba(44,84,92,.14);
  --radius:     14px;
  --maxw:       1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:'Raleway',system-ui,-apple-system,Segoe UI,sans-serif;
  font-weight:400;line-height:1.75;color:var(--ink);background:var(--white);font-size:16px;
  letter-spacing:.01em;
}
h1,h2,h3,h4{font-family:'Raleway',sans-serif;font-weight:800;line-height:1.22;
  letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.3rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);}
h3{font-size:clamp(1.15rem,2vw,1.5rem);}
p{margin:0 0 1.1em;}
a{color:var(--teal);text-decoration:none;}
a:hover{color:var(--teal-dark);}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.site{background:#fff;overflow:hidden;}
.center{text-align:center;}
.hl{color:var(--teal);}
.thin{font-weight:400;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  font-size:.78rem;padding:14px 32px;border-radius:50px;cursor:pointer;border:2px solid transparent;
  transition:.2s ease;}
.btn-primary{background:var(--teal);color:#fff;}
/* Book Online button: top-left + bottom-right rounded, other corners square */
.btn-book{display:inline-flex;align-items:center;gap:9px;background:var(--teal);color:#fff;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;
  padding:14px 28px;border:2px solid transparent;cursor:pointer;transition:.2s ease;
  border-radius:18px 0 18px 0;}
.btn-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-book svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.hero-cta{align-self:flex-start;padding:19px 52px;font-size:.95rem;border-radius:24px 0 24px 0;margin-top:20px;}
.btn-primary:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal);}
.btn-outline:hover{background:var(--teal);color:#fff;}
.btn-light{background:#fff;color:var(--teal);}
.btn-light:hover{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep);}
.btn-white-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-white-outline:hover{background:#fff;color:var(--teal);}

/* ---------- Image placeholders ---------- */
.ph{position:relative;background:repeating-linear-gradient(45deg,#eef3f3 0 14px,#e6edee 14px 28px);
  border:1px dashed #aebdbd;border-radius:var(--radius);display:flex;align-items:center;
  justify-content:center;text-align:center;color:#6f807f;font-size:.8rem;font-weight:600;
  letter-spacing:.02em;padding:16px;min-height:120px;overflow:hidden;}
.ph span{display:block;line-height:1.5;}
.ph small{display:block;font-weight:500;opacity:.72;margin-top:4px;font-size:.72rem;}

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.topbar{background:var(--teal-deep);color:#dcedef;font-size:.85rem;}
.topbar .container{display:flex;align-items:center;gap:20px;min-height:44px;flex-wrap:wrap;}
.topbar a{color:#dcedef;}
.topbar a:hover{color:#fff;}
.tb-promo{margin-right:auto;font-weight:600;}
.tb-promo a{text-decoration:none;}
.tb-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto;}
.tb-socials{display:flex;gap:8px;}
.tb-socials a{width:26px;height:26px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;}
.tb-socials a:hover{background:#fff;color:var(--teal-deep);}
.hours-toggle{position:relative;cursor:pointer;}
.hours-panel{position:absolute;top:130%;right:0;background:#fff;color:var(--ink);
  box-shadow:var(--shadow);border-radius:10px;padding:16px 20px;width:250px;z-index:60;display:none;}
.hours-toggle:hover .hours-panel,.hours-panel:hover{display:block;}
.hours-panel h4{font-size:.95rem;margin-bottom:10px;color:var(--teal);}
.hours-panel table{width:100%;border-collapse:collapse;font-size:.8rem;}
.hours-panel td{padding:4px 0;border-bottom:1px solid var(--line);}
.hours-panel td:last-child{text-align:right;color:var(--muted);}

/* ==========================================================================
   HEADER (two rows: brand row + nav row)
   ========================================================================== */
.header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px rgba(0,0,0,.07);}
.brand-row{display:flex;align-items:center;gap:24px;padding:16px 0 10px;}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{height:46px;width:auto;display:block;}
.call-now{margin-left:auto;font-size:.9rem;color:var(--ink);font-weight:600;}
.call-now strong{color:var(--teal);}
.menu-toggle{display:none;background:none;border:2px solid var(--line);border-radius:8px;
  padding:8px 12px;font-weight:700;cursor:pointer;color:var(--ink);font-family:inherit;margin-left:auto;}

.nav-row{border-top:1px solid var(--line);}
.nav{display:flex;justify-content:center;}
.nav>ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap;justify-content:center;}
.nav>ul>li{position:relative;}
.nav>ul>li>a{display:block;padding:14px 15px;font-weight:700;font-size:.82rem;color:var(--ink);
  letter-spacing:.04em;text-transform:uppercase;}
.nav>ul>li>a:hover{color:var(--teal);}
.nav .has-sub>a::after{content:"▾";font-size:.7em;margin-left:5px;color:var(--muted);}
.submenu{position:absolute;top:100%;left:0;background:#fff;min-width:250px;box-shadow:var(--shadow);
  border-radius:10px;padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.18s ease;z-index:40;}
.nav li:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu li{position:relative;}
.submenu a{display:block;padding:9px 14px;border-radius:7px;font-size:.82rem;font-weight:600;
  color:var(--ink);text-transform:none;letter-spacing:0;}
.submenu a:hover{background:var(--wash);color:var(--teal);}
.submenu .has-sub>a::after{content:"›";float:right;color:var(--muted);}
.submenu .submenu{top:0;left:100%;margin-left:4px;}
.nav .book-online>a{background:var(--teal);color:#fff;border-radius:18px 0 18px 0;margin:6px 0 0 8px;
  padding:11px 20px;display:inline-flex;align-items:center;gap:8px;}
.nav .book-online>a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.nav .book-online>a:hover{background:var(--teal-dark);color:#fff;}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;overflow:hidden;}
.hero-bg{display:block;width:100%;height:auto;}
.hero-inner{position:absolute;inset:0;z-index:2;max-width:var(--maxw);margin:0 auto;
  padding:0 24px;display:flex;flex-direction:column;justify-content:center;}
.hero h1{color:#23383c;max-width:620px;font-size:clamp(2.4rem,5.6vw,4rem);}
.hero h1 .light{font-weight:300;display:block;font-size:.6em;letter-spacing:.01em;margin-bottom:.15em;color:#3f5457;}
.hero .btn{margin-top:12px;}

/* quick links band */
.quickband{background:linear-gradient(rgba(44,84,92,.35),rgba(44,84,92,.45)),url('images/background_banners1.jpg') center/cover;padding:56px 0;}
.quickband .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:920px;margin:0 auto;}
.quickband a{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;text-align:center;transition:.2s;}
.quickband .tile{width:136px;height:136px;background:var(--teal);border-radius:34px 0 34px 0;
  display:flex;align-items:center;justify-content:center;transition:.2s;}
.quickband a:hover .tile{background:var(--teal-dark);transform:translateY(-4px);}
.quickband .tile img{width:82px;height:82px;object-fit:contain;}
.quickband .lbl{font-size:1.05rem;font-weight:500;line-height:1.25;}
.quickband .lbl b{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}

/* tagline */
.tagline{text-align:center;max-width:640px;margin:0 auto;padding:56px 24px;font-style:italic;
  color:var(--teal);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;font-weight:500;}

/* ==========================================================================
   OFFER ROWS (image beside text)
   ========================================================================== */
.offer{padding:20px 0;}
.offer .grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
  background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.offer .col-img .ph{border-radius:0;min-height:420px;height:100%;}
.offer .col-text{padding:48px 46px;display:flex;flex-direction:column;justify-content:center;}
.offer .grid.flip .col-img{order:2;}
.offer h2 sup{color:var(--teal);font-size:.5em;}
.offer .sub{font-weight:700;color:var(--teal);margin:2px 0 20px;font-size:1.05rem;}
.offer .price{color:var(--teal);}
.offer ul{margin:0 0 20px;padding:0;list-style:none;}
.offer ul li{position:relative;padding-left:28px;margin-bottom:7px;font-size:.94rem;}
.offer ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800;}
.offer .fineprint{font-size:.74rem;color:var(--muted);margin:8px 0 22px;line-height:1.6;}
.offer .btn{align-self:flex-start;}
.offer .smile-big{font-size:clamp(2rem,4vw,2.8rem);color:var(--teal);font-weight:800;
  line-height:1.05;margin-bottom:.1em;}
.offer .smile-sub{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:.5em;}

/* ---- Gap Free offer: full-bleed photo background, text on light right side ---- */
.offer-hero{position:relative;overflow:hidden;background:#eceeef;}
.offer-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;}
.offer-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(236,238,239,0) 40%,rgba(236,238,239,.82) 58%,rgba(236,238,239,.96) 74%);}
.offer-hero .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:66px 24px;
  display:flex;justify-content:flex-end;}
.offer-content{width:min(580px,55%);color:var(--ink);}
.offer-content .t1{font-family:'Raleway',sans-serif;font-weight:700;line-height:1.02;margin:0;
  color:var(--teal);text-transform:uppercase;font-size:clamp(2.3rem,4.6vw,3.4rem);}
.offer-content .t1 sup{font-size:.5em;top:-.6em;}
/* mirrored variant: photo on the right, text on the left */
.offer-hero.flip .offer-hero-bg{object-position:right center;}
.offer-hero.flip::after{background:linear-gradient(90deg,rgba(255,255,255,.96) 26%,rgba(255,255,255,.82) 44%,rgba(255,255,255,0) 62%);}
.offer-hero.flip .inner{justify-content:flex-start;}
.offer-content .t2{font-family:'Raleway',sans-serif;font-weight:400;line-height:1.08;margin:0 0 22px;
  font-size:clamp(1.9rem,3.8vw,2.8rem);color:var(--ink);}
.offer-content .t3{font-family:'Raleway',sans-serif;font-weight:300;margin:0 0 12px;
  font-size:clamp(1.1rem,2vw,1.45rem);color:var(--ink);}
.offer-content .inc{font-family:'Open Sans',sans-serif;font-weight:400;margin:0 0 8px;color:var(--ink);}
.offer-list{list-style:none;margin:0 0 20px;padding:0;font-family:'Open Sans',sans-serif;}
.offer-list li{position:relative;padding-left:30px;margin-bottom:9px;font-size:.98rem;color:#444;}
.offer-list li::before{content:"";position:absolute;left:3px;top:6px;width:13px;height:8px;
  border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);transform:rotate(-45deg);}
.offer-content .fine{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;
  color:var(--muted);margin:0 0 26px;line-height:1.6;max-width:520px;}
.offer-book{display:block;width:100%;background:var(--teal);color:#fff;font-family:'Raleway',sans-serif;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;text-align:center;
  padding:19px 24px;border-radius:28px 0 28px 0;transition:.2s;}
.offer-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
@media(max-width:820px){
  .offer-hero-bg{position:relative;height:auto;}
  .offer-hero::after{display:none;}
  .offer-hero .inner{display:block;padding:0 0 40px;}
  .offer-content{width:100%;padding:30px 24px 0;}
  .care-inner{grid-template-columns:1fr;min-height:0;}
  .care-bg{position:relative;height:260px;}
  .care.flip .care-panel{order:2;}
  .care.flip .care-spacer{order:1;}
  .care-spacer{display:none;}
  .care-panel.br,.care-panel.tl{border-radius:0;}
  .care-panel{padding:40px 24px;}
}

/* ==========================================================================
   FEATURE ROWS (Honest Care / Straightforward Approach / Get Started)
   ========================================================================== */
.feature{padding:70px 0;}
.feature.wash{background:var(--wash);}
.feature .grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.feature .grid.flip .col-img{order:2;}
.feature .col-img .ph{min-height:380px;height:100%;border-radius:20px;}
.feature .col-text h2 .hl{display:inline;}

/* ---- Care / Straightforward: full-bleed photo with an overlaid white curved panel ---- */
.care{position:relative;overflow:hidden;background:#fff;}
.care-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;}
.care.flip .care-bg{object-position:left center;}
.care-bg.ph{border-radius:0;border:none;}
.care-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;min-height:470px;}
.care-panel{background:#fff;padding:64px clamp(28px,4.5vw,60px);display:flex;flex-direction:column;
  justify-content:center;align-items:center;}
.care-panel>*{width:100%;max-width:430px;}
/* section 1: panel left, curve cut into its bottom-right */
.care-panel.br{border-bottom-right-radius:170px;}
/* section 2: panel right, curve cut into its top-left */
.care.flip .care-panel{order:2;}
.care.flip .care-spacer{order:1;}
.care-panel.tl{border-top-left-radius:170px;}
.care-panel.tr{border-top-right-radius:170px;}
.care-spacer{}
.care-panel h2{font-family:'Raleway',sans-serif;font-weight:300;color:#23383c;line-height:1.14;
  font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.6em;}
.care-panel h2 b{font-weight:700;}
.care-panel h2 .stack{display:block;}
.care-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.94rem;max-width:430px;}
.care-panel p a{color:var(--teal);font-weight:700;}

/* ==========================================================================
   MEET THE DENTISTS (dark teal panel + white cards)
   ========================================================================== */
.dentists{padding:0 0 70px;background:#fff;}
.dentists-hero{position:relative;background:#2C545C;padding:0;color:#fff;overflow:hidden;}
.dentists-hero img.team{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;
  position:absolute;inset:0;}
.dentists-hero .overlay{position:relative;z-index:2;min-height:720px;display:flex;flex-direction:column;
  justify-content:flex-end;align-items:center;text-align:center;padding:0 24px 150px;
  background:linear-gradient(to bottom,rgba(20,45,50,0) 40%,rgba(20,45,50,.4) 56%,rgba(20,45,50,.7) 80%);}
.dentists-hero h2{color:#fff;font-weight:300;margin-bottom:.5em;text-shadow:0 2px 14px rgba(0,0,0,.35);}
.dentists-hero h2 b{font-weight:800;}
.dentists-hero p{color:#e6f1f3;max-width:660px;margin:0 auto;font-size:.94rem;
  text-shadow:0 1px 10px rgba(0,0,0,.45);}
.dentists-hero .ph{border-radius:14px;min-height:300px;max-width:640px;margin:0 auto 30px;
  background:repeating-linear-gradient(45deg,#3a656d 0 16px,#345a62 16px 32px);border-color:#4a747c;
  color:#bcd6da;}
.dentists-hero h2{color:#fff;}
.dentists-hero p{color:#d4e5e8;max-width:720px;margin:0 auto;}
.dentist-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:920px;margin:-60px auto 0;
  position:relative;z-index:2;}
.dentist-card{background:#fff;border-radius:0;box-shadow:var(--shadow);padding:32px 32px 36px;}
.dentist-card h3 small{font-weight:500;color:var(--muted);font-size:.85rem;}
.quals{background:var(--wash);border-radius:0;padding:14px 18px;margin:16px 0 20px;font-size:.85rem;}
.quals strong{display:block;margin-bottom:6px;color:var(--teal);}
.quals ul{margin:0;padding-left:18px;}

/* ==========================================================================
   OUR DENTAL SERVICES (dark teal, tabbed)
   ========================================================================== */
.services{background:url('images/img-services.jpg') center/cover;color:#fff;padding:70px 0;}
.services h2{color:#fff;font-weight:300;margin-bottom:.1em;}
.services h2 .hl{color:#fff;font-weight:800;}
.services .layout{display:grid;grid-template-columns:320px 1fr;gap:56px;margin-top:34px;}
.tab-list{display:flex;flex-direction:column;gap:4px;}
.tab-list button{background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;
  color:#e2f0f2;font-weight:600;font-size:.82rem;letter-spacing:.07em;text-transform:uppercase;
  padding:10px 0;display:flex;align-items:center;gap:10px;transition:.2s ease;
  border-bottom:1px solid transparent;align-self:flex-start;}
.tab-list button::after{content:"→";font-size:.95em;}
.tab-list button:hover{color:#fff;transform:translateX(6px);}
.tab-list button.active{color:#fff;font-weight:700;transform:translateX(18px);
  border-bottom-color:rgba(255,255,255,.85);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-panel h3{color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;font-weight:600;
  margin-bottom:.7em;}
.tab-panel p{color:#dbeaec;max-width:560px;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.tab-panel .btn-book{margin-top:14px;background:rgba(78,142,154,.85);}
.tab-panel .btn-book:hover{background:var(--teal);}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{background:var(--faq);padding:70px 0;}
.faq .head{text-align:center;margin-bottom:26px;}
.faq .head h2{color:#3f6168;font-weight:300;font-size:clamp(1.8rem,3.4vw,2.4rem);}
.acc{max-width:800px;margin:0 auto;display:flex;flex-direction:column;}
.acc-item{background:none;border-radius:0;box-shadow:none;overflow:hidden;}
.acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 0;
  font-family:inherit;font-weight:400;font-size:1.02rem;color:#3f6168;display:flex;align-items:center;
  gap:14px;}
.acc-q .qtext{flex-shrink:0;}
.acc-q .leader{flex:1;border-bottom:1px dotted #9dc2c9;height:1px;margin-top:6px;}
.acc-q:hover{color:var(--teal);}
.acc-q .ico{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;line-height:1;
  transition:.2s;}
.acc-item.open .acc-q .ico{transform:none;}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc-a-inner{padding:4px 60px 18px 22px;color:#4a5457;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.acc-item.open .acc-a{max-height:400px;}

/* ==========================================================================
   HEALTH FUNDS
   ========================================================================== */
.funds{padding:64px 0;text-align:center;background:#fff;}
.funds h2{margin-bottom:.15em;font-weight:800;}
.funds .sub{color:var(--ink);max-width:900px;margin:0 auto 40px;font-weight:400;
  font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.3;font-family:'Raleway',sans-serif;}
.fund-logos{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;align-items:center;
  justify-items:center;}
.fund-logos img{width:100%;max-width:150px;height:auto;object-fit:contain;}
.funds .note{font-size:.76rem;color:var(--muted);margin-top:26px;font-style:italic;}

/* ==========================================================================
   PAYMENT PLANS + CONTACT CTA + MAP
   ========================================================================== */
.payment{background:var(--teal);color:#fff;text-align:center;padding:46px 24px 42px;}
.payment h2{color:#fff;font-weight:300;margin-bottom:.45em;font-size:clamp(1.7rem,3.4vw,2.3rem);}
.payment .ask{color:#fff;font-weight:700;font-size:clamp(1rem,1.9vw,1.2rem);margin:0;}
.contact-cta{background:#466167;color:#fff;padding:30px 24px;}
.contact-cta .container{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center;}
.contact-cta .phone{font-size:1.45rem;font-weight:700;display:flex;align-items:center;gap:12px;}
.contact-cta .phone svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.8;}
.contact-cta .btn-book{padding:15px 60px;font-weight:400;letter-spacing:.06em;font-size:.92rem;}
.map{line-height:0;}
.map iframe{display:block;width:100%;height:400px;border:0;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:#fff;padding:58px 0;color:var(--ink);border-top:1px solid var(--line);}
.footer .fc-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start;}
.footer h2{font-size:1.4rem;}
.footer .addr{color:var(--muted);font-size:.95rem;}
.footer .addr strong{color:var(--ink);display:block;margin-top:14px;}
.footer .fc-hours h4{color:var(--teal);margin-bottom:8px;}
.footer .fc-hours table{width:100%;border-collapse:collapse;font-size:.88rem;max-width:360px;}
.footer .fc-hours td{padding:7px 0;border-bottom:1px solid var(--line);}
.footer .fc-hours td:last-child{text-align:right;color:var(--muted);}
.footer-bottom{background:#000;margin-top:0;padding:18px 0;border-top:none;}
.footer-bottom .container{max-width:1440px;}
.fb-grid{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:start;}
.fb-addr{margin:0;font-size:.76rem;line-height:1.65;color:#fff;font-weight:700;}
.fb-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.fb-email{display:flex;align-items:center;gap:10px;}
.fb-email .email-link{font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.04em;
  width:auto;height:auto;background:none;border-radius:0;text-decoration:underline;}
.fb-email .email-link:hover{color:#bcd6da;}
.fb-email a{width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  border-radius:4px;background:#fff;color:#000;font-size:.68rem;font-weight:800;}
.fb-email a.fb{background:#1877F2;color:#fff;border-radius:50%;}
.fb-email a.x{background:#000;color:#fff;border:1px solid #555;}
.fb-email a.em{background:#9aa0a6;color:#fff;}
.footer-links{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0;font-size:.74rem;
  align-items:center;}
.footer-links li:not(:last-child)::after{content:"|";color:#fff;margin:0 8px;text-decoration:none;
  display:inline-block;}
.footer-links a{color:#fff;text-decoration:underline;}
.footer-links a:hover{color:#bcd6da;}
.smile-credit{text-align:right;font-size:.74rem;color:#fff;padding:0;margin:0;}

/* ---------- Floating offer badge ---------- */
.badge{position:fixed;right:18px;bottom:18px;width:186px;height:186px;border-radius:50%;
  background:url('images/stickybutton-2025.png') center/cover no-repeat;
  box-shadow:0 10px 30px rgba(0,0,0,.28);z-index:150;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:0 8px;gap:8px;color:#fff;transition:transform .2s ease;overflow:hidden;}
.badge:hover{transform:scale(1.05);color:#fff;}
.badge .pill{background:#fff;color:#1b2a32;font-weight:700;line-height:1.2;border-radius:7px;
  padding:6px 10px;width:auto;max-width:74%;}
.badge .pill.top{font-size:.8rem;}
.badge .pill.cta{font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;padding:7px 14px;
  max-width:66%;}
.badge .mid{font-size:.72rem;font-weight:700;line-height:1.35;color:#fff;padding:0 4px;
  text-shadow:0 1px 4px rgba(0,0,0,.28);}

/* ---------- Cookie bar ---------- */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;margin:0 auto;background:#fff;
  color:var(--ink);box-shadow:0 12px 50px rgba(0,0,0,.22);border-radius:14px;padding:20px 24px;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;z-index:200;font-size:.85rem;line-height:1.6;}
.cookie-bar p{margin:0;flex:1 1 320px;color:var(--muted);}
.cookie-bar .btns{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-bar button{font-size:.76rem;padding:9px 16px;border-radius:50px;cursor:pointer;font-family:inherit;
  font-weight:700;border:2px solid var(--teal);}
.cookie-bar .ghost{background:#fff;color:var(--teal);}
.cookie-bar .solid{background:var(--teal);color:#fff;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
.nav-overlay{display:none;}
@media(max-width:940px){
  .menu-toggle{display:block;}
  .nav-row{display:none;}
  .nav-row.open{display:block;position:fixed;top:0;right:0;height:100vh;width:min(340px,86vw);
    background:#fff;box-shadow:-6px 0 30px rgba(0,0,0,.15);padding:70px 18px 30px;overflow-y:auto;
    z-index:100;border-top:none;}
  .nav>ul{flex-direction:column;gap:0;width:100%;align-items:stretch;}
  .nav>ul>li>a{padding:12px 10px;border-bottom:1px solid var(--line);}
  .submenu,.submenu .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    background:var(--wash);margin:0;padding:0 0 6px 10px;min-width:0;}
  .nav .book-online>a{margin:8px 0 0;display:inline-block;}
  .nav-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90;}
  .quickband .grid{grid-template-columns:1fr 1fr;}
  .fund-logos{grid-template-columns:repeat(4,1fr);gap:22px;}
  .offer .grid,.offer .grid.flip .col-img,.feature .grid,.feature .grid.flip .col-img,
  .dentist-cards,.footer .fc-grid{grid-template-columns:1fr;}
  .offer .grid.flip .col-img,.feature .grid.flip .col-img{order:0;}
  .services .layout{grid-template-columns:1fr;}
  .tab-list{flex-direction:row;flex-wrap:wrap;gap:8px;}
  .tab-list button{border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:9px 15px;}
  .tab-list button.active{background:var(--teal);}
}
@media(max-width:560px){
  .quickband .grid{grid-template-columns:1fr;}
  .fund-logos{grid-template-columns:repeat(2,1fr);}
  .offer .col-text,.feature{padding-left:22px;padding-right:22px;}
  .offer .col-text{padding:34px 26px;}
  .badge{width:150px;height:150px;gap:5px;}
  .badge .pill.top{font-size:.66rem;}
  .badge .pill.cta{font-size:.62rem;}
  .badge .mid{font-size:.6rem;}
}

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
:root{--green:#16922F;}
.page-head{padding:52px 0 10px;}
.page-head h1{font-weight:300;color:#3a4a4e;font-size:clamp(2rem,4.4vw,3rem);margin:0;}

.about-intro{padding:26px 0 60px;}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.ai-text h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.5em;}
.ai-text h2.mt{margin-top:1.6em;}
.ai-text p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.ai-text p a{color:var(--teal);font-weight:600;}
.pullquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:1rem;line-height:1.7;}
.ai-text .btn-book{margin:6px 0 4px;}
.ai-img .ph{min-height:400px;border-radius:60px 0 60px 0;}
.ai-img img{width:100%;height:auto;display:block;border-radius:60px 0 60px 0;}

.approach{position:relative;padding:0 24px 60px;}
.approach-bg{display:block;width:100%;max-width:1180px;height:auto;margin:0 auto;}
.approach .container{position:relative;z-index:2;}
.approach-panel{background:rgba(255,255,255,.95);padding:34px 40px 8px;
  max-width:900px;margin:-40px auto 0;}
.approach-panel h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.6em;}
.approach-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.approach-panel p a{color:var(--teal);font-weight:700;}

.about-cols{padding:20px 0 40px;}
.ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.ac-left h2,.ac-right h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.4vw,1.7rem);
  margin-bottom:.5em;}
.ac-left h2 .plus{color:var(--teal);font-weight:400;}
.ac-left p,.ac-right p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;}
.ac-left p a,.ac-right p a{color:var(--teal);font-weight:700;}
.ac-right{background:#F1F1F1;padding:30px 34px;}

.page-foot{padding:26px 0 54px;text-align:center;}
.diamond-rule{position:relative;height:14px;margin-bottom:34px;}
.diamond-rule::before{content:"";position:absolute;top:50%;left:0;right:0;height:0;
  border-top:2px dotted #bcd9c4;}
.diamond-rule .diamond{position:absolute;left:50%;top:50%;width:13px;height:13px;
  background:var(--green);transform:translate(-50%,-50%) rotate(45deg);}
.page-foot-title{font-weight:300;color:#3a4a4e;font-size:clamp(1.1rem,2.2vw,1.45rem);margin:0;}

@media(max-width:820px){
  .ai-grid,.ac-grid{grid-template-columns:1fr;gap:32px;}
  .ai-img .ph,.ai-img img{border-radius:0;min-height:280px;}
  .approach-bg{height:auto;}
  .approach-panel{padding:26px 22px 4px;margin:-40px auto 0;max-width:100%;}
}


/* ==========================================================================
   MEET THE DENTISTS
   ========================================================================== */
:root{--blue:#3864B5;}
.md-head{text-align:center;padding:46px 0 8px;}
.md-head h1{color:#4a4a4a;}
.dentist-grid{padding:30px 0 10px;}
.dg-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:860px;margin:0 auto;}
.dg-card{text-align:center;}
.dg-photo{display:block;margin:0 auto 22px;max-width:290px;}
.dg-photo img{width:100%;height:auto;display:block;border-radius:32px 0 32px 0;}
.dg-card h2{font-size:1.2rem;font-weight:700;margin:0 0 .6em;}
.dg-card h2 a{color:var(--teal);}
.dg-card h2 a:hover{color:var(--teal-dark);}
.dg-card p{font-family:'Open Sans',sans-serif;color:#4a4a4a;font-size:.86rem;line-height:1.65;
  margin:0 auto;max-width:340px;}
@media(max-width:760px){
  .dg-grid{grid-template-columns:1fr;gap:44px;}
}


/* ---- from new-patients.html ---- */

/* ==========================================================================
   PRINCETON DENTAL — homepage recreation
   Palette taken from the live site. Change these variables to re-skin.
   ========================================================================== */
:root{
  --teal:       #4E8E9A;   /* primary teal — buttons, links, accents         */
  --teal-dark:  #3C7079;   /* hover                                          */
  --teal-deep:  #2C545C;   /* dark panels: dentists, services, contact strip */
  --ink:        #333333;   /* body + heading text                            */
  --muted:      #6A7578;   /* secondary text                                 */
  --faq:        #E0F9FE;   /* FAQ section background                          */
  --wash:       #F3FAFB;   /* very light teal wash for alt sections           */
  --line:       #E2EBEC;
  --white:      #FFFFFF;
  --shadow:     0 14px 44px rgba(44,84,92,.14);
  --radius:     14px;
  --maxw:       1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:'Raleway',system-ui,-apple-system,Segoe UI,sans-serif;
  font-weight:400;line-height:1.75;color:var(--ink);background:var(--white);font-size:16px;
  letter-spacing:.01em;
}
h1,h2,h3,h4{font-family:'Raleway',sans-serif;font-weight:800;line-height:1.22;
  letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.3rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);}
h3{font-size:clamp(1.15rem,2vw,1.5rem);}
p{margin:0 0 1.1em;}
a{color:var(--teal);text-decoration:none;}
a:hover{color:var(--teal-dark);}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.site{background:#fff;overflow:hidden;}
.center{text-align:center;}
.hl{color:var(--teal);}
.thin{font-weight:400;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  font-size:.78rem;padding:14px 32px;border-radius:50px;cursor:pointer;border:2px solid transparent;
  transition:.2s ease;}
.btn-primary{background:var(--teal);color:#fff;}
/* Book Online button: top-left + bottom-right rounded, other corners square */
.btn-book{display:inline-flex;align-items:center;gap:9px;background:var(--teal);color:#fff;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;
  padding:14px 28px;border:2px solid transparent;cursor:pointer;transition:.2s ease;
  border-radius:18px 0 18px 0;}
.btn-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-book svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.hero-cta{align-self:flex-start;padding:19px 52px;font-size:.95rem;border-radius:24px 0 24px 0;margin-top:20px;}
.btn-primary:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal);}
.btn-outline:hover{background:var(--teal);color:#fff;}
.btn-light{background:#fff;color:var(--teal);}
.btn-light:hover{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep);}
.btn-white-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-white-outline:hover{background:#fff;color:var(--teal);}

/* ---------- Image placeholders ---------- */
.ph{position:relative;background:repeating-linear-gradient(45deg,#eef3f3 0 14px,#e6edee 14px 28px);
  border:1px dashed #aebdbd;border-radius:var(--radius);display:flex;align-items:center;
  justify-content:center;text-align:center;color:#6f807f;font-size:.8rem;font-weight:600;
  letter-spacing:.02em;padding:16px;min-height:120px;overflow:hidden;}
.ph span{display:block;line-height:1.5;}
.ph small{display:block;font-weight:500;opacity:.72;margin-top:4px;font-size:.72rem;}

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.topbar{background:var(--teal-deep);color:#dcedef;font-size:.85rem;}
.topbar .container{display:flex;align-items:center;gap:20px;min-height:44px;flex-wrap:wrap;}
.topbar a{color:#dcedef;}
.topbar a:hover{color:#fff;}
.tb-promo{margin-right:auto;font-weight:600;}
.tb-promo a{text-decoration:none;}
.tb-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto;}
.tb-socials{display:flex;gap:8px;}
.tb-socials a{width:26px;height:26px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;}
.tb-socials a:hover{background:#fff;color:var(--teal-deep);}
.hours-toggle{position:relative;cursor:pointer;}
.hours-panel{position:absolute;top:130%;right:0;background:#fff;color:var(--ink);
  box-shadow:var(--shadow);border-radius:10px;padding:16px 20px;width:250px;z-index:60;display:none;}
.hours-toggle:hover .hours-panel,.hours-panel:hover{display:block;}
.hours-panel h4{font-size:.95rem;margin-bottom:10px;color:var(--teal);}
.hours-panel table{width:100%;border-collapse:collapse;font-size:.8rem;}
.hours-panel td{padding:4px 0;border-bottom:1px solid var(--line);}
.hours-panel td:last-child{text-align:right;color:var(--muted);}

/* ==========================================================================
   HEADER (two rows: brand row + nav row)
   ========================================================================== */
.header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px rgba(0,0,0,.07);}
.brand-row{display:flex;align-items:center;gap:24px;padding:16px 0 10px;}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{height:46px;width:auto;display:block;}
.call-now{margin-left:auto;font-size:.9rem;color:var(--ink);font-weight:600;}
.call-now strong{color:var(--teal);}
.menu-toggle{display:none;background:none;border:2px solid var(--line);border-radius:8px;
  padding:8px 12px;font-weight:700;cursor:pointer;color:var(--ink);font-family:inherit;margin-left:auto;}

.nav-row{border-top:1px solid var(--line);}
.nav{display:flex;justify-content:center;}
.nav>ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap;justify-content:center;}
.nav>ul>li{position:relative;}
.nav>ul>li>a{display:block;padding:14px 15px;font-weight:700;font-size:.82rem;color:var(--ink);
  letter-spacing:.04em;text-transform:uppercase;}
.nav>ul>li>a:hover{color:var(--teal);}
.nav .has-sub>a::after{content:"▾";font-size:.7em;margin-left:5px;color:var(--muted);}
.submenu{position:absolute;top:100%;left:0;background:#fff;min-width:250px;box-shadow:var(--shadow);
  border-radius:10px;padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.18s ease;z-index:40;}
.nav li:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu li{position:relative;}
.submenu a{display:block;padding:9px 14px;border-radius:7px;font-size:.82rem;font-weight:600;
  color:var(--ink);text-transform:none;letter-spacing:0;}
.submenu a:hover{background:var(--wash);color:var(--teal);}
.submenu .has-sub>a::after{content:"›";float:right;color:var(--muted);}
.submenu .submenu{top:0;left:100%;margin-left:4px;}
.nav .book-online>a{background:var(--teal);color:#fff;border-radius:18px 0 18px 0;margin:6px 0 0 8px;
  padding:11px 20px;display:inline-flex;align-items:center;gap:8px;}
.nav .book-online>a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.nav .book-online>a:hover{background:var(--teal-dark);color:#fff;}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;overflow:hidden;}
.hero-bg{display:block;width:100%;height:auto;}
.hero-inner{position:absolute;inset:0;z-index:2;max-width:var(--maxw);margin:0 auto;
  padding:0 24px;display:flex;flex-direction:column;justify-content:center;}
.hero h1{color:#23383c;max-width:620px;font-size:clamp(2.4rem,5.6vw,4rem);}
.hero h1 .light{font-weight:300;display:block;font-size:.6em;letter-spacing:.01em;margin-bottom:.15em;color:#3f5457;}
.hero .btn{margin-top:12px;}

/* quick links band */
.quickband{background:linear-gradient(rgba(44,84,92,.35),rgba(44,84,92,.45)),url('images/background_banners1.jpg') center/cover;padding:56px 0;}
.quickband .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:920px;margin:0 auto;}
.quickband a{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;text-align:center;transition:.2s;}
.quickband .tile{width:136px;height:136px;background:var(--teal);border-radius:34px 0 34px 0;
  display:flex;align-items:center;justify-content:center;transition:.2s;}
.quickband a:hover .tile{background:var(--teal-dark);transform:translateY(-4px);}
.quickband .tile img{width:82px;height:82px;object-fit:contain;}
.quickband .lbl{font-size:1.05rem;font-weight:500;line-height:1.25;}
.quickband .lbl b{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}

/* tagline */
.tagline{text-align:center;max-width:640px;margin:0 auto;padding:56px 24px;font-style:italic;
  color:var(--teal);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;font-weight:500;}

/* ==========================================================================
   OFFER ROWS (image beside text)
   ========================================================================== */
.offer{padding:20px 0;}
.offer .grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
  background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.offer .col-img .ph{border-radius:0;min-height:420px;height:100%;}
.offer .col-text{padding:48px 46px;display:flex;flex-direction:column;justify-content:center;}
.offer .grid.flip .col-img{order:2;}
.offer h2 sup{color:var(--teal);font-size:.5em;}
.offer .sub{font-weight:700;color:var(--teal);margin:2px 0 20px;font-size:1.05rem;}
.offer .price{color:var(--teal);}
.offer ul{margin:0 0 20px;padding:0;list-style:none;}
.offer ul li{position:relative;padding-left:28px;margin-bottom:7px;font-size:.94rem;}
.offer ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800;}
.offer .fineprint{font-size:.74rem;color:var(--muted);margin:8px 0 22px;line-height:1.6;}
.offer .btn{align-self:flex-start;}
.offer .smile-big{font-size:clamp(2rem,4vw,2.8rem);color:var(--teal);font-weight:800;
  line-height:1.05;margin-bottom:.1em;}
.offer .smile-sub{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:.5em;}

/* ---- Gap Free offer: full-bleed photo background, text on light right side ---- */
.offer-hero{position:relative;overflow:hidden;background:#eceeef;}
.offer-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;}
.offer-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(236,238,239,0) 40%,rgba(236,238,239,.82) 58%,rgba(236,238,239,.96) 74%);}
.offer-hero .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:66px 24px;
  display:flex;justify-content:flex-end;}
.offer-content{width:min(580px,55%);color:var(--ink);}
.offer-content .t1{font-family:'Raleway',sans-serif;font-weight:700;line-height:1.02;margin:0;
  color:var(--teal);text-transform:uppercase;font-size:clamp(2.3rem,4.6vw,3.4rem);}
.offer-content .t1 sup{font-size:.5em;top:-.6em;}
/* mirrored variant: photo on the right, text on the left */
.offer-hero.flip .offer-hero-bg{object-position:right center;}
.offer-hero.flip::after{background:linear-gradient(90deg,rgba(255,255,255,.96) 26%,rgba(255,255,255,.82) 44%,rgba(255,255,255,0) 62%);}
.offer-hero.flip .inner{justify-content:flex-start;}
.offer-content .t2{font-family:'Raleway',sans-serif;font-weight:400;line-height:1.08;margin:0 0 22px;
  font-size:clamp(1.9rem,3.8vw,2.8rem);color:var(--ink);}
.offer-content .t3{font-family:'Raleway',sans-serif;font-weight:300;margin:0 0 12px;
  font-size:clamp(1.1rem,2vw,1.45rem);color:var(--ink);}
.offer-content .inc{font-family:'Open Sans',sans-serif;font-weight:400;margin:0 0 8px;color:var(--ink);}
.offer-list{list-style:none;margin:0 0 20px;padding:0;font-family:'Open Sans',sans-serif;}
.offer-list li{position:relative;padding-left:30px;margin-bottom:9px;font-size:.98rem;color:#444;}
.offer-list li::before{content:"";position:absolute;left:3px;top:6px;width:13px;height:8px;
  border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);transform:rotate(-45deg);}
.offer-content .fine{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;
  color:var(--muted);margin:0 0 26px;line-height:1.6;max-width:520px;}
.offer-book{display:block;width:100%;background:var(--teal);color:#fff;font-family:'Raleway',sans-serif;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;text-align:center;
  padding:19px 24px;border-radius:28px 0 28px 0;transition:.2s;}
.offer-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
@media(max-width:820px){
  .offer-hero-bg{position:relative;height:auto;}
  .offer-hero::after{display:none;}
  .offer-hero .inner{display:block;padding:0 0 40px;}
  .offer-content{width:100%;padding:30px 24px 0;}
  .care-inner{grid-template-columns:1fr;min-height:0;}
  .care-bg{position:relative;height:260px;}
  .care.flip .care-panel{order:2;}
  .care.flip .care-spacer{order:1;}
  .care-spacer{display:none;}
  .care-panel.br,.care-panel.tl{border-radius:0;}
  .care-panel{padding:40px 24px;}
}

/* ==========================================================================
   FEATURE ROWS (Honest Care / Straightforward Approach / Get Started)
   ========================================================================== */
.feature{padding:70px 0;}
.feature.wash{background:var(--wash);}
.feature .grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.feature .grid.flip .col-img{order:2;}
.feature .col-img .ph{min-height:380px;height:100%;border-radius:20px;}
.feature .col-text h2 .hl{display:inline;}

/* ---- Care / Straightforward: full-bleed photo with an overlaid white curved panel ---- */
.care{position:relative;overflow:hidden;background:#fff;}
.care-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;}
.care.flip .care-bg{object-position:left center;}
.care-bg.ph{border-radius:0;border:none;}
.care-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;min-height:470px;}
.care-panel{background:#fff;padding:64px clamp(28px,4.5vw,60px);display:flex;flex-direction:column;
  justify-content:center;align-items:center;}
.care-panel>*{width:100%;max-width:430px;}
/* section 1: panel left, curve cut into its bottom-right */
.care-panel.br{border-bottom-right-radius:170px;}
/* section 2: panel right, curve cut into its top-left */
.care.flip .care-panel{order:2;}
.care.flip .care-spacer{order:1;}
.care-panel.tl{border-top-left-radius:170px;}
.care-panel.tr{border-top-right-radius:170px;}
.care-spacer{}
.care-panel h2{font-family:'Raleway',sans-serif;font-weight:300;color:#23383c;line-height:1.14;
  font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.6em;}
.care-panel h2 b{font-weight:700;}
.care-panel h2 .stack{display:block;}
.care-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.94rem;max-width:430px;}
.care-panel p a{color:var(--teal);font-weight:700;}

/* ==========================================================================
   MEET THE DENTISTS (dark teal panel + white cards)
   ========================================================================== */
.dentists{padding:0 0 70px;background:#fff;}
.dentists-hero{position:relative;background:#2C545C;padding:0;color:#fff;overflow:hidden;}
.dentists-hero img.team{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;
  position:absolute;inset:0;}
.dentists-hero .overlay{position:relative;z-index:2;min-height:720px;display:flex;flex-direction:column;
  justify-content:flex-end;align-items:center;text-align:center;padding:0 24px 150px;
  background:linear-gradient(to bottom,rgba(20,45,50,0) 40%,rgba(20,45,50,.4) 56%,rgba(20,45,50,.7) 80%);}
.dentists-hero h2{color:#fff;font-weight:300;margin-bottom:.5em;text-shadow:0 2px 14px rgba(0,0,0,.35);}
.dentists-hero h2 b{font-weight:800;}
.dentists-hero p{color:#e6f1f3;max-width:660px;margin:0 auto;font-size:.94rem;
  text-shadow:0 1px 10px rgba(0,0,0,.45);}
.dentists-hero .ph{border-radius:14px;min-height:300px;max-width:640px;margin:0 auto 30px;
  background:repeating-linear-gradient(45deg,#3a656d 0 16px,#345a62 16px 32px);border-color:#4a747c;
  color:#bcd6da;}
.dentists-hero h2{color:#fff;}
.dentists-hero p{color:#d4e5e8;max-width:720px;margin:0 auto;}
.dentist-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:920px;margin:-60px auto 0;
  position:relative;z-index:2;}
.dentist-card{background:#fff;border-radius:0;box-shadow:var(--shadow);padding:32px 32px 36px;}
.dentist-card h3 small{font-weight:500;color:var(--muted);font-size:.85rem;}
.quals{background:var(--wash);border-radius:0;padding:14px 18px;margin:16px 0 20px;font-size:.85rem;}
.quals strong{display:block;margin-bottom:6px;color:var(--teal);}
.quals ul{margin:0;padding-left:18px;}

/* ==========================================================================
   OUR DENTAL SERVICES (dark teal, tabbed)
   ========================================================================== */
.services{background:url('images/img-services.jpg') center/cover;color:#fff;padding:70px 0;}
.services h2{color:#fff;font-weight:300;margin-bottom:.1em;}
.services h2 .hl{color:#fff;font-weight:800;}
.services .layout{display:grid;grid-template-columns:320px 1fr;gap:56px;margin-top:34px;}
.tab-list{display:flex;flex-direction:column;gap:4px;}
.tab-list button{background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;
  color:#e2f0f2;font-weight:600;font-size:.82rem;letter-spacing:.07em;text-transform:uppercase;
  padding:10px 0;display:flex;align-items:center;gap:10px;transition:.2s ease;
  border-bottom:1px solid transparent;align-self:flex-start;}
.tab-list button::after{content:"→";font-size:.95em;}
.tab-list button:hover{color:#fff;transform:translateX(6px);}
.tab-list button.active{color:#fff;font-weight:700;transform:translateX(18px);
  border-bottom-color:rgba(255,255,255,.85);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-panel h3{color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;font-weight:600;
  margin-bottom:.7em;}
.tab-panel p{color:#dbeaec;max-width:560px;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.tab-panel .btn-book{margin-top:14px;background:rgba(78,142,154,.85);}
.tab-panel .btn-book:hover{background:var(--teal);}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{background:var(--faq);padding:70px 0;}
.faq .head{text-align:center;margin-bottom:26px;}
.faq .head h2{color:#3f6168;font-weight:300;font-size:clamp(1.8rem,3.4vw,2.4rem);}
.acc{max-width:800px;margin:0 auto;display:flex;flex-direction:column;}
.acc-item{background:none;border-radius:0;box-shadow:none;overflow:hidden;}
.acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 0;
  font-family:inherit;font-weight:400;font-size:1.02rem;color:#3f6168;display:flex;align-items:center;
  gap:14px;}
.acc-q .qtext{flex-shrink:0;}
.acc-q .leader{flex:1;border-bottom:1px dotted #9dc2c9;height:1px;margin-top:6px;}
.acc-q:hover{color:var(--teal);}
.acc-q .ico{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;line-height:1;
  transition:.2s;}
.acc-item.open .acc-q .ico{transform:none;}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc-a-inner{padding:4px 60px 18px 22px;color:#4a5457;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.acc-item.open .acc-a{max-height:400px;}

/* ==========================================================================
   HEALTH FUNDS
   ========================================================================== */
.funds{padding:64px 0;text-align:center;background:#fff;}
.funds h2{margin-bottom:.15em;font-weight:800;}
.funds .sub{color:var(--ink);max-width:900px;margin:0 auto 40px;font-weight:400;
  font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.3;font-family:'Raleway',sans-serif;}
.fund-logos{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;align-items:center;
  justify-items:center;}
.fund-logos img{width:100%;max-width:150px;height:auto;object-fit:contain;}
.funds .note{font-size:.76rem;color:var(--muted);margin-top:26px;font-style:italic;}

/* ==========================================================================
   PAYMENT PLANS + CONTACT CTA + MAP
   ========================================================================== */
.payment{background:var(--teal);color:#fff;text-align:center;padding:46px 24px 42px;}
.payment h2{color:#fff;font-weight:300;margin-bottom:.45em;font-size:clamp(1.7rem,3.4vw,2.3rem);}
.payment .ask{color:#fff;font-weight:700;font-size:clamp(1rem,1.9vw,1.2rem);margin:0;}
.contact-cta{background:#466167;color:#fff;padding:30px 24px;}
.contact-cta .container{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center;}
.contact-cta .phone{font-size:1.45rem;font-weight:700;display:flex;align-items:center;gap:12px;}
.contact-cta .phone svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.8;}
.contact-cta .btn-book{padding:15px 60px;font-weight:400;letter-spacing:.06em;font-size:.92rem;}
.map{line-height:0;}
.map iframe{display:block;width:100%;height:400px;border:0;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:#fff;padding:58px 0;color:var(--ink);border-top:1px solid var(--line);}
.footer .fc-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start;}
.footer h2{font-size:1.4rem;}
.footer .addr{color:var(--muted);font-size:.95rem;}
.footer .addr strong{color:var(--ink);display:block;margin-top:14px;}
.footer .fc-hours h4{color:var(--teal);margin-bottom:8px;}
.footer .fc-hours table{width:100%;border-collapse:collapse;font-size:.88rem;max-width:360px;}
.footer .fc-hours td{padding:7px 0;border-bottom:1px solid var(--line);}
.footer .fc-hours td:last-child{text-align:right;color:var(--muted);}
.footer-bottom{background:#000;margin-top:0;padding:18px 0;border-top:none;}
.footer-bottom .container{max-width:1440px;}
.fb-grid{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:start;}
.fb-addr{margin:0;font-size:.76rem;line-height:1.65;color:#fff;font-weight:700;}
.fb-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.fb-email{display:flex;align-items:center;gap:10px;}
.fb-email .email-link{font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.04em;
  width:auto;height:auto;background:none;border-radius:0;text-decoration:underline;}
.fb-email .email-link:hover{color:#bcd6da;}
.fb-email a{width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  border-radius:4px;background:#fff;color:#000;font-size:.68rem;font-weight:800;}
.fb-email a.fb{background:#1877F2;color:#fff;border-radius:50%;}
.fb-email a.x{background:#000;color:#fff;border:1px solid #555;}
.fb-email a.em{background:#9aa0a6;color:#fff;}
.footer-links{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0;font-size:.74rem;
  align-items:center;}
.footer-links li:not(:last-child)::after{content:"|";color:#fff;margin:0 8px;text-decoration:none;
  display:inline-block;}
.footer-links a{color:#fff;text-decoration:underline;}
.footer-links a:hover{color:#bcd6da;}
.smile-credit{text-align:right;font-size:.74rem;color:#fff;padding:0;margin:0;}

/* ---------- Floating offer badge ---------- */
.badge{position:fixed;right:18px;bottom:18px;width:186px;height:186px;border-radius:50%;
  background:url('images/stickybutton-2025.png') center/cover no-repeat;
  box-shadow:0 10px 30px rgba(0,0,0,.28);z-index:150;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:0 8px;gap:8px;color:#fff;transition:transform .2s ease;overflow:hidden;}
.badge:hover{transform:scale(1.05);color:#fff;}
.badge .pill{background:#fff;color:#1b2a32;font-weight:700;line-height:1.2;border-radius:7px;
  padding:6px 10px;width:auto;max-width:74%;}
.badge .pill.top{font-size:.8rem;}
.badge .pill.cta{font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;padding:7px 14px;
  max-width:66%;}
.badge .mid{font-size:.72rem;font-weight:700;line-height:1.35;color:#fff;padding:0 4px;
  text-shadow:0 1px 4px rgba(0,0,0,.28);}

/* ---------- Cookie bar ---------- */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;margin:0 auto;background:#fff;
  color:var(--ink);box-shadow:0 12px 50px rgba(0,0,0,.22);border-radius:14px;padding:20px 24px;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;z-index:200;font-size:.85rem;line-height:1.6;}
.cookie-bar p{margin:0;flex:1 1 320px;color:var(--muted);}
.cookie-bar .btns{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-bar button{font-size:.76rem;padding:9px 16px;border-radius:50px;cursor:pointer;font-family:inherit;
  font-weight:700;border:2px solid var(--teal);}
.cookie-bar .ghost{background:#fff;color:var(--teal);}
.cookie-bar .solid{background:var(--teal);color:#fff;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
.nav-overlay{display:none;}
@media(max-width:940px){
  .menu-toggle{display:block;}
  .nav-row{display:none;}
  .nav-row.open{display:block;position:fixed;top:0;right:0;height:100vh;width:min(340px,86vw);
    background:#fff;box-shadow:-6px 0 30px rgba(0,0,0,.15);padding:70px 18px 30px;overflow-y:auto;
    z-index:100;border-top:none;}
  .nav>ul{flex-direction:column;gap:0;width:100%;align-items:stretch;}
  .nav>ul>li>a{padding:12px 10px;border-bottom:1px solid var(--line);}
  .submenu,.submenu .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    background:var(--wash);margin:0;padding:0 0 6px 10px;min-width:0;}
  .nav .book-online>a{margin:8px 0 0;display:inline-block;}
  .nav-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90;}
  .quickband .grid{grid-template-columns:1fr 1fr;}
  .fund-logos{grid-template-columns:repeat(4,1fr);gap:22px;}
  .offer .grid,.offer .grid.flip .col-img,.feature .grid,.feature .grid.flip .col-img,
  .dentist-cards,.footer .fc-grid{grid-template-columns:1fr;}
  .offer .grid.flip .col-img,.feature .grid.flip .col-img{order:0;}
  .services .layout{grid-template-columns:1fr;}
  .tab-list{flex-direction:row;flex-wrap:wrap;gap:8px;}
  .tab-list button{border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:9px 15px;}
  .tab-list button.active{background:var(--teal);}
}
@media(max-width:560px){
  .quickband .grid{grid-template-columns:1fr;}
  .fund-logos{grid-template-columns:repeat(2,1fr);}
  .offer .col-text,.feature{padding-left:22px;padding-right:22px;}
  .offer .col-text{padding:34px 26px;}
  .badge{width:150px;height:150px;gap:5px;}
  .badge .pill.top{font-size:.66rem;}
  .badge .pill.cta{font-size:.62rem;}
  .badge .mid{font-size:.6rem;}
}

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
:root{--green:#16922F;}
.page-head{padding:52px 0 10px;}
.page-head h1{font-weight:300;color:#3a4a4e;font-size:clamp(2rem,4.4vw,3rem);margin:0;}

.about-intro{padding:26px 0 60px;}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.ai-text h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.5em;}
.ai-text h2.mt{margin-top:1.6em;}
.ai-text p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.ai-text p a{color:var(--teal);font-weight:600;}
.pullquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:1rem;line-height:1.7;}
.ai-text .btn-book{margin:6px 0 4px;}
.ai-img .ph{min-height:400px;border-radius:60px 0 60px 0;}
.ai-img img{width:100%;height:auto;display:block;border-radius:60px 0 60px 0;}

.approach{position:relative;padding:0 24px 60px;}
.approach-bg{display:block;width:100%;max-width:1180px;height:auto;margin:0 auto;}
.approach .container{position:relative;z-index:2;}
.approach-panel{background:rgba(255,255,255,.95);padding:34px 40px 8px;
  max-width:900px;margin:-40px auto 0;}
.approach-panel h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.6em;}
.approach-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.approach-panel p a{color:var(--teal);font-weight:700;}

.about-cols{padding:20px 0 40px;}
.ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.ac-left h2,.ac-right h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.4vw,1.7rem);
  margin-bottom:.5em;}
.ac-left h2 .plus{color:var(--teal);font-weight:400;}
.ac-left p,.ac-right p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;}
.ac-left p a,.ac-right p a{color:var(--teal);font-weight:700;}
.ac-right{background:#F1F1F1;padding:30px 34px;}

.page-foot{padding:26px 0 54px;text-align:center;}
.diamond-rule{position:relative;height:14px;margin-bottom:34px;}
.diamond-rule::before{content:"";position:absolute;top:50%;left:0;right:0;height:0;
  border-top:2px dotted #bcd9c4;}
.diamond-rule .diamond{position:absolute;left:50%;top:50%;width:13px;height:13px;
  background:var(--green);transform:translate(-50%,-50%) rotate(45deg);}
.page-foot-title{font-weight:300;color:#3a4a4e;font-size:clamp(1.1rem,2.2vw,1.45rem);margin:0;}

@media(max-width:820px){
  .ai-grid,.ac-grid{grid-template-columns:1fr;gap:32px;}
  .ai-img .ph,.ai-img img{border-radius:0;min-height:280px;}
  .approach-bg{height:auto;}
  .approach-panel{padding:26px 22px 4px;margin:-40px auto 0;max-width:100%;}
}


/* ==========================================================================
   NEW PATIENTS PAGE
   ========================================================================== */
/* offer hero */
.np-offer{position:relative;overflow:hidden;background:#dfe8ec;margin-top:8px;}
.np-offer-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;
  border:none;border-radius:0;}
.np-offer .container{position:relative;z-index:2;padding-top:34px;padding-bottom:34px;}
.np-card{background:rgba(255,255,255,.9);max-width:520px;padding:34px 38px 34px;}
.np-t1{font-family:'Raleway',sans-serif;font-weight:300;color:#3a3a3a;font-size:clamp(1.3rem,2.4vw,1.7rem);
  margin:0;}
.np-t2-row{display:flex;align-items:flex-start;gap:20px;}
.np-t2{font-family:'Raleway',sans-serif;font-weight:800;color:#333;line-height:1.02;margin:0 0 6px;
  font-size:clamp(2rem,4.2vw,3rem);}
.np-price{flex-shrink:0;width:112px;height:112px;border-radius:50%;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.14);
  display:flex;align-items:center;justify-content:center;font-family:'Raleway',sans-serif;font-weight:800;
  font-size:2.1rem;color:#333;margin-top:6px;}
.np-price .cur{font-size:.6em;font-weight:700;vertical-align:.35em;margin-right:1px;}
.np-with{font-family:'Open Sans',sans-serif;color:var(--teal);font-size:.92rem;margin:0 0 14px;}
.np-gap{font-family:'Raleway',sans-serif;font-weight:300;color:#3a3a3a;font-size:1.3rem;margin:0 0 6px;}
.np-inc{font-family:'Open Sans',sans-serif;font-size:.86rem;color:#4a4a4a;margin:0 0 8px;}
.np-card .offer-list{margin:0 0 20px;}
.np-card .offer-list li{font-size:.9rem;color:#444;}
.np-card .offer-list li::before{top:5px;}
.np-book{margin:2px 0 16px;}
.np-fine{font-family:'Open Sans',sans-serif;font-size:.72rem;color:#7b8588;line-height:1.6;margin:0;}

/* first visit uses about-intro grid; portrait square-ish */
.np-intro{padding:44px 0 40px;}
.np-intro .ai-grid{grid-template-columns:1.3fr 1fr;gap:52px;align-items:center;}
.np-intro .ai-img img{border-radius:32px 0 32px 0;}
.np-intro .ai-text h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);
  margin:1.2em 0 .5em;}
.np-intro .ai-text p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.94rem;}
.np-intro .ai-text p a{color:var(--teal);font-weight:600;}

/* forms banner with overlapping white panel */
.np-forms{position:relative;padding:0 24px 10px;}
.np-forms-bg{display:block;width:100%;max-width:1180px;height:auto;margin:0 auto;}
.np-forms .container{position:relative;z-index:2;}
.np-forms-panel{background:rgba(255,255,255,.96);max-width:1000px;margin:-90px auto 0;
  padding:32px 40px 20px;}
.npf-cols{display:grid;grid-template-columns:1fr 1fr;gap:44px;}
.npf-cols h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.2rem,2.4vw,1.55rem);margin:0 0 .5em;}
.npf-cols p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.9rem;}
.npf-cols p a{color:var(--teal);font-weight:700;}

/* schedule box */
.np-schedule{padding:26px 0 10px;}
.np-schedule .box-filled{background:#F1F1F1;padding:30px 40px 32px;max-width:1000px;margin:0 auto;}
.np-schedule h3{font-weight:300;color:#3a4a4e;font-size:clamp(1.25rem,2.4vw,1.6rem);}
.np-schedule h3 .plus{color:var(--teal);font-weight:400;}
.np-schedule p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.9rem;margin-bottom:16px;}

@media(max-width:820px){
  .np-intro .ai-grid{grid-template-columns:1fr;gap:28px;}
  .np-offer{background:#eef2f4;}
  .np-offer-bg{position:relative;height:auto;display:block;}
  .np-offer .container{padding-top:0;padding-bottom:0;}
  .np-card{max-width:100%;background:#fff;padding:30px 24px 32px;}
  .np-t2-row{flex-wrap:wrap;}
  .npf-cols{grid-template-columns:1fr;gap:22px;}
  .np-forms-panel{margin-top:-40px;padding:26px 22px 8px;}
}


/* ---- from our-services.html ---- */

/* ==========================================================================
   PRINCETON DENTAL — homepage recreation
   Palette taken from the live site. Change these variables to re-skin.
   ========================================================================== */
:root{
  --teal:       #4E8E9A;   /* primary teal — buttons, links, accents         */
  --teal-dark:  #3C7079;   /* hover                                          */
  --teal-deep:  #2C545C;   /* dark panels: dentists, services, contact strip */
  --ink:        #333333;   /* body + heading text                            */
  --muted:      #6A7578;   /* secondary text                                 */
  --faq:        #E0F9FE;   /* FAQ section background                          */
  --wash:       #F3FAFB;   /* very light teal wash for alt sections           */
  --line:       #E2EBEC;
  --white:      #FFFFFF;
  --shadow:     0 14px 44px rgba(44,84,92,.14);
  --radius:     14px;
  --maxw:       1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:'Raleway',system-ui,-apple-system,Segoe UI,sans-serif;
  font-weight:400;line-height:1.75;color:var(--ink);background:var(--white);font-size:16px;
  letter-spacing:.01em;
}
h1,h2,h3,h4{font-family:'Raleway',sans-serif;font-weight:800;line-height:1.22;
  letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.3rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);}
h3{font-size:clamp(1.15rem,2vw,1.5rem);}
p{margin:0 0 1.1em;}
a{color:var(--teal);text-decoration:none;}
a:hover{color:var(--teal-dark);}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.site{background:#fff;overflow:hidden;}
.center{text-align:center;}
.hl{color:var(--teal);}
.thin{font-weight:400;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  font-size:.78rem;padding:14px 32px;border-radius:50px;cursor:pointer;border:2px solid transparent;
  transition:.2s ease;}
.btn-primary{background:var(--teal);color:#fff;}
/* Book Online button: top-left + bottom-right rounded, other corners square */
.btn-book{display:inline-flex;align-items:center;gap:9px;background:var(--teal);color:#fff;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;
  padding:14px 28px;border:2px solid transparent;cursor:pointer;transition:.2s ease;
  border-radius:18px 0 18px 0;}
.btn-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-book svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.hero-cta{align-self:flex-start;padding:19px 52px;font-size:.95rem;border-radius:24px 0 24px 0;margin-top:20px;}
.btn-primary:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal);}
.btn-outline:hover{background:var(--teal);color:#fff;}
.btn-light{background:#fff;color:var(--teal);}
.btn-light:hover{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep);}
.btn-white-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-white-outline:hover{background:#fff;color:var(--teal);}

/* ---------- Image placeholders ---------- */
.ph{position:relative;background:repeating-linear-gradient(45deg,#eef3f3 0 14px,#e6edee 14px 28px);
  border:1px dashed #aebdbd;border-radius:var(--radius);display:flex;align-items:center;
  justify-content:center;text-align:center;color:#6f807f;font-size:.8rem;font-weight:600;
  letter-spacing:.02em;padding:16px;min-height:120px;overflow:hidden;}
.ph span{display:block;line-height:1.5;}
.ph small{display:block;font-weight:500;opacity:.72;margin-top:4px;font-size:.72rem;}

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.topbar{background:var(--teal-deep);color:#dcedef;font-size:.85rem;}
.topbar .container{display:flex;align-items:center;gap:20px;min-height:44px;flex-wrap:wrap;}
.topbar a{color:#dcedef;}
.topbar a:hover{color:#fff;}
.tb-promo{margin-right:auto;font-weight:600;}
.tb-promo a{text-decoration:none;}
.tb-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto;}
.tb-socials{display:flex;gap:8px;}
.tb-socials a{width:26px;height:26px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;}
.tb-socials a:hover{background:#fff;color:var(--teal-deep);}
.hours-toggle{position:relative;cursor:pointer;}
.hours-panel{position:absolute;top:130%;right:0;background:#fff;color:var(--ink);
  box-shadow:var(--shadow);border-radius:10px;padding:16px 20px;width:250px;z-index:60;display:none;}
.hours-toggle:hover .hours-panel,.hours-panel:hover{display:block;}
.hours-panel h4{font-size:.95rem;margin-bottom:10px;color:var(--teal);}
.hours-panel table{width:100%;border-collapse:collapse;font-size:.8rem;}
.hours-panel td{padding:4px 0;border-bottom:1px solid var(--line);}
.hours-panel td:last-child{text-align:right;color:var(--muted);}

/* ==========================================================================
   HEADER (two rows: brand row + nav row)
   ========================================================================== */
.header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px rgba(0,0,0,.07);}
.brand-row{display:flex;align-items:center;gap:24px;padding:16px 0 10px;}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{height:46px;width:auto;display:block;}
.call-now{margin-left:auto;font-size:.9rem;color:var(--ink);font-weight:600;}
.call-now strong{color:var(--teal);}
.menu-toggle{display:none;background:none;border:2px solid var(--line);border-radius:8px;
  padding:8px 12px;font-weight:700;cursor:pointer;color:var(--ink);font-family:inherit;margin-left:auto;}

.nav-row{border-top:1px solid var(--line);}
.nav{display:flex;justify-content:center;}
.nav>ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap;justify-content:center;}
.nav>ul>li{position:relative;}
.nav>ul>li>a{display:block;padding:14px 15px;font-weight:700;font-size:.82rem;color:var(--ink);
  letter-spacing:.04em;text-transform:uppercase;}
.nav>ul>li>a:hover{color:var(--teal);}
.nav .has-sub>a::after{content:"▾";font-size:.7em;margin-left:5px;color:var(--muted);}
.submenu{position:absolute;top:100%;left:0;background:#fff;min-width:250px;box-shadow:var(--shadow);
  border-radius:10px;padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.18s ease;z-index:40;}
.nav li:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu li{position:relative;}
.submenu a{display:block;padding:9px 14px;border-radius:7px;font-size:.82rem;font-weight:600;
  color:var(--ink);text-transform:none;letter-spacing:0;}
.submenu a:hover{background:var(--wash);color:var(--teal);}
.submenu .has-sub>a::after{content:"›";float:right;color:var(--muted);}
.submenu .submenu{top:0;left:100%;margin-left:4px;}
.nav .book-online>a{background:var(--teal);color:#fff;border-radius:18px 0 18px 0;margin:6px 0 0 8px;
  padding:11px 20px;display:inline-flex;align-items:center;gap:8px;}
.nav .book-online>a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.nav .book-online>a:hover{background:var(--teal-dark);color:#fff;}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;overflow:hidden;}
.hero-bg{display:block;width:100%;height:auto;}
.hero-inner{position:absolute;inset:0;z-index:2;max-width:var(--maxw);margin:0 auto;
  padding:0 24px;display:flex;flex-direction:column;justify-content:center;}
.hero h1{color:#23383c;max-width:620px;font-size:clamp(2.4rem,5.6vw,4rem);}
.hero h1 .light{font-weight:300;display:block;font-size:.6em;letter-spacing:.01em;margin-bottom:.15em;color:#3f5457;}
.hero .btn{margin-top:12px;}

/* quick links band */
.quickband{background:linear-gradient(rgba(44,84,92,.35),rgba(44,84,92,.45)),url('images/background_banners1.jpg') center/cover;padding:56px 0;}
.quickband .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:920px;margin:0 auto;}
.quickband a{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;text-align:center;transition:.2s;}
.quickband .tile{width:136px;height:136px;background:var(--teal);border-radius:34px 0 34px 0;
  display:flex;align-items:center;justify-content:center;transition:.2s;}
.quickband a:hover .tile{background:var(--teal-dark);transform:translateY(-4px);}
.quickband .tile img{width:82px;height:82px;object-fit:contain;}
.quickband .lbl{font-size:1.05rem;font-weight:500;line-height:1.25;}
.quickband .lbl b{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}

/* tagline */
.tagline{text-align:center;max-width:640px;margin:0 auto;padding:56px 24px;font-style:italic;
  color:var(--teal);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;font-weight:500;}

/* ==========================================================================
   OFFER ROWS (image beside text)
   ========================================================================== */
.offer{padding:20px 0;}
.offer .grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
  background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.offer .col-img .ph{border-radius:0;min-height:420px;height:100%;}
.offer .col-text{padding:48px 46px;display:flex;flex-direction:column;justify-content:center;}
.offer .grid.flip .col-img{order:2;}
.offer h2 sup{color:var(--teal);font-size:.5em;}
.offer .sub{font-weight:700;color:var(--teal);margin:2px 0 20px;font-size:1.05rem;}
.offer .price{color:var(--teal);}
.offer ul{margin:0 0 20px;padding:0;list-style:none;}
.offer ul li{position:relative;padding-left:28px;margin-bottom:7px;font-size:.94rem;}
.offer ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800;}
.offer .fineprint{font-size:.74rem;color:var(--muted);margin:8px 0 22px;line-height:1.6;}
.offer .btn{align-self:flex-start;}
.offer .smile-big{font-size:clamp(2rem,4vw,2.8rem);color:var(--teal);font-weight:800;
  line-height:1.05;margin-bottom:.1em;}
.offer .smile-sub{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:.5em;}

/* ---- Gap Free offer: full-bleed photo background, text on light right side ---- */
.offer-hero{position:relative;overflow:hidden;background:#eceeef;}
.offer-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;}
.offer-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(236,238,239,0) 40%,rgba(236,238,239,.82) 58%,rgba(236,238,239,.96) 74%);}
.offer-hero .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:66px 24px;
  display:flex;justify-content:flex-end;}
.offer-content{width:min(580px,55%);color:var(--ink);}
.offer-content .t1{font-family:'Raleway',sans-serif;font-weight:700;line-height:1.02;margin:0;
  color:var(--teal);text-transform:uppercase;font-size:clamp(2.3rem,4.6vw,3.4rem);}
.offer-content .t1 sup{font-size:.5em;top:-.6em;}
/* mirrored variant: photo on the right, text on the left */
.offer-hero.flip .offer-hero-bg{object-position:right center;}
.offer-hero.flip::after{background:linear-gradient(90deg,rgba(255,255,255,.96) 26%,rgba(255,255,255,.82) 44%,rgba(255,255,255,0) 62%);}
.offer-hero.flip .inner{justify-content:flex-start;}
.offer-content .t2{font-family:'Raleway',sans-serif;font-weight:400;line-height:1.08;margin:0 0 22px;
  font-size:clamp(1.9rem,3.8vw,2.8rem);color:var(--ink);}
.offer-content .t3{font-family:'Raleway',sans-serif;font-weight:300;margin:0 0 12px;
  font-size:clamp(1.1rem,2vw,1.45rem);color:var(--ink);}
.offer-content .inc{font-family:'Open Sans',sans-serif;font-weight:400;margin:0 0 8px;color:var(--ink);}
.offer-list{list-style:none;margin:0 0 20px;padding:0;font-family:'Open Sans',sans-serif;}
.offer-list li{position:relative;padding-left:30px;margin-bottom:9px;font-size:.98rem;color:#444;}
.offer-list li::before{content:"";position:absolute;left:3px;top:6px;width:13px;height:8px;
  border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);transform:rotate(-45deg);}
.offer-content .fine{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;
  color:var(--muted);margin:0 0 26px;line-height:1.6;max-width:520px;}
.offer-book{display:block;width:100%;background:var(--teal);color:#fff;font-family:'Raleway',sans-serif;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;text-align:center;
  padding:19px 24px;border-radius:28px 0 28px 0;transition:.2s;}
.offer-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
@media(max-width:820px){
  .offer-hero-bg{position:relative;height:auto;}
  .offer-hero::after{display:none;}
  .offer-hero .inner{display:block;padding:0 0 40px;}
  .offer-content{width:100%;padding:30px 24px 0;}
  .care-inner{grid-template-columns:1fr;min-height:0;}
  .care-bg{position:relative;height:260px;}
  .care.flip .care-panel{order:2;}
  .care.flip .care-spacer{order:1;}
  .care-spacer{display:none;}
  .care-panel.br,.care-panel.tl{border-radius:0;}
  .care-panel{padding:40px 24px;}
}

/* ==========================================================================
   FEATURE ROWS (Honest Care / Straightforward Approach / Get Started)
   ========================================================================== */
.feature{padding:70px 0;}
.feature.wash{background:var(--wash);}
.feature .grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.feature .grid.flip .col-img{order:2;}
.feature .col-img .ph{min-height:380px;height:100%;border-radius:20px;}
.feature .col-text h2 .hl{display:inline;}

/* ---- Care / Straightforward: full-bleed photo with an overlaid white curved panel ---- */
.care{position:relative;overflow:hidden;background:#fff;}
.care-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;}
.care.flip .care-bg{object-position:left center;}
.care-bg.ph{border-radius:0;border:none;}
.care-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;min-height:470px;}
.care-panel{background:#fff;padding:64px clamp(28px,4.5vw,60px);display:flex;flex-direction:column;
  justify-content:center;align-items:center;}
.care-panel>*{width:100%;max-width:430px;}
/* section 1: panel left, curve cut into its bottom-right */
.care-panel.br{border-bottom-right-radius:170px;}
/* section 2: panel right, curve cut into its top-left */
.care.flip .care-panel{order:2;}
.care.flip .care-spacer{order:1;}
.care-panel.tl{border-top-left-radius:170px;}
.care-panel.tr{border-top-right-radius:170px;}
.care-spacer{}
.care-panel h2{font-family:'Raleway',sans-serif;font-weight:300;color:#23383c;line-height:1.14;
  font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.6em;}
.care-panel h2 b{font-weight:700;}
.care-panel h2 .stack{display:block;}
.care-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.94rem;max-width:430px;}
.care-panel p a{color:var(--teal);font-weight:700;}

/* ==========================================================================
   MEET THE DENTISTS (dark teal panel + white cards)
   ========================================================================== */
.dentists{padding:0 0 70px;background:#fff;}
.dentists-hero{position:relative;background:#2C545C;padding:0;color:#fff;overflow:hidden;}
.dentists-hero img.team{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;
  position:absolute;inset:0;}
.dentists-hero .overlay{position:relative;z-index:2;min-height:720px;display:flex;flex-direction:column;
  justify-content:flex-end;align-items:center;text-align:center;padding:0 24px 150px;
  background:linear-gradient(to bottom,rgba(20,45,50,0) 40%,rgba(20,45,50,.4) 56%,rgba(20,45,50,.7) 80%);}
.dentists-hero h2{color:#fff;font-weight:300;margin-bottom:.5em;text-shadow:0 2px 14px rgba(0,0,0,.35);}
.dentists-hero h2 b{font-weight:800;}
.dentists-hero p{color:#e6f1f3;max-width:660px;margin:0 auto;font-size:.94rem;
  text-shadow:0 1px 10px rgba(0,0,0,.45);}
.dentists-hero .ph{border-radius:14px;min-height:300px;max-width:640px;margin:0 auto 30px;
  background:repeating-linear-gradient(45deg,#3a656d 0 16px,#345a62 16px 32px);border-color:#4a747c;
  color:#bcd6da;}
.dentists-hero h2{color:#fff;}
.dentists-hero p{color:#d4e5e8;max-width:720px;margin:0 auto;}
.dentist-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:920px;margin:-60px auto 0;
  position:relative;z-index:2;}
.dentist-card{background:#fff;border-radius:0;box-shadow:var(--shadow);padding:32px 32px 36px;}
.dentist-card h3 small{font-weight:500;color:var(--muted);font-size:.85rem;}
.quals{background:var(--wash);border-radius:0;padding:14px 18px;margin:16px 0 20px;font-size:.85rem;}
.quals strong{display:block;margin-bottom:6px;color:var(--teal);}
.quals ul{margin:0;padding-left:18px;}

/* ==========================================================================
   OUR DENTAL SERVICES (dark teal, tabbed)
   ========================================================================== */
.services{background:url('images/img-services.jpg') center/cover;color:#fff;padding:70px 0;}
.services h2{color:#fff;font-weight:300;margin-bottom:.1em;}
.services h2 .hl{color:#fff;font-weight:800;}
.services .layout{display:grid;grid-template-columns:320px 1fr;gap:56px;margin-top:34px;}
.tab-list{display:flex;flex-direction:column;gap:4px;}
.tab-list button{background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;
  color:#e2f0f2;font-weight:600;font-size:.82rem;letter-spacing:.07em;text-transform:uppercase;
  padding:10px 0;display:flex;align-items:center;gap:10px;transition:.2s ease;
  border-bottom:1px solid transparent;align-self:flex-start;}
.tab-list button::after{content:"→";font-size:.95em;}
.tab-list button:hover{color:#fff;transform:translateX(6px);}
.tab-list button.active{color:#fff;font-weight:700;transform:translateX(18px);
  border-bottom-color:rgba(255,255,255,.85);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-panel h3{color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;font-weight:600;
  margin-bottom:.7em;}
.tab-panel p{color:#dbeaec;max-width:560px;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.tab-panel .btn-book{margin-top:14px;background:rgba(78,142,154,.85);}
.tab-panel .btn-book:hover{background:var(--teal);}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{background:var(--faq);padding:70px 0;}
.faq .head{text-align:center;margin-bottom:26px;}
.faq .head h2{color:#3f6168;font-weight:300;font-size:clamp(1.8rem,3.4vw,2.4rem);}
.acc{max-width:800px;margin:0 auto;display:flex;flex-direction:column;}
.acc-item{background:none;border-radius:0;box-shadow:none;overflow:hidden;}
.acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 0;
  font-family:inherit;font-weight:400;font-size:1.02rem;color:#3f6168;display:flex;align-items:center;
  gap:14px;}
.acc-q .qtext{flex-shrink:0;}
.acc-q .leader{flex:1;border-bottom:1px dotted #9dc2c9;height:1px;margin-top:6px;}
.acc-q:hover{color:var(--teal);}
.acc-q .ico{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;line-height:1;
  transition:.2s;}
.acc-item.open .acc-q .ico{transform:none;}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc-a-inner{padding:4px 60px 18px 22px;color:#4a5457;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.acc-item.open .acc-a{max-height:400px;}

/* ==========================================================================
   HEALTH FUNDS
   ========================================================================== */
.funds{padding:64px 0;text-align:center;background:#fff;}
.funds h2{margin-bottom:.15em;font-weight:800;}
.funds .sub{color:var(--ink);max-width:900px;margin:0 auto 40px;font-weight:400;
  font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.3;font-family:'Raleway',sans-serif;}
.fund-logos{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;align-items:center;
  justify-items:center;}
.fund-logos img{width:100%;max-width:150px;height:auto;object-fit:contain;}
.funds .note{font-size:.76rem;color:var(--muted);margin-top:26px;font-style:italic;}

/* ==========================================================================
   PAYMENT PLANS + CONTACT CTA + MAP
   ========================================================================== */
.payment{background:var(--teal);color:#fff;text-align:center;padding:46px 24px 42px;}
.payment h2{color:#fff;font-weight:300;margin-bottom:.45em;font-size:clamp(1.7rem,3.4vw,2.3rem);}
.payment .ask{color:#fff;font-weight:700;font-size:clamp(1rem,1.9vw,1.2rem);margin:0;}
.contact-cta{background:#466167;color:#fff;padding:30px 24px;}
.contact-cta .container{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center;}
.contact-cta .phone{font-size:1.45rem;font-weight:700;display:flex;align-items:center;gap:12px;}
.contact-cta .phone svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.8;}
.contact-cta .btn-book{padding:15px 60px;font-weight:400;letter-spacing:.06em;font-size:.92rem;}
.map{line-height:0;}
.map iframe{display:block;width:100%;height:400px;border:0;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:#fff;padding:58px 0;color:var(--ink);border-top:1px solid var(--line);}
.footer .fc-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start;}
.footer h2{font-size:1.4rem;}
.footer .addr{color:var(--muted);font-size:.95rem;}
.footer .addr strong{color:var(--ink);display:block;margin-top:14px;}
.footer .fc-hours h4{color:var(--teal);margin-bottom:8px;}
.footer .fc-hours table{width:100%;border-collapse:collapse;font-size:.88rem;max-width:360px;}
.footer .fc-hours td{padding:7px 0;border-bottom:1px solid var(--line);}
.footer .fc-hours td:last-child{text-align:right;color:var(--muted);}
.footer-bottom{background:#000;margin-top:0;padding:18px 0;border-top:none;}
.footer-bottom .container{max-width:1440px;}
.fb-grid{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:start;}
.fb-addr{margin:0;font-size:.76rem;line-height:1.65;color:#fff;font-weight:700;}
.fb-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.fb-email{display:flex;align-items:center;gap:10px;}
.fb-email .email-link{font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.04em;
  width:auto;height:auto;background:none;border-radius:0;text-decoration:underline;}
.fb-email .email-link:hover{color:#bcd6da;}
.fb-email a{width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  border-radius:4px;background:#fff;color:#000;font-size:.68rem;font-weight:800;}
.fb-email a.fb{background:#1877F2;color:#fff;border-radius:50%;}
.fb-email a.x{background:#000;color:#fff;border:1px solid #555;}
.fb-email a.em{background:#9aa0a6;color:#fff;}
.footer-links{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0;font-size:.74rem;
  align-items:center;}
.footer-links li:not(:last-child)::after{content:"|";color:#fff;margin:0 8px;text-decoration:none;
  display:inline-block;}
.footer-links a{color:#fff;text-decoration:underline;}
.footer-links a:hover{color:#bcd6da;}
.smile-credit{text-align:right;font-size:.74rem;color:#fff;padding:0;margin:0;}

/* ---------- Floating offer badge ---------- */
.badge{position:fixed;right:18px;bottom:18px;width:186px;height:186px;border-radius:50%;
  background:url('images/stickybutton-2025.png') center/cover no-repeat;
  box-shadow:0 10px 30px rgba(0,0,0,.28);z-index:150;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:0 8px;gap:8px;color:#fff;transition:transform .2s ease;overflow:hidden;}
.badge:hover{transform:scale(1.05);color:#fff;}
.badge .pill{background:#fff;color:#1b2a32;font-weight:700;line-height:1.2;border-radius:7px;
  padding:6px 10px;width:auto;max-width:74%;}
.badge .pill.top{font-size:.8rem;}
.badge .pill.cta{font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;padding:7px 14px;
  max-width:66%;}
.badge .mid{font-size:.72rem;font-weight:700;line-height:1.35;color:#fff;padding:0 4px;
  text-shadow:0 1px 4px rgba(0,0,0,.28);}

/* ---------- Cookie bar ---------- */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;margin:0 auto;background:#fff;
  color:var(--ink);box-shadow:0 12px 50px rgba(0,0,0,.22);border-radius:14px;padding:20px 24px;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;z-index:200;font-size:.85rem;line-height:1.6;}
.cookie-bar p{margin:0;flex:1 1 320px;color:var(--muted);}
.cookie-bar .btns{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-bar button{font-size:.76rem;padding:9px 16px;border-radius:50px;cursor:pointer;font-family:inherit;
  font-weight:700;border:2px solid var(--teal);}
.cookie-bar .ghost{background:#fff;color:var(--teal);}
.cookie-bar .solid{background:var(--teal);color:#fff;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
.nav-overlay{display:none;}
@media(max-width:940px){
  .menu-toggle{display:block;}
  .nav-row{display:none;}
  .nav-row.open{display:block;position:fixed;top:0;right:0;height:100vh;width:min(340px,86vw);
    background:#fff;box-shadow:-6px 0 30px rgba(0,0,0,.15);padding:70px 18px 30px;overflow-y:auto;
    z-index:100;border-top:none;}
  .nav>ul{flex-direction:column;gap:0;width:100%;align-items:stretch;}
  .nav>ul>li>a{padding:12px 10px;border-bottom:1px solid var(--line);}
  .submenu,.submenu .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    background:var(--wash);margin:0;padding:0 0 6px 10px;min-width:0;}
  .nav .book-online>a{margin:8px 0 0;display:inline-block;}
  .nav-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90;}
  .quickband .grid{grid-template-columns:1fr 1fr;}
  .fund-logos{grid-template-columns:repeat(4,1fr);gap:22px;}
  .offer .grid,.offer .grid.flip .col-img,.feature .grid,.feature .grid.flip .col-img,
  .dentist-cards,.footer .fc-grid{grid-template-columns:1fr;}
  .offer .grid.flip .col-img,.feature .grid.flip .col-img{order:0;}
  .services .layout{grid-template-columns:1fr;}
  .tab-list{flex-direction:row;flex-wrap:wrap;gap:8px;}
  .tab-list button{border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:9px 15px;}
  .tab-list button.active{background:var(--teal);}
}
@media(max-width:560px){
  .quickband .grid{grid-template-columns:1fr;}
  .fund-logos{grid-template-columns:repeat(2,1fr);}
  .offer .col-text,.feature{padding-left:22px;padding-right:22px;}
  .offer .col-text{padding:34px 26px;}
  .badge{width:150px;height:150px;gap:5px;}
  .badge .pill.top{font-size:.66rem;}
  .badge .pill.cta{font-size:.62rem;}
  .badge .mid{font-size:.6rem;}
}

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
:root{--green:#16922F;}
.page-head{padding:52px 0 10px;}
.page-head h1{font-weight:300;color:#3a4a4e;font-size:clamp(2rem,4.4vw,3rem);margin:0;}

.about-intro{padding:26px 0 60px;}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.ai-text h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.5em;}
.ai-text h2.mt{margin-top:1.6em;}
.ai-text p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.ai-text p a{color:var(--teal);font-weight:600;}
.pullquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:1rem;line-height:1.7;}
.ai-text .btn-book{margin:6px 0 4px;}
.ai-img .ph{min-height:400px;border-radius:60px 0 60px 0;}
.ai-img img{width:100%;height:auto;display:block;border-radius:60px 0 60px 0;}

.approach{position:relative;padding:0 24px 60px;}
.approach-bg{display:block;width:100%;max-width:1180px;height:auto;margin:0 auto;}
.approach .container{position:relative;z-index:2;}
.approach-panel{background:rgba(255,255,255,.95);padding:34px 40px 8px;
  max-width:900px;margin:-40px auto 0;}
.approach-panel h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.6em;}
.approach-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.approach-panel p a{color:var(--teal);font-weight:700;}

.about-cols{padding:20px 0 40px;}
.ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.ac-left h2,.ac-right h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.4vw,1.7rem);
  margin-bottom:.5em;}
.ac-left h2 .plus{color:var(--teal);font-weight:400;}
.ac-left p,.ac-right p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;}
.ac-left p a,.ac-right p a{color:var(--teal);font-weight:700;}
.ac-right{background:#F1F1F1;padding:30px 34px;}

.page-foot{padding:26px 0 54px;text-align:center;}
.diamond-rule{position:relative;height:14px;margin-bottom:34px;}
.diamond-rule::before{content:"";position:absolute;top:50%;left:0;right:0;height:0;
  border-top:2px dotted #bcd9c4;}
.diamond-rule .diamond{position:absolute;left:50%;top:50%;width:13px;height:13px;
  background:var(--green);transform:translate(-50%,-50%) rotate(45deg);}
.page-foot-title{font-weight:300;color:#3a4a4e;font-size:clamp(1.1rem,2.2vw,1.45rem);margin:0;}

@media(max-width:820px){
  .ai-grid,.ac-grid{grid-template-columns:1fr;gap:32px;}
  .ai-img .ph,.ai-img img{border-radius:0;min-height:280px;}
  .approach-bg{height:auto;}
  .approach-panel{padding:26px 22px 4px;margin:-40px auto 0;max-width:100%;}
}


/* ==========================================================================
   OUR SERVICES PAGE
   ========================================================================== */
.svc-intro{padding:20px 0 36px;}
.svc-intro p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;line-height:1.7;
  margin:0 0 14px;}
.svc-intro p a{color:var(--teal);font-weight:700;}

.svc-cards{padding:6px 0 40px;}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:start;}
.svc-card{background:#F1F1F1;border-radius:0 14px 14px 14px;padding:32px 30px 34px;text-align:center;}
.svc-icon{height:52px;width:auto;display:block;margin:0 auto 14px;}
.svc-card h2{font-weight:700;color:#3a4a4e;font-size:1.15rem;margin:0 0 16px;}
.svc-card ul{list-style:none;margin:0;padding:0;text-align:left;display:inline-block;}
.svc-card li{position:relative;padding-left:20px;margin-bottom:10px;font-family:'Open Sans',sans-serif;
  font-size:.9rem;font-weight:700;line-height:1.35;}
.svc-card li::before{content:"";position:absolute;left:2px;top:8px;width:5px;height:5px;border-radius:50%;
  background:#3a4a4e;}
.svc-card li a{color:#3a4a4e;}
.svc-card li a:hover{color:var(--teal);}

.svc-cta{padding:10px 0 40px;}
.svc-cta-box{background:#F1F1F1;border-radius:0 14px 14px 14px;padding:40px 44px;}
.svc-cta-box h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.4rem,2.7vw,1.9rem);margin:0 0 .5em;}
.svc-cta-box p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;max-width:760px;
  margin:0 0 20px;}

@media(max-width:820px){
  .svc-grid{grid-template-columns:1fr;gap:20px;}
  .svc-card{text-align:center;}
}


/* ---- from special-offer.html ---- */

/* ==========================================================================
   PRINCETON DENTAL — homepage recreation
   Palette taken from the live site. Change these variables to re-skin.
   ========================================================================== */
:root{
  --teal:       #4E8E9A;   /* primary teal — buttons, links, accents         */
  --teal-dark:  #3C7079;   /* hover                                          */
  --teal-deep:  #2C545C;   /* dark panels: dentists, services, contact strip */
  --ink:        #333333;   /* body + heading text                            */
  --muted:      #6A7578;   /* secondary text                                 */
  --faq:        #E0F9FE;   /* FAQ section background                          */
  --wash:       #F3FAFB;   /* very light teal wash for alt sections           */
  --line:       #E2EBEC;
  --white:      #FFFFFF;
  --shadow:     0 14px 44px rgba(44,84,92,.14);
  --radius:     14px;
  --maxw:       1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:'Raleway',system-ui,-apple-system,Segoe UI,sans-serif;
  font-weight:400;line-height:1.75;color:var(--ink);background:var(--white);font-size:16px;
  letter-spacing:.01em;
}
h1,h2,h3,h4{font-family:'Raleway',sans-serif;font-weight:800;line-height:1.22;
  letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.3rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);}
h3{font-size:clamp(1.15rem,2vw,1.5rem);}
p{margin:0 0 1.1em;}
a{color:var(--teal);text-decoration:none;}
a:hover{color:var(--teal-dark);}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.site{background:#fff;overflow:hidden;}
.center{text-align:center;}
.hl{color:var(--teal);}
.thin{font-weight:400;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  font-size:.78rem;padding:14px 32px;border-radius:50px;cursor:pointer;border:2px solid transparent;
  transition:.2s ease;}
.btn-primary{background:var(--teal);color:#fff;}
/* Book Online button: top-left + bottom-right rounded, other corners square */
.btn-book{display:inline-flex;align-items:center;gap:9px;background:var(--teal);color:#fff;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;
  padding:14px 28px;border:2px solid transparent;cursor:pointer;transition:.2s ease;
  border-radius:18px 0 18px 0;}
.btn-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-book svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.hero-cta{align-self:flex-start;padding:19px 52px;font-size:.95rem;border-radius:24px 0 24px 0;margin-top:20px;}
.btn-primary:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal);}
.btn-outline:hover{background:var(--teal);color:#fff;}
.btn-light{background:#fff;color:var(--teal);}
.btn-light:hover{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep);}
.btn-white-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn-white-outline:hover{background:#fff;color:var(--teal);}

/* ---------- Image placeholders ---------- */
.ph{position:relative;background:repeating-linear-gradient(45deg,#eef3f3 0 14px,#e6edee 14px 28px);
  border:1px dashed #aebdbd;border-radius:var(--radius);display:flex;align-items:center;
  justify-content:center;text-align:center;color:#6f807f;font-size:.8rem;font-weight:600;
  letter-spacing:.02em;padding:16px;min-height:120px;overflow:hidden;}
.ph span{display:block;line-height:1.5;}
.ph small{display:block;font-weight:500;opacity:.72;margin-top:4px;font-size:.72rem;}

/* ==========================================================================
   TOP BAR
   ========================================================================== */
.topbar{background:var(--teal-deep);color:#dcedef;font-size:.85rem;}
.topbar .container{display:flex;align-items:center;gap:20px;min-height:44px;flex-wrap:wrap;}
.topbar a{color:#dcedef;}
.topbar a:hover{color:#fff;}
.tb-promo{margin-right:auto;font-weight:600;}
.tb-promo a{text-decoration:none;}
.tb-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto;}
.tb-socials{display:flex;gap:8px;}
.tb-socials a{width:26px;height:26px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;}
.tb-socials a:hover{background:#fff;color:var(--teal-deep);}
.hours-toggle{position:relative;cursor:pointer;}
.hours-panel{position:absolute;top:130%;right:0;background:#fff;color:var(--ink);
  box-shadow:var(--shadow);border-radius:10px;padding:16px 20px;width:250px;z-index:60;display:none;}
.hours-toggle:hover .hours-panel,.hours-panel:hover{display:block;}
.hours-panel h4{font-size:.95rem;margin-bottom:10px;color:var(--teal);}
.hours-panel table{width:100%;border-collapse:collapse;font-size:.8rem;}
.hours-panel td{padding:4px 0;border-bottom:1px solid var(--line);}
.hours-panel td:last-child{text-align:right;color:var(--muted);}

/* ==========================================================================
   HEADER (two rows: brand row + nav row)
   ========================================================================== */
.header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px rgba(0,0,0,.07);}
.brand-row{display:flex;align-items:center;gap:24px;padding:16px 0 10px;}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{height:46px;width:auto;display:block;}
.call-now{margin-left:auto;font-size:.9rem;color:var(--ink);font-weight:600;}
.call-now strong{color:var(--teal);}
.menu-toggle{display:none;background:none;border:2px solid var(--line);border-radius:8px;
  padding:8px 12px;font-weight:700;cursor:pointer;color:var(--ink);font-family:inherit;margin-left:auto;}

.nav-row{border-top:1px solid var(--line);}
.nav{display:flex;justify-content:center;}
.nav>ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap;justify-content:center;}
.nav>ul>li{position:relative;}
.nav>ul>li>a{display:block;padding:14px 15px;font-weight:700;font-size:.82rem;color:var(--ink);
  letter-spacing:.04em;text-transform:uppercase;}
.nav>ul>li>a:hover{color:var(--teal);}
.nav .has-sub>a::after{content:"▾";font-size:.7em;margin-left:5px;color:var(--muted);}
.submenu{position:absolute;top:100%;left:0;background:#fff;min-width:250px;box-shadow:var(--shadow);
  border-radius:10px;padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.18s ease;z-index:40;}
.nav li:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu li{position:relative;}
.submenu a{display:block;padding:9px 14px;border-radius:7px;font-size:.82rem;font-weight:600;
  color:var(--ink);text-transform:none;letter-spacing:0;}
.submenu a:hover{background:var(--wash);color:var(--teal);}
.submenu .has-sub>a::after{content:"›";float:right;color:var(--muted);}
.submenu .submenu{top:0;left:100%;margin-left:4px;}
.nav .book-online>a{background:var(--teal);color:#fff;border-radius:18px 0 18px 0;margin:6px 0 0 8px;
  padding:11px 20px;display:inline-flex;align-items:center;gap:8px;}
.nav .book-online>a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;}
.nav .book-online>a:hover{background:var(--teal-dark);color:#fff;}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;overflow:hidden;}
.hero-bg{display:block;width:100%;height:auto;}
.hero-inner{position:absolute;inset:0;z-index:2;max-width:var(--maxw);margin:0 auto;
  padding:0 24px;display:flex;flex-direction:column;justify-content:center;}
.hero h1{color:#23383c;max-width:620px;font-size:clamp(2.4rem,5.6vw,4rem);}
.hero h1 .light{font-weight:300;display:block;font-size:.6em;letter-spacing:.01em;margin-bottom:.15em;color:#3f5457;}
.hero .btn{margin-top:12px;}

/* quick links band */
.quickband{background:linear-gradient(rgba(44,84,92,.35),rgba(44,84,92,.45)),url('images/background_banners1.jpg') center/cover;padding:56px 0;}
.quickband .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:920px;margin:0 auto;}
.quickband a{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;text-align:center;transition:.2s;}
.quickband .tile{width:136px;height:136px;background:var(--teal);border-radius:34px 0 34px 0;
  display:flex;align-items:center;justify-content:center;transition:.2s;}
.quickband a:hover .tile{background:var(--teal-dark);transform:translateY(-4px);}
.quickband .tile img{width:82px;height:82px;object-fit:contain;}
.quickband .lbl{font-size:1.05rem;font-weight:500;line-height:1.25;}
.quickband .lbl b{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}

/* tagline */
.tagline{text-align:center;max-width:640px;margin:0 auto;padding:56px 24px;font-style:italic;
  color:var(--teal);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;font-weight:500;}

/* ==========================================================================
   OFFER ROWS (image beside text)
   ========================================================================== */
.offer{padding:20px 0;}
.offer .grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
  background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.offer .col-img .ph{border-radius:0;min-height:420px;height:100%;}
.offer .col-text{padding:48px 46px;display:flex;flex-direction:column;justify-content:center;}
.offer .grid.flip .col-img{order:2;}
.offer h2 sup{color:var(--teal);font-size:.5em;}
.offer .sub{font-weight:700;color:var(--teal);margin:2px 0 20px;font-size:1.05rem;}
.offer .price{color:var(--teal);}
.offer ul{margin:0 0 20px;padding:0;list-style:none;}
.offer ul li{position:relative;padding-left:28px;margin-bottom:7px;font-size:.94rem;}
.offer ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800;}
.offer .fineprint{font-size:.74rem;color:var(--muted);margin:8px 0 22px;line-height:1.6;}
.offer .btn{align-self:flex-start;}
.offer .smile-big{font-size:clamp(2rem,4vw,2.8rem);color:var(--teal);font-weight:800;
  line-height:1.05;margin-bottom:.1em;}
.offer .smile-sub{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:.5em;}

/* ---- Gap Free offer: full-bleed photo background, text on light right side ---- */
.offer-hero{position:relative;overflow:hidden;background:#eceeef;}
.offer-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;}
.offer-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(236,238,239,0) 40%,rgba(236,238,239,.82) 58%,rgba(236,238,239,.96) 74%);}
.offer-hero .inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:66px 24px;
  display:flex;justify-content:flex-end;}
.offer-content{width:min(580px,55%);color:var(--ink);}
.offer-content .t1{font-family:'Raleway',sans-serif;font-weight:700;line-height:1.02;margin:0;
  color:var(--teal);text-transform:uppercase;font-size:clamp(2.3rem,4.6vw,3.4rem);}
.offer-content .t1 sup{font-size:.5em;top:-.6em;}
/* mirrored variant: photo on the right, text on the left */
.offer-hero.flip .offer-hero-bg{object-position:right center;}
.offer-hero.flip::after{background:linear-gradient(90deg,rgba(255,255,255,.96) 26%,rgba(255,255,255,.82) 44%,rgba(255,255,255,0) 62%);}
.offer-hero.flip .inner{justify-content:flex-start;}
.offer-content .t2{font-family:'Raleway',sans-serif;font-weight:400;line-height:1.08;margin:0 0 22px;
  font-size:clamp(1.9rem,3.8vw,2.8rem);color:var(--ink);}
.offer-content .t3{font-family:'Raleway',sans-serif;font-weight:300;margin:0 0 12px;
  font-size:clamp(1.1rem,2vw,1.45rem);color:var(--ink);}
.offer-content .inc{font-family:'Open Sans',sans-serif;font-weight:400;margin:0 0 8px;color:var(--ink);}
.offer-list{list-style:none;margin:0 0 20px;padding:0;font-family:'Open Sans',sans-serif;}
.offer-list li{position:relative;padding-left:30px;margin-bottom:9px;font-size:.98rem;color:#444;}
.offer-list li::before{content:"";position:absolute;left:3px;top:6px;width:13px;height:8px;
  border-left:2.5px solid var(--teal);border-bottom:2.5px solid var(--teal);transform:rotate(-45deg);}
.offer-content .fine{font-family:'Open Sans',sans-serif;font-style:italic;font-size:.82rem;
  color:var(--muted);margin:0 0 26px;line-height:1.6;max-width:520px;}
.offer-book{display:block;width:100%;background:var(--teal);color:#fff;font-family:'Raleway',sans-serif;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:1rem;text-align:center;
  padding:19px 24px;border-radius:28px 0 28px 0;transition:.2s;}
.offer-book:hover{background:var(--teal-dark);color:#fff;transform:translateY(-2px);}
@media(max-width:820px){
  .offer-hero-bg{position:relative;height:auto;}
  .offer-hero::after{display:none;}
  .offer-hero .inner{display:block;padding:0 0 40px;}
  .offer-content{width:100%;padding:30px 24px 0;}
  .care-inner{grid-template-columns:1fr;min-height:0;}
  .care-bg{position:relative;height:260px;}
  .care.flip .care-panel{order:2;}
  .care.flip .care-spacer{order:1;}
  .care-spacer{display:none;}
  .care-panel.br,.care-panel.tl{border-radius:0;}
  .care-panel{padding:40px 24px;}
}

/* ==========================================================================
   FEATURE ROWS (Honest Care / Straightforward Approach / Get Started)
   ========================================================================== */
.feature{padding:70px 0;}
.feature.wash{background:var(--wash);}
.feature .grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.feature .grid.flip .col-img{order:2;}
.feature .col-img .ph{min-height:380px;height:100%;border-radius:20px;}
.feature .col-text h2 .hl{display:inline;}

/* ---- Care / Straightforward: full-bleed photo with an overlaid white curved panel ---- */
.care{position:relative;overflow:hidden;background:#fff;}
.care-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;}
.care.flip .care-bg{object-position:left center;}
.care-bg.ph{border-radius:0;border:none;}
.care-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;min-height:470px;}
.care-panel{background:#fff;padding:64px clamp(28px,4.5vw,60px);display:flex;flex-direction:column;
  justify-content:center;align-items:center;}
.care-panel>*{width:100%;max-width:430px;}
/* section 1: panel left, curve cut into its bottom-right */
.care-panel.br{border-bottom-right-radius:170px;}
/* section 2: panel right, curve cut into its top-left */
.care.flip .care-panel{order:2;}
.care.flip .care-spacer{order:1;}
.care-panel.tl{border-top-left-radius:170px;}
.care-panel.tr{border-top-right-radius:170px;}
.care-spacer{}
.care-panel h2{font-family:'Raleway',sans-serif;font-weight:300;color:#23383c;line-height:1.14;
  font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.6em;}
.care-panel h2 b{font-weight:700;}
.care-panel h2 .stack{display:block;}
.care-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.94rem;max-width:430px;}
.care-panel p a{color:var(--teal);font-weight:700;}

/* ==========================================================================
   MEET THE DENTISTS (dark teal panel + white cards)
   ========================================================================== */
.dentists{padding:0 0 70px;background:#fff;}
.dentists-hero{position:relative;background:#2C545C;padding:0;color:#fff;overflow:hidden;}
.dentists-hero img.team{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;
  position:absolute;inset:0;}
.dentists-hero .overlay{position:relative;z-index:2;min-height:720px;display:flex;flex-direction:column;
  justify-content:flex-end;align-items:center;text-align:center;padding:0 24px 150px;
  background:linear-gradient(to bottom,rgba(20,45,50,0) 40%,rgba(20,45,50,.4) 56%,rgba(20,45,50,.7) 80%);}
.dentists-hero h2{color:#fff;font-weight:300;margin-bottom:.5em;text-shadow:0 2px 14px rgba(0,0,0,.35);}
.dentists-hero h2 b{font-weight:800;}
.dentists-hero p{color:#e6f1f3;max-width:660px;margin:0 auto;font-size:.94rem;
  text-shadow:0 1px 10px rgba(0,0,0,.45);}
.dentists-hero .ph{border-radius:14px;min-height:300px;max-width:640px;margin:0 auto 30px;
  background:repeating-linear-gradient(45deg,#3a656d 0 16px,#345a62 16px 32px);border-color:#4a747c;
  color:#bcd6da;}
.dentists-hero h2{color:#fff;}
.dentists-hero p{color:#d4e5e8;max-width:720px;margin:0 auto;}
.dentist-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:920px;margin:-60px auto 0;
  position:relative;z-index:2;}
.dentist-card{background:#fff;border-radius:0;box-shadow:var(--shadow);padding:32px 32px 36px;}
.dentist-card h3 small{font-weight:500;color:var(--muted);font-size:.85rem;}
.quals{background:var(--wash);border-radius:0;padding:14px 18px;margin:16px 0 20px;font-size:.85rem;}
.quals strong{display:block;margin-bottom:6px;color:var(--teal);}
.quals ul{margin:0;padding-left:18px;}

/* ==========================================================================
   OUR DENTAL SERVICES (dark teal, tabbed)
   ========================================================================== */
.services{background:url('images/img-services.jpg') center/cover;color:#fff;padding:70px 0;}
.services h2{color:#fff;font-weight:300;margin-bottom:.1em;}
.services h2 .hl{color:#fff;font-weight:800;}
.services .layout{display:grid;grid-template-columns:320px 1fr;gap:56px;margin-top:34px;}
.tab-list{display:flex;flex-direction:column;gap:4px;}
.tab-list button{background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;
  color:#e2f0f2;font-weight:600;font-size:.82rem;letter-spacing:.07em;text-transform:uppercase;
  padding:10px 0;display:flex;align-items:center;gap:10px;transition:.2s ease;
  border-bottom:1px solid transparent;align-self:flex-start;}
.tab-list button::after{content:"→";font-size:.95em;}
.tab-list button:hover{color:#fff;transform:translateX(6px);}
.tab-list button.active{color:#fff;font-weight:700;transform:translateX(18px);
  border-bottom-color:rgba(255,255,255,.85);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-panel h3{color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;font-weight:600;
  margin-bottom:.7em;}
.tab-panel p{color:#dbeaec;max-width:560px;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.tab-panel .btn-book{margin-top:14px;background:rgba(78,142,154,.85);}
.tab-panel .btn-book:hover{background:var(--teal);}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{background:var(--faq);padding:70px 0;}
.faq .head{text-align:center;margin-bottom:26px;}
.faq .head h2{color:#3f6168;font-weight:300;font-size:clamp(1.8rem,3.4vw,2.4rem);}
.acc{max-width:800px;margin:0 auto;display:flex;flex-direction:column;}
.acc-item{background:none;border-radius:0;box-shadow:none;overflow:hidden;}
.acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:18px 0;
  font-family:inherit;font-weight:400;font-size:1.02rem;color:#3f6168;display:flex;align-items:center;
  gap:14px;}
.acc-q .qtext{flex-shrink:0;}
.acc-q .leader{flex:1;border-bottom:1px dotted #9dc2c9;height:1px;margin-top:6px;}
.acc-q:hover{color:var(--teal);}
.acc-q .ico{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;line-height:1;
  transition:.2s;}
.acc-item.open .acc-q .ico{transform:none;}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc-a-inner{padding:4px 60px 18px 22px;color:#4a5457;font-family:'Open Sans',sans-serif;font-size:.9rem;}
.acc-item.open .acc-a{max-height:400px;}

/* ==========================================================================
   HEALTH FUNDS
   ========================================================================== */
.funds{padding:64px 0;text-align:center;background:#fff;}
.funds h2{margin-bottom:.15em;font-weight:800;}
.funds .sub{color:var(--ink);max-width:900px;margin:0 auto 40px;font-weight:400;
  font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.3;font-family:'Raleway',sans-serif;}
.fund-logos{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;align-items:center;
  justify-items:center;}
.fund-logos img{width:100%;max-width:150px;height:auto;object-fit:contain;}
.funds .note{font-size:.76rem;color:var(--muted);margin-top:26px;font-style:italic;}

/* ==========================================================================
   PAYMENT PLANS + CONTACT CTA + MAP
   ========================================================================== */
.payment{background:var(--teal);color:#fff;text-align:center;padding:46px 24px 42px;}
.payment h2{color:#fff;font-weight:300;margin-bottom:.45em;font-size:clamp(1.7rem,3.4vw,2.3rem);}
.payment .ask{color:#fff;font-weight:700;font-size:clamp(1rem,1.9vw,1.2rem);margin:0;}
.contact-cta{background:#466167;color:#fff;padding:30px 24px;}
.contact-cta .container{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center;}
.contact-cta .phone{font-size:1.45rem;font-weight:700;display:flex;align-items:center;gap:12px;}
.contact-cta .phone svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.8;}
.contact-cta .btn-book{padding:15px 60px;font-weight:400;letter-spacing:.06em;font-size:.92rem;}
.map{line-height:0;}
.map iframe{display:block;width:100%;height:400px;border:0;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:#fff;padding:58px 0;color:var(--ink);border-top:1px solid var(--line);}
.footer .fc-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start;}
.footer h2{font-size:1.4rem;}
.footer .addr{color:var(--muted);font-size:.95rem;}
.footer .addr strong{color:var(--ink);display:block;margin-top:14px;}
.footer .fc-hours h4{color:var(--teal);margin-bottom:8px;}
.footer .fc-hours table{width:100%;border-collapse:collapse;font-size:.88rem;max-width:360px;}
.footer .fc-hours td{padding:7px 0;border-bottom:1px solid var(--line);}
.footer .fc-hours td:last-child{text-align:right;color:var(--muted);}
.footer-bottom{background:#000;margin-top:0;padding:18px 0;border-top:none;}
.footer-bottom .container{max-width:1440px;}
.fb-grid{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:start;}
.fb-addr{margin:0;font-size:.76rem;line-height:1.65;color:#fff;font-weight:700;}
.fb-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.fb-email{display:flex;align-items:center;gap:10px;}
.fb-email .email-link{font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.04em;
  width:auto;height:auto;background:none;border-radius:0;text-decoration:underline;}
.fb-email .email-link:hover{color:#bcd6da;}
.fb-email a{width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  border-radius:4px;background:#fff;color:#000;font-size:.68rem;font-weight:800;}
.fb-email a.fb{background:#1877F2;color:#fff;border-radius:50%;}
.fb-email a.x{background:#000;color:#fff;border:1px solid #555;}
.fb-email a.em{background:#9aa0a6;color:#fff;}
.footer-links{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0;font-size:.74rem;
  align-items:center;}
.footer-links li:not(:last-child)::after{content:"|";color:#fff;margin:0 8px;text-decoration:none;
  display:inline-block;}
.footer-links a{color:#fff;text-decoration:underline;}
.footer-links a:hover{color:#bcd6da;}
.smile-credit{text-align:right;font-size:.74rem;color:#fff;padding:0;margin:0;}

/* ---------- Floating offer badge ---------- */
.badge{position:fixed;right:18px;bottom:18px;width:186px;height:186px;border-radius:50%;
  background:url('images/stickybutton-2025.png') center/cover no-repeat;
  box-shadow:0 10px 30px rgba(0,0,0,.28);z-index:150;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:0 8px;gap:8px;color:#fff;transition:transform .2s ease;overflow:hidden;}
.badge:hover{transform:scale(1.05);color:#fff;}
.badge .pill{background:#fff;color:#1b2a32;font-weight:700;line-height:1.2;border-radius:7px;
  padding:6px 10px;width:auto;max-width:74%;}
.badge .pill.top{font-size:.8rem;}
.badge .pill.cta{font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;padding:7px 14px;
  max-width:66%;}
.badge .mid{font-size:.72rem;font-weight:700;line-height:1.35;color:#fff;padding:0 4px;
  text-shadow:0 1px 4px rgba(0,0,0,.28);}

/* ---------- Cookie bar ---------- */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;margin:0 auto;background:#fff;
  color:var(--ink);box-shadow:0 12px 50px rgba(0,0,0,.22);border-radius:14px;padding:20px 24px;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;z-index:200;font-size:.85rem;line-height:1.6;}
.cookie-bar p{margin:0;flex:1 1 320px;color:var(--muted);}
.cookie-bar .btns{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-bar button{font-size:.76rem;padding:9px 16px;border-radius:50px;cursor:pointer;font-family:inherit;
  font-weight:700;border:2px solid var(--teal);}
.cookie-bar .ghost{background:#fff;color:var(--teal);}
.cookie-bar .solid{background:var(--teal);color:#fff;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
.nav-overlay{display:none;}
@media(max-width:940px){
  .menu-toggle{display:block;}
  .nav-row{display:none;}
  .nav-row.open{display:block;position:fixed;top:0;right:0;height:100vh;width:min(340px,86vw);
    background:#fff;box-shadow:-6px 0 30px rgba(0,0,0,.15);padding:70px 18px 30px;overflow-y:auto;
    z-index:100;border-top:none;}
  .nav>ul{flex-direction:column;gap:0;width:100%;align-items:stretch;}
  .nav>ul>li>a{padding:12px 10px;border-bottom:1px solid var(--line);}
  .submenu,.submenu .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    background:var(--wash);margin:0;padding:0 0 6px 10px;min-width:0;}
  .nav .book-online>a{margin:8px 0 0;display:inline-block;}
  .nav-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90;}
  .quickband .grid{grid-template-columns:1fr 1fr;}
  .fund-logos{grid-template-columns:repeat(4,1fr);gap:22px;}
  .offer .grid,.offer .grid.flip .col-img,.feature .grid,.feature .grid.flip .col-img,
  .dentist-cards,.footer .fc-grid{grid-template-columns:1fr;}
  .offer .grid.flip .col-img,.feature .grid.flip .col-img{order:0;}
  .services .layout{grid-template-columns:1fr;}
  .tab-list{flex-direction:row;flex-wrap:wrap;gap:8px;}
  .tab-list button{border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:9px 15px;}
  .tab-list button.active{background:var(--teal);}
}
@media(max-width:560px){
  .quickband .grid{grid-template-columns:1fr;}
  .fund-logos{grid-template-columns:repeat(2,1fr);}
  .offer .col-text,.feature{padding-left:22px;padding-right:22px;}
  .offer .col-text{padding:34px 26px;}
  .badge{width:150px;height:150px;gap:5px;}
  .badge .pill.top{font-size:.66rem;}
  .badge .pill.cta{font-size:.62rem;}
  .badge .mid{font-size:.6rem;}
}

/* ==========================================================================
   ABOUT PAGE
   ========================================================================== */
:root{--green:#16922F;}
.page-head{padding:52px 0 10px;}
.page-head h1{font-weight:300;color:#3a4a4e;font-size:clamp(2rem,4.4vw,3rem);margin:0;}

.about-intro{padding:26px 0 60px;}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.ai-text h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.5em;}
.ai-text h2.mt{margin-top:1.6em;}
.ai-text p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.ai-text p a{color:var(--teal);font-weight:600;}
.pullquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid var(--green);
  font-family:'Open Sans',sans-serif;font-style:italic;color:#4a5457;font-size:1rem;line-height:1.7;}
.ai-text .btn-book{margin:6px 0 4px;}
.ai-img .ph{min-height:400px;border-radius:60px 0 60px 0;}
.ai-img img{width:100%;height:auto;display:block;border-radius:60px 0 60px 0;}

.approach{position:relative;padding:0 24px 60px;}
.approach-bg{display:block;width:100%;max-width:1180px;height:auto;margin:0 auto;}
.approach .container{position:relative;z-index:2;}
.approach-panel{background:rgba(255,255,255,.95);padding:34px 40px 8px;
  max-width:900px;margin:-40px auto 0;}
.approach-panel h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.35rem,2.6vw,1.8rem);margin-bottom:.6em;}
.approach-panel p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.95rem;}
.approach-panel p a{color:var(--teal);font-weight:700;}

.about-cols{padding:20px 0 40px;}
.ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.ac-left h2,.ac-right h2{font-weight:300;color:#3a4a4e;font-size:clamp(1.3rem,2.4vw,1.7rem);
  margin-bottom:.5em;}
.ac-left h2 .plus{color:var(--teal);font-weight:400;}
.ac-left p,.ac-right p{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;}
.ac-left p a,.ac-right p a{color:var(--teal);font-weight:700;}
.ac-right{background:#F1F1F1;padding:30px 34px;}

.page-foot{padding:26px 0 54px;text-align:center;}
.diamond-rule{position:relative;height:14px;margin-bottom:34px;}
.diamond-rule::before{content:"";position:absolute;top:50%;left:0;right:0;height:0;
  border-top:2px dotted #bcd9c4;}
.diamond-rule .diamond{position:absolute;left:50%;top:50%;width:13px;height:13px;
  background:var(--green);transform:translate(-50%,-50%) rotate(45deg);}
.page-foot-title{font-weight:300;color:#3a4a4e;font-size:clamp(1.1rem,2.2vw,1.45rem);margin:0;}

@media(max-width:820px){
  .ai-grid,.ac-grid{grid-template-columns:1fr;gap:32px;}
  .ai-img .ph,.ai-img img{border-radius:0;min-height:280px;}
  .approach-bg{height:auto;}
  .approach-panel{padding:26px 22px 4px;margin:-40px auto 0;max-width:100%;}
}


/* ==========================================================================
   SPECIAL OFFER PAGE
   ========================================================================== */
.so-block{padding:16px 0;}
.so-card{position:relative;display:grid;align-items:center;overflow:visible;}
.so-text{padding:44px 48px;position:relative;z-index:2;}
.so-photo{width:100%;height:100%;object-fit:cover;display:block;}
.so-card .ph.so-photo{min-height:420px;}

/* shared offer type */
.so-h2{font-family:'Raleway',sans-serif;font-weight:800;color:#333;line-height:1.02;margin:0 0 16px;
  font-size:clamp(2rem,4.4vw,3rem);}
.so-lead{font-family:'Raleway',sans-serif;font-weight:300;color:#3a3a3a;font-size:clamp(1.15rem,2.3vw,1.6rem);
  line-height:1.25;margin:0 0 14px;}
.so-body{font-family:'Open Sans',sans-serif;color:#4a5457;font-size:.92rem;line-height:1.65;margin:0 0 16px;}
.so-card .btn-book{margin:6px 0 14px;}
.so-fine{font-family:'Open Sans',sans-serif;font-size:.72rem;color:#7b8588;line-height:1.6;margin:0;}
.so-circle{flex-shrink:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  font-family:'Raleway',sans-serif;font-weight:800;color:#333;}
.so-circle .cur{font-size:.6em;font-weight:700;vertical-align:.35em;margin-right:1px;}

/* --- block 1: smile brighter (grey card + blue circle + circular photo) --- */
.so-grey{grid-template-columns:1fr;background:#CDC7C7;max-width:1180px;position:relative;min-height:460px;}
.so-circle-blue{position:absolute;top:50%;right:392px;transform:translateY(-50%);z-index:3;
  width:120px;height:120px;background:#CEEFFB;font-size:2rem;box-shadow:0 5px 16px rgba(0,0,0,.14);}
.so-grey .so-text{max-width:470px;padding:52px 40px 52px 56px;}
.so-photo-circle{position:absolute;top:50%;right:24px;transform:translateY(-50%);
  width:400px;height:400px;border-radius:50%;border:18px solid #fff;overflow:hidden;
  background:#3fc6f0;min-height:0 !important;}
.so-photo-circle img{width:100%;height:100%;object-fit:cover;display:block;}

/* --- block 2: $199 offer (light card + couple photo) --- */
.so-offer{grid-template-columns:1fr;background:#EEF2F5;position:relative;overflow:hidden;min-height:540px;}
.so-offer .so-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;z-index:0;}
.so-offer::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,#EEF2F5 6%,rgba(238,242,245,.9) 24%,rgba(238,242,245,.4) 40%,rgba(238,242,245,0) 54%);}
.so-offer .so-text{max-width:560px;}
.so-t1{font-family:'Raleway',sans-serif;font-weight:300;color:#3a3a3a;font-size:clamp(1.3rem,2.4vw,1.7rem);margin:0;}
.so-t2{font-family:'Raleway',sans-serif;font-weight:800;color:#333;line-height:1.02;margin:0 0 4px;
  font-size:clamp(2rem,4.2vw,3rem);}
.so-circle-white{width:96px;height:96px;background:#fff;font-size:1.7rem;box-shadow:0 4px 14px rgba(0,0,0,.1);}
.so-abs{position:absolute;top:70px;left:340px;}
.so-with{font-family:'Open Sans',sans-serif;color:var(--teal);font-size:.9rem;margin:2px 0 14px;}
.so-gap{font-family:'Raleway',sans-serif;font-weight:300;color:#3a3a3a;font-size:1.3rem;margin:0 0 6px;}
.so-inc{font-family:'Open Sans',sans-serif;font-size:.86rem;color:#4a4a4a;margin:0 0 8px;}
.so-offer .offer-list{margin:0 0 18px;}
.so-offer .offer-list li{font-size:.9rem;color:#444;}

/* --- block 3: CDBS (light card + family photo) --- */
.so-cdbs{grid-template-columns:1fr;background:#EDEFF1;position:relative;overflow:hidden;min-height:440px;}
.so-cdbs .so-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;z-index:0;}
.so-cdbs .so-text{max-width:560px;}
.so-cdbs .so-h2 strong{font-weight:800;}
.so-cdbs .so-h2{font-weight:300;font-size:clamp(1.9rem,4vw,2.7rem);margin-bottom:.15em;}
.so-cdbs .so-lead{margin-bottom:10px;}
.so-checks{list-style:none;margin:0 0 14px;padding:0;font-family:'Open Sans',sans-serif;}
.so-checks li{position:relative;padding-left:28px;margin-bottom:8px;color:#4a5457;font-size:.92rem;}
.so-checks li::before{content:"";position:absolute;left:2px;top:5px;width:12px;height:7px;
  border-left:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(-45deg);}

@media(max-width:820px){
  .so-offer,.so-cdbs{grid-template-columns:1fr;min-height:0;}
  .so-card .ph.so-photo{min-height:260px;order:-1;}
  .so-offer .so-photo,.so-cdbs .so-photo{position:relative;inset:auto;height:250px;order:-1;object-position:center;}
  .so-offer::after{display:none;}
  .so-offer .so-text,.so-cdbs .so-text{max-width:100%;}
  .so-abs{position:static;margin:0 0 14px;}
  .so-grey{min-height:0;}
  .so-grey .so-text{max-width:100%;padding-bottom:200px;}
  .so-photo-circle{position:static;transform:none;margin:-180px auto 30px;width:260px;height:260px;border-width:12px;}
  .so-circle-blue{position:absolute;top:auto;bottom:210px;right:auto;left:50%;transform:translateX(-90px);
    width:96px;height:96px;font-size:1.6rem;}
  .so-text{padding:32px 26px;}
}


/* ==========================================================================
   EMAIL PRINCETON DENTAL — popup contact form (footer envelope icon)
   New component, not part of the original static design.
   ========================================================================== */
.visuallyhidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.ep-overlay{display:none;position:fixed;inset:0;background:rgba(20,30,32,.55);z-index:300;}
.ep-overlay.show{display:block;}
.ep-modal{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);
  z-index:301;background:#fff;border-radius:18px 0 18px 0;box-shadow:var(--shadow);
  width:min(560px,92vw);max-height:88vh;overflow-y:auto;padding:34px 32px 30px;}
.ep-modal.show{display:block;}
.ep-modal h3{margin:0 0 18px;font-size:1.3rem;}
.ep-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:1.6rem;
  line-height:1;color:var(--muted);cursor:pointer;padding:4px 8px;}
.ep-close:hover{color:var(--ink);}

.ep-field{margin-bottom:14px;}
.ep-field textarea,.ep-field input[type="text"],.ep-field input[type="email"]{
  width:100%;border:1px solid var(--line);border-radius:8px;padding:11px 14px;
  font-family:inherit;font-size:.9rem;color:var(--ink);background:#fff;}
.ep-field textarea{min-height:96px;resize:vertical;}
.ep-field textarea:focus,.ep-field input:focus{outline:2px solid var(--teal);outline-offset:1px;}
.ep-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:480px){.ep-row{grid-template-columns:1fr;}}

.ep-fieldset{border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:0 0 14px;
  display:flex;flex-wrap:wrap;gap:16px;align-items:center;}
.ep-fieldset legend{font-size:.8rem;font-weight:700;color:var(--muted);padding:0 6px;}
.ep-fieldset label{display:flex;align-items:center;gap:6px;font-size:.86rem;font-weight:400;}

.ep-checkbox label{display:flex;align-items:flex-start;gap:8px;font-size:.82rem;
  color:var(--muted);line-height:1.5;font-weight:400;}
.ep-checkbox input[type="checkbox"]{margin-top:3px;flex-shrink:0;}
.ep-checkbox a{color:var(--teal);}
.ep-phi-toggle{white-space:nowrap;}
.ep-phi-info{margin-top:8px;padding:12px 14px;background:var(--wash);border-radius:8px;
  font-size:.78rem;color:var(--muted);line-height:1.6;}

.ep-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

#epSubmit{border:none;cursor:pointer;width:100%;justify-content:center;margin-top:4px;}

.ep-success p{margin:0;font-size:.95rem;color:var(--ink);}

/* ==========================================================================
   JRNY DIGITAL - REQUESTED UPDATES (Aug 2026)
     (1) larger top-nav / dropdown text
     (2) larger homepage tagline
     (3) larger floating green offer badge
     (4) larger + centred header logo
   Appended override block - no existing rule is modified.
   ASCII only: multi-byte characters can break CSS minifiers.
   ========================================================================== */

/* (1) Top navigation - larger menu text. Padding left at 15px:
   measured 1048px against 1132px available, so it stays on one line. */
.nav > ul > li > a{ font-size:.95rem; }
.submenu a{ font-size:.9rem; }

/* (2) Homepage tagline - larger */
.tagline{ font-size:clamp(1.25rem, 2.4vw, 1.6rem); }

/* (3) Floating green offer badge - larger */
.badge{ width:230px; height:230px; }
.badge .pill.top{ font-size:.95rem; }
.badge .pill.cta{ font-size:.86rem; padding:8px 16px; }
.badge .mid{ font-size:.85rem; }

/* (4) Header logo - larger and centred.
   Height set outside the media query so it applies even if the query
   is dropped. Centring uses text-align on a block row rather than
   flex justify-content, which fails when siblings are absolutely
   positioned. Row pinned to 1180px so the logo lines up with the nav. */
.brand img{ height:72px; }

@media (min-width:941px){
  .brand-row{
    display:block;
    position:relative;
    text-align:center;
    max-width:1180px;
    margin:0 auto;
    padding:20px 24px 14px;
  }
  .brand{ display:inline-flex; }
  .call-now{
    position:absolute;
    right:24px;
    top:50%;
    transform:translateY(-50%);
    margin-left:0;
  }
}

@media (max-width:940px){
  .brand img{ height:56px; }
}

@media (max-width:560px){
  .brand img{ height:46px; }
  .badge{ width:168px; height:168px; }
  .badge .pill.top{ font-size:.72rem; }
  .badge .pill.cta{ font-size:.68rem; padding:6px 12px; }
  .badge .mid{ font-size:.66rem; }
}

/* ==========================================================================
   JRNY DIGITAL - MOBILE / TABLET FIXES (Aug 2026)
   EVERY rule below is inside a max-width media query. Nothing in this block
   can apply above 940px, so the desktop layout is untouched by design.
   Additive only. Delete this block to revert.
   ========================================================================== */

@media (max-width:940px){

  /* (A) Global image aspect ratio.
     The theme sets img{max-width:100%} but never height:auto, so any image
     with HTML width/height attributes has its width capped while the height
     stays fixed - it stretches or squashes as the viewport narrows.
     Most likely cause of images looking wrong on phones. */
  img{ height:auto; }

  /* (G) Media embeds must not force horizontal scroll. */
  table{ max-width:100%; }
}

@media (max-width:820px){

  /* (B) Two-column grids that never collapsed at any width. */
  .svc2-2col,
  .svc2-tworow{ grid-template-columns:1fr; }

  /* (C) Tall min-heights that left large empty blocks on phones. */
  .offer .col-img .ph{ min-height:260px; }
  .feature .col-img .ph{ min-height:240px; }
  .dentists-hero .overlay{ min-height:auto; padding:48px 0; }

  /* (D) Fixed 390px width overflows a 375px phone viewport. */
  .svc2-photo{ width:100%; max-width:390px; }
}

/* (F) iPad portrait had no dedicated handling between the phone drawer
   nav and the desktop layout. */
@media (min-width:768px) and (max-width:940px){
  .quickband .grid{ grid-template-columns:repeat(4,1fr); }
  .dentist-cards{ grid-template-columns:1fr 1fr; }
  .fund-logos{ grid-template-columns:repeat(4,1fr); row-gap:20px; }
}

/* (E) Offer badge on small screens. At 168px it covered 52% of a 320px
   screen. Desktop stays at 230px - untouched. */
@media (max-width:560px){
  .badge{ width:150px; height:150px; right:12px; bottom:12px; }
  .badge .pill.top{ font-size:.66rem; }
  .badge .pill.cta{ font-size:.62rem; padding:5px 10px; }
  .badge .mid{ font-size:.6rem; }
}

@media (max-width:380px){
  .badge{ width:128px; height:128px; gap:4px; }
  .badge .pill.top{ font-size:.58rem; }
  .badge .pill.cta{ font-size:.55rem; padding:4px 8px; }
  .badge .mid{ font-size:.52rem; }
}

/* ==========================================================================
   JRNY DIGITAL - CARE SECTION MOBILE FIX (Aug 2026)
   The theme sets .care-inner to 1fr inside @media(max-width:820px) at
   line 220, then re-declares it as 1fr 1fr at line 244 outside any media
   query. Equal specificity, later rule wins, so the mobile rule is dead
   code and .care never stacks. Same pattern repeats in all 14 duplicated
   copies of the stylesheet.
   Fixed here by re-stating the mobile rules after every duplicate.
   Desktop above 940px is untouched.
   ========================================================================== */

@media (max-width:940px){
  .care-inner{
    grid-template-columns:1fr;
    min-height:0;
  }
  .care-bg{
    position:relative;
    height:240px;
    width:100%;
  }
  .care-spacer{ display:none; }
  .care.flip .care-panel{ order:2; }
  .care.flip .care-bg{ order:1; }

  /* Text first, image below. */
  .care-panel{
    order:1;
    padding:36px 22px;
    max-width:100%;
  }
  .care-bg{ order:2; }

  /* Panel corner rounding flattens when stacked.
     Theme covers .br and .tl but the markup also uses .tr and .bl. */
  .care-panel.br,
  .care-panel.tl,
  .care-panel.tr,
  .care-panel.bl{ border-radius:0; }

  /* Copy was capped at 430px inside a 195px column. */
  .care-panel > *,
  .care-panel p{ max-width:100%; }
}

/* ==========================================================================
   JRNY DIGITAL - MOBILE HEADER FIX (Aug 2026)
   At 390px the brand row needs 507px of content (logo 204 + call-now 169
   + Menu 87 + gaps 48), so "Call Now" wrapped onto three lines and crowded
   the Menu button. Trimming does not solve it: even a 38px logo with the
   label removed still overflows. Reflowed to two rows instead.
   Desktop above 940px is untouched.
   ========================================================================== */

@media (max-width:940px){
  .brand-row{
    flex-wrap:wrap;
    row-gap:0;
    column-gap:14px;
    padding:12px 16px 10px;
  }

  /* Row 1: logo left, Menu right */
  .brand{ flex:0 0 auto; }
  .menu-toggle{
    margin-left:auto;
    padding:8px 12px;
    white-space:nowrap;
  }

  /* Row 2: phone number full width, centred, comfortable tap target */
  .call-now{
    order:3;
    flex:1 0 100%;
    margin-left:0;
    margin-top:8px;
    padding-top:9px;
    border-top:1px solid var(--line);
    text-align:center;
    white-space:nowrap;
    font-size:.95rem;
  }
  .call-now strong{ font-size:1.02rem; }
}

@media (max-width:560px){
  .brand img{ height:42px; }
  .brand-row{ padding:10px 14px 8px; }
  .call-now{ font-size:.9rem; }
  .call-now strong{ font-size:.98rem; }
}

/* ==========================================================================
   JRNY DIGITAL - MOBILE MENU + SECTION FIXES (Aug 2026)
   Desktop above 940px untouched. Every rule is inside a max-width query.
   ========================================================================== */

@media (max-width:940px){

  /* (1) BROKEN MOBILE MENU - links were visible but not tappable.
     .header is position:sticky with z-index:50, which creates a stacking
     context, so .nav-row.open (inside the header) is capped at level 50
     no matter how high its own z-index. .nav-overlay sits OUTSIDE the
     header at z-index:90, so the overlay rendered on top of the drawer and
     intercepted every tap. The overlay's own handler closes the menu, so
     tapping a link merely shut the drawer. Dropping the overlay below the
     header restores the links while it still dims the page and still
     closes the menu on an outside tap. */
  .nav-overlay.show{ z-index:40; }

  /* (2) FAQ - the "+" was clipped on the longest question.
     .acc-q .qtext is flex-shrink:0, so a long question refuses to shrink
     and pushes the leader line and icon past the right edge. */
  .acc-q .qtext{
    flex-shrink:1;
    min-width:0;
    text-align:left;
  }
  .acc-q .ico{ flex:0 0 auto; }
  .acc-q .leader{ min-width:10px; }

  /* (3) HOME HERO - the background image is 1440x768, so at 390px wide it
     is only 208px tall, while the overlaid headline needs roughly 300px.
     The copy spilled over the photo. Give the image real height and bring
     the headline down to a size that fits. */
  .hero-bg{
    height:380px;
    object-fit:cover;
    object-position:60% center;
  }
  .hero h1{
    font-size:clamp(1.9rem, 7vw, 2.6rem);
    max-width:100%;
  }

  /* (4) MEET YOUR KENMORE DENTISTS - white copy sat directly on a busy
     photo. Add a scrim so the text is readable, and let the block size to
     its content instead of holding a 720px minimum. */
  .dentists-hero .overlay{
    min-height:auto;
    padding:40px 20px 28px;
    background:linear-gradient(180deg,rgba(11,42,50,.72),rgba(11,42,50,.90));
  }
  .dentists-hero p{ max-width:100%; }
}

@media (max-width:560px){
  .hero-bg{ height:340px; }
  .hero h1{ font-size:clamp(1.75rem, 8vw, 2.2rem); }
}

/* ==========================================================================
   JRNY DIGITAL - REFINEMENTS (Aug 2026)
   ========================================================================== */

@media (max-width:940px){

  /* (1) MEET YOUR KENMORE DENTISTS - regression from the previous build.
     .dentist-cards uses margin-top:-60px to tuck under the intro, and the
     theme reserved room with padding-bottom:150px on the overlay. The last
     build cut that to 28px, so the card rode up over the paragraph.
     Restored to clear the -60px pull with breathing room. */
  .dentists-hero .overlay{
    padding:36px 20px 96px;
  }
  .dentist-cards{ margin-top:-48px; }

  /* (2) HOME HERO - the headline sat over the subjects' faces.
     Shift the crop right so the people clear the text, and lay a soft
     left-to-right scrim under the copy for legibility. */
  .hero-bg{ object-position:78% center; }
  .hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(90deg,
      rgba(255,255,255,.94) 0%,
      rgba(255,255,255,.80) 42%,
      rgba(255,255,255,.25) 68%,
      rgba(255,255,255,0) 88%);
  }
  .hero-inner{ z-index:2; }
}

/* (3) BIO PULL-QUOTE - the opening mark is a standalone .qmark span while
   the closing mark is bare text at the end of .qtext, so the pair never
   matches. .qmark has no CSS in the theme at all. Sizing it to match the
   body text makes the pair symmetrical.
   NOTE: this is the one rule in this build that also affects desktop,
   because the mismatch is present there too. Delete this rule to keep
   the current desktop appearance. */
.bio-quote .qmark{
  font-size:1em;
  line-height:inherit;
  color:var(--muted);
  flex:0 0 auto;
}

/* ==========================================================================
   JRNY DIGITAL - MOBILE FOOTER FIX (Aug 2026)
   .fb-grid is grid-template-columns:1fr auto with no mobile rule anywhere,
   so on a 390px screen the right column took most of the row and the
   address was crushed to one word per line. Stacked to a single column.

   The floating badge is position:fixed and was covering footer content.
   Rather than padding the footer out (which left a large empty band), a
   small script in footer.php adds .badge-tucked when the footer scrolls
   into view. The styling below is scoped to mobile, so the badge behaves
   exactly as before on desktop.
   ========================================================================== */

@media (max-width:940px){

  .fb-grid{ grid-template-columns:1fr; gap:22px; }
  .fb-addr{ font-size:.84rem; line-height:1.7; }
  .fb-right{ align-items:flex-start; gap:14px; width:100%; }
  .fb-email{ flex-wrap:wrap; gap:12px; }
  .footer-links{ gap:4px 0; font-size:.78rem; line-height:1.9; }
  .smile-credit{ text-align:left; }

  /* Normal footer spacing - no oversized clearance band. */
  .footer-bottom{ padding:22px 0 26px; }

  .badge{
    transition:opacity .25s ease, transform .25s ease, visibility .25s;
  }
  .badge.badge-tucked{
    opacity:0;
    visibility:hidden;
    transform:translateY(12px) scale(.9);
    pointer-events:none;
  }
}

@media (max-width:560px){
  .fb-addr{ font-size:.82rem; }
}

/* ==========================================================================
   JRNY DIGITAL - BLOG TEMPLATES (Aug 2026)
   Styles for the single-post view, sidebar spacing and pagination. The blog
   index and archive lists reuse the theme's existing .blog-head / .entry /
   .bb-grid rules, so nothing there is redefined here.
   ASCII only: multi-byte characters can break CSS minifiers.
   ========================================================================== */

/* ---- Single post ---- */
.post-hero{ margin:0 0 28px; }
.post-hero img{ width:100%; height:auto; display:block; border-radius:14px; }

.post-body{
  font-family:'Open Sans',sans-serif;
  color:#4a4a4a;
  font-size:.95rem;
  line-height:1.8;
}
.post-body > *:first-child{ margin-top:0; }
.post-body p{ margin:0 0 1.15em; }
.post-body h2{
  font-family:'Raleway',sans-serif;
  font-weight:800;
  color:var(--ink);
  font-size:clamp(1.3rem,2.4vw,1.7rem);
  line-height:1.3;
  margin:1.8em 0 .5em;
}
.post-body h3{
  font-family:'Raleway',sans-serif;
  font-weight:700;
  color:var(--teal-deep);
  font-size:clamp(1.08rem,1.9vw,1.3rem);
  margin:1.5em 0 .45em;
}
.post-body ul,
.post-body ol{ margin:0 0 1.15em; padding-left:1.3em; }
.post-body li{ margin-bottom:.5em; }
.post-body a{ color:var(--teal); text-decoration:underline; }
.post-body a:hover{ color:var(--teal-dark); }
.post-body img{ max-width:100%; height:auto; border-radius:10px; margin:1em 0; }
.post-body blockquote{
  margin:1.4em 0;
  padding:4px 0 4px 20px;
  border-left:3px solid var(--teal);
  font-style:italic;
  color:var(--muted);
}
.post-body table{ width:100%; border-collapse:collapse; margin:1.2em 0; }
.post-body th,
.post-body td{ border:1px solid var(--line); padding:9px 12px; text-align:left; }

/* ---- Previous / next ---- */
.post-nav{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  justify-content:space-between;
  margin:34px 0 0;
  padding-top:20px;
  border-top:1px dotted #cfcfcf;
}

/* ---- End-of-article prompt ---- */
.post-cta{
  margin:34px 0 0;
  padding:26px 24px;
  background:var(--wash);
  border-radius:14px;
  text-align:center;
}
.post-cta p{
  margin:0 0 14px;
  font-family:'Raleway',sans-serif;
  font-weight:600;
  color:var(--teal-deep);
}

/* ---- Sidebar spacing between blocks ---- */
.blog-side .side-gap{ margin-top:30px; }

/* ---- Pagination ---- */
.pagination{ margin-top:10px; padding-top:22px; border-top:1px dotted #cfcfcf; }
.pagination .nav-links{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.pagination .page-numbers{
  display:inline-block;
  min-width:38px;
  padding:8px 12px;
  text-align:center;
  border:1px solid var(--line);
  border-radius:8px;
  font-family:'Open Sans',sans-serif;
  font-size:.83rem;
  font-weight:600;
  color:var(--teal);
  text-decoration:none;
}
.pagination .page-numbers:hover{ background:var(--wash); }
.pagination .page-numbers.current{
  background:var(--teal);
  border-color:var(--teal);
  color:#fff;
}
.pagination .page-numbers.dots{ border-color:transparent; color:var(--muted); }

@media (max-width:820px){
  .post-nav{ flex-direction:column; gap:12px; }
  .post-cta{ padding:22px 18px; }
  .post-body{ font-size:.92rem; }
}
