/* ===== 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}
