/* Dental State/City v2: shared site-shell width, sticky contents, reading progress and folded secondary sections. */
.dl2-shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;align-items:start}
.dl2-main{min-width:0}
.dl2-toc{position:sticky;top:calc(var(--header-height) + 18px);padding-top:8px}
.dl2-toc-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 4px 0 12px}
.dl2-toc-head span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted-text)}
.dl2-toc-head small{font-size:11.5px;color:var(--color-muted-text)}
.dl2-toc-progress{height:3px;margin:8px 4px 12px 12px;border-radius:3px;background:var(--color-border);overflow:hidden}
.dl2-toc-progress span{display:block;width:0;height:100%;border-radius:3px;background:var(--color-secondary);transition:width .15s}
.dl2-toc ol{display:grid;gap:1px;margin:0;padding:0;list-style:none;counter-reset:dl2}
.dl2-toc ol a{display:flex;gap:10px;padding:7px 12px;border-left:2px solid transparent;border-radius:0 10px 10px 0;color:var(--color-text);font-size:13px;line-height:1.35;text-decoration:none}
.dl2-toc ol a::before{counter-increment:dl2;content:counter(dl2,decimal-leading-zero);flex:none;width:18px;font-size:11px;font-weight:700;line-height:1.6;color:var(--color-muted-text)}
.dl2-toc ol a:hover{background:var(--color-surface-soft)}
.dl2-toc ol a[aria-current]{border-left-color:var(--color-secondary);background:color-mix(in srgb,var(--color-secondary) 9%,var(--color-surface));color:var(--color-secondary);font-weight:650}
.dl2-toc-call{display:grid;gap:6px;margin:18px 4px 0 12px;padding:16px;border:1px solid var(--color-border);border-radius:16px;background:color-mix(in srgb,var(--color-secondary) 6%,var(--color-surface))}
.dl2-toc-call strong{font-size:14px}
.dl2-toc-call span{font-size:12px;color:var(--color-muted-text)}
.dl2-toc-call .btn{justify-content:center;gap:8px;margin-top:4px;white-space:nowrap}
.dl2-call-icon{width:16px;height:16px}
.dl2-toc-call small{font-size:10.5px;line-height:1.45;color:var(--color-muted-text)}
.dl2-shell .dental-city-guide-nav{display:none}
/* Folded secondary sections read as a compact accordion list rather than full-size section headings. */
.dl2-shell .dental-city-guide>h2.dl2-folded{grid-template-columns:30px minmax(0,1fr) auto;align-items:center;margin:0;padding:14px 0;font-size:17px;cursor:pointer}
.dl2-shell .dental-city-guide>h2.dl2-folded .dental-city-heading-icon{width:30px;height:30px;margin-top:0;border-radius:9px}
.dl2-shell .dental-city-guide>h2.dl2-folded .dental-city-heading-icon svg{width:16px;height:16px}
.dl2-shell .dental-city-guide>:not(.dl2-fold-body)+h2.dl2-folded{margin-top:36px}
.dl2-fold-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-secondary);font:inherit;font-size:12.5px;font-weight:650;letter-spacing:0;cursor:pointer}
.dl2-fold-toggle span{display:inline-block;font-size:15px;line-height:1;transition:transform .15s}
.dl2-fold-toggle[aria-expanded="true"] span{transform:rotate(45deg)}
.dl2-shell .dental-city-guide>.dl2-fold-body{padding:2px 0 18px 42px}
.dl2-fold-body[hidden]{display:none}
@media(max-height:900px){.dl2-toc-call{display:none}}
@media(max-width:1180px){.dl2-shell{grid-template-columns:minmax(0,1fr)}.dl2-toc{display:none}.dl2-shell .dental-city-guide-nav{display:revert}}
/* Guide body readability: paragraph measure, sub-heading accent, links, balanced card grids. */
.dl2-shell .dental-city-guide>p{max-width:84ch;font-size:15px;line-height:1.75}
.dl2-shell .dental-city-guide>h3{display:flex;align-items:center;gap:10px;margin:28px 0 12px;font-size:17px}
.dl2-shell .dental-city-guide>h3::before{content:"";flex:none;width:4px;height:18px;border-radius:2px;background:var(--color-secondary)}
.dl2-shell .dental-city-guide a:not(.btn){color:var(--color-secondary);text-decoration-color:color-mix(in srgb,var(--color-secondary) 40%,transparent);text-underline-offset:3px}
.dl2-shell .dental-city-guide-grid{gap:14px}
.dl2-shell .dental-city-guide-grid>article:last-child:nth-child(odd),.dl2-shell .dental-city-guide-checklist>li:last-child:nth-child(odd){grid-column:1/-1}
.dl2-shell .dental-city-guide-grid article{min-height:0}
.dl2-shell .dental-city-guide-grid article p{font-size:14px;line-height:1.65}
/* Provider listing cards */
.dl2-shell .dl2-provider .dl2-provider-address{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;font-weight:650;color:var(--color-text)}
.dl2-provider-address svg{flex:none;width:17px;height:17px;margin-top:2px;color:var(--color-secondary)}
.dl2-shell .dl2-provider .dl2-provider-note{margin-top:8px;color:var(--color-muted-text)}
.dl2-provider-actions{grid-column:1/-1;align-self:end;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--color-border)}
.dl2-shell .dental-city-guide a.dl2-provider-call{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--color-secondary);color:#fff;font-size:13.5px;font-weight:700;text-decoration:none}
.dl2-provider-call svg{width:16px;height:16px}
.dl2-provider-call span{font-weight:500;opacity:.85}
.dl2-shell .dental-city-guide .dl2-provider-link{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font-size:12.5px;font-weight:600;text-decoration:none}
.dl2-provider-link svg{width:13px;height:13px}
.dl2-shell .dental-city-guide .dl2-provider-link:hover{border-color:var(--color-secondary)}
/* "Label: text" note card as a list */
.dl2-note-list{grid-column:1/-1;display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none;font-size:14px;line-height:1.6}
.dl2-note-list li{padding-left:12px;border-left:3px solid color-mix(in srgb,var(--color-secondary) 40%,var(--color-border))}
.dl2-note-list strong{display:block;color:var(--color-text)}
/* Hospital-ER warning */
.dl2-callout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;margin:4px 0 22px;padding:18px 20px;border:1px solid color-mix(in srgb,#dc2626 30%,var(--color-border));border-radius:16px;background:color-mix(in srgb,#dc2626 6%,var(--color-surface))}
.dl2-callout-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#dc2626;color:#fff}
.dl2-callout-icon svg{width:20px;height:20px}
.dl2-callout p{margin:0 0 8px;font-size:15px;line-height:1.7}
.dl2-callout p:last-child{margin-bottom:0}
@media(max-width:760px){.dl2-shell .dental-city-guide-grid>article:last-child:nth-child(odd),.dl2-shell .dental-city-guide-checklist>li:last-child:nth-child(odd){grid-column:auto}}
/* Guide topic tabs: one-line segmented bar; when stuck under the header it keeps a full-width background. */
.dl2-tabs{top:var(--header-height);z-index:8;display:flex;gap:4px;width:100%;margin:32px 0 8px;padding:5px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-shadow:0 10px 24px -22px rgba(3,20,58,.5);overflow-x:auto;scrollbar-width:none}
.dl2-tabs::-webkit-scrollbar{display:none}
.dl2-tabs button{display:inline-flex;flex:1 0 auto;align-items:center;justify-content:center;gap:8px;padding:9px 14px;border:0;border-radius:10px;background:none;color:var(--color-text);font:inherit;font-size:14px;font-weight:650;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s}
.dl2-tabs button:hover{background:var(--color-surface-soft)}
.dl2-tabs button[aria-pressed="true"]{background:var(--color-secondary);color:#fff}
.dl2-tabs small{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--color-surface-soft);color:var(--color-muted-text);font-size:11.5px;font-weight:700}
.dl2-tabs button[aria-pressed="true"] small{background:rgba(255,255,255,.22);color:#fff}
.dl2-tabs button:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}
.dl2-shell .dental-city-guide>.dl2-off{display:none}
.dl2-shell .dental-city-guide>.dl2-tabs+h2,.dl2-shell .dental-city-guide>.dl2-tabs~.dl2-off+h2:not(.dl2-off){margin-top:8px}
/* Phones: keep all care options discoverable in a vertical reading flow. */
@media(max-width:760px){
  .dl2-tabs button{padding:8px 12px;font-size:13.5px}
  .dl2-shell .dental-city-guide-grid,.dl2-shell .dental-city-guide-checklist{grid-template-columns:minmax(0,1fr);gap:12px}
}
.dl2-takeaway{display:grid;gap:10px;margin:12px 0 16px;padding:0;list-style:none;font-size:14px;line-height:1.65}
.dl2-takeaway>li{display:flex;gap:10px;align-items:flex-start}
.dl2-takeaway .dental-city-check-icon{flex:none}
.dl2-answer{margin:0 0 10px;padding:0 18px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}
.dl2-shell .dental-city-guide-grid article>.dl2-answer{grid-column:1/-1;margin-top:14px}
.dl2-answer>summary{padding:15px 0;cursor:pointer;color:var(--color-text);font-size:15px;line-height:1.5;font-weight:650}
.dl2-answer>summary:focus-visible{outline:2px solid var(--color-ring);outline-offset:3px}
.dl2-answer[open]>summary{margin-bottom:12px;border-bottom:1px solid var(--color-border)}
.dl2-answer>p,.dl2-answer>ul,.dl2-answer>ol{font-size:14px;line-height:1.7;margin:0 0 16px}
@media(min-width:1181px){.dl2-tabs{position:sticky}}
