/* ==========================================================================
   COWBOY'S AC — "SOUTH TEXAS COMFORT PERFORMANCE SHOWROOM"
   Homepage design system (index.html only — inner pages use cwc/rich.css)
   --------------------------------------------------------------------------
   Palette is extracted from the established brand system in rich.css.
   --cool is a data-only accent used strictly for thermal storytelling
   (heat → controlled cool). Never used on brand/CTA elements.
   ========================================================================== */

:root{
  /* brand surfaces (identical values to rich.css) */
  --bg:#120c08; --bg-2:#0d0805; --surface:#1b120d; --surface-2:#241811; --surface-3:#2c1e15;
  --line:rgba(244,234,214,.10); --line-2:rgba(244,234,214,.16); --gold-line:rgba(232,176,74,.30);
  --gold:#e8b04a; --gold-soft:#f6cd78; --red:#e23c2c; --rust:#d9803a;
  --cream:#f4ead6; --text-2:rgba(244,234,214,.72); --text-3:rgba(244,234,214,.46);
  /* data-only thermal accent (cool state) */
  --cool:#9fd4d8; --cool-dim:rgba(159,212,216,.55);
  /* type system */
  --hero:'Big Shoulders Display','Oswald',sans-serif;   /* editorial display */
  --display:'Oswald',sans-serif;                        /* UI display (nav, buttons) */
  --sans:'Plus Jakarta Sans',system-ui,sans-serif;      /* body */
  --mono:'Share Tech Mono',monospace;                   /* instrumentation */
  /* geometry */
  --r:6px; --r-lg:10px; --max:1240px; --gutter:clamp(1.1rem,4vw,2.2rem);
  --chamfer:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  --ease:cubic-bezier(.22,1,.36,1);
  /* fine blueprint grid, used on technical sections */
  --gridline:rgba(244,234,214,.045);
}

/* ---------- reset & base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--sans);color:var(--cream);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.nav-open,body.boot-lock{overflow:hidden}
a{color:inherit;text-decoration:none}
img,video,svg{max-width:100%;display:block}
h1,h2,h3,h4,p,ul,figure,blockquote{margin:0;padding:0}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.wrap{width:min(var(--max),100% - var(--gutter)*2);margin-inline:auto}
.section{padding-block:clamp(4rem,9vw,7.5rem);position:relative}
.section[id],.sform{scroll-margin-top:84px}
.hp{position:absolute;left:-9999px;height:0;width:0;border:0;padding:0}

::selection{background:var(--red);color:#fff}

/* visible keyboard focus */
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.skip{position:fixed;top:.5rem;left:1rem;z-index:200;background:var(--gold);color:#241206;font-family:var(--display);text-transform:uppercase;padding:.5rem 1rem;transform:translateY(-200%);transition:transform .2s}
.skip:focus{transform:none}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--display);font-weight:600;text-transform:uppercase;line-height:1.04;color:var(--cream)}
.h2{font-family:var(--hero);font-weight:700;font-size:clamp(2.1rem,4.6vw,3.6rem);letter-spacing:.005em;margin:.9rem 0 0}
.h2 em{font-style:normal;color:var(--red)}
.lede{font-size:clamp(1rem,1.25vw,1.13rem);color:var(--text-2);max-width:58ch;margin-top:1rem}
.tag{font-family:var(--mono);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:.55rem;margin:0}
.tag__dot{width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 0 3px rgba(226,60,44,.18)}
html.jsr .tag__dot{animation:pulse 2.6s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 3px rgba(226,60,44,.18)}50%{box-shadow:0 0 0 6px rgba(226,60,44,.05)}}
.sec-head{max-width:56rem}
.sec-head__index{font-family:var(--mono);font-size:.7rem;letter-spacing:.26em;color:var(--text-3);display:block;padding-bottom:.65rem;border-bottom:1px solid var(--line);margin-bottom:1.1rem}

/* ---------- buttons — machined, chamfered ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.92rem;padding:.85rem 1.6rem;border:1px solid transparent;cursor:pointer;clip-path:var(--chamfer);transition:transform .25s var(--ease),background .25s,border-color .25s,color .25s;position:relative}
.btn:active{transform:translateY(1px) scale(.985)}
.btn svg{width:16px;height:16px;flex:none}
.btn--lg{padding:1rem 2rem;font-size:1rem}
.btn--gold{background:linear-gradient(180deg,var(--gold-soft),var(--gold));color:#241206}
.btn--gold:hover{background:linear-gradient(180deg,#ffdf9a,var(--gold-soft))}
.btn--red{background:linear-gradient(180deg,#f0503f,var(--red));color:#fff}
.btn--red:hover{background:linear-gradient(180deg,#ff6a58,#ef4433)}
.btn--ghost{border-color:var(--line-2);color:var(--cream);background:rgba(244,234,214,.02)}
.btn--ghost:hover{border-color:var(--gold-line);background:rgba(232,176,74,.07)}
.btn--block{width:100%}
@media (hover:hover){.btn--gold:hover,.btn--red:hover{transform:translateY(-2px)}}

/* ==========================================================================
   BOOT — system check loader
   ========================================================================== */
.boot{position:fixed;inset:0;z-index:400;background:var(--bg-2);display:flex;align-items:center;justify-content:center;transition:opacity .5s var(--ease),visibility .5s}
.boot--done{opacity:0;visibility:hidden;pointer-events:none}
html:not(.jsr) .boot{display:none}
.boot__inner{width:min(30rem,86vw);text-align:left}
.boot__logo{height:64px;width:auto;margin-bottom:2rem}
.boot__lines{display:grid;gap:.4rem;font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;color:var(--text-2);min-height:6.2rem}
.boot__lines span{opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s}
.boot__lines span.on{opacity:1;transform:none}
.boot__lines span:first-child{color:var(--gold)}
.boot__bar{height:2px;background:var(--line);margin-top:1.6rem;overflow:hidden}
.boot__bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--red),var(--gold));transition:width .3s linear}
.boot__temp{font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;color:var(--red);margin-top:.8rem}
.boot__temp em{font-style:normal;color:var(--cool)}

