/* v4 homepage sections, scoped under .hb so they cannot restyle the control
   homepage hero. Generated from home.html by scope.js (2026-09-30); edit the
   source page, then regenerate. */
.hb{
  --ink:#2E3A41; --ink-2:#5A6A72; --brand:#46963B; --brand-deep:#3A7F30; --brand-bright:#5BA649;
  --on-brand:#FFFFFF; --paper:#FFFFFF; --paper-2:#F1F5F0; --wash:#E4EFE1; --surface:#EBF2E9;
  --hair:#E2E8E1; --band:#2E3A41; --band-2:#1A2329; --band-ink:#FFFFFF; --band-ink-2:#C4D0D6;
  --card-on-band:#FFFFFF; --card-ink:#2E3A41;
  --note-bg:#FFF6D6; --note-ink:#5E4A06;
  --shadow:0 10px 26px rgba(34,48,46,.09); --shadow-hover:0 20px 42px rgba(34,48,46,.15);
  --display:Rubik, system-ui, sans-serif; --body:'DM Sans', system-ui, sans-serif;
  --ease:cubic-bezier(.2,.8,.3,1);
  --r-slab:76px 46px 72px 50px / 50px 72px 46px 76px;
  --r-card-1:42px 26px 40px 29px / 29px 40px 26px 42px;
  --r-card-2:30px 44px 27px 38px / 41px 28px 43px 30px;
  --r-card-3:38px 29px 44px 26px / 27px 42px 30px 40px;
  --r-card-4:44px 28px 32px 41px / 30px 39px 43px 27px;
  --r-card-5:27px 41px 43px 30px / 44px 29px 26px 38px;
  --r-card-6:40px 43px 29px 27px / 38px 26px 41px 44px;
  --r-soft-1:28px 18px 26px 20px / 20px 26px 18px 28px;
  --r-soft-2:20px 29px 17px 26px / 27px 19px 28px 21px;
  --r-soft-3:26px 21px 29px 17px / 18px 28px 20px 27px;
  --r-soft-4:29px 19px 22px 27px / 21px 26px 29px 18px;
  --r-chip-1:12px 10px 11.5px 10.6px / 10.6px 11.5px 10px 12px;
  --r-chip-2:10.6px 12px 10px 11.4px / 11.4px 10px 12px 10.6px;
  --r-chip-3:11.5px 10.2px 12px 11px / 11px 12px 10.2px 11.5px;
  --r-chip-4:10.4px 11.8px 11px 12px / 12px 11px 11.8px 10.4px;
  --r-pill-1:1000px 880px 970px 920px; --r-pill-2:900px 1000px 850px 970px;
  --r-pill-3:960px 870px 1000px 930px; --r-pill-4:890px 990px 940px 1000px;
  --r-pill-5:1000px 950px 870px 910px; --r-pill-6:930px 1000px 1000px 860px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .hb{
    --ink:#FFFFFF; --ink-2:#AEBEC8; --brand:#7DCC6E; --brand-deep:#5FB550; --brand-bright:#8FD97F;
    --on-brand:#2E3A41; --paper:#141F24; --paper-2:#1F2E35; --wash:rgba(125,204,110,.16);
    --surface:#293E47; --hair:rgba(255,255,255,.12); --band:#0E171B; --band-2:#0A1114;
    --card-on-band:#1F2E35; --card-ink:#FFFFFF; --note-bg:#3A3212; --note-ink:#F3DE93;
    --shadow:0 10px 26px rgba(0,0,0,.35); --shadow-hover:0 20px 42px rgba(0,0,0,.45);
    color-scheme:dark;
  }
}
:root[data-theme="dark"] .hb{
  --ink:#FFFFFF; --ink-2:#AEBEC8; --brand:#7DCC6E; --brand-deep:#5FB550; --brand-bright:#8FD97F;
  --on-brand:#2E3A41; --paper:#141F24; --paper-2:#1F2E35; --wash:rgba(125,204,110,.16);
  --surface:#293E47; --hair:rgba(255,255,255,.12); --band:#0E171B; --band-2:#0A1114;
  --card-on-band:#1F2E35; --card-ink:#FFFFFF; --note-bg:#3A3212; --note-ink:#F3DE93;
  --shadow:0 10px 26px rgba(0,0,0,.35); --shadow-hover:0 20px 42px rgba(0,0,0,.45);
  color-scheme:dark;
}

