/* ============================================================
   Levin Directory Network — shared component stylesheet
   PLAYBOOK.md v1.0 / WEB-FORMAT.md v1.0 conformance build.
   Tenant skin for: movers-map.com (brand block below).
   One file per tenant: tokens + components + legacy-class
   compatibility layer for the pre-engine templates.
   ============================================================ */

/* ============ FONT (PLAYBOOK §3.3 — self-hosted Inter variable) ============ */
@font-face{
  font-family:"Inter"; font-style:normal; font-weight:100 900; font-display:swap;
  src:url("fonts/inter-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:"Inter"; font-style:normal; font-weight:100 900; font-display:swap;
  src:url("fonts/inter-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ============ TOKENS (PLAYBOOK §3) ============ */
:root{
  --paper:#FAFAF8; --surface:#FFFFFF;
  --ink:#1A1D21; --ink-2:#4A5058; --ink-3:#6B7280;
  --line:#E3E1DC; --line-strong:#C9C6BF;
  --focus:#B45309;
  --ok:#166534; --ok-soft:#EAF5EC;
  --warn:#9A3412; --warn-soft:#FBF0E6;
  --bad:#B42318; --bad-soft:#FBEAE8;
  --info:#175CD3; --info-soft:#EAF1FC;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:24px; --space-6:32px; --space-7:48px; --space-8:64px;
  --radius-s:6px; --radius-m:10px; --radius-l:16px; --radius-full:999px;
  --shadow-1:0 1px 2px rgb(26 29 33/.06),0 1px 3px rgb(26 29 33/.05);
  --shadow-2:0 8px 24px rgb(26 29 33/.12);
  --header-h:56px;
  --text-display:clamp(1.9rem,1.45rem + 2.4vw,2.75rem);
  --text-h1:clamp(1.6rem,1.3rem + 1.6vw,2.25rem);
  --text-h2:clamp(1.3rem,1.15rem + .8vw,1.625rem);
  --text-h3:clamp(1.1rem,1.02rem + .4vw,1.25rem);
  --text-h4:1rem;
  --text-sm:.875rem; --text-xs:.75rem;
  --text-lede:clamp(1.06rem,1rem + .3vw,1.19rem);
  --font:"Inter",-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  /* --- Tenant skin: find-therapy.com (PLAYBOOK §3.1) --- */
  --brand:#C2410C; --brand-ink:#FFFFFF;
  --brand-strong:color-mix(in oklab,var(--brand) 82%,black);
  --brand-soft:color-mix(in oklab,var(--brand) 9%,white);
}

/* ============ BASE ============ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);
  font-size:1rem;line-height:1.55;font-variant-numeric:tabular-nums}
h1,h2,h3,h4{margin:0;line-height:1.2;font-weight:700}
h1{font-size:var(--text-h1);line-height:1.12}
h2{font-size:var(--text-h2)}
h3{font-size:var(--text-h3);font-weight:650}
h4{font-size:var(--text-h4);font-weight:650}
p{margin:0 0 var(--space-4)}
img{max-width:100%}
a{color:var(--brand);text-underline-offset:2px}
a:hover{color:var(--brand-strong)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}
.wrap,.container{max-width:1200px;margin:0 auto;padding:0 var(--space-4)}
@media(min-width:720px){.wrap,.container{padding:0 var(--space-5)}}
@media(min-width:1024px){.wrap,.container{padding:0 var(--space-6)}}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font-size:var(--text-xs);font-weight:550;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.lede{font-size:var(--text-lede);max-width:68ch}
.display{font-size:var(--text-display);line-height:1.08;font-weight:750}
.skip-link{position:absolute;left:16px;top:-60px;z-index:100;background:var(--ink);color:#fff;
  padding:10px 16px;border-radius:var(--radius-m);text-decoration:none;font-weight:600}
.skip-link:focus{top:8px;color:#fff}
#content{padding:var(--space-5) 0 var(--space-7)}
.entry{margin-bottom:var(--space-6)}
.entry p{max-width:68ch}
small{font-size:var(--text-sm);color:var(--ink-2)}
hr.halfed{border:none;border-top:1px solid var(--line);margin:var(--space-4) 0}
i[class*="glyphicons"]{display:none} /* legacy icon font retired */

/* ============ HEADER (PLAYBOOK §4.16) ============ */
.site-header{position:sticky;top:0;background:var(--paper);border-bottom:1px solid var(--line);z-index:40}
.site-header .wrap{display:flex;align-items:center;gap:var(--space-4);min-height:var(--header-h);padding-top:6px;padding-bottom:6px}
.wordmark{font-weight:700;font-size:1.125rem;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:8px;flex:0 0 auto}
.wordmark .mark{display:inline-flex;width:28px;height:28px;border-radius:8px;background:var(--brand);color:var(--brand-ink);
  align-items:center;justify-content:center;font-weight:800;font-size:.95rem}
.wordmark:hover{color:var(--ink)}
.site-nav{margin-left:auto;display:flex;gap:var(--space-2);align-items:center}
.site-nav a{color:var(--ink);text-decoration:none;font-weight:550;padding:10px 8px;white-space:nowrap}
.site-nav a:hover{color:var(--brand)}
.header-search{display:none}
@media(min-width:720px){
  .header-search{display:flex;margin-left:auto;gap:8px;align-items:center}
  .header-search input{font:inherit;font-size:1rem;height:44px;padding:0 12px;border:1px solid var(--line-strong);
    border-radius:var(--radius-m);background:var(--surface);color:var(--ink);width:240px}
  .site-nav{margin-left:0}
}
.mobile-search{border-bottom:1px solid var(--line);background:var(--paper);padding:10px 0}
.mobile-search form{display:flex;gap:8px}
.mobile-search input{flex:1;font:inherit;font-size:1rem;height:44px;padding:0 12px;border:1px solid var(--line-strong);
  border-radius:var(--radius-m);background:var(--surface);color:var(--ink);min-width:0}
@media(min-width:720px){.mobile-search{display:none}}

/* ============ BUTTONS (PLAYBOOK §4.1) ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;
  border-radius:var(--radius-m);border:1px solid transparent;cursor:pointer;text-decoration:none;
  min-height:44px;padding:10px 20px;font-size:1rem;line-height:1.2;text-align:center;background:var(--surface);color:var(--ink)}
.btn-primary{background:var(--brand);color:var(--brand-ink);border-color:transparent}
.btn-primary:hover{background:var(--brand-strong);color:var(--brand-ink)}
.btn-primary:active{background:color-mix(in oklab,var(--brand) 72%,black)}
.btn-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}
.btn-secondary:hover{border-color:var(--ink-3);color:var(--ink)}
.btn-ghost{background:transparent;color:var(--brand);padding:10px 12px;border-color:transparent}
.btn-ghost:hover{text-decoration:underline;color:var(--brand-strong)}
.btn-danger-ghost{background:transparent;color:var(--bad);padding:10px 12px;border-color:transparent}
.btn-danger-ghost:hover{text-decoration:underline}
.btn-lg,.btn-large{min-height:52px;padding:12px 26px;font-size:1.06rem}
.btn-sm,.btn-small{min-height:44px;padding:8px 14px;font-size:.875rem}
.btn-block{display:flex;width:100%}
.btn[disabled],.btn.disabled{opacity:.4;pointer-events:none}
.btn-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* ============ SEARCH (PLAYBOOK §4.2) ============ */
.search-hero{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);
  padding:var(--space-5);box-shadow:var(--shadow-1)}
.search-hero label{font-weight:650;display:block;margin-bottom:var(--space-3)}
.search-form{display:flex;flex-direction:column;gap:10px}
.search-form input{font:inherit;font-size:1rem;height:52px;padding:0 14px;border:1px solid var(--line-strong);
  border-radius:var(--radius-m);background:var(--surface);color:var(--ink);width:100%}
.search-form input::placeholder{color:var(--ink-3)}
@media(min-width:720px){.search-form{flex-direction:row;align-items:flex-end}.search-form .field{flex:1}.search-form .btn{flex:0 0 auto}}

/* ============ PAGE HEAD ============ */
.page-head{padding:var(--space-5) 0 var(--space-2)}
.page-head h1{margin-bottom:var(--space-2)}
.factline{color:var(--ink-2);font-size:var(--text-lede)}

/* ============ BREADCRUMB (PLAYBOOK §4.3) — new + legacy markup ============ */
.breadcrumb{padding:var(--space-3) 0;background:none;margin:0}
.breadcrumb ol,.breadcrumb ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;font-size:.875rem}
.breadcrumb li{display:flex;align-items:center;gap:4px}
.breadcrumb li+li::before{content:"/";color:var(--ink-3)}
.breadcrumb a{color:var(--ink-2);text-decoration:none;padding:6px 2px}
.breadcrumb a:hover{color:var(--brand);text-decoration:underline}
.breadcrumb [aria-current],.breadcrumb li.active{color:var(--ink);font-weight:600;padding:6px 2px}
.breadcrumb .divider{display:none}

/* ============ FACT BOX + FRESHNESS (PLAYBOOK §4.8 / §4.9) ============ */
.factbox{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--brand);
  border-radius:var(--radius-m);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-6)}