/* ==========================================================================
   UTILITY STRIP + HEADER
   ========================================================================== */
.util{background:var(--bg-2);border-bottom:1px solid var(--line);font-size:.82rem;position:relative;z-index:41}
.util__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0;flex-wrap:wrap}
.util__badges{display:flex;align-items:center;gap:1.2rem;color:var(--text-3);font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap}
.util__badges b{color:var(--gold-soft);font-weight:400}
.util__phone{font-family:var(--display);font-weight:600;color:var(--cream);font-size:1rem}
.util__phone span{color:var(--text-3);font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;margin-right:.5rem;text-transform:uppercase}
.util__phone:hover{color:var(--gold-soft)}

.hdr{position:sticky;top:0;z-index:40;background:rgba(13,8,5,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hdr__in{display:flex;align-items:center;gap:1.4rem;height:68px}
.brand img{height:40px;width:auto}
.nav{display:flex;gap:1.9rem;margin:0 auto;list-style:none;padding:0}
.nav a{font-family:var(--display);font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;color:var(--text-2);position:relative;padding:.3rem 0}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav a:hover{color:var(--cream)}
.nav a:hover::after{transform:scaleX(1)}
.hdr .btn{padding:.6rem 1.15rem;font-size:.8rem}
.burger{display:none;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--line-2);border-radius:var(--r)}
.burger span{width:20px;height:1.6px;background:var(--cream);transition:transform .3s var(--ease),opacity .3s}
body.nav-open .burger span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
body.nav-open .burger span:nth-child(2){opacity:0}
body.nav-open .burger span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}
.mobile{position:fixed;inset:0;z-index:39;background:rgba(10,6,4,.97);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:none;flex-direction:column;justify-content:center;gap:.3rem;padding:5rem var(--gutter)}
body.nav-open .mobile{display:flex}
.mobile a:not(.btn){font-family:var(--hero);font-weight:600;text-transform:uppercase;font-size:2rem;padding:.55rem 0;border-bottom:1px solid var(--line);letter-spacing:.02em}
.mobile a:not(.btn):hover{color:var(--gold-soft)}

/* ==========================================================================
   HERO — heat → controlled cool
   ========================================================================== */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);min-height:min(88dvh,860px);display:flex;flex-direction:column;justify-content:center}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media video{width:100%;height:115%;object-fit:cover;filter:saturate(.82) brightness(.52) contrast(1.06)}
/* thermal wash: JS eases this from hot to cool after boot */
.hero__thermal{position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,rgba(226,60,44,.28),rgba(217,128,58,.12) 45%,transparent 70%);opacity:var(--heat,1);transition:opacity 2.4s var(--ease);mix-blend-mode:screen;pointer-events:none}
.hero__scrim{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(10,6,4,.95),rgba(10,6,4,.74) 52%,rgba(10,6,4,.45)),linear-gradient(0deg,rgba(13,8,5,.9),transparent 30%)}
.hero__air{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.55}
.hero__in{position:relative;z-index:4;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,4.5vw,4rem);align-items:center;padding-block:clamp(2.5rem,5vw,4rem) clamp(4.5rem,7vw,6rem);width:min(1320px,100% - var(--gutter)*2)}
.hero__h1{font-family:var(--hero);font-weight:800;font-size:clamp(2.9rem,7vw,6rem);line-height:.96;letter-spacing:.005em;margin-top:1.2rem;text-wrap:balance}
.hero__h1 em{font-style:normal;color:var(--red);-webkit-text-stroke:0}
.hero__sub{margin-top:1.4rem;font-size:clamp(1.02rem,1.4vw,1.22rem);color:var(--text-2);max-width:42ch}
.hero__cta{margin-top:1.9rem;display:flex;gap:.8rem;flex-wrap:wrap}
.hero__trust{margin-top:1.5rem;font-size:.88rem;color:var(--text-2);max-width:46ch}
.hero__trust .stars{color:var(--gold);letter-spacing:2px}
.hero__trust b{color:var(--cream)}

