/* ==========================================================================
   BACKYARD DIGITAL — site.css
   Retro Americana system (inherited from the Pesky Bros build, 2026-09 rebrand)
   Warm cream canvas · deep brown ink · tomato action · mustard highlights ·
   umber anchors. Alfa Slab One headlines, paper grain, hard offset shadows.
   Rules that keep it premium:
   - tomato = action & money numbers ONLY (CTAs, prices, metrics, flags, logo dot)
   - umber brown = the supporting layer (labels, checks, anchors, dark bands); tomato never sits ON umber
   - mustard = highlights & badges only, never body text
   ========================================================================== */

/* ---------- fonts ---------- */
@font-face{font-family:'Alfa Slab One';font-style:normal;font-weight:400;
  src:url('../fonts/alfa-slab-one-latin-400-normal.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Archivo Black';font-style:normal;font-weight:400;
  src:url('../fonts/archivo-black-latin-400-normal.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;
  src:url('../fonts/archivo-latin-400-normal.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;
  src:url('../fonts/archivo-latin-600-normal.woff2') format('woff2');font-display:swap}

/* ---------- tokens ---------- */
:root{
  --ink:#2E2014;          /* deep brown type + emphasis components */
  --ink-soft:#3E2C1F;     /* dark umber band background */
  --cream:#F7EDD8;        /* warm base background */
  --white:#FFF8EA;        /* paper white — alternate sections + cards */
  --cream-deep:#EFDFC0;   /* deep bands */
  --accent:#C93E1B;       /* tomato — CTAs + key numbers ONLY */
  --accent-down:#A83115;
  --pine:#4A3423;         /* umber: the supporting layer (was spruce; var name kept) */
  --pine-down:#33241A;
  --mustard:#E8A82E;      /* highlights, badges, kickers-on-dark */
  --slate:#6B5847;        /* secondary text on light */
  --steel:#C9B490;        /* secondary text INSIDE dark emphasis components */
  --line:rgba(46,32,20,.14);
  --line-strong:rgba(46,32,20,.26);
  --shadow:4px 4px 0 rgba(46,32,20,.13);
  --head:'Alfa Slab One',Georgia,serif;
  --body:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --rad:10px;
  --rad-s:7px;
  --wrap:1140px;
}

/* ---------- reset ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{background:var(--cream);color:var(--ink);font-family:var(--body);
  font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
::selection{background:var(--accent);color:var(--white)}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:24px}
@media(min-width:720px){.wrap{padding-inline:36px}}

/* ---------- type ---------- */
h1,h2,h3,.display{font-family:var(--head);font-weight:400;line-height:1.08;letter-spacing:.005em}
h1,h2{text-wrap:balance}
[id]{scroll-margin-top:86px}
h1{font-size:clamp(2.15rem,5.6vw,3.7rem)}
h2{font-size:clamp(1.65rem,3.6vw,2.4rem)}
h3{font-size:1.12rem;line-height:1.32;font-family:var(--body);font-weight:600}
.kicker{font-family:var(--body);font-weight:600;font-size:.8rem;letter-spacing:.26em;
  text-transform:uppercase;color:var(--pine);margin-bottom:18px}
.sec-sub{color:var(--slate);max-width:640px;font-size:1.05rem;margin-top:16px}
.center{text-align:center}
.center .sec-sub{margin-inline:auto}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-weight:600;font-size:1rem;padding:16px 28px;border-radius:var(--rad-s);
  transition:transform .15s ease,background .15s ease,border-color .15s ease;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--accent);color:var(--white)}
.btn-primary:hover{background:var(--accent-down)}
.btn-ghost{border:1.5px solid rgba(28,74,62,.5);color:var(--pine)}
.btn-ghost:hover{border-color:var(--pine);background:rgba(28,74,62,.06)}
.btn-dark{background:var(--pine);color:var(--cream)}
.btn-dark:hover{background:var(--pine-down)}
.btn-sm{padding:11px 18px;font-size:.9rem;border-radius:8px}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:50;background:rgba(248,244,236,.9);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:28px;height:70px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--head);
  font-size:1.05rem;letter-spacing:.02em;color:var(--ink)}