.factbox p{font-size:var(--text-lede);margin:0;max-width:none}
.factbox dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3) var(--space-5);margin:var(--space-4) 0 0}
.factbox dt{font-size:.75rem;font-weight:550;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.factbox dd{margin:2px 0 0;font-weight:650}
.freshness{font-size:.75rem;font-weight:550;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);
  display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:var(--space-3)}
.freshness .src{color:var(--ink-2)}

/* ============ CHIPS & BADGES (PLAYBOOK §4.4) ============ */
.chip-row{display:flex;gap:8px;overflow-x:auto;padding:4px 2px;scrollbar-width:none}
.chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 14px;
  border:1px solid var(--line-strong);border-radius:var(--radius-full);background:var(--surface);
  font:inherit;font-size:.875rem;font-weight:550;color:var(--ink);cursor:pointer;text-decoration:none}
.chip[aria-pressed="true"],.chip.selected{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-strong)}
.badge,.label{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:550;letter-spacing:.04em;
  text-transform:uppercase;border-radius:var(--radius-s);padding:3px 8px;line-height:1.3;background:var(--info-soft);color:var(--info)}
.badge-ok,.label-success{background:var(--ok-soft);color:var(--ok)}
.badge-info,.label-info{background:var(--info-soft);color:var(--info)}
.badge-warn,.label-warning{background:var(--warn-soft);color:var(--warn)}
.badge-bad,.label-important{background:var(--bad-soft);color:var(--bad)}