.hb *{box-sizing:border-box}
.hb [hidden]{display:none!important}
.hb{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;margin:0}
.hb a{color:inherit}
.hb button{font:inherit;color:inherit;cursor:pointer}
.hb :focus-visible{outline:3px solid var(--brand-bright);outline-offset:3px}
.hb h1,.hb h2,.hb h3,.hb h4{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.08}
.hb p{margin:0}
.hb .wrap{max-width:1180px;margin:0 auto;padding-inline:20px}
.hb .eyebrow{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.hb .lede{color:var(--ink-2);font-size:18px;max-width:58ch}

/* buttons: solid, never outlined */
.hb .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;text-decoration:none;
  font-family:var(--display);font-weight:700;font-size:16px;padding:14px 24px;border-radius:var(--r-pill-1);
  background:var(--brand);color:var(--on-brand);box-shadow:var(--shadow);transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s}
.hb .btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);background:var(--brand-deep)}
.hb .btn.quiet{background:var(--wash);color:var(--ink);box-shadow:none}
.hb .btn.quiet:hover{background:var(--surface)}
.hb .btn.sm{font-size:14px;padding:10px 18px}


/* nav */

/* drawer */
.hb .store{display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--paper);text-decoration:none;padding:9px 14px;border-radius:var(--r-chip-2)}
.hb .store svg{width:20px;height:20px;fill:currentColor;flex:none}
.hb .store small{display:block;font-size:10px;opacity:.8;line-height:1.1}
.hb .store b{font-family:var(--display);font-size:15px;line-height:1.1}

