/* ============================================================
   ROOTWORTH — SITEWIDE CHROME  (spidey rootworth-chrome-2026-10)
   Header, mobile nav, scroll hairline, footer (+ Conditions A–Z),
   phone intake dock — trimmed + SCOPED from the 2026-10 redesign
   lab's rw-shell.css for pages that keep rootworth.css + Astra.

   Rules of this sheet:
   - every selector starts at a chrome root: .rw-skip .rw-head
     .rw-foot .rw-dock (the only exceptions are the two body/html
     :has() guards at the bottom, which only match when a chrome
     root is present)
   - tokens are --rwc-* and declared on the roots; no :root
   - sizes are px, not rem: Astra sets html{font-size:91.2%} at
     <=921px, which would shrink a rem-built chrome by 9%
   - Astra/rootworth/style.css element rules (a, a:hover, button,
     h2/h3, ul, p, summary) are reset inside the roots
   ============================================================ */

.rw-skip,.rw-head,.rw-foot,.rw-dock{
  --rwc-sumi:#16130f; --rwc-sumi-soft:#221d17; --rwc-kozo:#f3ead9;
  --rwc-cinnabar:#b8402a; --rwc-cinnabar-2:#9a3320; --rwc-lantern:#d9a94e;
  --rwc-ink-on-dark:#ece3d2; --rwc-ink-muted:#a99c84; --rwc-rule-dark:rgba(236,227,210,.16);
  --rwc-serif:"Spectral","Spectral fb",Georgia,"Times New Roman",serif;
  --rwc-sans:"Inter","Inter fb",system-ui,-apple-system,"Segoe UI",sans-serif;
  --rwc-cjk:"Noto Serif SC","Songti SC","STSong",serif;
  --rwc-step--1:clamp(13.44px,12.96px + .15vw,14.88px);
  --rwc-step-2:clamp(24.8px,20.8px + 1.1vw,36px);
  --rwc-bay:clamp(56px,32px + 6vw,128px);
  --rwc-edge:clamp(16px,8px + 3vw,64px);
  --rwc-maxw:1180px; --rwc-head-h:64px;
  --rwc-ease:cubic-bezier(.22,.61,.36,1);
  --rwc-focus:var(--rwc-lantern);
  box-sizing:border-box;
}
.rw-head *,.rw-head *::before,.rw-head *::after,
.rw-foot *,.rw-foot *::before,.rw-foot *::after,
.rw-dock *{box-sizing:border-box}

/* Fallback faces sized toward the web fonts (same as the lab) */
@font-face{font-family:"Spectral fb";src:local("Georgia");size-adjust:104%;ascent-override:92%;descent-override:30%}
@font-face{font-family:"Inter fb";src:local("Arial"),local("Helvetica");size-adjust:107%;ascent-override:90%;descent-override:22%}

/* ---- element resets inside the roots ------------------------- */
.rw-head a,.rw-foot a,.rw-head a:hover,.rw-head a:focus,.rw-foot a:hover,.rw-foot a:focus{color:inherit}
.rw-head ul,.rw-foot ul{list-style:none;margin:0;padding:0}
.rw-head li,.rw-foot li{margin:0;padding:0}
.rw-foot p{margin:0 0 1em;max-width:64ch}
.rw-foot h2,.rw-foot h3{font-family:var(--rwc-serif);font-weight:400;line-height:1.08;letter-spacing:-.012em;margin:0;padding:0;text-transform:none}
.rw-head :focus-visible,.rw-foot :focus-visible,.rw-skip:focus-visible{outline:3px solid var(--rwc-focus);outline-offset:3px;border-radius:2px}
.rw-head ::selection,.rw-foot ::selection{background:var(--rwc-cinnabar);color:var(--rwc-kozo)}
.rw-head .rw-vh,.rw-foot .rw-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---- skip link ----------------------------------------------- */
.rw-skip{position:absolute;left:16px;top:-100px;z-index:200;background:var(--rwc-lantern);
  color:var(--rwc-sumi);padding:12.8px 17.6px;font-family:var(--rwc-sans);font-size:16px;line-height:1.4;font-weight:600;
  text-decoration:none;border-radius:2px}
