/* ==========================================================
   Self-hosted variable fonts (subset to Latin, woff2).
   Served from the same origin: no third-party connection,
   no render-blocking Google Fonts request. swap = no FOIT.
   ========================================================== */
@font-face{
  font-family:'Montserrat';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('fonts/montserrat-var.woff2') format('woff2-variations'),
      url('fonts/montserrat-var.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Bodoni Moda';
  font-style:normal;
  font-weight:400 900;
  font-display:swap;
  src:url('fonts/bodoni-moda-var.woff2') format('woff2-variations'),
      url('fonts/bodoni-moda-var.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ============================================================
   Arch Dental — Andrew Lisy, DMD
   Navy #011C3E · Gold #F6C85E · White
   Display: Bodoni 72 (Bodoni Moda web fallback) · Sans: Montserrat
   ============================================================ */

:root{
  /* brand */
  --navy:#011C3E;
  --navy-mid:#0A2E5C;
  --navy-soft:#33465F;
  --gold:#F6C85E;
  --gold-deep:#8A6410;
  --gold-mid:#C9A227;
  --gold-pale:#FDF4DE;
  --white:#FFFFFF;

  /* mapped tokens used throughout page content */
  --ink:#011C3E;
  --ink-soft:#33465F;
  --ink-faint:#6B7B92;
  --paper:#FFFFFF;
  --tint:#F5F7FA;
  --tint-deep:#E4EAF2;
  --rule:#CBD6E3;
  --viridian:#C9A227;
  --viridian-dark:#8A6410;
  --viridian-pale:#FDF4DE;
  --alert:#A8352C;
  --alert-pale:#F8EAE8;

  /* anatomical illustration palette */
  --bone:#E8DCC6; --bone-shade:#D4C4A6;
  --gum:#C9736B; --gum-shade:#A85C56;
  --tooth:#FCFAF5; --tooth-shade:#E4DED0;
  --dentin:#E9D9B8; --pulp:#C0524C;
  --titanium:#7D8B98; --titanium-dark:#59666F;
  --acrylic:#F3D9D4; --porcelain:#F4F8F7;

  --display:"Bodoni 72","Bodoni Moda",Didot,"Playfair Display",Georgia,serif;
  --sans:Montserrat,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{animation:none!important;transition:none!important}}

body{
  margin:0;background:var(--white);color:var(--navy);
  font-family:var(--sans);font-size:17px;line-height:1.72;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
svg{display:block;width:100%;height:auto}
figure{margin:0}

.wrap{max-width:1180px;margin:0 auto;padding:0 30px}
.narrow{max-width:680px}
.mid{max-width:860px}

h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.14;letter-spacing:.005em;margin:0}
h1{font-size:clamp(2.5rem,5.4vw,4rem);line-height:1.06}
h2{font-size:clamp(1.85rem,3.4vw,2.7rem)}
h3{font-size:1.3rem}
p{margin:0 0 1.15em}
a{color:var(--gold-deep)}
strong{font-weight:600}

.eyebrow{
  font-family:var(--sans);font-size:.76rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
  margin:0 0 14px;display:block;
}
.eyebrow-navy{color:var(--gold-deep)}
.lede{font-size:1.14rem;line-height:1.7;color:var(--ink-soft)}
.rule-gold{width:64px;height:3px;background:var(--gold);border:0;margin:0 0 26px}

section{padding:84px 0}
.band-tint{background:var(--tint)}
.band-ink{background:var(--navy);color:#DCE4EE}
.band-ink h1,.band-ink h2,.band-ink h3{color:#fff}
.band-ink p{color:#BAC7D6}
.band-ink a{color:var(--gold)}
.band-alert{background:var(--alert-pale)}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;font-family:var(--sans);font-weight:600;
  font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;
  padding:16px 30px;text-decoration:none;border-radius:2px;
  background:var(--gold);color:var(--navy);border:1px solid var(--gold);
  transition:background .18s,color .18s;
}
.btn:hover{background:#E9B740;border-color:#E9B740;color:var(--navy)}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-ghost:hover{background:var(--navy);color:#fff}
.band-ink .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.band-ink .btn-ghost:hover{background:#fff;color:var(--navy)}
.btn-alert{background:var(--alert);border-color:var(--alert);color:#fff}
.btn-alert:hover{background:#8C2A22;border-color:#8C2A22;color:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:32px}
.phone{
  font-weight:600;font-size:.95rem;letter-spacing:.06em;text-decoration:none;
  color:var(--navy);border-bottom:2px solid var(--gold);padding-bottom:3px;
}
.band-ink .phone{color:#fff}

/* ---------- masthead ---------- */
.masthead{background:var(--navy);position:relative;z-index:60}
.mast-inner{display:flex;align-items:center;gap:26px;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;flex:0 0 auto}
.brand img{width:38px}
.brand-name{
  display:block;font-family:var(--display);color:#fff;
  font-size:1.22rem;letter-spacing:.18em;line-height:1.1;
}
.brand-sub{
  display:block;font-family:var(--display);color:#fff;
  font-size:.72rem;letter-spacing:.04em;margin-top:3px;opacity:.9;
}
.brand-line{display:block;height:1px;background:var(--gold);margin:5px 0 4px}

.nav{margin-left:auto}
.nav-list{list-style:none;display:flex;align-items:center;gap:30px;margin:0;padding:0}
.nav-list > li{position:relative}
.nav-list > li > a{
  color:#fff;text-decoration:none;font-size:.78rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;padding:10px 0;display:inline-block;
}
.nav-list > li > a:hover{color:var(--gold)}
.nav-list > li > a.current{color:var(--gold);border-bottom:2px solid var(--gold)}

.drop{
  list-style:none;margin:0;padding:10px 0;position:absolute;top:100%;left:-22px;
  min-width:288px;background:var(--navy);border-top:2px solid var(--gold);
  box-shadow:0 18px 40px rgba(1,28,62,.34);display:none;
}
.drop li a{
  display:block;padding:11px 24px;color:#DCE4EE;text-decoration:none;
  font-size:.8rem;letter-spacing:.04em;line-height:1.4;
}
.drop li a:hover{background:var(--navy-mid);color:var(--gold)}
.has-drop:hover > .drop,.has-drop:focus-within > .drop,.has-drop.open > .drop{display:block}
.has-drop > a::after{content:"";display:inline-block;margin-left:8px;border:4px solid transparent;border-top-color:currentColor;transform:translateY(2px)}

.btn-portal{flex:0 0 auto;padding:13px 22px;font-size:.72rem}
.nav-toggle{
  display:none;margin-left:auto;background:transparent;border:1px solid rgba(255,255,255,.45);
  color:#fff;font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;padding:11px 16px;border-radius:2px;cursor:pointer;
}

@media(max-width:1040px){
  .mast-inner{flex-wrap:wrap}
  .nav-toggle{display:block}
  .nav{flex:1 1 100%;margin-left:0;display:none}
  .nav.open{display:block}
  .nav-list{flex-direction:column;align-items:stretch;gap:0;padding:10px 0 16px}
  .nav-list > li > a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12);width:100%}
  .has-drop > a::after{display:none}
  .drop{display:block;position:static;min-width:0;box-shadow:none;border-top:0;padding:0 0 8px}
  .drop li a{padding:10px 0 10px 20px;font-size:.76rem;color:#9FB2C7}
  .btn-portal{order:3;margin-top:0}
}
@media(max-width:560px){
  .brand-name{font-size:1rem;letter-spacing:.14em}
  .btn-portal{display:none}
}

/* ---------- home hero ---------- */
.hero-home{background:var(--navy);color:#fff;overflow:hidden}
.hero-home .hero-inner{
  display:grid;grid-template-columns:1fr 1fr;align-items:stretch;
  max-width:1400px;margin:0 auto;
}
.hero-copy{padding:84px 50px 84px max(30px,calc((100vw - 1180px)/2 + 30px))}
.hero-home h1{font-size:clamp(2.7rem,5.2vw,4.1rem);color:#fff;letter-spacing:.02em}
.hero-home h1 .sub{
  display:block;font-size:clamp(1.5rem,2.6vw,2.1rem);letter-spacing:0;
  margin-top:18px;font-weight:400;line-height:1.24;
}
.hero-home p{color:#C3D0DE;max-width:36em}
.hero-photo{position:relative;min-height:430px;background:#000}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--navy) 0%,rgba(1,28,62,.55) 22%,rgba(1,28,62,0) 60%);
}
.hero-tag{
  position:absolute;right:26px;bottom:24px;z-index:2;text-align:right;
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;
  text-shadow:0 2px 14px rgba(0,0,0,.75);
}
@media(max-width:920px){
  .hero-home .hero-inner{grid-template-columns:1fr}
  .hero-copy{padding:56px 30px 52px;order:2}
  .hero-photo{order:1;min-height:280px;height:44vw;max-height:400px}
  .hero-photo::after{background:linear-gradient(0deg,var(--navy) 0%,rgba(1,28,62,0) 55%)}
}

/* ---------- services arches ---------- */
.arch-head{text-align:center;margin-bottom:8px}
.arch-head .eyebrow{color:var(--gold-deep)}
.arch-rule{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:6px}
.arch-rule span{height:1px;width:70px;background:var(--gold)}
.arch-grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:6px;
  margin-top:34px;align-items:end;
}
.arch-link{
  display:block;text-decoration:none;text-align:center;padding:10px 4px 20px;
  transition:transform .2s;
}
.arch-link:hover{transform:translateY(-5px)}
.arch-link .arch-svg{max-width:150px;margin:0 auto}
.arch-link .arch-outline{stroke:var(--gold);fill:none;stroke-width:2.4}
.arch-link .arch-icon{fill:none;stroke:var(--navy);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.arch-link:hover .arch-outline{stroke:#E0A92A}
.arch-title{
  display:block;margin-top:10px;font-size:.74rem;font-weight:600;line-height:1.45;
  letter-spacing:.1em;text-transform:uppercase;color:var(--navy);
}
.arch-chev{display:block;margin-top:8px;color:var(--gold);font-size:1rem;line-height:1}
@media(max-width:1000px){.arch-grid{grid-template-columns:repeat(3,1fr);gap:16px}}
@media(max-width:600px){.arch-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- page header (interior) ---------- */
.page-head{background:var(--navy);color:#fff;padding:64px 0 62px;position:relative;overflow:hidden}
.page-head h1{color:#fff;max-width:16ch}
.page-head .lede{color:#BAC7D6;max-width:46ch;margin-top:20px}
.page-head .crumbs{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#8FA3BA;margin-bottom:18px}
.page-head .crumbs a{color:#8FA3BA;text-decoration:none}
.page-head .crumbs a:hover{color:var(--gold)}
.page-head .watermark{
  position:absolute;right:-30px;top:-40px;width:330px;opacity:.13;pointer-events:none;
}
@media(max-width:760px){.page-head .watermark{display:none}}

/* ---------- generic layout blocks ---------- */
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.two-wide{grid-template-columns:1.15fr .85fr}
.two-top{align-items:start}
.hero{padding:78px 0 70px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.hero p.lede{max-width:34em}

.item{border-top:1px solid var(--rule);padding:54px 0}
.item:last-of-type{border-bottom:1px solid var(--rule)}
.item-grid{display:grid;grid-template-columns:300px 1fr;gap:46px;align-items:start}
.item-grid-3{grid-template-columns:300px 1fr 200px}
.option{border-top:1px solid var(--rule);padding:54px 0}
.option:last-of-type{border-bottom:1px solid var(--rule)}
.option-grid{display:grid;grid-template-columns:300px 1fr 200px;gap:46px;align-items:start}
.option-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:6px}

.price{font-family:var(--display);font-size:2rem;font-weight:600;letter-spacing:.01em}
.price-note{font-size:.86rem;color:var(--ink-faint);display:block;margin-top:2px}
.includes{list-style:none;margin:20px 0 0;padding:0;font-size:.92rem}
.includes li{padding:8px 0 8px 24px;border-top:1px solid var(--tint-deep);position:relative;color:var(--ink-soft)}
.includes li::before{content:"";position:absolute;left:2px;top:17px;width:8px;height:8px;background:var(--gold);border-radius:50%}
.honest{font-size:.94rem;color:var(--ink-soft);border-left:3px solid var(--gold);padding-left:16px;margin-top:22px}

.recommended{background:var(--navy);color:#DCE4EE;border:none;margin:0 -30px;padding:60px 30px}
.recommended h3,.recommended .price{color:#fff}
.recommended p{color:#BAC7D6}
.recommended .includes li{border-color:rgba(255,255,255,.16);color:#BAC7D6}
.recommended .includes li::before{background:var(--gold)}
.recommended .honest{border-color:var(--gold);color:#AEBED0}
.recommended .price-note{color:#8FA3BA}
.flag{
  display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.14em;
  color:var(--navy);background:var(--gold);padding:6px 12px;border-radius:2px;
}

.tablewrap{overflow-x:auto;margin-top:34px}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:.9rem}
th,td{text-align:left;padding:15px 16px;border-bottom:1px solid var(--rule);vertical-align:top}
thead th{font-family:var(--display);font-size:1rem;font-weight:600;border-bottom:2px solid var(--navy)}
tbody th{font-weight:600;color:var(--navy);width:24%}
td{color:var(--ink-soft)}
.col-best{background:var(--gold-pale);color:var(--navy)}
thead .col-best{background:var(--navy);color:var(--gold);border-bottom-color:var(--navy)}

.steps{counter-reset:s;list-style:none;padding:0;margin:42px 0 0}
.steps li{counter-increment:s;position:relative;padding:0 0 34px 74px;border-left:1px solid var(--rule);margin-left:22px}
.steps li:last-child{border-left-color:transparent;padding-bottom:0}
.steps li::before{
  content:counter(s);position:absolute;left:-22px;top:-4px;width:44px;height:44px;
  border-radius:50%;background:var(--white);border:1px solid var(--gold);color:var(--navy);
  font-family:var(--display);font-size:1.02rem;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.band-tint .steps li::before{background:var(--tint)}
.steps h3{margin-bottom:6px;font-size:1.18rem}
.steps p{margin:0;color:var(--ink-soft);font-size:.95rem}
.steps li p + p{margin-top:10px}
.track{font-size:1.42rem;margin:54px 0 0;padding-bottom:14px;border-bottom:2px solid var(--gold)}
.track:first-of-type{margin-top:38px}
.track-time{margin:14px 0 0;color:var(--ink-soft);font-size:.96rem;font-weight:600}

details{border-bottom:1px solid var(--rule);padding:20px 0}
summary{
  font-family:var(--display);font-size:1.12rem;font-weight:600;cursor:pointer;
  list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;
}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--sans);font-weight:300;font-size:1.6rem;color:var(--gold-deep);line-height:1}
details[open] summary::after{content:"\2013"}
details p{margin:14px 0 0;color:var(--ink-soft);font-size:.95rem;max-width:64ch}

figcaption{font-size:.84rem;color:var(--ink-faint);margin-top:14px;line-height:1.55;max-width:46ch}
.band-ink figcaption{color:#8FA3BA}
.creds{list-style:none;padding:0;margin:26px 0 0}
.creds li{padding:14px 0;border-top:1px solid var(--rule);color:var(--ink-soft);font-size:.95rem}
.band-ink .creds li{border-color:rgba(255,255,255,.16);color:#BAC7D6}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:38px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:34px;margin-top:38px}
.grid3 h3,.grid2 h3{font-size:1.1rem;margin-bottom:8px}
.grid3 p,.grid2 p{font-size:.94rem;color:var(--ink-soft);margin:0}
.band-ink .grid3 p,.band-ink .grid2 p{color:#BAC7D6}
.footnote{font-size:.8rem;color:var(--ink-faint);line-height:1.6;margin-top:38px;max-width:72ch}
.band-ink .footnote{color:#8296AE}
.redflag{border-left:4px solid var(--alert);padding:4px 0 4px 22px;margin:0 0 26px}
.redflag h3{color:var(--alert);font-size:1.1rem;margin-bottom:6px}
.redflag p{margin:0;color:var(--ink-soft);font-size:.95rem}

.portrait{border:1px solid var(--rule);padding:10px;background:#fff}
.portrait img{width:100%}
.band-ink .portrait{border-color:rgba(255,255,255,.2);background:transparent}

/* ---------- cards / next steps ---------- */
.cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:38px}
.card{
  display:block;text-decoration:none;color:inherit;background:#fff;
  border:1px solid var(--rule);border-top:3px solid var(--gold);padding:28px;
  transition:box-shadow .2s,transform .2s;
}
.card:hover{box-shadow:0 14px 34px rgba(1,28,62,.1);transform:translateY(-3px)}
.card h3{font-size:1.14rem;margin-bottom:8px}
.card p{font-size:.92rem;color:var(--ink-soft);margin:0}
.card .more{display:inline-block;margin-top:14px;font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep)}

/* ---------- footer ---------- */
footer{background:var(--navy);color:#93A6BD;padding:64px 0 34px;font-size:.88rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
footer h4{color:#fff;font-family:var(--display);font-size:1rem;letter-spacing:.06em;margin-bottom:16px}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin-bottom:9px}
footer a{color:#93A6BD;text-decoration:none}
footer a:hover{color:var(--gold)}
.foot-logo{width:210px;margin-bottom:18px}
.foot-bottom{
  border-top:1px solid rgba(255,255,255,.14);margin-top:44px;padding-top:22px;
  display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:.78rem;color:#6F84A0;
}
@media(max-width:900px){
  .foot-grid{grid-template-columns:1fr 1fr}
  .cardgrid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .hero-grid,.two,.two-wide,.item-grid,.item-grid-3,.option-grid,.grid3,.grid2{grid-template-columns:1fr;gap:32px}
  section{padding:60px 0}
  body{font-size:16px}
  .recommended{margin:0 -30px}
}
@media(max-width:560px){
  .foot-grid{grid-template-columns:1fr}
}


/* ================================================================
   ARCH DENTAL — APPROVED VISUAL SYSTEM / 2026-09
   Graphics and layout only. Source copy on service pages is unchanged.
   Official logo artwork is used as an image; patient/doctor photography
   is displayed from original uploaded files with proportional cropping only.
   ================================================================ */
:root{
  --navy:#011C3E;
  --navy-2:#06294f;
  --gold:#F6C85E;
  --gold-deep:#DDAA32;
  --cream:#FBF9F3;
  --display:"Bodoni 72","Bodoni MT","Bodoni Moda",Didot,"Times New Roman",serif;
  --sans:Montserrat,"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;
}
body{font-family:var(--sans);background:#fff;color:#08254a}
h1,h2,h3,.brand-name,.price,summary{font-family:var(--display)}
.skip{position:absolute;left:-9999px;top:auto}.skip:focus{left:18px;top:18px;z-index:9999;background:#fff;color:#011C3E;padding:10px 14px;border-radius:4px}
.wrap{max-width:1180px;margin:0 auto;padding-left:28px;padding-right:28px}

/* exact official logo art in headers */
.mockup-header,.masthead{background:var(--navy);border-bottom:1px solid rgba(255,255,255,.08)}
.mast-inner{min-height:86px;display:flex;align-items:center;gap:28px}
.brand-image{display:block;flex:0 0 225px;text-decoration:none}
.brand-image img{display:block;width:225px;height:auto;max-height:76px;object-fit:contain;object-position:left center}
.nav{margin-left:auto}.nav-list{gap:30px}.nav-list>li>a{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:#fff;padding:34px 0 30px}.nav-list>li>a.current{color:var(--gold)}.nav-list>li>a.current:after{background:var(--gold)}
.btn-portal{background:var(--gold);color:var(--navy);border-color:var(--gold);text-transform:uppercase;letter-spacing:.07em;font-size:.76rem;white-space:nowrap;padding:14px 22px}
.drop{top:72px;border-top:2px solid var(--gold);box-shadow:0 18px 42px rgba(0,0,0,.22)}
.drop a{font-size:.82rem}

/* Home reference layout */
.home-hero-ref{position:relative;min-height:650px;overflow:hidden;background:var(--navy);color:white}
.home-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:0}
.home-hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(1,28,62,.96) 0%,rgba(1,28,62,.80) 34%,rgba(1,28,62,.33) 61%,rgba(1,28,62,.12) 100%),linear-gradient(0deg,rgba(1,28,62,.38),transparent 42%)}
.home-hero-content{position:relative;z-index:2;min-height:650px;display:grid;grid-template-columns:minmax(0,560px) 1fr;align-items:center}
.home-hero-copy{padding:56px 0 60px}.home-hero-copy .eyebrow,.doctor-copy .eyebrow{color:var(--gold);font-weight:600;letter-spacing:.33em;text-transform:uppercase;font-size:.76rem}
.home-hero-copy h1{font-size:clamp(3.5rem,6vw,5.7rem);line-height:.94;color:white;letter-spacing:.015em;margin:18px 0 8px;font-weight:500}
.mini-gold-rule{display:block;width:98px;height:3px;background:var(--gold);margin:16px 0 18px}
.home-hero-copy h2{font-size:clamp(2.25rem,3.3vw,3.55rem);font-weight:400;color:#fff;line-height:1.08;margin:0 0 22px}
.home-hero-copy p{max-width:500px;color:#fff;font-size:1rem;line-height:1.55;margin:0 0 18px;text-shadow:0 1px 7px rgba(0,0,0,.55)}
.home-hero-copy .cta-row{margin-top:30px;display:flex;gap:16px;flex-wrap:wrap}.home-hero-copy .btn{min-width:230px;text-align:center;text-transform:uppercase;font-size:.74rem;letter-spacing:.09em;background:var(--gold);color:var(--navy);border:1px solid var(--gold);padding:16px 22px}.home-hero-copy .btn span{font-size:1.25rem;vertical-align:-1px;margin-left:12px}.btn-outline-light{background:rgba(1,28,62,.25)!important;color:#fff!important;border-color:rgba(255,255,255,.65)!important;backdrop-filter:blur(2px)}
.home-local-tag{align-self:end;justify-self:end;margin:0 10px 34px 0;color:white;text-align:right;text-shadow:0 3px 12px rgba(0,0,0,.85)}.scriptish{display:block;font-family:"Snell Roundhand","Segoe Script","Brush Script MT",cursive;font-size:2rem;line-height:1.08;font-style:italic;transform:rotate(-3deg)}.tag-rule{display:block;width:95px;height:3px;background:var(--gold);margin:13px 0 12px auto}.tag-small{text-transform:uppercase;letter-spacing:.28em;font-size:.58rem;font-weight:600}

.home-services-ref{background:linear-gradient(180deg,#fff 0%,#fbfaf6 100%);padding:28px 0 28px}.services-kicker{display:flex;align-items:center;justify-content:center;gap:16px;text-transform:uppercase;letter-spacing:.30em;color:var(--navy);font-size:.72rem;margin-bottom:6px}.services-kicker span{width:56px;height:2px;background:var(--gold)}.services-kicker strong{font-weight:600}
.connected-arches{position:relative;margin-top:20px;gap:0}.connected-arches:after{content:"";position:absolute;left:2.6%;right:2.6%;bottom:25px;height:2px;background:var(--gold);z-index:0}.connected-arches .arch-link{position:relative;z-index:1;background:transparent;padding:8px 1px 20px;min-height:240px}.connected-arches .arch-svg{height:180px;max-width:150px}.connected-arches .arch-outline{stroke:var(--gold-deep);stroke-width:2.6}.connected-arches .arch-icon{stroke:var(--navy);stroke-width:2.1}.connected-arches .arch-title{position:absolute;left:10%;right:10%;top:118px;margin:0;font-size:.70rem;line-height:1.36;letter-spacing:.08em;z-index:2}.connected-arches .arch-chev{position:absolute;left:0;right:0;bottom:30px;z-index:2;font-size:1.4rem}.connected-arches .arch-link:hover{transform:translateY(-3px)}.connected-arches .arch-link:hover .arch-svg{filter:drop-shadow(0 8px 12px rgba(1,28,62,.10))}
.section-divider-white{height:5px;background:white;box-shadow:0 1px 0 rgba(1,28,62,.06)}
.doctor-ref{background:linear-gradient(90deg,#011C3E 0%,#06294f 100%);color:white;padding:14px 0 0}.doctor-grid{display:grid;grid-template-columns:1.25fr .82fr .70fr;gap:30px;align-items:stretch}.doctor-copy{padding:52px 0 50px}.doctor-copy h2{color:white;font-size:clamp(2.3rem,3.5vw,3.6rem);font-weight:500;margin:12px 0 12px}.doctor-copy .mini-gold-rule{width:84px;margin:12px 0 18px}.doctor-lede{font-family:var(--display);font-size:1.55rem;line-height:1.25;color:#fff;margin:0 0 30px}.doctor-copy .btn{background:var(--gold);color:var(--navy);border-color:var(--gold);text-transform:uppercase;font-size:.72rem;letter-spacing:.07em;padding:15px 22px}.doctor-photo-wrap{min-height:330px;overflow:hidden;align-self:end}.doctor-photo-original{width:100%;height:100%;min-height:330px;max-height:360px;object-fit:cover;object-position:58% 36%;display:block}.doctor-quote{margin:34px 0 36px;padding:24px 28px;border-left:1px solid rgba(255,255,255,.72);display:flex;flex-direction:column;justify-content:center;text-align:center}.quote-mark{font-family:Georgia,serif;color:var(--gold);font-size:3rem;line-height:.6;font-weight:700}.doctor-quote p{font-family:var(--display);font-style:italic;font-size:1.4rem;line-height:1.34;margin:18px 0 14px;color:#fff}.doctor-quote cite{font-style:normal;font-size:.88rem;letter-spacing:.06em}.quote-rule{width:54px;height:3px;background:var(--gold);margin:22px auto 0}
.community-ref{background:#fbfaf6;padding:38px 0 32px}.community-ref .wrap{max-width:1180px}.community-ref h2{color:var(--navy);font-size:clamp(2.2rem,3.2vw,3.1rem);line-height:1.04;margin:10px 0 12px}.community-ref .eyebrow{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}.community-ref .mini-gold-rule{width:92px;margin:10px 0 16px}.community-ref p{max-width:690px;color:#173a64;font-size:.92rem;line-height:1.5;margin:0}

/* Footer reference layout */
.mockup-footer{background:linear-gradient(90deg,#011C3E,#06294f);color:#fff;padding:36px 0 0}.footer-showcase{display:grid;grid-template-columns:1.15fr .82fr .72fr .82fr;gap:34px;align-items:start}.footer-brand img{width:240px;height:auto;display:block}.footer-links{display:flex;flex-direction:column;gap:8px;padding-top:6px}.footer-links a,.footer-contact{color:#fff;font-size:.78rem;text-decoration:none}.footer-links a:hover{color:var(--gold)}.footer-contact{border-left:2px solid rgba(246,200,94,.72);padding-left:28px}.contact-row{display:grid;grid-template-columns:26px 1fr;gap:10px;margin:2px 0 16px;line-height:1.45}.contact-icon{color:var(--gold);font-size:1.2rem}.social-row{display:flex;gap:12px;margin-top:18px}.social-circle{width:28px;height:28px;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:700;display:grid;place-items:center}.footer-bottom-showcase{border-top:1px solid rgba(255,255,255,.20);margin-top:30px;padding-top:16px;padding-bottom:18px;display:flex;justify-content:space-between;gap:16px;font-size:.70rem;color:#fff}.footer-bottom-showcase a{color:#fff;text-decoration:none}.footer-bottom-showcase i{display:inline-block;height:12px;width:1px;background:rgba(255,255,255,.55);margin:0 12px;vertical-align:-2px}

/* About reference layout */
.about-hero-ref{background:linear-gradient(105deg,#011C3E,#06345e);color:white;min-height:340px;overflow:hidden}.about-hero-inner{position:relative;min-height:340px;display:flex;align-items:center}.about-hero-inner>div{position:relative;z-index:2;padding:48px 0}.about-hero-ref .eyebrow{color:var(--gold);font-size:.83rem;text-transform:uppercase;letter-spacing:.24em}.about-hero-ref .mini-gold-rule{width:115px;margin:12px 0 20px}.about-hero-ref h1{color:#fff;font-size:clamp(3rem,5.1vw,5.15rem);font-weight:500;line-height:1;margin:0}.ornament-line{display:flex;align-items:center;gap:14px;margin:22px 0 20px;max-width:550px}.ornament-line span{height:2px;flex:1;background:var(--gold)}.ornament-line b{color:var(--gold);font-size:1.6rem;font-weight:400}.about-hero-ref p{text-transform:uppercase;letter-spacing:.23em;line-height:1.8;font-size:.78rem;color:#fff;margin:0;text-align:center;max-width:550px}.about-mark-watermark{position:absolute;right:-18px;bottom:-90px;width:350px;height:auto;opacity:.17;z-index:1}
.about-content-ref{background:#fff;padding:38px 0 48px}.about-columns{display:grid;grid-template-columns:1.05fr .95fr;gap:62px;align-items:start}.about-content-ref .eyebrow{display:block;color:var(--gold-deep);font-size:.83rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin:0 0 20px}.about-bio p{font-size:.98rem;line-height:1.55;color:#16375f;margin:0 0 24px}.about-photo-frame{margin:0;overflow:hidden;border-radius:4px;min-height:610px;max-height:650px}.about-photo-original{display:block;width:100%;height:650px;object-fit:cover;object-position:58% 40%}

/* Better graphics treatment across the existing content pages (text untouched). */
.page-head{background:radial-gradient(circle at 88% 38%,rgba(246,200,94,.08),transparent 28%),linear-gradient(120deg,#011C3E,#06345e)}
.page-head .watermark{opacity:.12;filter:drop-shadow(0 10px 20px rgba(0,0,0,.1))}
figure:not(.portrait){border-radius:14px;background:linear-gradient(180deg,#fff,#fbfaf6);padding:20px;border:1px solid rgba(1,28,62,.08);box-shadow:0 12px 34px rgba(1,28,62,.06)}
.band-ink figure:not(.portrait){background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.10);box-shadow:none}
figure svg{filter:drop-shadow(0 5px 9px rgba(1,28,62,.07))}
.card{border-radius:12px;overflow:hidden;box-shadow:0 6px 18px rgba(1,28,62,.04)}
.tablewrap{border:1px solid rgba(1,28,62,.10);border-radius:12px;box-shadow:0 10px 28px rgba(1,28,62,.05)}
.tablewrap table{margin:0}.tablewrap thead th{background:#f8f6ef}.tablewrap thead .col-best{background:var(--navy)}
.steps li::before{box-shadow:0 4px 12px rgba(1,28,62,.08)}
.btn{box-shadow:0 6px 16px rgba(1,28,62,.10)}
.btn:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(1,28,62,.14)}

@media(max-width:1050px){
  .mast-inner{gap:18px}.brand-image{flex-basis:190px}.brand-image img{width:190px}.nav-list{gap:18px}.nav-list>li>a{font-size:.70rem}.btn-portal{padding:12px 15px}
  .doctor-grid{grid-template-columns:1fr .75fr}.doctor-quote{grid-column:1/-1;border-left:0;border-top:1px solid rgba(255,255,255,.35);margin:0;padding:24px 0 30px}.doctor-quote p{max-width:560px;margin-left:auto;margin-right:auto}
  .footer-showcase{grid-template-columns:1.2fr 1fr 1fr}.footer-contact{grid-column:1/-1;border-left:0;border-top:1px solid rgba(246,200,94,.45);padding:18px 0 0;display:flex;gap:26px;flex-wrap:wrap}.contact-row{min-width:260px}.social-row{margin-top:0}
}
@media(max-width:820px){
  .mast-inner{min-height:74px}.brand-image{flex-basis:180px}.brand-image img{width:180px}.nav-toggle{display:block;margin-left:auto}.nav{position:absolute;top:74px;left:0;right:0;background:var(--navy);display:none;padding:14px 24px 24px;z-index:50}.nav.open{display:block}.nav-list{display:block}.nav-list>li>a{display:block;padding:12px 0}.btn-portal{margin-left:8px}.drop{position:static;box-shadow:none;border-top:1px solid rgba(246,200,94,.35);background:transparent}.drop a{color:#fff}
  .home-hero-ref,.home-hero-content{min-height:630px}.home-hero-content{grid-template-columns:1fr}.home-hero-copy{max-width:570px}.home-local-tag{position:absolute;right:24px;bottom:20px}.home-hero-shade{background:linear-gradient(90deg,rgba(1,28,62,.95),rgba(1,28,62,.65) 65%,rgba(1,28,62,.25))}
  .arch-grid.connected-arches{grid-template-columns:repeat(3,1fr)}.connected-arches:after{display:none}.connected-arches .arch-link{min-height:235px}
  .doctor-grid{grid-template-columns:1fr 1fr}.doctor-copy{grid-column:1/-1;padding-bottom:20px}.doctor-photo-wrap{min-height:360px}.doctor-quote{grid-column:auto;border-top:0;border-left:1px solid rgba(255,255,255,.35);margin:20px 0;padding:20px}.community-ref{padding:34px 0}
  .about-columns{grid-template-columns:1fr}.about-photo-frame{min-height:0;max-height:none}.about-photo-original{height:auto;max-height:none;object-fit:contain}.about-mark-watermark{width:250px;right:-50px}.footer-showcase{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom-showcase{flex-direction:column}
}
@media(max-width:560px){
  .wrap{padding-left:20px;padding-right:20px}.brand-image{flex-basis:145px}.brand-image img{width:145px}.btn-portal{font-size:.62rem;padding:10px 11px}.home-hero-ref,.home-hero-content{min-height:720px}.home-hero-copy{padding-top:44px}.home-hero-copy h1{font-size:3.15rem}.home-hero-copy h2{font-size:2.15rem}.home-local-tag{display:none}.home-hero-copy .btn{min-width:0;width:100%}.arch-grid.connected-arches{grid-template-columns:repeat(2,1fr)}.doctor-grid{display:block}.doctor-photo-wrap{margin:0 auto;width:min(100%,330px)}.doctor-quote{border-left:0;border-top:1px solid rgba(255,255,255,.35)}.footer-showcase{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-contact{display:block}.about-hero-ref,.about-hero-inner{min-height:310px}.about-hero-ref h1{font-size:3rem}.about-hero-ref p{text-align:left;letter-spacing:.13em}.about-mark-watermark{opacity:.10}.about-content-ref{padding-top:28px}
}

/* ================================================================
   HOME SERVICE ARCHES — matched to approved homepage reference
   Only the homepage service arch treatment is overridden here.
   Each full arch remains a real <a> element and is keyboard clickable.
   ================================================================ */
.home-mockup .home-services-ref{
  background:#fbfaf7;
  padding:26px 0 36px;
}
.home-mockup .home-services-ref .services-kicker{
  margin:0 0 18px;
  gap:18px;
  font-size:.72rem;
  letter-spacing:.30em;
}
.home-mockup .home-services-ref .services-kicker span{
  width:56px;
  height:2px;
  background:var(--gold);
}
.home-mockup .arch-grid.connected-arches{
  width:100%;
  max-width:1120px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  justify-content:center;
  gap:0;
  align-items:end;
  position:relative;
}
.home-mockup .arch-grid.connected-arches::after{
  content:"";
  position:absolute;
  left:3.2%;
  right:3.2%;
  bottom:4px;
  height:2px;
  background:var(--gold-deep);
  z-index:0;
}
.home-mockup .connected-arches .arch-link{
  position:relative;
  display:block;
  height:238px;
  min-height:238px;
  padding:0;
  margin:0;
  text-decoration:none;
  color:var(--navy);
  z-index:1;
  background-image:url("service-arch-frame.png");
  background-repeat:no-repeat;
  background-position:center top;
  background-size:214px 238px;
  transition:transform .18s ease,filter .18s ease;
}
.home-mockup .connected-arches .arch-link::after{
  display:none;
}
.home-mockup .connected-arches .arch-link:hover,
.home-mockup .connected-arches .arch-link:focus-visible{
  transform:translateY(-3px);
  filter:drop-shadow(0 7px 9px rgba(1,28,62,.10));
}
.home-mockup .connected-arches .arch-link:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:5px;
  border-radius:3px;
}
.home-mockup .connected-arches .arch-svg{
  position:absolute;
  left:50%;
  top:-16px;
  width:214px;
  height:238px;
  max-width:none;
  margin:0;
  transform:translateX(-50%);
  overflow:visible;
  pointer-events:none;
}
.home-mockup .connected-arches .arch-outline{
  display:none;
}
.home-mockup .connected-arches .arch-icon{
  stroke:var(--navy);
  stroke-width:2.15;
  fill:none;
}
.home-mockup .connected-arches .arch-title{
  position:absolute;
  z-index:2;
  left:12px;
  right:12px;
  top:143px;
  margin:0;
  display:block;
  color:var(--navy);
  font-family:var(--sans);
  font-size:.76rem;
  font-weight:600;
  line-height:1.36;
  letter-spacing:.075em;
  text-transform:uppercase;
  text-align:center;
  pointer-events:none;
}
.home-mockup .connected-arches .arch-chev{
  display:none;
}

@media (min-width:1181px){
  .home-mockup .home-services-ref .wrap{max-width:1180px}
}
@media (max-width:1040px) and (min-width:821px){
  .home-mockup .connected-arches .arch-link{
    background-size:168px 187px;
    height:187px;
    min-height:187px;
  }
  .home-mockup .connected-arches .arch-svg{
    width:168px;
    height:187px;
    top:-12px;
  }
  .home-mockup .connected-arches .arch-title{
    top:112px;
    left:8px;
    right:8px;
    font-size:.68rem;
  }
  .home-mockup .arch-grid.connected-arches::after{bottom:3px}
}
@media (max-width:820px){
  .home-mockup .arch-grid.connected-arches{
    grid-template-columns:repeat(3,minmax(0,1fr));
    row-gap:22px;
  }
  .home-mockup .arch-grid.connected-arches::after{display:none}
  .home-mockup .connected-arches .arch-link::after{display:none}
}
@media (max-width:560px){
  .home-mockup .arch-grid.connected-arches{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .home-mockup .connected-arches .arch-link{
    background-size:145px 162px;
    height:163px;
    min-height:163px;
  }
  .home-mockup .connected-arches .arch-svg{
    width:145px;
    height:162px;
    top:-10px;
  }
  .home-mockup .connected-arches .arch-title{
    top:98px;
    font-size:.66rem;
  }
}


/* ---------- enhanced clinical graphics ---------- */
.clinical-graphic{
  position:relative;
  overflow:hidden;
  padding:22px 22px 16px;
  background:
    radial-gradient(circle at 88% 10%,rgba(246,200,94,.16),transparent 28%),
    linear-gradient(145deg,#ffffff 0%,#fbfcfe 62%,#f2f6fa 100%);
  border:1px solid #dce5ef;
  border-radius:20px;
  box-shadow:0 14px 38px rgba(1,28,62,.10),0 2px 7px rgba(1,28,62,.05);
}
.clinical-graphic::before{
  content:"";position:absolute;left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,var(--gold) 0 34%,var(--navy) 34% 66%,var(--gold) 66% 100%);
  opacity:.9;
}
.clinical-graphic::after{
  content:"";position:absolute;width:130px;height:130px;right:-65px;bottom:-78px;
  border:1px solid rgba(201,162,39,.24);border-radius:50%;pointer-events:none;
}
.clinical-graphic svg{
  position:relative;z-index:1;border-radius:14px;
  filter:drop-shadow(0 5px 9px rgba(1,28,62,.06));
}
.clinical-graphic figcaption{
  position:relative;z-index:1;margin-top:12px;padding-top:11px;
  border-top:1px solid #e3eaf2;color:#566a82;font-size:.82rem;line-height:1.5;
}
.clinical-graphic svg text{font-family:var(--sans)!important;letter-spacing:.01em}
.clinical-graphic svg [fill="#6B7A87"],
.clinical-graphic svg [fill="#6b7a87"]{fill:#496079!important}
.clinical-graphic svg [stroke="#B7C3C6"],
.clinical-graphic svg [stroke="#b7c3c6"]{stroke:#b7c9dc!important}
.clinical-graphic svg [fill="#B7C3C6"],
.clinical-graphic svg [fill="#b7c3c6"]{fill:#c6d4e2!important}
.clinical-graphic svg [fill="#8FA9A4"]{fill:#9fb8d2!important}
.clinical-graphic svg [fill="#5C9188"]{fill:#5f86ad!important}
.clinical-graphic svg [stroke="#C33"]{stroke:#b84d45!important}
.clinical-graphic svg [fill="#C33"]{fill:#b84d45!important}

.hero-grid > .clinical-graphic,
.two > .clinical-graphic,
.two-wide > .clinical-graphic{
  padding:26px 26px 18px;
}
.option .clinical-graphic{
  padding:16px 16px 12px;
  border-radius:16px;
  box-shadow:0 9px 24px rgba(1,28,62,.09);
}
.recommended .clinical-graphic{
  background:linear-gradient(145deg,#f9fbfd,#eef3f8);
  border-color:rgba(246,200,94,.65);
}
.band-ink .clinical-graphic{
  background:linear-gradient(145deg,#fff,#f3f7fb);
  color:var(--navy);
}
@media(max-width:700px){
  .clinical-graphic{padding:16px 14px 12px;border-radius:15px}
  .hero-grid > .clinical-graphic,.two > .clinical-graphic,.two-wide > .clinical-graphic{padding:18px 16px 14px}
}


/* ===== Home page: Why Arch Dental section + light doctor section ===== */
.home-mockup .why-arch-ref{
  background:var(--navy);
  color:#fff;
  padding:70px 0 68px;
}
.home-mockup .why-arch-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.92fr);
  gap:78px;
  align-items:start;
}
.home-mockup .why-arch-ref .eyebrow{
  color:var(--gold);
  font-weight:600;
  letter-spacing:.29em;
  text-transform:uppercase;
  font-size:.76rem;
}
.home-mockup .why-arch-copy h2{
  color:#fff;
  font-size:clamp(2.6rem,4.6vw,4.6rem);
  line-height:1.06;
  font-weight:500;
  margin:26px 0 20px;
  max-width:800px;
}
.home-mockup .why-arch-copy .mini-gold-rule{
  width:72px;
  margin:0 0 28px;
}
.home-mockup .why-arch-copy p,
.home-mockup .why-arch-point p{
  color:#c6cfdb;
  font-size:1.08rem;
  line-height:1.62;
}
.home-mockup .why-arch-copy p{margin:0 0 24px}
.home-mockup .why-arch-btn{
  margin-top:12px;
  background:var(--gold);
  border-color:var(--gold);
  color:var(--navy);
  text-transform:uppercase;
  letter-spacing:.10em;
  font-weight:700;
}
.home-mockup .why-arch-points{padding-top:20px}
.home-mockup .why-arch-point{
  padding:0 0 30px;
  margin:0 0 30px;
  border-bottom:1px solid rgba(255,255,255,.22);
}
.home-mockup .why-arch-point:last-child{margin-bottom:0;border-bottom:0;padding-bottom:0}
.home-mockup .why-arch-point h3{
  color:#fff;
  font-family:var(--display);
  font-size:1.75rem;
  line-height:1.2;
  font-weight:500;
  margin:0 0 10px;
}
.home-mockup .why-arch-point p{margin:0}

.home-mockup .doctor-ref-light{
  background:#fbfaf6;
  color:var(--navy);
  padding-top:14px;
}
.home-mockup .doctor-ref-light .doctor-copy h2{color:var(--navy)}
.home-mockup .doctor-ref-light .doctor-copy .eyebrow{color:var(--gold-deep)}
.home-mockup .doctor-ref-light .doctor-lede{color:var(--navy)}
.home-mockup .doctor-ref-light .doctor-quote{border-left-color:rgba(1,28,62,.34)}
.home-mockup .doctor-ref-light .doctor-quote p{color:var(--navy)}
.home-mockup .doctor-ref-light .doctor-quote cite{color:var(--navy)}
.home-mockup .doctor-ref-light .quote-mark{color:var(--gold-deep)}
.home-mockup .doctor-ref-light .quote-rule{background:var(--gold-deep)}

@media(max-width:900px){
  .home-mockup .why-arch-ref{padding:54px 0}
  .home-mockup .why-arch-grid{grid-template-columns:1fr;gap:42px}
  .home-mockup .why-arch-points{padding-top:0}
}
@media(max-width:560px){
  .home-mockup .why-arch-copy h2{font-size:2.45rem}
  .home-mockup .why-arch-copy p,.home-mockup .why-arch-point p{font-size:1rem}
  .home-mockup .why-arch-point h3{font-size:1.5rem}
  .home-mockup .doctor-ref-light .doctor-quote{border-left:0;border-top:1px solid rgba(1,28,62,.28)}
}


/* ---------- button legibility inside dark bands ----------
   `.band-ink a{color:var(--gold)}` was out-specifying `.btn`,
   leaving gold text on a gold button until hover. ---------- */
.band-ink a.btn,
.band-ink .cta-row a.btn,
.recommended a.btn{ color:var(--navy); }
.band-ink a.btn:hover,
.recommended a.btn:hover{ color:var(--navy); }
.band-ink a.btn-ghost{ color:#fff; }
.band-ink a.btn-ghost:hover{ color:var(--navy); }
.band-ink a.btn-alert,
.band-ink .cta-row a.btn-alert,
.band-ink a.btn-alert:hover,
.band-ink .cta-row a.btn-alert:hover{ color:#fff; }

/* ---------- Home arches, phones only ----------
   Two columns on phones. General Dentistry leads on its own centred row,
   and the remaining four pair up two-by-two beneath it. */
@media (max-width:560px){
  .home-mockup .connected-arches .arch-link.arch-lead{
    order:-1;
    grid-column:1 / -1;
    justify-self:center;
    width:50%;
  }
}

/* Keep a value such as a time range or phone number on one line. */
.nb{white-space:nowrap}

/* Social icons (official Instagram glyph). Replace href="#instagram" with the account URL once it exists. */
a.social-circle{text-decoration:none;color:var(--navy);transition:background .2s ease}
.social-circle svg{width:15px;height:15px;fill:currentColor;display:block}
footer a.social-circle:hover,.mockup-footer a.social-circle:hover{background:#fff;color:var(--navy)}

/* Phone: keep the navy "recommended" card inside the 20px page gutter (was bleeding 10px off-screen). */
@media(max-width:560px){.recommended{margin:0 -20px;padding-left:20px;padding-right:20px}}

.fixed-arch-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:38px}
.fixed-arch-results img{display:block;width:100%;height:auto;aspect-ratio:1400/842;object-fit:contain;background:#000}
@media(max-width:760px){.fixed-arch-results{grid-template-columns:1fr;gap:16px;margin-top:30px}}

/* SEO: text for screen readers and crawlers that matches the visible meaning */
.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}
