/*
Theme Name: Atisha Dental
Theme URI: https://www.atishadental.com
Author: Atisha Dental
Description: Custom theme for Atisha Dental in Commerce Township, MI.
Version: 1.0
Text Domain: atisha-dental
*/
:root{
  --ivory:#FBF8F2;
  --porcelain:#F2ECDE;
  --charcoal:#1B1A17;
  --charcoal-soft:#3A372F;
  --gold:#C9A24B;
  --gold-deep:#7A5C22;
  --gold-pale:#E6D6A8;
  --line:#DED2AE;
  --white:#FFFFFF;
  --radius:2px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--ivory); color:var(--charcoal); font-family:'Inter',sans-serif; font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
h1,h2,h3{font-family:'Fraunces',serif; font-weight:500; letter-spacing:-0.01em; color:var(--charcoal);}
.eyebrow{font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep); font-weight:600; display:inline-flex; align-items:center; gap:8px;}
.btn{display:inline-flex; align-items:center; gap:10px; background:var(--charcoal); color:var(--ivory); padding:15px 30px; font-size:14px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; border:1px solid var(--charcoal); border-radius:var(--radius); transition:all .25s ease; cursor:pointer;}
.btn:hover{background:var(--gold-deep); border-color:var(--gold-deep);}
.btn.ghost{background:transparent; color:var(--charcoal); border-color:var(--charcoal);}
.btn.ghost:hover{background:var(--charcoal); color:var(--ivory);}
.btn.on-dark{background:var(--gold); color:var(--charcoal); border-color:var(--gold);}
.btn.on-dark:hover{background:var(--ivory); border-color:var(--ivory);}
.btn.ghost-light{background:transparent; color:var(--ivory); border-color:rgba(255,255,255,.55);}
.btn.ghost-light:hover{background:var(--ivory); color:var(--charcoal); border-color:var(--ivory);}

.sparkle{width:16px; height:16px; flex-shrink:0;}
.sparkle path{fill:var(--gold);}
.divider{display:flex; align-items:center; justify-content:center; gap:18px; padding:56px 0;}
.divider .rule{height:1px; width:120px; background:var(--line);}
.divider .sparkle{width:20px; height:20px;}

.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.skip-link{position:absolute; left:-999px; top:auto; background:var(--charcoal); color:var(--ivory); padding:14px 22px; z-index:100; font-size:14px; font-weight:600; border-radius:0 0 2px 0;}
.skip-link:focus{left:0; top:0;}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{outline:2px solid var(--gold-deep); outline-offset:2px;}

/* ---------- HEADER ---------- */
header{position:sticky; top:0; z-index:60; background:rgba(251,248,242,.94); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:40px 0; position:relative;}
.brand{display:inline-flex; align-items:center;}
.brand img{height:65px; width:auto; display:block;}
nav.links{display:flex; gap:32px; font-size:13px; letter-spacing:.06em; text-transform:uppercase; font-weight:600; align-items:center;}
nav.links a{position:relative; padding:4px 0;}
nav.links a::after{content:'';position:absolute; left:0; right:0; bottom:-2px; height:1px; background:var(--gold); transform:scaleX(0); transition:transform .25s ease;}
nav.links a:hover::after, nav.links a.active::after{transform:scaleX(1);}
nav.links a.active{color:var(--gold-deep);}

/* Desktop services dropdown */
.nav-dropdown{position:relative;}
.nav-dd-trigger{
  background:none; border:none; cursor:pointer; font:inherit;
  font-size:13px; letter-spacing:.06em; text-transform:uppercase; font-weight:600; color:var(--charcoal);
  display:flex; align-items:center; gap:6px; padding:4px 0;
}
.nav-dd-trigger .chevron{width:8px; height:8px; border-right:1.5px solid var(--charcoal); border-bottom:1.5px solid var(--charcoal); transform:rotate(45deg); margin-top:-3px; transition:transform .2s ease;}
.nav-dropdown.open .nav-dd-trigger .chevron{transform:rotate(-135deg); margin-top:3px;}
.nav-dropdown.open .nav-dd-trigger{color:var(--gold-deep);}
.nav-dd-panel{
  position:absolute; top:calc(100% + 18px); left:50%; transform:translateX(-50%);
  background:var(--white); border:1px solid var(--line); box-shadow:0 24px 48px rgba(27,26,23,.14);
  padding:32px; width:640px; z-index:80;
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s ease;
}
.nav-dropdown.open .nav-dd-panel{opacity:1; visibility:visible; pointer-events:auto;}
.nav-dd-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.nav-dd-col{display:flex; flex-direction:column; gap:10px;}
.nav-dd-heading{
  font-family:'Fraunces',serif; font-size:15px; font-weight:600; line-height:1.3; color:var(--charcoal);
  text-transform:none; letter-spacing:0; padding-bottom:8px; border-bottom:1px solid var(--line); margin-bottom:2px;
  min-height:66px; display:flex; align-items:flex-end;
}
.nav-dd-col a{font-size:13px; text-transform:none; letter-spacing:0; font-weight:500; color:var(--charcoal-soft); padding:2px 0;}
.nav-dd-col a:hover{color:var(--gold-deep);}
.nav-dd-viewall{
  display:block; text-align:center; margin-top:26px; padding-top:20px; border-top:1px solid var(--line);
  font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-deep);
}
.menu-toggle{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; z-index:10;}
.menu-toggle span{width:24px; height:2px; background:var(--charcoal); transition:transform .2s ease, opacity .2s ease;}