.brand svg{width:24px;height:24px;color:var(--accent)}
.brand svg g{stroke:var(--pine)}
.nav-links{display:none;gap:26px;font-size:.95rem;color:#4A423A}
.nav-links a:hover{color:var(--ink)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:18px}
.nav-phone{display:none;font-weight:600;font-size:.95rem;color:#4A423A}
.nav-phone:hover{color:var(--ink)}
.nav-burger{display:flex;flex-direction:column;gap:5px;padding:8px}
.nav-burger span{width:22px;height:2px;background:var(--ink);transition:.2s}
.mobile-menu{display:none;border-top:1px solid var(--line);padding:18px 24px 26px;
  flex-direction:column;gap:16px;font-size:1.05rem;background:var(--cream)}
.mobile-menu a{padding:4px 0}
.nav-open .mobile-menu{display:flex}
.nav-open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-open .nav-burger span:nth-child(2){opacity:0}
.nav-open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(min-width:1024px){
  .nav-links{display:flex}
  .nav-phone{display:block}
  .nav-burger,.mobile-menu{display:none!important}
}

/* ---------- sections (rhythm: cream ↔ white ↔ deep cream) ---------- */
.sec{padding-block:88px;border-top:1px solid var(--line)}
.sec.light{background:var(--white);border-top:none}
.sec.deep{background:#EAEFE6;border-top:none}
.sec-head{margin-bottom:52px}
@media(max-width:719px){.sec{padding-block:64px}.sec-head{margin-bottom:36px}}

/* ---------- hero ---------- */
.hero{padding-block:84px 78px;position:relative;overflow:hidden;border-top:none}
.hero-bg{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(52rem 30rem at 82% -10%,rgba(163,32,21,.09),transparent 60%),
             radial-gradient(40rem 26rem at -10% 110%,rgba(28,74,62,.10),transparent 60%)}
.hero-grid{position:relative;display:grid;gap:56px;align-items:center}
@media(min-width:1024px){.hero-grid{grid-template-columns:1.2fr .8fr}}
.hero .eyebrow{display:inline-block;font-weight:600;font-size:.8rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--cream);border:1px solid var(--pine);
  background:var(--pine);border-radius:99px;padding:8px 16px;margin-bottom:26px}
.hero h1{max-width:640px}
.hero-sub{color:var(--slate);font-size:1.12rem;max-width:560px;margin:22px 0 32px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-trust{margin-top:34px;color:var(--slate);font-size:.88rem;letter-spacing:.02em}
.hero-trust b{color:var(--ink);font-weight:600}

/* hero stat stack — white cards on cream */
.stat-stack{display:grid;gap:14px;position:relative}
.stat-card{background:var(--white);border:1px solid var(--line);border-radius:var(--rad);
  padding:20px 22px;display:flex;align-items:center;gap:18px;box-shadow:var(--shadow)}
.stat-card .n{font-family:var(--head);font-size:1.75rem;color:var(--accent);min-width:118px;line-height:1}
.stat-card .l{font-size:.9rem;color:var(--slate);line-height:1.4}
.stat-card .l b{color:var(--ink);font-weight:600;display:block;font-size:.95rem}
.stat-bar{height:6px;border-radius:3px;background:rgba(24,19,16,.10);margin-top:8px;overflow:hidden}
.stat-bar i{display:block;height:100%;width:0;border-radius:3px;background:var(--accent);
  transition:width 1.1s cubic-bezier(.2,.7,.2,1)}
.sample-tag{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);
  border:1px dashed rgba(106,97,86,.5);border-radius:6px;padding:5px 10px;justify-self:start}

/* ---------- entity band — spruce anchor ---------- */
.entity{background:var(--pine);padding-block:34px}
.entity p{font-size:1.06rem;color:#CFDDD3;max-width:900px}
.entity b{color:var(--white)}

/* ---------- pain ---------- */
.card-grid{display:grid;gap:18px}
@media(min-width:720px){.card-grid.g3{grid-template-columns:repeat(3,1fr)}.card-grid.g4{grid-template-columns:repeat(4,1fr)}}
.pain-card{background:var(--cream);border:1px solid var(--line);border-radius:var(--rad);padding:26px}
.pain-card .x{font-family:var(--head);font-size:1.3rem;color:var(--accent);margin-bottom:12px}
.pain-card h3{margin-bottom:10px}
.pain-card p{color:var(--slate);font-size:.98rem}
.pain-pivot{margin-top:40px;font-family:var(--head);font-size:clamp(1.25rem,2.6vw,1.7rem);max-width:760px;line-height:1.25}
.pain-pivot span{color:var(--accent)}

/* ---------- pipeline ---------- */
.pipe-grid{display:grid;gap:18px}
@media(min-width:720px){.pipe-grid{grid-template-columns:repeat(4,1fr)}}
.pipe-step{background:var(--white);border:1px solid var(--line);border-radius:var(--rad);
  padding:26px 24px;position:relative;box-shadow:var(--shadow)}
.pipe-step .num{font-family:var(--head);font-size:.85rem;color:var(--cream);
  background:var(--pine);width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.pipe-step h3{margin-bottom:10px}
.pipe-step p{color:var(--slate);font-size:.95rem}
.pipe-note{margin-top:34px;color:var(--slate);font-size:1rem;max-width:640px}
.pipe-note b{color:var(--ink)}

/* video slot */
.video-slot{margin-top:48px;position:relative;border-radius:var(--rad);overflow:hidden;
  border:1px solid var(--line);background:linear-gradient(135deg,var(--white) 0%,#EAEFE6 100%);
  aspect-ratio:16/7.2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;box-shadow:var(--shadow)}
.video-slot .play{width:74px;height:74px;border-radius:50%;background:var(--accent);
  display:flex;align-items:center;justify-content:center;transition:transform .15s;box-shadow:0 12px 30px rgba(163,32,21,.35)}
.video-slot:hover .play{transform:scale(1.06)}
.video-slot .play svg{width:26px;height:26px;margin-left:4px;color:var(--white)}
.video-slot p{color:var(--slate);font-size:.92rem}

/* ---------- services ---------- */
.svc-card{background:var(--white);border:1px solid var(--line);border-radius:var(--rad);
  padding:30px 28px;display:flex;flex-direction:column;gap:14px;transition:transform .18s,border-color .18s,box-shadow .18s;box-shadow:var(--shadow)}
.svc-card:hover{transform:translateY(-4px);border-color:rgba(163,32,21,.5);box-shadow:0 16px 40px rgba(24,19,16,.10)}
.svc-card .ico{width:46px;height:46px;border-radius:10px;background:rgba(163,32,21,.10);
  display:flex;align-items:center;justify-content:center}
.svc-card .ico svg{width:24px;height:24px;color:var(--accent)}
.svc-badge{align-self:flex-start;font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  background:var(--accent);color:var(--white);padding:5px 10px;border-radius:6px}
.svc-card p{color:var(--slate);font-size:.97rem;flex:1}
.svc-link{font-weight:600;font-size:.95rem;color:var(--ink)}
.svc-card:hover .svc-link{color:var(--accent)}

/* ---------- calculator ---------- */
.calc-grid{display:grid;gap:36px}
@media(min-width:1024px){.calc-grid{grid-template-columns:1fr 1fr;gap:56px;align-items:start}}
.calc-panel{background:var(--cream);border:1px solid var(--line);border-radius:var(--rad);padding:30px 28px}
.calc-field{margin-bottom:22px}
.calc-field label{display:flex;justify-content:space-between;align-items:baseline;
  font-weight:600;font-size:.95rem;margin-bottom:10px}
.calc-field label output{font-family:var(--head);font-size:1.05rem}
.calc-field input[type=range]{width:100%;accent-color:var(--accent);height:30px}
.calc-divider{border:none;border-top:1px dashed var(--line-strong);margin:26px 0}
.calc-with{font-size:.85rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--pine);margin-bottom:16px}
.calc-out{display:grid;gap:16px}
@media(min-width:520px){.calc-out{grid-template-columns:1fr 1fr}}
/* result tiles: deliberate ink emphasis — the "money moment" */
.out-tile{background:var(--pine);color:var(--cream);border-radius:var(--rad);padding:24px}
.out-tile .n{display:block;font-family:var(--head);font-size:clamp(1.9rem,3.4vw,2.5rem);color:var(--white);line-height:1.05}
.out-tile .l{color:var(--steel);font-size:.9rem;margin-top:8px}
.out-tile .l b{color:var(--cream)}
.out-tile .accent{color:var(--white)}
.out-wide{grid-column:1/-1}
.calc-note{margin-top:18px;color:var(--slate);font-size:.88rem;max-width:520px}

/* ---------- results ---------- */
.case-card{background:var(--white);border:1px solid var(--line);border-radius:var(--rad);padding:28px;
  display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}
.case-card .metric{font-family:var(--head);font-size:2.1rem;color:var(--accent);line-height:1}
.case-card .metric .unit{font-size:.5em;color:var(--slate)}
.case-card .vs{color:var(--slate);font-size:.9rem}
.case-card h3{font-size:1.02rem}
.case-card p{color:var(--slate);font-size:.93rem;flex:1}
.quote{margin-top:44px;background:var(--pine);color:var(--cream);border-left:4px solid var(--steel);
  border-radius:var(--rad);padding:30px 32px;max-width:820px;box-shadow:0 20px 50px rgba(22,59,50,.22)}
.quote p{font-size:1.15rem;line-height:1.55}
.quote footer{margin-top:14px;color:var(--steel);font-size:.92rem}
.results-cta{margin-top:44px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.results-cta .aside{color:var(--slate);font-size:.95rem}

/* ---------- pricing ---------- */
.toggle-row{display:flex;justify-content:center;margin:8px 0 44px}
.toggle{display:inline-flex;background:var(--cream-deep);border:1px solid var(--line);
  border-radius:99px;padding:5px;gap:4px}
.toggle button{padding:11px 22px;border-radius:99px;font-weight:600;font-size:.95rem;color:var(--slate);transition:.15s}
.toggle button.on{background:var(--pine);color:var(--cream)}
.toggle-hint{text-align:center;color:var(--slate);font-size:.88rem;margin-top:-30px;margin-bottom:40px}
.tier-grid{display:grid;gap:20px;align-items:stretch}
@media(min-width:900px){.tier-grid{grid-template-columns:repeat(3,1fr)}}
.tier{background:var(--white);border:1px solid var(--line);border-radius:var(--rad);
  padding:32px 28px;display:flex;flex-direction:column;position:relative;box-shadow:var(--shadow)}
/* popular tier: THE deliberate dark emphasis on a bright site */
.tier.popular{background:var(--pine);color:var(--cream);border-color:var(--pine);
  box-shadow:0 24px 60px rgba(22,59,50,.28)}
.tier .flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--accent);color:var(--white);font-size:.72rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;padding:6px 14px;border-radius:99px;white-space:nowrap}
.tier h3{font-size:1.25rem}
.tier .blurb{font-size:.92rem;color:var(--slate);margin-top:6px;min-height:44px}
.tier.popular .blurb{color:var(--steel)}
.tier .price{font-family:var(--head);font-size:2.6rem;margin:18px 0 2px;line-height:1}
.tier .price small{font-family:var(--body);font-weight:600;font-size:.95rem;color:var(--slate)}
.tier.popular .price small{color:var(--steel)}
.tier ul{list-style:none;margin:20px 0 26px;display:grid;gap:11px;flex:1}
.tier li{display:flex;gap:10px;font-size:.94rem;color:#4A423A;line-height:1.45}
.tier.popular li{color:#CFDDD3}
.tier.popular li svg{color:var(--cream)}
.tier li svg{flex:0 0 16px;width:16px;height:16px;margin-top:4px;color:var(--pine)}
.tier .btn{width:100%}
.tier.popular .btn{background:var(--white);color:var(--pine)}
.tier.popular .btn:hover{background:var(--cream)}
.tier:not(.popular) .btn{background:var(--pine);color:var(--cream)}
.tier:not(.popular) .btn:hover{background:var(--pine-down)}
.every-plan{margin-top:44px;border-top:1px dashed var(--line-strong);padding-top:28px;
  display:flex;flex-wrap:wrap;gap:12px 34px;justify-content:center;color:var(--slate);font-size:.93rem}
.every-plan span{display:flex;align-items:center;gap:9px}
.every-plan svg{width:15px;height:15px;color:var(--pine)}

/* ---------- FAQ ---------- */
.faq-list{max-width:820px;display:grid;gap:12px}
.faq-item{background:var(--white);border:1px solid var(--line);border-radius:var(--rad-s);overflow:hidden;box-shadow:var(--shadow)}
.faq-item summary{list-style:none;display:flex;justify-content:space-between;gap:20px;
  align-items:center;padding:20px 24px;font-weight:600;font-size:1.02rem;cursor:pointer}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-family:var(--head);color:var(--pine);font-size:1.2rem;transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .a{padding:0 24px 22px;color:var(--slate);font-size:.98rem;max-width:680px}
.faq-item .a a{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:rgba(163,32,21,.6)}

/* ---------- final CTA ---------- */
.final{padding-block:100px;text-align:center;position:relative;overflow:hidden;background:var(--white)}
.final .bg{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(46rem 26rem at 50% 130%,rgba(163,32,21,.10),transparent 62%)}
.final h2{font-size:clamp(2rem,4.6vw,3.2rem);max-width:820px;margin:0 auto 18px;position:relative}
.final p{color:var(--slate);max-width:560px;margin:0 auto 34px;position:relative}
.final .hero-ctas{justify-content:center;position:relative}

/* ---------- footer — spruce anchor ---------- */
.site-foot{background:var(--pine);color:#CFDDD3;padding:64px 0 40px;font-size:.94rem}
.foot-grid{display:grid;gap:40px}
@media(min-width:900px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.foot-entity{color:var(--steel);max-width:340px;margin-top:16px;font-size:.92rem}
.foot-col h4{font-family:var(--body);font-weight:600;font-size:.8rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--steel);margin-bottom:16px}
.foot-col ul{list-style:none;display:grid;gap:10px;color:#CFDDD3}
.foot-col a:hover{color:var(--white)}
.foot-base{margin-top:52px;padding-top:26px;border-top:1px solid rgba(248,244,236,.16);
  display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:space-between;color:var(--steel);font-size:.85rem}
/* inverted logo on spruce — no red on green */
.site-foot .brand{color:var(--cream)}
.site-foot .brand svg{color:var(--cream)!important}
.site-foot .brand svg g{stroke:var(--steel)}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

/* ---------- utility ---------- */
.mt-lg{margin-top:44px}
.accent{color:var(--accent)}

/* ---------- subpages ---------- */
.page-hero{padding-block:76px 56px;border-top:none;position:relative;overflow:hidden}
.page-hero .hero-bg{opacity:.8}
.page-hero h1{font-size:clamp(2.1rem,5vw,3.4rem);max-width:760px}
.page-hero .lead{font-size:1.14rem;color:var(--slate);max-width:680px;margin-top:20px}
.page-hero .lead b{color:var(--ink)}
.page-hero .hero-ctas{margin-top:30px}
.prose{max-width:760px}
.prose p{margin-bottom:18px;color:#4A423A}
.prose p b{color:var(--ink)}
.qa-block h2{font-size:clamp(1.35rem,2.6vw,1.75rem);margin-bottom:14px}
.qa-block{margin-bottom:44px}
.qa-block:last-child{margin-bottom:0}
.check-list{list-style:none;display:grid;gap:13px;margin:22px 0}
.check-list li{display:flex;gap:12px;color:#4A423A;line-height:1.5}
.check-list li svg{flex:0 0 17px;width:17px;height:17px;margin-top:4px;color:var(--pine)}
.check-list li b{color:var(--ink)}
.cta-band{background:var(--pine);color:var(--cream);border-radius:var(--rad);
  padding:44px 40px;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;box-shadow:0 20px 50px rgba(22,59,50,.22)}
.cta-band h2{font-size:clamp(1.5rem,3vw,2.1rem);max-width:560px}
.cta-band p{color:var(--steel);margin-top:8px;max-width:520px}
.cta-band .btn-primary{background:var(--white);color:var(--pine)}
.cta-band .btn-primary:hover{background:var(--cream)}
.feature-grid{display:grid;gap:18px}
@media(min-width:720px){.feature-grid{grid-template-columns:repeat(2,1fr)}}
.feature-card{background:var(--white);border:1px solid var(--line);border-radius:var(--rad);padding:26px;box-shadow:var(--shadow)}
.feature-card h3{margin-bottom:10px}
.feature-card p{color:var(--slate);font-size:.97rem}
.feature-card .mini{display:inline-flex;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:rgba(28,74,62,.08);color:var(--pine);padding:4px 9px;border-radius:6px;margin-bottom:12px}

/* ---------- book page ---------- */
.book-wrap{max-width:680px;margin-inline:auto}
.book-card{background:var(--white);border:1px solid var(--line);border-radius:var(--rad);padding:34px 32px;box-shadow:var(--shadow)}
.f-field{margin-bottom:18px}
.f-field label{display:block;font-weight:600;font-size:.92rem;margin-bottom:8px}
.f-field input,.f-field select{width:100%;padding:13px 14px;border:1.5px solid var(--line-strong);
  border-radius:var(--rad-s);font:inherit;color:var(--ink);background:var(--cream)}
.f-field input:focus,.f-field select:focus{outline:2px solid rgba(163,32,21,.4);border-color:var(--accent)}
.f-row{display:grid;gap:14px}
@media(min-width:560px){.f-row{grid-template-columns:1fr 1fr}}
.book-note{color:var(--slate);font-size:.88rem;margin-top:14px}
.cal-slot{margin-top:26px;border:1.5px dashed var(--line-strong);border-radius:var(--rad);
  padding:44px 24px;text-align:center;color:var(--slate);background:var(--cream)}
.cal-slot b{color:var(--ink);display:block;margin-bottom:6px}
.expect{display:grid;gap:14px;margin-top:36px}
@media(min-width:720px){.expect{grid-template-columns:repeat(3,1fr)}}
.expect .e{background:var(--white);border:1px solid var(--line);border-radius:var(--rad-s);padding:18px 20px;font-size:.93rem;color:var(--slate)}
.expect .e b{color:var(--ink);display:block;margin-bottom:6px}
.under-note{display:none;margin-top:26px;background:var(--cream-deep);border:1px solid var(--line);
  border-radius:var(--rad);padding:24px 26px;color:#4A423A}
.under-note b{color:var(--ink)}

/* ---------- ad landing pages ---------- */
.lp body,.lp{background:var(--cream)}
.lp-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}
.lp-bar .brand{pointer-events:none}
.lp-bar .phone{font-weight:600;color:var(--ink);font-size:.95rem}
.lp-hero{padding-block:56px 48px;position:relative;overflow:hidden}
.lp-hero .hero-bg{opacity:.85}
.lp-grid{position:relative;display:grid;gap:40px;align-items:start}
@media(min-width:1024px){.lp-grid{grid-template-columns:1.05fr .95fr}}
.lp-hero h1{font-size:clamp(2rem,4.6vw,3.1rem);max-width:600px}
.lp-proof-row{display:flex;gap:26px;flex-wrap:wrap;margin-top:26px}
.lp-proof-row .pp{font-size:.92rem;color:var(--slate)}
.lp-proof-row .pp b{display:block;font-family:var(--head);font-size:1.45rem;color:var(--accent)}
.lp-form-note{font-size:.85rem;color:var(--slate);margin-top:12px;text-align:center}
.sticky-call{display:none}
@media(max-width:719px){
  .sticky-call{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--accent);color:var(--white);
    font-weight:600;justify-content:center;gap:10px;padding:16px;font-size:1.05rem}
  body.has-sticky{padding-bottom:64px}
}
.lp-foot{border-top:1px solid var(--line);padding:26px 0 34px;font-size:.85rem;color:var(--slate)}
.lp-foot .wrap{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:space-between}
.lp-sec-tight{padding-block:56px}
.pricing-teaser{background:var(--white);border:1px solid var(--line);border-radius:var(--rad);padding:26px 28px;
  display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;box-shadow:var(--shadow)}
.pricing-teaser .pt-n{font-family:var(--head);font-size:1.6rem}
.pricing-teaser .pt-n span{color:var(--accent)}
.pricing-teaser p{color:var(--slate);font-size:.93rem}

/* ---------- legal ---------- */
.legal{max-width:760px}
.legal h2{font-size:1.3rem;margin:34px 0 12px}
.legal p,.legal li{color:#4A423A;margin-bottom:12px}
.legal ul{margin-left:20px}
.legal .notice{background:var(--cream-deep);border:1px dashed var(--line-strong);border-radius:var(--rad-s);padding:16px 18px;color:var(--slate);font-size:.9rem;margin-bottom:28px}

/* ---------- 404 ---------- */
.err-wrap{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 24px}
.err-wrap .big{font-family:var(--head);font-size:clamp(4rem,12vw,7rem);color:var(--pine);line-height:1}

/* ==========================================================================
   VINTAGE LAYER — retro americana treatment (2026-08 redesign)
   Paper grain, stamp/sticker details, hard offset shadows, dark umber bands.
   Overrides the base component styles above; keep these at the end of file.
   ========================================================================== */

/* paper grain over everything (pure decoration, zero interaction) */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E")}

/* header on warm cream */
.site-head{background:rgba(247,237,216,.92)}
.nav-links,.nav-phone{color:#52402F}

/* buttons: hard offset shadows, print-shop weight */
.btn-primary{box-shadow:3px 3px 0 rgba(46,32,20,.28)}
.btn-primary:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 rgba(46,32,20,.28)}
.btn-primary:active{transform:translateY(1px);box-shadow:2px 2px 0 rgba(46,32,20,.28)}
.btn-ghost{border-width:2px;border-color:rgba(46,32,20,.55);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink);background:rgba(46,32,20,.05)}

/* hero: warm tints, stamp eyebrow, mustard headline underline, sticker badge */
.hero-bg{background:radial-gradient(52rem 30rem at 82% -10%,rgba(201,62,27,.08),transparent 60%),
         radial-gradient(40rem 26rem at -10% 110%,rgba(232,168,46,.12),transparent 60%)}
.hero .eyebrow{color:var(--ink);background:rgba(46,32,20,.05);border:2px solid var(--ink);
  border-radius:4px}
.hl{position:relative;white-space:nowrap;z-index:0}
.hl i{position:absolute;left:-2%;bottom:.05em;width:104%;height:.26em;z-index:-1;
  background:var(--mustard)}
.stat-stack{padding-top:64px}
.hero-badge{position:absolute;top:0;right:6px;width:104px;height:104px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-weight:600;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  border:2px dashed var(--accent);color:var(--accent);background:var(--cream);padding:14px;line-height:1.5;z-index:2}
.stat-card{border:2px solid var(--ink)}
.stat-card:nth-child(2){}
.stat-card:nth-child(3){}
.stat-bar{background:rgba(46,32,20,.12)}

/* entity band on umber */
.entity p{color:var(--steel)}
.entity b{color:var(--white)}

/* cards: strong borders, hard shadows, slight tilt on the showpieces */
.pain-card,.pipe-step,.svc-card,.case-card{border:2px solid var(--ink)}
.pain-card{background:var(--white);box-shadow:var(--shadow)}
.pain-card:nth-child(2){}
.svc-card:hover{border-color:var(--accent);box-shadow:6px 6px 0 rgba(46,32,20,.16)}
.svc-card .ico{background:rgba(201,62,27,.10)}
.pipe-step .num{background:var(--mustard);color:var(--ink);border:2px solid var(--ink)}
.video-slot{background:var(--white);border:2px solid var(--ink)}
.video-slot .play{box-shadow:0 12px 30px rgba(201,62,27,.35)}

/* services: the dark umber band */
.sec.deep{background:var(--ink-soft)}
.sec.deep .sec-head h2{color:var(--cream)}
.sec.deep .kicker{color:var(--mustard)}
.sec.deep .sec-sub{color:var(--steel)}
.sec.deep .svc-card{border-color:var(--mustard);box-shadow:4px 4px 0 rgba(0,0,0,.3)}

/* calculator + results */
.calc-panel{border:2px solid var(--ink);background:var(--white);box-shadow:var(--shadow)}
.out-tile .l{color:var(--steel)}
.quote{border-left:4px solid var(--mustard);box-shadow:6px 6px 0 rgba(46,32,20,.18)}
.quote footer{color:var(--steel)}

/* pricing */
.tier{border:2px solid var(--ink)}
.tier.popular{border-color:var(--pine);box-shadow:6px 6px 0 rgba(46,32,20,.22)}
.tier.popular li{color:#E9DCC3}
.tier li svg{color:var(--pine)}
.faq-item{border:1.5px solid var(--line-strong)}
.faq-item .a a{text-decoration-color:rgba(201,62,27,.6)}

/* final CTA */
.final .bg{background:radial-gradient(46rem 26rem at 50% 130%,rgba(201,62,27,.09),transparent 62%)}

/* footer: deepest brown */
.site-foot{background:var(--pine-down);color:#E9DCC3}
.foot-col ul{color:#E9DCC3}
.foot-base{border-top:1px solid rgba(247,237,216,.16)}

/* misc legacy-tint overrides */
.cta-band{box-shadow:6px 6px 0 rgba(46,32,20,.2)}
.feature-card .mini{background:rgba(74,52,35,.1)}
.f-field input:focus,.f-field select:focus{outline:2px solid rgba(201,62,27,.4)}
.prose p,.check-list li,.legal p,.legal li,.tier li{color:#52402F}
.tier.popular li{color:#E9DCC3}

/* ==========================================================================
   BACKYARD LAYER — 2026-09 rebrand components
   Same tokens, same vintage treatment. New pieces only: logo img, bleeps,
   AI-vs-human compare, 6-step playbook, timeline, proof band, team, fit,
   single "starts at" price card, service chips, calculator toggle.
   ========================================================================== */

/* logo mark is an <img> now (swap = replace two files in /assets/img/) */
.brand img{width:30px;height:30px;flex:none}
.site-foot .brand img{width:28px;height:28px}
.lp-bar .brand img{width:28px;height:28px}
.site-head .brand{white-space:nowrap}
@media(max-width:560px){
  .site-head .nav-right .btn-sm{display:none}   /* Book a Call lives in the burger menu + hero on phones */
  .site-head .brand{font-size:.8rem;gap:8px}
  .site-head .brand img{width:26px;height:26px}
  .nav{gap:12px}
}
@media(max-width:719px){.stat-stack{padding-top:96px}.hero-badge{right:0}}

/* comic censor bar: bull<span class="grawlix">$#!t</span> */
.bleep{white-space:nowrap}
.bleep .grawlix{display:inline-block;background:var(--ink);color:var(--mustard);font-family:var(--body);
  font-weight:600;font-size:.62em;letter-spacing:.08em;padding:.18em .36em;border-radius:4px;
  transform: translateY(-.12em);margin-left:.06em;line-height:1.1}
.sec.deep .bleep .grawlix,.proof .bleep .grawlix,.vs-col.us .bleep .grawlix,.site-foot .bleep .grawlix{background:var(--mustard);color:var(--ink)}

/* services: 8 cards → 2 cols tablet, 4 cols desktop */
@media(min-width:720px){.card-grid.g4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.card-grid.g4{grid-template-columns:repeat(4,1fr)}}
.card-grid.g4 .svc-card{padding:26px 22px}
.card-grid.g4 .svc-card h3{font-size:1.06rem}
.card-grid.g4 .svc-card p{font-size:.93rem}

/* AI agency vs Backyard Digital */
.vs-grid{display:grid;gap:20px}
@media(min-width:820px){.vs-grid{grid-template-columns:1fr 1fr}}
.vs-col{border:2px solid var(--ink);border-radius:var(--rad);padding:30px 28px;box-shadow:var(--shadow)}
.vs-col.them{background:var(--cream-deep)}
.vs-col.us{background:var(--pine);color:var(--cream);border-color:var(--pine);box-shadow:6px 6px 0 rgba(46,32,20,.22)}
.vs-col h3{font-family:var(--head);font-weight:400;font-size:1.4rem;margin-bottom:6px}
.vs-col .tag{display:block;font-size:.8rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;color:var(--slate)}
.vs-col.us .tag{color:var(--mustard)}
.vs-col ul{list-style:none;display:grid;gap:13px}
.vs-col li{display:flex;gap:11px;line-height:1.45;font-size:.98rem}
.vs-col.them li{color:#52402F}
.vs-col.them li::before{content:'✗';font-family:var(--head);color:var(--accent);flex:none;width:16px}
.vs-col.us li{color:#E9DCC3}
.vs-col.us li svg{flex:0 0 16px;width:16px;height:16px;margin-top:4px;color:var(--mustard)}

/* 6-step playbook */
@media(min-width:720px){.pipe-grid.g3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.pipe-grid.g3{grid-template-columns:repeat(3,1fr)}}
.pipe-step .step-label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);margin-bottom:4px}
.pipe-step.star{background:var(--cream-deep)}
.pipe-step .star-tag{position:absolute;top:22px;right:20px;font-size:.66rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;background:var(--accent);color:var(--white);padding:4px 9px;border-radius:5px}

/* timeline */
.timeline{margin-top:40px;border:2px solid var(--ink);border-radius:var(--rad);background:var(--white);box-shadow:var(--shadow);overflow:hidden}
.timeline h3{padding:18px 24px;border-bottom:2px dashed var(--line-strong);font-family:var(--head);font-weight:400;font-size:1.2rem;background:var(--cream-deep)}
.tl-row{display:grid;gap:2px 24px;padding:16px 24px;border-top:1px solid var(--line)}
.timeline h3+.tl-row{border-top:none}
@media(min-width:720px){.tl-row{grid-template-columns:150px 1fr;align-items:baseline}}
.tl-row b{font-family:var(--head);font-weight:400;color:var(--accent);font-size:1.02rem}
.tl-row span{color:#52402F}

/* proof band */
.proof{background:var(--ink-soft);color:var(--cream);border-top:none}
.proof h2{color:var(--cream)}
.proof .kicker{color:var(--mustard)}
.proof .sec-sub{color:var(--steel)}
.proof-grid{display:grid;gap:18px}
@media(min-width:560px){.proof-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.proof-grid{grid-template-columns:repeat(4,1fr)}}
.proof-stat{border:2px solid var(--mustard);border-radius:var(--rad);padding:26px 22px;box-shadow:4px 4px 0 rgba(0,0,0,.3)}
.proof-stat .n{display:block;font-family:var(--head);font-size:clamp(1.9rem,3.2vw,2.35rem);color:var(--white);line-height:1.05}
.proof-stat .l{display:block;color:var(--steel);font-size:.93rem;margin-top:10px;line-height:1.45}
.proof-stat .l b{color:var(--cream);font-weight:600;display:block}
.proof .results-cta{margin-top:40px}

/* team */
.team-grid{display:grid;gap:24px}
@media(min-width:760px){.team-grid{grid-template-columns:1fr 1fr}}
.team-card{background:var(--white);border:2px solid var(--ink);border-radius:var(--rad);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.team-card:nth-child(2){}
.team-card:nth-child(1){}
.team-photo{aspect-ratio:4/3;border-bottom:2px solid var(--ink);display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:10px;color:var(--slate);font-size:.9rem;text-align:center;padding:20px;
  background:repeating-linear-gradient(135deg,var(--cream-deep) 0 14px,var(--cream) 14px 28px)}
.team-photo img{width:100%;height:100%;object-fit:cover}
.team-photo:has(img){padding:0}
.team-body{padding:24px 26px 28px}
.team-body h3{font-family:var(--head);font-weight:400;font-size:1.55rem}
.team-role{display:block;font-weight:600;color:var(--accent);font-size:.93rem;margin:4px 0 12px}
.team-body p{color:#52402F;font-size:.98rem}
.shake-note{margin-top:34px;display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;justify-content:space-between;
  border:2px dashed var(--ink);border-radius:var(--rad);padding:22px 26px;background:var(--cream)}
.shake-note p{font-family:var(--head);font-size:clamp(1.1rem,2.2vw,1.35rem);line-height:1.3;max-width:620px}
.shake-note p span{color:var(--accent)}

/* selection process */
.fit-grid{display:grid;gap:20px}
@media(min-width:820px){.fit-grid{grid-template-columns:1fr 1fr}}
.fit-card{border:2px solid var(--ink);border-radius:var(--rad);padding:30px 28px;background:var(--white);box-shadow:var(--shadow)}
.fit-card.no{background:var(--cream-deep)}
.fit-card h3{font-family:var(--head);font-weight:400;font-size:1.35rem;margin-bottom:18px}
.fit-card ul{list-style:none;display:grid;gap:14px}
.fit-card li{display:flex;gap:11px;color:#52402F;line-height:1.45}
.fit-card li::before{content:'✓';font-family:var(--head);color:var(--pine);flex:none;width:16px}
.fit-card.no li::before{content:'✗';color:var(--accent)}
.fit-card li small{display:block;color:var(--slate);font-size:.86rem;margin-top:3px}

/* the one price card */
.price-card{max-width:780px;margin:0 auto;background:var(--pine);color:var(--cream);border-radius:var(--rad);
  padding:48px 36px 40px;box-shadow:6px 6px 0 rgba(46,32,20,.22);position:relative;text-align:center}
.price-card .flag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--accent);color:var(--white);
  font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:7px 16px;border-radius:99px;white-space:nowrap}
.price-card .from{font-weight:600;letter-spacing:.22em;text-transform:uppercase;font-size:.8rem;color:var(--mustard)}
.price-card .price{font-family:var(--head);font-size:clamp(3.1rem,10vw,4.8rem);line-height:1;margin:14px 0 8px;color:var(--white)}
.price-card .price small{font-family:var(--body);font-weight:600;font-size:1.15rem;color:var(--steel)}
.price-card .incl{display:inline-block;color:var(--ink);background:var(--mustard);font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;font-size:.76rem;padding:6px 12px;border-radius:4px}
.price-facts{display:grid;gap:12px;margin:30px 0 30px;text-align:left}
@media(min-width:640px){.price-facts{grid-template-columns:repeat(3,1fr)}}
.price-facts div{border:1.5px solid rgba(247,237,216,.25);border-radius:var(--rad-s);padding:16px 18px;font-size:.92rem;color:var(--steel);line-height:1.45}
.price-facts b{display:block;color:var(--cream);font-family:var(--head);font-weight:400;font-size:1.12rem;margin-bottom:5px}
.price-card .btn{background:var(--white);color:var(--pine)}
.price-card .btn:hover{background:var(--cream)}
.price-card .fine{color:var(--steel);font-size:.86rem;margin-top:16px}
.price-rule{text-align:center;font-family:var(--head);font-size:clamp(1.15rem,2.4vw,1.45rem);max-width:720px;margin:36px auto 0;line-height:1.3}
.price-rule span{color:var(--accent)}
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:30px}
.chips a{border:2px solid var(--ink);border-radius:99px;padding:8px 16px;font-weight:600;font-size:.9rem;background:var(--white);transition:.15s}
.chips a:hover{border-color:var(--accent);color:var(--accent)}
.chips-label{text-align:center;color:var(--slate);font-size:.9rem;margin-top:40px}

/* calculator: toggle + ledger */
.calc-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:16px 18px;
  border:2px solid var(--ink);border-radius:var(--rad-s);background:var(--cream);font-weight:600;text-align:left;margin:4px 0 24px}
.calc-toggle small{display:block;font-weight:400;color:var(--slate);font-size:.85rem;margin-top:2px}
.calc-toggle .sw{flex:none;width:54px;height:30px;border-radius:99px;background:var(--line-strong);position:relative;transition:.2s}
.calc-toggle .sw::after{content:'';position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;
  background:var(--white);transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.3)}
.calc-toggle[aria-pressed=true]{border-color:var(--accent)}
.calc-toggle[aria-pressed=true] .sw{background:var(--accent)}
.calc-toggle[aria-pressed=true] .sw::after{transform:translateX(24px)}
.calc-toggle .state{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-right:10px;white-space:nowrap}
.calc-was{font-family:var(--body);font-weight:600;font-size:.78rem;color:var(--accent);margin-right:8px}
.calc-ledger{display:grid;gap:9px;margin-top:16px;font-size:.93rem}
.calc-ledger div{display:flex;justify-content:space-between;gap:14px;color:var(--steel)}
.calc-ledger b{color:var(--cream);font-weight:600;white-space:nowrap}
.calc-ledger .boost{display:none}
.calc-ledger .boost b{color:var(--mustard)}
.calc-on .calc-ledger .boost{display:flex}
.calc-ledger .tot{border-top:1px dashed rgba(247,237,216,.3);padding-top:11px;margin-top:3px}
.calc-ledger .tot span{color:var(--cream);font-weight:600}
.calc-ledger .tot b{font-family:var(--head);font-weight:400;font-size:1.4rem;color:var(--white)}
.calc-disclaim{color:var(--slate);font-size:.84rem;margin-top:14px}

/* service pages: small "pairs well with" row */
.pairs{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.pairs a{border:1.5px solid var(--line-strong);border-radius:99px;padding:6px 14px;font-size:.88rem;font-weight:600;background:var(--white)}
.pairs a:hover{border-color:var(--accent);color:var(--accent)}

/* town list */
.towns{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:22px}
.towns span{border:1.5px solid var(--line-strong);border-radius:6px;padding:6px 12px;font-size:.9rem;background:var(--white);color:#52402F}

/* header fit: the longer wordmark needs room on small laptops */
.nav-links a,.nav-phone{white-space:nowrap}
@media(min-width:1024px) and (max-width:1219px){.nav{gap:20px}.nav-links{gap:18px}.nav-phone{display:none!important}}

/* hero: short headline + the handshake line under it */
.hero-tag{text-wrap:balance;font-family:var(--head);font-size:clamp(1.4rem,3vw,2.05rem);line-height:1.15;margin-top:16px;max-width:640px}

/* ==========================================================================
   2026-10-04 REVIEW PASS — applied from Matthias's preview notes
   ========================================================================== */

/* hero: headline + tagline as one centered block; tagline gets the attention */
.hero-head{display:inline-block;max-width:100%;text-align:center}
.hero-head h1{margin-inline:auto}
.hero .hero-tag,.lp-hero .hero-tag{font-size:clamp(1.6rem,3.4vw,2.35rem);color:var(--accent);margin:14px auto 0;max-width:none}
.hero-sub b{color:var(--ink);font-weight:600}
.stat-stack{padding-top:0}
.stat-card,.stat-card:nth-child(2),.stat-card:nth-child(3){transform:none}
@media(max-width:719px){.stat-stack{padding-top:0}}

/* comic censor bar: bigger, tomato */
.bleep .grawlix{background:var(--accent);color:var(--white);font-size:.78em;padding:.14em .38em}
.sec.deep .bleep .grawlix,.proof .bleep .grawlix,.vs-col.us .bleep .grawlix,.site-foot .bleep .grawlix{background:var(--accent);color:var(--white)}

/* problem: wide rows so each headline gets room */
.pain-rows{display:grid;gap:14px}
@media(min-width:900px){
  .pain-rows .pain-card{display:grid;grid-template-columns:24px minmax(0,460px) 1fr;column-gap:24px;align-items:center;padding:22px 28px}
  .pain-rows .pain-card .x{margin:0}
  .pain-rows .pain-card h3{margin:0}
  .pain-rows .pain-card:nth-child(2){}
}

/* playbook: video now leads the section */
.video-slot.top{margin:0 0 40px}

/* service cards: badge sits beside the icon, same spot on every card */
.svc-top{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.svc-top .svc-badge{align-self:flex-end;margin-bottom:3px}
.svc-top .ico{flex:none}

/* one-line subs + labels */
.sec-sub.wide{max-width:none}
.proof-stat .l b{white-space:nowrap}
@media(max-width:1100px) and (min-width:1000px){.proof-stat .l b{font-size:.9rem}}
.fit-card u{text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:var(--accent)}

/* pricing: base package terms + "grow into it" cards */
.price-terms{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 10px;margin:0 0 28px}
.price-terms li{border:1.5px solid rgba(247,237,216,.25);border-radius:99px;padding:6px 14px;font-size:.88rem;color:var(--steel)}
.price-terms b{color:var(--mustard);font-weight:600}
.price-card .price small{white-space:nowrap}
.grow-grid{display:grid;gap:18px;margin-top:34px}
@media(min-width:900px){.grow-grid{grid-template-columns:repeat(3,1fr)}}
.grow-card{background:var(--white);border:2px solid var(--ink);border-radius:var(--rad);padding:24px 24px 26px;box-shadow:var(--shadow)}
.grow-card h3{margin:8px 0 8px}
.grow-card p{color:var(--slate);font-size:.95rem}
.grow-step{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;background:var(--mustard);color:var(--ink);padding:4px 9px;border-radius:5px}
.numbers-note{margin-top:34px;display:flex;flex-wrap:wrap;gap:18px 30px;align-items:center;justify-content:space-between;border:2px dashed var(--ink);border-radius:var(--rad);padding:26px 28px;background:var(--cream)}
.numbers-note > div{max-width:720px}
.numbers-note .kicker{margin-bottom:8px}
.numbers-note h3{font-family:var(--head);font-weight:400;font-size:1.35rem;margin-bottom:8px}
.numbers-note p:not(.kicker){color:#52402F}
.pain-pivot{max-width:none}
.pain-pivot span{white-space:nowrap}
/* ad landing pages: keep the top bar inside the page gutters (inherited bug) */
.wrap.lp-bar{padding:14px 24px}
@media(min-width:720px){.wrap.lp-bar{padding:14px 36px}}

/* 2026-10-05 notes: hero stat cards as a uniform set, bigger numbers;
   the "Empowered by AI…" line stays on one line on desktop */
.stat-card{min-height:96px}
.stat-card .n{font-size:2.15rem;min-width:132px}
.hero-sub{max-width:640px}
@media(min-width:1100px){.hero-sub b{white-space:nowrap}}

/* ==========================================================================
   2026-10-05 REVIEW PASS 2
   ========================================================================== */

/* never strand a word or two on their own line, at any screen width */
p,li,h3,h4,summary,label,blockquote,.sec-sub,.lead,.l,.tag{text-wrap:pretty}
h1,h2,.hero-tag,.pain-pivot,.price-rule,.shake-note p,.cta-band h2{text-wrap:balance}
.nowrap{white-space:normal}
@media(min-width:560px){.nowrap{white-space:nowrap}}

/* problem rows: X sits right next to the headline at every width, tighter boxes, more air between them */
.pain-rows{gap:20px}
.pain-rows .pain-card{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;row-gap:6px;align-items:baseline;padding:20px 22px}
.pain-rows .pain-card .x{margin:0;line-height:1.3;font-size:1.15rem}
.pain-rows .pain-card h3{margin:0}
.pain-rows .pain-card p{grid-column:2}
@media(min-width:900px){
  .pain-rows .pain-card{grid-template-columns:auto minmax(0,440px) 1fr;column-gap:18px;align-items:center;padding:18px 26px}
  .pain-rows .pain-card p{grid-column:3;padding-left:12px}
}

/* playbook: more room between the video and the six steps */
.video-slot.top{margin-bottom:64px}

/* proof: three service stats */
@media(min-width:760px){.proof-grid{grid-template-columns:repeat(3,1fr)}}

/* price card: red button, trimmed terms */
.price-card .btn.btn-primary{background:var(--accent);color:var(--white)}
.price-card .btn.btn-primary:hover{background:var(--accent-down)}
.price-terms{margin-bottom:26px}

/* footer wordmark on one line */
.site-foot .brand{white-space:nowrap}
@media(min-width:900px){.foot-grid{grid-template-columns:1.6fr 1fr 1fr 1.1fr}.site-foot .brand{font-size:.98rem}}
/* hero: the bold "Empowered by AI…" line wraps as a balanced pair below 1100px */
.hero-sub b{display:inline-block;text-wrap:balance}
/* price card feature boxes: stack until there's room for three readable columns */
.price-facts{grid-template-columns:1fr}
@media(min-width:900px){.price-facts{grid-template-columns:repeat(3,1fr)}}
/* price: "/month + ad spend" drops under the number on small phones */
@media(max-width:520px){.price-card .price small{display:block;white-space:normal;margin-top:6px}}
/* ad landing pages: wordmark stays on one line on phones */
.lp-bar .brand{white-space:nowrap}
@media(max-width:560px){.lp-bar .brand{font-size:.8rem;gap:8px}.lp-bar .brand img{width:26px;height:26px}.lp-bar .phone{font-size:.85rem}}
/* footer: links never break mid-name */
.foot-col li{white-space:nowrap}
@media(min-width:900px) and (max-width:1150px){.foot-grid{grid-template-columns:1fr 1fr;row-gap:36px}}
/* short headings in narrow spots: size them so they don't strand a word */
.card-grid.g4 .svc-card h3{font-size:1rem}
@media(max-width:899px){.lp-sec-tight .card-grid.g3{grid-template-columns:1fr}}
@media(max-width:480px){.lp-hero h1{font-size:1.85rem}.qa-block h2{font-size:1.22rem}.kicker{letter-spacing:.16em}}
.expect{grid-template-columns:1fr!important}
@media(min-width:900px){.pain-rows .pain-card{grid-template-columns:auto minmax(0,490px) 1fr}}
/* hero: "Empowered by AI… in Chattanooga." stays on ONE line wherever there's room (Matthias's note, 2x).
   It scales to the column width; only true phone widths fall back to a balanced two-line wrap. */
.hero-sub{container-type:inline-size}
@container (min-width:480px){.hero-sub b{display:inline;white-space:nowrap;font-size:min(1em,3.08cqi)}}

/* 2026-10-05 round 4 */
/* problem: pull the rows closer to "Here's how it usually goes." */
.sec-head:has(+ .pain-rows.tight-top){margin-bottom:30px}
/* playbook: heading sits right above the video now that the sub-text is gone */
#how .sec-head{margin-bottom:32px}
/* closing CTA: bring the line and the buttons closer together */
.final p{margin-bottom:22px}
.final h2{margin-bottom:14px}


/* ==========================================================================
   NAVY PALETTE: made permanent 2026-10-05 ("Navy, full", chosen by Matthias).
   Replaces the browns; cream, tomato and mustard unchanged. The brown version is
   saved in _snapshots/2026-10-05-brown-version-approved/.
   ========================================================================== */

:root{
  --ink:#18212E;--ink-soft:#1B2A3E;--pine:#22354D;--pine-down:#131E2D;
  --cream:#F5F0E6;--white:#FFFBF4;--cream-deep:#EAE2D2;
  --slate:#566070;--steel:#AFBACB;
  --line:rgba(24,33,46,.14);--line-strong:rgba(24,33,46,.26);--shadow:4px 4px 0 rgba(24,33,46,.13);
}
.site-head{background:rgba(27,42,62,.97);border-bottom-color:rgba(255,255,255,.08)}
.site-head .brand{color:var(--cream)}
.nav-links,.nav-phone,.nav-links a:hover,.nav-phone:hover{color:#E6EAF0}
.nav-burger span{background:var(--cream)}
.mobile-menu{background:#1B2A3E;color:#E6EAF0;border-top-color:rgba(255,255,255,.1)}
.prose p,.check-list li,.legal p,.legal li,.tier li,.tl-row span,.vs-col.them li,.team-body p,.fit-card li,.numbers-note p:not(.kicker),.under-note{color:#2B3443}
.vs-col.us li,.site-foot,.foot-col ul,.tier.popular li,.entity p,.calc-ledger b,.out-tile .l b,.price-facts b{color:#E6EAF0}
.btn-ghost{border-color:rgba(24,33,46,.55);color:var(--ink)}
.btn-primary{box-shadow:3px 3px 0 rgba(24,33,46,.28)}
.price-card,.vs-col.us,.tier.popular,.cta-band,.quote{box-shadow:6px 6px 0 rgba(24,33,46,.22)}
.pain-card,.pipe-step,.case-card,.tier,.stat-card,.vs-col.them,.fit-card,.team-card,.grow-card,.timeline,.calc-panel,.faq-item,.video-slot{box-shadow:4px 4px 0 rgba(24,33,46,.13)}
.site-foot{background:var(--pine-down)}
.price-terms li,.price-facts div{border-color:rgba(255,255,255,.2)}
/* service pages: three feature cards across */
@media(min-width:900px){.feature-grid.g3{grid-template-columns:repeat(3,1fr)}}
/* inner-page titles: let short headlines run full width so they don't strand a word */
@media(min-width:768px){.page-hero h1{max-width:none}}
/* closing banners: more room for the heading on phones */
@media(max-width:560px){.cta-band{padding:28px 22px}}

/* problem-section closing line: the longer red line may wrap on narrow screens */
@media(max-width:900px){.pain-pivot span{white-space:normal}}

/* ==========================================================================
   COHESION PASS (2026-10-08): match the inner pages to the homepage.
   ========================================================================== */
/* every Book A Meeting button is the red-orange primary, including the closing banners */
.cta-band .btn-primary{background:var(--accent);color:var(--white)}
.cta-band .btn-primary:hover{background:var(--accent-down)}
/* leftover brown tints from the old palette, swapped for navy */
.btn-primary:hover{box-shadow:4px 4px 0 rgba(24,33,46,.28)}
.btn-primary:active{box-shadow:2px 2px 0 rgba(24,33,46,.28)}
.btn-ghost:hover{background:rgba(24,33,46,.05)}
.svc-card:hover{box-shadow:6px 6px 0 rgba(24,33,46,.16)}
.feature-card .mini{background:rgba(34,53,77,.1)}
.towns span{color:#2B3443}
/* price card labels stay on one line: the text scales to its box (never larger than before) */
.price-facts div{container-type:inline-size}
.price-facts b{white-space:nowrap;font-size:min(1.12rem,7.3cqi)}
/* hero tagline: one line on tablet and desktop (sized to its column, never larger than before);
   on phones it may wrap, and the script keeps "your Backyard." together */
.hero .hero-grid > div:first-child{container-type:inline-size}
/* (2026-10-13) the longer tagline wraps to two balanced lines instead of shrinking to fit one */

/* ==========================================================================
   MATCH THE HOMEPAGE (2026-10-08): every page uses the homepage's card,
   label and header styles. No tilted elements anywhere.
   ========================================================================== */
/* cards: navy outline + hard offset shadow, like the homepage cards */
.feature-card,.book-card,.pricing-teaser{border:2px solid var(--ink);box-shadow:var(--shadow)}
.expect .e{border:2px solid var(--ink);border-radius:var(--rad);box-shadow:var(--shadow)}
/* small card labels: plain spaced capitals, like the homepage's "STEP ONE" */
.feature-card .mini{display:block;background:none;padding:0;border-radius:0;font-size:.72rem;letter-spacing:.2em;color:var(--slate);margin-bottom:6px}
/* "Works well with" links: outlined like the homepage's buttons and cards */
.pairs a{border:2px solid var(--ink);border-radius:var(--rad-s);box-shadow:2px 2px 0 rgba(24,33,46,.13)}
/* ad landing pages: the same navy bar as every other page */
.lp-head{background:rgba(27,42,62,.97);border-bottom:1px solid rgba(255,255,255,.08)}
.lp-head .lp-bar{border-bottom:none}
.lp-head .brand{color:var(--cream)}
.lp-head .phone{color:#E6EAF0}

/* team headshots: portrait photos cropped to the card, faces kept in frame */
.team-photo:has(img){display:block}
.team-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 18%}

/* ==========================================================================
   STUDIO-SESSION ROUND (2026-10-13): pricing tiers, fit cards, team numbers,
   service-page examples. Built from the homepage's existing pieces.
   ========================================================================== */
/* pricing tiers: every Book A Meeting button stays red-orange */
.tier .btn.btn-primary,.tier.popular .btn.btn-primary,.tier:not(.popular) .btn.btn-primary{background:var(--accent);color:var(--white)}
.tier .btn.btn-primary:hover{background:var(--accent-down)}
.tier .price .pre{display:block;font-family:var(--body);font-weight:600;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);margin-bottom:8px}
.tier.popular .price .pre{color:var(--steel)}
.tier li b{color:var(--ink);font-weight:600}
.tier.popular li b{color:var(--cream)}
.tier-grid{margin-top:8px}
/* selection process: "good fit" is the navy card, like the comparison above it */
.fit-card.yes{background:var(--pine);border-color:var(--pine);color:var(--cream);box-shadow:6px 6px 0 rgba(24,33,46,.22)}
.fit-card.yes h3{color:var(--cream)}
.fit-card.yes li{color:#E6EAF0}
.fit-card.yes li::before{color:var(--mustard)}
/* team numbers under the headshots */
.team-stats{margin-top:34px;display:grid;gap:12px}
.team-stat-row{display:grid;gap:16px}
@media(min-width:1000px){.team-stat-row{grid-template-columns:repeat(3,1fr)}}
.team-stat-row .stat-card{flex-direction:column;align-items:flex-start;gap:10px;min-height:0}
.team-stat-row .stat-card .n{min-width:0}
.team-stat-row .stat-card .l{display:grid;gap:2px;color:var(--slate);font-size:.86rem}
.team-stat-row .stat-card .l b{color:var(--ink);font-size:.95rem}
/* service-page examples: a mock on the left, numbered notes on the right */
.mock{display:grid;gap:26px;margin-top:34px;align-items:center}
@media(min-width:900px){.mock{grid-template-columns:1.1fr 1fr;gap:40px}}
.mock-frame{background:var(--white);border:2px solid var(--ink);border-radius:var(--rad);box-shadow:var(--shadow);padding:20px;display:grid;gap:12px;font-size:.92rem;min-width:0}
.pin{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--white);font:600 .74rem/1 var(--body);vertical-align:middle;flex:none}
.m-search{border:1.5px solid var(--line-strong);border-radius:99px;padding:9px 16px;color:var(--ink);background:var(--cream)}
.m-result{display:grid;gap:3px;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--rad-s);position:relative}
.m-result > .pin,.m-map > .pin{position:absolute;top:-10px;right:-10px}
.m-tag{font-weight:600;font-size:.74rem;color:var(--ink)}
.m-title{color:#1F4FA8;font-size:1.02rem}
.m-url{color:var(--slate);font-size:.82rem}
.m-line{color:#2B3443}
.m-call{display:inline-flex;align-items:center;gap:8px;justify-self:start;margin-top:6px;border:1.5px solid var(--line-strong);border-radius:99px;padding:5px 12px;font-weight:600;color:#1F4FA8}
.m-map{position:relative;border:1.5px solid var(--line);border-radius:var(--rad-s);overflow:hidden}
.m-mapbox{height:74px;background:linear-gradient(135deg,#E3E8DD 0%,#E9E4D6 50%,#DCE4EC 100%);position:relative}
.m-mapbox i{position:absolute;width:12px;height:12px;border-radius:50%;border:2px solid var(--white);background:var(--slate)}
.m-mapbox i:nth-child(1){left:22%;top:28%;background:var(--accent)}
.m-mapbox i:nth-child(2){left:55%;top:48%}
.m-mapbox i:nth-child(3){left:78%;top:22%}
.m-row{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-top:1px solid var(--line);font-size:.86rem;color:var(--slate)}
.m-row b{color:var(--ink);font-weight:600}
.m-row.you{background:rgba(232,168,46,.14)}
.m-row.you span{color:#B07A12}
.m-gbp{display:grid;gap:6px}
.m-name{font-size:1.2rem;color:var(--ink)}
.m-stars{color:#E8A82E;letter-spacing:.05em}
.m-rating,.m-meta{color:#2B3443;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.m-open{color:#1E7A3C}
.m-btns{display:flex;gap:8px;margin:6px 0}
.m-btns span{border:1.5px solid var(--line-strong);border-radius:99px;padding:5px 12px;font-weight:600;font-size:.82rem;color:#1F4FA8}
.m-photos{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:6px;align-items:center}
.m-photos i{aspect-ratio:1;border-radius:6px;background:linear-gradient(160deg,#8FB27A,#4F7A3E)}
.m-photos i:nth-child(2){background:linear-gradient(160deg,#B9C4CF,#6D7F93)}
.m-photos i:nth-child(3){background:linear-gradient(160deg,#C9B48A,#8C7650)}
.m-photos i:nth-child(4){background:linear-gradient(160deg,#9CC28A,#3E6B33)}
.m-review{border-top:1px solid var(--line);padding-top:10px;display:grid;gap:4px;color:#2B3443}
.m-reply{background:var(--cream);border-radius:var(--rad-s);padding:8px 10px;font-size:.86rem;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.m-reply b{font-weight:600;color:var(--ink);width:100%}
.mock-frame.chat{background:var(--cream)}
.m-bubble{border-radius:14px;padding:12px 14px;max-width:92%;line-height:1.5}
.m-bubble.me{justify-self:end;background:var(--pine);color:var(--cream)}
.m-bubble.ai{background:var(--white);border:1.5px solid var(--line);display:grid;gap:8px;color:#2B3443}
.m-bubble.ai b{color:var(--ink)}
.m-dim{opacity:.6}
.mock-notes{display:grid;gap:12px;min-width:0}
.mock-notes h3{font-family:var(--head);font-weight:400;font-size:1.4rem}
.mock-points{list-style:none;display:grid;gap:12px;margin:4px 0 0;padding:0}
.mock-points li{display:flex;gap:12px;align-items:flex-start;color:#2B3443}
.mock-fine{font-size:.82rem;color:var(--slate)}
/* tier price: "/month + ad spend" on its own line so it never strands a word */
.tier .price small{display:block;margin-top:8px}
/* Google Ads example: keep the map's number badge inside the map */
.m-map > .pin{top:8px;right:8px;z-index:1}
/* trades hub: the "don't see your trade" card fills out the last row */
@media(min-width:1080px){.card-grid.g4 .trade-more{grid-column:span 3}}
.trade-more{background:var(--cream-deep)}
/* hero headline: keep each phrase ("More calls." / "Better jobs." / "Zero bull.") whole at every width */
.hero h1 .nowrap,.lp-hero h1 .nowrap{white-space:nowrap}
/* tier setup-month line under the price */
.tier .setup{font-size:.86rem;color:var(--slate);margin:6px 0 0}
.tier.popular .setup{color:var(--steel)}
/* FAQ sections: centered on the page, heading and list (2026-10-15) */
.faq-list{margin-inline:auto}
.sec:has(.faq-list) .sec-head{text-align:center}
.sec:has(.faq-list) .sec-head .sec-sub{margin-inline:auto}
#faq .wrap > p:last-child{text-align:center}
/* two-part lines: the second sentence always starts on its own line, never wraps into the first */
.shake-note p span{display:block}
/* balanced text everywhere: no lopsided last line like "job costs." (Matthias, 2026-10-15).
   The browser balances blocks up to ~6 lines; site.js evens out longer ones. */
p,li,summary,blockquote,h3,h4,.sec-sub,.lead,.hero-sub,.team-role,.e,.foot-entity,.tag,.tl-row span{text-wrap:balance}
/* homepage hero photo: Walnut Street Bridge, Chattanooga. REFERENCE placeholder (2026-10-15).
   Photo by Sarah Swainson on Unsplash, free under the Unsplash License:
   https://unsplash.com/photos/XTyRxx6aTaw . Hotlinked from Unsplash; swap for our own shot later. */
section.hero > .hero-bg{
  background:linear-gradient(90deg,rgba(245,240,230,.88) 0%,rgba(245,240,230,.74) 42%,rgba(245,240,230,.36) 100%),
    url("https://images.unsplash.com/photo-1628878685986-6b4f03994a98?auto=format&fit=crop&w=2200&q=70") center 40%/cover no-repeat}
@media(max-width:899px){section.hero > .hero-bg{
  background:linear-gradient(rgba(245,240,230,.8),rgba(245,240,230,.8)),
    url("https://images.unsplash.com/photo-1628878685986-6b4f03994a98?auto=format&fit=crop&w=1200&q=65") center/cover no-repeat}}
/* trade calculator (homepage, 2026-10-22) */
.calc-how{list-style:none;counter-reset:ch;display:grid;gap:8px;margin:22px 0 0;padding:0;max-width:520px}
.calc-how li{counter-increment:ch;display:flex;gap:12px;align-items:baseline;color:var(--ink);font-size:.98rem}
.calc-how li::before{content:counter(ch);flex:none;width:26px;height:26px;border:2px solid var(--ink);border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;font-family:var(--head);font-size:.85rem;background:var(--white)}
.calc-basis{margin-top:16px;color:var(--slate);font-size:.9rem;max-width:520px}
.calc-sources{margin-top:14px;max-width:520px;font-size:.88rem}
.calc-sources summary{cursor:pointer;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.calc-sources ul{margin:10px 0 0;padding-left:18px;display:grid;gap:6px;color:var(--slate)}
.calc-sources a{color:var(--ink)}
.calc-trade label{font-family:var(--head);font-size:1.05rem}
.calc-trade select{width:100%;margin-top:8px;padding:12px 14px;border:2px solid var(--ink);border-radius:var(--rad-s);
  background:var(--white);color:var(--ink);font:600 1rem var(--body);box-shadow:3px 3px 0 rgba(24,33,46,.13)}
.calc-trade{padding-bottom:20px;border-bottom:1px dashed var(--line-strong)}
.calc-reset{margin-top:14px;text-align:center}
.calc-reset button{background:none;border:none;color:var(--slate);font:600 .88rem var(--body);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.calc-cta{display:flex;justify-content:center;width:100%;margin-top:14px}
@media(max-width:480px){.calc-toggle .state{display:none}}
/* booking form: spam trap + error box (2026-10-22) */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-err{margin-top:18px;border:2px solid var(--accent);border-radius:var(--rad);padding:18px 20px;background:var(--white)}
.form-err a,.cal-slot a{color:var(--accent);font-weight:600}
/* smallest phones (under 360px): slightly smaller headlines so the last two words always fit together */
@media(max-width:359px){
  h1,.page-hero h1,.lp-hero h1{font-size:1.85rem}
  h2,.cta-band h2,.final h2{font-size:1.36rem}
  .wrap{padding-inline:14px}
}
/* final logo lockup (2026-10-22): image replaces the old mark + text */
.brand img.logo-lockup{width:auto;height:52px;flex:none}
.site-foot .brand img.logo-lockup{width:auto;height:55px}
.lp-bar .brand img.logo-lockup{width:auto;height:40px}
@media(max-width:560px){.site-head .brand img.logo-lockup{height:42px}.lp-bar .brand img.logo-lockup{height:36px}}
@media(max-width:359px){.site-head .brand img.logo-lockup{height:32px}}
/* footer "Email us" button (no written address on the site, Matthias 2026-10-22) */
.foot-col a.foot-email{display:inline-flex;align-items:center;gap:8px;margin-top:2px;padding:9px 16px;border:2px solid var(--cream);
  border-radius:var(--rad-s);font-weight:600;color:var(--cream);text-decoration:none}
.foot-col a.foot-email:hover{background:var(--cream);color:var(--ink)}
.foot-col a.foot-email svg{width:16px;height:16px}
/* phones: small all-caps labels never under 12px */
@media(max-width:767px){.step-label,.tier .pre,.flag,.mini,.m-tag,.pin{font-size:12px}}