.hb .flow{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:70px;display:block}
.hb .filters{display:flex;flex-wrap:wrap;gap:8px}
.hb .fchip{border:0;background:var(--paper);padding:8px 15px;font-weight:700;font-size:14px;box-shadow:0 2px 8px rgba(34,48,46,.06)}
.hb .fchip:nth-child(1){border-radius:var(--r-pill-1)}.hb .fchip:nth-child(2){border-radius:var(--r-pill-4)}.hb .fchip:nth-child(3){border-radius:var(--r-pill-6)}.hb .fchip:nth-child(4){border-radius:var(--r-pill-2)}
.hb .fchip[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.hb .sortline{margin-top:12px;font-size:14px;color:var(--ink-2);min-height:1.5em}
.hb .plain-link{font-weight:700;text-underline-offset:4px}

/* one job, start to finish */

/* straight answers */
.hb .straight{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:stretch}
.hb .straight .eyebrow{color:var(--brand-deep);margin-bottom:14px}
.hb .get{padding:34px 8px 10px 0}
.hb .get ul{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.hb .get li{font-size:18px;color:var(--ink-2);padding-left:30px;position:relative}
.hb .get li::before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 5px var(--wash)}
.hb .get li b{color:var(--ink);font-family:var(--display)}
.hb .dont{background:var(--ink);color:#fff;padding:38px;border-radius:var(--r-slab)}
.hb .dont h3{color:#fff}
.hb .dont .eyebrow{color:var(--brand-bright)}
.hb .dont h3{font-size:30px;font-weight:900}
.hb .dont p{margin-top:12px;color:var(--band-ink-2);font-size:17px}
.hb .dont a{display:inline-block;margin-top:16px;font-weight:700;color:var(--brand-bright);text-underline-offset:3px}
:root[data-theme="dark"] .hb .dont{background:var(--surface)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hb .dont{background:var(--surface)}}
@media (max-width:820px){.hb .straight{grid-template-columns:1fr}.hb .get{padding:0 0 10px}}

/* towns */
.hb .towns{display:flex;flex-wrap:wrap;gap:6px 30px;font-family:var(--display);font-weight:700;font-size:clamp(20px,2.4vw,28px);line-height:1.5}
.hb .towns a{text-decoration:none;background-image:linear-gradient(var(--wash),var(--wash));background-size:100% .34em;background-repeat:no-repeat;background-position:0 88%;transition:background-size .3s var(--ease)}
.hb .towns a:hover{background-size:100% .9em}
.hb .towns a.all{color:var(--brand-deep)}

/* section rhythm */
.hb section{position:relative}
.hb .sec{padding-block:90px}
.hb .sec.tint{background:var(--paper-2)}
.hb .sec-head{display:grid;gap:14px;margin-bottom:34px}
.hb .sec-head.center{text-align:center;justify-items:center}
.hb .sec-head h2{font-size:clamp(32px,4.2vw,50px);font-weight:900;letter-spacing:-.015em}
.hb .sec-head .eyebrow{color:var(--brand-deep)}
.hb .sec .note{margin-bottom:28px}

/* v3 hero: post first, clips make the case */
.hb .btn.big{font-size:18px;padding:16px 30px;border-radius:var(--r-pill-2)}

/* directory */
.hb .dirbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:6px}
.hb .dirbar .filters{margin-top:0}
.hb .neartown{display:flex;align-items:center;gap:6px;background:var(--paper);border-radius:var(--r-pill-6);padding:5px 5px 5px 16px;box-shadow:0 2px 8px rgba(34,48,46,.06)}
.hb .neartown label{font-weight:700;font-size:14px}
.hb .neartown input{border:0;background:transparent;font:inherit;color:var(--ink);width:160px;padding:7px 4px}
.hb .neartown input:focus{outline:none}
.hb .neartown:focus-within{box-shadow:0 0 0 3px var(--brand-bright)}
.hb .neartown button{border:0;background:var(--ink);color:var(--paper);font-weight:700;padding:8px 16px;border-radius:var(--r-pill-3)}
.hb .dirfoot{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;margin-top:30px;color:var(--ink-2)}
.hb .dirfoot a:not(.btn){font-weight:700;color:var(--brand-deep);text-underline-offset:3px}

/* story cta + sticky post bar */
.hb .howvid{display:flex;justify-content:center;margin:6px 0 26px}.hb .howvid video{display:block;width:100%;max-width:560px;aspect-ratio:1/1;height:auto;border-radius:var(--r-slab);box-shadow:var(--shadow);background:#F1F5F0}.hb .storycta.howcta{padding-left:0;justify-content:center}
.hb .storycta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:6px;padding-left:210px;color:var(--ink-2)}
@media (max-width:700px){.hb .storycta{padding-left:0}}
.hb .stickypost{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:25;display:flex;align-items:center;gap:14px;
  background:var(--ink);color:var(--paper);padding:8px 8px 8px 20px;border-radius:var(--r-pill-5);box-shadow:var(--shadow-hover);font-weight:700;
  opacity:0;transform:translateY(20px);pointer-events:none;visibility:hidden;
  transition:opacity .35s var(--ease),transform .35s var(--ease),visibility 0s linear .35s}
/* Fades and slides the same way out as in, so scrolling back up to the post
   box eases it away instead of snapping it off. */
.hb .stickypost.show{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .35s var(--ease),transform .35s var(--ease),visibility 0s}
@media (max-width:600px){.hb .stickypost{left:12px;right:12px;justify-content:space-between}}
@media (prefers-reduced-motion:reduce){.hb .stickypost,.hb .stickypost.show{transition:none;transform:none}}

.hb .dont .small{font-size:14px;margin-top:10px;opacity:.85}

/* video-first directory: the clip is the listing */
.hb .feedgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:12px}
.hb .tile{position:relative;aspect-ratio:9/16;overflow:hidden;background:#10181C;box-shadow:var(--shadow);cursor:pointer;border:0;padding:0;text-align:left;color:#fff;display:block;width:100%}
.hb .feedgrid .tile:nth-child(6n+1){border-radius:var(--r-card-1)}.hb .feedgrid .tile:nth-child(6n+2){border-radius:var(--r-card-3)}
.hb .feedgrid .tile:nth-child(6n+3){border-radius:var(--r-card-5)}.hb .feedgrid .tile:nth-child(6n+4){border-radius:var(--r-card-2)}
.hb .feedgrid .tile:nth-child(6n+5){border-radius:var(--r-card-6)}.hb .feedgrid .tile:nth-child(6n+6){border-radius:var(--r-card-4)}
.hb .tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:drift 14s ease-in-out infinite alternate}
.hb .feedgrid .tile:nth-child(2n) img{animation-delay:-5s}
.hb .feedgrid .tile:nth-child(3n) img{animation-delay:-9s}
@keyframes drift{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.1) translate(-2%,-3%)}}
.hb .tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,17,20,.35) 0,transparent 22%,transparent 50%,rgba(10,17,20,.85) 100%);pointer-events:none}
.hb .tile .live{position:absolute;top:12px;left:12px;z-index:2;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700}
.hb .tile .live i{width:0;height:0;border-left:8px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent}
.hb .pin{position:absolute;left:10px;right:10px;bottom:10px;z-index:2;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.96);color:#2E3A41;padding:8px 8px 8px 8px;border-radius:18px 14px 17px 15px}
.hb .pin img{position:static;width:38px;height:38px;border-radius:50%;object-fit:cover;animation:none;flex:none}
.hb .pin .pt{flex:1;min-width:0;line-height:1.2}
.hb .pin .pt b{display:block;font-family:var(--display);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hb .pin .pt span{display:block;font-size:12px;color:#5A6A72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hb .pin .book{flex:none;border:0;background:#46963B;color:#fff;font-family:var(--display);font-weight:700;font-size:13px;padding:8px 13px;border-radius:var(--r-pill-3)}
.hb .pin .book:hover{background:#3A7F30}
.hb .tile .cap2{position:absolute;left:14px;right:14px;bottom:74px;z-index:2;font-size:14px;font-weight:700;line-height:1.3;text-shadow:0 1px 6px rgba(0,0,0,.5)}
@media (max-width:1000px){.hb .feedgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.hb .feedgrid{grid-template-columns:1fr 1fr;gap:10px}.hb .tile .cap2{display:none}.hb .pin{flex-wrap:wrap}.hb .pin .book{width:100%}}
@media (prefers-reduced-motion:reduce){.hb .tile img{animation:none}}

/* full-screen feed */
.hb .viewer{position:fixed;inset:0;z-index:60;background:#0A1114;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:calc(12px + env(safe-area-inset-top,0px)) 16px calc(12px + env(safe-area-inset-bottom,0px))}
.hb .vclose{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:16px;z-index:3;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:26px;line-height:1}
.hb .vstage{display:flex;align-items:center;gap:18px;height:min(86vh,900px);max-width:100%}
.hb .vclip{position:relative;height:100%;aspect-ratio:9/16;max-width:calc(100vw - 32px);overflow:hidden;border-radius:30px 24px 29px 25px;background:#10181C}
.hb .vclip > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:drift 16s ease-in-out infinite alternate}
.hb .vclip::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,17,20,.4) 0,transparent 18%,transparent 55%,rgba(10,17,20,.9) 100%);pointer-events:none}
.hb .vclip.enter > img{animation:vin .45s var(--ease),drift 16s ease-in-out .45s infinite alternate}
@keyframes vin{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.hb .vtop{position:absolute;top:16px;left:16px;right:64px;z-index:2;font-size:13px;font-weight:700;opacity:.9}
.hb .vbig{position:absolute;top:50%;left:50%;width:74px;height:74px;margin:-37px 0 0 -37px;border-radius:50%;background:rgba(255,255,255,.9);z-index:2;display:grid;place-items:center}
.hb .vbig::after{content:"";border-left:22px solid #2E3A41;border-top:14px solid transparent;border-bottom:14px solid transparent;margin-left:6px}
.hb .vrail{position:absolute;right:12px;bottom:170px;z-index:2;display:grid;gap:16px;justify-items:center}
.hb .vrail button{border:0;background:rgba(255,255,255,.16);color:#fff;width:48px;height:48px;border-radius:50%;font-size:11px;font-weight:700;display:grid;place-items:center;line-height:1.1}
.hb .vrail span{font-size:11px;font-weight:700;margin-top:-10px}
.hb .vtext{position:absolute;left:16px;right:74px;bottom:112px;z-index:2}
.hb .vtext b{display:block;font-family:var(--display);font-size:20px}
.hb .vtext span{font-size:14px;opacity:.9}
.hb .vpin{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;display:flex;align-items:center;gap:12px;background:#fff;color:#2E3A41;padding:10px;border-radius:20px 16px 19px 17px}
.hb .vpin img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none}
.hb .vpin .pt{flex:1;min-width:0;line-height:1.25}
.hb .vpin .pt b{display:block;font-family:var(--display);font-size:16px}
.hb .vpin .pt span{display:block;font-size:12px;color:#5A6A72}
.hb .vpin .book{border:0;background:#46963B;color:#fff;font-family:var(--display);font-weight:700;font-size:15px;padding:11px 18px;border-radius:var(--r-pill-2)}
.hb .vnav{display:grid;gap:10px}
.hb .vnav button{width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.14);display:grid;place-items:center}
.hb .vnav span{width:11px;height:11px;border-left:2.5px solid #fff;border-top:2.5px solid #fff}
.hb .vnav .up{transform:rotate(45deg) translate(2px,2px)}.hb .vnav .down{transform:rotate(225deg) translate(2px,2px)}
.hb .vhint{margin-top:12px;font-size:13px;opacity:.6;text-align:center}
@media (max-width:640px){.hb .vnav{display:none}.hb .vstage{height:calc(100% - 40px)}}
.hb .sheet{position:absolute;left:0;right:0;bottom:0;z-index:4;background:#fff;color:#2E3A41;padding:22px 20px 20px;border-radius:26px 22px 0 0;display:grid;gap:10px;animation:rise .35s var(--ease)}
.hb .sheet b{font-family:var(--display);font-size:20px}
.hb .sheet p{color:#5A6A72;font-size:14px}
.hb .sheet .row{display:flex;gap:8px;flex-wrap:wrap}
.hb .sheet .btn{font-size:15px;padding:11px 18px}
body.viewer-open{overflow:hidden}
/* faq */
.hb .faq{max-width:780px;margin:0 auto;display:grid;gap:10px}
.hb .faq details{background:var(--paper);box-shadow:var(--shadow);padding:4px 22px}
.hb .faq details:nth-child(4n+1){border-radius:var(--r-soft-1)}.hb .faq details:nth-child(4n+2){border-radius:var(--r-soft-3)}
.hb .faq details:nth-child(4n+3){border-radius:var(--r-soft-2)}.hb .faq details:nth-child(4n+4){border-radius:var(--r-soft-4)}
.hb .faq summary{font-family:var(--display);font-weight:700;font-size:18px;padding:16px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}
.hb .faq summary::-webkit-details-marker{display:none}
.hb .faq summary::after{content:"+";color:var(--brand-deep);font-size:24px;line-height:1}
.hb .faq details[open] summary::after{content:"\2013"}
.hb .faq details p{color:var(--ink-2);padding-bottom:18px}

/* closing band + footer */
.hb .closing{background:var(--band);color:var(--band-ink);text-align:center;padding-block:90px 80px}
.hb .closing h2{font-size:clamp(34px,4.6vw,56px);font-weight:900}
.hb .closing p{color:var(--band-ink-2);margin:16px auto 0;max-width:48ch;font-size:18px}
.hb .closing .row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}
.hb .closing .btn.quiet{background:rgba(255,255,255,.12);color:#fff}
.hb .closing .stores{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px}
.hb .closing .store{background:#fff;color:#2E3A41}
.hb footer{background:var(--band-2);color:var(--band-ink-2);padding-block:56px 40px;font-size:15px}
.hb .fgrid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:30px}
.hb footer .logo{color:#fff}
.hb footer h5{font-family:var(--display);color:#fff;font-size:15px;margin:0 0 12px}
.hb footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.hb footer a{text-decoration:none}
.hb footer a:hover{color:#fff;text-decoration:underline}
.hb .fbottom{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
@media (max-width:760px){.hb .fgrid{grid-template-columns:1fr 1fr}}

/* live page additions */
.hb footer .flogo{height:28px;width:auto}
.hb .linkbtn{border:0;background:none;padding:0;font-weight:700;color:var(--brand-deep);text-decoration:underline;text-underline-offset:3px}
.hb .faq details p a{color:var(--brand-deep);font-weight:700}
.hb .tile .live{background:rgba(10,17,20,.55);padding:3px 9px;border-radius:var(--r-chip-2)}
.hb .tile .tplay{position:absolute;top:50%;left:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:rgba(255,255,255,.9);z-index:2;display:grid;place-items:center}
.hb .tile .tplay::after{content:"";border-left:14px solid #2E3A41;border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:4px}
.hb .tile img{animation:none}
.hb .pin{padding:8px 8px 8px 12px}
.hb .vclip video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;background:transparent}
.hb .vclip .vtop,.hb .vclip .vrail,.hb .vclip .vtext,.hb .vclip .vpin,.hb .vclip .vsound{z-index:3}
.hb .vclip::after{z-index:2}
.hb .vsound{position:absolute;top:14px;left:14px;border:0;background:rgba(10,17,20,.55);color:#fff;font-weight:700;font-size:13px;padding:7px 12px;border-radius:var(--r-pill-4)}
.hb .vrail a,.hb .vrail button{display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:11px;font-weight:700;text-decoration:none;cursor:pointer}
.hb .vpin{padding:10px 10px 10px 16px}
.hb .vpin a.book{text-decoration:none}
.hb .story .timeline li .when{min-width:0}
.hb .fchip:nth-child(5){border-radius:var(--r-pill-5)}.hb .fchip:nth-child(6){border-radius:var(--r-pill-3)}
.hb .tile:focus-visible{outline:3px solid var(--brand-bright);outline-offset:3px}
.hb .btn.app{background:var(--ink);color:var(--paper);gap:8px;font-size:14px;padding:10px 18px;border-radius:var(--r-pill-4)}
.hb .btn.app:hover{background:var(--ink);opacity:.88}
.hb .btn.app .phone{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.hb .btn.app .applbl-s{display:none}
/* Solid action buttons are the logo's own N green in BOTH themes: dark mode
   lightens --brand for text, but a button should match the logo (2026-09-26). */
.hb .btn:not(.quiet):not(.app){background:#46963B;color:#FFFFFF}
.hb .btn:not(.quiet):not(.app):hover{background:#3A7F30}

/* lid-skin bubbles (2026-10-06): decorative tool icons in uneven blobs, in the
   shared lower sections only (never the hero). Kept in BOTH homepage arms. */
.hb .bubsprite{position:absolute;width:0;height:0;overflow:hidden}
.hb .bubs{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.hb .bubs~.wrap{position:relative;z-index:1}
.hb .bub{position:absolute;display:flex;align-items:center;justify-content:center;width:var(--s);height:var(--s);transform:rotate(var(--r));box-shadow:0 10px 24px rgba(0,0,0,.14);animation:bubfloat 9s ease-in-out infinite alternate}
.hb .bub svg{width:44%;height:44%;fill:currentColor}
.hb .c-g{background:#46963B;color:#FFFFFF}
.hb .c-s{background:#2E3A41;color:#7DCC6E}
.hb .c-h{background:#E4EFE1;color:#46963B}
.hb .c-w{background:#FFFFFF;color:#2E3A41}
.hb .sh1{border-radius:58% 42% 46% 54% / 48% 54% 46% 52%}
.hb .sh2{border-radius:46% 54% 58% 42% / 54% 46% 52% 48%}
.hb .sh3{border-radius:52% 48% 42% 58% / 46% 52% 54% 46%}
.hb .sh4{border-radius:44% 56% 51% 49% / 53% 47% 49% 51%}
.hb .p-tl{--s:84px;--r:-8deg;left:-20px;top:4px}
.hb .p-tr{--s:76px;--r:7deg;right:-14px;top:6px;animation-delay:-3s}
.hb .p-bl{--s:80px;--r:5deg;left:-16px;bottom:6px;animation-delay:-5s}
.hb .p-br{--s:92px;--r:-6deg;right:-22px;bottom:2px;animation-delay:-2s}
.hb .p-sl{--s:104px;--r:6deg;left:-44px;top:44%;animation-delay:-6s}
.hb .p-sr{--s:100px;--r:-5deg;right:-40px;top:40%;animation-delay:-4s}
@keyframes bubfloat{from{transform:translateY(0) rotate(var(--r))}to{transform:translateY(-8px) rotate(var(--r))}}
@media (max-width:1279px){.hb .p-sl,.hb .p-sr{display:none}}
@media (max-width:600px){.hb .p-tl{--s:60px;left:-14px}.hb .p-tr{--s:52px;right:-10px}.hb .p-bl{--s:56px;left:-12px}.hb .p-br{--s:64px;right:-14px}.hb #closing .p-tr,.hb #closing .p-bl{display:none}}
@media (prefers-reduced-motion:reduce){.hb .bub{animation:none}}