/* ============ LISTING CARD (PLAYBOOK §4.5) ============ */
.listing-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);
  padding:var(--space-4) var(--space-5);position:relative;margin-bottom:var(--space-3)}
.listing-card h3{font-size:var(--text-h3);margin-bottom:2px}
.listing-card h3 a{color:var(--ink);text-decoration:none}
.listing-card h3 a::after{content:"";position:absolute;inset:0}
.listing-card h3 a:hover{color:var(--brand)}
.listing-card .factline{color:var(--ink-2);font-size:.875rem}
.listing-card address{font-style:normal;margin-top:var(--space-2)}
.listing-card address a{color:var(--ink);text-decoration:none}
.listing-card address a:hover{color:var(--brand);text-decoration:underline}
.listing-card .badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-3)}
.listing-card .card-fresh{font-size:.75rem;color:var(--ink-3);margin-top:var(--space-3);text-transform:uppercase;letter-spacing:.04em;font-weight:550}
.listing-card .actions{display:flex;gap:8px;margin-top:var(--space-3);position:relative;z-index:1}
.listing-card .thumb{width:56px;height:56px;border-radius:var(--radius-m);background:var(--brand-soft);color:var(--brand-strong);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.4rem;flex:0 0 auto}
.listing-card .card-top{display:flex;gap:var(--space-3)}

/* ============ LISTING ROWS (PLAYBOOK §4.6) + legacy nav-stacked ============ */
.row-group{margin-bottom:var(--space-5)}
.row-group>h3{font-size:var(--text-h3);padding-bottom:var(--space-2);border-bottom:2px solid var(--ink);margin-bottom:0}
ul.rows,ul.nav-stacked{list-style:none;margin:0 0 var(--space-5);padding:0}
ul.rows li,ul.nav-stacked li{border-bottom:1px solid var(--line)}
ul.rows a,ul.nav-stacked a{display:flex;justify-content:space-between;gap:var(--space-3);align-items:baseline;
  padding:12px 4px;min-height:44px;color:var(--ink);text-decoration:none}