/* instrument strip along hero base */
.hero__inst{position:absolute;left:0;right:0;bottom:0;z-index:5;border-top:1px solid var(--line);background:rgba(13,8,5,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hero__inst-in{display:flex;align-items:center;gap:clamp(1.2rem,3.5vw,3rem);padding:.65rem 0;font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;color:var(--text-3);white-space:nowrap;overflow:hidden}
.hero__inst-in b{color:var(--gold-soft);font-weight:400}
.hero__scrollcue{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem;color:var(--text-3)}
.hero__scrollcue i{width:1px;height:16px;background:var(--gold);display:inline-block;transform-origin:top}
html.jsr .hero__scrollcue i{animation:cue 1.8s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0)}45%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* SERVICE CONSOLE (form) */
.sform{background:linear-gradient(168deg,rgba(36,24,17,.94),rgba(27,18,13,.94));border:1px solid var(--gold-line);padding:1.7rem;clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
.sform__head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.sform h2{font-size:1.35rem;font-weight:600;letter-spacing:.03em}
.sform__status{font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;color:var(--cool);display:inline-flex;align-items:center;gap:.45rem}
.sform__status i{width:6px;height:6px;border-radius:50%;background:var(--cool)}
html.jsr .sform__status i{animation:pulse 2.2s infinite}
.sform__note{font-size:.82rem;color:var(--text-3);margin:.35rem 0 1.1rem}
.sform label{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:.35rem}
.fg{margin-bottom:.85rem}
.sform input,.sform select{width:100%;background:rgba(14,9,7,.65);border:1px solid var(--line);border-radius:var(--r);padding:.72rem .85rem;color:var(--cream);font-family:var(--sans);font-size:.92rem;transition:border-color .25s}
.sform input:focus,.sform select:focus{outline:none;border-color:var(--gold)}
.sform input::placeholder{color:rgba(244,234,214,.28)}
.sform .row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.fstatus{font-size:.8rem;min-height:1.1em;margin-bottom:.55rem;color:var(--gold)}
.fstatus.ok{color:#8fd18f}
.sform__fine{font-size:.74rem;color:var(--text-3);margin-top:.8rem;text-align:center}
.sform__fine a{color:var(--gold-soft)}
.sform select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}

/* ==========================================================================
   PROOF RAIL — telemetry
   ========================================================================== */
.rail{border-bottom:1px solid var(--line);background:var(--bg-2);position:relative}
.rail::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 119px,var(--gridline) 120px);pointer-events:none}
.rail__in{display:grid;grid-template-columns:repeat(6,1fr);position:relative}
.rail__cell{padding:1.6rem 1.2rem 1.4rem;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:.45rem}
.rail__cell:last-child{border-right:1px solid var(--line)}
.rail__num{font-family:var(--mono);font-size:1.7rem;color:var(--cream);line-height:1;display:flex;align-items:baseline;gap:.3rem}
.rail__num--sm{font-size:1.05rem;letter-spacing:.06em;line-height:1.25}
.rail__num b{font-weight:400}
.rail__star{color:var(--gold);font-size:1.1rem}
.rail__unit{font-size:.68rem;letter-spacing:.14em;color:var(--text-3)}
.rail__lbl{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);line-height:1.6}
.rail__press{display:flex;align-items:center;gap:clamp(1.2rem,3.5vw,2.6rem);padding:.9rem 0;border-top:1px solid var(--line);position:relative;flex-wrap:wrap}
.rail__press span{font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;color:var(--text-3)}
.rail__press img{height:28px;width:auto;opacity:.55;filter:grayscale(1) contrast(1.05);transition:opacity .3s,filter .3s}
.rail__press img:hover{opacity:1;filter:none}

/* ==========================================================================
   DIAGNOSIS
   ========================================================================== */
.diag{background:linear-gradient(180deg,var(--bg-2),var(--bg))}
.diag__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2.6rem}
.dbtn{background:var(--bg);padding:1.5rem 1.4rem 1.4rem;text-align:left;display:flex;flex-direction:column;gap:.3rem;transition:background .3s;position:relative;min-height:9.5rem}
.dbtn::after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}
.dbtn:hover{background:var(--surface)}
.dbtn:hover::after{transform:scaleY(1)}
.dbtn.on{background:var(--surface-2)}
.dbtn.on::after{transform:scaleY(1)}
.dbtn svg{width:26px;height:26px;stroke:var(--gold);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:.6rem}
.dbtn b{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:1rem;color:var(--cream)}
.dbtn span{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);line-height:1.7}
.dbtn--urgent svg{stroke:var(--red)}
.dbtn--urgent::after{background:var(--red)}
.diag__out{margin-top:1.6rem;border:1px solid var(--gold-line);background:linear-gradient(168deg,var(--surface-2),var(--surface));padding:1.5rem 1.6rem;clip-path:var(--chamfer)}
.diag__out p{color:var(--cream);font-size:1.02rem;max-width:60ch}
.diag__acts{display:flex;gap:.7rem;margin-top:1.1rem;flex-wrap:wrap}

/* ==========================================================================
   SERVICE LINEUP
   ========================================================================== */
.lineup{padding-bottom:clamp(2rem,4vw,3rem)}
.svc{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;padding-block:clamp(2.6rem,5vw,4.2rem);border-bottom:1px solid var(--line)}
.svc:last-of-type{border-bottom:0}
.svc--flip .svc__media{order:2}
.svc__media{position:relative;overflow:hidden;border:1px solid var(--line-2);aspect-ratio:4/3;clip-path:polygon(22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 22px)}
.svc__media img{width:100%;height:112%;object-fit:cover;filter:saturate(.9) contrast(1.03)}
.svc__cap{position:absolute;left:0;bottom:0;font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;color:var(--gold-soft);background:rgba(13,8,5,.8);padding:.45rem .8rem;border-top:1px solid var(--line);border-right:1px solid var(--line)}
.svc__no{font-family:var(--mono);font-size:.85rem;color:var(--text-3);letter-spacing:.2em;display:block;margin-bottom:.7rem}
.svc__no::after{content:"";display:inline-block;width:3rem;height:1px;background:var(--gold-line);vertical-align:middle;margin-left:.8rem}
.svc h3{font-family:var(--hero);font-weight:700;font-size:clamp(1.7rem,3vw,2.5rem)}
.svc h3 em{font-style:normal;color:var(--red)}
.svc p{color:var(--text-2);margin-top:1rem;max-width:56ch}
.svclist{list-style:none;margin-top:1.2rem;display:grid;gap:.5rem}
.svclist li{position:relative;padding-left:1.5rem;color:var(--text-2);font-size:.94rem}
.svclist li::before{content:"";position:absolute;left:0;top:.55em;width:.7rem;height:1px;background:var(--gold)}
.svc .btn{margin-top:1.5rem}

/* ==========================================================================
   TRANE SHOWROOM — blueprint
   ========================================================================== */
