/* D3 lower-page frame. Condition pages keep their approved stylesheet and bytes. */
[data-sub-page] {
  --sub-title-size:clamp(40px,3.6vw,52px);
  --sub-title-phone:clamp(27px,7.7vw,30px);
  --sub-square:0;
  --sub-pin-radius:50% 50% 0 50%;
  --head-fit-gap:8px;
  --head-figure-min:112px;
  color:var(--ink);
  font:var(--text-body);
  font-variant-numeric:tabular-nums;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
[data-sub-page] .page-wrap { width:100%; max-width:var(--page-max); margin-inline:auto; padding-inline:var(--gutter); }
[data-sub-page] .section-bar { padding-top:calc(var(--frame-rest-height) + var(--sp-24)); }
[data-sub-page] .section-name { display:none; }
[data-sub-page] .crumbs { display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-8); color:var(--muted); font:var(--text-caption); }
[data-sub-page] .crumbs a { display:inline-flex; align-items:center; justify-content:center; min-height:var(--tap-min); min-width:var(--tap-min); }
[data-sub-page] .crumbs [aria-hidden] { color:var(--faint); }
[data-sub-page] .crumbs [aria-current] { color:var(--ink-2); }
[data-sub-page] .section-tabs { position:static; margin-top:var(--sp-12); }
[data-sub-page] .page-head { padding-block:var(--sp-40) var(--sp-48); }
[data-sub-page] .page-head-inner { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); grid-template-areas:'copy art' 'notes art'; gap:0 var(--sp-72); align-items:center; }
[data-sub-page] .page-head-copy { grid-area:copy; min-width:0; align-self:end; }
[data-sub-page] .sub-head-notes { grid-area:notes; min-width:0; align-self:start; }
[data-sub-page] .condition-illustration { grid-area:art; min-width:0; }
[data-sub-page] .sub-label { display:inline-flex; align-items:center; gap:var(--sp-8); margin-bottom:var(--sp-12); color:var(--navy); font:var(--text-label); }
[data-sub-page] .sub-label::before { content:''; width:7px; height:7px; border-radius:var(--r-pill); background:var(--lime); box-shadow:0 0 0 3px var(--lime-glow); }
[data-sub-page] .page-head h1 { margin:0; color:var(--ink); font:var(--text-title-page); font-size:var(--sub-title-size); letter-spacing:-.045em; text-wrap:balance; }
[data-sub-page] .page-lead { max-width:28em; margin-top:var(--sp-16); color:var(--ink-2); font:var(--text-lead); }
[data-sub-page] .placeholder, [data-sub-page] figcaption { color:var(--muted); font:var(--text-caption); }
[data-sub-page] .placeholder small { font:inherit; }
[data-sub-page] .page-figure { grid-area:art; min-width:0; margin:0; }
[data-sub-page] .page-figure img { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:var(--r-hero); background:var(--band); }
[data-sub-page] .page-figure figcaption { margin-top:var(--sp-8); }
[data-sub-page] .page-layout { padding-block:var(--sp-40) var(--sp-96); }
[data-sub-page] .page-tabs-layout { display:grid; grid-template-columns:var(--tab-rail) minmax(0,var(--reading-max)); gap:var(--sp-80); align-items:start; margin-top:var(--sp-40); padding-block:var(--sp-56) var(--sp-96); border-top:1px solid var(--line); }
[data-sub-page] .page-reading { min-width:0; color:var(--ink-2); font:var(--text-reading); }
[data-sub-page] .page-reading > section + section { margin-top:var(--sp-96); }
[data-sub-page] .page-reading h2 { margin:0 0 var(--sp-28); color:var(--ink); font:var(--text-title-content); letter-spacing:-.045em; }
[data-sub-page] .page-reading h3 { margin:var(--sp-40) 0 var(--sp-16); color:var(--ink); font:var(--text-title-sub); }
[data-sub-page] .page-reading p { max-width:36em; }
[data-sub-page] .page-reading p + p, [data-sub-page] .treatment-source + p { margin-top:var(--sp-16); }
[data-sub-page] .page-reading a { color:var(--navy); }
[data-sub-page] .page-reading p a { display:inline-flex; align-items:center; min-height:var(--tap-min); text-decoration:underline; text-underline-offset:4px; }
[data-sub-page] .page-subtabs { position:sticky; top:calc(var(--frame-height) + var(--sp-32)); z-index:20; align-self:start; min-width:0; }
[data-sub-page] .page-subtabs-row { display:flex; flex-direction:column; border-left:2px solid var(--line); }
[data-sub-page] [role=tab] { display:block; width:100%; min-height:48px; margin-left:-2px; padding:var(--sp-12) 0 var(--sp-12) var(--sp-20); border:0; border-left:2px solid transparent; border-radius:var(--sub-square); background:none; color:var(--ink-2); font:var(--text-tab); text-align:left; }
[data-sub-page] [role=tab][aria-selected=true] { border-left-color:var(--navy); color:var(--ink); font-weight:600; }
[data-sub-page] [role=tab]:focus-visible { outline-offset:-2px; }
[data-sub-page] [role=tabpanel] { min-width:0; margin-top:0; scroll-margin-top:calc(var(--frame-height) + var(--page-tabs-clearance,0px) + var(--sp-20)); }
[data-sub-page] .sub-next { display:flex; align-items:center; gap:var(--sp-16); width:100%; min-height:72px; margin-top:var(--sp-56); padding:var(--sp-16) 0; border:0; border-top:2px solid var(--navy); background:none; color:var(--navy); text-align:left; }
[data-sub-page] .sub-next-k { color:var(--muted); font:var(--text-label); }
[data-sub-page] .sub-next-t { flex:1; font:var(--text-link-title); }
[data-sub-page] .sub-next .arrow { margin-right:var(--sp-4); }
[data-sub-page] .page-checks, [data-sub-page] .condition-steps { margin:var(--sp-24) 0; padding:0; list-style:none; border-top:1px solid var(--line); }
[data-sub-page] .page-checks li, [data-sub-page] .condition-steps li { position:relative; padding:var(--sp-16) 0 var(--sp-16) 36px; border-bottom:1px solid var(--line); color:var(--ink); font:var(--text-list); }
[data-sub-page] .page-checks li::before { content:''; position:absolute; left:4px; top:26px; width:13px; height:8px; border-left:2px solid var(--navy); border-bottom:2px solid var(--navy); transform:rotate(-45deg); }
[data-sub-page] .condition-steps { counter-reset:sub-step; }
[data-sub-page] .condition-steps li { counter-increment:sub-step; }
[data-sub-page] .condition-steps li::before { content:counter(sub-step,decimal-leading-zero); position:absolute; left:0; top:var(--sp-20); color:var(--navy); font:var(--text-label); font-variant-numeric:tabular-nums; }
[data-sub-page] .condition-steps h3 { margin:0; font:var(--text-title-sub); }
[data-sub-page] .condition-steps p { margin-top:var(--sp-8); font:var(--text-reading); }
[data-sub-page] .page-faq { border-bottom:1px solid var(--line); }
[data-sub-page] h2 + .page-faq { border-top:1px solid var(--line); }
[data-sub-page] .page-faq summary { position:relative; display:block; min-height:64px; padding:var(--sp-20) var(--sp-56) var(--sp-20) 0; color:var(--ink); font:var(--text-list); font-weight:500; list-style:none; cursor:pointer; }
[data-sub-page] .page-faq summary::-webkit-details-marker { display:none; }
[data-sub-page] .page-faq summary::after { content:'+'; position:absolute; right:0; top:50%; display:grid; place-items:center; width:32px; height:32px; margin-top:-16px; border:1px solid var(--line-2); border-radius:var(--r-pill); color:var(--navy); font:var(--text-lead); }
[data-sub-page] .page-faq[open] summary::after { content:'−'; border-color:var(--navy); }
[data-sub-page] .page-faq > div { padding:0 var(--sp-56) var(--sp-24) 0; }
[data-sub-page] .page-bottom { padding:var(--sp-24) 0 var(--sp-104); }
[data-sub-page] .page-visit-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sp-48); }
[data-sub-page] .page-visit-links a { display:grid; grid-template-columns:auto minmax(0,1fr) auto; grid-template-rows:auto auto; align-items:center; gap:var(--sp-4) var(--sp-16); min-height:104px; padding:var(--sp-20) var(--sp-4) var(--sp-20) 0; border-top:2px solid var(--navy); }
[data-sub-page] .pvl-t { color:var(--navy); font:var(--text-link-title); }
[data-sub-page] .pvl-s { grid-column:2; color:var(--muted); font:var(--text-tab-pill); font-variant-numeric:tabular-nums; }
[data-sub-page] .pvl-ico { grid-row:1/3; position:relative; width:24px; height:24px; color:var(--navy); }
[data-sub-page] .pvl-clock { border:1.6px solid currentColor; border-radius:var(--r-pill); }
[data-sub-page] .pvl-clock::after { content:''; position:absolute; top:5px; left:10px; width:5px; height:7px; border-left:1.6px solid currentColor; border-bottom:1.6px solid currentColor; }
[data-sub-page] .pvl-pin { width:20px; height:20px; margin:0 2px 4px; border:1.6px solid currentColor; border-radius:var(--sub-pin-radius); transform:rotate(45deg); }
[data-sub-page] .pvl-pin::after { content:''; position:absolute; top:6px; left:5px; width:7px; height:7px; border:1.6px solid currentColor; border-radius:var(--r-pill); }
[data-sub-page] .page-visit-links .arrow { grid-column:3; grid-row:1/3; color:var(--navy); }
@media (hover:hover) {
  [data-sub-page] [role=tab]:hover { color:var(--ink); border-left-color:var(--faint); }
  [data-sub-page] [role=tab][aria-selected=true]:hover { border-left-color:var(--navy); }
  [data-sub-page] .page-reading a:hover, [data-sub-page] .sub-next:hover .sub-next-t, [data-sub-page] .page-visit-links a:hover .pvl-t { text-decoration:underline; text-underline-offset:4px; }
  [data-sub-page] .page-faq summary:hover { color:var(--navy); }
}
@media (max-width:1100px) {
  [data-sub-page] .page-head-inner { column-gap:var(--sp-40); }
  [data-sub-page] .page-tabs-layout { column-gap:var(--sp-40); }
}
@media (max-width:860px) {
  [data-sub-page] .section-bar { padding-top:calc(var(--frame-rest-height) + var(--sp-8)); }
  [data-sub-page] .page-head { padding-block:var(--sp-28) var(--sp-24); }
  [data-sub-page] .page-head-inner { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:var(--sp-32); }
  [data-sub-page] .page-head h1 { font:var(--text-title-page-phone); letter-spacing:-.045em; }
  [data-sub-page] .page-lead { margin-top:var(--sp-12); font:var(--text-lead-phone); }
  [data-sub-page] .page-tabs-layout { display:block; margin-top:var(--sp-24); padding-block:0 var(--sp-72); border-top:0; }
  [data-sub-page] .page-subtabs { top:var(--frame-height); margin-inline:calc(-1 * var(--gutter)); background:var(--surface); }
  [data-sub-page] .page-subtabs::after { content:''; position:absolute; inset:0 0 0 auto; width:26px; background:linear-gradient(to right,transparent,var(--surface)); pointer-events:none; }
  [data-sub-page] .page-subtabs[data-at-end]::after { display:none; }
  [data-sub-page] .page-subtabs-row { flex-direction:row; gap:6px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; padding:var(--sp-12) var(--gutter); border:0; }
  [data-sub-page] [role=tab] { flex:none; width:auto; min-height:var(--tap-min); margin:0; padding:var(--sp-8) var(--sp-16); border:0; border-radius:var(--r-pill); background:var(--band); color:var(--ink-2); font:var(--text-tab-pill); }
  [data-sub-page] [role=tab][aria-selected=true] { background:var(--navy); color:var(--surface); font-weight:600; }
  [data-sub-page] [role=tab]:active { background:var(--line); }
  [data-sub-page] [role=tab]:focus-visible { outline-offset:2px; }
  [data-sub-page] .page-reading { font:var(--text-reading-phone); }
  [data-sub-page] .page-tabs-layout > .page-reading { padding-top:var(--sp-32); }
  [data-sub-page] .page-reading > section + section { margin-top:var(--sp-72); }
  [data-sub-page] .page-reading > [role=tabpanel] { margin-top:0; }
  [data-sub-page] .page-reading h2 { font:var(--text-title-content-phone); }
  [data-sub-page] .page-reading h3 { font:var(--text-title-sub-phone); }
  [data-sub-page] .page-checks li, [data-sub-page] .condition-steps li { font:var(--text-list-phone); }
  [data-sub-page] .condition-steps p { font:var(--text-reading-phone); }
  [data-sub-page] .sub-next { min-height:64px; margin-top:var(--sp-40); }
  [data-sub-page] .sub-next-t { font:var(--text-title-sub-phone); font-weight:500; }
  [data-sub-page] .page-bottom { padding:var(--sp-8) 0 var(--sp-56); }
  [data-sub-page] .page-visit-links { grid-template-columns:minmax(0,1fr); gap:0; border-top:2px solid var(--navy); }
  [data-sub-page] .page-visit-links a { min-height:84px; padding-block:var(--sp-16); border-top:0; border-bottom:1px solid var(--line); }
  [data-sub-page] .pvl-t { font:var(--text-title-sub-phone); font-weight:500; }
  [data-sub-page] .pvl-s { font:var(--text-label); font-weight:400; font-variant-numeric:tabular-nums; }
  [data-sub-page] .page-faq summary { font:var(--text-list-phone); font-weight:500; }
  [data-sub-page] .page-faq > div { padding-right:0; }
}
@media (max-width:600px) {
  [data-sub-page] .page-head { padding-block:var(--sp-16); }
  [data-sub-page] .page-head-inner { grid-template-columns:minmax(0,1fr); grid-template-areas:'copy' 'art' 'notes'; gap:var(--sp-16); }
  [data-sub-page] .page-head h1 { font-size:var(--sub-title-phone); }
  [data-sub-page] .sub-label { margin-bottom:var(--sp-8); font:var(--text-label-phone); }
  [data-sub-page] .page-figure { width:var(--sub-figure-width,100%); margin-inline:auto; }
  [data-sub-page] .page-figure img { aspect-ratio:2/1; border-radius:var(--r-m); }
  [data-sub-page] .sub-head-notes .placeholder { margin-top:0; }
  [data-sub-page] .page-tabs-layout { margin-top:var(--sp-8); }
}