.rw-skip:hover,.rw-skip:focus{color:var(--rwc-sumi)}
.rw-skip:focus{top:9.6px;outline-color:var(--rwc-sumi)}

/* ---- buttons (chrome only) ----------------------------------- */
.rw-head .rw-btn,.rw-foot .rw-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  min-height:48px;padding:.85em 1.45em;font-family:var(--rwc-sans);font-weight:600;line-height:1.3;
  font-size:var(--rwc-step--1);letter-spacing:.04em;text-decoration:none;border-radius:2px;
  border:1px solid transparent;cursor:pointer;position:relative;
  transition:transform .2s var(--rwc-ease),background-color .2s,color .2s,border-color .2s}
.rw-head .rw-btn--seal,.rw-foot .rw-btn--seal,
.rw-head .rw-btn--seal:focus,.rw-foot .rw-btn--seal:focus{background:var(--rwc-cinnabar-2);color:var(--rwc-kozo)}
.rw-head .rw-btn--seal:hover,.rw-foot .rw-btn--seal:hover{background:var(--rwc-cinnabar);color:var(--rwc-kozo)}
.rw-head .rw-btn:hover,.rw-foot .rw-btn:hover{transform:translateY(-1px)}

/* ---- brush-stroke link hover --------------------------------- */
.rw-head .rw-brush,.rw-foot .rw-brush{text-decoration:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M2 8.2C30 5.6 62 4.8 96 5.6s70 2 102-.9l-.6 3.1C165 10.7 131 9.6 97 9 63 8.4 33 8.9 3 10.6z' fill='%23d9a94e'/%3E%3C/svg%3E") no-repeat 0 100%/0% .38em;
  padding-bottom:.18em;transition:background-size .45s var(--rwc-ease),color .2s}
.rw-head .rw-brush:hover,.rw-head .rw-brush:focus-visible,.rw-head .rw-brush[aria-current="page"],
.rw-foot .rw-brush:hover,.rw-foot .rw-brush:focus-visible{background-size:100% .38em}

/* ---- header -------------------------------------------------- */
.rw-head{position:sticky;top:0;z-index:100;display:block;margin:0;padding:0;width:auto;max-width:none;
  background:rgba(22,19,15,.94);color:var(--rwc-ink-on-dark);border-bottom:1px solid var(--rwc-rule-dark);
  font-family:var(--rwc-serif);font-size:16px;line-height:1.62;font-weight:400;text-align:left;
  -webkit-font-smoothing:antialiased}
@supports (backdrop-filter:blur(1px)){.rw-head{background:rgba(22,19,15,.86);backdrop-filter:saturate(120%) blur(10px)}}
.rw-head .rw-head__in{display:flex;align-items:center;justify-content:space-between;gap:16px;
  max-width:var(--rwc-maxw);margin-inline:auto;padding-inline:var(--rwc-edge);min-height:var(--rwc-head-h)}
.rw-head .rw-brand,.rw-head .rw-brand:hover,.rw-head .rw-brand:focus{display:inline-flex;align-items:center;gap:10.4px;text-decoration:none;
  color:var(--rwc-kozo);font-family:var(--rwc-serif);font-size:19.2px;letter-spacing:.02em;min-height:44px;line-height:1.3}
.rw-head .rw-seal{display:inline-grid;place-items:center;width:1.75em;height:1.75em;
  background:var(--rwc-cinnabar-2);color:var(--rwc-kozo);font-family:var(--rwc-cjk);font-weight:700;
  font-size:.92em;line-height:1;border-radius:2px;flex:0 0 auto;letter-spacing:0}
.rw-head .rw-nav{display:flex;align-items:center}
.rw-head .rw-nav__list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:20.8px;
  font-family:var(--rwc-sans);font-size:13.76px;letter-spacing:.02em;line-height:1.62}