.trane{background:var(--bg-2);border-block:1px solid var(--line);overflow:hidden}
.trane__grid{position:absolute;inset:0;background:linear-gradient(var(--gridline) 1px,transparent 1px),linear-gradient(90deg,var(--gridline) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(80% 90% at 70% 50%,#000 30%,transparent 100%);-webkit-mask-image:radial-gradient(80% 90% at 70% 50%,#000 30%,transparent 100%)}
.trane__in{position:relative;display:grid;grid-template-columns:1fr .9fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}
.trane__points{list-style:none;margin-top:1.6rem;display:grid;gap:1.1rem}
.trane__points li{border-left:2px solid var(--gold-line);padding-left:1.1rem;color:var(--text-2);font-size:.95rem}
.trane__points b{display:block;color:var(--cream);font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;font-size:.95rem;margin-bottom:.15rem}
.trane .hero__cta{margin-top:2rem}
.trane__fig{position:relative}
.blueprint{width:100%;height:auto}
.bp{fill:none;stroke:var(--cool-dim);stroke-width:1.2}
.bp--frame{stroke:var(--cool)}
.bp--fins line{stroke:rgba(159,212,216,.32)}
.bp--callouts{stroke:var(--gold-line)}
.bp--callouts circle{fill:var(--gold);stroke:none}
.bp__fanring{stroke:var(--cool)}
.bp__txt text{font-family:var(--mono);font-size:10px;letter-spacing:.14em;fill:var(--text-3)}
.bp__txt text:nth-child(n+4){fill:var(--cool-dim)}
html.jsr .bp__blades{transform-origin:230px 270px;animation:fanspin 14s linear infinite;animation-play-state:paused}
html.jsr .trane.in-view .bp__blades{animation-play-state:running}
@keyframes fanspin{to{transform:rotate(360deg)}}
.trane__cap{margin-top:1rem;font-family:var(--mono);font-size:.64rem;letter-spacing:.2em;color:var(--gold-soft);display:flex;align-items:center;gap:.6rem}
.trane__cap i{width:2rem;height:1px;background:var(--gold-line);display:inline-block}

/* ==========================================================================
   SYSTEM INTELLIGENCE — console
   ========================================================================== */
.intel__in{display:grid;grid-template-columns:1fr .9fr;gap:clamp(2.5rem,6vw,5rem);align-items:start}
.intel__price{display:flex;align-items:center;gap:1.4rem;margin-top:1.8rem;flex-wrap:wrap}
.intel__amt{font-family:var(--mono);font-size:clamp(2.6rem,5vw,3.6rem);color:var(--cream);line-height:1}
.intel__amt sup{font-size:1.1rem;color:var(--gold)}
.intel__per{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;color:var(--gold-soft)}
.intel__list{list-style:none;margin-top:1.8rem;display:grid;grid-template-columns:1fr 1fr;gap:.55rem 1.4rem}
.intel__list li{position:relative;padding-left:1.4rem;color:var(--text-2);font-size:.9rem}
.intel__list li::before{content:"";position:absolute;left:0;top:.55em;width:.65rem;height:1px;background:var(--red)}
.console{border:1px solid var(--gold-line);background:linear-gradient(170deg,var(--surface-2),var(--bg-2));clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);position:sticky;top:90px}
.console__bar{display:flex;align-items:center;gap:.7rem;padding:.85rem 1.2rem;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;color:var(--gold-soft)}
.console__bar em{font-style:normal;margin-left:auto;color:var(--text-3);font-size:.56rem}
.console__dot{width:7px;height:7px;border-radius:50%;background:var(--cool)}
html.jsr .console__dot{animation:pulse 2.4s infinite}
.console__main{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.console__stat{background:rgba(13,8,5,.85);padding:1.2rem 1.2rem 1.1rem;display:flex;flex-direction:column;gap:.55rem}
.console__stat--wide{grid-column:1/-1}
.console__lbl{font-family:var(--mono);font-size:.58rem;letter-spacing:.18em;color:var(--text-3)}
.console__val{font-family:var(--mono);font-size:1.5rem;color:var(--cream);display:flex;align-items:center;gap:.6rem}
.console__val b{font-weight:400}
.console__val--ok{color:var(--cool);font-size:.95rem;letter-spacing:.12em}
.console__val--ok i{width:8px;height:8px;border-radius:50%;background:var(--cool);flex:none}
html.jsr .console__val--ok i{animation:pulse 2s infinite}
.console__meter{height:6px;background:rgba(244,234,214,.08);position:relative;overflow:hidden}
.console__meter i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--gold),var(--gold-soft));transition:width 1.2s var(--ease)}
.console__sub{font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;color:var(--text-3)}
.console__feed{position:relative;min-height:3.4rem}
.console__feed p{font-family:var(--mono);font-size:.74rem;line-height:1.7;color:var(--text-2);position:absolute;inset:0;opacity:0;transition:opacity .6s}
.console__feed p.on{opacity:1}
.console__fine{padding:.8rem 1.2rem;font-size:.68rem;color:var(--text-3);border-top:1px solid var(--line);font-style:italic}

/* ==========================================================================
   OFFERS & FINANCING
   ========================================================================== */
