/* An Admiry industry site's stylesheet (A3p-6 batch 1 Q5, Q18; agent/sites/render.py `css`), rendered from the
   style's tokens. Phone first; tablet 768-1023 px; desktop 1024 px and up (blueprint §6). No motion. */
@font-face{font-family:"Archivo";src:url(fonts/archivo-variable-f12fa86f.woff2) format("woff2");font-weight:600 800;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url(fonts/publicsans-variable-a83fa0a4.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
:root{
--ground:#FFFFFF;--ink:#14213D;--text:#1F2937;--muted:#4B5563;--subtle:#4B5563;
--line:#E5E7EB;--line-alt:#D5DBE5;--tint:#F3F5F8;--tint2:#E3E8F1;
--dark:#14213D;--dark-card:#14213D;--on-dark:#E3E8F1;--photo:#D9E0EA;
--accent:#C2410C;--on-accent:#FFFFFF;--eyebrow-dark:#E3E8F1;--r-button:6px;--r-card:8px;--r-image:10px;--r-pill:999px;
--r-field:6px;
--display:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
--body:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
--bar:56px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.55;padding-bottom:calc(var(--bar) + env(safe-area-inset-bottom))}
img{display:block;max-width:100%;height:auto}
a{color:var(--ink);text-underline-offset:.15em}
h1,h2,h3{font-family:var(--display);color:var(--ink);line-height:1.15;margin:0 0 .6em;font-weight:700}
h1{font-size:2.1rem}
h2{font-size:1.6rem}
h3{font-size:1.15rem}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.on-dark :focus-visible,.hero--dark-split :focus-visible,.cta :focus-visible,.footer :focus-visible,.topbar :focus-visible{outline-color:var(--on-dark)}
.wrap{width:100%;max-width:72rem;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:8px;top:-100px;z-index:50;padding:12px 16px;background:var(--ink);color:var(--ground);border-radius:var(--r-button)}
.skip:focus{top:8px}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:48px;padding:.7rem 1.25rem;border-radius:var(--r-button);border:2px solid transparent;font:inherit;font-weight:700;line-height:1.2;text-decoration:none;text-align:center;cursor:pointer}
.btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.btn-secondary{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-secondary.on-dark{color:var(--ground);border-color:var(--on-dark)}
.btn-call{background:var(--ink);color:var(--ground);border-color:var(--ink)}
.btn .num{font-weight:600}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:1.25rem 0 0}
.actions .btn{flex:1 1 14rem}
.actions .btn-primary{flex-direction:column;gap:0}
.actions .btn-primary .num{font-size:.92em}
/* top bar, header, menu */
.topbar{display:none;background:var(--dark);color:var(--on-dark);font-size:.9rem}
.topbar-in{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center;justify-content:space-between;min-height:40px;padding-top:4px;padding-bottom:4px}
.topbar a{color:var(--on-dark);font-weight:700;display:inline-flex;align-items:center;min-height:44px}
.topbar-hours{display:none}
.header{position:sticky;top:0;z-index:20;background:var(--ground);border-bottom:1px solid var(--line-alt)}
.header-in{display:flex;align-items:center;gap:12px;min-height:64px}
.brand{font-family:var(--display);font-weight:800;font-size:1.2rem;color:var(--ink);text-decoration:none;line-height:1.1;margin:0}
.header .brand{margin-right:auto;display:inline-flex;align-items:center;min-height:44px}
.brand-logo{height:40px;width:auto;max-width:200px;object-fit:contain;display:block}
.brand-logo{min-width:0}
.header .brand:has(.brand-logo){min-width:0}
.nav-wide{display:none}
.header-actions{display:flex;gap:8px}
.header-actions .btn{min-height:48px;padding:.5rem .9rem}
.header-actions .num,.header-quote{display:none}
.menu{position:static}
.menu summary{list-style:none;display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:.5rem .8rem;border:2px solid var(--ink);border-radius:var(--r-button);font-weight:700;color:var(--ink);cursor:pointer}
.menu summary::-webkit-details-marker{display:none}
.menu[open] summary{background:var(--ink);color:var(--ground)}
.menu-panel{position:absolute;left:0;right:0;top:100%;max-height:calc(100vh - 64px);overflow:auto;background:var(--ground);border-bottom:1px solid var(--line-alt);padding:16px 16px 24px;box-shadow:0 12px 24px rgba(0,0,0,.12)}
.menu-actions{display:grid;gap:10px;margin:0 0 12px}
.menu-panel nav a{display:flex;align-items:center;min-height:48px;padding:0 4px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--line-alt)}
.menu-panel nav ul ul a{font-weight:500;padding-left:20px}
.menu-panel .hours{margin-top:12px;color:var(--subtle);font-size:.95rem}
body:has(.menu[open]){overflow:hidden}
/* the hero */
.hero{padding:28px 0 32px;background:var(--ground)}
.hero--split-tinted{background:var(--tint)}
.hero--dark-split{background:var(--dark);color:var(--on-dark)}
.hero--dark-split h1{color:var(--ground)}
.hero--dark-split .eyebrow{color:var(--eyebrow-dark)}
.hero--dark-split .lead,.hero--dark-split .lead-more{color:var(--on-dark)}
.hero--dark-split .badge{background:var(--dark-card);color:var(--on-dark);border-color:var(--on-dark)}
.hero--dark-split .btn-secondary{color:var(--ground);border-color:var(--on-dark)}
.hero--centred .hero-copy{text-align:center;margin:0 auto;max-width:44rem}
.hero--centred .actions{justify-content:center}
.hero-in{display:grid;gap:24px}
.eyebrow{font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);margin:0 0 .6rem}
.lead{font-size:1.15rem;color:var(--text);max-width:36rem}
.lead-more{color:var(--text);max-width:36rem}
.badge{display:inline-flex;align-items:center;gap:8px;margin:0 0 .9rem;padding:.3rem .8rem;border:1px solid var(--line);border-radius:var(--r-pill,999px);background:var(--ground);color:var(--ink);font-size:.9rem;font-weight:700}
.photo{position:relative;margin:0;border-radius:var(--r-image);overflow:hidden;background:var(--photo)}
.photo img{width:100%;height:100%;object-fit:cover}
.photo-hero{aspect-ratio:4/3}
.photo-label{position:absolute;left:10px;top:10px;padding:4px 10px;border-radius:999px;background:rgba(17,20,24,.82);color:#FFFFFF;font-family:var(--body);font-size:12px;font-weight:600;line-height:1.4;letter-spacing:0;text-transform:none}
/* sections */
section{padding:44px 0}
.section-lead{color:var(--text);max-width:40rem;margin-top:-.2em}
.emergency{padding:16px 0;background:var(--accent);color:var(--on-accent)}
.emergency-in{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.emergency p{margin:0;font-weight:700}
.emergency .btn{background:var(--on-accent);color:var(--accent);border-color:var(--on-accent)}
.trust{padding:16px 0;border-bottom:1px solid var(--line-alt)}
.trust-list{display:flex;flex-wrap:wrap;gap:10px}
.trust-list li{display:inline-flex;align-items:baseline;gap:.3em;color:var(--ink)}
.trust--pills li{padding:.45rem .9rem;border-radius:var(--r-pill,999px);background:var(--ground);border:1px solid var(--line-alt);font-size:.95rem}
.trust--pills{background:var(--tint)}
.trust--stats{padding:24px 0}
.trust--stats .trust-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.trust--stats li{display:block;padding:14px;border:1px solid var(--line);border-radius:var(--r-card)}
.trust--stats strong{display:block;font-family:var(--display);font-size:1.35rem;line-height:1.2}
.trust--band{background:var(--accent);border:0}
.trust--band li{color:var(--on-accent);font-weight:700}
.trust--band .trust-list{gap:8px 22px}
.trust--band li::before{content:"";align-self:center;width:6px;height:6px;margin-right:4px;background:var(--on-accent)}
.picker{background:var(--tint)}
.picker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.picker a{display:flex;align-items:center;min-height:56px;height:100%;padding:12px 14px;border:1px solid var(--line-alt);border-radius:var(--r-card);background:var(--ground);color:var(--ink);font-weight:700;text-decoration:none}
.cards{display:grid;gap:16px}
.card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line-alt);border-radius:var(--r-card);overflow:hidden;background:var(--ground)}
.card .photo{border-radius:0;aspect-ratio:3/2}
.card-body{padding:16px 18px 18px}
.card-body p{margin:0;color:var(--text)}
.card h3{margin-bottom:.35em}
.card-link{text-decoration:none}
.card-link::after{content:"";position:absolute;inset:0}
.card-link:focus-visible{outline:none}
.card:has(.card-link:focus-visible){outline:3px solid var(--ink);outline-offset:3px}
.why{background:var(--tint)}
.why-in,.story-in,.area-in{display:grid;gap:24px}
.checks li{position:relative;padding:.35rem 0 .35rem 1.9rem}
.checks li::before{content:"";position:absolute;left:0;top:.6rem;width:1.1rem;height:1.1rem;border-radius:var(--r-pill,999px);background:var(--accent)}
.checks li::after{content:"";position:absolute;left:.38rem;top:.82rem;width:.32rem;height:.55rem;border:solid var(--on-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}
.checks--grid{display:grid;gap:4px 24px}
.callout{margin:1.2rem 0 0;padding:14px 16px;border-left:4px solid var(--accent);background:var(--ground);color:var(--ink);font-weight:700}
.reviews.on-dark{background:var(--dark);color:var(--on-dark)}
.reviews.on-dark h2{color:var(--ground)}
.reviews.on-dark .review{background:var(--dark-card);border-color:var(--dark-card)}
.reviews.on-dark blockquote,.reviews.on-dark .who,.reviews.on-dark a{color:var(--on-dark)}
.review-list{display:grid;gap:16px}
.review{padding:20px;border:1px solid var(--line-alt);border-radius:var(--r-card);background:var(--ground)}
.review blockquote{margin:0;color:var(--ink);font-size:1.05rem}
.review blockquote p{margin:0 0 .8em}
.who{margin:0;color:var(--subtle);font-size:.95rem;font-weight:600}
.more{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gallery .photo{aspect-ratio:1/1}
.how{background:var(--tint)}
.steps{display:grid;gap:16px;counter-reset:step}
.steps li{position:relative;padding:18px 18px 18px 64px;border-radius:var(--r-card);background:var(--ground);border:1px solid var(--line-alt);counter-increment:step}
.steps li::before{content:counter(step);position:absolute;left:18px;top:16px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-pill,999px);background:var(--ink);color:var(--ground);font-family:var(--display);font-weight:800}
.steps p{margin:0}
.steps h3{margin-bottom:.3em}
.towns{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.towns li{padding:.35rem .8rem;border-radius:var(--r-pill,999px);background:var(--tint2);color:var(--ink);font-size:.95rem}
.hours li{padding:.2rem 0}
.area-hours{padding:18px;border:1px solid var(--line-alt);border-radius:var(--r-card)}
.faq-list details,.faq-inline details{border-bottom:1px solid var(--line-alt)}
details summary{cursor:pointer}
.faq-list summary,.faq-inline summary{display:flex;align-items:center;min-height:56px;padding:12px 0;font-weight:700;color:var(--ink)}
.faq-list details p,.faq-inline details p{margin:0 0 16px}
.cta{background:var(--dark);color:var(--on-dark)}
.cta h2{color:var(--ground)}
.cta-in{display:grid;gap:8px}
.cta .btn-secondary{color:var(--ground);border-color:var(--on-dark)}
/* the services page and a service page */
.svc-block{display:grid;gap:16px;padding:24px 0;border-bottom:1px solid var(--line-alt)}
.svc-block:first-child{padding-top:0}
.svc-block .photo{aspect-ratio:3/2}
.price{font-weight:700;color:var(--ink)}
.notes{display:grid;gap:8px}
.notes li{padding:12px 16px;border-radius:var(--r-card);background:var(--tint);color:var(--ink);font-weight:600}
.terms-notes{padding:24px 0}
.crumbs{padding-top:14px;padding-bottom:0;font-size:.9rem}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--subtle)}
.crumbs li{display:flex;align-items:center}
.crumbs li+li::before{content:"/";margin-right:6px}
.crumbs a{display:inline-flex;align-items:center;min-height:44px}
.svc-layout{display:grid;gap:32px;padding-top:36px;padding-bottom:16px}
.svc-main section{padding:0 0 28px}
.svc-main .notes{margin:0 0 28px}
.steps--narrow{gap:12px}
.related-list{display:grid;gap:8px}
.related-list a{display:flex;align-items:center;min-height:48px;padding:0 14px;border:1px solid var(--line-alt);border-radius:var(--r-card);font-weight:700;text-decoration:none}
/* the contact page and the form */
.ways-in{display:grid;gap:16px}
.way{padding:20px;border:1px solid var(--line-alt);border-radius:var(--r-card)}
.way h2{font-size:1.2rem}
.big-phone{display:inline-flex;align-items:center;min-height:48px;font-family:var(--display);font-size:1.5rem;font-weight:800;text-decoration:none}
.form-wrap{padding-bottom:44px}
.request{padding:24px 20px;border-radius:var(--r-card);background:var(--tint);border:1px solid var(--line-alt)}
.request form{display:grid;gap:6px}
.request label{font-weight:700;color:var(--ink);margin-top:8px}
.request input,.request select{font:inherit;font-size:16px;width:100%;min-height:48px;padding:.6rem .8rem;border:1px solid var(--line-alt);border-radius:var(--r-field);background:var(--ground);color:var(--ink)}
.request input:focus-visible,.request select:focus-visible{outline:3px solid var(--ink);outline-offset:1px}
.request .btn{margin-top:14px;width:100%}
.note,.small{color:var(--subtle);font-size:.95rem;margin:.6rem 0 0}
.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.missing{padding:72px 0 96px}
/* footer and the phone bar */
.footer{background:var(--dark);color:var(--on-dark);padding:40px 0 32px;font-size:.95rem}
.footer a{color:var(--on-dark)}
.footer .brand{color:var(--ground);margin-bottom:.5rem}
.footer-in{display:grid;gap:24px}
.footer p{margin:0 0 .4rem}
.footer-links a,.footer-call{display:inline-flex;align-items:center;min-height:44px}
.footer .hours{color:var(--on-dark)}
.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1fr;gap:8px;height:calc(var(--bar) + env(safe-area-inset-bottom));padding:4px 8px calc(4px + env(safe-area-inset-bottom));background:var(--ground);border-top:1px solid var(--line-alt);box-shadow:0 -4px 16px rgba(0,0,0,.08)}
.actionbar .btn{min-height:48px;height:48px}
.typing .actionbar,body:has(.menu[open]) .actionbar{display:none}
/* the dental home's modules */
.checks+.notes{margin-top:16px}
.new-patients .actions .btn{flex:0 1 auto}
.office .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.office .gallery .photo{aspect-ratio:3/2}
.page-home .form-wrap .request{max-width:44rem;margin:0 auto}
@media (max-width:767px){
.hero h1{font-size:2rem}
.actions .btn{flex-basis:100%}
.photo-hero{aspect-ratio:3/2}
.cards .card{flex-direction:row;align-items:stretch}
.cards .card .photo{flex:none;width:104px;aspect-ratio:auto;min-height:104px}
.cards .card-body{padding:14px 16px}
.cards .card h3{font-size:1.05rem}
.cards .card p{font-size:.95rem}
.cards .card .photo-label{left:6px;top:6px;right:6px;padding:2px 6px;border-radius:6px;font-size:11px;text-align:center}
}
@media (min-width:768px) and (max-width:1023px){
.cards,.review-list,.ways-in{grid-template-columns:repeat(2,minmax(0,1fr))}
.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
.footer-in{grid-template-columns:repeat(2,minmax(0,1fr))}
.picker-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.svc-block{grid-template-columns:2fr 3fr;align-items:start}
.photo-hero{aspect-ratio:16/9}
}
@media (min-width:768px){
h1{font-size:2.6rem}
h2{font-size:1.9rem}
section{padding:64px 0}
.trust--stats .trust-list{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}
.header-actions .header-quote{display:inline-flex}
.topbar{display:block}
.topbar-hours{display:inline}
.checks--grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1024px){
body{padding-bottom:0}
.actionbar,.menu{display:none}
.nav-wide{display:block}
.nav-wide ul{display:flex;gap:4px}
.nav-wide a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-weight:600;text-decoration:none;border-radius:var(--r-button)}
.nav-wide a[aria-current]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.4em}
.header .brand{margin-right:24px}
.nav-wide{margin-right:auto}
.header-actions .num{display:inline}
.header-in{min-height:76px}
.brand-logo{height:48px}
h1{font-size:3.1rem}
.hero{padding:56px 0 64px}
.hero-in{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:48px}
.hero-in.hero-solo{grid-template-columns:minmax(0,1fr)}
.hero--centred .hero-in{grid-template-columns:minmax(0,1fr)}
.cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.review-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
.why-in,.story-in{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start}
.area-in{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}
.faq-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px}
.cta-in{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:32px}
.picker-list{grid-template-columns:repeat(5,minmax(0,1fr))}
.svc-block{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:32px;align-items:start}
.svc-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px;align-items:start}
.svc-side{position:sticky;top:96px}
.ways-in{grid-template-columns:repeat(3,minmax(0,1fr))}
.footer-in{grid-template-columns:1.4fr 1fr 1fr 1fr}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}