.mobile-panel{
  position:fixed; top:0; right:0; bottom:0; left:0; z-index:200;
  width:100%; height:100%; min-height:100vh; min-height:100dvh;
  background:linear-gradient(160deg, #201E1A 0%, var(--charcoal) 55%, #100F0D 100%);
  display:flex; flex-direction:column;
  padding:100px 40px 48px;
  transform:translateX(100%);
  transition:transform .4s cubic-bezier(.4,0,.2,1);
  overflow-y:auto;
}
.mobile-panel.open{transform:translateX(0);}
body.menu-open{overflow:hidden;}

.mobile-panel-close{
  position:absolute; top:28px; right:28px;
  width:44px; height:44px; border-radius:50%;
  border:1px solid rgba(255,255,255,.25); background:transparent;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
}
.mobile-panel-close span{position:absolute; width:18px; height:1.5px; background:var(--ivory);}
.mobile-panel-close span:first-child{transform:rotate(45deg);}
.mobile-panel-close span:last-child{transform:rotate(-45deg);}

.mobile-panel-links{display:flex; flex-direction:column; gap:2px; margin-bottom:auto;}
.mobile-panel-links a{
  font-family:'Fraunces',serif; font-weight:500; font-size:23px; color:var(--ivory);
  padding:14px 0; border-bottom:1px solid rgba(255,255,255,.12);
  display:flex; align-items:center; justify-content:space-between;
  transition:color .2s ease;
}
.mobile-panel-links a:hover, .mobile-panel-links a.active{color:var(--gold);}
.mobile-panel-links a .sparkle{opacity:0; transition:opacity .2s ease;}
.mobile-panel-links a:hover .sparkle, .mobile-panel-links a.active .sparkle{opacity:1;}

/* Mobile services accordion */
.mobile-accordion{border-bottom:1px solid rgba(255,255,255,.12);}
.mob-acc-trigger{
  width:100%; background:none; border:none; cursor:pointer; font:inherit;
  font-family:'Fraunces',serif; font-weight:500; font-size:23px; color:var(--ivory);
  padding:14px 0; display:flex; align-items:center; justify-content:space-between;
}
.mob-acc-trigger .chevron{width:9px; height:9px; border-right:1.5px solid var(--ivory); border-bottom:1.5px solid var(--ivory); transform:rotate(45deg); margin-top:-4px; transition:transform .2s ease; flex-shrink:0;}
.mobile-accordion.open .mob-acc-trigger .chevron{transform:rotate(-135deg); margin-top:4px;}
.mobile-accordion.open .mob-acc-trigger{color:var(--gold);}
.mob-acc-panel{max-height:0; overflow:hidden; transition:max-height .35s ease;}
.mobile-accordion.open .mob-acc-panel{max-height:1400px;}
.mob-acc-group{padding:6px 0 14px;}
.mob-acc-heading{
  display:block; font-family:'Fraunces',serif; font-size:15px; font-weight:600; color:var(--gold);
  padding:8px 0 6px;
}
.mob-acc-group a:not(.mob-acc-heading){display:block; font-size:14.5px; color:#D8D3C4; padding:7px 0 7px 14px;}
.mob-acc-viewall{display:block; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gold); padding:12px 0 18px;}

.mobile-panel-cta{margin-top:36px; display:flex; flex-direction:column; gap:18px;}
.mobile-panel-cta .btn{justify-content:center; width:100%;}
.mobile-panel-phone{
  display:flex; align-items:center; justify-content:center; gap:12px;
  font-family:'Fraunces',serif; font-weight:600; font-size:23px; color:var(--ivory);
}
.mobile-panel-phone .phone-icon{width:19px; height:19px; flex-shrink:0;}
.mobile-panel-phone .phone-icon path{fill:var(--gold);}
.mobile-panel-social{display:flex; gap:14px; margin-top:12px; justify-content:center;}
.mobile-panel-social a{
  width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.25);
  display:flex; align-items:center; justify-content:center; color:var(--ivory); font-size:12px; font-weight:700;
}