.offers{background:linear-gradient(180deg,var(--bg-2),var(--bg));border-top:1px solid var(--line)}
.ogrid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2.6rem}
.ocard{background:var(--bg);padding:1.7rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.4rem;position:relative;transition:background .3s}
.ocard:hover{background:var(--surface)}
.ocard::after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.ocard:hover::after{transform:scaleX(1)}
.ocard--lead{grid-row:span 2;background:linear-gradient(170deg,var(--surface-2),var(--bg));justify-content:flex-end;min-height:16rem}
.ocard__amt{font-family:var(--hero);font-weight:800;font-size:2rem;color:var(--gold-soft);line-height:1}
.ocard--lead .ocard__amt{font-size:clamp(2.6rem,4vw,3.6rem)}
.ocard__amt--free{color:var(--rust)}
.ocard b{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:1rem;color:var(--cream);margin-top:.4rem}
.ocard p{font-size:.88rem;color:var(--text-2);max-width:34ch}
.ocard__go{font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;color:var(--gold);margin-top:.9rem;opacity:.7;transition:opacity .3s}
.ocard:hover .ocard__go{opacity:1}
.ocard--band{grid-column:1/-1;flex-direction:row;align-items:center;gap:clamp(1.2rem,3vw,2.6rem);background:linear-gradient(90deg,var(--surface-2),var(--bg))}
.ocard--band .ocard__amt{font-size:clamp(2rem,3vw,2.6rem);flex:none}
.ocard__bandtxt{flex:1;min-width:14rem}
.ocard__bandtxt b{margin-top:0;display:block}
.ocard__bandtxt p{max-width:60ch}
.ocard--band .ocard__go{margin-top:0;flex:none}
.finrow{display:grid;grid-template-columns:1.2fr 1fr auto;gap:clamp(1.5rem,4vw,3rem);align-items:center;margin-top:2.6rem;border:1px solid var(--line);background:linear-gradient(170deg,var(--surface),var(--bg-2));padding:clamp(1.5rem,3vw,2.2rem);clip-path:var(--chamfer)}
.finrow h3{font-family:var(--hero);font-weight:700;font-size:clamp(1.4rem,2.4vw,1.9rem)}
.finrow h3 em{font-style:normal;color:var(--red)}
.finrow p{color:var(--text-2);font-size:.92rem;margin-top:.6rem;max-width:48ch}
.finrow__partners{display:flex;flex-wrap:wrap;gap:.5rem}
.finrow__partners span{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;color:var(--gold-soft);border:1px solid var(--gold-line);padding:.5rem .9rem}

/* ==========================================================================
   COWBOYS CARES
   ========================================================================== */
.cares__in{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.5rem,6vw,5rem);align-items:start}
.cares__list{list-style:none;display:grid;gap:0;border-top:1px solid var(--line)}
.cares__list li{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.cares__list b{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--cream);font-size:1.02rem}
.cares__list span{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);text-align:right}
.certs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:3rem}
.certs span{font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;color:var(--text-2);border:1px solid var(--line-2);padding:.55rem 1rem}

/* ==========================================================================
   REVIEWS
   ========================================================================== */
.reviews{background:var(--bg-2);border-block:1px solid var(--line)}
.revgrid{display:grid;grid-template-columns:1.2fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2.6rem}
.revq{background:var(--bg-2);padding:clamp(1.6rem,3vw,2.4rem);position:relative}
.revq--lead{grid-row:span 2;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(170deg,var(--surface),var(--bg-2))}
.revq::before{content:"“";position:absolute;top:.6rem;right:1.2rem;font-family:var(--hero);font-size:4.5rem;color:rgba(232,176,74,.14);line-height:1}
.revq__stars{color:var(--gold);letter-spacing:3px;font-size:.85rem}
.revq p{color:var(--cream);margin:.9rem 0 1.1rem;font-size:1rem;max-width:46ch}
.revq--lead p{font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.5}
.revq footer{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap}
.revq b{color:var(--gold-soft);font-family:var(--display);text-transform:uppercase;letter-spacing:.04em}
.revq footer span{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;color:var(--text-3)}

/* ==========================================================================
   SERVICE RANGE
   ========================================================================== */
.range__in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}
.range__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem 1.8rem;margin-top:2rem}
.areacol h3{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--line);padding-bottom:.5rem;margin-bottom:.7rem;font-weight:400}
.areacol ul{list-style:none}
.areacol li{font-size:.86rem;color:var(--text-2);margin-bottom:.3rem}
.areacol li.hq{color:var(--gold-soft);font-weight:600}
.range__map svg{width:100%;height:auto}
.rm__rings circle,.rm__rings line{fill:none;stroke:var(--line-2);stroke-width:1}
.rm__sweep path{fill:rgba(232,176,74,.06);stroke:none;transform-origin:210px 216px}
html.jsr .range.in-view .rm__sweep path{animation:sweep 9s linear infinite}
@keyframes sweep{to{transform:rotate(360deg)}}
.rm__pts circle{fill:var(--gold);opacity:.85}
.rm__pts .rm__hq{fill:var(--red)}
html.jsr .rm__hq{animation:pulse 2.4s infinite}
.rm__txt text{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;fill:var(--text-3)}
.rm__txt text:first-child{fill:var(--cream)}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faqsec{background:linear-gradient(180deg,var(--bg),var(--bg-2))}
.faq__in{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:1.25rem 0;font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:1.02rem;letter-spacing:.03em;color:var(--cream);display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:color .25s}
.faq summary:hover{color:var(--gold-soft)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--gold);font-size:1.3rem;line-height:1;transition:transform .3s var(--ease)}
.faq details[open] summary::after{content:"–"}
.faq details[open] summary{color:var(--gold-soft)}
.faq details p{padding:0 0 1.4rem;color:var(--text-2);max-width:60ch}
.faq details a{color:var(--gold-soft)}

/* ==========================================================================
   CONTACT + FINAL
   ========================================================================== */