.rw-head .rw-nav__list a:not(.rw-btn){display:inline-flex;align-items:center;min-height:44px;color:var(--rwc-ink-on-dark)}
.rw-head .rw-nav__list a:not(.rw-btn):hover,.rw-head .rw-nav__list a:not(.rw-btn):focus-visible{color:var(--rwc-lantern)}
.rw-head .rw-nav__cta .rw-btn{min-height:44px;padding:.6em 1.1em}
.rw-head .rw-nav__toggle,.rw-head .rw-nav__toggle:hover,.rw-head .rw-nav__toggle:focus{display:none;align-items:center;justify-content:center;gap:8.8px;
  min-width:48px;min-height:48px;margin:0;padding:0 12.8px;background:none;color:var(--rwc-ink-on-dark);box-shadow:none;
  border:1px solid var(--rwc-rule-dark);border-radius:2px;cursor:pointer;font-family:var(--rwc-sans);font-weight:400;
  font-size:13.12px;line-height:1;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.rw-head .rw-burger{position:relative;width:18px;height:12px;display:inline-block}
.rw-head .rw-burger::before,.rw-head .rw-burger::after,.rw-head .rw-burger span{content:"";position:absolute;left:0;right:0;
  height:1.5px;background:currentColor;transition:transform .3s var(--rwc-ease),opacity .2s}
.rw-head .rw-burger::before{top:0}.rw-head .rw-burger::after{bottom:0}
.rw-head .rw-burger span{top:50%;margin-top:-.75px}
.rw-head .rw-nav__toggle[aria-expanded="true"] .rw-burger::before{transform:translateY(5.25px) rotate(45deg)}
.rw-head .rw-nav__toggle[aria-expanded="true"] .rw-burger::after{transform:translateY(-5.25px) rotate(-45deg)}
.rw-head .rw-nav__toggle[aria-expanded="true"] .rw-burger span{opacity:0}

/* scroll-progress hairline */
.rw-head .rw-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none;overflow:hidden}
.rw-head .rw-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--rwc-cinnabar),var(--rwc-lantern));
  transform-origin:0 50%;transform:scaleX(var(--rw-p,0))}
@supports (animation-timeline:scroll()){
  @media (prefers-reduced-motion:no-preference){
    .rw-head .rw-progress span{animation:rwc-prog linear both;animation-timeline:scroll(root)}
  }
}
@keyframes rwc-prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}

@media (max-width:1023.98px){
  .js .rw-head .rw-nav__toggle,.js .rw-head .rw-nav__toggle:hover,.js .rw-head .rw-nav__toggle:focus{display:inline-flex}
  .js .rw-head .rw-nav__list{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;
    gap:0;padding:8px var(--rwc-edge) 22.4px;background:var(--rwc-sumi-soft);border-bottom:1px solid var(--rwc-rule-dark);
    font-size:16.8px;max-height:calc(100vh - var(--rwc-head-h));overflow-y:auto;
    visibility:hidden;opacity:0;transform:translateY(-6px);
    transition:opacity .22s var(--rwc-ease),transform .22s var(--rwc-ease),visibility 0s linear .22s}
  .js .rw-head .rw-nav__list.is-open{visibility:visible;opacity:1;transform:none;transition:opacity .22s var(--rwc-ease),transform .22s var(--rwc-ease)}
  .js .rw-head .rw-nav__list li{border-bottom:1px solid var(--rwc-rule-dark)}
  .js .rw-head .rw-nav__list li.rw-nav__cta{border:0;padding-top:16px}
  .js .rw-head .rw-nav__list a:not(.rw-btn){display:flex;min-height:52px}
  .js .rw-head .rw-nav__cta .rw-btn{width:100%;min-height:52px}
  /* no-JS: wrap links under the brand instead of hiding them */
  .no-js .rw-head .rw-head__in{flex-wrap:wrap;padding-block:8px}
  .no-js .rw-head .rw-nav__list{flex-wrap:wrap;gap:3.2px 16px}
}

/* ---- footer -------------------------------------------------- */
.rw-foot{display:block;margin:0;width:auto;max-width:none;background:#100e0b;color:var(--rwc-ink-muted);font-family:var(--rwc-sans);
  font-size:var(--rwc-step--1);line-height:1.62;font-weight:400;text-align:left;
  padding:var(--rwc-bay) 0 35.2px;position:relative;overflow:hidden;-webkit-font-smoothing:antialiased}
