/* v18 — temperature mood (set by js/v18.js from live weather). Default before the fetch = hot. */
:root{
  --cb-accent:#ffa552;
  --cb-tint:linear-gradient(180deg,rgba(255,140,60,.55),rgba(226,60,44,.35));
  --cb-glow:radial-gradient(70% 60% at 20% 85%,rgba(255,120,50,.28),transparent 60%);
  --cb-filter:grayscale(.2) sepia(.3) saturate(1.15) contrast(1.05) brightness(.72);
  --cb-nowbg:linear-gradient(180deg,#1a0e08,#0e0907);
  --cb-nowglow:radial-gradient(60% 70% at 85% 20%,rgba(255,130,60,.22),transparent 60%);
  --cb-tglow:radial-gradient(60% 70% at 85% 10%,rgba(255,130,60,.22),transparent 60%);
  --bar-xf:none;--bar-op:1;--bar-pe:auto;
}
html.cb-cool{
  --cb-accent:#8fc1ff;
  --cb-tint:linear-gradient(180deg,rgba(70,120,190,.6),rgba(30,50,100,.45));
  --cb-glow:radial-gradient(70% 60% at 20% 85%,rgba(80,130,200,.28),transparent 60%);
  --cb-filter:grayscale(.35) saturate(.85) contrast(1.08) brightness(.6) hue-rotate(-8deg);
  --cb-nowbg:linear-gradient(180deg,#0b1020,#0e0907);
  --cb-nowglow:radial-gradient(60% 70% at 85% 20%,rgba(90,140,220,.22),transparent 60%);
  --cb-tglow:radial-gradient(60% 70% at 85% 10%,rgba(90,140,220,.22),transparent 60%);
}
html.cb-cool [data-hot-only]{display:none}
html.cb-bar-off{--bar-xf:translateY(140%);--bar-op:0;--bar-pe:none}
#cbLoader{transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1),background 1.2s ease}
html.cb18-seen #cbLoader{display:none}
@media (min-width:1100px){.rail[data-trust]{flex-wrap:wrap;white-space:normal;justify-content:space-between;row-gap:.6rem;column-gap:1.6rem!important}}
/* v18 blog article body: the old WordPress HTML, set to the Blog Article template's block styles */
.v18-prose{color:rgba(244,234,214,.9);font-size:1.0625rem;line-height:1.65}
@media (min-width:1100px){.v18-prose{font-size:1.125rem}}
.v18-prose h2{margin:2.2rem 0 .8rem;font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;line-height:1;font-size:clamp(1.6rem,3vw,2.2rem);text-wrap:balance;color:#f4ead6;scroll-margin-top:84px}
.v18-prose h3,.v18-prose h4{margin:1.6rem 0 .5rem;font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;line-height:1.05;font-size:1.25rem;color:#f6cd78}
.v18-prose p{margin:0 0 1.1rem;text-wrap:pretty}
.v18-prose ul,.v18-prose ol{margin:0 0 1.2rem;padding:0;list-style:none;display:grid;gap:.5rem}
.v18-prose ul>li{position:relative;padding-left:1.5rem}
.v18-prose ul>li::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:8px;border-radius:50%;background:#e23c2c}
.v18-prose ol{counter-reset:o}.v18-prose ol>li{position:relative;padding-left:2rem;counter-increment:o}
.v18-prose ol>li::before{content:counter(o,decimal-leading-zero);position:absolute;left:0;top:.15em;font-family:'Share Tech Mono',monospace;font-size:.8em;color:#e8b04a}
.v18-prose a{color:#f6cd78;border-bottom:1px solid rgba(246,205,120,.4)}
.v18-prose strong,.v18-prose b{color:#f4ead6}
.v18-prose blockquote{margin:1.4rem 0;padding:1.1rem 1.3rem;border-radius:1rem;background:#1b120d;border:1px solid rgba(232,176,74,.3);color:#f4ead6}
.v18-prose table{width:100%;border-collapse:collapse;margin:0 0 1.2rem;font-size:.95rem;display:block;overflow-x:auto}
.v18-prose th,.v18-prose td{border-bottom:1px solid rgba(244,234,214,.12);padding:.55rem .6rem;text-align:left;vertical-align:top}
.v18-prose hr{border:0;border-top:1px solid rgba(244,234,214,.12);margin:2rem 0}
.v18-toc a{color:inherit;display:block}
/* ---- v18 polish (2026-10-02): hero stage. Poster + film share one frame; film fades in once playing ---- */
.cb-hero-stage{position:absolute;inset:0;overflow:hidden;transform-origin:50% 45%}
.cb-hero-stage picture{display:contents}
.cb-hm{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;display:block;border:0}
#heroFilm{opacity:0;transition:opacity .9s ease}
#heroFilm.cb-on{opacity:1}
.cb-hero-stage{transform:scale(1.06);animation:push 26s linear infinite alternate;will-change:transform}
@media (min-width:821px){.cb-hero-stage{filter:var(--cb-filter)}}
@media (max-width:820px){
  .cb-hm{object-position:50% 40%}
  .cb-hero-stage::after{content:"";position:absolute;inset:0;background:rgba(14,9,7,.28)}
  @keyframes push{from{transform:scale(1.04)}to{transform:scale(1.14)}}
}
@media (min-width:1100px){.cb-menu-btn{display:none!important}}
.cb-menu-btn{margin-left:.2rem}
/* phones: "A service call, the Cowboy way" — shorter steps, text sits in the half the sticky photo doesn't cover */
@media (max-width:899px){
  #way [data-sticky]{height:min(40svh,330px)!important}
  #way [data-way]{min-height:56svh!important;justify-content:flex-end!important;padding:1.4rem 0 2.4rem!important}
}
/* phones: the designer's full-screen backdrop blurs over hero photos are the heaviest paint on the page — swap for a flat scrim */
/* v20.3: Mike wants the v15 look back on phones too — the defocused edges with the sharp window in the middle.
   Kept, at a lighter radius than desktop. */
@media (max-width:820px){
  [data-heroblur]{backdrop-filter:blur(9px) saturate(.92)!important;-webkit-backdrop-filter:blur(9px) saturate(.92)!important}
  .cb-hero-stage::after{background:rgba(14,9,7,.34)}
}
/* phones: designer boxes with aspect-ratio + min-height forced themselves wider than the screen (service pages) */
@media (max-width:820px){
  [data-arfix="wide"]{aspect-ratio:auto!important;min-height:0!important;height:clamp(230px,62vw,300px)}
  [data-arfix="tall"]{aspect-ratio:auto!important;min-height:0!important;height:clamp(250px,72vw,300px)}
}
/* inline source links: comfortable touch targets */
@media (pointer:coarse){a[target="_blank"][style*="Share Tech Mono"]{display:inline-flex;align-items:center;min-height:40px}}
@media (max-width:440px){[data-util]{letter-spacing:.05em!important;font-size:11px!important}}
/* MOTION FORCED ON (owner decision 2026-10-02): nothing on this site is gated on the OS reduced-motion setting */
/* ---- v20 (2026-10-02): premium-dark pass over the v19 structure ---- */
@media (max-width:759px){.v19 #al{min-height:min(78svh,640px)!important}}
.v19 #crew img[data-pool="crew"]{filter:saturate(1.05) contrast(1.05) brightness(.95)!important}
.v19 h2 .w{display:inline-block;opacity:0;transform:translateY(.45em);transition:opacity .5s ease,transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--wd,0s)}
.v19 h2.in .w,.v19 .in h2 .w{opacity:1;transform:none}
.v19 #trane a[href="trane.html"]:hover,.v19 #trane a[href^="trane.html"]:hover{color:#f4ead6!important}
/* ---- v20.2 (2026-10-02): type that arrives, and weather in the hero ---- */
.v19 h2 .w{filter:blur(7px);transition:opacity .5s ease,transform .65s cubic-bezier(.2,.7,.2,1),filter .7s ease;transition-delay:var(--wd,0s)}
.v19 h2.in .w,.v19 .in h2 .w{filter:blur(0)}
.v19 div[data-r][style*="letter-spacing:.2em"]{transition:opacity .7s ease,transform .6s cubic-bezier(.2,.7,.2,1),letter-spacing 1.1s cubic-bezier(.2,.7,.2,1)}
.v19 div[data-r][style*="letter-spacing:.2em"]:not(.in){letter-spacing:.34em!important}
/* ambient layer inside the hero stage — mode set on <html> by js/v18.js from live weather + clock */
.cb-wxfx{position:absolute;inset:0;pointer-events:none;z-index:3;opacity:0;transition:opacity 1.4s ease}
html.cb-hot .cb-wxfx{opacity:1;background:radial-gradient(60% 45% at 78% 16%,rgba(255,190,110,.17),transparent 70%)}
html.cb-hot .cb-wxfx::before{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;background:repeating-linear-gradient(180deg,rgba(255,170,80,.05) 0 3px,transparent 3px 9px);-webkit-mask-image:linear-gradient(180deg,transparent,#000 55%);mask-image:linear-gradient(180deg,transparent,#000 55%);animation:cb-shimmer 2.8s ease-in-out infinite alternate}
@keyframes cb-shimmer{from{transform:translateY(0) scaleY(1);opacity:.45}to{transform:translateY(-14px) scaleY(1.08);opacity:1}}
html.cb-rain .cb-wxfx{opacity:1}
html.cb-rain .cb-wxfx::after{content:"";position:absolute;left:0;right:0;top:-100%;bottom:0;background:repeating-linear-gradient(108deg,transparent 0 11px,rgba(214,228,244,.13) 11px 12px,transparent 12px 23px);animation:cb-rainfall .85s linear infinite}
@keyframes cb-rainfall{from{transform:translate3d(0,0,0)}to{transform:translate3d(-60px,50%,0)}}
html.cb-night .cb-wxfx{opacity:1;background:linear-gradient(180deg,rgba(8,12,26,.42),transparent 55%)}
html.cb-night .cb-wxfx::before{content:"";position:absolute;left:0;right:0;top:0;height:55%;background-image:radial-gradient(1.5px 1.5px at 12% 28%,#fff,transparent),radial-gradient(1px 1px at 34% 12%,#fff,transparent),radial-gradient(1.5px 1.5px at 56% 34%,#fff,transparent),radial-gradient(1px 1px at 72% 18%,#fff,transparent),radial-gradient(1.5px 1.5px at 88% 30%,#fff,transparent),radial-gradient(1px 1px at 22% 8%,#fff,transparent),radial-gradient(1px 1px at 64% 6%,#fff,transparent),radial-gradient(1.2px 1.2px at 44% 22%,#fff,transparent),radial-gradient(1px 1px at 80% 8%,#fff,transparent),radial-gradient(1.2px 1.2px at 6% 14%,#fff,transparent);animation:cb-twinkle 3.6s ease-in-out infinite alternate}
@keyframes cb-twinkle{from{opacity:.35}to{opacity:.9}}
html.cb-dusk .cb-wxfx{opacity:1;background:linear-gradient(200deg,rgba(255,140,60,.16),transparent 45%),linear-gradient(0deg,rgba(120,40,90,.13),transparent 50%)}
/* ---- v20.5 (Mike, 2026-10-05): #crew — no video. The real shop (drone) and the real fleet, crossfading,
   each on a slow push, framed like the hero: defocused edges, sharp window, gold sweep, dark vignette. */
.cb-reel{position:relative;aspect-ratio:21/9;min-height:240px;border-radius:1.1rem;overflow:hidden;background:#1b120d;border:1px solid rgba(244,234,214,.12);isolation:isolate}
.cb-reel picture{display:contents}
.cb-reel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.04) contrast(1.05) brightness(.82);transform-origin:50% 45%;will-change:transform,opacity}
.cb-reel-a{animation:cb-reel-a 16s ease-in-out infinite}
.cb-reel-b{animation:cb-reel-b 16s ease-in-out infinite;object-position:50% 40%}
@keyframes cb-reel-a{0%{opacity:1;transform:scale(1.04) translate3d(0,0,0)}42%{opacity:1}50%{opacity:0;transform:scale(1.14) translate3d(-1.5%,1%,0)}92%{opacity:0;transform:scale(1.04)}100%{opacity:1;transform:scale(1.04)}}
@keyframes cb-reel-b{0%{opacity:0;transform:scale(1.12) translate3d(1.5%,0,0)}42%{opacity:0;transform:scale(1.12) translate3d(1.5%,0,0)}50%{opacity:1}92%{opacity:1;transform:scale(1.02) translate3d(0,-1%,0)}100%{opacity:0;transform:scale(1.02)}}
.cb-reel-blur{position:absolute;inset:0;z-index:2;backdrop-filter:blur(12px) saturate(.9);-webkit-backdrop-filter:blur(12px) saturate(.9);-webkit-mask-image:radial-gradient(70% 72% at 50% 46%,transparent 40%,#000 86%);mask-image:radial-gradient(70% 72% at 50% 46%,transparent 40%,#000 86%)}
.cb-reel-sweep{position:absolute;z-index:3;top:-20%;bottom:-20%;left:0;width:26%;background:linear-gradient(90deg,transparent,rgba(232,176,74,.12),transparent);animation:sweep 9s cubic-bezier(.16,1,.3,1) infinite;pointer-events:none}
.cb-reel-shade{position:absolute;inset:0;z-index:4;background:linear-gradient(180deg,rgba(14,9,7,.25),transparent 30%,transparent 62%,rgba(14,9,7,.75)),radial-gradient(70% 60% at 18% 82%,rgba(226,60,44,.18),transparent 60%);box-shadow:inset 0 0 120px 20px rgba(14,9,7,.75)}
@media (max-width:820px){.cb-reel{aspect-ratio:4/3}.cb-reel-blur{backdrop-filter:blur(8px) saturate(.92);-webkit-backdrop-filter:blur(8px) saturate(.92)}}
@keyframes cb-reel-sweep{from{transform:translateX(-120%)}to{transform:translateX(480%)}}
.cb-reel-sweep{animation-name:cb-reel-sweep}
/* v25 (2026-10-13): blue-hour hero film (assets/hero/hero-v3*). The hot-weather sepia + soft-light tint + the
   designer's bottom scrim + vignette were tuned for a golden-hour shot and turned this one to mud. Lighter
   grade, tint pulled back, scrim thinned at the top so the skyline reads; phones anchor the film at the bottom
   (the truck sits in the lower half of the 9:16 cut) and scale from there. */
@media (min-width:821px){
  .cb-hero-stage{filter:grayscale(.05) sepia(.06) saturate(1.1) contrast(1.05) brightness(.9)}
  html.cb-cool .cb-hero-stage{filter:grayscale(.2) saturate(.95) contrast(1.06) brightness(.78)}
}
[data-hero-tint]{opacity:.45}
[data-hero-scrim]{background:linear-gradient(180deg,rgba(14,9,7,.32) 0%,rgba(14,9,7,0) 24%,rgba(14,9,7,.5) 60%,#0e0907 100%)!important}
[data-hero-vig]{box-shadow:inset 0 0 120px 10px rgba(14,9,7,.7)!important}
@media (max-width:820px){
  .cb-hero-stage{transform-origin:50% 100%}
  .cb-hm{object-position:50% 100%}
  @keyframes push{from{transform:scale(1.22)}to{transform:scale(1.32)}}
  .cb-hero-stage::after{background:rgba(14,9,7,.22)}
  [data-heroblur]{backdrop-filter:blur(6px) saturate(.95)!important;-webkit-backdrop-filter:blur(6px) saturate(.95)!important}
}
@media (min-width:821px){
  [data-heroblur="win"]{backdrop-filter:blur(10px) saturate(.95)!important;-webkit-backdrop-filter:blur(10px) saturate(.95)!important;-webkit-mask-image:radial-gradient(90% 90% at 50% 58%,transparent 58%,#000 94%)!important;mask-image:radial-gradient(90% 90% at 50% 58%,transparent 58%,#000 94%)!important}  /* v29: three-shot film, truck moves across the frame — window centred and wider */
  [data-heroblur="floor"]{backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important;-webkit-mask-image:linear-gradient(180deg,transparent 60%,#000 92%)!important;mask-image:linear-gradient(180deg,transparent 60%,#000 92%)!important}
}
/* v26 (2026-10-13): How Your System Works on phones — no 3D. The numbered cutaway pans/zooms to the tapped part,
   laid out as a figure above the rail (desktop keeps the 3D house behind the panels). */
/* v29 (2026-10-14, Mike: "the mobile version for system is what we use for desktop — it just works"): the cutaway
   layout is now the System page at every width; the 3D house iframe is never created. */
.cb-sysflat{display:none}
@media (min-width:0){
  #system{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column;padding-bottom:1rem}
  #system>.v15mod{position:relative!important;inset:auto!important;order:2;height:min(calc((100vw - 2*clamp(1.1rem,5vw,3rem))*.5625),72vh)!important;min-height:0!important;aspect-ratio:auto!important;margin:.4rem auto 0!important;width:min(1320px,calc(100% - 2*clamp(1.1rem,5vw,3rem)))!important;border-radius:1rem;overflow:hidden;border:1px solid rgba(232,176,74,.18);background:#0e0907;box-shadow:0 30px 80px -40px rgba(0,0,0,.9)}
  #system>.v15mod .mod__poster,#system>.v15mod .mod__shield,#system>.v15mod .mod__lock,#system>.v15mod iframe{display:none!important}
  #system>div:nth-child(2){display:none!important}
  #system>div:nth-child(3){position:relative!important;top:auto!important;order:1}
  #system>.dc-p12{position:relative!important;bottom:auto!important;order:3}
  #system b:has(+div>[data-on="click:setCut"]),#system div:has(>[data-on="click:setCut"]){display:none!important}
  #system b:has(+div>[data-on="click:setCool"]),#system div:has(>[data-on="click:setCool"]){display:none!important}
  .cb-sysflat{display:block;position:absolute;inset:0;overflow:hidden;background:#0b0705}
  .cb-sysflat-stage{position:absolute;inset:0;transform-origin:50% 50%;transition:transform 1s cubic-bezier(.16,1,.3,1),transform-origin 1s cubic-bezier(.16,1,.3,1)}
  .cb-sysflat-stage img{width:100%;height:100%;object-fit:cover;display:block}
  .cb-sysmk{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font:normal 400 10px/1 'Share Tech Mono',monospace;letter-spacing:.04em;color:#1b120d;background:#f6cd78;box-shadow:0 0 0 3px rgba(14,9,7,.55),0 0 14px rgba(246,205,120,.65);transition:transform .6s cubic-bezier(.16,1,.3,1),background .3s,box-shadow .3s}
  .cb-sysmk::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(246,205,120,.7);animation:cb-sysping 2.2s ease-out infinite}
  @keyframes cb-sysping{from{transform:scale(.7);opacity:.9}to{transform:scale(1.7);opacity:0}}
  .cb-sysflat:not([data-part="overview"]) .cb-sysmk{opacity:0}
  .cb-sysflat:not([data-part="overview"]) .cb-sysmk::after{display:none}
  .cb-sysflat[data-part="condenser"] [data-mk="condenser"],.cb-sysflat[data-part="handler"] [data-mk="handler"],.cb-sysflat[data-part="filter"] [data-mk="filter"],.cb-sysflat[data-part="ducts"] [data-mk="ducts"],.cb-sysflat[data-part="stat"] [data-mk="stat"]{opacity:1;background:#e23c2c;color:#fff;transform:translate(-50%,-50%) scale(.5);box-shadow:0 0 0 2px rgba(14,9,7,.6),0 0 18px rgba(226,60,44,.8)}
  .cb-sysflat[data-part="condenser"] .cb-sysflat-stage{transform:scale(2.4);transform-origin:10% 77%}
  .cb-sysflat[data-part="handler"] .cb-sysflat-stage{transform:scale(2.4);transform-origin:40% 29%}
  .cb-sysflat[data-part="filter"] .cb-sysflat-stage{transform:scale(2.4);transform-origin:55% 40%}
  .cb-sysflat[data-part="ducts"] .cb-sysflat-stage{transform:scale(2);transform-origin:66% 30%}
  .cb-sysflat[data-part="stat"] .cb-sysflat-stage{transform:scale(2.6);transform-origin:93% 64%}
}
@media (min-width:821px){
  .cb-sysflat[data-part="condenser"] .cb-sysflat-stage,.cb-sysflat[data-part="handler"] .cb-sysflat-stage,.cb-sysflat[data-part="filter"] .cb-sysflat-stage{transform:scale(1.9)}
  .cb-sysflat[data-part="ducts"] .cb-sysflat-stage{transform:scale(1.7)}
  .cb-sysflat[data-part="stat"] .cb-sysflat-stage{transform:scale(2.1)}
  .cb-sysmk{width:34px;height:34px;font-size:12px}
}
/* v26: Trane Comfort Specialist badge panel on the homepage Trane card (replaces the crew photo) */
.cb-tcs{position:relative;width:100%;height:0;padding-bottom:62.5%;overflow:hidden;background:radial-gradient(70% 70% at 50% 45%,#2b1a0f,#120c08 70%);display:grid;place-items:center;isolation:isolate}
.cb-tcs-glow{position:absolute;inset:-20%;background:radial-gradient(40% 40% at 50% 48%,rgba(232,176,74,.42),rgba(226,60,44,.12) 45%,transparent 70%);animation:cb-tcs-breathe 6s ease-in-out infinite alternate;z-index:0}
.cb-tcs-sheen{position:absolute;inset:-60%;background:conic-gradient(from 0deg,transparent 0 40%,rgba(246,205,120,.18) 50%,transparent 60% 100%);animation:cb-tcs-spin 14s linear infinite;z-index:0;mix-blend-mode:screen}
.cb-tcs picture{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:1.2rem 1rem 3rem}
.cb-tcs img{position:relative;display:block;width:auto;height:auto;max-width:min(62%,340px);max-height:100%;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.55)) drop-shadow(0 0 22px rgba(232,176,74,.28));animation:cb-tcs-float 5.5s ease-in-out infinite alternate}
.cb-tcs-cap{position:absolute;left:50%;bottom:.9rem;transform:translateX(-50%);z-index:1;font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#f6cd78;white-space:nowrap;padding:.35rem .8rem;border-radius:999px;background:rgba(14,9,7,.65);border:1px solid rgba(232,176,74,.25)}
@keyframes cb-tcs-breathe{from{opacity:.75;transform:scale(.96)}to{opacity:1;transform:scale(1.06)}}
@keyframes cb-tcs-spin{to{transform:rotate(360deg)}}
@keyframes cb-tcs-float{from{transform:translateY(4px) rotate(-1deg)}to{transform:translateY(-6px) rotate(1deg)}}
/* v26: financing — "Get pre-approved before we ring the doorbell" as a full section */
.cb-preappr-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.4rem,3.5vw,3.5rem);align-items:center}
.cb-preappr-fig{margin:0;position:relative;border-radius:1.2rem;overflow:hidden;border:1px solid rgba(232,176,74,.18);aspect-ratio:4/5;background:#1b120d}
.cb-preappr-fig img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.04) contrast(1.03)}
.cb-preappr-fig figcaption{position:absolute;left:.9rem;bottom:.9rem;padding:.4rem .8rem;border-radius:999px;background:rgba(14,9,7,.78);font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#f6cd78;border:1px solid rgba(232,176,74,.25)}
.cb-lenders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1.4rem}
.cb-lender{display:grid;gap:.45rem;align-content:start;padding:1rem 1.05rem 1.1rem;border-radius:1rem;border:1px solid rgba(232,176,74,.22);background:linear-gradient(180deg,rgba(232,176,74,.08),rgba(232,176,74,.03));color:#f4ead6;text-decoration:none;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .3s,background .3s}
.cb-lender:hover{transform:translateY(-3px);border-color:rgba(246,205,120,.6);background:linear-gradient(180deg,rgba(232,176,74,.14),rgba(232,176,74,.05))}
.cb-lender-name{font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:1.15rem;color:#f6cd78}
.cb-lender-line{font-size:.92rem;color:rgba(244,234,214,.8);line-height:1.4}
.cb-lender-cta{margin-top:.2rem;font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#ff8a3d}
.cb-lender-cta i{font-style:normal;opacity:.7}
@media (max-width:900px){.cb-preappr-grid{grid-template-columns:1fr}.cb-preappr-fig{aspect-ratio:16/10}.cb-preappr-fig img{object-position:50% 40%}.cb-lenders{grid-template-columns:1fr}}
/* v28: phone menu — the fixed Call now / Book online bar (z 70) sat over the menu's last link (menu z 59);
   the menu now sits above the bar, the bar hides while the menu is open, and the list scrolls with room at the end */
dc-if[data-if="navOpen"]>div{z-index:80!important;overflow-y:auto;padding-bottom:7rem!important;-webkit-overflow-scrolling:touch}
html:has(dc-if[data-if="navOpen"]:not([hidden])) dc-if[data-vp="m"]>div[style*="position:fixed"]{opacity:0;pointer-events:none}
/* v28 (Mike 2026-10-14): "for mobile make sure the big text isn't too big covering the hero — just the text".
   Every hero H1 on phones: ~34 px at 390 instead of 48–50 px. Inline clamp() sizes are overridden here only. */
@media (max-width:820px){
  h1{font-size:clamp(2rem,8.6vw,3.1rem)!important;line-height:.95!important}
  h1 .cb-kick,h1>span:first-child{font-size:11px!important}
}
/* v28: "smooth as glass, like iOS" — cross-document view transitions (Chrome 126+ / Safari 18.2+; older browsers
   simply navigate as before). The old page fades and slips up a touch, the new one rises in under it. */
@view-transition{navigation:auto}
@keyframes cb-vt-out{to{opacity:0;transform:translateY(-10px) scale(.992)}}
@keyframes cb-vt-in{from{opacity:0;transform:translateY(14px)}}
::view-transition-old(root){animation:cb-vt-out .22s cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:cb-vt-in .34s cubic-bezier(.16,1,.3,1) both}
html{scroll-behavior:smooth}
a,button{-webkit-tap-highlight-color:transparent}

/* v29 — phones: no pinch/double-tap zoom, no focus zoom, hard page boundaries (Mike 2026-10-14) */
html,body{overflow-x:hidden;overscroll-behavior-y:none;-webkit-text-size-adjust:100%}
body{touch-action:pan-y pinch-zoom}
@media(max-width:820px){
  body{touch-action:pan-y}
  a,button,input,select,textarea,label,[data-on],summary{touch-action:manipulation}
  input,select,textarea{font-size:16px!important}
  *:focus-visible{outline:2px solid #e8b04a;outline-offset:2px}
  model-viewer,.cb-sysflat{touch-action:pan-y}
}

/* v29 — phone legibility floor: nothing under 11px on a phone */
@media(max-width:820px){
  .vid__meta,.vnote,.pull,.go,.kind,.cares,.follow,.chap,.sc-hint,.sc-dealer span,.sc-stat .l,.sc-line span,.mono{font-size:11px!important}
}

/* v30 (C25) — print: a quote or a Scout page on paper reads as a document, not a dark website */
@media print{
  html,body{background:#fff!important;color:#111!important}
  body *{color:#111!important;background:transparent!important;box-shadow:none!important;text-shadow:none!important;animation:none!important;transition:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  header,footer,nav,video,iframe,#cbLoader,dc-if[data-if="navOpen"],[data-blur],[style*="position:fixed"],.sc-bar,.sc-ar,.cb-sysmk,[data-jmore],button{display:none!important}
  [data-r]{opacity:1!important;transform:none!important}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:.8em}
  a[href^="tel:"]::after{content:""}
  h1,h2,h3{page-break-after:avoid}figure,table,.sc-rep,.sc-spec{page-break-inside:avoid}
  .sc-viewer model-viewer{display:none!important}
}

/* v30.2 (Mike, 2026-10-15): desktop hero headline was covering the truck — smaller, a little lower, a soft shadow,
   and the headline block only shades the film where the letters are */
@media(min-width:821px){
  [data-screen-label="01 Hero"] h1{font-size:clamp(3rem,7.4vw,6.2rem)!important;max-width:12ch;text-shadow:0 2px 6px rgba(14,9,7,.55),0 12px 40px rgba(14,9,7,.45)}
  [data-screen-label="01 Hero"] [data-hero-tint]{opacity:.32}
  [data-screen-label="01 Hero"] [data-hero-scrim]{background:linear-gradient(180deg,rgba(14,9,7,.38) 0%,rgba(14,9,7,0) 26%,rgba(14,9,7,.42) 60%,#0e0907 100%)!important}
}