.contact__in{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:stretch}
.cinfo__rows{display:grid;gap:1.1rem;margin:1.8rem 0}
.cinfo__row b{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;color:var(--gold);margin-bottom:.25rem;font-weight:400}
.cinfo__row a,.cinfo__row span{color:var(--cream);font-size:1.04rem}
.cinfo__row a:hover{color:var(--gold-soft)}
.cmap{overflow:hidden;border:1px solid var(--line-2);min-height:340px;clip-path:polygon(22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 22px)}
.cmap iframe{width:100%;height:100%;min-height:340px;border:0;filter:grayscale(.35) invert(.9) hue-rotate(180deg) contrast(.9)}

.final{position:relative;text-align:center;border-top:1px solid var(--line);overflow:hidden;padding-block:clamp(5rem,10vw,8.5rem)}
.final__thermal{position:absolute;inset:0;background:radial-gradient(60% 80% at 50% 110%,rgba(226,60,44,.18),transparent 70%),linear-gradient(180deg,var(--bg),var(--bg-2))}
.final__in{position:relative}
.final .tag{justify-content:center}
.final__h2{font-family:var(--hero);font-weight:800;font-size:clamp(2.6rem,7vw,5.4rem);line-height:.98;margin-top:1.2rem}
.final__h2 em{font-style:normal;color:var(--red)}
.final .lede{margin-inline:auto}
.final__cta{margin-top:2.2rem;display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}

/* ==========================================================================
   FOOTER + MOBILE BAR
   ========================================================================== */
.footer{background:var(--bg-2);border-top:1px solid var(--line);padding-block:3.5rem 2rem}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2rem}
.footer__grid img{height:44px;width:auto;margin-bottom:1rem}
.footer p{color:var(--text-2);font-size:.9rem;max-width:24rem}
.footer h4{font-family:var(--mono);text-transform:uppercase;font-size:.66rem;letter-spacing:.2em;color:var(--gold);margin-bottom:1rem;font-weight:400}
.footer ul{list-style:none;display:grid;gap:.5rem}
.footer li,.footer__grid a{color:var(--text-2);font-size:.9rem}
.footer__grid a:hover{color:var(--gold-soft)}
.footer__bottom{margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid var(--line);font-size:.76rem;color:var(--text-3);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-family:var(--mono);letter-spacing:.04em}

.mobar{position:fixed;left:0;right:0;bottom:0;z-index:38;display:none;grid-template-columns:1fr 1fr;gap:.5rem;padding:.6rem var(--gutter);padding-bottom:max(.6rem,env(safe-area-inset-bottom));background:rgba(13,8,5,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line)}

/* ==========================================================================
   MOTION LAYER — calibration reveals (gated on html.jsr; no-JS stays visible)
   ========================================================================== */
html.jsr [data-cal],html.jsr [data-rail],html.jsr [data-svcblock]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
html.jsr .is-in{opacity:1 !important;transform:none !important}
/* blueprint stroke draw (JS sets dasharray; CSS animates offset when in view) */
html.jsr .bp{transition:stroke-dashoffset 1.6s var(--ease)}