ul.rows a:hover,ul.nav-stacked a:hover{background:var(--surface)}
ul.rows .r-name,ul.nav-stacked a strong{font-weight:600}
ul.rows a:hover .r-name,ul.nav-stacked a:hover strong{color:var(--brand)}
ul.rows .r-fact{color:var(--ink-2);font-size:.875rem;text-align:right;white-space:nowrap}
ul.nav-stacked a{display:block}
ul.nav-stacked a .r-fact{float:right}
ul.nav-stacked a small{color:var(--ink-2)}
ul.nav{list-style:none;margin:0;padding:0}
ul.nav-tabs{border-bottom:1px solid var(--line);display:flex;gap:4px;flex-wrap:wrap}
ul.nav-tabs>li>a{display:block;padding:10px 14px;text-decoration:none;color:var(--ink-2);font-weight:550}
ul.nav-tabs>li.active>a{color:var(--brand-strong);border-bottom:2px solid var(--brand)}
ul.nav-stacked{border-bottom:none;display:block}
ul.link-list{list-style:none;margin:0;padding:0}
ul.link-list li{border-bottom:1px solid var(--line)}
ul.link-list a{display:flex;justify-content:space-between;gap:var(--space-3);padding:12px 4px;min-height:44px;
  color:var(--ink);text-decoration:none;align-items:baseline}
ul.link-list a:hover{color:var(--brand)}
ul.link-list .count{color:var(--ink-2);font-size:.875rem;white-space:nowrap}

/* ============ DATA TABLES (PLAYBOOK §4.7) — new + legacy .table ============ */
.table-scroll{overflow-x:auto}
table.data,table.table{width:100%;border-collapse:collapse;background:var(--surface);font-size:.9375rem}
table.data caption,table.table caption{text-align:left;font-weight:650;padding:var(--space-3) 4px}
table.data th,table.data td,table.table th,table.table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.data thead th,table.table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);border-bottom:2px solid var(--line-strong)}
table.data td.num,table.data th.num{text-align:right}
table.data .best{background:var(--ok-soft)}
@media(max-width:719px){
  table.data thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  table.data,table.data tbody,table.data tr,table.data td{display:block;width:100%}
  table.data tr{border-bottom:2px solid var(--line-strong);padding:8px 0}
  table.data td{border-bottom:none;padding:4px 12px;display:flex;justify-content:space-between;gap:16px}
  table.data td::before{content:attr(data-th);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);font-weight:550;padding-top:2px}
  table.data td:first-child{font-weight:700;font-size:1rem}
  table.data td:first-child::before{content:""}
}

/* ============ PAGINATION (PLAYBOOK §4.10) — new + legacy markup ============ */
.pagination{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:var(--space-5) 0}
.pagination a,.pagination span,.pagination li a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;
  padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-m);background:var(--surface);
  color:var(--ink);text-decoration:none;font-weight:600}
.pagination a:hover{border-color:var(--brand);color:var(--brand)}
.pagination [aria-current],.pagination li.active a{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.pagination .ellipsis{border:none;background:none}
.pagination ul{list-style:none;display:flex;gap:6px;margin:0;padding:0;flex-wrap:wrap}

/* ============ FAQ (PLAYBOOK §4.11) ============ */
details.faq{border-bottom:1px solid var(--line)}
details.faq summary{font-weight:650;cursor:pointer;padding:14px 4px;min-height:44px;list-style:none;display:flex;justify-content:space-between;gap:12px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"▾";color:var(--ink-3)}
details.faq[open ] summary::after{transform:rotate(180deg)}
details.faq .faq-body{padding:0 4px 16px;color:var(--ink-2);max-width:68ch}

/* ============ CROSS-LINK MODULE (PLAYBOOK §4.14) ============ */
.xlinks{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:var(--space-5);margin-bottom:var(--space-6)}
.xlinks h2,.xlinks h3{font-size:var(--text-h2);margin-bottom:var(--space-3)}
.xlinks ul{list-style:none;margin:0;padding:0}
.xlinks li{border-bottom:1px solid var(--line)}
.xlinks li:last-child{border-bottom:none}
.xlinks a{display:block;padding:12px 2px;min-height:44px;text-decoration:none}
.xlinks .x-name{font-weight:650;color:var(--brand)}
.xlinks .x-desc{display:block;color:var(--ink-2);font-size:.875rem}

/* ============ NOTICES & ALERTS (PLAYBOOK §4.15) ============ */
.notice{border-radius:var(--radius-m);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4)}
.notice-bad{background:var(--bad-soft);border:1px solid color-mix(in oklab,var(--bad) 30%,white)}
.notice strong{color:var(--bad)}
.alert{border-radius:var(--radius-m);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4);
  background:var(--info-soft);border:1px solid color-mix(in oklab,var(--info) 25%,white)}