.rw-foot .rw-foot__in{position:relative;z-index:1;max-width:var(--rwc-maxw);margin-inline:auto;padding-inline:var(--rwc-edge)}
.rw-foot .rw-foot__grid{display:grid;gap:38.4px;grid-template-columns:1fr}
@media (min-width:760px){.rw-foot .rw-foot__grid{grid-template-columns:1.6fr 1fr 1fr 1fr}}
.rw-foot .rw-foot__creed{font-family:var(--rwc-serif);font-size:var(--rwc-step-2);color:var(--rwc-ink-on-dark);
  font-weight:300;line-height:1.15;max-width:16ch;margin:0 0 22.4px}
.rw-foot h2{font-family:var(--rwc-sans);font-size:11.84px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--rwc-lantern);font-weight:600;line-height:1.3;margin:0 0 12.8px}
.rw-foot li a{display:inline-flex;align-items:center;min-height:44px;color:var(--rwc-ink-on-dark)}
.rw-foot li a:hover,.rw-foot li a:focus{color:var(--rwc-ink-on-dark)}
.rw-foot .rw-foot__legal{margin-top:48px;padding-top:25.6px;border-top:1px solid var(--rwc-rule-dark);
  display:grid;gap:16px;font-size:13.44px;line-height:1.6}
.rw-foot .rw-foot__legal p{max-width:92ch;margin:0}
.rw-foot .rw-foot__care{color:var(--rwc-ink-on-dark)}
.rw-foot .rw-foot__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:9.6px 22.4px;margin-top:22.4px;color:var(--rwc-ink-muted)}
.rw-foot .rw-foot__mark{position:absolute;z-index:0;right:-.08em;bottom:-.28em;font-family:var(--rwc-cjk);font-weight:700;
  font-size:min(42vw,416px);line-height:1;color:var(--rwc-ink-on-dark);opacity:.035;pointer-events:none;user-select:none}

/* Conditions A–Z (new in the rollout: keeps the ~100 condition pages linked
   sitewide once the header mega-menu is gone; collapsed by default) */
.rw-foot .rw-foot__atlas{margin-top:48px;border-top:1px solid var(--rwc-rule-dark);padding-top:8px}
.rw-foot .rw-foot__atlas>summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;min-height:48px;cursor:pointer;
  list-style:none;color:var(--rwc-ink-on-dark);font-family:var(--rwc-sans);font-size:11.84px;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;padding:0;margin:0;background:none;border:0}
.rw-foot .rw-foot__atlas>summary::-webkit-details-marker{display:none}
.rw-foot .rw-foot__atlas>summary::before{content:"";width:8px;height:8px;margin-right:2px;border-right:1.5px solid var(--rwc-lantern);
  border-bottom:1.5px solid var(--rwc-lantern);transform:rotate(-45deg);transition:transform .25s var(--rwc-ease);flex:0 0 auto}