@media (prefers-reduced-motion:reduce){
  html.jsr [data-cal],html.jsr [data-rail],html.jsr [data-svcblock]{opacity:1;transform:none;transition:none}
  html.jsr .tag__dot,html.jsr .sform__status i,html.jsr .console__dot,html.jsr .console__val--ok i,html.jsr .rm__hq{animation:none}
  html.jsr .bp__blades,html.jsr .rm__sweep path,html.jsr .hero__scrollcue i{animation:none !important}
  .hero__air{display:none}
  .hero__thermal{transition:none}
  .boot{display:none !important}
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1100px){
  .rail__in{grid-template-columns:repeat(3,1fr)}
  .rail__cell:nth-child(n+4){border-top:1px solid var(--line)}
  .rail__cell:nth-child(3n){border-right:1px solid var(--line)}
  .diag__grid{grid-template-columns:repeat(2,1fr)}
  .range__cols{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:960px){
  .hero__in,.trane__in,.intel__in,.cares__in,.range__in,.faq__in,.contact__in{grid-template-columns:1fr}
  .hero{min-height:0}
  .hero__inst{position:relative;margin-top:0}
  .hero__in{padding-bottom:clamp(2.5rem,5vw,4rem)}
  .svc,.svc--flip{grid-template-columns:1fr}
  .svc--flip .svc__media{order:0}
  .ogrid{grid-template-columns:1fr 1fr}
  .ocard--lead{grid-row:auto;grid-column:1/-1;min-height:0}
  .revgrid{grid-template-columns:1fr}
  .revq--lead{grid-row:auto}
  .finrow{grid-template-columns:1fr}
  .console{position:static}
  .nav,.hdr .btn--gold,.hdr__call{display:none}
  .burger{display:flex}
  .util__badges{display:none}
  .mobar{display:grid}
  body{padding-bottom:70px}
  .hero__scrollcue{display:none}
}
@media (max-width:640px){
  .diag__grid{grid-template-columns:1fr}
  .ocard--band{flex-direction:column;align-items:flex-start;gap:.4rem}
  .ocard--band .ocard__go{margin-top:.9rem}
  .dbtn{min-height:0}
  .ogrid{grid-template-columns:1fr}
  .rail__in{grid-template-columns:1fr 1fr}
  .rail__cell:nth-child(n+3){border-top:1px solid var(--line)}
  .rail__cell:nth-child(2n){border-right:1px solid var(--line)}
  .intel__list{grid-template-columns:1fr}
  .console__main{grid-template-columns:1fr}
  .range__cols{grid-template-columns:1fr 1fr}
  .footer__grid{grid-template-columns:1fr 1fr}
  .hero__h1{font-size:clamp(2.6rem,12vw,3.4rem)}
  .hero__inst-in{flex-wrap:wrap;white-space:normal;gap:.6rem 1.4rem}
}
@media (max-width:460px){
  .footer__grid{grid-template-columns:1fr}
  .sform .row{grid-template-columns:1fr}
  .cares__list li{flex-direction:column;gap:.15rem;align-items:flex-start}
  .cares__list span{text-align:left}
}

/* ==========================================================================
   V3 — CINEMATIC LAYER (2026-07-20)
   Heat→cool skyline, thermal lens, dispatch console, cutaway house,
   crew compositing, grain. Same tokens; no new colors, no navy — ever.
   ========================================================================== */

/* ---------- south texas skyline (hero) ---------- */
.hero__sky{position:absolute;left:0;right:0;bottom:0;z-index:3;pointer-events:none}
.sky{display:block;width:100%}
.sky--far{height:clamp(46px,7vw,96px);margin-bottom:calc(clamp(56px,8.5vw,118px)*-1)}
.sky--far path{fill:#171009;opacity:.85}
.sky--near{height:clamp(56px,8.5vw,118px)}
.sky__blocks{fill:#0d0805}
.sky__tower rect,.sky__tower line{fill:#0d0805;stroke:#0d0805;stroke-width:3}
.sky__tower ellipse{fill:#120b07;stroke:rgba(232,176,74,.35);stroke-width:1}
.sky__wins .win{fill:var(--gold);opacity:0;transition:opacity .5s var(--ease)}
html:not(.jsr) .sky__wins .win{opacity:.85}
@media (prefers-reduced-motion:reduce){.sky__wins .win{opacity:.85}}
.inst-temp b{color:var(--gold);font-weight:400;font-variant-numeric:tabular-nums}
.inst-temp{color:var(--text-2)}

/* ---------- thermal lens (pointer/touch heat-vision) ---------- */
.lens{position:fixed;left:0;top:0;z-index:30;width:360px;height:360px;margin:-180px 0 0 -180px;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .45s var(--ease);mix-blend-mode:screen;will-change:transform;
  background:radial-gradient(circle,rgba(226,60,44,.32) 0%,rgba(217,128,58,.20) 32%,rgba(232,176,74,.08) 55%,transparent 72%)}
.lens.on{opacity:1}
.lens.cool{background:radial-gradient(circle,rgba(159,212,216,.26) 0%,rgba(159,212,216,.12) 38%,rgba(232,176,74,.05) 58%,transparent 72%)}
@media (prefers-reduced-motion:reduce){.lens{display:none}}

/* ---------- film grain ---------- */
.grain{position:fixed;inset:-60px;z-index:260;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@media (prefers-reduced-motion:reduce){.grain{display:none}}

/* ---------- cowboys dispatch console ---------- */
.dispatch{position:fixed;right:clamp(.8rem,2vw,1.6rem);bottom:clamp(.9rem,2.4vw,1.6rem);z-index:45;font-family:var(--mono);
  transform:translateY(140%);opacity:0;transition:transform .6s var(--ease),opacity .6s}
body.dispatch-ready .dispatch{transform:none;opacity:1}
.dispatch__pill{display:flex;align-items:center;gap:.75rem;background:rgba(19,12,8,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border:1px solid var(--gold-line);clip-path:var(--chamfer);padding:.62rem .95rem;cursor:pointer;transition:border-color .3s,background .3s}
.dispatch__pill:hover{border-color:var(--gold);background:rgba(28,17,10,.95)}
.dispatch__ping{position:relative;width:9px;height:9px;border-radius:50%;background:var(--red);flex:none}
html.jsr .dispatch__ping::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(226,60,44,.65);animation:ping 2.2s var(--ease) infinite}
@keyframes ping{0%{transform:scale(.4);opacity:1}100%{transform:scale(1.5);opacity:0}}
@media (prefers-reduced-motion:reduce){html.jsr .dispatch__ping::after{animation:none;display:none}}
.dispatch__pilltxt{display:flex;flex-direction:column;text-align:left;line-height:1.3}
.dispatch__pilltxt b{font-weight:400;font-size:.68rem;letter-spacing:.18em;color:var(--cream)}
.dispatch__pilltxt em{font-style:normal;font-size:.6rem;letter-spacing:.14em;color:var(--gold)}
.dispatch__clock{font-size:.72rem;color:var(--text-3);border-left:1px solid var(--line);padding-left:.75rem;font-variant-numeric:tabular-nums}
.dispatch__panel{position:absolute;right:0;bottom:calc(100% + .7rem);width:min(330px,calc(100vw - 2rem));background:rgba(16,10,7,.97);
  border:1px solid var(--gold-line);clip-path:var(--chamfer);padding:1rem 1rem .85rem;box-shadow:0 24px 60px rgba(5,2,1,.6)}
.dispatch__head{display:flex;align-items:center;gap:.55rem;font-size:.62rem;letter-spacing:.2em;color:var(--text-3);padding-bottom:.7rem;border-bottom:1px solid var(--line);margin-bottom:.7rem}
.dispatch__head i{width:7px;height:7px;border-radius:50%;background:var(--gold);flex:none}
.dispatch__head span{margin-left:auto;font-variant-numeric:tabular-nums}
.dispatch__line{font-family:var(--sans);font-size:.9rem;color:var(--text-2);margin-bottom:.8rem;line-height:1.5}
.dispatch__acts{display:grid;gap:.5rem}
.dispatch__fine{margin-top:.75rem;font-size:.6rem;letter-spacing:.16em;color:var(--gold);text-align:center}
@media (max-width:719px){
  .dispatch{right:.75rem;bottom:calc(64px + env(safe-area-inset-bottom) + .6rem)} /* clears .mobar */
  .dispatch__clock{display:none}
}

/* ---------- diagnosis: cutaway house + grid split ---------- */
.diag__split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.45fr);gap:clamp(1.6rem,3.5vw,3rem);align-items:start;margin-top:2.4rem}
.house{position:relative;background:
  linear-gradient(rgba(27,18,13,.5),rgba(27,18,13,.5)),
  repeating-linear-gradient(0deg,transparent,transparent 23px,var(--gridline) 24px),
  repeating-linear-gradient(90deg,transparent,transparent 23px,var(--gridline) 24px);
  border:1px solid var(--line);clip-path:var(--chamfer);padding:1.4rem 1.2rem 1rem}
.house svg{width:100%;height:auto}
.house__ln{fill:none;stroke:rgba(244,234,214,.5);stroke-width:1.6;vector-effect:non-scaling-stroke}
.house__ln--dash{stroke:rgba(232,176,74,.55);stroke-dasharray:5 6}
.house__lbl{font-family:var(--mono);font-size:11px;letter-spacing:.14em;fill:var(--text-3);text-anchor:middle;transition:fill .3s}
.hspot{cursor:pointer;outline-offset:4px}
.hspot__dot{fill:var(--red)}
.hspot__ring{fill:none;stroke:rgba(226,60,44,.6);stroke-width:1.4}
html.jsr .hspot__ring{animation:hring 2.6s var(--ease) infinite}
@keyframes hring{0%,100%{stroke-opacity:.65}50%{stroke-opacity:.15}}
@media (prefers-reduced-motion:reduce){html.jsr .hspot__ring{animation:none}}
.hspot:hover .hspot__dot,.hspot:focus-visible .hspot__dot,.hspot.lit .hspot__dot{fill:var(--gold)}
.hspot:hover .hspot__ring,.hspot:focus-visible .hspot__ring,.hspot.lit .hspot__ring{stroke:var(--gold)}
.hspot:hover .house__lbl,.hspot:focus-visible .house__lbl,.hspot.lit .house__lbl{fill:var(--gold)}
.house__cap{display:flex;align-items:center;gap:.55rem;margin-top:.9rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;color:var(--text-3)}
.house__cap i{width:7px;height:7px;border-radius:50%;background:var(--red);flex:none}
.diag__split .diag__grid{margin-top:0}
@media (max-width:960px){
  .diag__split{grid-template-columns:1fr}
  .house{max-width:520px}
}

/* ---------- crew — duotone compositing, broken grid ---------- */
.crew{background:linear-gradient(180deg,var(--bg) 0%,#150d08 60%,var(--bg) 100%);overflow:hidden}
.crew__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.9rem,2vw,1.6rem);margin-top:3rem}
/* roster changes: bump repeat() count to match the number of .crewcard figures */
.crewcard{position:relative;clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)}
.crewcard:nth-child(even){transform:translateY(clamp(.9rem,2.4vw,2.2rem))}
.crewcard img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.06) brightness(.82);transition:filter .6s var(--ease)}
.crewcard::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(165deg,rgba(226,60,44,.34),rgba(27,18,13,.55) 60%,rgba(13,8,5,.8));mix-blend-mode:multiply;transition:opacity .6s var(--ease);pointer-events:none}
.crewcard::after{content:"";position:absolute;inset:0;z-index:2;border:1px solid var(--line);clip-path:inherit;pointer-events:none}
@media (hover:hover){
  .crewcard:hover img{filter:grayscale(0) contrast(1.02) brightness(.96)}
  .crewcard:hover::before{opacity:.25}
}
.crewcard figcaption{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:.75rem .8rem;background:linear-gradient(0deg,rgba(10,6,4,.92),transparent);display:flex;flex-direction:column;gap:.15rem}
.crewcard figcaption b{font-family:var(--display);font-weight:600;letter-spacing:.08em;font-size:.95rem;color:var(--cream)}
.crewcard figcaption span{font-family:var(--mono);font-size:.58rem;letter-spacing:.22em;color:var(--gold)}
.crew__strip{margin-top:clamp(3rem,6vw,4.5rem);font-family:var(--mono);font-size:clamp(.9rem,2.4vw,1.5rem);letter-spacing:.3em;color:rgba(244,234,214,.12);white-space:nowrap;overflow:hidden}
html.jsr .crew__strip{animation:stripscroll 40s linear infinite}
@keyframes stripscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){html.jsr .crew__strip{animation:none}}
@media (max-width:820px){
  .crew__row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .crewcard:nth-child(even){transform:translateY(clamp(.9rem,3vw,1.6rem))}
}

/* ---------- spotlight borders on offer cards (desktop pointers) ---------- */
@media (hover:hover){
  .ocard{position:relative;overflow:hidden}
  .ocard::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s;
    background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),rgba(232,176,74,.14),transparent 65%)}
  .ocard:hover::after{opacity:1}
}

/* ---------- exploded blueprint helpers ---------- */
.bp--fan,.bp--fins line{will-change:transform}
.trane__fig{perspective:800px}

/* ---------- RIDE WITH US — careers band in crew section (v3.2) ---------- */
.jobs{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,4.5vw,4rem);align-items:center;margin-top:clamp(3rem,6vw,4.5rem);padding-top:clamp(2.5rem,5vw,3.5rem);border-top:1px solid var(--line)}
.jobs__h{font-family:var(--hero);font-weight:700;font-size:clamp(1.9rem,3.8vw,2.8rem);letter-spacing:.005em;margin:.4rem 0 0}
.jobs__h em{font-style:normal;color:var(--red)}
.sform--jobs h3{font-size:1.35rem;font-weight:600;letter-spacing:.03em}
.sform--jobs .sform__status{color:var(--gold)}
.sform--jobs .sform__status i{background:var(--gold)}
@media (max-width:900px){.jobs{grid-template-columns:1fr}}
