/* r9-base.css */
/* r9 base: inner-page rules */
:root{
  --red:#d83018; --red-dark:#b82713;
  --ink:#201c1a; --ink-2:#2c2724; --ink-3:#574f48;
  --silver:#a9a29a; --cream:#f4f1ec; --stone:#eae4da; --paper:#faf8f3;
  --card:#ffffff; --line:#e6ddd0; --amber:#c8802d; --kraft:#ece3d4; --text:#33302b;
  --display:'Alfa Slab One',serif;
  --athletic:'Hanken Grotesk',sans-serif;
  --body:'Hanken Grotesk',sans-serif;
  --gutter:clamp(20px,4vw,48px);
  --radius:18px;
  --shadow:0 10px 30px rgba(32,28,26,.12);
  --shadow-lift:0 18px 44px rgba(32,28,26,.18);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip;scroll-padding-top:96px}
body{font-family:var(--body);color:var(--text);background:var(--paper);font-size:16px;line-height:1.65;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
h1,h2,h3,h4,.display{font-family:var(--display);color:var(--ink);line-height:1.12}
.container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:var(--gutter)}
.eyebrow{font-family:var(--athletic);font-weight:700;font-size:17px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:26px;height:3px;background:var(--red);border-radius:2px}
.section{padding:clamp(56px,8vw,96px) 0}
.section-head{max-width:640px;margin-bottom:clamp(28px,4vw,48px)}
.section-head h2{font-size:clamp(30px,4.4vw,46px);font-weight:800;margin-top:10px;letter-spacing:-.01em}
.section-head p{margin-top:12px;color:var(--ink-3);font-size:17px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--athletic);font-weight:700;letter-spacing:.09em;text-transform:uppercase;font-size:18px;padding:16px 30px;border-radius:999px;border:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;white-space:nowrap}
.btn-red{background:var(--red);color:#fff;box-shadow:0 8px 22px rgba(216,48,24,.38)}
.btn-red:hover{background:var(--red-dark);transform:translateY(-2px);box-shadow:0 14px 30px rgba(216,48,24,.45)}
.btn-ink{background:var(--ink);color:#fff;box-shadow:0 8px 22px rgba(32,28,26,.32)}
.btn-ink:hover{background:#000;transform:translateY(-2px)}
.btn-cream{background:#fff;color:var(--ink);box-shadow:0 8px 22px rgba(32,28,26,.22)}
.btn-cream:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(32,28,26,.3)}
.utility{background:var(--ink);color:#efe9e2;font-family:var(--athletic);font-weight:600;letter-spacing:.08em;font-size:15px;text-transform:uppercase}
.utility .container{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:16px}
.utility .u-left{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.utility .u-right{display:flex;gap:22px;white-space:nowrap}
.utility a:hover{color:#fff;text-decoration:underline}
.utility .dot{color:var(--red)}
.utility .u-short{display:none}
@media(max-width:700px){.utility .u-hours{display:none}.utility{font-size:13.5px}.utility .u-long{display:none}.utility .u-short{display:inline}}
header{position:sticky;top:0;z-index:90;background:rgba(250,248,243,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:82px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;position:relative;z-index:95}
.brand img{height:118px;width:auto;margin-top:8px;margin-bottom:-52px;filter:drop-shadow(0 10px 22px rgba(32,28,26,.35));transition:height .25s ease,margin .25s ease,filter .25s ease}
header.scrolled .brand img{height:66px;margin-top:0;margin-bottom:-4px;filter:drop-shadow(0 4px 10px rgba(32,28,26,.2))}
.brand .brand-word{display:none}
.navlinks{display:flex;align-items:center;gap:4px;font-family:var(--athletic);font-weight:700;font-size:17.5px;letter-spacing:.06em;text-transform:uppercase}
.navlinks>li{position:relative}
.navlinks>li>a{display:flex;align-items:center;gap:6px;padding:12px 14px;border-radius:10px;color:var(--ink-2)}
.navlinks>li>a:hover{color:var(--red);background:var(--cream)}
.caret{width:9px;height:9px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.dropdown{position:absolute;top:100%;left:0;min-width:270px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lift);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease}
.navlinks li:hover .dropdown,.navlinks li:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(2px)}
.dropdown a{display:block;padding:11px 14px;border-radius:10px;font-size:16.5px;color:var(--ink-2)}
.dropdown a:hover{background:var(--cream);color:var(--red)}
.nav-cta{display:flex;align-items:center;gap:16px;flex-shrink:0}
.nav-phone{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.nav-phone .np-label{font-family:var(--athletic);font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.nav-phone a{font-family:var(--display);font-weight:800;font-size:19px;color:var(--ink)}
.nav-phone a:hover{color:var(--red)}
.nav .btn{padding:13px 24px;font-size:16px}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:10px;z-index:120}
.hamburger span{width:26px;height:3px;background:var(--ink);border-radius:2px;transition:.25s ease}
@media(max-width:1100px){
  .navlinks,.nav-phone{display:none}
  .hamburger{display:flex}
  .nav .btn{display:none}
  .brand img{height:92px;margin-top:6px;margin-bottom:-36px}
  header.scrolled .brand img{height:56px;margin-bottom:-2px}
  .nav{min-height:70px}
}
.scrim{position:fixed;inset:0;background:rgba(32,28,26,.55);opacity:0;visibility:hidden;transition:.25s ease;z-index:100}
.scrim.open{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;height:100dvh;width:min(420px,100vw);background:var(--paper);z-index:110;transform:translateX(103%);visibility:hidden;transition:transform .3s cubic-bezier(.22,.8,.3,1),visibility 0s .3s;display:flex;flex-direction:column}
.drawer.open{transform:translateX(0);visibility:visible;transition:transform .3s cubic-bezier(.22,.8,.3,1)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px var(--gutter);background:var(--ink);flex-shrink:0}
.drawer-head img{height:56px;width:auto}
.drawer-close{background:var(--red);border:none;color:#fff;width:42px;height:42px;border-radius:50%;font-size:20px;cursor:pointer;line-height:1}
.drawer-body{flex:1;overflow-y:auto;padding:14px var(--gutter)}
.drawer-body>ul>li{border-bottom:1px solid var(--line)}
.drawer-body a,.acc-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 4px;font-family:var(--athletic);font-weight:700;font-size:20px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:none;border:none;cursor:pointer;text-align:left}
.acc-toggle .caret{transition:transform .2s ease}
.acc-toggle[aria-expanded="true"] .caret{transform:rotate(225deg) translateY(-2px)}
.acc-panel{max-height:0;overflow:hidden;transition:max-height .3s ease}
.acc-panel a{font-size:17px;font-weight:600;padding:11px 4px 11px 18px;color:var(--ink-3);text-transform:none;letter-spacing:.02em;font-family:var(--body)}
.drawer-foot{padding:18px var(--gutter) 26px;background:var(--cream);border-top:1px solid var(--line);flex-shrink:0}
.drawer-foot .btn{width:100%;margin-bottom:12px}
.drawer-call{display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--display);font-weight:800;font-size:24px;color:var(--ink);padding:8px 0}
.drawer-hours{text-align:center;font-size:14px;color:var(--ink-3);margin-top:6px}
.hero{position:relative;background:var(--ink);isolation:isolate}
.hero-bg{position:absolute;inset:0;background:url("../assets/photos/real/liner-run-a-1500.webp") 32% 68%/cover no-repeat;z-index:-2}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(94deg,rgba(24,20,18,.93) 0%,rgba(24,20,18,.82) 34%,rgba(24,20,18,.42) 62%,rgba(24,20,18,.12) 100%);z-index:-1}
.hero .container{padding-top:clamp(64px,9vw,120px);padding-bottom:clamp(84px,11vw,150px)}
.hero-inner{max-width:640px}
.hero-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(216,48,24,.16);border:1px solid rgba(216,48,24,.55);color:#f4f1ec;font-family:var(--athletic);font-weight:700;font-size:15.5px;letter-spacing:.13em;text-transform:uppercase;padding:8px 16px;border-radius:999px;white-space:nowrap}
.hero-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--red);flex-shrink:0}
.hero h1{font-family:var(--athletic);font-weight:700;font-size:clamp(16px,2vw,20px);letter-spacing:.16em;text-transform:uppercase;color:#d9cfc4;margin:22px 0 8px}
.hero-headline{font-family:var(--display);font-weight:800;font-size:clamp(38px,6vw,66px);line-height:1.06;color:#fff;letter-spacing:-.015em}
.hero-headline em{font-style:normal;color:var(--red)}
.hero-sub{color:#e4dcd2;font-size:clamp(16px,1.6vw,19px);max-width:520px;margin:18px 0 30px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-trust{display:flex;gap:10px 18px;flex-wrap:wrap;margin-top:26px}
.hero-trust span{display:inline-flex;align-items:center;gap:7px;color:#efe9e2;font-family:var(--athletic);font-weight:600;font-size:15px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.hero-trust svg{flex-shrink:0}
@media(max-width:900px){
  .hero-bg{background-position:60% 100%}
  .hero-scrim{background:linear-gradient(180deg,rgba(24,20,18,.97) 0%,rgba(24,20,18,.95) 50%,rgba(24,20,18,.82) 68%,rgba(24,20,18,.35) 84%,rgba(24,20,18,.08) 100%)}
  .hero .container{padding-top:44px;padding-bottom:min(68vw,430px)}
  .hero-trust{display:none}
}
.trust-strip{background:var(--cream);border-block:1px solid var(--line)}
.trust-strip .container{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-block:22px}
.tchip{display:flex;align-items:center;gap:12px;font-family:var(--athletic);font-weight:700;font-size:17px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}
.tchip svg{flex-shrink:0}
@media(max-width:900px){
  .trust-strip .container{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline-start:var(--gutter);gap:26px;scrollbar-width:none}
  .trust-strip .container::-webkit-scrollbar{display:none}
  .tchip{scroll-snap-align:start;white-space:nowrap}
}
.warn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.warn-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}
.warn-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.warn-card img{height:170px;width:100%;object-fit:cover}
.warn-body{padding:18px 20px 22px}
.warn-num{font-family:var(--athletic);font-weight:800;font-size:15px;letter-spacing:.14em;color:var(--red);text-transform:uppercase}
.warn-body h3{font-size:20px;font-weight:700;margin:6px 0 8px}
.warn-body p{font-size:15px;color:var(--ink-3)}
@media(max-width:1000px){.warn-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){
  .warn-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline-start:var(--gutter);gap:16px;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);padding-bottom:8px;scrollbar-width:none}
  .warn-grid::-webkit-scrollbar{display:none}
  .warn-card{flex:0 0 78%;scroll-snap-align:start}
}
.svc{background:var(--cream)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;transition:transform .2s ease,box-shadow .2s ease}
.svc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.svc-icon{width:54px;height:54px;border-radius:14px;background:var(--cream);display:grid;place-items:center;color:var(--red)}
.svc-card h3{font-size:21px;font-weight:700}
.svc-card p{font-size:15.5px;color:var(--ink-3);flex:1}
.svc-link{font-family:var(--athletic);font-weight:700;font-size:16px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);display:inline-flex;align-items:center;gap:6px}
.svc-link:hover{gap:10px}
.svc-card.svc-mascot{background:var(--ink);border-color:var(--ink);position:relative;overflow:hidden;min-height:290px;gap:10px}
.svc-card.svc-mascot img{position:absolute;right:-14px;bottom:-12px;top:auto;width:150px;opacity:.96;transform:rotate(2deg);z-index:0;pointer-events:none}
.svc-card.svc-mascot h3{color:#fff;position:relative;z-index:1;max-width:100%}
.svc-card.svc-mascot p{color:#d9cfc4;position:relative;z-index:1;flex:0;max-width:64%}
.svc-card.svc-mascot .btn{align-self:flex-start;margin-top:auto;position:relative;z-index:1}
@media(max-width:1000px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
  .svc-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline-start:var(--gutter);gap:16px;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);padding-bottom:8px;scrollbar-width:none}
  .svc-grid::-webkit-scrollbar{display:none}
  .svc-card{flex:0 0 82%;scroll-snap-align:start}
}
.recovery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rec-card{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);min-height:420px}
.rec-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rec-card .rec-tag{position:absolute;top:16px;left:16px;background:var(--ink);color:#fff;font-family:var(--athletic);font-weight:700;font-size:15px;letter-spacing:.12em;text-transform:uppercase;padding:7px 14px;border-radius:999px}
.rec-card.rec-good .rec-tag{background:var(--red)}
.rec-card .rec-cap{position:absolute;inset-inline:0;bottom:0;padding:44px 20px 18px;background:linear-gradient(180deg,transparent,rgba(24,20,18,.88));color:#f4efe8;font-size:15px}
.rec-card .rec-cap strong{font-family:var(--display);font-size:18px;display:block;color:#fff;margin-bottom:2px}
@media(max-width:900px){
  .recovery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline-start:var(--gutter);gap:16px;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);padding-bottom:8px;scrollbar-width:none}
  .recovery-grid::-webkit-scrollbar{display:none}
  .rec-card{flex:0 0 80%;scroll-snap-align:start;min-height:360px}
}
.stats{background:var(--ink);color:#fff}
.stats .container{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding-block:clamp(40px,6vw,64px);text-align:center}
.stat .num{font-family:var(--display);font-weight:800;font-size:clamp(34px,4.6vw,52px);color:#fff}
.stat .num em{font-style:normal;color:var(--red)}
.stat .lbl{font-family:var(--athletic);font-weight:600;font-size:15.5px;letter-spacing:.11em;text-transform:uppercase;color:#c9beb2;margin-top:4px}
@media(max-width:800px){.stats .container{grid-template-columns:repeat(2,1fr)}}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:step}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow);position:relative}
.step::before{counter-increment:step;content:"0" counter(step);font-family:var(--display);font-weight:800;font-size:44px;color:var(--stone);position:absolute;top:14px;right:18px;line-height:1}
.step h3{font-size:20px;font-weight:700;margin:10px 0 8px;position:relative}
.step p{font-size:15px;color:var(--ink-3);position:relative}
.step .step-k{font-family:var(--athletic);font-weight:700;font-size:15px;letter-spacing:.13em;text-transform:uppercase;color:var(--red)}
@media(max-width:1000px){.process-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.process-grid{grid-template-columns:1fr}}
.compare{background:var(--cream)}
.cmp-wrap{overflow-x:auto;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}
table.cmp{width:100%;border-collapse:collapse;background:var(--card);min-width:640px}
.cmp th,.cmp td{padding:15px 20px;text-align:left;border-bottom:1px solid var(--line);font-size:15.5px}
.cmp thead th{font-family:var(--athletic);font-weight:700;letter-spacing:.09em;text-transform:uppercase;font-size:16.5px}
.cmp thead th:nth-child(2){background:var(--ink);color:#fff;border-radius:0}
.cmp thead th:nth-child(3){color:var(--ink-3)}
.cmp td:nth-child(2){background:#fdf6f0;font-weight:600;color:var(--ink)}
.cmp td:nth-child(3){color:var(--ink-3)}
.cmp tbody tr:last-child td{border-bottom:none}
.yes{color:#22803c;font-weight:800;margin-right:8px}
.no{color:var(--red);font-weight:800;margin-right:8px}
.note{position:relative}
.note-card{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-lift);display:grid;grid-template-columns:1.2fr .8fr;overflow:hidden}
.note-left{padding:clamp(30px,5vw,54px)}
.note-left .rx{font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);border:2px solid var(--red);display:inline-block;padding:6px 14px;border-radius:8px;transform:rotate(-2deg)}
.note-left h2{font-size:clamp(28px,3.6vw,40px);font-weight:800;margin:18px 0 10px}
.note-left>p{color:var(--ink-3);max-width:480px}
.note-list{margin-top:22px;display:grid;gap:14px}
.note-list li{display:flex;gap:12px;align-items:flex-start;font-size:16px}
.note-list li strong{color:var(--ink)}
.note-list svg{flex-shrink:0;margin-top:3px}
.note-right{background:var(--cream);display:flex;align-items:flex-end;justify-content:center;padding:26px 26px 0;position:relative}
.note-right img{width:min(300px,100%);align-self:flex-end;filter:drop-shadow(0 16px 30px rgba(32,28,26,.25))}
.note-right .stamp{position:absolute;top:22px;right:22px;font-family:var(--athletic);font-weight:800;font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);border:2.5px dashed var(--red);padding:9px 14px;border-radius:12px;transform:rotate(6deg);background:rgba(255,255,255,.7)}
@media(max-width:860px){.note-card{grid-template-columns:1fr}.note-right{padding-top:0;min-height:280px}.note-right .stamp{top:16px;right:28px;font-size:13px;padding:7px 11px}}
.midcta{background:var(--red);position:relative;overflow:hidden}
.midcta::after{content:"";position:absolute;left:-36px;bottom:-30px;width:360px;height:300px;background:url("../assets/brand/mascot-toolbox.png") left bottom/contain no-repeat;opacity:.16;transform:rotate(-2deg);pointer-events:none;z-index:0}
.midcta .container{position:relative;z-index:1}
@media(max-width:900px){.midcta::after{opacity:.1}}
@media(max-width:700px){.midcta::after{width:200px;height:168px;left:-26px;bottom:-18px;opacity:.08}}
.midcta .container{padding-block:clamp(48px,7vw,80px);position:relative;text-align:center}
.midcta .k{font-family:var(--athletic);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#f4f1ec;font-size:17px}
.midcta h2{color:#fff;font-size:clamp(28px,4.4vw,46px);font-weight:800;max-width:760px;margin:12px auto 10px}
.midcta p{color:#f8ede8;max-width:560px;margin:0 auto 28px;font-size:17px}
.midcta .btn-cream:hover{color:var(--red)}
.midcta--form .container{text-align:left;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,56px);align-items:center}
.midcta--form h2{margin:12px 0 10px;max-width:none}
.midcta--form p{margin:0 0 22px}
.mc-call{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:22px;color:#fff}
.mc-call:hover{text-decoration:underline}
.mc-call .mc-k{font-family:var(--athletic);font-weight:600;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:#f8d9d2;display:block}
.lead-form{background:#fff;border-radius:22px;padding:clamp(22px,3vw,32px);box-shadow:0 26px 60px rgba(90,14,4,.4);position:relative;z-index:2}
.lead-form h3{font-size:21px;margin-bottom:4px}
.lead-form .lf-sub{font-size:14px;color:var(--ink-3);margin-bottom:16px}
.lf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lf-field{display:flex;flex-direction:column;gap:6px}
.lf-field.full{grid-column:1/-1}
.lf-field label{font-family:var(--athletic);font-weight:700;font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.lf-field input,.lf-field select,.lf-field textarea{padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font-family:var(--body);font-size:15.5px;background:var(--paper);color:var(--text);width:100%}
.lf-field textarea{min-height:86px;resize:vertical}
.lf-field input:focus,.lf-field select:focus,.lf-field textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(216,48,24,.18)}
.lead-form .btn{width:100%;margin-top:14px}
.lead-form .lf-note{font-size:12.5px;color:var(--ink-3);text-align:center;margin:10px 0 0}
.lead-form .lf-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--ink-3);margin:14px 0 12px;cursor:pointer}.lead-form .lf-consent input{width:20px;height:20px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--red,#c8102e)}
.lf-success{display:none;text-align:center;padding:26px 8px 30px}
.lf-success .ls-mascot{width:132px;margin:0 auto 6px;display:block;filter:drop-shadow(0 12px 22px rgba(32,28,26,.22))}
.lf-success h3{margin-bottom:6px}
.lf-success p{color:var(--ink-3);font-size:15px;margin:0}
.lead-form.sent form{display:none}
.lead-form.sent .lf-success{display:block}
@media(max-width:900px){
  .midcta--form .container{grid-template-columns:1fr;text-align:left}
  .lf-grid{grid-template-columns:1fr}
}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,60px);align-items:center}
.about-photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lift);position:relative}
.about-photo img{width:100%;height:100%;object-fit:cover;min-height:380px}
.about-photo .ap-tag{position:absolute;bottom:16px;left:16px;background:rgba(32,28,26,.85);color:#fff;font-family:var(--athletic);font-weight:600;font-size:14.5px;letter-spacing:.09em;text-transform:uppercase;padding:8px 14px;border-radius:999px}
.about-copy h2{font-size:clamp(28px,3.8vw,42px);font-weight:800;margin:10px 0 16px}
.about-copy p{color:var(--ink-3);margin-bottom:14px}
.about-points{margin-top:20px;display:grid;gap:12px}
.about-points li{display:flex;gap:12px;align-items:flex-start;font-weight:600;color:var(--ink-2)}
.about-points svg{flex-shrink:0;margin-top:4px}
@media(max-width:900px){.about-grid{grid-template-columns:1fr}}
.faq{background:var(--cream)}
.faq-list{max-width:820px}
.faq-item{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:19px 22px;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--display);font-weight:700;font-size:17.5px;color:var(--ink)}
.faq-q .fi{width:30px;height:30px;border-radius:50%;background:var(--cream);color:var(--red);display:grid;place-items:center;font-size:19px;font-weight:800;flex-shrink:0;transition:transform .22s ease,background .22s ease}
.faq-item.open .fi{transform:rotate(45deg);background:var(--red);color:#fff}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a p{padding:0 22px 20px;color:var(--ink-3);font-size:15.5px}
.areas .section-head{max-width:720px}
.area-pills{display:flex;flex-wrap:wrap;gap:12px}
.area-pills a{background:var(--card);border:1.5px solid var(--line);border-radius:999px;padding:11px 22px;font-family:var(--athletic);font-weight:700;font-size:17px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);transition:.18s ease}
.area-pills a:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px);box-shadow:var(--shadow)}
.areas p.area-note{margin-top:18px;color:var(--ink-3);font-size:15.5px;max-width:640px}
.foot-cta{background:var(--ink);border-bottom:1px solid #3a332e}
.foot-cta .container{display:flex;align-items:center;justify-content:space-between;gap:26px;padding-block:clamp(38px,5vw,56px);flex-wrap:wrap}
.foot-cta h2{color:#fff;font-size:clamp(24px,3.2vw,34px);font-weight:800;max-width:520px}
.foot-cta .fc-actions{display:flex;gap:14px;flex-wrap:wrap}
footer{background:var(--ink);color:#cfc5ba}
.foot-trust{border-bottom:1px solid #3a332e}
.foot-trust .container{display:flex;flex-wrap:wrap;gap:14px 34px;justify-content:center;padding-block:20px;font-family:var(--athletic);font-weight:600;letter-spacing:.09em;text-transform:uppercase;font-size:15px;color:#b7ab9e}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:38px;padding-block:clamp(44px,6vw,64px)}
.foot-grid h4{color:#fff;font-family:var(--athletic);font-weight:700;font-size:18px;letter-spacing:.11em;text-transform:uppercase;margin-bottom:16px}
.foot-grid li{margin-bottom:10px;font-size:15.5px}
.foot-grid a:hover{color:#fff;text-decoration:underline}
.foot-brand img{height:110px;margin-bottom:14px}
.foot-brand p{font-size:15px;max-width:280px}
.foot-contact li{display:flex;gap:10px;align-items:flex-start}
.foot-contact svg{flex-shrink:0;margin-top:3px}
.foot-contact strong{color:#fff}
.coverage{border-top:1px solid #3a332e}
.coverage .container{padding-block:20px;font-size:14.5px;color:#a2968a;text-align:center}
.coverage strong{color:#cfc5ba}
.legal{border-top:1px solid #3a332e}
.legal .container{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-block:18px;font-size:13.5px;color:#8d8175;flex-wrap:wrap}
.backtop{position:fixed;right:18px;bottom:92px;width:46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;border:1px solid #4a423c;display:grid;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transition:.25s ease;z-index:80;box-shadow:var(--shadow-lift)}
.backtop.show{opacity:1;visibility:visible}
.backtop:hover{background:var(--red)}
@media(max-width:1000px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr}}
.mobile-bar{position:fixed;inset-inline:0;bottom:0;z-index:85;display:none;grid-template-columns:1fr 1fr;box-shadow:0 -8px 24px rgba(32,28,26,.22)}
.mobile-bar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 10px;font-family:var(--athletic);font-weight:700;font-size:17px;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.mobile-bar .mb-call{background:var(--ink)}
.mobile-bar .mb-book{background:var(--red)}
@media(max-width:900px){.mobile-bar{display:grid}body{padding-bottom:56px}.backtop{bottom:76px}}
@keyframes riseIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.hero-pill,.hero h1,.hero-headline,.hero-sub,.hero-ctas,.hero-trust{opacity:0;animation:riseIn .7s cubic-bezier(.22,.8,.3,1) forwards}
.hero h1{animation-delay:.12s}
.hero-headline{animation-delay:.22s}
.hero-sub{animation-delay:.34s}
.hero-ctas{animation-delay:.46s}
.hero-trust{animation-delay:.58s}
@keyframes bgIn{from{transform:scale(1.045)}to{transform:scale(1)}}
.hero-bg{animation:bgIn 1.6s ease-out forwards}
.ekg{display:block;width:min(340px,60vw);height:34px;margin:0 0 10px}
.ekg.ekg-center{margin-inline:auto}
.ekg path{fill:none;stroke:var(--red);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:520;stroke-dashoffset:520}
.in .ekg path,.ekg.in path{animation:ekgDraw 1.6s ease-out forwards}
@keyframes ekgDraw{to{stroke-dashoffset:0}}
.stats .ekg path{stroke:var(--red)}
@keyframes pulse{0%,100%{box-shadow:0 8px 22px rgba(216,48,24,.38)}50%{box-shadow:0 8px 22px rgba(216,48,24,.38),0 0 0 9px rgba(216,48,24,.14)}}
.btn-red:hover{animation:pulse 1.1s ease-in-out infinite}
.warn-card{cursor:pointer;position:relative;border-width:2px}
.warn-card .check{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid var(--line);display:grid;place-items:center;color:transparent;font-weight:800;font-size:17px;transition:.18s ease;z-index:2;box-shadow:0 4px 12px rgba(32,28,26,.18)}
.warn-card.checked{border-color:var(--red)}
.warn-card.checked .check{background:var(--red);border-color:var(--red);color:#fff}
.warn-card.checked .warn-num{color:var(--red)}
.symptom-bar{margin-top:26px;background:var(--ink);border-radius:999px;padding:12px 12px 12px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:var(--shadow-lift)}
.symptom-bar .sb-text{color:#efe9e2;font-family:var(--athletic);font-weight:700;font-size:18px;letter-spacing:.05em;text-transform:uppercase}
.symptom-bar .sb-text em{font-style:normal;color:#fff;border-bottom:3px solid var(--red)}
.symptom-bar .btn{padding:12px 24px;font-size:16px;flex-shrink:0}
@media(max-width:700px){
  .symptom-bar{flex-direction:column;border-radius:20px;padding:18px;text-align:center;gap:12px}
  .symptom-bar .btn{width:100%}
}
.torch-sec{background:var(--ink);position:relative}
.torch-sec .container{padding-block:clamp(56px,8vw,96px)}
.torch-head{max-width:640px;margin-bottom:clamp(26px,4vw,40px)}
.torch-head .eyebrow{color:#f4f1ec}
.torch-head .eyebrow::before{background:var(--red)}
.torch-head h2{color:#fff;font-size:clamp(30px,4.4vw,46px);font-weight:800;margin-top:10px}
.torch-head p{color:#c9beb2;margin-top:12px;font-size:17px}
.torch{position:relative;border-radius:var(--radius);overflow:hidden;height:clamp(320px,46vw,520px);cursor:none;box-shadow:var(--shadow-lift);touch-action:none}
.torch .torch-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.torch .torch-dark{position:absolute;inset:0;background:rgba(10,8,7,.96);-webkit-mask-image:radial-gradient(circle 150px at var(--tx,50%) var(--ty,55%),transparent 0 96px,rgba(0,0,0,.72) 150px,#000 210px);mask-image:radial-gradient(circle 150px at var(--tx,50%) var(--ty,55%),transparent 0 96px,rgba(0,0,0,.72) 150px,#000 210px)}
.torch .torch-hint{position:absolute;inset-inline:0;bottom:18px;display:flex;justify-content:center;pointer-events:none}
@media(max-width:760px){.torch .torch-hint{justify-content:flex-start;padding-left:14px;bottom:14px}.torch .torch-hint>span{font-size:12.5px;padding:8px 14px}.torch-mascot{width:clamp(96px,30vw,128px);right:-8px}.th-more{display:none}}
.torch .torch-hint span{background:rgba(244,241,236,.92);color:var(--ink);font-family:var(--athletic);font-weight:700;font-size:15px;letter-spacing:.09em;text-transform:uppercase;padding:9px 18px;border-radius:999px;display:inline-flex;align-items:center;gap:8px}
.torch-mascot{position:absolute;right:clamp(2px,2vw,28px);bottom:-10px;width:clamp(150px,22vw,270px);pointer-events:none;filter:drop-shadow(0 12px 26px rgba(0,0,0,.6));z-index:3}
.torch-cta{margin-top:26px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.torch-cta p{color:#c9beb2;font-size:16px}
.note-card .stamp{opacity:0}
.note-card.in .stamp{animation:stampIn .55s cubic-bezier(.2,1.6,.4,1) .5s forwards}
@keyframes stampIn{0%{opacity:0;transform:rotate(6deg) scale(2.4)}70%{opacity:1;transform:rotate(6deg) scale(.94)}100%{opacity:1;transform:rotate(6deg) scale(1)}}
.step::before{font-family:var(--athletic);font-weight:800;font-size:92px;color:transparent;-webkit-text-stroke:2px var(--stone);top:2px;right:14px}
.step:hover::before{-webkit-text-stroke:2px rgba(216,48,24,.5)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .hero-pill,.hero h1,.hero-headline,.hero-sub,.hero-ctas,.hero-trust{opacity:1;animation:none}
  .hero-bg{animation:none}
  .ekg path,.in .ekg path{stroke-dashoffset:0;animation:none}
  .btn-red:hover{animation:none}
  .note-card .stamp{opacity:1;animation:none!important}
  .torch .torch-dark{-webkit-mask-image:none;mask-image:none;background:rgba(10,8,7,.35)}
}
.hero--inner .container{padding-top:clamp(48px,6vw,84px);padding-bottom:clamp(56px,7vw,100px)}
@media(max-width:900px){.hero--inner .container{padding-top:44px;padding-bottom:64px}
.hero--inner .hero-scrim{background:linear-gradient(180deg,rgba(24,20,18,.95),rgba(24,20,18,.86))}}
.crumbs{font-family:var(--athletic);font-weight:600;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:#c9beb2;margin-bottom:16px;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a:hover{color:#fff;text-decoration:underline}
.crumbs .sep{color:var(--red)}
.body-copy{max-width:760px}
.body-copy p{margin-bottom:16px;color:var(--ink-3);font-size:16.5px}
.body-copy strong{color:var(--ink)}
.related{background:var(--cream)}
.rel-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,60px)}
.rel-grid h3{font-size:26px;margin:8px 0 16px}
.rel-links{display:flex;flex-direction:column;gap:2px}
.rel-links a{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;border-bottom:1px solid var(--line);font-family:var(--athletic);font-weight:700;font-size:18px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);transition:.16s ease}
.rel-links a::after{content:"\2192";color:var(--red);opacity:0;transform:translateX(-6px);transition:.16s ease}
.rel-links a:hover{color:var(--red);padding-left:10px}
.rel-links a:hover::after{opacity:1;transform:none}
@media(max-width:760px){.rel-grid{grid-template-columns:1fr;gap:32px}}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
.val-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow)}
.val-card .vc-ic{width:52px;height:52px;border-radius:14px;background:var(--cream);display:grid;place-items:center;color:var(--red);margin-bottom:14px}
.val-card h3{font-size:20px;margin-bottom:8px}
.val-card p{font-size:15px;color:var(--ink-3)}
@media(max-width:900px){.team-grid{grid-template-columns:1fr}}
.local-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(28px,4.5vw,60px);align-items:start}
.local-h2{font-size:clamp(30px,4.4vw,46px);font-weight:800;letter-spacing:-.01em;margin:10px 0 18px}
.local-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;box-shadow:var(--shadow-lift);position:sticky;top:104px}
.local-card .lc-eyebrow{font-family:var(--athletic);font-weight:700;font-size:14px;letter-spacing:.13em;text-transform:uppercase;color:var(--red)}
.local-card h3{font-size:24px;margin:6px 0 18px}
.lc-points{display:flex;flex-direction:column;gap:13px;margin-bottom:22px;border-top:1px solid var(--line);padding-top:18px}
.lc-points li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;line-height:1.5;color:var(--ink-2);font-weight:600}
.lc-points li svg{flex-shrink:0;margin-top:2px}
.local-card .btn{width:100%}
.lc-call{display:block;text-align:center;margin-top:12px;font-family:var(--athletic);font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-size:15px;color:var(--ink-3)}
.lc-call:hover{color:var(--red)}
@media(max-width:900px){.local-grid{grid-template-columns:1fr;gap:32px}.local-card{position:static}}
.ty-hero{background:var(--ink)}
.ty-hero .container{padding-block:clamp(56px,8vw,110px)}
.ty-inner{max-width:680px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.ty-mascot{width:clamp(150px,20vw,220px);margin-bottom:8px;filter:drop-shadow(0 18px 34px rgba(0,0,0,.45))}
.ty-hero .hero-pill{margin-bottom:14px}
.ty-h1{font-family:var(--display);font-weight:800;font-size:clamp(38px,6vw,64px);line-height:1.05;color:#fff;text-transform:none;letter-spacing:-.015em;margin:0 0 8px}
.ty-hero .hero-sub{color:#e4dcd2;max-width:560px}
.ty-hero .hero-ctas{justify-content:center;margin-top:26px}
.ty-steps{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.ty-steps{grid-template-columns:1fr}}
h1,h2,h3,h4,.display{font-weight:400;letter-spacing:.005em}
.section-head h2{font-size:clamp(25px,3.5vw,39px)}
.hero-headline{font-size:clamp(32px,4.6vw,54px)!important;line-height:1.14}
.btn{font-weight:800;letter-spacing:.06em;font-size:16.5px}
.eyebrow{font-weight:800;font-size:13.5px;letter-spacing:.18em}
.navlinks{font-size:15px;letter-spacing:.03em}
.navlinks>li>a{padding:12px 11px}
.utility{font-size:13px;letter-spacing:.05em}
.dropdown a{font-size:15.5px}
.nav-phone .np-label{font-size:11.5px}
.warn-num,.step-k,.rec-tag,.rx{font-weight:800}
.stat .lbl{font-weight:700}
.faq-q{font-weight:700}
.lf-sub,.lf-note{font-weight:500}
.legal,.legal a,.legal span{color:#bdb5ab}
@media(max-width:700px){.hero-headline{font-size:clamp(30px,8.4vw,40px)!important}.utility{font-size:11.5px}}
.btn{border-radius:10px;font-weight:800;letter-spacing:.05em;font-size:16px}
.btn-red{box-shadow:0 3px 0 var(--red-dark),0 10px 20px rgba(216,48,24,.22)}
.btn-red:hover{background:var(--red);transform:translateY(-2px);box-shadow:0 5px 0 var(--red-dark),0 14px 24px rgba(216,48,24,.28)}
.btn-ink{box-shadow:0 3px 0 #000,0 10px 20px rgba(32,28,26,.22)}
.btn-ink:hover{background:var(--ink);transform:translateY(-2px);box-shadow:0 5px 0 #000,0 14px 24px rgba(32,28,26,.28)}
.btn-cream{box-shadow:0 3px 0 #d8d0c4,0 10px 20px rgba(32,28,26,.16)}
.btn-cream:hover{transform:translateY(-2px);box-shadow:0 5px 0 #d8d0c4,0 14px 24px rgba(32,28,26,.2)}
.navlinks>li>a{white-space:nowrap;position:relative;border-radius:0;padding:12px 4px;margin:0 9px}
.navlinks>li>a::after{content:"";position:absolute;left:2px;right:2px;bottom:6px;height:3px;border-radius:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.navlinks>li>a:hover{background:none;color:var(--red)}
.navlinks>li>a:hover::after{transform:scaleX(1)}
@media(max-width:1100px){
  .nav{justify-content:flex-end;position:relative}
  .brand{position:absolute;left:50%;transform:translateX(-50%)}
  .brand img{height:118px;margin-top:8px;margin-bottom:-52px}
  header.scrolled .brand img{height:64px;margin-bottom:-4px}
  .hamburger{flex-direction:row;align-items:center;gap:8px;border:2px solid var(--ink);border-radius:10px;padding:9px 13px;background:#fff}
  .hamburger::before{content:"";width:17px;height:12px;background:linear-gradient(180deg,var(--ink) 0 2.5px,transparent 2.5px 4.8px,var(--ink) 4.8px 7.3px,transparent 7.3px 9.6px,var(--ink) 9.6px 12px);border-radius:2px}
  .hamburger::after{content:"Menu";font-family:var(--athletic);font-weight:800;font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink)}
  .hamburger span{display:none}
}
.mb-menu{display:flex;align-items:center;justify-content:center;gap:7px;background:#faf8f3;color:var(--ink);border:none;padding:15px 14px;font-family:var(--athletic);font-weight:700;font-size:13.5px;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}
.mb-menu::before{content:"";width:16px;height:11px;background:linear-gradient(180deg,var(--ink) 0 2px,transparent 2px 4.5px,var(--ink) 4.5px 6.5px,transparent 6.5px 9px,var(--ink) 9.5px 11px)}
@media(max-width:900px){
  .hamburger{display:none}
  .utility{display:none}
  .mobile-bar{grid-template-columns:auto 1fr 1.15fr}
  .mobile-bar a{font-size:13.5px;letter-spacing:.05em;padding:15px 6px;gap:6px;white-space:nowrap}
}
@media(min-width:901px){.mb-menu{display:none}}
.xray-sec{padding-top:0}
.xr-head{max-width:640px;margin-bottom:clamp(20px,3vw,32px)}
.xr-head h2{font-size:clamp(25px,3.5vw,39px);margin-top:10px}
.xray{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lift);aspect-ratio:16/7;touch-action:pan-y;cursor:ew-resize;user-select:none;-webkit-user-select:none;outline:none}
.xray:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.xray img{width:100%;height:100%;object-fit:cover;display:block}
.x-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--x)) 0 0)}
.x-before img{position:absolute;inset:0}
.x-line{position:absolute;top:0;bottom:0;left:var(--x);width:3px;background:#fff;box-shadow:0 0 14px rgba(0,0,0,.5);transform:translateX(-50%)}
.x-grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.x-tag{position:absolute;top:14px;font-family:var(--athletic);font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:rgba(32,28,26,.8);color:#fff}
.x-tag.xb{left:14px}
.x-tag.xa{right:14px}
@media(max-width:700px){.xray{aspect-ratio:4/3}}
.lf-urgency{display:flex;gap:8px;flex-wrap:wrap}
.lf-urgency label{cursor:pointer}
.lf-urgency input{position:absolute;opacity:0;pointer-events:none}
.lf-urgency span{display:inline-block;font-family:var(--athletic);font-weight:700;font-size:13px;letter-spacing:.04em;padding:9px 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink-2);transition:.15s ease}
.lf-urgency input:checked+span{background:var(--red);border-color:var(--red);color:#fff}
.lf-urgency input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.skiplink{position:absolute;left:-9999px;top:0;z-index:300;background:var(--ink);color:#fff;font-family:var(--athletic);font-weight:800;font-size:14px;letter-spacing:.06em;text-transform:uppercase;padding:12px 20px;border-radius:0 0 10px 0}
.skiplink:focus{left:0}
@media(max-width:700px){
  header{position:absolute;top:0;left:0;right:0;background:transparent;backdrop-filter:none;border-bottom:none}
  header.scrolled .brand img{height:118px;margin-top:8px;margin-bottom:-52px}
  .brand img{filter:drop-shadow(0 10px 22px rgba(0,0,0,.5))}
  .hero--inner .container{padding-top:150px}
  .hero-inner{text-align:center;display:flex;flex-direction:column;align-items:center}
  .crumbs{justify-content:center}
  .hero-sub{margin-inline:auto}
  .hero-ctas{flex-direction:column;align-items:center;width:100%;justify-content:center}
  .hero-ctas .btn{width:min(100%,340px)}
  .fc-actions{flex-direction:column;align-items:center}
  .fc-actions .btn{width:min(100%,340px)}
}
.drawer-card{margin:20px 22px 8px;display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow)}
.drawer-card img{width:62px;flex-shrink:0}
.drawer-card strong{display:block;font-size:15px;color:var(--ink);line-height:1.3}
.drawer-card span{font-size:13.5px;color:var(--ink-3);line-height:1.4;display:block;margin-top:3px}
.acc-toggle{transition:color .15s ease}
.acc-toggle[aria-expanded="true"]{color:var(--red)}
.acc-toggle .caret{transition:transform .2s ease}
.acc-toggle[aria-expanded="true"] .caret{transform:rotate(225deg) translateY(-2px)}
@keyframes dItem{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}
.drawer.open .drawer-body>ul>li,.drawer.open .drawer-card{animation:dItem .32s ease both}
.drawer.open .drawer-body>ul>li:nth-child(1){animation-delay:.05s}
.drawer.open .drawer-body>ul>li:nth-child(2){animation-delay:.09s}
.drawer.open .drawer-body>ul>li:nth-child(3){animation-delay:.13s}
.drawer.open .drawer-body>ul>li:nth-child(4){animation-delay:.17s}
.drawer.open .drawer-body>ul>li:nth-child(5){animation-delay:.21s}
.drawer.open .drawer-card{animation-delay:.27s}
@media(prefers-reduced-motion:reduce){.drawer.open .drawer-body>ul>li,.drawer.open .drawer-card{animation:none}}

/* r9 home-only rules (scoped under .page-home) */
.page-home .hero-bg{position:absolute;inset:0;background:url("../assets/photos/real/liner-run-a-1500.webp") 32% 68%/cover no-repeat;z-index:-2}
.page-home .midcta::after{content:"";position:absolute;left:-36px;bottom:-30px;width:360px;height:300px;background:url("../assets/brand/mascot-toolbox.png") left bottom/contain no-repeat;opacity:.16;transform:rotate(-2deg);pointer-events:none;z-index:0}
.page-home .vswitch{position:fixed;left:14px;bottom:14px;z-index:200;display:flex;gap:4px;align-items:center;background:rgba(32,28,26,.92);backdrop-filter:blur(6px);border-radius:999px;padding:6px 10px;font-family:var(--athletic);font-weight:800;font-size:13px;letter-spacing:.06em;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.page-home .vswitch span{color:#8f8880;margin-right:2px}
.page-home .vswitch a{color:#cfc8c0;padding:4px 9px;border-radius:999px}
.page-home .vswitch a:hover{color:#fff;background:rgba(255,255,255,.12)}
.page-home .vswitch a.on{background:var(--red);color:#fff}
@media(max-width:860px){.page-home .vswitch{bottom:76px}}
.page-home .areas2{background:var(--paper)}
.page-home .areas2-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(30px,4.5vw,60px);align-items:center}
.page-home .map-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lift);overflow:hidden}
.page-home .map-card svg{display:block;width:100%;height:auto}
.page-home .mp-sea{fill:#eef1ee}.mp-ga{fill:#fbf9f6}.mp-sc{fill:#f0ece5}
.mp-county-on{fill:rgba(216,48,24,.08)}
.mp-county{fill:none;stroke:#e2d9cc;stroke-width:.8;stroke-linejoin:round}
.mp-state{fill:none;stroke:#b4a893;stroke-width:1.6;stroke-dasharray:6 4}
.mp-water{fill:#cfe2ec;stroke:#b6d1df;stroke-width:.6}
.mp-us{fill:none;stroke:#e3d7c5;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.mp-i{fill:none;stroke:#c7b391;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.mp-shield path{fill:#23408e;stroke:#fff;stroke-width:1.5}.mp-shield text{font-family:var(--athletic);font-weight:800;font-size:10px;fill:#fff}
.mp-state-lbl{font-family:var(--athletic);font-weight:700;font-size:13px;letter-spacing:.3em;fill:#b0a490}
.mp-lake-lbl{font-style:italic;font-weight:600;font-size:13px;fill:#5f8ea8}
.mp-scale path{fill:none;stroke:var(--ink-2);stroke-width:1.5}.mp-scale text,.mp-src{font-family:var(--athletic);font-weight:600;font-size:11.5px;fill:var(--ink-3);letter-spacing:.04em}
.page-home .mp-blob{fill:none;stroke:var(--red);stroke-width:2;stroke-dasharray:7 6;stroke-linecap:round;opacity:.75}
.page-home .mp-dot{fill:#fff;stroke:var(--red);stroke-width:2.5}
.page-home .mp-core{fill:var(--red)}
.page-home .mp-hq{fill:var(--red);stroke:#fff;stroke-width:3}
.page-home .mp-hqchip{fill:var(--ink)}
.page-home .mp-hqtext{font-family:var(--athletic);font-weight:800;font-size:11px;letter-spacing:.1em;fill:#fff}
.page-home .mp-lbl{font-family:var(--athletic);font-weight:700;font-size:15px;fill:var(--ink-2);letter-spacing:.02em}
.page-home .mp-lbl.mp-major{font-weight:800;font-size:16.5px;fill:var(--ink)}
.page-home .map-card a .mp-lbl{fill:var(--red);text-decoration:none}
.page-home .map-card a:hover .mp-lbl{text-decoration:underline}
.page-home .map-card a:hover .mp-dot{stroke-width:4}
.page-home .areas2-copy h2{font-size:clamp(25px,3.5vw,39px);margin-top:10px}
.page-home .areas2-copy>p{margin-top:14px;color:var(--ink-3);font-size:16.5px}
.page-home .areas2-lists{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.page-home .areas2-lists h3{font-family:var(--athletic);font-weight:800;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.page-home .areas2-lists ul li{margin-bottom:8px;font-weight:600;font-size:16px}
.page-home .areas2-lists ul a{color:var(--red)}
.page-home .areas2-lists ul a:hover{text-decoration:underline}
.page-home .areas2-plain li{color:var(--ink-2)}
.page-home .areas2-cta{display:flex;align-items:center;gap:18px;margin-top:26px;flex-wrap:wrap}
.page-home .areas2-call{font-weight:700;font-size:15px;color:var(--ink-2)}
.page-home .areas2-call:hover{color:var(--red)}
.page-home .mp-mob{display:none}
@media(max-width:960px){.page-home .areas2-grid{grid-template-columns:1fr;gap:28px} .page-home .mp-desk{display:none} .page-home .mp-mob{display:block} .page-home .mp-lbl{font-size:19px} .page-home .mp-lbl.mp-major{font-size:21px} .page-home .mp-lbl.mp-minor{display:none} .page-home .mp-hqtext{font-size:13px}}
.page-home .wsep{line-height:0;margin-bottom:-1px;background:#efebe6}
.page-home .wsep svg{display:block;width:100%;height:clamp(38px,6vw,90px)}
@media(max-width:700px){.page-home .hero-inner{text-align:center;display:flex;flex-direction:column;align-items:center;margin-inline:auto} .page-home .hero-sub{margin-inline:auto} .page-home .hero-ctas{flex-direction:column;align-items:center;width:100%;justify-content:center} .page-home .hero-ctas .btn{width:min(100%,340px)} .page-home .fc-actions{flex-direction:column;align-items:center} .page-home .fc-actions .btn{width:min(100%,340px)} .page-home .hero-bg{top:auto;height:260px;bottom:0;background-position:74% 72%;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 42%);mask-image:linear-gradient(180deg,transparent 0,#000 42%)} .page-home .hero-scrim{background:linear-gradient(180deg,#181412 0%,#181412 52%,rgba(24,20,18,.5) 74%,rgba(24,20,18,.05) 100%)} .page-home .hero .container{padding-bottom:250px} .page-home .hero-trust{display:none} .page-home header{position:absolute;top:0;left:0;right:0;background:transparent;backdrop-filter:none;border-bottom:none} .page-home header.scrolled .brand img{height:118px;margin-top:8px;margin-bottom:-52px;filter:drop-shadow(0 10px 22px rgba(0,0,0,.5))} .page-home .brand img{filter:drop-shadow(0 10px 22px rgba(0,0,0,.5))} .page-home .hero .container{padding-top:158px}}

/* r9 blog-only rules (scoped under .page-blog) */
.page-blog .hero-bg{position:absolute;inset:0;background:url("../assets/photos/real/liner-run-a-1500.webp") 32% 68%/cover no-repeat;z-index:-2}
.page-blog .midcta::after{content:"";position:absolute;left:-36px;bottom:-30px;width:360px;height:300px;background:url("../assets/brand/mascot-toolbox.png") left bottom/contain no-repeat;opacity:.16;transform:rotate(-2deg);pointer-events:none;z-index:0}
.page-blog .hero--inner .hero-headline{font-size:clamp(28px,3.2vw,44px)!important}
.page-blog .post-meta{font-family:var(--athletic);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.page-blog .post-feature{border-radius:var(--radius);box-shadow:var(--shadow-lift);width:100%;margin:0 0 34px;display:block}
.page-blog .post-body{max-width:760px}
.page-blog .post-body h2{font-size:clamp(24px,3vw,34px);margin:44px 0 14px}
.page-blog .post-body h3{font-size:clamp(19px,2.2vw,24px);margin:32px 0 10px}
.page-blog .post-body p{margin:0 0 18px;font-size:17px;color:var(--text)}
.page-blog .post-body ul,.page-blog .post-body ol{margin:0 0 18px 22px;font-size:17px}
.page-blog .post-body li{margin-bottom:8px}
.page-blog .post-body a{color:var(--red);text-decoration:underline}
.page-blog .post-body strong{color:var(--ink)}
.page-blog .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:1000px){.page-blog .blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.page-blog .blog-grid{grid-template-columns:1fr}}
.page-blog .blog-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease}
.page-blog .blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.page-blog .blog-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.page-blog .blog-card .bc-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.page-blog .blog-card .bc-date{font-family:var(--athletic);font-weight:800;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.page-blog .blog-card h3{font-size:19px;line-height:1.25;margin:0}
.page-blog .blog-card h3 a{color:var(--ink)}
.page-blog .blog-card h3 a:hover{color:var(--red)}
.page-blog .blog-card p{font-size:14.5px;color:var(--ink-3);margin:0;flex:1}
.page-blog .blog-card .bc-link{font-family:var(--athletic);font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}

/* tokens.css */
/* Crawl Space Doctors design tokens (r10). The ONE place colors, type and spacing are defined.
   Maps 1:1 to the WordPress theme's theme.json / ACSS dashboard in /forge-html-theme.
   Red: #e43018 is the logo red, used for large fills and marks only (4.44:1 with white).
   UI red #d42c16 carries buttons and small red text (5.03:1 white-on-red, 4.63:1 on paper). */
:root{
  --red:#d42c16;        /* UI red: buttons, links, small text */
  --red-logo:#e43018;   /* logo red: big numerals, seals, rules, headline accents on dark */
  --red-dark:#b3220e;   /* ledge shadow, hover */
  --ink:#161311;        /* logo ink, warmed */
  --ink-2:#26211d;
  --ink-3:#5a5049;      /* body-secondary on paper, 6.4:1 */
  --grey:#84786c;       /* mascot fur: decorative only */
  --grey-2:#6e6358;     /* grey text on paper, 5.4:1 */
  --grey-light:#b5aba0; /* grey text on ink, 8.2:1 */
  --paper:#f7f5f2;
  --cream:#efebe6;
  --stone:#e3ddd6;
  --line:#e2dbd2;
  --card:#ffffff;
  --text:#2b2622;
  --silver:#a39a8f;
  --kraft:var(--cream);
  --amber:var(--grey);
  --display:'Big Shoulders Display','Arial Narrow',Impact,sans-serif;
  --athletic:'Public Sans',system-ui,-apple-system,sans-serif;
  --body:'Public Sans',system-ui,-apple-system,sans-serif;
  --gutter:clamp(20px,4vw,48px);
  --radius:14px;
  --shadow:0 10px 30px rgba(22,19,17,.10);
  --shadow-lift:0 18px 44px rgba(22,19,17,.16);
}

/* r10.css */
/* ===== r10 layer (owl pass). Loaded after r9-base.css. ===== */

/* ---------- type ---------- */
body{font-size:16.5px;color:var(--text)}
h1,h2,h3,h4,.display{font-family:var(--display);font-weight:800;letter-spacing:.004em;line-height:1}
.section-head h2,.xr-head h2,.torch-sec h2,.local-h2,.midcta h2,.foot-cta h2,.about-copy h2,.areas2 h2,.torch-sec h2,.rel-grid h2,.note-left h2{
  font-size:clamp(40px,5.2vw,64px)!important;font-weight:900;text-transform:uppercase;line-height:.93!important;letter-spacing:.005em}
.section-head p{font-size:17.5px;max-width:600px}
.hero-headline{font-size:clamp(54px,7.6vw,100px)!important;font-weight:900;text-transform:uppercase;line-height:.88!important;letter-spacing:0!important}
.hero-headline em{color:var(--red-logo)}
.hero h1{font-family:var(--athletic);font-weight:800;font-size:clamp(13px,1.3vw,15px);letter-spacing:.2em;color:var(--grey-light);margin:0 0 14px}
.hero-sub{font-size:clamp(16.5px,1.5vw,19px);line-height:1.6;max-width:540px;color:#e9e3dc;margin:20px 0 22px}
.eyebrow{font-size:13px;letter-spacing:.2em;font-weight:800}
.eyebrow--light{color:#f3ede6}
h3{font-size:clamp(22px,2.2vw,28px)}
.warn-card h3,.svc-card h3,.rel-grid h3,.local-card h3,.lead-form h3,.lf-success h3{font-size:clamp(23px,2vw,27px)!important;font-weight:800;text-transform:uppercase;line-height:1}
.rec-card .rec-cap strong{font-size:24px;text-transform:uppercase;letter-spacing:.01em}
.faq-q{font-family:var(--display);font-weight:800;font-size:23px!important;text-transform:uppercase;letter-spacing:.01em}
.nav-phone a,.drawer-call,.mc-call{font-family:var(--display);font-weight:900;letter-spacing:.01em}
.nav-phone a{font-size:26px}
.mc-call{font-size:32px}
.drawer-call{font-size:30px}
.cmp thead th{font-size:14.5px}
.btn{font-family:var(--athletic);font-weight:800;font-size:15.5px;letter-spacing:.07em}

/* ---------- buttons: ledge style, logo red ---------- */
.btn-red{background:var(--red);box-shadow:0 3px 0 var(--red-dark),0 10px 20px rgba(212,44,22,.22)}
.btn-red:hover{background:var(--red);box-shadow:0 5px 0 var(--red-dark),0 14px 24px rgba(212,44,22,.28)}
.btn-cream{box-shadow:0 3px 0 #d6cec4,0 10px 20px rgba(22,19,17,.16)}
.btn-ink-line{background:#fff;color:var(--ink);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink)}
.btn-ink-line:hover{transform:translateY(-2px);box-shadow:0 5px 0 var(--ink)}

/* ---------- hero: copy + phone card (owl) ---------- */
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(28px,5vw,80px);align-items:end}
.hero-grid .hero-inner{max-width:680px}
.hero-why{display:inline-flex;align-items:center;gap:12px;color:#fff;font-weight:700;font-size:16.5px;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px;opacity:0;animation:riseIn .7s cubic-bezier(.22,.8,.3,1) .46s forwards}
.hero-why:hover{color:#fff;text-decoration-color:var(--red-logo)}
.hw-ico{width:32px;height:32px;border-radius:50%;border:2px solid #fff;display:inline-grid;place-items:center;flex-shrink:0}
.phone-card{background:#fff;border-radius:16px;box-shadow:0 26px 60px rgba(0,0,0,.38);overflow:hidden;position:relative;z-index:5;transform:translateY(clamp(84px,9vw,118px));opacity:0;animation:cardIn .8s cubic-bezier(.22,.8,.3,1) .5s forwards}
@keyframes cardIn{from{opacity:0;transform:translateY(calc(clamp(84px,9vw,118px) + 24px))}to{opacity:1;transform:translateY(clamp(84px,9vw,118px))}}
.pc-head{display:flex;align-items:center;gap:14px;background:var(--cream);padding:16px 20px;border-top:5px solid var(--red-logo)}
.pc-head img{width:64px;height:64px;border-radius:50%;background:#fff;border:3px solid var(--red-logo);flex-shrink:0;object-fit:cover}
.pc-quote{font-family:var(--display);font-weight:900;font-size:27px;line-height:.95;text-transform:uppercase;color:var(--ink);margin:0}
.pc-quote span{display:block;font-family:var(--athletic);font-weight:600;font-size:13.5px;text-transform:none;letter-spacing:0;color:var(--grey-2);margin-top:6px}
.pc-body{padding:20px 22px 22px;display:flex;flex-direction:column;align-items:stretch;gap:10px;text-align:center}
.pc-body .btn{width:100%}
.pc-or{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-2)}
.pc-or::before,.pc-or::after{content:"";flex:1;height:1px;background:var(--line)}
.pc-note{font-size:13.5px;color:var(--grey-2);margin:4px 0 0;line-height:1.45}
.hero .container{padding-bottom:clamp(76px,8vw,110px)}
.hero--inner .container{padding-bottom:clamp(64px,7vw,96px)}

/* ---------- trust bar (under every hero) ---------- */
.trust-bar{background:var(--cream);border-bottom:1px solid var(--line);position:static}
.hero{overflow:visible}
.tb-list{list-style:none;margin:0;padding:22px 0;display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;flex-wrap:nowrap;max-width:none}
.tb-list li{font-size:14.5px}
.tb-list li{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--ink-2);white-space:nowrap}
.tb-list li strong{color:var(--ink);font-weight:800}
.tb-list svg{flex-shrink:0}
.tb-line{font-weight:700;letter-spacing:.02em;color:var(--ink)!important}
.trust-bar + .section,.trust-bar + section{padding-top:clamp(110px,10vw,140px)}

@media(max-width:1000px){
  .hero-grid{grid-template-columns:1fr;align-items:start}
  .phone-card{transform:none;animation:riseIn .7s cubic-bezier(.22,.8,.3,1) .5s forwards;max-width:420px;width:100%}
  .tb-list{max-width:none;justify-content:center}
  .trust-bar + .section,.trust-bar + section{padding-top:clamp(56px,8vw,96px)}
}
@media(max-width:700px){
  .hero-grid{justify-items:center}
  .phone-card{margin-top:6px}
  .hero-why{font-size:15.5px}
  .tb-list{flex-direction:column;gap:8px;padding:18px 0}
  .tb-line{white-space:normal!important;text-align:center;font-size:13.5px!important}
}

/* ---------- services: photo cards (owl) ---------- */
.svc-grid--photo{display:grid!important;grid-template-columns:repeat(3,1fr);gap:22px;margin:0!important;padding:0!important;overflow:visible!important}
.svc-photo{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);color:inherit;transition:transform .2s ease,box-shadow .2s ease}
.svc-photo:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.sp-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--stone)}
.sp-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.svc-photo:hover .sp-img img{transform:scale(1.04)}
.sp-body{display:flex;flex-direction:column;gap:8px;padding:18px 22px 22px;flex:1}
.sp-tags{display:flex;gap:6px;flex-wrap:wrap}
.sp-tags span{background:var(--ink);color:#fff;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;border-radius:5px}
.sp-tags span:first-child{background:var(--red)}
.sp-title{font-family:var(--display);font-weight:900;font-size:30px;line-height:.95;text-transform:uppercase;color:var(--ink);margin-top:4px}
.sp-text{font-size:15.5px;line-height:1.55;color:var(--ink-3);flex:1}
.svc-photo .svc-link{margin-top:6px}
.svc-grid--photo .svc-card.svc-mascot{min-height:0;flex:initial}
@media(max-width:1000px){.svc-grid--photo{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){
  .svc-grid--photo{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory;scroll-padding-inline-start:var(--gutter);gap:14px;margin-inline:calc(var(--gutter)*-1)!important;padding:0 var(--gutter) 10px!important;scrollbar-width:none}
  .svc-grid--photo::-webkit-scrollbar{display:none}
  .svc-photo,.svc-grid--photo .svc-card{flex:0 0 82%;scroll-snap-align:start}
}

/* ---------- promise band (owl 'no question goes unanswered') ---------- */
.promise-band{position:relative;background:var(--ink);color:#e9e3dc;isolation:isolate;overflow:hidden}
.promise-band::before{content:"";position:absolute;inset:0;background:url("../assets/photos/job-dark-landscape-2-900.webp") center 50%/cover no-repeat;opacity:.22;z-index:-1;filter:grayscale(.4)}
.promise-band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,19,17,.96) 0%,rgba(22,19,17,.8) 55%,rgba(22,19,17,.6) 100%);z-index:-1}
.pb-grid{display:grid;grid-template-columns:250px 1fr;gap:clamp(32px,5vw,72px);align-items:center;padding-block:clamp(64px,8vw,104px)}
.pb-medal{position:relative;width:250px;height:250px;display:grid;place-items:center}
.pb-ring{position:absolute;inset:0;width:100%;height:100%;animation:spin 40s linear infinite}
.pb-ring text{font-family:var(--athletic);font-weight:800;font-size:13.5px;fill:#f3ede6}
.pb-medal img{width:150px;height:150px;border-radius:50%;background:var(--cream);border:6px solid var(--red-logo);box-shadow:0 14px 34px rgba(0,0,0,.4);object-fit:cover}
@keyframes spin{to{transform:rotate(360deg)}}
.pb-copy h2{color:#fff;font-size:clamp(42px,5.6vw,72px)!important;font-weight:900;text-transform:uppercase;line-height:.9;margin:12px 0 18px}
.pb-copy p{font-size:18px;line-height:1.65;max-width:620px;color:#e3ddd6}
.pb-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:26px}
.pb-link{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1.5px}
.pb-link:hover{color:#fff;text-decoration-color:var(--red-logo)}
@media(max-width:800px){
  .pb-grid{grid-template-columns:1fr;justify-items:center;text-align:center}
  .pb-medal{width:200px;height:200px}.pb-medal img{width:120px;height:120px}
  .pb-actions{justify-content:center}
  .pb-copy p{margin-inline:auto}
}
@media(prefers-reduced-motion:reduce){.pb-ring{animation:none}.phone-card,.hero-why{animation:none;opacity:1}}

/* ---------- Healthy Home Protocol + seal (owl productized system) ---------- */
.proto-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,52px);align-items:start}
.proto-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.pstep{display:grid;grid-template-columns:78px 1fr;gap:18px;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 24px;box-shadow:var(--shadow)}
.pstep-n{font-family:var(--display);font-weight:900;font-size:64px;line-height:.82;color:var(--red-logo)}
.pstep h3{font-size:clamp(26px,2.4vw,31px)!important;font-weight:900;text-transform:uppercase;margin:2px 0 6px}
.pstep p{color:var(--ink-3);font-size:16px;margin:0}
.proto-card{position:sticky;top:110px;background:var(--ink);border-radius:18px;padding:30px 30px 34px;color:#e3ddd6;overflow:hidden;box-shadow:var(--shadow-lift)}
.proto-card h3{color:#fff;font-size:32px!important;font-weight:900;text-transform:uppercase;text-align:center;margin:4px 0 4px}
.proto-card .note-list{margin-top:18px;position:relative;z-index:1}
.proto-card .note-list li{font-size:15.5px;color:#e3ddd6}
.proto-card .note-list li strong{color:#fff}
.seal{display:block;width:176px;height:176px;margin:0 auto 14px;animation:none}
.seal-arc{font-family:var(--athletic);font-weight:800;font-size:11.5px;fill:#fff}
.seal-big{font-family:var(--display);font-weight:900;font-size:34px;fill:#fff;letter-spacing:.01em}
.seal-small{font-family:var(--athletic);font-weight:800;font-size:11px;letter-spacing:.3em;fill:var(--red-logo)}
.proto-mascot{display:none}
@media(max-width:900px){.proto-grid{grid-template-columns:1fr}.proto-card{position:relative;top:0}}
@media(max-width:560px){.pstep{grid-template-columns:1fr;gap:6px}.pstep-n{font-size:48px}}

/* ---------- blog cards (shared by home teaser + blog) ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.blog-card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.blog-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.blog-card .bc-body{padding:18px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.blog-card .bc-date{font-weight:800;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-2)}
.blog-card .bc-title{font-family:var(--display);font-weight:800;font-size:25px!important;line-height:1;text-transform:uppercase;margin:0}
.blog-card .bc-title a{color:var(--ink)}
.blog-card .bc-title a:hover{color:var(--red)}
.blog-card p{font-size:15px;color:var(--ink-3);margin:0;flex:1}
.blog-card .bc-link{font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.bt-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(24px,3vw,40px)}
.bt-head .section-head{margin-bottom:0}
.blog-teaser{background:var(--cream)}
@media(max-width:1000px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){
  .blog-grid{grid-template-columns:1fr}
  .bt-head{flex-direction:column;align-items:flex-start}
  .blog-teaser .blog-card:nth-child(n+3){display:none}
}

/* ---------- blog post: title is the H1 ---------- */
.hero--post h1.hero-headline{font-family:var(--display);font-size:clamp(40px,5.4vw,72px)!important;color:#fff;letter-spacing:0;margin:0}
.page-post .post-body h2{font-size:clamp(30px,3.4vw,42px);text-transform:uppercase;font-weight:900;line-height:.95}
.page-post .post-body h3{font-size:clamp(23px,2.4vw,28px);text-transform:uppercase}

/* ---------- misc retune ---------- */
.foot-trust .container{color:var(--grey-light)}
.hero-scrim{background:linear-gradient(94deg,rgba(22,19,17,.94) 0%,rgba(22,19,17,.84) 36%,rgba(22,19,17,.45) 64%,rgba(22,19,17,.14) 100%)}
.hero h1{line-height:1.55}
.tb-list{gap:10px 20px}
.tb-list li{font-size:14px}
@media(min-width:1001px) and (max-width:1700px){.tb-line{display:none!important}}

/* ---------- polish pass 1 ---------- */
h1,h2,.hero-headline,.display{text-wrap:balance}
.rec-card .rec-cap strong{line-height:1;margin-bottom:6px}
@media(max-width:700px){
  .svc-grid--photo{align-items:flex-start}
  /* compare table: stacked rows, no clipping */
  .cmp-wrap{overflow:hidden!important}
  .cmp{min-width:0!important;width:100%}
  .cmp thead tr,.cmp tbody tr{display:grid;grid-template-columns:1fr 1fr}
  .cmp thead th:first-child{display:none}
  .cmp tbody td:first-child{grid-column:1/-1;background:var(--cream)!important;font-weight:800;color:var(--ink);font-size:12.5px!important;letter-spacing:.1em;text-transform:uppercase;padding:10px 14px!important}
  .cmp th,.cmp td{padding:12px 14px!important;font-size:14px!important;white-space:normal!important}
}
/* post template */
.page-blog .hero--post h1.hero-headline{font-size:clamp(40px,5.2vw,70px)!important;line-height:.92!important;text-transform:uppercase}
.page-post .hero--post + .trust-bar + .section .container{max-width:880px}
.page-post .post-feature{width:100%;aspect-ratio:16/9;object-fit:cover;max-height:520px}
.page-post .post-body{max-width:none}
.page-post .post-body p,.page-post .post-body li{font-size:17.5px;line-height:1.75}
/* legal page */
.hero--legal h1.hero-headline{font-family:var(--display);font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:0;line-height:.9!important;font-size:clamp(52px,6.4vw,88px)!important;margin:0}
.legal-body{max-width:820px}
.legal-intro{font-size:19px;color:var(--ink-3);margin-bottom:32px}
.legal-body h3{font-size:30px!important;font-weight:900;text-transform:uppercase;margin:40px 0 12px}
.legal-body p,.legal-body li{font-size:16.5px;line-height:1.75;color:var(--text);margin-bottom:14px}
.legal-body ul{padding-left:22px;list-style:disc}
.legal-body a{color:var(--red);text-decoration:underline}
.legal-contact{background:var(--cream);border-left:4px solid var(--red-logo);border-radius:10px;padding:20px 24px;margin-top:10px}

.legal-contact a{color:var(--ink);font-weight:700}

/* real jobs (client photos) */
.jobs-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:20px;align-items:start}
.job-pair{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);margin:0}
.jp-imgs{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--ink)}
.jp-shot{position:relative;aspect-ratio:3/4;overflow:hidden}
.jp-shot img{width:100%;height:100%;object-fit:cover;display:block}
.jp-shot .x-tag{left:10px;right:auto}
.jp-shot .x-tag--after{background:var(--red)}
.job-pair figcaption{padding:14px 18px 16px;font-size:15px;line-height:1.5;color:var(--ink-3)}
.job-pair--lead figcaption{font-size:16px;color:var(--ink-2);font-weight:600}
@media(max-width:1000px){.jobs-grid{grid-template-columns:1fr 1fr}.job-pair--lead{grid-column:1/-1}}
@media(max-width:640px){.jobs-grid{grid-template-columns:1fr}}
.jobs-grid{align-items:stretch}.job-pair{display:flex;flex-direction:column}.job-pair figcaption{flex:1}

/* service pages: other treatments + area line + real intro photo */
.svc-grid--four{grid-template-columns:repeat(4,1fr)!important}
.svc-grid--four .sp-title{font-size:25px}
.svc-grid--four .sp-text{font-size:14.5px}
.others{background:var(--cream)}
.area-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:28px;font-size:15px;color:var(--ink-3)}
.area-line a{background:var(--card);border:1.5px solid var(--line);border-radius:8px;padding:7px 14px;font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.area-line a:hover{border-color:var(--red);color:var(--red)}
.about-photo img.ap-portrait{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto}
@media(max-width:1000px){.svc-grid--four{grid-template-columns:repeat(2,1fr)!important}}

/* symptom checker mascot */
.symptom-bar{position:relative;padding-left:118px!important;transition:background .3s ease,box-shadow .3s ease}
.sb-mascot{position:absolute;left:14px;bottom:0;width:96px;height:auto;max-height:118px;object-fit:contain;object-position:bottom;pointer-events:none;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}
.sb-mascot.pop{animation:sbPop .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes sbPop{0%{transform:scale(.7) translateY(10px)}100%{transform:none}}
.symptom-bar[data-mood="concerned"]{box-shadow:0 0 0 3px rgba(212,44,22,.35),var(--shadow-lift)}
.symptom-bar[data-mood="alarmed"]{background:var(--red-dark)}
.symptom-bar[data-mood="alarmed"] .btn-red{background:#fff;color:var(--red-dark);box-shadow:0 3px 0 #d6cec4}
@media(max-width:700px){.symptom-bar{padding:18px 18px 18px!important;padding-top:84px!important}.sb-mascot{left:50%;transform:translateX(-50%);top:-34px;bottom:auto;width:96px}.sb-mascot.pop{animation:none}}
@media(prefers-reduced-motion:reduce){.sb-mascot.pop{animation:none}}

/* ---------- #4 measure block ---------- */
.measure{display:grid;grid-template-columns:300px 1fr;gap:clamp(24px,4vw,48px);align-items:center;margin-top:clamp(36px,5vw,56px);background:var(--card);border:1px solid var(--line);border-radius:18px;padding:clamp(20px,3vw,32px);box-shadow:var(--shadow)}
.ms-photo{margin:0;position:relative}
.ms-photo img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:12px;display:block}
.ms-photo figcaption{font-size:13px;color:var(--grey-2);margin-top:8px}
.ms-copy h3{font-size:clamp(30px,3.2vw,42px)!important;font-weight:900;text-transform:uppercase;margin:10px 0 8px}
.ms-copy>p{color:var(--ink-3)}
.ms-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}
.ms-list li{display:grid;grid-template-columns:170px 1fr;gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.ms-list strong{font-family:var(--display);font-weight:900;font-size:22px;text-transform:uppercase;line-height:1;color:var(--ink)}
.ms-list span{color:var(--ink-3);font-size:15.5px}
.ms-src{font-size:12.5px!important;color:var(--grey-2)!important;margin-top:14px}
@media(max-width:800px){.measure{grid-template-columns:1fr}.ms-photo{max-width:280px}.ms-list li{grid-template-columns:1fr;gap:4px}}

/* ---------- #11 section rhythm ---------- */
.real-jobs,.xray-sec{background:var(--cream)}
.page-home .xray-sec{padding-bottom:clamp(56px,8vw,96px)}
.page-home #warning-signs{background:var(--paper)}
.page-home .faq{background:var(--paper);border-top:1px solid var(--line)}
.page-home .blog-teaser{background:var(--cream)}
.page-home .areas2{background:var(--cream)}

/* ---------- #12 mobile trims ---------- */
.cmp-more{display:none;margin:16px auto 0}
@media(max-width:700px){
  .cmp-more{display:flex}
  .cmp-wrap:not(.open) tbody tr:nth-child(n+4){display:none}
  .blog-teaser .blog-card:nth-child(n+2){display:none}
  .section{padding:52px 0}
  .measure{padding:18px}
}

/* ---------- #13 sticky mini phone card ---------- */
.mini-card{position:fixed;left:20px;bottom:20px;z-index:80;display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:10px 12px 10px 10px;box-shadow:0 18px 44px rgba(0,0,0,.28);border-top:4px solid var(--red-logo);transform:translateY(140%);opacity:0;transition:transform .35s cubic-bezier(.22,.8,.3,1),opacity .35s ease;pointer-events:none}
.mini-card.show{transform:none;opacity:1;pointer-events:auto}
.mini-card img{width:44px;height:44px;border-radius:50%;border:2px solid var(--red-logo);background:var(--cream)}
.mc2-copy{display:flex;flex-direction:column;line-height:1.15}
.mc2-copy strong{font-family:var(--display);font-weight:900;font-size:17px;text-transform:uppercase;color:var(--ink)}
.mc2-copy a{font-family:var(--display);font-weight:900;font-size:22px;color:var(--red)}
.mc2-book{padding:10px 16px!important;font-size:13px!important}
.mc2-x{background:none;border:0;color:var(--grey-2);font-size:14px;cursor:pointer;padding:6px;align-self:flex-start}
@media(max-width:1000px){.mini-card{display:none!important}}

/* ---------- #10 motion ---------- */
.svc-grid--photo>.reveal:nth-child(2),.jobs-grid>.reveal:nth-child(2),.blog-grid>.reveal:nth-child(2),.proto-steps>.reveal:nth-child(2){transition-delay:.08s}
.svc-grid--photo>.reveal:nth-child(3),.jobs-grid>.reveal:nth-child(3),.blog-grid>.reveal:nth-child(3),.proto-steps>.reveal:nth-child(3){transition-delay:.16s}
.svc-grid--photo>.reveal:nth-child(4),.proto-steps>.reveal:nth-child(4){transition-delay:.24s}
.svc-grid--photo>.reveal:nth-child(5){transition-delay:.32s}
.svc-grid--photo>.reveal:nth-child(6){transition-delay:.40s}
.pstep .pstep-n{transition:transform .6s cubic-bezier(.22,.8,.3,1) .15s,opacity .6s ease .15s;transform:translateY(14px);opacity:0}
.pstep.in .pstep-n{transform:none;opacity:1}
.proto-card .seal{transform:scale(.6) rotate(-25deg);opacity:0;transition:transform .7s cubic-bezier(.3,1.5,.5,1) .2s,opacity .4s ease .2s}
.proto-card.in .seal{transform:none;opacity:1}
.pb-medal img{transition:transform .6s cubic-bezier(.3,1.5,.5,1)}
.pb-grid:not(.in) .pb-medal img{transform:scale(.7)}
@media(prefers-reduced-motion:reduce){
  .pstep .pstep-n,.proto-card .seal,.pb-grid:not(.in) .pb-medal img{transform:none;opacity:1;transition:none}
  .mini-card{transition:none}
}

/* ---------- #8 humidity widget (city pages) ---------- */
.humidity{background:var(--paper)}
.hum-card{background:var(--ink);color:#e3ddd6;border-radius:20px;padding:clamp(24px,4vw,48px);box-shadow:var(--shadow-lift);position:relative;overflow:hidden}
.hum-card::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(228,48,24,.28),transparent 70%)}
.hum-head h2{color:#fff;font-size:clamp(38px,4.8vw,60px)!important;font-weight:900;text-transform:uppercase;line-height:.92;margin:10px 0 10px}
.hum-head p{max-width:620px;color:#d9d1c8}
.hum-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:30px 0 26px;position:relative;z-index:1}
.hs{border-top:3px solid var(--red-logo);padding-top:12px}
.hs-n{display:block;font-family:var(--display);font-weight:900;font-size:clamp(44px,5vw,64px);line-height:.9;color:#fff}
.hs-n em{font-style:normal;color:var(--red-logo);font-size:.6em;margin-left:2px}
.hs-l{display:block;font-size:14px;color:var(--grey-light);margin-top:6px;line-height:1.4}
.hum-gauge{margin:6px 0 26px}
.hg-bar{position:relative;height:16px;border-radius:999px;background:rgba(255,255,255,.12)}
.hg-fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:999px;background:linear-gradient(90deg,#6e6358,var(--red-logo));transition:width 1.2s cubic-bezier(.22,.8,.3,1) .2s}
.hum-card.in .hg-fill{width:var(--v)}
.hg-mark{position:absolute;left:var(--m);top:-6px;height:28px;border-left:2px dashed #fff;padding-left:8px;font-size:12px;white-space:nowrap;color:#e3ddd6;transform:translateY(34px);border-left:0}
.hg-mark::before{content:"";position:absolute;left:0;top:-34px;height:28px;border-left:2px dashed rgba(255,255,255,.8)}
.hg-mark b{color:#fff}
.hg-mark--mold{transform:translateY(52px)}
.hum-why{margin-top:62px;max-width:760px;font-size:16.5px;color:#e9e3dc}
.hum-src{font-size:12.5px;color:var(--grey-light);margin-top:14px;max-width:860px}
@media(max-width:800px){.hum-stats{grid-template-columns:repeat(2,1fr)}.hg-mark{font-size:11px}}
@media(prefers-reduced-motion:reduce){.hg-fill{transition:none;width:var(--v)}}
/* google rating chip */
.tb-google a{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2)}
.tb-google a:hover strong{color:var(--red)}
.tb-stars{color:var(--red-logo);letter-spacing:1px;font-size:15px}
/* gauge labels: 60% sits left of its line, 70% right of its line, same row */
.hg-mark{top:0;height:16px;transform:none!important;padding:0;border:0}
.hg-mark::before{top:-6px;height:28px}
.hg-mark b,.hg-mark{font-size:12.5px}
.hg-mark{text-indent:0}
.hg-mark{display:block;width:0}
.hg-mark::after{content:attr(data-l)}
.hg-lbl{position:absolute;top:26px;white-space:nowrap;font-size:12.5px;color:#e3ddd6}
.hg-lbl b{color:#fff}
.hg-lbl--l{right:calc(100% - var(--m) + 10px)}
.hg-lbl--r{left:calc(var(--m) + 10px)}
.hum-why{margin-top:48px}
.mini-card{visibility:hidden;transition:transform .35s cubic-bezier(.22,.8,.3,1),opacity .35s ease,visibility 0s linear .35s}.mini-card.show{visibility:visible;transition:transform .35s cubic-bezier(.22,.8,.3,1),opacity .35s ease,visibility 0s}
.page-post .post-feature{height:auto}
/* blog pagination (WordPress) */
.csd-pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:36px}
.csd-pager .page-numbers{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:2px solid var(--ink);border-radius:10px;font-weight:800;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:#fff;box-shadow:0 3px 0 var(--ink)}
.csd-pager .page-numbers.current{background:var(--ink);color:#fff}
.csd-pager a.page-numbers:hover{transform:translateY(-2px)}

/* 404 (WordPress theme) */
.nf404{padding-top:clamp(140px,14vw,200px)}
.nf404-grid{display:grid;grid-template-columns:300px 1fr;gap:clamp(24px,4vw,56px);align-items:center;max-width:900px}
.nf404-mascot{width:100%;height:auto}
.nf404 h1{font-size:clamp(52px,7vw,96px)!important;font-weight:900;text-transform:uppercase;line-height:.9;margin:10px 0 14px}
.nf404 p{font-size:18px;color:var(--ink-3);max-width:480px}
.nf404-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
@media(max-width:700px){.nf404-grid{grid-template-columns:1fr;justify-items:center;text-align:center}.nf404-mascot{max-width:200px}.nf404-actions{justify-content:center}}

/* mascot poses v2 placements */
.pb-medal .pb-figure{width:150px;height:auto;border:0;border-radius:0;background:none;box-shadow:none;filter:drop-shadow(0 12px 22px rgba(0,0,0,.5));position:relative;z-index:1}
.pb-medal::before{content:"";position:absolute;width:176px;height:176px;border-radius:50%;background:var(--cream);border:6px solid var(--red-logo);box-shadow:0 14px 34px rgba(0,0,0,.4)}
.pb-medal .pb-figure{margin-top:-18px}
.pb-grid:not(.in) .pb-medal .pb-figure{transform:scale(.8)}
.proto-card{padding-bottom:30px}
.proto-card .proto-mascot{display:block;position:absolute;right:-6px;bottom:-10px;width:112px;height:auto;z-index:0;opacity:.98;pointer-events:none}
.proto-card .note-list{padding-right:84px}
.ms-copy{position:relative}
.ms-mascot{position:absolute;right:0;top:-18px;width:120px;height:auto;pointer-events:none}
@media(max-width:800px){.pb-medal::before{width:140px;height:140px}.pb-medal .pb-figure{width:124px}.ms-mascot{width:84px;top:-8px}.proto-card .note-list{padding-right:0}.proto-card .proto-mascot{position:static;margin:14px auto -10px;width:120px}}
.pb-medal .pb-figure{width:210px;margin-top:-54px}
.ms-copy>.eyebrow,.ms-copy>h3,.ms-copy>p:not(.ms-src){padding-right:140px}
@media(max-width:800px){.pb-medal .pb-figure{width:160px;margin-top:-40px}.ms-copy>.eyebrow,.ms-copy>h3,.ms-copy>p:not(.ms-src){padding-right:92px}}
.pb-medal{width:230px;height:230px;align-items:end}
.pb-medal::before{width:200px;height:200px;bottom:6px}
.pb-medal .pb-figure{width:196px;margin:0 0 6px}
@media(max-width:800px){.pb-medal{width:190px;height:190px}.pb-medal::before{width:160px;height:160px}.pb-medal .pb-figure{width:158px}}

/* homepage hero: place-only generated scene (2026-09-24). Door sits right of the copy, above the phone card. */
.page-home .hero-bg{background-image:url("../assets/photos/real/liner-run-a-1500.webp");background-position:center 100%}
@media(max-width:1200px){.page-home .hero-bg{background-image:url("../assets/photos/real/liner-run-a-1200.webp")}}
@media(max-width:700px){.page-home .hero-bg{background-image:url("../assets/photos/real/liner-run-a-800.webp");background-position:80% 38%}}
/* every page that fell back to the generated person hero now uses the place-only scene */
.hero-bg{background-image:url("../assets/photos/real/liner-run-a-1200.webp")}
.page-blog .hero-bg{background-image:url("../assets/photos/real/liner-run-a-1200.webp");background-position:center 100%}
@media(max-width:700px){.page-blog .hero-bg{background-image:url("../assets/photos/real/liner-run-a-800.webp");background-position:80% 38%}}
/* final judge M1 (2026-10-10): home teaser cards ignored the ratio and ran 1,125px tall */
.blog-card img{height:auto}

/* chrome.css */
/* ===== FIX-2 shared system (2026-10-10). Loaded last, after r9-base, tokens, r10 and pending.
   Owns: header + mobile chrome, bottom bar, inner-hero skeleton + hero card, page tail, footer signature,
   back-to-top, and the shared parts in src/partials/parts/ (owners, review, system, google, herocard).
   The HOME HERO section is not styled here (hero red team). Contract: FIX-2-BRAND.md. ===== */

/* ---------- display type ---------- */
h1,h2,h3,.display,.hero-headline,.sp-title,.ow-title,.rv-title,.sig-line,.towns-wall{text-wrap:balance}

/* ---------- header: white on every template ---------- */
header{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--line)}
.hdr-phone{display:none}
@media(max-width:1100px){
  header{position:sticky;top:0;left:auto;right:auto}
  .nav{justify-content:space-between;min-height:64px;gap:10px;position:relative}
  .brand{position:static;left:auto;transform:none}
  .brand img,header.scrolled .brand img{height:52px;width:auto;margin:0;filter:none}
  .nav-cta{gap:8px}
  .hdr-phone{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px 0 12px;border:2px solid var(--ink);border-radius:999px;background:#fff;color:var(--ink);font-family:var(--display);font-weight:900;font-size:21px;letter-spacing:.01em;line-height:1;white-space:nowrap}
  .hdr-phone:hover{border-color:var(--red);color:var(--red)}
  .hamburger.hdr-menu{display:inline-flex!important;flex-direction:row;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:0;border-radius:10px;background:var(--ink);color:#fff;cursor:pointer}
  .hamburger.hdr-menu::before,.hamburger.hdr-menu::after{content:none!important;display:none!important}
  .hamburger.hdr-menu span{display:inline-flex;width:auto;height:auto;background:none;border-radius:0;transform:none;opacity:1}
  .hdr-menu .hm-bars{flex-direction:column;gap:3px}
  .hdr-menu .hm-bars i{display:block;width:16px;height:2.5px;border-radius:2px;background:#fff}
  .hdr-menu .hm-label{font-family:var(--athletic);font-weight:800;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:#fff}
}
@media(max-width:380px){
  .brand img,header.scrolled .brand img{height:46px}
  .hdr-phone{font-size:18px;padding:0 10px;gap:5px}
  .hdr-phone svg{width:13px;height:13px}
  .hamburger.hdr-menu{padding:0 11px}
}
@media(max-width:700px){
  header,header.scrolled,.page-home header,.page-home header.scrolled{position:sticky;top:0;left:auto;right:auto;background:#fff;border-bottom:1px solid var(--line)}
  header.scrolled .brand img,.page-home .brand img,.page-home header.scrolled .brand img{height:52px;margin:0;filter:none}
  /* chrome compat only: the current home hero padded 158px for the old floating logo. The hero team replaces this hero. */
  .page-home .hero .container{padding-top:36px}
}

/* ---------- bottom bar + floating controls ---------- */
@media(max-width:900px){
  .mobile-bar{display:grid;grid-template-columns:1fr 1.25fr;background:var(--ink);padding-bottom:env(safe-area-inset-bottom)}
  .mobile-bar a{min-height:52px;padding:0 8px;font-size:14.5px;letter-spacing:.06em;gap:8px;white-space:nowrap}
  body{padding-bottom:calc(52px + env(safe-area-inset-bottom))}
  .backtop{left:12px;right:auto;bottom:calc(64px + env(safe-area-inset-bottom));width:44px;height:44px}
}
.mini-card .faces img{width:40px;height:40px}

/* ---------- shared bits: faces, Google line ---------- */
.faces{display:inline-flex;flex-shrink:0}
.faces img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 6px rgba(22,19,17,.2);background:var(--stone)}
.faces img+img{margin-left:-10px}
.g-line{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:15px;font-weight:600;color:var(--ink-2)}
.g-line strong{color:var(--ink);font-weight:800}
.g-line:hover strong{color:var(--red)}
.g-mark{flex-shrink:0;background:#fff;border-radius:50%;padding:2px;box-sizing:content-box;box-shadow:0 0 0 1px var(--line)}
.g-stars{color:var(--red-logo);letter-spacing:1px;font-size:15px}
.g-line--dark{color:#e3ddd6}
.g-line--dark strong{color:#fff}

/* ---------- inner hero: light ground, real photo framed, CTA + Google line in the first screen ---------- */
.hero--inner:not(.ty-hero){background:var(--paper)}
.hero--inner:not(.ty-hero) .hero-scrim{display:none!important}
.hero--inner:not(.ty-hero):not(.hero--legal) .hero-bg{inset:auto;top:clamp(28px,3.4vw,48px);bottom:clamp(28px,3.4vw,48px);left:auto;right:max(var(--gutter),calc((100vw - 1200px)/2 + var(--gutter)));width:min(42vw,500px);z-index:0;border:8px solid #fff;border-radius:16px;box-shadow:var(--shadow-lift);background-color:var(--stone);background-image:url("../assets/photos/real/liner-run-f-1200.webp");background-position:center 60%;background-size:cover;background-repeat:no-repeat;animation:none!important;transform:none}
.hero--legal .hero-bg{display:none}
.hero--inner:not(.ty-hero) .container{padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(44px,5.4vw,80px);position:relative;z-index:1}
.hero--inner:not(.ty-hero) .hero-grid{display:block}
.hero--inner:not(.ty-hero):not(.hero--legal) .hero-inner{max-width:min(620px,calc(100% - min(42vw,500px) - 40px));text-align:left;align-items:flex-start}
.hero--inner:not(.ty-hero) .crumbs{color:var(--grey-2);margin-bottom:6px;gap:0 8px;align-items:center}
.hero--inner:not(.ty-hero) .crumbs a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-2)}
.hero--inner:not(.ty-hero) .crumbs a:hover{color:var(--red)}
.hero--inner:not(.ty-hero) .crumbs>span:not(.sep){display:inline-flex;align-items:center;min-height:44px}
.hero--inner:not(.ty-hero) h1:not(.hero-headline){font-family:var(--athletic);font-weight:800;font-size:clamp(12.5px,1.15vw,14px);letter-spacing:.16em;line-height:1.5;text-transform:uppercase;color:var(--red);margin:0 0 12px}
.hero--inner:not(.ty-hero) .hero-headline{color:var(--ink);font-size:clamp(44px,4.4vw,66px)!important;line-height:.92!important}
.hero--post h1.hero-headline{font-size:clamp(40px,3.8vw,58px)!important}
.hero--inner:not(.ty-hero) .hero-sub{margin:18px 0 0;max-width:560px}
.hero--inner:not(.ty-hero) .hero-headline em{color:var(--red-logo)}
.hero--inner:not(.ty-hero) h1.hero-headline,.page-blog .hero--post h1.hero-headline,.hero--legal h1.hero-headline{color:var(--ink)}
.hero--inner:not(.ty-hero) .hero-sub{color:var(--ink-3)}
.hero--inner:not(.ty-hero) .hero-why{color:var(--ink);margin-top:20px}
.hero--inner:not(.ty-hero) .hero-why:hover{color:var(--ink);text-decoration-color:var(--red)}
.hero--inner:not(.ty-hero) .hw-ico{border-color:var(--ink)}
.hero--legal{background:var(--cream)}

/* hero card (parts/herocard.html) */
.hero-card{margin-top:24px;display:flex;flex-direction:column;gap:14px;opacity:0;animation:riseIn .7s cubic-bezier(.22,.8,.3,1) .4s forwards}
.hc-actions{display:flex;flex-wrap:wrap;gap:12px}
.hc-actions .btn{min-height:54px}
.hc-call{gap:8px}
.hc-proof{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px}
.hc-owners{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;line-height:1.35;color:var(--ink-3)}
.hc-owners strong{color:var(--ink)}
@media(prefers-reduced-motion:reduce){.hero-card{animation:none;opacity:1}}

@media(max-width:900px){
  /* phone hero, the approved pattern: photo first, then the copy card rising into it */
  .hero--inner:not(.ty-hero):not(.hero--legal){display:flex;flex-direction:column;background:var(--paper)}
  .hero--inner:not(.ty-hero):not(.hero--legal) .hero-bg{order:0;position:relative;inset:auto;width:auto;height:clamp(150px,40vw,300px);margin:0;border:0;border-radius:0;box-shadow:none}
  .hero--inner:not(.ty-hero):not(.hero--legal) .container{order:1;padding-top:0;padding-bottom:26px;margin-top:-30px}
  .hero--inner:not(.ty-hero):not(.hero--legal) .hero-inner{max-width:none;display:flex;flex-direction:column;align-items:stretch;text-align:left;background:#fff;border-radius:18px;padding:18px 18px 16px;box-shadow:0 14px 34px rgba(22,19,17,.14)}
  .hero--inner:not(.ty-hero) .crumbs{order:0;justify-content:flex-start}
  .hero--inner:not(.ty-hero) .hero-inner>h1{order:1}
  .hero--inner:not(.ty-hero) .hero-headline{order:2;margin-top:0}
  .hero--inner:not(.ty-hero) .hero-card{order:3;margin-top:16px}
  .hero--inner:not(.ty-hero) .hero-sub{order:4;margin:16px 0 0;max-width:none}
  .hero--inner:not(.ty-hero) .hero-why{order:5}
  .hc-actions{flex-direction:column;gap:10px}
  .hc-actions .btn{width:100%;min-height:52px}
  .hc-proof{gap:2px 16px}
}
@media(max-width:700px){
  .hero--inner:not(.ty-hero) .crumbs{display:none}
  .hero--inner:not(.ty-hero) .hero-why{display:none}
  .hero--inner:not(.ty-hero) h1:not(.hero-headline){font-size:12px;letter-spacing:.13em;margin-bottom:8px}
  .hero--inner:not(.ty-hero) .hero-headline,.page-blog .hero--inner .hero-headline,.page-blog .hero--post h1.hero-headline{font-size:clamp(32px,9.4vw,40px)!important;line-height:.94!important}
  .hero--inner:not(.ty-hero) .hero-sub{font-size:16px;line-height:1.55}
  .hero--legal .container{padding-top:28px}
}

/* thank-you: CTA and Google line inside the first screen at 390 and 1440 */
.ty-hero .g-line{margin-top:14px}
.ty-hero .container{padding-block:clamp(36px,4.4vw,64px)}
.ty-mascot{width:clamp(96px,11vw,150px)}
.ty-hero h1.ty-h1{font-family:var(--display);font-weight:900;font-size:clamp(40px,5.4vw,72px);line-height:.92;letter-spacing:.005em;text-transform:uppercase;color:#fff;margin:6px 0 10px}
@media(max-width:700px){
  .ty-hero .container{padding-block:18px 40px}
  .ty-mascot{width:72px;margin-bottom:0}
  .ty-hero h1.ty-h1{font-size:clamp(34px,9.4vw,40px);margin:4px 0 6px}
  .ty-hero .hero-sub{font-size:15.5px;line-height:1.5;margin:8px 0 0}
  .ty-hero .hero-ctas{margin-top:16px;gap:10px}
  .ty-hero .hero-ctas .btn{min-height:52px;padding-block:0}
  .ty-hero .g-line{margin-top:6px}
}

/* ---------- page tail: ONE page-specific CTA block (the page's own #book band), then the footer ---------- */
.midcta::after,.page-home .midcta::after,.page-blog .midcta::after{content:none!important;display:none!important}
.midcta--form{background:var(--red)}
.midcta--form .k{display:inline-flex;align-items:center;gap:10px}
.midcta--form .k::before{content:"";width:26px;height:3px;border-radius:2px;background:#fff}
.mc-call{min-height:44px}

/* ---------- footer: CSD's own signature ---------- */
.site-foot{background:var(--ink);color:#cfc5ba}
.sig{border-bottom:1px solid #3a332e}
.sig-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center;padding-block:clamp(48px,6vw,84px)}
.sig-k,.towns-k{font-family:var(--athletic);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-light);margin:0}
.sig-line{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(50px,7.2vw,108px);line-height:.86;letter-spacing:.005em;color:#fff;margin:12px 0 18px}
.sig-line em{font-style:normal;color:var(--red-logo)}
.sig-phone{display:inline-flex;align-items:center;min-height:44px;font-family:var(--display);font-weight:900;font-size:clamp(36px,4vw,54px);line-height:1.05;letter-spacing:.01em;color:#fff;border-bottom:3px solid var(--red-logo)}
.sig-phone:hover{color:var(--red-logo)}
.sig-note{margin:12px 0 0;color:var(--grey-light);font-size:15.5px}
.sig-side{display:flex;flex-direction:column;gap:22px}
.sig-owners{display:flex;flex-wrap:wrap;gap:18px 26px}
.sig-owners figure{display:flex;align-items:center;gap:12px;margin:0}
.sig-owners img{width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid var(--red-logo);background:#3a332e}
.sig-owners figcaption{display:flex;flex-direction:column;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-light);line-height:1.25}
.sig-owners strong{font-family:var(--display);font-weight:900;font-size:25px;letter-spacing:.01em;color:#fff}
.sig-addr{font-style:normal;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #3a332e;padding-top:18px;font-size:15.5px;line-height:1.45;color:#e3ddd6}
.sig-addr a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:2px solid #fff;border-radius:10px;font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#fff;white-space:nowrap}
.sig-addr a:hover{background:#fff;color:var(--ink)}
.towns{border-bottom:1px solid #3a332e}
.towns .container{padding-block:clamp(36px,5vw,64px)}
.towns-wall{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:0 .3em;margin:10px 0 0;padding:0;font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(36px,5.6vw,80px);line-height:1.02;letter-spacing:.005em}
.towns-wall li{display:inline-flex;align-items:center}
.towns-wall li:not(:last-child)::after{content:"";width:.14em;height:.14em;border-radius:50%;background:var(--red-logo);margin-left:.3em}
.towns-wall a{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:.06em;text-underline-offset:.12em;transition:text-decoration-color .15s ease,color .15s ease}
.towns-wall a:hover{color:#fff;text-decoration-color:var(--red-logo)}
.towns-wall span{color:#fff}
.foot-links{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:20px clamp(32px,5vw,72px);padding-block:clamp(32px,4vw,52px);align-items:start}
.fl-brand img{height:86px;width:auto}
.fl-h{font-family:var(--display);font-weight:800;font-size:24px;line-height:1.1;color:#fff;margin:0 0 4px}
.fl-col ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,max-content));column-gap:32px}
.fl-col a{display:flex;align-items:center;min-height:44px;font-size:15.5px;color:#cfc5ba}
.fl-col a:hover{color:#fff;text-decoration:underline}
.site-foot .legal .container a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;color:inherit}
@media(max-width:1000px){.fl-col ul{grid-template-columns:1fr}}
@media(max-width:900px){
  .sig-grid{grid-template-columns:1fr}
  .foot-links{grid-template-columns:1fr 1fr}
  .fl-brand{display:none}
}
@media(max-width:560px){
  .sig-owners{gap:14px 20px}
  .sig-owners img{width:64px;height:64px}
  .sig-owners strong{font-size:21px}
  .sig-addr{flex-wrap:wrap}
  .foot-links{gap:16px 18px}
  .fl-h{font-size:21px}
  .fl-col a{font-size:15px}
}

/* ---------- part: owners (parts/owners.html) ---------- */
.owners{background:var(--cream)}
.ow-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:center}
.ow-grid.ow-solo{grid-template-columns:1fr;max-width:860px}
.ow-photos{position:relative;margin:0;max-width:420px;width:100%}
.ow-mike{display:block}
.ow-mike img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border:8px solid #fff;border-radius:16px;box-shadow:var(--shadow-lift)}
.ow-dustin{position:absolute;right:-26px;bottom:62px;width:120px;height:120px;border-radius:50%;overflow:hidden;border:6px solid #fff;box-shadow:var(--shadow-lift);background:var(--stone)}
.ow-dustin img{width:100%;height:100%;object-fit:cover}
.ow-photos figcaption{display:flex;justify-content:space-between;gap:16px;margin-top:14px;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-2)}
.ow-cap-d{text-align:right}
.ow-photos figcaption strong{display:block;font-family:var(--display);font-weight:900;font-size:24px;letter-spacing:.01em;color:var(--ink)}
.ow-title{font-size:clamp(40px,5.2vw,66px)!important;font-weight:900;text-transform:uppercase;line-height:.92;margin:12px 0 18px}
.ow-title em{font-style:normal;color:var(--red-logo)}
.ow-body p{color:var(--ink-3);font-size:17px;line-height:1.65;margin:0 0 12px}
.ow-phone{display:inline-flex;flex-direction:column;justify-content:center;min-height:44px;margin-top:10px;font-family:var(--display);font-weight:900;font-size:clamp(32px,3.4vw,42px);line-height:1.05;color:var(--ink)}
.ow-phone:hover{color:var(--red)}
.ow-k{font-family:var(--athletic);font-weight:800;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
@media(max-width:800px){
  .ow-grid{grid-template-columns:1fr}
  .ow-photos{max-width:300px}
  .ow-dustin{width:100px;height:100px;right:-18px;bottom:58px}
}

/* ---------- part: verbatim reviews (parts/review.html) ---------- */
.reviews{background:var(--paper)}
.rv-head{display:block;margin-bottom:clamp(24px,3vw,40px)}
.rv-head .g-line{margin-top:10px}
.rv-title{font-size:clamp(40px,5.2vw,64px)!important;font-weight:900;text-transform:uppercase;line-height:.92;margin:10px 0 0}
.rv-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;align-items:start}
.rv{margin:0;background:#fff;border:1px solid var(--line);border-top:5px solid var(--red-logo);border-radius:16px;padding:clamp(22px,3vw,34px);box-shadow:var(--shadow)}
.rv p{font-family:var(--display);font-weight:800;font-size:clamp(25px,2.5vw,32px);line-height:1.06;color:var(--ink);margin:0}
.rv .rv-2{font-family:var(--body);font-weight:600;font-size:17px;line-height:1.5;color:var(--ink-3);margin-top:16px}
.rv footer{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:18px;padding:0;background:none;font-size:14px;color:var(--grey-2)}
.rv cite{font-style:normal;font-weight:800;color:var(--ink)}
.rv-stars{color:var(--red-logo);letter-spacing:1px}
.reviews--ellis .rv-mike,.reviews--mike .rv-ellis{display:none}
.reviews--ellis .rv-grid,.reviews--mike .rv-grid{grid-template-columns:minmax(0,760px)}
@media(max-width:800px){.rv-grid{grid-template-columns:1fr}}

/* ---------- part: the named system + 5-Year Promise seal (parts/system.html) ---------- */
.sys-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,4vw,52px);align-items:start}
.sys-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.sys-step{display:grid;grid-template-columns:78px 1fr;gap:18px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 24px;box-shadow:var(--shadow)}
.sys-n{font-family:var(--display);font-weight:900;font-size:64px;line-height:.82;color:var(--red-logo)}
.sys-step h3{font-size:clamp(26px,2.4vw,31px)!important;font-weight:900;text-transform:uppercase;margin:2px 0 6px}
.sys-step p{color:var(--ink-3);font-size:16px;margin:0}
.sys-card{position:sticky;top:110px;background:var(--ink);color:#e3ddd6;border-radius:18px;padding:30px 30px 32px;box-shadow:var(--shadow-lift)}
.sys-seal{display:block;width:176px;height:176px;margin:0 auto 14px}
.sys-card h3{color:#fff;font-size:30px!important;font-weight:900;text-transform:uppercase;text-align:center;margin:4px 0 0}
.sys-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}
.sys-list li{position:relative;padding-left:32px;font-size:15.5px;line-height:1.5;color:#e3ddd6}
.sys-list li::before{content:"";position:absolute;left:0;top:1px;width:21px;height:21px;border-radius:50%;background:var(--red-logo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6.5 12.5 3.5 3.5 7.5-8' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat}
.sys-list strong{color:#fff}
.system--paper{background:var(--cream)}
@media(max-width:900px){.sys-grid{grid-template-columns:1fr}.sys-card{position:relative;top:0}}
@media(max-width:560px){.sys-step{grid-template-columns:1fr;gap:6px}.sys-n{font-size:48px}}

/* ---------- mascot cap (max three intentional placements per page): stickers removed, their padding with them ---------- */
.proto-card .note-list{padding-right:0}
.ms-copy>.eyebrow,.ms-copy>h3,.ms-copy>p:not(.ms-src){padding-right:0}
.page-home .svc-grid--photo .svc-card.svc-mascot{justify-content:center}

/* ---------- 44px tap targets: nav, header phone, drawer close, footer, crumbs ---------- */
.navlinks>li>a{min-width:44px;min-height:44px;justify-content:center}
.nav-phone a{display:inline-flex;align-items:center;min-height:44px}
.drawer-close{width:44px;height:44px}
.fl-col a,.towns-wall a{min-width:44px}
/* FIX-4: every text pair on the red #book band clears WCAG AA (white on #d42c16 = 5.03:1; the old tints were 3.8 to 4.47) */
.midcta .k,.midcta p,.midcta .mc-k,.midcta--form .k,.midcta h2,.midcta .mc-call{color:#fff}

/* r3 FIX-A: owners as two equal portraits. Dustin's only footage is 320x568, so both frames are sized to what his
   174px crop supports (no upscale past ~1.05x); Mike's comes from his 1080x1920 video at 1x/2x. */
.ow-duo{display:grid;grid-template-columns:repeat(2,minmax(0,180px));gap:22px;max-width:none;justify-content:start;align-items:start}
.ow-duo .ow-p{display:flex;flex-direction:column;gap:10px}
.ow-duo .ow-p img{display:block;width:180px;height:180px;object-fit:cover;border:6px solid #fff;border-radius:14px;box-shadow:var(--shadow-lift);background:var(--stone)}
.ow-duo .ow-n{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-2)}
.ow-duo .ow-n strong{display:block;font-family:var(--display);font-weight:900;font-size:24px;letter-spacing:.01em;color:var(--ink)}
.ow-duo .ow-src{grid-column:1 / -1;margin:0;font-size:13px;color:var(--grey-2)}
@media(max-width:420px){.ow-duo{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ow-duo .ow-p img{width:100%;max-width:170px;height:auto;aspect-ratio:1}}

/* final pass 2026-10-10: utility-bar phone tap target >= 44px tall */
.utility .u-tel{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
.utility .container{min-height:44px}

/* kit lead form (bnd-edge): honeypot off-screen, Turnstile slot collapses until the widget renders */
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cf-turnstile{margin:6px 0 12px}
.cf-turnstile:empty{display:none}

/* bg.css */
/* bg.css: CSD background graphics (FIX-C, 2026-10-10). Generated by
   /Users/joshuakimmes/Claude/_clients/crawl-space-doctors/forge-web/mockup-redteam-2026-10/work/bg/gen_bg.py
   Four motifs from the crawl space itself, drawn as masks so colour and weight are tokens:
   .bg-joists  section drawing: subfloor, joists end-on, girder, brick piers, grade, vapor barrier, 18 IN clearance
   .bg-contour humidity isolines around one wet spot, the 20% line dashed and tagged
   .bg-seams   long taped liner seams
   .bg-brick   the hatch's brick foundation course, as a top edge
   Add .bg--dark on ink sections. One motif per section, never on adjacent sections of the same family. */
:root{
  --bg-c:var(--ink);        /* motif colour on light grounds */
  --bg-c-dark:var(--paper); /* motif colour on dark grounds */
  --bg-w:.22;               /* weight on light grounds (raised 2026-10-10, Josh: needs to read) */
  --bg-w-dark:.16;          /* weight on dark grounds */
  --bgm-joists:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22768%22 height=%22200%22 viewBox=%220 0 768 200%22%3E%3Cpath d=%22M0 6H768M0 12H768M0 22H768%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Crect x=%2226%22 y=%2222%22 width=%2212%22 height=%2254%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M26 22L38 76M38 22L26 76%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Crect x=%2290%22 y=%2222%22 width=%2212%22 height=%2254%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M90 22L102 76M102 22L90 76%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Crect x=%22154%22 y=%2222%22 width=%2212%22 height=%2254%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M154 22L166 76M166 22L154 76%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Crect x=%22218%22 y=%2222%22 width=%2212%22 height=%2254%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M218 22L230 76M230 22L218 76%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Crect x=%22282%22 y=%2222%22 width=%2212%22 height=%2254%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M282 22L294 76M294 22L282 76%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Crect x=%22346%22 y=%2222%22 width=%2212%22 height=%2254%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M346 22L358 76M358 22L346 76%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Crect x=%22410%22 y=%2222%22 width=%2212%22 height=%2254%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M410 22L422 76M422 22L410 76%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Crect x=%22474%22 y=%2222%22 width=%2212%22 height=%2254%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M474 22L486 76M486 22L474 76%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Crect x=%22538%22 y=%2222%22 width=%2212%22 height=%2254%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M538 22L550 76M550 22L538 76%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Crect x=%22602%22 y=%2222%22 width=%2212%22 height=%2254%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M602 22L614 76M614 22L602 76%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Crect x=%22666%22 y=%2222%22 width=%2212%22 height=%2254%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M666 22L678 76M678 22L666 76%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Crect x=%22730%22 y=%2222%22 width=%2212%22 height=%2254%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M730 22L742 76M742 22L730 76%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M0 76H768M0 102H768%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M0 84.5H768M0 93.5H768%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M144 102V178M192 102V178%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M144 111H192%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M168 102V111%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M144 120H192%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M156 111V120%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M180 111V120%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M144 129H192%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M168 120V129%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M144 138H192%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M156 129V138%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M180 129V138%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M144 147H192%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M168 138V147%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M144 156H192%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M156 147V156%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M180 147V156%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M144 165H192%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M168 156V165%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M144 174H192%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M156 165V174%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M180 165V174%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M144 178H192%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M168 174V178%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Crect x=%22132%22 y=%22178%22 width=%2272%22 height=%2212%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M528 102V178M576 102V178%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M528 111H576%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M552 102V111%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M528 120H576%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M540 111V120%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M564 111V120%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M528 129H576%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M552 120V129%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M528 138H576%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M540 129V138%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M564 129V138%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M528 147H576%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M552 138V147%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M528 156H576%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M540 147V156%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M564 147V156%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M528 165H576%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M552 156V165%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M528 174H576%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M540 165V174%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M564 165V174%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M528 178H576%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Cpath d=%22M552 174V178%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.8%22/%3E%3Crect x=%22516%22 y=%22178%22 width=%2272%22 height=%2212%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M0 162H144M192 162H528M576 162H768%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cpath d=%22M4 166l-6 6M15 166l-6 6M30 166l-5 5M41 166l-7 7M52 166l-6 6M67 166l-5 5M82 166l-5 5M93 166l-5 5M106 166l-6 6M117 166l-5 5M128 166l-7 7M196 166l-5 5M211 166l-5 5M222 166l-7 7M237 166l-7 7M248 166l-7 7M263 166l-6 6M274 166l-5 5M285 166l-7 7M296 166l-6 6M309 166l-5 5M324 166l-5 5M339 166l-6 6M354 166l-7 7M365 166l-5 5M380 166l-7 7M395 166l-5 5M408 166l-5 5M423 166l-7 7M434 166l-7 7M445 166l-7 7M456 166l-6 6M471 166l-7 7M484 166l-6 6M497 166l-7 7M510 166l-6 6M580 166l-5 5M591 166l-7 7M602 166l-5 5M617 166l-6 6M632 166l-6 6M645 166l-7 7M658 166l-6 6M673 166l-5 5M684 166l-7 7M697 166l-5 5M710 166l-5 5M723 166l-6 6M734 166l-7 7M745 166l-7 7M760 166l-6 6%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.9%22/%3E%3Cpath d=%22M0 158H140V128M196 128V158H524V128M580 128V158H768%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-dasharray=%2212 5%22/%3E%3Cpath d=%22M360 104V156M354 104H366M354 156H366%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.9%22/%3E%3Ctext x=%22372%22 y=%22137%22 font-family=%22Arial,Helvetica,sans-serif%22 font-size=%2212%22 font-weight=%22700%22 letter-spacing=%22.5%22%3E18 IN%3C/text%3E%3C/svg%3E");
  --bgm-contour:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%221000%22 height=%22800%22 viewBox=%220 0 1000 800%22%3E%3Cpath d=%22M587 400C585 403 583 405 581 407C580 410 578 412 577 414C576 416 575 419 574 421C573 424 572 427 569 429C567 431 565 433 562 435C558 436 555 437 551 438C548 439 544 439 540 439C536 439 532 439 529 439C525 438 521 437 518 436C514 435 511 434 508 432C505 430 503 427 501 424C499 422 498 419 497 416C496 413 496 411 495 408C495 405 494 403 494 400C494 397 494 395 494 392C495 389 495 386 497 384C498 381 500 379 502 376C504 374 507 372 510 370C513 369 516 367 519 366C522 365 526 364 529 364C533 363 537 363 540 363C543 364 547 364 550 365C554 365 557 366 561 367C564 367 568 368 572 369C575 370 579 372 582 374C585 376 588 378 590 381C591 384 592 388 591 391C591 394 589 397 587 400Z%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22/%3E%3Cpath d=%22M631 400C627 405 622 410 619 414C616 419 614 422 612 427C610 432 609 437 607 442C604 447 602 452 598 457C594 461 588 466 582 469C576 472 569 474 562 475C555 476 547 476 540 477C533 477 525 477 518 476C511 475 503 474 496 471C489 469 482 466 477 462C472 458 467 453 464 448C460 442 459 437 457 431C455 426 454 421 453 416C452 410 451 405 450 400C450 395 450 389 450 384C451 379 453 373 455 368C458 363 462 358 466 354C470 350 476 346 481 342C487 339 493 336 499 334C506 332 512 330 519 329C526 328 533 328 540 329C547 329 553 330 560 331C567 332 573 333 580 334C587 336 595 337 602 339C609 341 618 344 624 348C629 352 635 357 638 363C641 369 641 376 640 382C638 388 634 395 631 400Z%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22/%3E%3Cpath d=%22M673 400C667 408 660 414 655 421C651 427 648 433 645 440C643 447 642 454 639 462C636 469 633 478 627 485C621 492 612 499 603 503C594 508 583 510 573 512C562 514 551 514 540 515C529 515 518 515 507 513C496 512 484 510 474 507C464 503 454 498 446 492C438 486 432 478 427 471C422 463 420 454 417 446C414 438 413 431 411 423C410 415 408 408 407 400C406 392 405 384 407 376C408 368 410 360 414 352C418 345 423 338 430 331C436 325 444 319 452 314C461 309 470 305 479 301C489 298 499 296 509 295C519 293 530 293 540 294C550 294 560 296 570 297C580 298 590 300 601 302C611 304 623 305 634 308C645 312 657 315 666 322C675 328 683 336 686 345C690 354 690 365 687 374C685 383 678 392 673 400Z%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22/%3E%3Cpath d=%22M713 400C705 410 696 418 690 427C684 435 681 443 678 452C675 461 676 472 672 482C668 493 664 505 656 514C649 523 637 532 625 538C613 544 598 547 584 550C570 552 555 553 540 553C525 553 510 553 496 551C481 549 466 547 452 542C439 538 425 531 415 523C405 514 397 503 390 493C384 483 381 471 378 461C375 451 373 440 371 430C368 420 365 410 364 400C363 390 361 379 363 368C364 358 367 347 372 337C377 327 385 317 393 309C402 300 413 292 424 286C435 279 447 274 459 269C472 265 486 262 499 260C513 259 527 259 540 259C553 260 566 262 580 263C593 265 607 266 621 269C635 271 651 272 666 277C680 281 697 286 709 295C720 303 731 315 735 326C740 338 738 353 734 365C731 378 720 390 713 400Z%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22/%3E%3Cpath d=%22M751 400C742 413 730 422 723 433C716 443 714 453 711 464C708 476 709 490 705 503C701 516 696 532 686 544C677 555 662 566 647 573C632 581 613 585 595 588C577 591 558 591 540 592C522 592 503 592 485 590C466 587 447 584 430 578C413 572 397 563 384 553C372 542 362 529 355 516C347 503 344 488 340 475C336 462 333 450 330 437C327 425 323 413 321 400C319 387 317 374 319 361C320 347 324 333 330 321C337 309 346 297 357 286C368 275 381 266 395 258C409 249 424 242 440 237C455 232 472 228 489 226C506 224 523 224 540 225C557 225 573 228 590 229C607 231 623 233 642 235C660 238 680 239 699 244C717 250 738 257 753 267C767 278 780 293 784 308C789 323 786 342 780 357C775 372 761 387 751 400Z%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-dasharray=%2210 6%22/%3E%3Cpath d=%22M787 400C776 415 762 426 754 438C747 451 746 462 743 476C741 491 744 508 739 524C735 540 729 560 717 574C706 588 688 601 669 610C651 618 628 623 606 626C585 630 562 630 540 631C518 631 495 631 473 628C451 626 428 622 408 614C388 607 368 596 353 583C339 570 328 553 319 538C311 522 307 505 302 489C298 474 294 459 291 445C287 430 281 415 279 400C276 385 273 368 275 353C276 337 281 320 288 305C296 290 308 276 321 263C334 251 349 239 366 229C383 220 401 211 420 205C439 199 459 194 479 192C499 189 520 190 540 190C560 191 579 193 600 195C620 197 641 198 663 201C685 204 710 205 732 212C755 218 781 227 797 240C814 253 828 271 833 290C837 308 832 331 824 349C817 368 799 385 787 400Z%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22/%3E%3Cpath d=%22M821 400C807 417 792 429 784 444C777 458 777 472 775 489C774 506 778 526 774 546C769 565 763 588 749 605C735 622 714 636 692 647C670 657 643 661 617 665C592 669 566 670 540 670C514 670 488 670 462 667C436 664 409 660 386 651C362 642 340 628 323 613C306 598 294 577 285 559C275 541 271 521 266 503C260 485 256 469 251 451C246 434 240 418 236 400C233 382 229 363 230 345C232 326 237 307 246 289C255 272 269 255 284 240C299 226 318 213 337 201C357 190 378 180 400 173C422 165 446 160 469 158C493 155 517 155 540 156C563 156 586 159 610 161C634 162 658 163 684 166C710 169 740 170 767 178C793 185 823 196 843 211C862 227 877 250 881 272C885 293 877 320 867 342C857 363 835 383 821 400Z%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22/%3E%3Cpath d=%22M853 400C837 419 821 432 813 449C806 466 808 481 808 501C807 521 814 545 809 568C805 591 797 617 781 637C766 656 740 673 715 684C690 695 658 700 629 704C600 709 570 709 540 710C510 710 480 710 450 707C421 703 390 698 363 687C337 676 311 660 293 642C274 625 261 601 251 580C240 559 237 537 230 517C224 496 219 478 213 458C207 439 198 420 193 400C189 380 184 358 186 337C187 316 193 293 204 273C214 254 230 234 248 218C265 201 286 186 308 173C331 160 355 149 380 141C405 132 433 127 459 124C486 120 513 121 540 121C567 122 592 124 620 126C648 127 676 127 706 130C736 133 772 134 802 143C832 152 867 164 888 183C909 201 926 228 929 254C932 279 920 310 908 334C895 359 869 381 853 400Z%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22/%3E%3Cpath d=%22M533 400H547M540 393V407%22 stroke=%22%23000%22 stroke-width=%221.6%22/%3E%3Cdefs%3E%3Cmask id=%22k%22%3E%3Crect x=%22677%22 y=%22490%22 width=%2256%22 height=%2226%22 fill=%22%23fff%22/%3E%3Ctext x=%22705%22 y=%22508%22 text-anchor=%22middle%22 font-family=%22Arial,Helvetica,sans-serif%22 font-size=%2215%22 font-weight=%22700%22 fill=%22%23000%22%3E20%25%3C/text%3E%3C/mask%3E%3C/defs%3E%3Crect x=%22679%22 y=%22491%22 width=%2252%22 height=%2224%22 rx=%223%22 fill=%22%23000%22 mask=%22url(%23k)%22/%3E%3C/svg%3E");
  --bgm-seams:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22520%22 height=%221300%22 viewBox=%220 0 520 1300%22%3E%3Cpath d=%22M-402 1300L118 0%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.5%22 /%3E%3Cpath d=%22M-378 1300L142 0%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.5%22 /%3E%3Cpath d=%22M-393 1300L127 0%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221%22 /%3E%3Cpath d=%22M118 1300L638 0%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.5%22 /%3E%3Cpath d=%22M142 1300L662 0%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.5%22 /%3E%3Cpath d=%22M127 1300L647 0%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221%22 /%3E%3Cpath d=%22M322 1080C364 940 416 880 447 760%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.9%22/%3E%3Cpath d=%22M94 520C125 430 156 400 198 330%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%22.9%22/%3E%3C/svg%3E");
  --bgm-brick:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2294%22 height=%2236%22 viewBox=%220 0 94 36%22%3E%3Crect x=%220%22 y=%220%22 width=%2294%22 height=%223%22 fill=%22%23000%22/%3E%3Crect x=%22-47%22 y=%226%22 width=%2244%22 height=%228%22 fill=%22%23000%22/%3E%3Crect x=%220%22 y=%226%22 width=%2244%22 height=%228%22 fill=%22%23000%22/%3E%3Crect x=%2247%22 y=%226%22 width=%2244%22 height=%228%22 fill=%22%23000%22/%3E%3Crect x=%2294%22 y=%226%22 width=%2244%22 height=%228%22 fill=%22%23000%22/%3E%3Crect x=%22-70.5%22 y=%2216%22 width=%2244%22 height=%228%22 fill=%22%23000%22/%3E%3Crect x=%22-23.5%22 y=%2216%22 width=%2244%22 height=%228%22 fill=%22%23000%22/%3E%3Crect x=%2223.5%22 y=%2216%22 width=%2244%22 height=%228%22 fill=%22%23000%22/%3E%3Crect x=%2270.5%22 y=%2216%22 width=%2244%22 height=%228%22 fill=%22%23000%22/%3E%3Crect x=%22-47%22 y=%2226%22 width=%2244%22 height=%228%22 fill=%22%23000%22/%3E%3Crect x=%220%22 y=%2226%22 width=%2244%22 height=%228%22 fill=%22%23000%22/%3E%3Crect x=%2247%22 y=%2226%22 width=%2244%22 height=%228%22 fill=%22%23000%22/%3E%3Crect x=%2294%22 y=%2226%22 width=%2244%22 height=%228%22 fill=%22%23000%22/%3E%3C/svg%3E");
}
.bg-joists,.bg-contour,.bg-seams,.bg-brick{position:relative;isolation:isolate}
.bg-joists::after,.bg-contour::after,.bg-seams::after,.bg-brick::after{content:"";position:absolute;left:0;right:0;z-index:-1;pointer-events:none;
  background:var(--bg-c);opacity:var(--bg-w);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.bg--dark::after{background:var(--bg-c-dark);opacity:var(--bg-w-dark)}

.bg-joists::after{bottom:0;height:200px;-webkit-mask-image:var(--bgm-joists);mask-image:var(--bgm-joists);
  -webkit-mask-size:768px 200px;mask-size:768px 200px;-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;-webkit-mask-position:left bottom;mask-position:left bottom}

.bg-contour::after{top:0;bottom:0;
  -webkit-mask-image:var(--bgm-contour),linear-gradient(90deg,transparent 30%,#000 62%);mask-image:var(--bgm-contour),linear-gradient(90deg,transparent 30%,#000 62%);
  -webkit-mask-size:1000px 800px,100% 100%;mask-size:1000px 800px,100% 100%;
  -webkit-mask-position:right -120px center,0 0;mask-position:right -120px center,0 0;
  -webkit-mask-composite:source-in;mask-composite:intersect}

.bg-seams::after{top:0;bottom:0;-webkit-mask-image:var(--bgm-seams);mask-image:var(--bgm-seams);
  -webkit-mask-size:520px 1300px;mask-size:520px 1300px;-webkit-mask-repeat:repeat;mask-repeat:repeat;-webkit-mask-position:center top;mask-position:center top}

.bg-brick::after{top:0;height:36px;opacity:calc(var(--bg-w) * 1.1);-webkit-mask-image:var(--bgm-brick);mask-image:var(--bgm-brick);
  -webkit-mask-size:94px 36px;mask-size:94px 36px;-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x}
.bg-brick{padding-top:calc(clamp(56px,8vw,96px) + 10px)}

@media(max-width:700px){
  .bg-joists::after{height:120px;-webkit-mask-size:461px 120px;mask-size:461px 120px}
  .bg-contour::after{-webkit-mask-size:620px 496px,100% 100%;mask-size:620px 496px,100% 100%;
    -webkit-mask-position:right -150px bottom -60px,0 0;mask-position:right -150px bottom -60px,0 0}
  .bg-seams::after{-webkit-mask-size:364px 910px;mask-size:364px 910px}
  .bg-brick::after{height:29px;-webkit-mask-size:75px 29px;mask-size:75px 29px}
}
/* Grounds. A motif section names its ground so the label knockout below matches it exactly. */
.bg-joists,.bg-contour,.bg-seams,.bg-brick{--bg-ground:var(--paper)}
.bg-g-cream{--bg-ground:var(--cream)}.bg-g-white{--bg-ground:var(--card)}.bg-g-stone{--bg-ground:var(--stone)}.bg--dark{--bg-ground:var(--ink)}
/* Map-label knockout, as on a contour map: small red and grey text sits on a clean patch of its own
   ground, so no line ever runs behind it. Invisible wherever no motif passes. */
:is(.bg-joists,.bg-contour,.bg-seams) :is(.eyebrow:not(.eyebrow--light),.bc-date,.bc-link,.ms-src,.sv-src,.h-line-k span,.sv-scale-k span,.h-meter-photo figcaption,.svc-n,.sv-decide-foot a,.bl-count),.bg-contour.areas2 li>a{
  background-color:var(--bg-ground);-webkit-box-decoration-break:clone;box-decoration-break:clone}
/* QA switch: html.no-bg hides every motif (used by the contrast proof) */
.no-bg .bg-joists::after,.no-bg .bg-contour::after,.no-bg .bg-seams::after,.no-bg .bg-brick::after{display:none}

/* Blog index dates sit over seams: keep this one section at the original light weight (contrast 4.19 at .12). */
.bl-file.bg-seams{--bg-w:.06}
/* Large red figures over contours (22.2% on home, Monroe housing %): original weight keeps them >= 3:1. */
#measure.bg-contour,#housing.bg-contour,#housing .bg-contour{--bg-w:.075}
#housing.bg-joists{--bg-w:.075}
/* Bolder pass (Josh 2026-10-10: "bolder"): full weight in the gutters and edges, fading to ~40% behind the
   content column so body text keeps AA. */
.bg-seams::after{
  -webkit-mask-image:var(--bgm-seams),linear-gradient(90deg,#000 0,#000 9%,rgba(0,0,0,.38) 24%,rgba(0,0,0,.38) 76%,#000 91%,#000 100%);
  mask-image:var(--bgm-seams),linear-gradient(90deg,#000 0,#000 9%,rgba(0,0,0,.38) 24%,rgba(0,0,0,.38) 76%,#000 91%,#000 100%);
  -webkit-mask-size:520px 1300px,100% 100%;mask-size:520px 1300px,100% 100%;
  -webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat;
  -webkit-mask-position:center top,0 0;mask-position:center top,0 0;
  -webkit-mask-composite:source-in;mask-composite:intersect}
.bg-contour::after{
  -webkit-mask-image:var(--bgm-contour),linear-gradient(90deg,transparent 30%,rgba(0,0,0,.4) 55%,rgba(0,0,0,.4) 80%,#000 93%);
  mask-image:var(--bgm-contour),linear-gradient(90deg,transparent 30%,rgba(0,0,0,.4) 55%,rgba(0,0,0,.4) 80%,#000 93%)}
@media(max-width:700px){
  .bg-seams::after{-webkit-mask-size:364px 910px,100% 100%;mask-size:364px 910px,100% 100%;
    -webkit-mask-image:var(--bgm-seams),linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,.45));mask-image:var(--bgm-seams),linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,.45))}
  .bg-contour::after{-webkit-mask-image:var(--bgm-contour),linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,.45));mask-image:var(--bgm-contour),linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,.45))}
}
#what-goes-in.bg-joists{--bg-w:.14}
/* Home #measure: push the contour (and its 20% tag) right so the tag clears the copy column. */
#measure.bg-contour::after{-webkit-mask-position:right -470px center,0 0;mask-position:right -470px center,0 0}
@media(max-width:700px){#measure.bg-contour::after{-webkit-mask-position:right -380px bottom -60px,0 0;mask-position:right -380px bottom -60px,0 0}}
/* Final judge: home Areas contour tag floated by the town links; push it off the edge like #measure. */
#areas.bg-contour::after{-webkit-mask-position:right -470px center,0 0;mask-position:right -470px center,0 0}
@media(max-width:700px){#areas.bg-contour::after{-webkit-mask-position:right -380px bottom -60px,0 0;mask-position:right -380px bottom -60px,0 0}}
/* Final judge: bolder seams read as scratches on the home services and FAQ sections; ease them there only. */
#services.bg-seams{--bg-w-dark:.1}
#faq.bg-seams{--bg-w:.14}
.page-home #process.bg-seams,body:has(#hero) #process.bg-seams{--bg-w:.15}

/* mobile-qa.css */
/* Mobile QA pass, 2026-10-10 (Josh: "QA mobile"). Linked in the head, so page CSS loads after it:
   every rule here is prefixed with html body to win on specificity, not source order. */

/* Towns: a later 560px rule re-split the single meter/proof block into two narrow columns. */
@media (max-width:560px){
  html body .tw-proof-grid.tw-proof-grid--one{grid-template-columns:1fr}
  html body .tw-proof-grid--one .tw-tall{justify-self:stretch;max-width:none}
}

/* Blog post: the photo tag sat under the headline card on phones; move it to the top of the photo. */
@media (max-width:700px){html body .ps-photo-tag{top:12px;bottom:auto}}

/* Tap targets >= 44px on phones: home map town list, blog card links, rating links, the call line. */
@media (max-width:900px){
  html body .areas2 li>a,html body .bc-link,html body .areas2-call,html body .tq-g,html body .tb-google a{display:inline-flex;align-items:center;min-height:44px}
}

/* Smallest labels up to 12px on phones (were 10.5 to 11.5px). */
@media (max-width:700px){
  html body :is(.hl-kicker,.hl-ring-tag,.svc-flag,.bc-date,.ab-rec,.td-k,.td-src,.ps-photo-tag,.hl-call-txt small){font-size:12px!important}
}