.alert-success{background:var(--ok-soft);border-color:color-mix(in oklab,var(--ok) 25%,white)}
.alert .close{float:right;background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--ink-2)}

/* ============ DETAIL PAGE (WEB-FORMAT §6) ============ */
.action-row{display:flex;flex-wrap:wrap;gap:10px;margin:var(--space-4) 0 var(--space-5)}
@media(max-width:719px){
  .action-row{position:sticky;bottom:0;background:var(--paper);padding:10px 0;border-top:1px solid var(--line);z-index:30}
  .action-row .btn{flex:1}
}
.fact-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);margin-bottom:var(--space-6)}
.fact-table th,.fact-table td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.fact-table th{width:34%;color:var(--ink-2);font-weight:550;font-size:.875rem}
.fact-table tr:last-child th,.fact-table tr:last-child td{border-bottom:none}
address{font-style:normal}
.directions-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);
  padding:var(--space-4) var(--space-5);margin-bottom:var(--space-6);
  display:inline-block;max-width:100%;vertical-align:top}
.directions-box p{margin-bottom:var(--space-3)}

/* ============ SIDEBAR BOXES ============ */
.sidebox{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);
  padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5)}
.sidebox h3{margin-bottom:var(--space-2)}
.thumbnail{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);
  padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5)}
.well{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);
  padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5)}
.profile-box .thumb{width:56px;height:56px;border-radius:var(--radius-m);background:var(--brand-soft);color:var(--brand-strong);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.4rem;margin-bottom:var(--space-3)}
.profile-box .p-name{font-weight:700;font-size:var(--text-h3);line-height:1.25}
.profile-box .p-fact{color:var(--ink-2);font-size:.875rem;margin:2px 0 var(--space-3)}

/* ============ FOOTER (PLAYBOOK §4.17) ============ */
.site-footer{border-top:1px solid var(--line);background:var(--surface);margin-top:var(--space-7)}
.site-footer .band{padding:var(--space-6) 0;border-bottom:1px solid var(--line)}
.site-footer .band:last-child{border-bottom:none}
.footer-about p{font-size:var(--text-lede);max-width:68ch;margin:0}
.footer-grid{display:grid;gap:var(--space-5)}
@media(min-width:720px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.footer-grid{grid-template-columns:repeat(4,1fr)}}
.site-footer h3{font-size:var(--text-h4);margin-bottom:var(--space-3)}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer ul li{border-bottom:1px solid var(--line)}
.site-footer ul a{display:block;padding:10px 2px;min-height:44px;color:var(--ink-2);text-decoration:none}
.site-footer ul a:hover{color:var(--brand)}
.site-footer .cols-2{columns:2;column-gap:var(--space-5)}
.site-footer .cols-2 li{break-inside:avoid}
.network-strip{font-size:.875rem;color:var(--ink-2)}
.network-strip a{color:var(--ink);font-weight:550;text-decoration:none}
.network-strip a:hover{color:var(--brand);text-decoration:underline}
#copywrite{background:var(--paper);border-top:1px solid var(--line);padding:var(--space-4) 0;font-size:.875rem;color:var(--ink-2)}
#copywrite p{margin:0}
#totop{cursor:pointer;color:var(--brand);font-weight:600}