/* ---------- PAGE HERO (inner pages) ---------- */
.page-hero{background:var(--charcoal); padding:64px 0; position:relative; overflow:hidden;}
.page-hero .wrap{position:relative; z-index:2;}
.page-hero .eyebrow{color:var(--gold);}
.page-hero h1{color:var(--ivory); font-size:clamp(30px,4vw,46px); margin-top:14px;}
.page-hero p{color:#CFC9B8; margin-top:14px; max-width:520px; font-size:15.5px;}

/* ---------- HERO (full-width photo band + copy band) ---------- */
.hero-band{width:100%; aspect-ratio:1200/720; overflow:hidden; position:relative; display:none;}
.hero-band img{width:100%; height:100%; object-fit:cover;}
.hero-copy-band{background:var(--charcoal); padding:64px 0;}
.hero-copy-band .wrap{display:grid; grid-template-columns:1.3fr .9fr; grid-template-rows:auto auto; gap:32px 56px; align-items:center;}
.hero-copy-band .hero-inner{grid-column:1; grid-row:1; min-width:0;}
.hero-copy-band .hero-stats{grid-column:1; grid-row:2; min-width:0;}
.hero-photo-boxed{grid-column:2; grid-row:1 / span 2; min-width:0; position:relative; aspect-ratio:1/1; border-radius:3px; overflow:hidden; border:1px solid rgba(255,255,255,.14); box-shadow:0 24px 48px rgba(0,0,0,.35);}
.hero-photo-boxed img{width:100%; height:100%; object-fit:cover; object-position:center center;}
.hero-photo-boxed .tag{position:absolute; left:18px; bottom:18px; background:rgba(20,19,16,.82); backdrop-filter:blur(3px); color:var(--ivory); padding:10px 16px; border-radius:2px; font-size:12.5px; letter-spacing:.05em; text-transform:uppercase; font-weight:600; display:flex; align-items:center; gap:8px;}
.hero-copy-band .eyebrow{color:var(--gold-pale);}
.hero-copy-band h1{color:var(--ivory); font-size:clamp(30px,3.6vw,46px); line-height:1.1; margin:16px 0 18px;}
.hero-copy-band h1 em{font-style:normal; color:var(--gold);}
.hero-copy-band p.lede{color:#D8D3C4; font-size:16.5px; margin-bottom:26px;}
.hero-actions{display:flex; gap:16px; flex-wrap:wrap;}
.hero-stats{display:flex; flex-direction:column; gap:16px; border-left:1px solid rgba(255,255,255,.14); padding-left:40px;}
.stat-item{display:flex; align-items:center; gap:10px; font-size:13px; letter-spacing:.05em; text-transform:uppercase; font-weight:600; color:#D8D3C4;}

/* ---------- OUR OFFICE ---------- */
.office{padding:90px 0 20px;}
.office-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:center;}
.office h2{font-size:clamp(28px,3.2vw,38px); margin:16px 0 18px;}
.office p{color:var(--charcoal-soft); max-width:460px; margin-bottom:10px;}
.office-photo{border-radius:3px; overflow:hidden; border:1px solid var(--line); box-shadow:0 24px 48px rgba(27,26,23,.12);}
.office-photo img{width:100%; height:100%; object-fit:cover;}

/* ---------- WHY CHOOSE US ---------- */
.why{padding:100px 0 20px;}
.section-head{max-width:640px; margin-bottom:56px;}
.section-head.center{max-width:640px; margin-left:auto; margin-right:auto; text-align:center;}
.section-head h2{font-size:clamp(30px,3.4vw,42px); margin-top:16px;}
.why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:48px;}
.why-card{text-align:left;}
.why-card .icon{width:52px; height:52px; border:1px solid var(--gold-pale); border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:20px; background:var(--porcelain);}
.why-card .icon .sparkle{width:22px; height:22px;}
.why-card h3{font-size:19px; margin-bottom:10px; font-weight:500;}
.why-card p{font-size:14.5px; color:var(--charcoal-soft);}

/* ---------- DOCTOR ---------- */
.doctor{padding:100px 0;}
.doctor-grid{display:grid; grid-template-columns:.62fr 1.38fr; gap:64px; align-items:center;}
.doctor-grid-reverse{grid-template-columns:1.38fr .62fr;}
.doctor-photo{position:relative; aspect-ratio:1154/1731; border-radius:3px; overflow:hidden; border:1px solid var(--line); background:var(--porcelain);}
.doctor-photo img{width:100%; height:100%; object-fit:cover; object-position:top center;}
.doctor-photo .frame{display:none;}
.doctor-copy .credential{font-size:14px; color:var(--gold-deep); font-weight:600; letter-spacing:.04em; margin-bottom:22px; text-transform:uppercase;}
.doctor-copy h2{font-size:clamp(28px,3.2vw,38px); margin:16px 0 6px;}
.doctor-copy p{color:var(--charcoal-soft); margin-bottom:16px; max-width:560px;}
.doctor-copy .note{margin-top:24px; padding:16px 18px; background:var(--porcelain); border-left:2px solid var(--gold); font-size:13.5px; color:var(--charcoal-soft); max-width:560px;}
.doctor-copy .btn{margin-top:10px;}

/* ---------- TEAM (wide side-by-side on desktop, stacked/centered on mobile) ---------- */
.team-section{padding:80px 0 100px;}
.team-member{max-width:1180px; margin:0 auto; display:grid; grid-template-columns:.62fr 1.38fr; gap:64px; align-items:center;}
.team-member.team-member-reverse{grid-template-columns:1.38fr .62fr;}
.team-member.team-member-reverse .team-photo{order:2;}
.team-member.team-member-reverse .team-copy{order:1;}
.team-member + .team-member{margin-top:100px; padding-top:100px; border-top:1px solid var(--line);}
.team-photo{position:relative; width:100%; aspect-ratio:1154/1731; border-radius:3px; overflow:hidden; border:1px solid var(--line); background:var(--porcelain);}
.team-photo img{width:100%; height:100%; object-fit:cover; object-position:top center;}
.team-photo .frame{display:none;}
.team-copy .credential{font-size:14px; color:var(--gold-deep); font-weight:600; letter-spacing:.04em; margin-bottom:22px; text-transform:uppercase;}
.team-copy h2{font-size:clamp(26px,3vw,34px); margin:16px 0 6px;}
.team-copy p{color:var(--charcoal-soft); margin-bottom:16px; max-width:600px;}
.team-copy .note{margin-top:24px; padding:16px 18px; background:var(--porcelain); border-left:2px solid var(--gold); font-size:13.5px; color:var(--charcoal-soft); max-width:600px;}
.team-copy .btn{margin-top:10px;}

/* ---------- SERVICES ---------- */
.services{padding:100px 0 20px;}
.services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.service-card{background:var(--ivory); padding:38px 34px; transition:background .25s ease;}
.service-card:hover{background:var(--white);}
.service-card .sparkle{margin-bottom:20px;}
.service-card h3{font-size:19px; margin-bottom:10px; font-weight:500;}
.service-card p{font-size:14.5px; color:var(--charcoal-soft); margin-bottom:14px;}
.service-card .learn{font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-deep); display:inline-flex; align-items:center; gap:6px;}
.services-cta{text-align:center; margin-top:52px;}