.rw-foot .rw-foot__atlas[open]>summary::before{transform:rotate(45deg)}
.rw-foot .rw-foot__atlas-title{color:var(--rwc-lantern)}
.rw-foot .rw-foot__atlas-count{color:var(--rwc-ink-muted);letter-spacing:.08em;font-weight:400;text-transform:none;font-size:13.44px}
.rw-foot .rw-foot__atlas>summary:hover .rw-foot__atlas-title{color:var(--rwc-ink-on-dark)}
.rw-foot .rw-foot__atlas-grid{display:grid;gap:28px 38.4px;grid-template-columns:1fr;padding:16px 0 8px}
@media (min-width:600px){.rw-foot .rw-foot__atlas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.rw-foot .rw-foot__atlas-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.rw-foot .rw-foot__atlas h3{font-family:var(--rwc-serif);font-size:19.2px;font-weight:400;line-height:1.2;color:var(--rwc-ink-on-dark);margin:0 0 6px}
.rw-foot .rw-foot__atlas h3 a{display:inline-flex;align-items:center;min-height:44px}
.rw-foot .rw-foot__atlas li a{min-height:32px;font-size:13.44px;line-height:1.35;padding-block:4px;color:var(--rwc-ink-muted)}
.rw-foot .rw-foot__atlas li a:hover,.rw-foot .rw-foot__atlas li a:focus-visible{color:var(--rwc-ink-on-dark)}
@media (pointer:coarse){.rw-foot .rw-foot__atlas li a{min-height:44px}}

/* Astra pages only: social icons + Makari newsletter, printed at the top of the
   footer (their inline styles are white-on-dark). */
.rw-foot .rw-foot__extras{margin:0 0 48px;padding-bottom:32px;border-bottom:1px solid var(--rwc-rule-dark)}
.rw-foot .rw-foot__extras .rw-social{border-top:0;padding:0 0 16px}
.rw-foot .rw-foot__extras .rw-social a{color:var(--rwc-ink-muted)}
.rw-foot .rw-foot__extras .rw-social a:hover,.rw-foot .rw-foot__extras .rw-social a:focus{color:var(--rwc-lantern)}
.rw-foot .rw-foot__extras .rw-newsletter-strip{border-top:0!important;margin-top:0!important}
.rw-foot .rw-foot__extras .rw-newsletter-strip p{max-width:none;color:var(--rwc-ink-on-dark)!important}

/* ---- phone intake dock --------------------------------------- */
.rw-dock{display:none}
@media (max-width:768px){
  .rw-dock{display:block;position:fixed;left:0;right:0;bottom:0;z-index:90;margin:0;
    background:var(--rwc-cinnabar-2);padding-bottom:env(safe-area-inset-bottom,0px);
    box-shadow:0 -6px 18px rgba(0,0,0,.28)}
  .rw-dock a,.rw-dock a:hover,.rw-dock a:focus{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;
    color:var(--rwc-kozo);text-decoration:none;font-family:var(--rwc-sans);font-size:15.2px;line-height:1.3;font-weight:600;letter-spacing:.04em}
  .rw-dock a:focus-visible{outline:3px solid var(--rwc-lantern);outline-offset:-3px}
}

/* ---- canvas pages: rootworth.css 11c boxes every direct <body> child that is
   not header/footer (max-width + auto margins + side padding). The skip link
   and the dock are direct children too — unbox them. ---------------------- */
body > .rw-skip,body > .rw-dock{max-width:none!important;margin-inline:0!important;padding-inline:0!important}
body > .rw-skip{padding-inline:17.6px!important;margin-inline:0!important}
@media (max-width:768px){body > .rw-dock{padding-inline:0!important}}

/* ---- page-level guards (only match when the chrome is present) ------------ */
/* Phones: the dock (48px + safe area) replaces the 54px the old sticky CTA reserved
   (rootworth.css radio-removal block: body{padding-bottom:54px!important}). */
@media (max-width:768px){
  body:has(> .rw-dock){padding-bottom:calc(48px + env(safe-area-inset-bottom,0px))!important}
  body:has(> .rw-dock) #vd-consent{bottom:calc(60px + env(safe-area-inset-bottom,0px))!important}
  body:has(> .rw-dock) #vd-consent-reopen{bottom:calc(58px + env(safe-area-inset-bottom,0px))!important}
  /* Astra's scroll-to-top button (right:30px;bottom:30px) would sit on the dock */
  body:has(> .rw-dock) #ast-scroll-top{bottom:calc(64px + env(safe-area-inset-bottom,0px))!important}
}
/* Anchor jumps land below the sticky header */
html:has(.rw-head){scroll-padding-top:76px}
/* Logged-in admin bar: keep the sticky header below it (WP bar: fixed 32px >782px,
   fixed 46px 601–782px, scrolls away <=600px) */
.admin-bar .rw-head{top:32px}
@media screen and (max-width:782px){.admin-bar .rw-head{top:46px}}
@media screen and (max-width:600px){.admin-bar .rw-head{top:0}}
/* Desktop: the consent reopen pill sits at bottom-left — keep the © line clear */
body:has(#vd-consent-reopen) .rw-foot{padding-bottom:calc(35.2px + 40px)}

/* ---- motion + print ------------------------------------------ */
@media (prefers-reduced-motion:reduce){
  .rw-head *,.rw-head *::before,.rw-head *::after,.rw-foot *,.rw-foot *::before,.rw-foot *::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
@media print{.rw-head,.rw-foot,.rw-skip,.rw-dock{display:none!important}}
