/* ============================================================
   Volta: components shared by every page (home + content pages).
   Top bar, footer, location block, tier chips, proof line, [confirm] marks.
   ============================================================ */

/* ---- self-hosted fonts (SIL Open Font License), latin subset ---- */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin.woff2) format('woff2')}
@font-face{font-family:'Marcellus';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/marcellus-latin.woff2) format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/plus-jakarta-sans-latin.woff2) format('woff2')}

/* ---- founding top bar ---- */
.topbar{position:sticky;top:0;z-index:1050;display:flex;align-items:center;justify-content:center;gap:8px;
  background:#D2F362;color:#0B0B0B;font-family:'Inter',system-ui,sans-serif;font-size:13.5px;line-height:1.4;
  padding:4px 52px 4px 16px;min-height:44px;text-align:center}
.topbar p{margin:0}
.topbar a{color:#0B0B0B;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;
  display:inline-block;padding:10px 2px}
.topbar-x{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;background:none;
  color:#0B0B0B;font-size:22px;line-height:1;cursor:pointer;border-radius:8px}
.topbar-x:hover,.topbar-x:focus-visible{background:rgba(0,0,0,.08)}
html.tb-off .topbar{display:none}
:root{--tb-h:44px}
@media(max-width:640px){ :root{--tb-h:62px} .topbar{font-size:12.5px} }
html.tb-off{--tb-h:0px}
/* headers sit under the bar */
.site-head{top:var(--tb-h)}
#site-header{top:var(--tb-h)}
#site-header.scrolled{top:var(--tb-h)}

/* ---- [confirm] placeholders: visible on purpose until the owner supplies the fact ---- */
mark.confirm{background:#FFF3B0;color:#5A4500;padding:0 .25em;border-radius:3px;font-size:.92em}

/* ---- proof line ---- */
.vb-proof{font-family:'Marcellus',serif;font-size:clamp(20px,2.6vw,28px);line-height:1.35;text-align:center;
  max-width:28ch;margin:0 auto;color:inherit}

/* ---- location block ("Right off the QEW") ---- */
.vb-loc{background:#0B0B0B;color:#fff;padding:clamp(54px,7vw,96px) 0}
.vb-wrap{max-width:1180px;margin:0 auto;padding:0 clamp(22px,5vw,60px)}
.vb-loc h2{font-family:'Marcellus',serif;font-weight:400;font-size:clamp(28px,4.4vw,52px);line-height:1.1;margin:0 0 18px}
.vb-loc p{color:#c2c8d0;font-size:clamp(16px,1.5vw,19px);line-height:1.75;max-width:68ch;margin:0}
.vb-drive{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:36px 0 0;padding:0}
.vb-drive li{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:20px 16px;
  display:flex;flex-direction:column;gap:6px}
.vb-drive .t{font-family:'Marcellus',serif;font-size:clamp(20px,2.4vw,28px);color:#3D8BFF;line-height:1.1}
.vb-drive .p{font-size:13px;color:#aeb4bd}
@media(max-width:640px){ .vb-drive{grid-template-columns:1fr 1fr} }

/* ---- tier chips (link to join with ?tier=) ---- */
.tier-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:22px auto 30px;max-width:620px}
.tier-chip{display:inline-flex;align-items:center;min-height:44px;font-size:14.5px;font-weight:600;color:#fff;
  text-decoration:none;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.22);border-radius:100px;
  padding:10px 20px;transition:background .2s,border-color .2s}
.tier-chip:hover,.tier-chip:focus-visible{background:rgba(255,255,255,.14);border-color:#D2F362}

/* ---- footer ---- */
.site-foot{background:#08090C;color:#8a919b;padding:54px clamp(22px,5vw,60px);font-size:13px;font-family:'Inter',system-ui,sans-serif}
.site-foot .ft-top{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center;
  border-bottom:1px solid #1a1d23;padding-bottom:22px;margin-bottom:22px}
.site-foot .logo{display:inline-flex;align-items:center;text-decoration:none}
.site-foot .logo .logo-img{height:23px;width:auto;display:block}
.site-foot nav{display:flex;gap:4px 18px;flex-wrap:wrap}
.site-foot nav a{color:#aeb4bd;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.site-foot nav a:hover{color:#fff}
.site-foot .area{max-width:900px;border-bottom:1px solid #1a1d23;padding-bottom:18px;margin-bottom:18px}
.site-foot .ft-loc{font-family:'Marcellus',serif;color:#e8ecf2;font-size:clamp(17px,2.2vw,22px);line-height:1.4;margin:0 0 10px}
.site-foot .ft-proof{color:#D2F362;margin:0 0 8px;line-height:1.6}
.site-foot .ft-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.site-foot .ft-cta{color:#fff;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.site-foot .ft-cta:hover{color:#D2F362}

/* ---- stub pages ---- */
.stub{max-width:720px;margin:0 auto;padding:clamp(64px,10vw,120px) clamp(22px,5vw,60px)}
.stub h1{font-family:'Marcellus',serif;font-weight:400;font-size:clamp(32px,5vw,56px);line-height:1.08;margin:0 0 18px}
.stub p{font-size:17px;line-height:1.75;color:#5B6470;margin:0 0 18px}
.stub a.btn{margin-top:8px}

/* ---- touch targets: 44px minimum (spec QA) ---- */
.topbar a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;vertical-align:middle}
.site-head .logo,#site-header .logo,.site-foot .logo{min-height:44px;display:inline-flex;align-items:center}
.m-burger,.menu-btn{min-width:44px;min-height:44px;align-items:center;justify-content:center}
.m-burger span,.menu-btn span{width:26px;flex:0 0 auto}
.site-foot nav a{min-width:44px;justify-content:center}
.crumbs a{display:inline-block;padding:14px 0;margin:-14px 0}

/* visually hidden, still read by screen readers */
.vh{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---- footer social + Google profile ---- */
.site-foot .ft-social{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:6px}
.site-foot .ft-social a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#e8ecf2;text-decoration:none;font-weight:500}
.site-foot .ft-social a:hover{color:#D2F362}
.site-foot .ft-social svg{flex:0 0 auto}
