.shen-service-page{background:#fff;color:var(--ink)}
.shen-service-page .shen-site-header{position:sticky;top:0;z-index:100}
.shen-service-page .shen-nav-links a.active{color:var(--teal-dark)}
.service-index-hero{padding:94px 0 46px;background:linear-gradient(180deg,var(--bg),#fff)}
.service-index-hero-inner{max-width:760px;text-align:center}
.service-index-hero h1,.service-detail-hero h1{font-family:Fraunces,Georgia,serif;color:var(--ink);letter-spacing:-.035em}
.service-index-hero h1{font-size:clamp(42px,6vw,66px);line-height:1.02;margin:12px 0 18px}
.service-index-hero p{font-size:18px;line-height:1.75;color:var(--ink-soft);margin:0 auto;max-width:720px}
.service-index-grid-section{padding:34px 0 88px;background:#fff}
.service-index-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.service-index-card{display:block;padding:30px;border:1px solid var(--line,#DBDBD8);border-radius:22px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 8px 28px rgba(18,43,41,.045);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.service-index-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(18,43,41,.09);border-color:rgba(37,177,180,.4)}
.service-index-icon{width:52px;height:52px;border-radius:15px;background:var(--mint);color:var(--teal-dark);display:flex;align-items:center;justify-content:center;overflow:hidden}
.service-index-icon.has-image img,.service-index-icon img{width:100%;height:100%;object-fit:cover}
.service-index-card h2{font-family:Fraunces,Georgia,serif;font-size:28px;line-height:1.15;margin:18px 0 9px;color:var(--ink)}
.service-index-card p{font-size:15px;line-height:1.7;color:var(--ink-soft);margin:0;max-width:580px}
.service-index-card>span{display:inline-flex;align-items:center;gap:4px;margin-top:22px;color:var(--teal-dark);font-weight:700;font-size:14px}
.service-index-card:hover>span svg{transform:translateX(3px)}.service-index-card>span svg{transition:transform .2s ease}
.service-help-cta{padding:0 0 84px;background:#fff}.service-help-card{background:var(--teal);border-radius:28px;padding:54px;text-align:center;color:#fff}.service-help-card h2{font-family:Fraunces,Georgia,serif;font-size:clamp(34px,4vw,48px);margin:0 0 12px;color:#fff}.service-help-card p{font-size:17px;line-height:1.7;max-width:660px;margin:0 auto;color:rgba(255,255,255,.88)}.service-help-actions{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:28px}.service-help-phone{color:#fff;text-decoration:none;font-weight:700}
.service-detail-hero{padding:76px 0 70px;background:var(--bg)}.service-detail-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:58px;align-items:center}.service-breadcrumb{display:inline-block;margin-bottom:24px;color:var(--teal-dark);font-weight:700;text-decoration:none;font-size:14px}.service-detail-hero .eyebrow{display:block}.service-detail-hero h1{font-size:clamp(42px,5vw,64px);line-height:1.02;margin:12px 0 20px}.service-detail-intro{font-size:18px;line-height:1.75;color:var(--ink-soft);max-width:680px}.service-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.service-detail-visual{min-height:430px;border-radius:28px;background:var(--mint);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--teal-dark);padding:36px;overflow:hidden}.service-detail-visual.has-image{padding:0}.service-detail-visual.has-image img{width:100%;height:100%;min-height:430px;object-fit:cover}.service-detail-icon{width:88px;height:88px;border-radius:24px;background:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:18px;box-shadow:0 12px 30px rgba(18,43,41,.08)}.service-detail-icon svg{width:44px;height:44px}.service-detail-visual>span{font-size:14px;max-width:260px;line-height:1.55}
.service-detail-main{padding:84px 0}.service-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;align-items:start}.service-editor-content{font-size:17px;line-height:1.8;color:var(--ink-soft)}.service-editor-content h2,.service-editor-content h3{font-family:Fraunces,Georgia,serif;color:var(--ink);letter-spacing:-.02em}.service-editor-content h2{font-size:36px;line-height:1.15;margin:46px 0 16px}.service-editor-content h2:first-child{margin-top:0}.service-editor-content h3{font-size:25px;margin:32px 0 10px}.service-editor-content p{margin:0 0 20px}.service-editor-content ul{margin:16px 0 28px;padding-left:0;list-style:none;display:grid;gap:10px}.service-editor-content li{position:relative;padding-left:30px}.service-editor-content li:before{content:'✓';position:absolute;left:0;top:0;color:var(--teal-dark);font-weight:800}.service-editor-content a{color:var(--teal-dark)}
.service-sidebar{display:grid;gap:18px;position:sticky;top:110px}.service-sidebar-card,.service-emergency-card{border-radius:22px;padding:28px}.service-sidebar-card{background:var(--bg);border:1px solid var(--line,#DBDBD8)}.service-sidebar-card h3{font-family:Fraunces,Georgia,serif;font-size:27px;line-height:1.2;margin:10px 0 18px}.service-sidebar-card ul{list-style:none;padding:0;margin:0;display:grid;gap:11px}.service-sidebar-card li{display:grid;grid-template-columns:22px 1fr;gap:8px;font-size:14px;line-height:1.5;color:var(--ink-soft)}.service-sidebar-card li span{color:var(--teal-dark);font-weight:800}.service-sidebar-btn{width:100%;justify-content:center;margin-top:24px}.service-emergency-card{background:var(--footer-bg);color:#fff}.service-emergency-card strong{font-family:Fraunces,Georgia,serif;font-size:22px}.service-emergency-card p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.74);margin:10px 0 14px}.service-emergency-card a{color:#fff;font-weight:700;text-decoration:none}
.service-reviews{padding:82px 0;background:var(--bg)}.service-reviews .section-head{max-width:680px}.service-reviews .reviews-shell{margin-top:32px;background:#fff}
.related-services{padding:84px 0}.related-services-head{max-width:680px;margin-bottom:30px}.related-services-head h2{font-family:Fraunces,Georgia,serif;font-size:42px;line-height:1.1;margin:10px 0 0}.related-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.related-service-card{padding:25px;border:1px solid var(--line,#DBDBD8);border-radius:20px;text-decoration:none;color:var(--ink);background:#fff}.related-service-card h3{font-family:Fraunces,Georgia,serif;font-size:24px;margin:16px 0 8px}.related-service-card p{font-size:14px;line-height:1.65;color:var(--ink-soft);margin:0}.related-service-card>span{display:block;margin-top:18px;color:var(--teal-dark);font-weight:700;font-size:14px}
@media(max-width:900px){.service-index-grid,.service-detail-hero-grid,.service-detail-layout{grid-template-columns:1fr}.service-detail-layout{gap:38px}.service-sidebar{position:static}.related-service-grid{grid-template-columns:1fr}.service-detail-visual{min-height:330px}.service-detail-visual.has-image img{min-height:330px}.service-help-card{padding:42px 24px}}
@media(max-width:640px){.service-index-hero{padding-top:68px}.service-index-grid{grid-template-columns:1fr}.service-index-card{padding:24px}.service-detail-hero{padding:54px 0}.service-detail-hero h1{font-size:42px}.service-hero-actions,.service-help-actions{flex-direction:column;align-items:stretch}.service-help-actions .btn{text-align:center;justify-content:center}.service-help-phone{text-align:center}.service-editor-content h2{font-size:31px}.service-help-card{border-radius:22px}}


/* v1.2.1: Astra/browser list reset for the custom Shen Dental inner-page nav.
   Styling only — intentionally does not alter theme settings or content. */
.shen-service-page .shen-nav ul.shen-nav-links,
.shen-service-page .shen-nav .shen-nav-links {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.shen-service-page .shen-nav .shen-nav-links > li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.shen-service-page .shen-nav .shen-nav-links > li::before,
.shen-service-page .shen-nav .shen-nav-links > li::marker {
    content: none !important;
    display: none !important;
}


/* v1.2.9 — Shared inner-page visual system */
.shen-service-page .shen-site-header{
    position:relative;
    top:auto;
    background:var(--bg);
}
.shen-service-page .shen-nav-links,
.shen-service-page .shen-nav-links li{
    list-style:none!important;
    margin:0!important;
    padding:0!important;
}
.shen-service-page .shen-nav-links a,
.shen-service-page .shen-nav-links a:visited{
    color:var(--ink)!important;
    text-decoration:none;
}
.shen-service-page .shen-nav-links a:hover,
.shen-service-page .shen-nav-links a:focus,
.shen-service-page .shen-nav-links a.active,
.shen-service-page .shen-nav-links a.active:visited{
    color:var(--teal-dark)!important;
}

.shen-services-index .service-index-hero{
    padding:78px 0 72px;
    background:var(--bg);
}
.shen-services-index .service-index-hero h1{
    font-size:clamp(2.8rem,6vw,4.7rem);
    font-weight:500;
    line-height:1.05;
    letter-spacing:-.035em;
    margin:11px 0 16px;
}
.shen-services-index .service-index-hero p{
    max-width:650px;
    font-size:1.08rem;
    line-height:1.75;
}
.shen-services-index .service-index-grid-section{
    padding:76px 0 84px;
}
.shen-services-index .service-index-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
}
.shen-services-index .service-index-card{
    border-radius:24px;
    padding:30px;
    border:1px solid #e3e7e4;
    box-shadow:0 10px 34px rgba(18,43,41,.06);
}
.shen-services-index .service-index-card:hover{
    box-shadow:0 18px 44px rgba(18,43,41,.11);
}
.shen-services-index .service-index-card h2{
    font-size:1.7rem;
    font-weight:500;
}
.shen-services-index .service-help-cta{
    padding:0 0 82px;
}
.shen-services-index .service-help-card{
    background:var(--teal-dark);
    border-radius:30px;
    padding:50px 56px;
}
.shen-services-index .service-help-card h2{
    font-weight:500;
}
.shen-services-index .service-help-card p{
    color:rgba(255,255,255,.82);
}

@media(max-width:760px){
    .shen-services-index .service-index-grid{grid-template-columns:1fr}
    .shen-services-index .service-index-hero{padding:60px 0 54px}
    .shen-services-index .service-index-grid-section{padding:54px 0 64px}
    .shen-services-index .service-help-card{padding:36px 28px;border-radius:24px}
}


/* v1.2.12 — Keep service CTA phone link visible on hover/focus.
   Astra/global link hover rules were overriding the CTA link color. */
.service-help-card .service-help-phone,
.service-help-card .service-help-phone:visited{
    color:#fff !important;
    opacity:1 !important;
    visibility:visible !important;
    text-decoration:none;
}
.service-help-card .service-help-phone:hover,
.service-help-card .service-help-phone:focus,
.service-help-card .service-help-phone:active{
    color:#fff !important;
    opacity:.82 !important;
    visibility:visible !important;
    text-decoration:underline;
    text-underline-offset:4px;
}

/* v1.2.18 — Local service context */
.shen-service-local-context{padding:0 0 64px}
.shen-service-local-card{padding:34px 38px;border-radius:24px;background:var(--mint)}
.shen-service-local-card h2{margin:6px 0 10px;font-size:clamp(1.8rem,3vw,2.5rem)}
.shen-service-local-card p{max-width:780px;margin:0 0 16px;color:var(--soft);line-height:1.75}
.shen-service-local-card a{color:var(--teal-dark);font-weight:600;text-decoration:none}
.shen-service-local-card a:hover,.shen-service-local-card a:focus{text-decoration:underline}
@media(max-width:680px){.shen-service-local-card{padding:28px 24px}}