/* ---------- SERVICE DETAIL PAGE ---------- */
.service-detail{padding:80px 0 100px;}
.service-detail-grid{display:grid; grid-template-columns:1.6fr 1fr; gap:64px; align-items:start;}
.service-detail-body p{color:var(--charcoal-soft); margin-bottom:16px; max-width:600px;}
.service-detail-body h2{font-size:24px; margin:36px 0 18px;}
.expect-list{list-style:none; margin-bottom:28px;}
.expect-list li{
  position:relative; padding:10px 0 10px 26px; font-size:15px; color:var(--charcoal-soft);
  border-bottom:1px solid var(--line); max-width:560px;
}
.expect-list li::before{content:''; position:absolute; left:0; top:18px; width:7px; height:7px; border-radius:50%; background:var(--gold);}
.service-sidebar-card{background:var(--porcelain); border:1px solid var(--line); padding:30px; border-radius:2px;}
.service-sidebar-card h3{font-size:18px; margin-bottom:8px;}
.service-sidebar-card p{font-size:13.5px; color:var(--charcoal-soft); margin-bottom:20px;}
.related-links{display:flex; flex-direction:column; gap:2px; border-top:1px solid var(--line); padding-top:6px;}
.related-link{font-size:14px; color:var(--charcoal-soft); padding:9px 0; border-bottom:1px solid var(--line);}
.related-link:hover{color:var(--gold-deep);}

/* ---------- TESTIMONIALS ---------- */
.testimonials{background:var(--porcelain); padding:100px 0;}
.testi-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:10px;}
.testi-card{background:var(--ivory); padding:40px;}
.testi-card .sparkle{margin-bottom:18px;}
.testi-card p.quote{font-family:'Fraunces',serif; font-size:20px; line-height:1.4; margin-bottom:22px; color:var(--charcoal);}
.testi-card .who{font-size:13px; letter-spacing:.04em; text-transform:uppercase; font-weight:700; color:var(--gold-deep);}
.testi-card .where{font-size:13px; color:var(--charcoal-soft);}
.testi-note{margin-top:26px; font-size:13px; color:var(--charcoal-soft);}