/* ============ LEGACY LAYOUT COMPATIBILITY (Bootstrap 2 grid) ============ */
.row,.row-fluid{display:flex;flex-wrap:wrap;gap:0 2.13%}
.row>[class*="span"],.row-fluid>[class*="span"]{flex:0 0 auto;width:100%}
@media(min-width:720px){
  .span1{width:6.38%}.span2{width:14.89%}.span3{width:23.40%}.span4{width:31.91%}
  .span5{width:40.43%}.span6{width:48.94%}.span7{width:57.45%}.span8{width:65.96%}
  .span9{width:74.47%}.span10{width:82.98%}.span11{width:91.49%}.span12,.span13{width:100%}
  .row>[class*="span"],.row-fluid>[class*="span"]{width:auto}
  .row>.span1,.row-fluid>.span1{flex-basis:6.38%}.row>.span2,.row-fluid>.span2{flex-basis:14.89%}
  .row>.span3,.row-fluid>.span3{flex-basis:23.40%}.row>.span4,.row-fluid>.span4{flex-basis:31.91%}
  .row>.span5,.row-fluid>.span5{flex-basis:40.43%}.row>.span6,.row-fluid>.span6{flex-basis:48.94%}
  .row>.span7,.row-fluid>.span7{flex-basis:57.45%}.row>.span8,.row-fluid>.span8{flex-basis:65.96%}
  .row>.span9,.row-fluid>.span9{flex-basis:74.47%}.row>.span10,.row-fluid>.span10{flex-basis:82.98%}
  .row>.span11,.row-fluid>.span11{flex-basis:91.49%}.row>.span12,.row-fluid>.span12,.row>.span13,.row-fluid>.span13{flex-basis:100%}
}
#header{padding:var(--space-6) 0 var(--space-4);border-bottom:1px solid var(--line);margin-bottom:var(--space-2)}
#header h1{color:var(--ink)}
.pull-right{float:right}.pull-left{float:left}
.unstyled{list-style:none;margin:0;padding:0}
.txt-lefty,.txt-left{text-align:left}
.animated{list-style:none;margin:0;padding:0}
.img-polaroid{border:1px solid var(--line);border-radius:var(--radius-m);padding:4px;background:var(--surface)}

/* ============ FORMS (PLAYBOOK §4.12) — base + legacy form classes ============ */
input[type="text"],input[type="email"],input[type="search"],input[type="tel"],input[type="url"],
input[type="password"],input[type="number"],select,textarea{
  font:inherit;font-size:1rem;color:var(--ink);background:var(--surface);
  border:1px solid var(--line-strong);border-radius:var(--radius-m);padding:10px 12px;min-height:48px;max-width:100%}
textarea{min-height:120px;width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--focus);outline-offset:2px}
label{font-weight:550}
.control-group{margin-bottom:var(--space-4)}
.control-label{display:block;margin-bottom:6px}
.help-block,.help-inline{font-size:var(--text-sm);color:var(--ink-2)}
.form-actions{margin-top:var(--space-5)}
legend{font-size:var(--text-h3);font-weight:650;margin-bottom:var(--space-4)}

/* ============ MISC MODULES ============ */
.tag-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.accordion-group{border:1px solid var(--line);border-radius:var(--radius-m);margin-bottom:var(--space-3);background:var(--surface)}
.accordion-heading a{display:block;padding:12px 16px;font-weight:650;color:var(--ink);text-decoration:none}
.accordion-inner{padding:0 16px 16px}
.collapse{display:none}.collapse.in{display:block}
.media{display:flex;gap:12px}
.dropdown-menu{list-style:none;margin:0;padding:0}
.tab-content>.tab-pane{display:none}
.tab-content>.tab-pane.active{display:block}

@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}

/* ============ PRINT (WEB-FORMAT §1.6) ============ */
@media print{
  .site-header,.site-footer,#copywrite,.mobile-search,.action-row,.skip-link{display:none!important}
  body{background:#fff}
  a{color:var(--ink);text-decoration:none}
}

/* ============ FIX PASS 2026-11-03 (post-pilot visual check) ============ */
/* Sticky header must never cover anchored or first content: reserve scroll
   room equal to the header (56px bar + padding) — taller on phones, where the
   mobile search row stacks under the bar (~134px total). */
html{scroll-padding-top:88px}
@media(max-width:719px){html{scroll-padding-top:148px}}

/* Reserved ad slot: invisible until AdSense actually fills the unit
   (the adsbygoogle script sets data-ad-status="filled" on the <ins>).
   An unfilled slot renders nothing at all — no empty bordered box. */
.ad-slot{display:none}
.ad-slot:has(> ins.adsbygoogle[data-ad-status="filled"]){display:block;text-align:center;margin-bottom:var(--space-6)}

/* Comment-form honeypot: off-screen for humans, present for bots. */
.hp-field{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}