/* ---------- HOURS / LOCATION ---------- */
.plaque{background:var(--charcoal); color:var(--ivory); padding:100px 0;}
.plaque-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; align-items:start;}
.plaque h2{color:var(--ivory); font-size:clamp(28px,3.2vw,38px); margin-bottom:8px;}
.plaque .eyebrow{color:var(--gold);}
.plaque-sub{color:#B9B5A9; font-size:15px; margin-bottom:32px; max-width:420px;}
.hours-table{width:100%; border-collapse:collapse; margin-bottom:30px;}
.hours-table tr{border-bottom:1px solid rgba(255,255,255,.14);}
.hours-table td, .hours-table th{padding:14px 0; font-size:15px;}
.hours-table th{text-align:left; font-weight:600; letter-spacing:.03em; text-transform:uppercase; font-size:13px; color:#B9B5A9;}
.hours-table td{text-align:right; font-family:'Fraunces',serif; font-size:17px;}
.hours-table tr.today td{color:var(--gold);}
.hours-table tr.closed td:last-child{color:#7d7a70; font-family:'Inter',sans-serif; font-size:14px;}
.addr-block{margin-top:8px;}
.addr-block .label{font-size:13px; letter-spacing:.05em; text-transform:uppercase; color:#B9B5A9; margin-bottom:8px;}
.addr-block .value{font-family:'Fraunces',serif; font-size:20px; margin-bottom:22px;}
.plaque-actions{display:flex; gap:14px; flex-wrap:wrap;}
.map-frame{border-radius:3px; overflow:hidden; border:1px solid rgba(255,255,255,.16); aspect-ratio:4/3;}
.map-frame iframe{width:100%; height:100%; border:0; filter:grayscale(.35) contrast(1.05);}

/* ---------- CONTACT ---------- */
.contact{padding:100px 0;}
.contact-form-wrap{max-width:640px; margin:0 auto;}
.contact-note{font-size:13.5px; color:var(--charcoal-soft); margin-bottom:26px;}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start;}
.contact h2{font-size:clamp(30px,3.4vw,42px); margin-bottom:18px;}
.contact p{color:var(--charcoal-soft); max-width:460px; margin-bottom:8px;}
.form-field{margin-bottom:18px;}
.form-field label{display:block; font-size:12px; letter-spacing:.06em; text-transform:uppercase; font-weight:600; color:var(--charcoal-soft); margin-bottom:8px;}
.form-field input, .form-field select, .form-field textarea{width:100%; border:1px solid var(--line); background:var(--white); padding:13px 14px; font-family:'Inter',sans-serif; font-size:14.5px; border-radius:2px; color:var(--charcoal);}
.form-field textarea{resize:vertical; min-height:100px;}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{outline:2px solid var(--gold); outline-offset:1px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}

/* ---------- FOOTER ---------- */
footer{background:var(--porcelain); border-top:1px solid var(--line); padding:70px 0 30px;}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:48px; padding-bottom:44px; border-bottom:1px solid var(--line);}
.footer-brand{display:flex; flex-direction:column; align-items:flex-start; margin-bottom:16px;}
.footer-brand img{height:50px; display:block;}
.footer-brand p{font-size:13.5px; color:var(--charcoal-soft); max-width:260px; margin-top:16px;}
.footer-col h4{font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; color:var(--gold-deep); margin-bottom:16px;}
.footer-col a, .footer-col p{display:block; font-size:14px; color:var(--charcoal-soft); margin-bottom:10px;}
.footer-col a:hover{color:var(--charcoal);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding-top:24px; font-size:13px; color:var(--charcoal-soft);}
.social-row{display:flex; gap:14px;}
.social-row a{width:34px; height:34px; border:1px solid var(--line); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px;}

@media (max-width:1180px){
  .nav-dd-panel{width:520px;}
  .nav-dd-grid{grid-template-columns:repeat(2,1fr); row-gap:28px;}
}
@media (max-width:920px){
  nav.links, .nav > .btn{display:none;}
  .menu-toggle{display:flex;}
  .hero-copy-band{padding:56px 0;}
  .hero-copy-band .wrap{grid-template-columns:1fr;}
  .hero-band{display:block;}
  .hero-photo-boxed{display:none;}
  .hero-stats{flex-direction:row; flex-wrap:wrap; border-left:none; border-top:1px solid rgba(255,255,255,.14); padding-left:0; padding-top:20px; gap:14px 28px;}
  .doctor{padding:56px 0;}
  .divider{padding:36px 0;}
  .doctor-grid, .plaque-grid, .contact-grid{grid-template-columns:1fr;}
  .office-grid{grid-template-columns:1fr;}
  .doctor-photo{max-width:320px; margin:0 auto;}
  .why-grid{grid-template-columns:1fr; gap:36px;}
  .services-grid, .testi-grid{grid-template-columns:1fr;}
  .service-detail-grid{grid-template-columns:1fr;}
  .team-member, .team-member.team-member-reverse{display:block; max-width:680px; grid-template-columns:none;}
  .team-photo, .team-member.team-member-reverse .team-photo{order:initial; width:340px; margin:0 auto 28px;}
  .team-member.team-member-reverse .team-copy{order:initial;}
  .form-row{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr; gap:36px;}
  .footer-grid > div:nth-child(1){grid-column:1 / -1; order:1;}
  .footer-grid > div:nth-child(3){order:2;}
  .footer-grid > div:nth-child(4){order:3;}
  .footer-grid > div:nth-child(2){grid-column:1 / -1; order:4;}
}
@media (max-width:600px){
  .wrap{padding:0 20px;}
}


/* WordPress-specific helpers */
.screen-reader-text{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}


/* ---------- ATISHA DENTAL REBRAND: dark header/footer for the cream & gold logo ---------- */
header{background:rgba(27,26,23,.97); border-bottom:1px solid rgba(201,162,75,.4);}
.nav{padding:22px 32px; gap:24px;}
.brand{flex-shrink:0;}
.brand img{height:52px;}
nav.links{color:var(--ivory); gap:24px; font-size:12.5px;}
nav.links a, .nav-dd-trigger{white-space:nowrap;}
header > .nav > .btn{padding:12px 20px; font-size:12.5px; white-space:nowrap; flex-shrink:0;}
nav.links a.active{color:var(--gold);}
.nav-dd-trigger{color:var(--ivory);}
.nav-dd-trigger .chevron{border-right-color:var(--ivory); border-bottom-color:var(--ivory);}
.nav-dropdown.open .nav-dd-trigger{color:var(--gold);}
.menu-toggle span{background:var(--ivory);}
header > .nav > .btn{background:var(--gold); border-color:var(--gold); color:var(--charcoal);}
header > .nav > .btn:hover{background:var(--ivory); border-color:var(--ivory);}
footer{background:var(--charcoal); border-top:1px solid rgba(201,162,75,.4);}
.footer-grid{border-bottom-color:rgba(255,255,255,.14);}
.footer-brand img{height:54px; width:auto;}
.footer-brand p{color:#B9B5A9;}
.footer-col h4{color:var(--gold);}
.footer-col a, .footer-col p{color:#D8D3C4;}
.footer-col a:hover{color:var(--ivory);}
.footer-bottom{color:#B9B5A9;}
.social-row a{border-color:rgba(255,255,255,.28); color:var(--ivory);}

/* Mission / Vision / Values */
.mission-teaser{padding:70px 0 90px;}
.mission-teaser .section-head{margin-bottom:0;}
.mission-teaser p{margin:18px auto 28px; color:var(--charcoal-soft); max-width:600px;}
.mv-section{padding:80px 0 56px;}
.mv-grid{display:grid; grid-template-columns:1fr 1fr; gap:32px;}
.mv-card{background:var(--white); border:1px solid var(--line); padding:44px;}
.mv-card .mv-lead{font-family:'Fraunces',serif; font-size:clamp(22px,2.4vw,28px); line-height:1.3; color:var(--charcoal); margin:16px 0 18px;}
.mv-card p{color:var(--charcoal-soft); font-size:15px;}
.why-card .icon.value-num{font-family:'Fraunces',serif; font-size:19px; color:var(--gold-deep);}
.promise{background:var(--charcoal); color:var(--ivory); padding:90px 0; text-align:center; margin-top:80px;}
.promise .eyebrow{color:var(--gold);}
.promise h2{color:var(--ivory); font-size:clamp(28px,3.6vw,42px); max-width:760px; margin:18px auto 18px;}
.promise p{color:#CFC9B8; max-width:600px; margin:0 auto 32px;}
@media (max-width:1120px){
  nav.links, .nav > .btn{display:none;}
  .menu-toggle{display:flex;}
}
@media (max-width:920px){
  .mv-grid{grid-template-columns:1fr;}
  .mv-card{padding:32px 26px;}
  .brand img{height:46px;}
  .nav{padding:20px 20px;}
}


/* ================= DESKTOP / MOBILE OPTIMIZATION ================= */
h1,h2,h3{line-height:1.2;}
.page-hero h1{line-height:1.15;}
.mobile-cta-bar{display:none;}
.doctor-quote{display:none;}

/* ---- Desktop (921px and up) ---- */
@media (min-width:921px){
  .hero-copy-band{padding:80px 0;}
  .hero-copy-band .wrap{grid-template-columns:1fr 1.05fr; gap:32px 64px;}
  .hero-photo-boxed{aspect-ratio:4/3;}
  .hero-copy-band h1{font-size:clamp(38px,3.6vw,54px);}
  .services-grid{background:none; border:none; gap:24px; grid-template-columns:repeat(3,1fr);}
  .services-grid:has(.service-card:nth-child(4):last-child){grid-template-columns:repeat(4,1fr);}
  .service-card{border:1px solid var(--line);}
  .service-card:hover{border-color:var(--gold); box-shadow:0 14px 30px rgba(27,26,23,.08);}
}
@media (min-width:1040px){
  .doctor-grid:has(.doctor-quote){grid-template-columns:.5fr 1fr .85fr; gap:56px;}
  .doctor-quote{display:block; margin:0; padding:36px 34px; background:var(--charcoal); border-top:3px solid var(--gold);}
  .doctor-quote p{font-family:'Fraunces',serif; font-size:clamp(22px,2vw,28px); line-height:1.3; color:var(--ivory); margin-bottom:18px;}
  .doctor-quote cite{font-style:normal; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); font-weight:600;}
}

/* ---- Mobile (920px and down) ---- */
@media (max-width:920px){
  body{padding-bottom:78px;}
  body.menu-open .mobile-cta-bar{display:none;}
  .mobile-cta-bar{
    display:flex; gap:10px; position:fixed; left:0; right:0; bottom:0; z-index:90;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:rgba(27,26,23,.98);
    border-top:1px solid rgba(201,162,75,.45);
  }
  .mobile-cta-bar a{flex:1; display:flex; align-items:center; justify-content:center; min-height:48px; font-size:13px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; border:1px solid var(--gold); border-radius:2px;}
  .mobile-cta-bar a.primary{background:var(--gold); color:var(--charcoal);}
  .mobile-cta-bar a.secondary{background:transparent; color:var(--ivory);}

  .page-hero{padding:44px 0;}
  .page-hero h1{font-size:clamp(28px,8vw,36px);}
  .hero-copy-band{padding:40px 0 44px;}
  .hero-copy-band h1{font-size:clamp(32px,9vw,40px);}
  .hero-actions{flex-direction:column; gap:12px; align-items:stretch;}
  .why{padding:52px 0 8px;}
  .doctor{padding:44px 0;}
  .divider{padding:8px 0;}
  .testimonials, .plaque{padding:56px 0;}
  .mission-teaser{padding:44px 0 56px;}
  .team-section{padding:44px 0 64px;}
  .mv-section{padding:48px 0 32px;}
  .promise{padding:60px 0; margin-top:40px;}
  .section-head{margin-bottom:32px;}
  .section-head h2{font-size:clamp(26px,7vw,32px);}

  .why-grid{gap:28px;}
  .why-card{display:grid; grid-template-columns:44px 1fr; column-gap:16px; align-items:start;}
  .why-card .icon{grid-row:1 / span 2; width:44px; height:44px; margin:0;}
  .why-card .icon .sparkle{width:18px; height:18px;}
  .why-card h3{margin:2px 0 6px;}
  .why-card p{grid-column:2;}

  .doctor-photo, .team-photo, .team-member.team-member-reverse .team-photo{aspect-ratio:4/5; max-width:340px; width:100%; margin-left:auto; margin-right:auto;}
  .team-photo{margin-bottom:28px;}

  .hero-actions .btn, .doctor-copy .btn, .team-copy .btn, .services-cta .btn, .plaque-actions .btn,
  .mission-teaser .btn, .promise-actions .btn, .form-field + .btn, form .btn, form button[type=submit]{width:100%; justify-content:center; text-align:center;}
  .plaque-actions{flex-direction:column; align-items:stretch;}

  .form-field input, .form-field select, .form-field textarea{font-size:16px; min-height:48px;}
  .services-grid{gap:16px; background:none; border:none;}
  .service-card{border:1px solid var(--line); padding:28px 24px;}
  .mv-card{padding:28px 22px;}
  .footer-col a{padding:6px 0; margin-bottom:0;}
  footer{padding:52px 0 24px;}
}

/* ================= FLUID DESKTOP: scale to fit the screen ================= */
@media (min-width:1200px){
  .wrap{max-width:clamp(1180px, 88vw, 1640px); padding-left:clamp(32px,4vw,80px); padding-right:clamp(32px,4vw,80px);}
  .nav{padding-left:clamp(32px,4vw,80px); padding-right:clamp(32px,4vw,80px);}
  .brand img{height:clamp(52px,3.4vw,68px);}
  nav.links{font-size:clamp(12.5px,.82vw,15px); gap:clamp(24px,1.8vw,38px);}
  header > .nav > .btn{font-size:clamp(12.5px,.82vw,15px); padding:clamp(12px,.9vw,16px) clamp(20px,1.5vw,30px);}
  .team-member{max-width:none;}
  .page-hero{padding:clamp(64px,6vw,110px) 0;}
  .page-hero h1{font-size:clamp(34px,3.4vw,62px);}
  .page-hero p{font-size:clamp(15.5px,1.1vw,19px); max-width:640px;}
}
@media (min-width:921px){
  .hero-copy-band{min-height:calc(100vh - 100px); min-height:calc(100svh - 100px); display:flex; align-items:center; padding:clamp(48px,5vw,110px) 0;}
  .hero-copy-band > .wrap{width:100%;}
  .hero-copy-band h1{font-size:clamp(38px,3.8vw,72px);}
  .hero-copy-band p.lede{font-size:clamp(16.5px,1.15vw,20px); max-width:640px;}
  .hero-copy-band .btn{font-size:clamp(14px,.9vw,16px); padding:clamp(15px,1.1vw,20px) clamp(30px,2vw,40px);}
  .hero-stats .stat-item{font-size:clamp(12.5px,.85vw,15px);}
  .hero-photo-boxed .tag{font-size:clamp(12.5px,.85vw,15px);}
}
@media (min-width:1500px){
  .section-head h2, .doctor-copy h2{font-size:clamp(34px,2.6vw,52px);}
  .doctor, .why, .testimonials, .plaque{padding-top:clamp(100px,6vw,140px);}
  .why-card p, .service-card p, .doctor-copy p, .team-copy p{font-size:clamp(15px,.95vw,17.5px);}
  .doctor-copy p, .team-copy p{max-width:680px;}
  .why-card h3, .service-card h3{font-size:clamp(19px,1.3vw,24px);}
}

.nav-dd-trigger{font-size:inherit;}
@media (min-width:1500px){.team-member{grid-template-columns:.5fr 1.5fr; gap:clamp(64px,5vw,110px);} .team-copy p, .team-copy .note{max-width:820px; font-size:clamp(15.5px,.95vw,18px);}}

/* ================= TIGHTER SECTION SPACING ================= */
.page-hero{padding:clamp(44px,4vw,72px) 0;}
.divider{padding:12px 0;}
.doctor{padding:64px 0 48px;}
.why, .why[style]{padding:48px 0 8px !important;}
.office{padding:56px 0 8px;}
.services, .services[style]{padding:52px 0 8px !important;}
.service-detail{padding:48px 0 64px;}
.contact, .contact[style]{padding:52px 0 64px !important;}
.team-section{padding:56px 0 72px;}
.testimonials{padding:64px 0;}
.plaque{padding:64px 0;}
.mission-teaser{padding:40px 0 64px;}
.mv-section{padding:56px 0 24px;}
.why[style].why-values, .mv-section + .why{padding-top:8px !important;}
.promise{padding:64px 0; margin-top:48px;}
.section-head{margin-bottom:36px;}
.services-cta{margin-top:36px;}
.why-grid{gap:36px 40px;}
@media (min-width:1500px){
  .doctor{padding:72px 0 56px;}
  .why, .why[style]{padding:56px 0 8px !important;}
  .testimonials, .plaque{padding:72px 0;}
}
@media (max-width:920px){
  .page-hero{padding:36px 0;}
  .divider{padding:4px 0;}
  .doctor{padding:36px 0 24px;}
  .why, .why[style]{padding:36px 0 4px !important;}
  .office{padding:36px 0 4px;}
  .services, .services[style]{padding:36px 0 4px !important;}
  .service-detail{padding:32px 0 44px;}
  .contact, .contact[style]{padding:36px 0 44px !important;}
  .team-section{padding:36px 0 48px;}
  .testimonials, .plaque{padding:44px 0;}
  .mission-teaser{padding:28px 0 44px;}
  .mv-section{padding:36px 0 20px;}
  .promise{padding:48px 0; margin-top:32px;}
  .section-head{margin-bottom:24px;}
  .services-cta{margin-top:28px;}
  .why-grid{gap:22px;}
}

/* clickable address tag on hero photo */
.hero-photo-boxed a.tag{display:inline-flex; align-items:center; gap:8px; text-decoration:none; cursor:pointer; border:1px solid rgba(201,162,75,.55); transition:background .2s ease, color .2s ease, border-color .2s ease;}
.hero-photo-boxed a.tag .tag-arrow{color:var(--gold); transition:transform .2s ease, color .2s ease;}
.hero-photo-boxed a.tag:hover, .hero-photo-boxed a.tag:focus-visible{background:var(--gold); color:var(--charcoal); border-color:var(--gold);}
.hero-photo-boxed a.tag:hover .tag-arrow, .hero-photo-boxed a.tag:focus-visible .tag-arrow{color:var(--charcoal); transform:translateX(3px);}

/* whole service card is clickable (stretched link) */
.service-card{position:relative; cursor:pointer;}
.service-card .learn::after{content:""; position:absolute; top:0; left:0; right:0; bottom:0; z-index:1;}
.service-card:focus-within{border-color:var(--gold); box-shadow:0 0 0 2px var(--gold-pale);}
.service-card:hover .learn{color:var(--charcoal);}
.service-card .learn:focus-visible{outline:none;}
.service-card:hover h3{color:var(--gold-deep);}
.related-link{display:block; transition:color .2s ease, padding-left .2s ease;}
.related-link:hover{padding-left:6px;}

/* testimonials: two reviews of different length */
.testi-intro{margin:14px auto 0; max-width:620px; color:var(--charcoal-soft); font-size:15px;}
.testi-grid-two{grid-template-columns:1.5fr 1fr;}
.testi-grid-two .testi-card:nth-child(2) p.quote{font-size:clamp(22px,2vw,28px);}
.testi-card p.quote{font-size:clamp(17px,1.4vw,20px);}
@media (max-width:920px){.testi-grid-two{grid-template-columns:1fr;}}
.testi-grid-two{margin-top:30px;}
.testi-note{text-align:center; margin-top:18px; font-size:13px; color:var(--charcoal-soft);}

.testi-source{display:inline-block; margin-top:8px; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-deep); border-bottom:1px solid transparent; transition:border-color .2s ease, color .2s ease;}
.testi-source:hover, .testi-source:focus-visible{color:var(--charcoal); border-bottom-color:var(--gold);}
@media (max-width:920px){.mobile-cta-bar a{font-size:12px; letter-spacing:.04em; padding:0 6px; text-align:center;} .mobile-cta-bar a.primary{flex:1.5;}}
.contact-note a{color:var(--gold-deep); font-weight:600; text-decoration:underline;}
