/* ═══ SOURCE PROTECTION ═══ */
html{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}
img,video,svg,canvas{pointer-events:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none}
/* ═══════════════════════════════════════════════════════════
   COWBOYS AC — V3 TEXAS GLASS EDITION
   Deep navy · warm gold · real photography · alive glass
   ═══════════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#112240;--bg2:#152d4f;--bg3:#1d3d65;
  --card:rgba(25,58,100,.48);--card-solid:#193a64;
  --glass:rgba(255,255,255,.075);--glass2:rgba(255,255,255,.12);
  --glass-border:rgba(255,255,255,.14);--glass-border-hover:rgba(255,255,255,.28);
  --text:#f5f8ff;--muted:#b8cbdf;--dim:rgba(255,255,255,.6);
  --red:#EF4050;--red-glow:rgba(239,64,80,.38);
  --gold:#f0b840;--gold-glow:rgba(240,184,64,.35);
  --blue:#5ba3ff;--green:#4cf0c8;
  --shadow:0 20px 60px rgba(0,0,0,.35);
  --r:18px;--r2:24px;--r3:36px;
  --w:1200px;
  --font:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --serif:'Playfair Display',Georgia,serif;
}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font);background:var(--bg);color:var(--text);overflow-x:hidden;line-height:1.65}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.w{width:min(var(--w),calc(100% - 40px));margin:0 auto}

/* ─── AMBIENT ─── */
body::before,body::after{content:'';position:fixed;pointer-events:none;z-index:-1}
body::before{inset:0;background:radial-gradient(1400px 800px at 10% -8%,rgba(240,184,64,.16),transparent 55%),radial-gradient(1100px 700px at 90% 5%,rgba(239,64,80,.15),transparent 50%),radial-gradient(800px 600px at 50% 50%,rgba(91,163,255,.10),transparent 55%)}
body::after{inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='1' cy='1' r='.6' fill='rgba(255,255,255,.035)'/%3E%3C/svg%3E")}

/* ─── FLOATING ALAMO CITY PARTICLES ─── */
@keyframes float-up{0%{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(-10vh) scale(1);opacity:0}}
@keyframes drift{0%{transform:translateX(0)}50%{transform:translateX(30px)}100%{transform:translateX(0)}}
@keyframes star-twinkle{0%,100%{opacity:.15;transform:scale(.8)}50%{opacity:.5;transform:scale(1.1)}}
.ambient-particles{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.ambient-particles span{position:absolute;display:block;border-radius:50%;background:radial-gradient(circle,var(--gold),transparent 70%);opacity:0;animation:float-up linear infinite}
.ambient-particles span:nth-child(1){width:4px;height:4px;left:8%;animation-duration:18s;animation-delay:0s}
.ambient-particles span:nth-child(2){width:3px;height:3px;left:22%;animation-duration:22s;animation-delay:3s}
.ambient-particles span:nth-child(3){width:5px;height:5px;left:38%;animation-duration:16s;animation-delay:6s}
.ambient-particles span:nth-child(4){width:3px;height:3px;left:55%;animation-duration:20s;animation-delay:2s}
.ambient-particles span:nth-child(5){width:4px;height:4px;left:72%;animation-duration:24s;animation-delay:8s}
.ambient-particles span:nth-child(6){width:6px;height:6px;left:85%;animation-duration:15s;animation-delay:4s}
.ambient-particles span:nth-child(7){width:3px;height:3px;left:45%;animation-duration:19s;animation-delay:10s}
.ambient-particles span:nth-child(8){width:4px;height:4px;left:65%;animation-duration:21s;animation-delay:1s}

/* ── Alamo City Pride Banner ── */
.alamo-banner{position:relative;padding:40px 20px;text-align:center;overflow:hidden;background:linear-gradient(135deg,rgba(17,34,64,.92) 0%,rgba(35,22,10,.9) 50%,rgba(17,34,64,.92) 100%);border-top:1px solid rgba(240,184,64,.10);border-bottom:1px solid rgba(240,184,64,.10)}
.alamo-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(224,173,74,.06),transparent);pointer-events:none}
.alamo-banner__stars{font-size:16px;letter-spacing:12px;color:var(--gold);opacity:.25;margin-bottom:8px}
.alamo-banner__text{font-family:var(--serif);font-weight:900;font-style:italic;font-size:clamp(1.2rem,3vw,1.8rem);color:var(--text);letter-spacing:.02em}
.alamo-banner__text span{color:var(--gold);text-shadow:0 0 30px var(--gold-glow)}
.alamo-banner__sub{font-size:11px;font-weight:800;letter-spacing:4px;text-transform:uppercase;color:var(--muted);margin-top:8px;opacity:.5}
.alamo-banner__skyline{position:absolute;bottom:0;left:0;right:0;height:40px;opacity:.04;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60'%3E%3Cpath d='M0 60V45h30V30h15V20h10v10h15v15h20V35h10V25h8v10h12v10h25V40h15V25h5v15h15v5h40V30h20V20h10V10h8v10h12v10h20v15h30V45h20V35h15V20h10v15h15v10h25V35h30V25h8v10h22v10h30V40h15V30h20V15h10V5h8v10h12v10h20v20h30V35h40V20h15V10h10v10h15v15h25V30h20V25h10v5h30v15h30V45h20V30h25V20h10v10h15v10h40V30h20V20h8v10h22v15h30V45h80V60z' fill='%23e0ad4a'/%3E%3C/svg%3E");background-size:cover;background-position:bottom}

/* ── Pulse glow on sections ── */
@keyframes section-breathe{0%,100%{box-shadow:0 0 0 rgba(224,173,74,0)}50%{box-shadow:0 0 120px rgba(224,173,74,.02)}}
.sec{animation:section-breathe 8s ease-in-out infinite}

/* ─── GLASS UTIL ─── */
.glass{background:var(--glass);backdrop-filter:blur(28px) saturate(1.6);-webkit-backdrop-filter:blur(28px) saturate(1.6);border:1px solid var(--glass-border);box-shadow:var(--shadow);transition:.4s cubic-bezier(.16,1,.3,1)}
.glass:hover{border-color:var(--glass-border-hover);box-shadow:0 24px 65px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08)}
.glass2{background:var(--glass2);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid var(--glass-border);transition:.3s}

/* ─── SKIP NAV ─── */
.skip-nav{position:absolute;top:-100px;left:0;z-index:9999;background:var(--gold);color:#000;padding:12px 24px;font-weight:800;border-radius:0 0 8px 0;transition:.3s}
.skip-nav:focus{top:0}

/* ─── TOPBAR ─── */
.topbar{background:rgba(0,0,0,.35);border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(16px);font-size:13px;font-weight:700}
.topbar .w{display:flex;align-items:center;justify-content:space-between;padding:8px 0;flex-wrap:wrap;gap:6px}
.topbar__l,.topbar__r{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.tl{padding:5px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);transition:.25s;white-space:nowrap}
.tl:hover{background:rgba(255,255,255,.10);border-color:var(--gold);color:var(--gold)}
.tl--gold{color:var(--gold);border-color:rgba(224,173,74,.35)}
.tl--red{color:var(--red);border-color:rgba(230,57,70,.35)}

/* ─── HEADER ─── */
.hdr{position:sticky;top:0;z-index:100;background:rgba(17,34,64,.84);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);transition:background .4s,box-shadow .4s,border-color .4s}
.hdr.scrolled{background:rgba(11,24,44,.95);box-shadow:0 8px 40px rgba(0,0,0,.35);border-color:rgba(240,184,64,.08)}
.hdr .w{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:12px}
.logo{height:48px;filter:drop-shadow(0 4px 14px rgba(0,0,0,.4));transition:.3s}
.logo:hover{filter:drop-shadow(0 4px 20px rgba(224,173,74,.25))}
.nav{display:flex;align-items:center;gap:2px}
.nav a{font-weight:600;font-size:14px;color:rgba(245,248,255,.7);padding:9px 14px;border-radius:12px;transition:.25s;letter-spacing:-.01em}
.nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.nav .cta{background:var(--red);color:#fff;font-weight:800;border-radius:12px;box-shadow:0 4px 18px var(--red-glow);padding:10px 20px}
.nav .cta:hover{background:#ff5060;transform:translateY(-1px);box-shadow:0 8px 28px var(--red-glow)}
.ham{display:none;width:44px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.ham span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:.3s}
.ham.on span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ham.on span:nth-child(2){opacity:0}
.ham.on span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ─── BUTTONS ─── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;border-radius:14px;font-weight:900;font-size:15px;border:none;cursor:pointer;transition:.35s cubic-bezier(.16,1,.3,1);white-space:nowrap;letter-spacing:.02em;position:relative;overflow:hidden;text-transform:uppercase}
.btn::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent 0%,rgba(255,255,255,.08) 10%,transparent 20%);opacity:0;transition:opacity .5s;animation:btn-shine 6s linear infinite paused}
.btn:hover::before{opacity:1;animation-play-state:running}
@keyframes btn-shine{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.btn::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,transparent 50%);opacity:0;transition:.3s}
.btn:hover::after{opacity:1}
.btn--red{background:linear-gradient(135deg,#EF4050 0%,#de3545 50%,#EF4050 100%);background-size:200% 200%;color:#fff;box-shadow:0 6px 26px var(--red-glow),inset 0 1px 0 rgba(255,255,255,.18);animation:btn-gradient 4s ease infinite}
.btn--red:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 16px 50px rgba(239,64,80,.5),inset 0 1px 0 rgba(255,255,255,.22)}
@keyframes btn-gradient{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.btn--gold{background:linear-gradient(135deg,#f0b840 0%,#e4ac38 50%,#f0b840 100%);background-size:200% 200%;color:#0a0a0a;box-shadow:0 6px 22px var(--gold-glow),inset 0 1px 0 rgba(255,255,255,.28);animation:btn-gradient 4s ease infinite}
.btn--gold:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 16px 44px rgba(240,184,64,.45),inset 0 1px 0 rgba(255,255,255,.35)}
.btn--glass{background:rgba(255,255,255,.07);color:var(--text);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.btn--glass:hover{background:rgba(255,255,255,.16);border-color:rgba(224,173,74,.3);transform:translateY(-3px) scale(1.02);box-shadow:0 12px 40px rgba(0,0,0,.2)}

/* ═══ HERO ═══ */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden}
.hero__bg{position:absolute;inset:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.4;filter:brightness(.55) saturate(1.4)}
.hero__bg::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,rgba(17,34,64,.94) 0%,rgba(17,34,64,.65) 45%,rgba(17,34,64,.20) 100%)}
.hero__bg::before{content:'';position:absolute;bottom:0;left:0;right:0;height:220px;background:linear-gradient(transparent,var(--bg));z-index:1}
.hero .w{position:relative;z-index:2;padding:60px 0 50px}
.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero__badge{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.5px;margin-bottom:14px;animation:badge-glow 3s ease-in-out infinite alternate}
@keyframes badge-glow{0%{box-shadow:0 0 20px rgba(224,173,74,.1)}100%{box-shadow:0 0 30px rgba(224,173,74,.2)}}
.hero__badge img{height:22px;width:22px;border-radius:6px}
.hero__stars{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;margin-bottom:16px}
.hero__stars .stars{color:var(--gold);font-size:17px;letter-spacing:2px;filter:drop-shadow(0 0 8px rgba(224,173,74,.4))}
h1{font-family:var(--font);font-weight:900;font-size:clamp(2.6rem,5.5vw,4.2rem);line-height:1.05;margin-bottom:18px;letter-spacing:-.035em}
h1 .texas{font-family:var(--serif);font-style:italic;background:linear-gradient(135deg,#f0b840 0%,#ffd770 40%,#f0b840 60%,#e4ac38 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gold-shimmer 4s ease-in-out infinite;filter:drop-shadow(0 2px 30px rgba(240,184,64,.30))}
@keyframes gold-shimmer{0%,100%{background-position:0% center}50%{background-position:200% center}}
.hero__sub{font-size:17px;color:rgba(200,215,235,.85);line-height:1.7;margin-bottom:28px;max-width:520px;letter-spacing:-.01em}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px}
.hero__stats{display:flex;gap:0;border-radius:var(--r);overflow:hidden;background:rgba(255,255,255,.05);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.hero__stat{padding:18px 26px;text-align:center;background:rgba(255,255,255,.02);flex:1;transition:.35s cubic-bezier(.16,1,.3,1)}
.hero__stat:hover{background:rgba(255,255,255,.07);transform:scale(1.02)}
.hero__stat:not(:last-child){border-right:1px solid var(--glass-border)}
.hero__stat strong{display:block;font-weight:900;font-size:26px;color:var(--gold);margin-bottom:2px;text-shadow:0 0 20px var(--gold-glow)}
.hero__stat span{font-size:10.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:1.2px}

/* Hero video */
.hero__vid{border-radius:var(--r2);overflow:hidden;position:relative;aspect-ratio:16/10;border:2px solid transparent;background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 1px rgba(224,173,74,.1)}
.hero__vid::before{content:'';position:absolute;inset:-2px;border-radius:calc(var(--r2) + 2px);background:linear-gradient(135deg,rgba(230,57,70,.4),rgba(224,173,74,.4),rgba(75,150,245,.3));z-index:-1;animation:border-rotate 6s linear infinite}
@keyframes border-rotate{0%{filter:hue-rotate(0deg)}100%{filter:hue-rotate(360deg)}}
.hero__vid video{width:100%;height:100%;object-fit:cover}
.hero__vid-ov{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(14,29,50,.35);cursor:pointer;transition:.4s}
.hero__vid-ov:hover{background:rgba(14,29,50,.15)}
/* scanline on video — upgraded in premium section */
.play{width:72px;height:72px;border-radius:50%;background:rgba(230,57,70,.85);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 40px var(--red-glow);transition:.3s}
.play:hover{transform:scale(1.08)}
.play::after{content:'';width:0;height:0;border-style:solid;border-width:13px 0 13px 24px;border-color:transparent transparent transparent #fff;margin-left:4px}
.hero__vid-label{margin-top:14px;font-weight:700;font-size:14px;text-shadow:0 2px 10px rgba(0,0,0,.7)}
.hero__vid.on .hero__vid-ov{opacity:0;pointer-events:none}

/* ═══ OUR WORK GALLERY ═══ */
.work-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:12px}
.work-gallery__item{position:relative;border-radius:var(--r);overflow:hidden;cursor:pointer;border:1px solid var(--glass-border)}
.work-gallery__item img{width:100%;height:100%;object-fit:cover;transition:.5s cubic-bezier(.16,1,.3,1)}
.work-gallery__item:hover img{transform:scale(1.08)}
.work-gallery__item::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(8,18,34,.7));opacity:0;transition:.4s}
.work-gallery__item:hover::after{opacity:1}
.work-gallery__item span{position:absolute;bottom:12px;left:14px;right:14px;font-weight:700;font-size:13px;opacity:0;transform:translateY(10px);transition:.4s;z-index:2}
.work-gallery__item:hover span{opacity:1;transform:none}
.work-gallery__item--wide{grid-column:span 2;grid-row:span 2}
@media(max-width:960px){.work-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:180px}}
@media(max-width:640px){.work-gallery{grid-template-columns:1fr;grid-auto-rows:auto}}

/* ═══ INTERACTIVE HVAC ═══ */
.hvac-interactive{position:relative;max-width:900px;margin:0 auto}
.hvac-house{position:relative;width:100%;aspect-ratio:16/10;border-radius:var(--r2);overflow:hidden;border:1px solid var(--glass-border);background:linear-gradient(180deg,#0a1832 0%,#0d2240 100%)}
.hvac-house__svg{width:100%;height:100%}
.hvac-hotspot{position:absolute;cursor:pointer;z-index:3}
.hvac-hotspot__ring{width:40px;height:40px;border-radius:50%;background:rgba(230,57,70,.2);border:2px solid var(--red);display:flex;align-items:center;justify-content:center;transition:.3s;animation:hvac-pulse 2s ease-in-out infinite}
.hvac-hotspot:hover .hvac-hotspot__ring{background:rgba(230,57,70,.5);transform:scale(1.15)}
@keyframes hvac-pulse{0%,100%{box-shadow:0 0 0 0 rgba(230,57,70,.4)}50%{box-shadow:0 0 0 12px rgba(230,57,70,0)}}
.hvac-hotspot__dot{width:10px;height:10px;border-radius:50%;background:var(--red)}
.hvac-info{position:absolute;z-index:10;width:280px;padding:22px;border-radius:var(--r);opacity:0;pointer-events:none;transform:translateY(8px);transition:.35s cubic-bezier(.16,1,.3,1)}
.hvac-info.active{opacity:1;pointer-events:auto;transform:none}
.hvac-info h4{font-weight:800;font-size:15px;margin-bottom:6px;color:var(--gold)}
.hvac-info p{color:var(--muted);font-size:13px;line-height:1.55}
.hvac-info__close{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;padding:4px}
.hvac-flow{display:flex;justify-content:center;gap:12px;margin-top:24px;flex-wrap:wrap}
.hvac-flow__step{padding:12px 18px;border-radius:14px;font-size:13px;font-weight:700;display:flex;align-items:center;gap:8px;cursor:pointer;transition:.3s;background:var(--glass);border:1px solid var(--glass-border)}
.hvac-flow__step:hover,.hvac-flow__step.active{border-color:var(--gold);background:rgba(212,162,78,.08)}
.hvac-flow__step .flow-dot{width:8px;height:8px;border-radius:50%;transition:.3s}
.hvac-flow__step:nth-child(1) .flow-dot{background:#3b82f6}
.hvac-flow__step:nth-child(2) .flow-dot{background:var(--gold)}
.hvac-flow__step:nth-child(3) .flow-dot{background:var(--green)}
.hvac-flow__step:nth-child(4) .flow-dot{background:var(--red)}
/* SVG animations for airflow */
.airflow-path{stroke-dasharray:8 6;animation:airflow 1.5s linear infinite}
@keyframes airflow{to{stroke-dashoffset:-28}}
.airflow-cool{stroke:#3b82f6;opacity:.7}
.airflow-warm{stroke:var(--red);opacity:.7}
.hvac-label{font-family:var(--font);font-size:11px;font-weight:700;fill:var(--muted);text-anchor:middle}
.hvac-component{transition:.3s;cursor:pointer}
.hvac-component:hover{filter:brightness(1.3) drop-shadow(0 0 12px rgba(212,162,78,.4))}

/* ═══ PHOTO STRIP ═══ */
.strip{display:flex;gap:0;overflow:hidden;border-top:3px solid var(--red);border-bottom:3px solid var(--red);position:relative}
.strip::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--bg),transparent 10%,transparent 90%,var(--bg));pointer-events:none;z-index:1}
.strip img{flex:1;min-width:0;height:210px;object-fit:cover;filter:brightness(.82) saturate(1.15);transition:.6s cubic-bezier(.16,1,.3,1)}
.strip img:hover{filter:brightness(1.05) saturate(1.2);flex:2}

/* ═══ SECTIONS ═══ */
.sec{padding:68px 0}
.sec--alt{background:rgba(0,0,0,.18);border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}
.sec--warm{background:linear-gradient(180deg,rgba(120,30,10,.12) 0%,transparent 65%)}
.sec--glass{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.005))}
.sh{text-align:center;margin-bottom:50px}
.sh h2{font-weight:900;font-size:clamp(2.2rem,4vw,3.2rem);margin-bottom:18px;letter-spacing:-.03em;line-height:1.08;text-shadow:0 2px 40px rgba(0,0,0,.25)}
.sh p{color:rgba(200,215,235,.85);font-size:17px;max-width:600px;margin:0 auto;line-height:1.7}
.tag{display:inline-block;font-size:11px;font-weight:900;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:10px;text-shadow:0 0 20px var(--gold-glow)}

/* ═══ SERVICE CARDS ═══ */
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sc{border-radius:var(--r);padding:30px 24px;transition:.35s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;display:flex;flex-direction:column;cursor:pointer}
.sc::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--red),var(--gold),var(--red));background-size:200% 100%;opacity:0;transition:.35s}
.sc:hover{transform:translateY(-6px);border-color:rgba(224,173,74,.2) !important;box-shadow:0 20px 50px rgba(0,0,0,.4),0 0 0 1px rgba(224,173,74,.08)}
.sc:hover::before{opacity:1;animation:gradient-slide 2s linear infinite}
@keyframes gradient-slide{0%{background-position:0% center}100%{background-position:200% center}}
.sc__ic{width:50px;height:50px;border-radius:14px;margin-bottom:16px;background:rgba(240,184,64,.08);border:1px solid rgba(240,184,64,.15);display:flex;align-items:center;justify-content:center;transition:.35s cubic-bezier(.16,1,.3,1)}
.sc:hover .sc__ic{background:rgba(240,184,64,.15);border-color:rgba(240,184,64,.28);transform:scale(1.05)}
.sc__ic img{width:28px;height:28px}
.sc h3{font-weight:800;font-size:16px;margin-bottom:6px;letter-spacing:-.01em}
.sc p{color:var(--muted);font-size:13.5px;line-height:1.6;flex:1}
.sc__lnk{margin-top:14px;font-weight:700;font-size:13.5px;color:var(--gold);display:flex;align-items:center;gap:6px}
.sc__lnk::after{content:'\2192';transition:.3s cubic-bezier(.16,1,.3,1)}
.sc:hover .sc__lnk::after{transform:translateX(6px)}

/* ═══ FAMILY STORY ═══ */
.fam{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.fam__photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fam__photo{border-radius:var(--r);overflow:hidden;border:1px solid var(--glass-border);box-shadow:0 16px 50px rgba(0,0,0,.35);transition:.4s cubic-bezier(.16,1,.3,1)}
.fam__photo:hover{border-color:rgba(224,173,74,.2);box-shadow:0 20px 60px rgba(0,0,0,.45)}
.fam__photo img{width:100%;height:100%;object-fit:cover;transition:.5s cubic-bezier(.16,1,.3,1)}
.fam__photo:hover img{transform:scale(1.05)}
.fam__photo--tall{grid-row:span 2}
.fam__text h2{font-weight:900;font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:16px;letter-spacing:-.02em}
.fam__text p{color:var(--muted);font-size:16px;line-height:1.7;margin-bottom:14px}
.fam__text .sig{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--gold);margin-top:20px;text-shadow:0 0 30px rgba(224,173,74,.15)}

/* ═══ COWBOY WAY ═══ */
.cw{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.cw__img{border-radius:var(--r2);overflow:hidden;border:1px solid var(--glass-border);box-shadow:var(--shadow);transition:.4s cubic-bezier(.16,1,.3,1)}
.cw__img:hover{border-color:rgba(224,173,74,.15);box-shadow:0 24px 70px rgba(0,0,0,.5)}
.cw__img img{width:100%;transition:.5s cubic-bezier(.16,1,.3,1)}
.cw__img:hover img{transform:scale(1.02)}
.vg{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vc{padding:22px;border-radius:var(--r);transition:.3s cubic-bezier(.16,1,.3,1)}
.vc:hover{border-color:var(--glass-border-hover) !important;transform:translateY(-2px)}
.vc__l{font-weight:900;font-size:34px;color:var(--red);margin-bottom:2px;line-height:1;text-shadow:0 0 28px var(--red-glow);font-family:var(--font);letter-spacing:-.02em}
.vc h4{font-weight:800;font-size:14px;margin-bottom:4px}
.vc p{color:var(--muted);font-size:12.5px;line-height:1.55}

/* ═══ STEPS ═══ */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
.stp{border-radius:var(--r);padding:30px 22px;text-align:center;counter-increment:s;transition:.35s cubic-bezier(.16,1,.3,1)}
.stp:hover{transform:translateY(-4px);border-color:var(--glass-border-hover) !important}
.stp::before{content:counter(s);display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:16px;margin:0 auto 16px;background:linear-gradient(135deg,var(--red),var(--gold));color:#fff;font-weight:900;font-size:18px;box-shadow:0 8px 24px var(--red-glow);transition:.3s}
.stp:hover::before{box-shadow:0 12px 32px rgba(230,57,70,.45);transform:scale(1.06)}
.stp h3{font-weight:800;font-size:15px;margin-bottom:6px}
.stp p{color:var(--muted);font-size:13px;line-height:1.55}

/* ═══ DO/DON'T ═══ */
.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.dl{border-radius:var(--r);padding:32px 28px;transition:.35s cubic-bezier(.16,1,.3,1)}
.dl:hover{border-color:var(--glass-border-hover) !important}
.dl h3{font-weight:800;font-size:17px;margin-bottom:18px}
.dl li{list-style:none;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:15px;display:flex;align-items:flex-start;gap:10px;transition:.2s}
.dl li:hover{padding-left:4px}
.dl li:last-child{border:none}
.ck{color:var(--green);font-weight:900;flex-shrink:0;text-shadow:0 0 16px rgba(64,232,184,.3)}
.xk{color:var(--red);font-weight:900;flex-shrink:0;text-shadow:0 0 16px var(--red-glow)}

/* ═══ SPECIALS — APPLE CARD STYLE ═══ */
.sg{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sp{border-radius:var(--r);padding:30px 24px;position:relative;overflow:hidden;transition:.35s cubic-bezier(.16,1,.3,1);cursor:pointer}
.sp:hover{transform:translateY(-5px) rotate(.3deg);border-color:rgba(224,173,74,.2) !important;box-shadow:0 20px 50px rgba(0,0,0,.4),0 0 0 1px rgba(224,173,74,.08)}
.sp::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--red));transition:.3s}
.sp:hover::before{height:4px;box-shadow:0 2px 12px var(--gold-glow)}
.sp__amt{font-weight:900;font-size:28px;color:var(--gold);margin-bottom:4px;text-shadow:0 0 30px var(--gold-glow)}
.sp h3{font-weight:800;font-size:15px;margin-bottom:6px}
.sp p{color:var(--muted);font-size:13px;line-height:1.55}
.sp__tap{font-size:11px;font-weight:700;color:var(--gold);opacity:.4;margin-top:12px;letter-spacing:1px;text-transform:uppercase;transition:.3s}
.sp:hover .sp__tap{opacity:.8}

/* Apple Card Modal Overlay */
.coupon-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.65);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s cubic-bezier(.16,1,.3,1);padding:20px}
.coupon-overlay.active{opacity:1;pointer-events:auto}

/* Apple Card */
.coupon-card{width:100%;max-width:380px;border-radius:24px;overflow:hidden;background:linear-gradient(180deg,rgba(21,45,79,.98) 0%,rgba(17,34,64,.99) 100%);border:1px solid rgba(240,184,64,.22);box-shadow:0 40px 100px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.06),inset 0 1px 0 rgba(255,255,255,.10);transform:scale(.85) translateY(40px);transition:.45s cubic-bezier(.16,1,.3,1);position:relative}
.coupon-overlay.active .coupon-card{transform:scale(1) translateY(0)}

/* Card notch (Apple-style) */
.coupon-card::before{content:'';position:absolute;top:8px;left:50%;transform:translateX(-50%);width:40px;height:4px;border-radius:2px;background:rgba(255,255,255,.15)}

/* Card header stripe */
.coupon-card__stripe{height:6px;background:linear-gradient(90deg,var(--red),var(--gold),var(--red));background-size:200% auto;animation:gold-shimmer 4s ease-in-out infinite}

/* Card body */
.coupon-card__body{padding:40px 28px 28px;text-align:center}
.coupon-card__logo{width:48px;height:48px;margin:0 auto 16px;border-radius:14px;background:linear-gradient(135deg,rgba(224,173,74,.12),rgba(230,57,70,.08));border:1px solid rgba(224,173,74,.2);display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--gold)}
.coupon-card__amount{font-weight:900;font-size:clamp(2.4rem,8vw,3.2rem);color:var(--gold);text-shadow:0 0 50px var(--gold-glow);letter-spacing:-.03em;line-height:1;margin-bottom:6px;background:linear-gradient(135deg,#f0b840 0%,#ffd770 40%,#f0b840 60%,#e4ac38 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gold-shimmer 4s ease-in-out infinite}
.coupon-card__title{font-weight:800;font-size:18px;margin-bottom:12px;letter-spacing:-.01em;color:var(--text)}
.coupon-card__desc{color:var(--muted);font-size:14px;line-height:1.7;margin-bottom:20px}
.coupon-card__divider{height:1px;background:linear-gradient(90deg,transparent,rgba(224,173,74,.15),transparent);margin:20px 0}
.coupon-card__details{font-size:12px;color:var(--dim);line-height:1.6;margin-bottom:20px}
.coupon-card__cta{display:block;width:100%;padding:16px;border-radius:14px;background:linear-gradient(135deg,#EF4050,#de3545);color:#fff;font-weight:800;font-size:16px;text-align:center;border:none;cursor:pointer;box-shadow:0 6px 24px var(--red-glow);transition:.3s;text-decoration:none;margin-bottom:10px}
.coupon-card__cta:hover{transform:translateY(-2px);box-shadow:0 10px 36px rgba(239,64,80,.5)}
.coupon-card__close{display:block;width:100%;padding:12px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--muted);font-weight:700;font-size:14px;cursor:pointer;transition:.3s;text-align:center}
.coupon-card__close:hover{background:rgba(255,255,255,.12);color:var(--text)}
.coupon-card__badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:rgba(224,173,74,.08);border:1px solid rgba(224,173,74,.12);font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
@media(max-width:640px){
  .coupon-card{max-width:340px;border-radius:20px}
  .coupon-card__body{padding:36px 22px 22px}
  .coupon-card__amount{font-size:2.4rem}
}

/* ═══ TEAM (action shots grid) ═══ */

/* ═══ PORTAL SHOWCASE ═══ */
.portal{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.portal__phone{max-width:340px;margin:0 auto;filter:drop-shadow(0 30px 60px rgba(0,0,0,.5));animation:float 5s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.portal__phone img{width:100%;border-radius:var(--r2)}
.portal__feats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.pf{padding:20px;border-radius:var(--r);transition:.3s cubic-bezier(.16,1,.3,1)}
.pf:hover{border-color:var(--glass-border-hover) !important;transform:translateY(-2px)}
.pf h4{font-weight:800;font-size:14px;margin-bottom:4px}
.pf p{color:var(--muted);font-size:12.5px;line-height:1.5}

/* ═══ FLEET BANNER ═══ */
.fleet{position:relative;padding:85px 0;overflow:hidden}
.fleet__bg{position:absolute;inset:0}
.fleet__bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.3) saturate(1.1)}
.fleet__bg::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(17,34,64,.94) 0%,rgba(17,34,64,.6) 50%,rgba(17,34,64,.4) 100%)}
.fleet .w{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.fleet__truck{max-width:400px;filter:drop-shadow(0 24px 50px rgba(0,0,0,.6));animation:float 4.5s ease-in-out infinite}

/* ═══ FAQ ═══ */
.faq{max-width:780px;margin:0 auto}
.faq__item{border-bottom:1px solid rgba(255,255,255,.06);overflow:hidden;transition:.2s}
.faq__item:hover{border-color:rgba(255,255,255,.1)}
.faq__q{display:flex;justify-content:space-between;align-items:center;padding:22px 0;cursor:pointer;font-weight:700;font-size:16px;transition:.25s cubic-bezier(.16,1,.3,1);gap:16px}
.faq__q:hover{color:var(--gold);padding-left:6px}
.faq__q::after{content:'+';font-size:22px;font-weight:300;color:var(--muted);transition:.35s cubic-bezier(.16,1,.3,1);flex-shrink:0}
.faq__item.open .faq__q::after{transform:rotate(45deg);color:var(--gold)}
.faq__item.open .faq__q{color:var(--gold)}
.faq__a{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.16,1,.3,1),padding .45s cubic-bezier(.16,1,.3,1)}
.faq__item.open .faq__a{max-height:300px;padding-bottom:22px}
.faq__a p{color:var(--muted);font-size:15px;line-height:1.7}

/* ═══ PARTNERS ═══ */
.partners{display:flex;align-items:center;justify-content:center;gap:44px;flex-wrap:wrap}
.partners img{height:50px;opacity:.6;filter:grayscale(.3) brightness(1.1);transition:.4s cubic-bezier(.16,1,.3,1)}
.partners img:hover{opacity:1;filter:grayscale(0) brightness(1.15);transform:scale(1.08)}

/* ═══ AREAS ═══ */
.areas{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}
.ac{padding:12px 14px;border-radius:12px;font-weight:600;font-size:13.5px;text-align:center;transition:.25s cubic-bezier(.16,1,.3,1);background:var(--glass);border:1px solid var(--glass-border)}
.ac:hover{border-color:var(--gold);background:rgba(240,184,64,.08);transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.18)}

/* ═══ FINANCING ═══ */
.fin{border-radius:var(--r2);padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;position:relative;overflow:hidden}
.fin::before{content:'';position:absolute;inset:-1px;border-radius:calc(var(--r2) + 1px);background:linear-gradient(135deg,rgba(230,57,70,.2),rgba(224,173,74,.25),rgba(75,150,245,.15));z-index:-1}
.fin ul{list-style:none}
.fin li{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:15px;display:flex;align-items:center;gap:10px;transition:.2s}
.fin li:hover{padding-left:4px;border-color:rgba(255,255,255,.1)}
.fin li:last-child{border:none}

/* ═══ CTA BANNER ═══ */
.cta-b{padding:80px 0;text-align:center;background:linear-gradient(135deg,rgba(230,57,70,.16),rgba(224,173,74,.14),rgba(75,150,245,.08));background-size:300% 300%;animation:cta-gradient 8s ease infinite;border-top:1px solid rgba(230,57,70,.12);border-bottom:1px solid rgba(224,173,74,.12);position:relative;overflow:hidden}
@keyframes cta-gradient{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.cta-b::before{content:'';position:absolute;inset:0;background:radial-gradient(600px circle at 30% 50%,rgba(230,57,70,.08),transparent),radial-gradient(600px circle at 70% 50%,rgba(224,173,74,.08),transparent);pointer-events:none}
.cta-b::after{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='1' cy='1' r='.5' fill='rgba(255,255,255,.025)'/%3E%3C/svg%3E");pointer-events:none}
.cta-b h2{font-weight:900;font-size:clamp(1.8rem,3.2vw,2.6rem);margin-bottom:14px;letter-spacing:-.02em;position:relative}
.cta-b p{color:var(--muted);font-size:17px;max-width:520px;margin:0 auto 28px;position:relative}

/* ═══ CONTACT ═══ */
.con{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.conCard{border-radius:var(--r2);padding:36px 30px}
.conRow{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;transition:.2s}
.conRow:hover{padding-left:4px}
.conIc{width:44px;height:44px;border-radius:12px;flex-shrink:0;background:rgba(240,184,64,.08);border:1px solid rgba(240,184,64,.15);display:flex;align-items:center;justify-content:center;transition:.35s cubic-bezier(.16,1,.3,1)}
.conRow:hover .conIc{background:rgba(240,184,64,.14);border-color:rgba(240,184,64,.28);transform:scale(1.04)}
.conIc img{width:22px}
.conLbl{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}
.conVal{font-weight:600;font-size:15px}
.conLnk{color:var(--gold);font-weight:700;transition:.2s}
.conLnk:hover{text-shadow:0 0 16px var(--gold-glow)}
.conBig{margin-top:20px;padding:26px;border-radius:var(--r);background:rgba(224,173,74,.05);border:1px solid rgba(224,173,74,.12)}
.conBigLine{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.conBigLine:last-child{margin:0}
.conBigLbl{font-size:13px;color:var(--muted);font-weight:700;min-width:90px}
.conBigNum{font-weight:900;font-size:22px;color:var(--gold);text-shadow:0 0 24px var(--gold-glow)}
.conBtns{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.mapCard{border-radius:var(--r2);overflow:hidden;border:1px solid var(--glass-border);min-height:440px;transition:.3s}
.mapCard:hover{border-color:var(--glass-border-hover)}
.mapCard iframe{width:100%;height:100%;border:0;min-height:440px}

/* ═══ FOOTER ═══ */
.ft{background:rgba(0,0,0,.35);border-top:1px solid rgba(255,255,255,.08);padding:55px 0 28px}
.ft__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px}
.ft__brand{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.ft__brand img{height:44px;transition:.3s}
.ft__brand:hover img{filter:drop-shadow(0 0 12px rgba(224,173,74,.25))}
.ft__txt{color:var(--muted);font-size:13.5px;line-height:1.65}
.ft h4{font-weight:800;font-size:12px;margin-bottom:14px;text-transform:uppercase;letter-spacing:2px;color:var(--gold)}
.ft ul{list-style:none}
.ft li{margin-bottom:7px}
.ft li a{color:var(--muted);font-size:13.5px;transition:.25s}
.ft li a:hover{color:var(--gold);padding-left:3px}
.ft__social{display:flex;gap:9px;margin-top:14px}
.ft__social a{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:.3s cubic-bezier(.16,1,.3,1)}
.ft__social a:hover{background:rgba(240,184,64,.14);border-color:rgba(240,184,64,.32);transform:translateY(-3px);box-shadow:0 6px 16px rgba(0,0,0,.2)}
.ft__social img{width:16px;opacity:.65}
.ft__bot{margin-top:32px;padding-top:18px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;color:rgba(176,192,212,.45)}

/* ═══ STICKY CTA (MOBILE) ═══ */
.sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:99;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));background:rgba(17,34,64,.96);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border-top:1px solid rgba(255,255,255,.12);gap:8px;box-shadow:0 -8px 30px rgba(0,0,0,.35)}
.sticky-cta a{flex:1;text-align:center;padding:15px;border-radius:14px;font-weight:800;font-size:15px;min-height:48px;display:flex;align-items:center;justify-content:center}

/* ═══ iOS / MOBILE POLISH ═══ */
@supports(padding:env(safe-area-inset-bottom)){
  .ft{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
}
/* Prevent iOS text zoom */
input,select,textarea{font-size:16px}
/* Smooth scrolling iOS */
html{-webkit-overflow-scrolling:touch}
/* Prevent iOS callout on long press */
.btn,.nav a,.sticky-cta a{-webkit-touch-callout:none}
/* Better touch targets everywhere */
.btn{min-height:48px;min-width:48px}
.nav a{min-height:44px;display:flex;align-items:center}
.faq__q{min-height:48px}
.tl{min-height:36px;display:inline-flex;align-items:center}
/* iOS video fix */
video{-webkit-playsinline:true}

/* ═══ RESPONSIVE ═══ */
@media(max-width:960px){
  .hero__grid,.fam,.cw,.portal,.con,.fin{grid-template-columns:1fr}
  .hero__vid{max-width:500px;margin:0 auto}
  .fam__photos{max-width:500px;margin:0 auto}
  .cw__img{max-width:400px;margin:0 auto}
  .portal__phone{max-width:260px}
  .g3,.sg{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr}
  .fleet .w{grid-template-columns:1fr;text-align:center}
  .fleet .w p{margin-left:auto;margin-right:auto}
  .fleet__truck{max-width:280px;margin:20px auto 0}
  .ft__grid{grid-template-columns:1fr 1fr}
  .work-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:180px}
  .work-gallery__item--wide{grid-column:span 2;grid-row:span 2}
  .hvac-house{aspect-ratio:4/3}
  .hvac-info{width:220px;font-size:12px;padding:16px}
  .hvac-flow{gap:8px}
  .hvac-flow__step{padding:10px 14px;font-size:12px}
  /* Slide animations become fade on tablet */
  .anim--left,.anim--right{transform:translateY(24px)}
}
@media(max-width:768px){
  .hero__grid{grid-template-columns:1fr;text-align:center}
  .hero__sub{margin-left:auto;margin-right:auto}
  .hero__cta{justify-content:center}
  .hero__vid{max-width:440px;margin:0 auto}
  .g3,.sg{grid-template-columns:1fr 1fr}
  .fam,.cw,.portal,.con,.fin{grid-template-columns:1fr}
  .ft__grid{grid-template-columns:1fr 1fr}
  .reviews{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .split{gap:16px}
  .dl{padding:26px 22px}
  .fin{padding:32px 24px;gap:28px}
  .partners{gap:28px}
  .partners img{height:42px}
}
@media(max-width:640px){
  /* NAV */
  .nav{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(17,34,64,.98);flex-direction:column;padding:80px 24px env(safe-area-inset-bottom,40px);gap:4px;backdrop-filter:blur(30px) saturate(1.6);-webkit-backdrop-filter:blur(30px) saturate(1.6);z-index:99;justify-content:flex-start;align-items:center;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:max(80px,env(safe-area-inset-top,80px))}
  .nav.on{display:flex}
  .nav a{padding:14px 20px;font-size:17px;border-radius:14px;width:100%;text-align:center;max-width:320px;flex-shrink:0}
  .nav .cta{margin-top:8px;padding:16px 24px;font-size:17px;flex-shrink:0}
  .ham{display:flex;z-index:101;position:relative}

  /* HERO */
  .hero{min-height:auto;padding-top:8px}
  h1{font-size:2.2rem;line-height:1.08}
  .hero__sub{font-size:16px;line-height:1.6}
  .hero__cta{flex-direction:column;gap:10px}
  .hero__cta .btn{width:100%;justify-content:center;font-size:16px;padding:18px;border-radius:16px}
  .hero__badge{font-size:11px;padding:6px 14px}
  .hero__stats{flex-direction:column;border-radius:var(--r);gap:0}
  .hero__stat{border-right:none !important;border-bottom:1px solid var(--glass-border);padding:14px 20px}
  .hero__stat:last-child{border:none}
  .hero__stat strong{font-size:22px}

  /* GRIDS */
  .g3,.sg,.steps,.vg{grid-template-columns:1fr}

  /* SECTIONS */
  .sec{padding:50px 0}
  .sh{margin-bottom:36px}
  .sh h2{font-size:1.7rem}
  .sh p{font-size:15px}
  .tag{font-size:10px;letter-spacing:2.5px}
  .tag::after{width:18px !important}

  /* CARDS — full-width, tappable */
  .sc{padding:24px 20px;border-radius:16px}
  .sc h3{font-size:15px}
  .sc p{font-size:13px}
  .sc__lnk{font-size:14px;padding:8px 0}

  /* SPECIALS — bigger deal feel on mobile */
  .sp{padding:24px 20px;border-radius:16px}
  .sp__amt{font-size:24px}

  /* STEPS */
  .stp{padding:24px 18px}
  .stp::before{width:44px;height:44px}

  /* PHOTOS */
  .strip img{height:120px}
  .work-gallery{grid-template-columns:1fr;grid-auto-rows:220px;gap:10px}
  .work-gallery__item--wide{grid-column:span 1;grid-row:span 1}
  .work-gallery__item{border-radius:14px}
  .fam__photos{grid-template-columns:1fr}
  .fam__photo--tall{grid-row:span 1}
  .fam__photo{border-radius:14px}

  /* PORTAL */
  .portal__feats{grid-template-columns:1fr}
  .portal__phone{max-width:220px}

  /* CONTACT */
  .conBigNum{font-size:20px}
  .conBtns{flex-direction:column;gap:10px}
  .conBtns .btn{width:100%;justify-content:center;padding:16px;font-size:16px;border-radius:16px}
  .mapCard{min-height:280px;border-radius:16px}
  .mapCard iframe{min-height:280px}

  /* HVAC INTERACTIVE */
  .hvac-house{aspect-ratio:3/4;border-radius:14px}
  .hvac-hotspot__ring{width:36px;height:36px}
  .hvac-info{width:calc(100% - 32px);max-width:280px;padding:16px;font-size:12px;left:50% !important;top:auto !important;bottom:16px;transform:translateX(-50%) translateY(8px)}
  .hvac-info.active{transform:translateX(-50%) translateY(0)}
  .hvac-flow{flex-direction:column;align-items:stretch}
  .hvac-flow__step{width:100%;justify-content:center;padding:14px 18px;font-size:14px;border-radius:14px}

  /* FINANCING */
  .fin{padding:28px 20px;border-radius:16px}
  .fin li{font-size:14px;padding:12px 0}

  /* CTA BANNER */
  .cta-b{padding:50px 0}
  .cta-b h2{font-size:1.5rem}
  .cta-b .btn{width:100%;max-width:320px;padding:18px;font-size:16px}

  /* FAQ */
  .faq__q{font-size:15px;padding:18px 0}
  .faq__a p{font-size:14px}

  /* FOOTER */
  .ft__grid{grid-template-columns:1fr}
  .ft__grid>div{text-align:center}
  .ft__social{justify-content:center}
  .ft__brand{justify-content:center}
  .ft{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}

  /* TOPBAR */
  .topbar__r{display:none}
  .topbar .w{justify-content:center}
  .topbar{padding:6px 0}
  .tl{font-size:11px;padding:4px 10px}

  /* STICKY CTA */
  .sticky-cta{display:flex}
  .sticky-cta a{border-radius:14px;font-size:16px;padding:16px}

  /* LOGO */
  .logo{height:38px}

  /* TRUST MARQUEE */
  .trust-marquee__item{font-size:12px;gap:8px}

  /* Animations — simpler on mobile for perf */
  .anim--left,.anim--right{transform:translateY(20px)}
  .anim{transform:translateY(20px)}
  .anim--blur{filter:blur(6px)}

  /* PARTNERS — tighter on mobile */
  .partners{gap:24px}
  .partners img{height:38px}

  /* AREAS — 2-column on mobile */
  .areas{grid-template-columns:1fr 1fr;gap:8px}
  .ac{font-size:12.5px;padding:10px 12px}

  /* REVIEWS — better card spacing */
  .review{padding:22px 18px;border-radius:16px}
  .review__text{font-size:14px}

  /* TAGLINE BAR */
  .tagline-bar{padding:28px 16px}
  .tagline-bar__text{font-size:clamp(1.1rem,4vw,1.4rem)}

  /* ALAMO BANNER */
  .alamo-banner{padding:28px 16px}
  .alamo-banner__text{font-size:clamp(1rem,3.5vw,1.4rem)}

  /* COWBOYS BAR */
  .cowboys-bar{padding:20px 16px}
  .cowboys-bar__inner{gap:14px}
  .cowboys-bar__text{font-size:clamp(.9rem,2.5vw,1.2rem)}

  /* Better scroll-progress visibility */
  .scroll-progress{height:2px}
}

/* ═══ TESTIMONIALS ═══ */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review{border-radius:var(--r);padding:28px 24px;position:relative;display:flex;flex-direction:column}
.review__stars{color:var(--gold);font-size:16px;letter-spacing:3px;margin-bottom:12px;filter:drop-shadow(0 0 6px rgba(224,173,74,.3))}
.review__text{color:var(--muted);font-size:14.5px;line-height:1.7;flex:1;font-style:italic;margin-bottom:16px}
.review__text::before{content:'\201C';font-size:36px;font-family:var(--serif);color:var(--gold);opacity:.35;line-height:0;vertical-align:-14px;margin-right:4px}
.review__author{display:flex;align-items:center;gap:10px}
.review__avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--gold));display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;color:#fff;flex-shrink:0}
.review__name{font-weight:700;font-size:13px}
.review__src{font-size:11px;color:var(--dim);font-weight:600}
.review__badge{position:absolute;top:14px;right:14px;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--gold);opacity:.5}
@media(max-width:960px){.reviews{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.reviews{grid-template-columns:1fr}}

/* ═══ TAGLINE BAR ═══ */
.tagline-bar{padding:40px 0;text-align:center;position:relative;overflow:hidden;border-top:1px solid rgba(224,173,74,.1);border-bottom:1px solid rgba(224,173,74,.1)}
.tagline-bar::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(230,57,70,.06),rgba(224,173,74,.06));pointer-events:none}
.tagline-bar__text{font-family:var(--serif);font-weight:900;font-size:clamp(1.4rem,3vw,2.2rem);font-style:italic;letter-spacing:-.02em;position:relative}
.tagline-bar__text .accent{color:var(--gold);text-shadow:0 0 40px var(--gold-glow)}
.tagline-bar__sub{font-size:14px;color:var(--muted);margin-top:6px;font-weight:600;letter-spacing:.02em;position:relative}

/* ═══ TRUST MARQUEE ═══ */
.trust-marquee{overflow:hidden;padding:16px 0;background:rgba(0,0,0,.25);border-bottom:1px solid rgba(255,255,255,.04);position:relative}
.trust-marquee__track{display:flex;gap:48px;animation:marquee 30s linear infinite;width:max-content}
.trust-marquee__item{display:flex;align-items:center;gap:10px;font-weight:700;font-size:13px;color:var(--muted);white-space:nowrap;letter-spacing:.02em}
.trust-marquee__item .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);opacity:.5;flex-shrink:0}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ═══ COWBOYS BRAND SYSTEM ═══ */

/* ── Lone Star Divider ── */
.texas-divider{text-align:center;padding:20px 0;font-size:16px;letter-spacing:16px;color:rgba(224,173,74,.35);user-select:none;position:relative}
.texas-divider::before,.texas-divider::after{content:'';position:absolute;top:50%;height:1px;width:calc(50% - 60px);background:linear-gradient(90deg,transparent,rgba(224,173,74,.15))}
.texas-divider::before{left:0}
.texas-divider::after{right:0;background:linear-gradient(270deg,transparent,rgba(224,173,74,.15))}
.gold-line{height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.18;margin:0}

/* ── Cowboys Brand Stamp (reusable) ── */
.brand-stamp{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:900;font-style:italic;color:var(--gold);font-size:14px;letter-spacing:.5px;text-shadow:0 0 30px var(--gold-glow)}
.brand-stamp::before,.brand-stamp::after{content:'\2605';font-size:10px;opacity:.5;font-style:normal}

/* ── Cowboys Branded Tag (replaces generic .tag) ── */
.tag{display:inline-flex;align-items:center;gap:0;font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.tag::before{content:'\2605';font-size:9px;margin-right:10px;opacity:.6}
.tag::after{content:'';display:inline-block;width:24px;height:3px;background:linear-gradient(90deg,var(--gold),transparent);margin-left:10px;vertical-align:middle;border-radius:2px}

/* ── Cowboys Section Brand Bar ── */
.cowboys-bar{position:relative;padding:28px 0;text-align:center;background:linear-gradient(135deg,rgba(230,57,70,.08),rgba(224,173,74,.06),rgba(230,57,70,.04));border-top:2px solid rgba(224,173,74,.12);border-bottom:2px solid rgba(224,173,74,.12);overflow:hidden}
.cowboys-bar::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Ctext x='40' y='45' text-anchor='middle' font-size='12' fill='rgba(224,173,74,0.04)'%3E%E2%98%85%3C/text%3E%3C/svg%3E");pointer-events:none}
.cowboys-bar__inner{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}
.cowboys-bar__text{font-family:var(--serif);font-weight:900;font-style:italic;font-size:clamp(1.1rem,2.2vw,1.6rem);color:var(--gold);text-shadow:0 0 40px var(--gold-glow);letter-spacing:.01em}
.cowboys-bar__star{font-size:18px;color:var(--red);opacity:.6;text-shadow:0 0 12px var(--red-glow)}

/* ── Branded Rope Border (for premium sections) ── */
.rope-border{position:relative}
.rope-border::before{content:'';position:absolute;top:-1px;left:5%;right:5%;height:3px;background:repeating-linear-gradient(90deg,var(--gold) 0px,var(--gold) 8px,transparent 8px,transparent 14px,var(--red) 14px,var(--red) 22px,transparent 22px,transparent 28px);opacity:.15;border-radius:2px}

/* ── Cowboys Star Watermark (background accent) ── */
.star-watermark{position:relative;overflow:hidden}
.star-watermark::after{content:'\2605';position:absolute;font-size:clamp(200px,30vw,400px);color:rgba(224,173,74,.018);font-weight:900;pointer-events:none;z-index:0;right:-5%;top:50%;transform:translateY(-50%);line-height:1}

/* ── Cowboys Brand Badge ── */
.cowboys-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px 6px 8px;border-radius:999px;background:linear-gradient(135deg,rgba(230,57,70,.12),rgba(224,173,74,.08));border:1px solid rgba(224,173,74,.18);font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--gold)}
.cowboys-badge img{height:20px;width:20px;border-radius:4px}
.cowboys-badge .badge-star{color:var(--red);margin-right:2px}

/* Warm glow on interactive hover */
.glass:hover{box-shadow:0 24px 70px rgba(0,0,0,.5),0 0 0 1px rgba(224,173,74,.06)}
/* Star bullet accent for links */
.sc__lnk::before{content:'\2605';font-size:10px;color:var(--gold);opacity:.5;margin-right:2px}
/* Subtle text selection color — Cowboys red */
::selection{background:rgba(230,57,70,.25);color:#fff}
::-moz-selection{background:rgba(230,57,70,.25);color:#fff}

/* ── Hero Entrance After Loader ── */
.hero-entrance .hero__badge,.hero-entrance .hero__stars,.hero-entrance h1,.hero-entrance .hero__sub,.hero-entrance .hero__cta,.hero-entrance .hero__stats,.hero-entrance .hero__vid{opacity:0;transform:translateY(28px);animation:hero-stagger .8s cubic-bezier(.16,1,.3,1) forwards}
.hero-entrance .hero__badge{animation-delay:.05s}
.hero-entrance .hero__stars{animation-delay:.12s}
.hero-entrance h1{animation-delay:.2s}
.hero-entrance .hero__sub{animation-delay:.32s}
.hero-entrance .hero__cta{animation-delay:.42s}
.hero-entrance .hero__stats{animation-delay:.55s}
.hero-entrance .hero__vid{animation-delay:.35s;transform:translateY(28px) scale(.96)}
@keyframes hero-stagger{to{opacity:1;transform:translateY(0) scale(1)}}

/* ── Section Scroll Reveal Polish ── */
.reveal-section{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal-section.visible{opacity:1;transform:none}

/* ── Smooth Divider Between Sections ── */
.sec-glow{position:relative}
.sec-glow::before{content:'';position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(224,173,74,.12),transparent)}

/* ═══════════════════════════════════════════════════════════
   PREMIUM INTERACTIVE LAYER — CURSOR EFFECTS / 3D / REVEALS
   ═══════════════════════════════════════════════════════════ */

/* ── 1. CURSOR SPOTLIGHT — warm gold glow follows mouse ── */
.cursor-glow{position:fixed;pointer-events:none;z-index:1;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(224,173,74,.045) 0%,rgba(224,173,74,.015) 30%,transparent 65%);transform:translate(-50%,-50%);transition:opacity .4s;opacity:0;mix-blend-mode:screen}
.cursor-glow.active{opacity:1}
@media(max-width:768px){.cursor-glow{display:none}}

/* ── 2. SCROLL PROGRESS BAR ── */
.scroll-progress{position:fixed;top:0;left:0;height:3px;z-index:9999;background:linear-gradient(90deg,var(--red),var(--gold),#4b96f5);border-radius:0 2px 2px 0;transition:none;box-shadow:0 0 12px rgba(224,173,74,.4),0 0 4px rgba(230,57,70,.3);transform-origin:left;transform:scaleX(0)}

/* ── 3. 3D PERSPECTIVE TILT — cards respond to cursor ── */
.tilt-card{transform-style:preserve-3d;transition:transform .15s ease-out,box-shadow .3s ease}
.tilt-card>*{transform:translateZ(0)}
.tilt-card .tilt-shine{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%),rgba(255,255,255,.08) 0%,transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:5}
.tilt-card:hover .tilt-shine{opacity:1}

/* ── 4. TEXT DECODE — CLEAN TYPEWRITER PRINT ── */
.text-decode{position:relative;overflow:visible}
.text-decode .word{display:inline-block;white-space:nowrap}
.text-decode .char{display:inline-block;opacity:0}
.text-decode.decoded .char.revealed{opacity:1}
.text-decode .space{display:inline;width:.3em}
/* Mobile — instant word-by-word reveal */
@media(max-width:768px){
  .text-decode .word{opacity:0;transition:opacity .4s ease}
  .text-decode.decoded .word{opacity:1}
  .text-decode .char{opacity:1!important}
}

/* ── 5. MAGNETIC BUTTONS ── */
.magnetic-btn{transition:transform .25s cubic-bezier(.16,1,.3,1)}
@media(max-width:768px){.magnetic-btn{transition:none !important}}

/* ── 6. IMAGE CLIP-REVEAL on scroll ── */
.clip-reveal{clip-path:inset(0 100% 0 0);transition:clip-path 1.2s cubic-bezier(.16,1,.3,1)}
.clip-reveal.revealed{clip-path:inset(0 0 0 0)}
.clip-reveal--right{clip-path:inset(0 0 0 100%)}
.clip-reveal--right.revealed{clip-path:inset(0 0 0 0)}
.clip-reveal--up{clip-path:inset(100% 0 0 0)}
.clip-reveal--up.revealed{clip-path:inset(0 0 0 0)}
.clip-reveal.v,.clip-reveal--right.v,.clip-reveal--up.v{clip-path:inset(0 0 0 0)}

/* ── 7. PARALLAX DEPTH ── */
.parallax-layer{will-change:transform;transition:transform .1s linear}

/* ── 8. GLOW BORDER ON SCROLL (cards get gold edge as you scroll past) ── */
.glow-border{position:relative;overflow:hidden}
.glow-border::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg at 50% 50%,transparent 0%,rgba(224,173,74,.3) 5%,transparent 10%,transparent 100%);opacity:0;transition:opacity .5s;animation:glow-spin 4s linear infinite paused;z-index:-1}
.glow-border:hover::before{opacity:1;animation-play-state:running}
@keyframes glow-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}

/* ── 9. STAT COUNTER PARTICLES ── */
.stat-burst{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.stat-burst span{position:absolute;width:4px;height:4px;border-radius:50%;opacity:0}

/* ── 10. SMOOTH SCROLL INDICATOR (scroll down arrow) ── */
.scroll-hint{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.5;animation:scroll-hint-bob 2s ease-in-out infinite}
.scroll-hint__text{font-size:10px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--muted)}
.scroll-hint__arrow{width:24px;height:24px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg);opacity:.6}
@keyframes scroll-hint-bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}
.scroll-hint.hidden{opacity:0;pointer-events:none;transition:opacity .5s}
/* Link underline animation */
.conLnk{text-decoration:none;background-image:linear-gradient(var(--gold),var(--gold));background-size:0 2px;background-position:0 100%;background-repeat:no-repeat;transition:.3s}
.conLnk:hover{background-size:100% 2px}

/* ── Cowboys Identity in Cards ── */
.sc::after{content:'\2605';position:absolute;top:14px;right:14px;font-size:10px;color:var(--gold);opacity:0;transition:.35s;text-shadow:0 0 8px var(--gold-glow)}
.sc:hover::after{opacity:.4}
/* Specials brand mark */
.sp__brand{position:absolute;bottom:12px;right:14px;font-family:var(--serif);font-style:italic;font-size:10px;color:var(--gold);opacity:.2;letter-spacing:.5px}

/* ── HVAC Branded Steps Numbers ── */
.stp::before{background:linear-gradient(135deg,var(--red),#c02030);position:relative}
.stp::after{content:'\2605';position:absolute;top:8px;right:12px;font-size:10px;color:var(--gold);opacity:.15}
.stp{position:relative}

/* ── Cowboys Footer Brand ── */
.ft__brand-tagline{font-family:var(--serif);font-style:italic;font-size:13px;color:var(--gold);opacity:.5;margin-top:6px;text-shadow:0 0 20px var(--gold-glow)}

/* ═══ EMBROIDERY → DIGITAL BRAND REVEAL ═══ */
.brand-reveal{position:relative;padding:80px 0;text-align:center;overflow:hidden;background:linear-gradient(180deg,rgba(0,0,0,.3) 0%,rgba(14,29,50,.95) 30%,rgba(14,29,50,.95) 70%,rgba(0,0,0,.3) 100%);border-top:2px solid rgba(224,173,74,.1);border-bottom:2px solid rgba(224,173,74,.1)}
/* Fabric texture background */
.brand-reveal::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M0 0L8 8M8 0L0 8' stroke='rgba(255,255,255,0.015)' stroke-width='.5'/%3E%3C/svg%3E");pointer-events:none;z-index:0}
/* Subtle star pattern bg */
.brand-reveal::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Ctext x='60' y='65' text-anchor='middle' font-size='16' fill='rgba(224,173,74,0.025)'%3E%E2%98%85%3C/text%3E%3C/svg%3E");pointer-events:none;z-index:0}
.brand-reveal .w{position:relative;z-index:1}

.brand-reveal__logo-wrap{position:relative;display:inline-block;max-width:420px;width:80%;margin:0 auto}
/* The stitched (embroidery) version */
.brand-reveal__stitch{position:relative;transition:opacity 1.8s cubic-bezier(.16,1,.3,1),filter 1.8s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1)}
.brand-reveal__stitch img{width:100%;display:block;filter:contrast(1.1) saturate(.85)}
/* Stitch overlay texture — dense diagonal thread lines mimicking embroidery */
.brand-reveal__stitch::before{content:'';position:absolute;inset:0;z-index:2;background:repeating-linear-gradient(45deg,transparent,transparent 1.5px,rgba(255,255,255,.06) 1.5px,rgba(255,255,255,.06) 2.5px),repeating-linear-gradient(-45deg,transparent,transparent 1.5px,rgba(255,255,255,.04) 1.5px,rgba(255,255,255,.04) 2.5px),repeating-linear-gradient(90deg,transparent,transparent 3px,rgba(224,173,74,.02) 3px,rgba(224,173,74,.02) 4px);mix-blend-mode:overlay;pointer-events:none;transition:opacity 1.5s ease .4s}
/* Fabric border — stitched edge feel */
.brand-reveal__stitch::after{content:'';position:absolute;inset:-6px;z-index:1;border:3px dashed rgba(224,173,74,.25);border-radius:12px;transition:opacity 1.2s ease .2s,border-color .6s}
/* Rough edge shadow for depth */
.brand-reveal__stitch img{filter:drop-shadow(1px 1px 0 rgba(0,0,0,.3)) drop-shadow(-1px -1px 0 rgba(0,0,0,.15));transition:filter 1.8s cubic-bezier(.16,1,.3,1)}

/* The clean digital version — overlaid on top, fades in */
.brand-reveal__digital{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:3;opacity:0;transition:opacity 1.5s cubic-bezier(.16,1,.3,1) .6s}
.brand-reveal__digital img{width:100%;filter:drop-shadow(0 10px 40px rgba(224,173,74,.2)) drop-shadow(0 4px 16px rgba(0,0,0,.5));transform:scale(.97);transition:transform 1.2s cubic-bezier(.16,1,.3,1) .8s}

/* ── REVEALED STATE (triggered by IntersectionObserver) ── */
.brand-reveal__logo-wrap.revealed .brand-reveal__stitch{opacity:0;filter:blur(3px);transform:scale(1.02)}
.brand-reveal__logo-wrap.revealed .brand-reveal__stitch::before{opacity:0}
.brand-reveal__logo-wrap.revealed .brand-reveal__stitch::after{opacity:0}
.brand-reveal__logo-wrap.revealed .brand-reveal__digital{opacity:1}
.brand-reveal__logo-wrap.revealed .brand-reveal__digital img{transform:scale(1)}

/* Tag above the logo */
.brand-reveal__tag{font-size:10px;font-weight:800;letter-spacing:4px;text-transform:uppercase;color:var(--gold);opacity:.6;margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:12px}
.brand-reveal__tag::before,.brand-reveal__tag::after{content:'';width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--gold));opacity:.3}
.brand-reveal__tag::after{background:linear-gradient(270deg,transparent,var(--gold))}

/* Tagline below */
.brand-reveal__tagline{font-family:var(--serif);font-style:italic;font-weight:700;font-size:clamp(1rem,2vw,1.3rem);color:var(--muted);margin-top:24px;opacity:0;transform:translateY(14px);transition:opacity 1s ease 1.4s,transform 1s cubic-bezier(.16,1,.3,1) 1.4s}
.brand-reveal__logo-wrap.revealed ~ .brand-reveal__tagline{opacity:1;transform:none}
.brand-reveal__tagline .accent{color:var(--gold);text-shadow:0 0 30px var(--gold-glow)}

/* Label for effect */
.brand-reveal__label{font-size:11px;color:var(--dim);margin-top:10px;opacity:0;transition:opacity 1s ease 2s;font-weight:600;letter-spacing:.5px}
.brand-reveal__logo-wrap.revealed ~ .brand-reveal__label{opacity:.5}

@media(max-width:640px){
  .brand-reveal{padding:50px 0}
  .brand-reveal__logo-wrap{max-width:300px;width:85%}
  .brand-reveal__stitch::after{inset:-4px;border-width:2px}
}

/* ═══ PREMIUM MICRO-INTERACTIONS ═══ */

/* ── Scanline overlay on video (CRT feel) ── */
.hero__vid::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.04) 2px,rgba(0,0,0,.04) 4px);pointer-events:none;z-index:1;animation:scanflicker 8s ease-in-out infinite}
@keyframes scanflicker{0%,100%{opacity:.6}50%{opacity:.3}}

/* ── Noise texture overlay — combined with dot pattern ── */

/* ── Tilt on hover for cards ── */
.sc:hover{transform:translateY(-6px) rotate(-.3deg)}
.sp:hover{transform:translateY(-5px) rotate(.3deg)}
.stp:hover{transform:translateY(-4px) rotate(-.2deg)}
.vc:hover{transform:translateY(-2px) rotate(-.2deg)}
.pf:hover{transform:translateY(-2px) rotate(.2deg)}

/* ── Glowing text on section headers ── */
.sh h2{text-shadow:0 0 60px rgba(255,255,255,.04)}

/* ── Animated underline on nav hover ── */
.nav a{position:relative}
.nav a::after{content:'';position:absolute;bottom:4px;left:50%;width:0;height:2px;background:var(--gold);transition:.3s cubic-bezier(.16,1,.3,1);transform:translateX(-50%);border-radius:2px}
.nav a:hover::after{width:60%}
.nav .cta::after{display:none}

/* ── Sonar pulse on hero badge ── */
.hero__badge::before{content:'';position:absolute;left:12px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--gold);transform:translateY(-50%);animation:sonar 2s ease-out infinite}
@keyframes sonar{0%{box-shadow:0 0 0 0 rgba(224,173,74,.5)}70%{box-shadow:0 0 0 10px rgba(224,173,74,0)}100%{box-shadow:0 0 0 0 rgba(224,173,74,0)}}
.hero__badge{position:relative;padding-left:28px}

/* ── Gradient border on reviews ── */
.review{position:relative}
.review::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),var(--red),transparent);opacity:.3;border-radius:2px 2px 0 0}

/* ── Animated gradient on specials amount ── */
.sp__amt{background:linear-gradient(135deg,var(--gold) 0%,#f0c96e 40%,var(--gold) 60%,#c89430 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gold-shimmer 4s ease-in-out infinite}

/* ── Media / As Seen On bar ── */
.media-bar{padding:24px 0;text-align:center;border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04);background:rgba(0,0,0,.2)}
.media-bar__label{font-size:10px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--dim);margin-bottom:16px}
.media-bar__logos{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap}
.media-bar__logos span{font-weight:900;font-size:18px;color:rgba(255,255,255,.2);letter-spacing:2px;transition:.3s;cursor:default}
.media-bar__logos span:hover{color:rgba(255,255,255,.45);text-shadow:0 0 20px rgba(255,255,255,.1)}

/* ── Floating chat CTA ── */
.chat-cta{position:fixed;bottom:24px;right:24px;z-index:98;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--red),#c02030);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 8px 32px var(--red-glow),0 0 0 0 rgba(230,57,70,.4);cursor:pointer;transition:.3s cubic-bezier(.16,1,.3,1);animation:chat-pulse 3s ease-in-out infinite;text-decoration:none;border:2px solid rgba(255,255,255,.15)}
.chat-cta:hover{transform:scale(1.1);box-shadow:0 12px 40px rgba(230,57,70,.5)}
@keyframes chat-pulse{0%,100%{box-shadow:0 8px 32px var(--red-glow),0 0 0 0 rgba(230,57,70,.3)}50%{box-shadow:0 8px 32px var(--red-glow),0 0 0 12px rgba(230,57,70,0)}}
.chat-cta__label{position:absolute;right:calc(100% + 12px);white-space:nowrap;background:rgba(14,29,50,.95);color:var(--text);font-size:13px;font-weight:700;padding:8px 14px;border-radius:10px;border:1px solid var(--glass-border);opacity:0;transform:translateX(8px);transition:.3s;pointer-events:none;backdrop-filter:blur(12px)}
.chat-cta:hover .chat-cta__label{opacity:1;transform:none}

/* ── Counter stats section ── */
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:rgba(0,0,0,.3);border-top:2px solid rgba(224,173,74,.08);border-bottom:2px solid rgba(224,173,74,.08)}
.stat-strip__item{text-align:center;padding:32px 16px;position:relative;transition:.3s}
.stat-strip__item:not(:last-child)::after{content:'';position:absolute;right:0;top:20%;height:60%;width:1px;background:rgba(255,255,255,.06)}
.stat-strip__item:hover{background:rgba(255,255,255,.03)}
.stat-strip__num{font-weight:900;font-size:clamp(2rem,3.5vw,2.8rem);color:var(--gold);text-shadow:0 0 40px var(--gold-glow);letter-spacing:-.02em;line-height:1}
.stat-strip__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin-top:6px}
@media(max-width:640px){
  .stat-strip{grid-template-columns:1fr 1fr}
  .stat-strip__item:nth-child(2)::after{display:none}
  .stat-strip__item{padding:24px 12px}
  .chat-cta{bottom:90px;right:16px;width:52px;height:52px;font-size:20px}
  .chat-cta__label{display:none}
  .media-bar__logos{gap:24px}
  .media-bar__logos span{font-size:14px}
}

/* ═══ ANIMATION SYSTEM ═══ */
/* Base fade-up */
.anim{opacity:0;transform:translateY(32px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.anim.v{opacity:1;transform:none}
/* Stagger children */
.anim:nth-child(2){transition-delay:.1s}
.anim:nth-child(3){transition-delay:.18s}
.anim:nth-child(4){transition-delay:.26s}
.anim:nth-child(5){transition-delay:.34s}
.anim:nth-child(6){transition-delay:.42s}
.anim:nth-child(7){transition-delay:.48s}
.anim:nth-child(8){transition-delay:.54s}
.anim:nth-child(9){transition-delay:.58s}
/* Slide from left */
.anim--left{opacity:0;transform:translateX(-50px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.anim--left.v{opacity:1;transform:none}
/* Slide from right */
.anim--right{opacity:0;transform:translateX(50px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.anim--right.v{opacity:1;transform:none}
/* Scale up */
.anim--scale{opacity:0;transform:scale(.92);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.anim--scale.v{opacity:1;transform:scale(1)}
/* Clip reveal (from bottom) */
.anim--clip{opacity:0;clip-path:inset(100% 0 0 0);transition:opacity .6s,clip-path .8s cubic-bezier(.16,1,.3,1)}
.anim--clip.v{opacity:1;clip-path:inset(0)}
/* Blur in */
.anim--blur{opacity:0;filter:blur(12px);transform:translateY(16px);transition:opacity .7s,filter .7s,transform .7s cubic-bezier(.16,1,.3,1)}
.anim--blur.v{opacity:1;filter:blur(0);transform:none}
/* Glow pulse for CTA emphasis */
@keyframes glow-pulse{0%,100%{box-shadow:0 6px 26px var(--red-glow)}50%{box-shadow:0 6px 40px rgba(230,57,70,.55)}}
.btn--red{animation:glow-pulse 3s ease-in-out infinite}
/* Section header accent bar — handled by .tag::before star now */
/* Pulsing status dot for specials */
.sp::after{content:'';position:absolute;top:16px;right:16px;width:8px;height:8px;border-radius:50%;background:var(--gold);animation:status-dot 2s ease-in-out infinite}
@keyframes status-dot{0%,100%{opacity:.4;box-shadow:0 0 0 0 rgba(224,173,74,.4)}50%{opacity:1;box-shadow:0 0 0 8px rgba(224,173,74,0)}}
/* Active indicator on hero stat hover */
.hero__stat::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--gold);transition:.3s cubic-bezier(.16,1,.3,1);transform:translateX(-50%)}
.hero__stat:hover::after{width:60%}
.hero__stat{position:relative}
/* Section transitions — warm divider glow */
.sec--warm::before{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 5%,rgba(230,57,70,.2) 30%,rgba(224,173,74,.2) 70%,transparent 95%)}
.sec--warm{position:relative}
.sec--alt::before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 10%,rgba(255,255,255,.06) 50%,transparent 90%)}
.sec--alt{position:relative}
/* Parallax-lite sections */
.sec[data-parallax]{background-attachment:fixed;background-size:cover}

/* ═══ HEAVY TEXAS PASS ═══ */

/* Barbed Wire Divider */
.barbed-wire{position:relative;height:20px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.barbed-wire::before{content:'';position:absolute;left:0;right:0;height:2px;background:repeating-linear-gradient(90deg,var(--gold) 0px,var(--gold) 12px,transparent 12px,transparent 16px,var(--red) 16px,var(--red) 18px,transparent 18px,transparent 22px);opacity:.2}
.barbed-wire::after{content:'\2726 \2605 \2726';position:relative;font-size:14px;color:var(--gold);opacity:.3;letter-spacing:8px;background:var(--bg);padding:0 16px;z-index:1}
.barbed-wire--dark::after{background:rgba(14,29,50,1)}
.barbed-wire--alt::after{background:var(--bg2)}

/* Texas Flag Gradient Bar */
.texas-flag-bar{height:4px;background:linear-gradient(90deg,#002868 0%,#002868 33%,#fff 33%,#fff 50%,#BF0A30 50%,#BF0A30 100%);opacity:.12}

/* Branded Section Intro — heavy serif knockout */
.texas-intro{text-align:center;padding:16px 0;position:relative}
.texas-intro__text{font-family:var(--serif);font-weight:900;font-style:italic;font-size:clamp(1rem,2vw,1.2rem);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);opacity:.35;position:relative;display:inline-block}
.texas-intro__text::before,.texas-intro__text::after{content:'\2014\2014\2014';font-style:normal;opacity:.3;margin:0 12px;letter-spacing:-2px}

/* Lone Star Accent — inline star cluster */
.lone-star{display:inline-flex;align-items:center;gap:3px;color:var(--gold);font-size:10px;opacity:.5;margin:0 6px;vertical-align:middle}
.lone-star::before{content:'\2605'}
.lone-star::after{content:'\2605'}
.lone-star span{font-size:16px;opacity:.8}

/* Texas Tough Badge */
.texas-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 20px;border-radius:999px;background:linear-gradient(135deg,rgba(230,57,70,.08),rgba(224,173,74,.06));border:1px solid rgba(224,173,74,.15);font-family:var(--serif);font-weight:900;font-style:italic;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.texas-badge::before,.texas-badge::after{content:'\2605';font-size:10px;opacity:.5}

/* Branded Section Stripe — heavy left border */
.texas-stripe{border-left:4px solid;border-image:linear-gradient(180deg,var(--red),var(--gold)) 1;padding-left:20px}

/* Spur Divider — used between content blocks */
.spur-div{text-align:center;padding:8px 0;font-size:18px;letter-spacing:14px;color:var(--gold);opacity:.15}

/* Western Quote Block */
.western-quote{position:relative;padding:28px 32px;margin:28px 0;border-radius:var(--r);background:linear-gradient(135deg,rgba(224,173,74,.04),rgba(230,57,70,.03));border:1px solid rgba(224,173,74,.1);text-align:center}
.western-quote::before{content:'\201C';position:absolute;top:-8px;left:20px;font-family:var(--serif);font-size:60px;color:var(--gold);opacity:.15;line-height:1}
.western-quote__text{font-family:var(--serif);font-weight:700;font-style:italic;font-size:clamp(1.1rem,2.5vw,1.5rem);color:var(--text);letter-spacing:.01em}
.western-quote__attr{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--gold);margin-top:10px;opacity:.6}

/* Texas Seal Watermark — like a brand iron mark */
.brand-iron::before{content:'\2605';position:absolute;font-size:clamp(120px,18vw,220px);color:rgba(224,173,74,.02);left:50%;top:50%;transform:translate(-50%,-50%) rotate(-15deg);pointer-events:none;z-index:0;font-weight:900}

/* Section Branded Prefix Stars */
.sh h2::before{content:'\2605\00a0';font-size:.6em;color:var(--gold);opacity:.25;vertical-align:middle}

/* Rodeo-Style Step Numbers */
.stp{counter-increment:trail-step;position:relative;padding-top:48px!important}
.stp::before{content:counter(trail-step);position:absolute;top:14px;left:18px;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--red),#c02030);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;box-shadow:0 4px 14px var(--red-glow);line-height:28px;text-align:center}
.steps{counter-reset:trail-step}

/* Texas Map Silhouette Background */
.texas-map-bg{position:relative}
.texas-map-bg::after{content:'';position:absolute;right:-2%;top:50%;width:clamp(200px,25vw,350px);height:clamp(200px,25vw,350px);transform:translateY(-50%);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M25,8 L35,8 L38,12 L42,10 L48,12 L52,10 L58,12 L65,10 L68,12 L72,8 L78,10 L82,18 L80,25 L76,30 L74,38 L70,45 L72,52 L68,58 L65,65 L60,70 L55,72 L50,78 L45,82 L40,85 L35,80 L32,75 L28,72 L25,68 L22,60 L20,52 L18,45 L20,38 L22,30 L24,22 L25,15 Z' fill='rgba(224,173,74,.015)' stroke='rgba(224,173,74,.03)' stroke-width='.5'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;pointer-events:none;opacity:.8;z-index:0}

/* CTA buttons — add spur accent */
.btn--red::before{content:'\2605\00a0';font-size:12px;opacity:.7}

/* Branded scroll indicator */
.scroll-texas{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.4;animation:float 3s ease-in-out infinite}
.scroll-texas span{font-size:10px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.scroll-texas::after{content:'\2193';font-size:18px;color:var(--gold)}
@keyframes float{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-8px)}}

/* Stronger gold on section tags */
.tag{border-color:rgba(224,173,74,.25)!important;color:var(--gold)!important;text-shadow:0 0 20px var(--gold-glow)}

/* Heavy serif on all section h2 */
.sh h2 span{text-shadow:0 0 50px var(--gold-glow),0 2px 20px rgba(224,173,74,.15)}

/* Texas-branded review badges */
.review__badge{background:linear-gradient(135deg,rgba(224,173,74,.15),rgba(230,57,70,.08))!important;border:1px solid rgba(224,173,74,.2)!important;color:var(--gold)!important;font-size:10px!important;letter-spacing:2px!important;text-transform:uppercase!important}

/* Deeper Cowboys branding on services cards */
.sc::before{content:'\2605';position:absolute;top:14px;right:14px;font-size:14px;color:var(--gold);opacity:.12}
.sc{position:relative}

/* Cowboys branded pricing cards */
.sp{position:relative}
.sp::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--red),var(--gold),var(--red));opacity:.4;border-radius:3px 3px 0 0}

/* Cowboys footer brand enhancement */
.ft__brand-tagline{font-family:var(--serif)!important;font-style:italic!important;font-weight:900!important;letter-spacing:.04em!important;text-shadow:0 0 30px var(--gold-glow)}

/* Texas-branded hero badge */
.hero__badge{border:1px solid rgba(224,173,74,.3)!important;background:linear-gradient(135deg,rgba(224,173,74,.12),rgba(230,57,70,.08))!important}

/* Premium Loading Transition */
html{scroll-padding-top:80px}

/* Smoother glass cards with depth layers */
.glass{box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.04),inset 0 1px 0 rgba(255,255,255,.04)}

/* Premium focus states for accessibility */
a:focus-visible,.btn:focus-visible,.faq__q:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:8px}
:focus:not(:focus-visible){outline:none}

/* Smoother letter-spacing on body text */
body{letter-spacing:-.005em;text-rendering:optimizeLegibility}

/* Refined section padding — more breathing room */
.sec{padding:80px 0}
@media(max-width:640px){.sec{padding:56px 0}}

/* Premium gradient text for key headlines */
.sh h2{background:linear-gradient(180deg,var(--text) 0%,rgba(176,192,212,.85) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sh h2 span{-webkit-text-fill-color:var(--gold)}
.sh h2::before{-webkit-text-fill-color:rgba(224,173,74,.25)}

/* Better tag pill styling */
.tag{padding:6px 14px 6px 12px;border-radius:999px;background:rgba(224,173,74,.06);border:1px solid rgba(224,173,74,.12)}

/* Refined hero stats bar */
.hero__stats{border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.06)}

/* Premium card hover glow */
.sc:hover,.sp:hover,.review:hover,.pf:hover,.vc:hover{box-shadow:0 24px 60px rgba(0,0,0,.45),0 0 0 1px rgba(224,173,74,.1),inset 0 1px 0 rgba(255,255,255,.06)}

/* Performance: using will-change instead of content-visibility to preserve IntersectionObserver */
.sec{will-change:opacity,transform}

/* Premium CTA gradient animation — smoother */
.btn--red{background:linear-gradient(135deg,#E63946 0%,#d32f3d 40%,#E63946 100%);background-size:200% auto;transition:.4s cubic-bezier(.16,1,.3,1)}
.btn--red:hover{background-position:right center}

/* Better image loading placeholders */
img[loading="lazy"]{background:linear-gradient(135deg,rgba(26,54,90,.3),rgba(26,54,90,.5))}

/* Refined trust marquee speed */
.trust-marquee__track{animation-duration:35s}

/* Better mobile nav overlay */
@media(max-width:640px){
  .nav{background:rgba(14,29,50,.98);backdrop-filter:blur(40px) saturate(1.8);-webkit-backdrop-filter:blur(40px) saturate(1.8)}
  .nav a{font-size:17px;font-weight:700;padding:13px 24px}
  .nav .cta{font-size:17px;padding:16px 28px;margin-top:8px;border-radius:16px;box-shadow:0 8px 30px var(--red-glow)}
}

/* Smooth scroll-margin for anchor links */
[id]{scroll-margin-top:90px}

/* Premium print styles */
@media print{
  body{background:#fff;color:#000}
  .topbar,.hdr,.sticky-cta,.chat-cta,.barbed-wire,.texas-flag-bar,.texas-intro{display:none}
  .glass,.glass2{background:rgba(0,0,0,.03);backdrop-filter:none;border:1px solid #ddd}
  .btn{background:#333;color:#fff;box-shadow:none}
}

@media(max-width:768px){
  .texas-map-bg::after{display:none}
  .scroll-texas{display:none}
  .western-quote{padding:20px 18px}
  .western-quote::before{font-size:40px}
}

/* ═══ SOCIAL MEDIA SECTION ═══ */
.social-sec{padding:90px 0;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(14,29,50,.5) 0%,rgba(19,41,66,.8) 50%,rgba(14,29,50,.5) 100%)}
.social-sec::before{content:'';position:absolute;inset:0;background:radial-gradient(800px 500px at 50% 40%,rgba(224,173,74,.06),transparent 70%);pointer-events:none}
.social-sec::after{content:'\2605';position:absolute;font-size:clamp(200px,28vw,380px);color:rgba(224,173,74,.015);right:-3%;top:50%;transform:translateY(-50%);pointer-events:none}
.social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:40px 0 36px;border-radius:var(--r2);overflow:hidden}
.social-grid__item{position:relative;aspect-ratio:1;overflow:hidden;cursor:pointer}
.social-grid__item img{width:100%;height:100%;object-fit:cover;transition:.5s cubic-bezier(.16,1,.3,1)}
.social-grid__item:hover img{transform:scale(1.08)}
.social-grid__overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(14,29,50,.85) 100%);opacity:0;transition:.4s;display:flex;flex-direction:column;justify-content:flex-end;padding:16px}
.social-grid__item:hover .social-grid__overlay{opacity:1}
.social-grid__caption{font-size:12px;font-weight:700;color:#fff;letter-spacing:.5px}
.social-grid__type{font-size:10px;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:2px;margin-bottom:4px}
.social-stats{display:flex;align-items:center;justify-content:center;gap:48px;margin-bottom:36px}
.social-stat{text-align:center}
.social-stat__num{font-weight:900;font-size:clamp(1.8rem,3vw,2.4rem);color:var(--gold);text-shadow:0 0 30px var(--gold-glow);line-height:1.1}
.social-stat__label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:2.5px;color:var(--muted);margin-top:4px}
.social-cta{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.social-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:14px;font-weight:800;font-size:14px;border:1px solid var(--glass-border);background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--text);transition:.35s cubic-bezier(.16,1,.3,1);cursor:pointer;text-decoration:none;letter-spacing:-.01em}
.social-btn:hover{border-color:var(--gold);background:rgba(224,173,74,.1);transform:translateY(-2px);box-shadow:0 8px 32px rgba(224,173,74,.15)}
.social-btn__icon{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900}
.social-btn--ig .social-btn__icon{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af,#515bd4);color:#fff}
.social-btn--fb .social-btn__icon{background:#1877f2;color:#fff}
.social-btn--yt .social-btn__icon{background:#ff0000;color:#fff}
.social-hashtags{text-align:center;margin-top:28px}
.social-hashtags span{display:inline-block;padding:6px 16px;margin:4px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid rgba(224,173,74,.15);color:var(--gold);background:rgba(224,173,74,.05);transition:.3s;cursor:default}
.social-hashtags span:hover{background:rgba(224,173,74,.12);border-color:rgba(224,173,74,.35)}

/* ═══ EMBROIDERY SHOWCASE — CINEMATIC ═══ */
.emb-sec{padding:100px 0;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(14,29,50,.4) 0%,rgba(18,10,6,.85) 30%,rgba(10,6,2,.95) 50%,rgba(18,10,6,.85) 70%,rgba(14,29,50,.4) 100%)}
.emb-sec::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M0 30h60M30 0v60' stroke='rgba(224,173,74,0.015)' stroke-width='.3'/%3E%3C/svg%3E");pointer-events:none}
.emb-sec::after{content:'';position:absolute;top:50%;left:50%;width:900px;height:900px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(224,173,74,.06) 0%,transparent 70%);pointer-events:none;animation:emb-pulse-glow 6s ease-in-out infinite alternate}
@keyframes emb-pulse-glow{0%{opacity:.4;transform:translate(-50%,-50%) scale(.9)}100%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}

/* ── EMBROIDERY LOGOS — bold showcase ── */
.emb-logos{max-width:1100px;margin:56px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.emb-logo-card{position:relative;border-radius:24px;overflow:hidden;background:linear-gradient(160deg,#f5f0ea,#ebe4da);border:2px solid rgba(224,173,74,.2);box-shadow:0 30px 80px rgba(0,0,0,.5);transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease}
.emb-logo-card:hover{transform:translateY(-8px);box-shadow:0 40px 100px rgba(0,0,0,.6),0 0 60px rgba(224,173,74,.1);border-color:rgba(224,173,74,.4)}
/* logo image area */
.emb-logo-card__img{position:relative;padding:48px 40px;display:flex;align-items:center;justify-content:center;min-height:320px}
.emb-logo-card__img img{max-width:85%;max-height:300px;object-fit:contain;display:block;filter:drop-shadow(0 8px 24px rgba(0,0,0,.15));position:relative;z-index:2}
/* stitch mask — covers logo, peels away */
.emb-logo-card__mask{position:absolute;inset:0;background:linear-gradient(160deg,#f5f0ea,#ebe4da);z-index:3}
.emb-logo-card.stitching .emb-logo-card__mask{animation:stitch-reveal 5s cubic-bezier(.25,.1,.25,1) forwards}
@keyframes stitch-reveal{0%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(100% 0 0 0)}}
/* needle line */
.emb-logo-card__needle{position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 5%,var(--gold) 30%,#fff 50%,var(--gold) 70%,transparent 95%);z-index:4;top:0;opacity:0;filter:drop-shadow(0 0 8px var(--gold-glow));pointer-events:none}
.emb-logo-card.stitching .emb-logo-card__needle{animation:needle-move 5s cubic-bezier(.25,.1,.25,1) forwards}
@keyframes needle-move{0%{top:0;opacity:1}92%{top:100%;opacity:1}100%{top:100%;opacity:0}}
/* stitch line texture */
.emb-logo-card__lines{position:absolute;inset:0;z-index:5;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.02) 3px,rgba(0,0,0,.02) 4px);opacity:0}
.emb-logo-card.stitching .emb-logo-card__lines{animation:lines-fade 5s ease forwards}
@keyframes lines-fade{0%{opacity:1}80%{opacity:.4}100%{opacity:0}}
/* progress bar */
.emb-logo-card__progress{position:absolute;bottom:0;left:0;height:3px;background:linear-gradient(90deg,var(--gold),#e63946,var(--gold));z-index:6;width:0}
.emb-logo-card.stitching .emb-logo-card__progress{animation:stitch-progress 5s cubic-bezier(.25,.1,.25,1) forwards}
@keyframes stitch-progress{0%{width:0}100%{width:100%}}
/* readout */
.emb-logo-card__readout{position:absolute;top:14px;left:14px;z-index:8;font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#1a3054;background:rgba(255,255,255,.8);backdrop-filter:blur(12px);border:1px solid rgba(224,173,74,.3);border-radius:8px;padding:6px 14px;opacity:0}
.emb-logo-card.stitching .emb-logo-card__readout{animation:readout-show 5s ease forwards}
@keyframes readout-show{0%{opacity:0}5%{opacity:1}88%{opacity:1}100%{opacity:0}}
/* done badge */
.emb-logo-card__done{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);z-index:9;background:rgba(26,48,84,.92);backdrop-filter:blur(20px);border:2px solid var(--gold);border-radius:18px;padding:18px 32px;text-align:center;opacity:0;pointer-events:none;box-shadow:0 0 50px rgba(224,173,74,.15)}
.emb-logo-card.done .emb-logo-card__done{animation:done-pop .5s cubic-bezier(.16,1,.3,1) forwards}
@keyframes done-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.emb-logo-card__done-icon{font-size:28px;color:var(--gold);margin-bottom:4px;filter:drop-shadow(0 0 10px var(--gold-glow))}
.emb-logo-card__done-text{font-weight:900;font-size:15px;color:var(--gold)}
/* info strip */
.emb-logo-card__info{padding:20px 24px;background:linear-gradient(160deg,#1a3054,#0e1d32);display:flex;align-items:center;justify-content:space-between}
.emb-logo-card__name{font-weight:900;font-size:15px;color:#fff;letter-spacing:-.01em}
.emb-logo-card__specs{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold)}
/* replay */
.emb-logo-card__replay{position:absolute;bottom:70px;right:14px;z-index:10;display:none;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;background:rgba(26,48,84,.85);border:1px solid rgba(224,173,74,.3);color:var(--gold);font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:.3s}
.emb-logo-card__replay:hover{background:rgba(224,173,74,.15);transform:translateY(-2px)}
.emb-logo-card.done .emb-logo-card__replay{display:inline-flex}
/* tag */
.emb-logo-card__tag{position:absolute;top:14px;right:14px;z-index:8;font-size:9px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:#1a3054;background:rgba(224,173,74,.15);border:1px solid rgba(224,173,74,.3);border-radius:8px;padding:6px 12px}

/* ── FEATURE STRIP — 4 cards ── */
.emb-features{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px;max-width:1100px;margin-left:auto;margin-right:auto}
.emb-feat{padding:28px 18px;border-radius:18px;background:rgba(224,173,74,.02);border:1px solid rgba(224,173,74,.06);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);text-align:center;transition:.4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}
.emb-feat::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(224,173,74,.04),transparent);opacity:0;transition:.4s}
.emb-feat:hover{border-color:rgba(224,173,74,.2);transform:translateY(-6px);box-shadow:0 20px 50px rgba(0,0,0,.3)}
.emb-feat:hover::before{opacity:1}
.emb-feat__icon{font-size:32px;margin-bottom:12px;display:block;filter:drop-shadow(0 0 12px rgba(224,173,74,.25))}
.emb-feat__title{font-weight:800;font-size:14px;color:var(--text);margin-bottom:8px}
.emb-feat__desc{font-size:11px;color:var(--muted);line-height:1.6}

/* ── MRS DIANE — cinematic tribute card ── */
/* MRS DIANE — PREMIUM TRIBUTE */
.emb-diane{margin-top:56px;padding:56px 40px 48px;border-radius:28px;text-align:center;position:relative;overflow:hidden;max-width:1100px;margin-left:auto;margin-right:auto;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(224,173,74,.08)}
.emb-diane__bg{position:absolute;inset:0;background:linear-gradient(160deg,rgba(224,173,74,.06) 0%,rgba(14,29,50,.5) 40%,rgba(10,6,2,.6) 60%,rgba(230,57,70,.03) 100%);z-index:0}
.emb-diane__bg::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% -10%,rgba(224,173,74,.12),transparent 55%)}
.emb-diane__bg::after{content:'';position:absolute;inset:-3px;border-radius:31px;background:conic-gradient(from var(--stitch-angle,0deg),rgba(224,173,74,.3),transparent 8%,transparent 25%,rgba(230,57,70,.12) 35%,transparent 42%,transparent 60%,rgba(224,173,74,.3) 70%,transparent 78%,transparent 95%,rgba(224,173,74,.2));animation:diane-border-spin 12s linear infinite;z-index:-1}
@keyframes diane-border-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.emb-diane__content{position:relative;z-index:1}
.emb-diane__quote-mark{font-family:Georgia,serif;font-size:72px;line-height:1;color:var(--gold);opacity:.15;display:block;margin-bottom:-20px;user-select:none}
.emb-diane__star{font-size:28px;color:var(--gold);display:block;margin-bottom:16px;filter:drop-shadow(0 0 16px var(--gold-glow));animation:diane-star-pulse 3s ease-in-out infinite alternate}
@keyframes diane-star-pulse{0%{transform:scale(1);filter:drop-shadow(0 0 16px var(--gold-glow))}100%{transform:scale(1.08);filter:drop-shadow(0 0 32px var(--gold-glow))}}
.emb-diane__name{font-family:var(--serif);font-weight:900;font-style:italic;font-size:clamp(1.6rem,3vw,2.4rem);color:var(--gold);margin-bottom:6px;text-shadow:0 0 40px var(--gold-glow);letter-spacing:.02em}
.emb-diane__role{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:5px;color:var(--muted);margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:14px}
.emb-diane__role::before,.emb-diane__role::after{content:'';width:36px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.25}
.emb-diane__divider{width:48px;height:2px;margin:0 auto 24px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.2;border-radius:2px}
.emb-diane__text{font-size:16px;color:rgba(200,215,235,.8);line-height:1.85;max-width:620px;margin:0 auto;font-style:italic}
.emb-diane__stitch-line{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:28px;opacity:.3}
.emb-diane__stitch-line span{width:8px;height:1px;background:var(--gold);border-radius:1px}
.emb-diane__stitch-line span:nth-child(odd){width:14px}
.emb-diane__stitch-label{font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);opacity:.35;margin-top:10px}

@media(max-width:900px){
  .emb-logos{grid-template-columns:1fr;gap:32px;max-width:500px;margin-left:auto;margin-right:auto}
}
@media(max-width:768px){
  .emb-features{grid-template-columns:1fr 1fr}
  .emb-diane{padding:36px 20px 32px}
  .emb-diane__quote-mark{font-size:52px;margin-bottom:-14px}
  .emb-diane__text{font-size:15px}
}

/* ═══ YARD SIGNS SHOWCASE ═══ */
.signs-sec{padding:90px 0;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(14,29,50,.5) 0%,rgba(19,41,66,.7) 50%,rgba(14,29,50,.5) 100%)}
.signs-sec::before{content:'';position:absolute;inset:0;background:radial-gradient(600px 400px at 30% 50%,rgba(230,57,70,.04),transparent),radial-gradient(600px 400px at 70% 50%,rgba(224,173,74,.04),transparent);pointer-events:none}
.signs-showcase{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center;margin-top:48px}
.signs-visual{position:relative;display:flex;gap:24px;justify-content:center}
.sign-card{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 1px rgba(224,173,74,.1);transform:perspective(800px) rotateY(-3deg);transition:.6s cubic-bezier(.16,1,.3,1);max-width:280px}
.sign-card:nth-child(2){transform:perspective(800px) rotateY(3deg);margin-top:40px}
.sign-card:hover{transform:perspective(800px) rotateY(0) scale(1.04);box-shadow:0 40px 100px rgba(224,173,74,.15),0 0 0 1px rgba(224,173,74,.25)}
.sign-card img{width:100%;display:block}
.sign-card__label{position:absolute;bottom:0;left:0;right:0;padding:12px;background:linear-gradient(transparent,rgba(14,29,50,.9));text-align:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--gold)}
.signs-info{display:grid;gap:20px}
.signs-info__item{padding:20px;border-radius:16px;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:.35s}
.signs-info__item:hover{border-color:rgba(224,173,74,.2);transform:translateX(4px)}
.signs-info__head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.signs-info__icon{font-size:20px}
.signs-info__title{font-weight:800;font-size:15px;color:var(--text)}
.signs-info__desc{font-size:13px;color:var(--muted);line-height:1.5}
@media(max-width:768px){
  .signs-showcase{grid-template-columns:1fr;gap:32px}
  .signs-visual{flex-direction:row;gap:12px}
  .sign-card{max-width:200px}
  .sign-card:nth-child(2){margin-top:20px}
}

/* ═══ COWBOYS THEATER ═══ */
.theater-sec{padding:100px 0;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(14,29,50,.95) 20%,rgba(14,29,50,.95) 80%,rgba(0,0,0,.6) 100%)}
.theater-sec::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.008) 2px,rgba(255,255,255,.008) 4px);pointer-events:none;z-index:1}
.theater-sec::after{content:'';position:absolute;top:0;left:0;right:0;height:100%;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(230,57,70,.06),transparent);pointer-events:none}
.theater-dual{display:grid;grid-template-columns:1fr 1fr;gap:48px;position:relative;z-index:2;max-width:1200px;margin:0 auto;align-items:start}

/* ── CRT TV — vintage feel ── */
.theater-crt{position:relative}
.theater-crt .theater-era-label{text-align:center;margin-bottom:20px}
.theater-era-label__tag{font-size:9px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--gold);opacity:.6}
.theater-era-label__title{font-family:var(--serif);font-weight:900;font-style:italic;font-size:clamp(1.2rem,2vw,1.6rem);color:var(--text);margin-top:4px}
.crt-body{position:relative;background:#2a1f14;border-radius:28px 28px 12px 12px;padding:28px 24px 18px;box-shadow:0 30px 80px rgba(0,0,0,.6),inset 0 2px 0 rgba(255,255,255,.04)}
.crt-body::before{content:'';position:absolute;inset:8px;border-radius:20px;border:3px solid rgba(60,40,20,.5);pointer-events:none}
.crt-screen{position:relative;border-radius:16px;overflow:hidden;background:#000;aspect-ratio:4/3;box-shadow:inset 0 0 60px rgba(0,0,0,.8),0 0 30px rgba(139,80,20,.1)}
.crt-screen iframe{width:100%;height:100%;border:none;display:block}
/* CRT scan lines */
.crt-screen::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.12) 2px,rgba(0,0,0,.12) 4px);pointer-events:none;z-index:2;animation:crt-flicker 8s ease-in-out infinite}
/* CRT warm glow */
.crt-screen::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 60%,rgba(80,40,10,.25) 100%);pointer-events:none;z-index:3;border-radius:16px}
@keyframes crt-flicker{0%,100%{opacity:.7}50%{opacity:.9}85%{opacity:.65}87%{opacity:.85}}
.crt-knobs{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 2px}
.crt-knob{width:18px;height:18px;border-radius:50%;background:linear-gradient(145deg,#4a3828,#2a1f14);border:1px solid rgba(224,173,74,.12);box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}
.crt-brand{font-size:8px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(224,173,74,.2)}
.crt-legs{display:flex;justify-content:center;gap:60%;margin-top:-2px}
.crt-leg{width:4px;height:14px;background:linear-gradient(180deg,#2a1f14,#1a1209);border-radius:0 0 2px 2px}

/* ── LED TV — modern flat ── */
.theater-led{position:relative}
.led-body{position:relative;background:#0a0a0a;border-radius:4px;padding:4px;box-shadow:0 30px 100px rgba(0,0,0,.6),0 0 0 1px rgba(224,173,74,.06),0 0 80px rgba(224,173,74,.02)}
.led-screen{position:relative;border-radius:2px;overflow:hidden;background:#000;aspect-ratio:16/9}
.led-screen iframe{width:100%;height:100%;border:none;display:block}
/* LED ambient glow */
.led-body::after{content:'';position:absolute;inset:-20px;border-radius:16px;background:radial-gradient(ellipse at center,rgba(224,173,74,.03),transparent 70%);pointer-events:none;z-index:-1}
.led-stand{width:40%;height:3px;margin:0 auto;background:linear-gradient(90deg,transparent,rgba(30,30,30,.8),transparent);border-radius:0 0 4px 4px}
.led-neck{width:20px;height:16px;margin:0 auto;background:#0a0a0a;border-radius:0 0 2px 2px}
.led-base{width:100px;height:4px;margin:0 auto;background:linear-gradient(90deg,transparent,#1a1a1a,#1a1a1a,transparent);border-radius:4px}

/* ── Shared controls ── */
.theater-controls{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;flex-wrap:wrap}
.theater-btn{padding:8px 14px;border-radius:10px;border:1px solid var(--glass-border);background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--muted);font-weight:700;font-size:11px;cursor:pointer;transition:.35s;letter-spacing:.3px}
.theater-btn:hover,.theater-btn.active{border-color:var(--gold);color:var(--gold);background:rgba(224,173,74,.08);box-shadow:0 4px 20px rgba(224,173,74,.1)}
.theater-btn.active{color:var(--gold);font-weight:800}
.theater-caption{text-align:center;margin-top:32px;font-size:13px;color:var(--muted);font-style:italic;position:relative;z-index:2}
/* ── Timeline ── */
.theater-timeline{display:flex;align-items:center;justify-content:center;gap:32px;margin-top:36px;position:relative;z-index:2}
.theater-timeline::before{content:'';position:absolute;top:50%;left:10%;right:10%;height:2px;background:linear-gradient(90deg,transparent,rgba(224,173,74,.15),transparent);transform:translateY(-50%)}
.theater-era{text-align:center;position:relative;z-index:1;cursor:pointer;transition:.3s}
.theater-era:hover .theater-era__dot{transform:scale(1.4);background:var(--gold)}
.theater-era__dot{width:12px;height:12px;border-radius:50%;background:rgba(224,173,74,.3);border:2px solid rgba(224,173,74,.2);margin:0 auto 8px;transition:.35s}
.theater-era.active .theater-era__dot{background:var(--gold);box-shadow:0 0 20px var(--gold-glow);transform:scale(1.3)}
.theater-era__year{font-size:12px;font-weight:800;color:var(--muted);letter-spacing:1px}
.theater-era.active .theater-era__year{color:var(--gold)}
.theater-era__label{font-size:10px;color:var(--dim);margin-top:2px}
@media(max-width:900px){
  .theater-dual{grid-template-columns:1fr;gap:48px;max-width:600px;margin-left:auto;margin-right:auto}
}
@media(max-width:768px){
  .theater-timeline{gap:20px;flex-wrap:wrap}
  .theater-controls{gap:6px}
  .theater-btn{padding:7px 11px;font-size:10px}
  .crt-body{padding:20px 16px 14px;border-radius:20px 20px 10px 10px}
}

/* ═══ COWBOYS IN THE WILD — Polaroid Wall ═══ */
.wild-sec{padding:100px 0 80px;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(10,22,40,.97) 15%,rgba(10,22,40,.97) 85%,rgba(0,0,0,.4) 100%)}
.wild-sec::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Ccircle cx='1' cy='1' r='.5' fill='rgba(224,173,74,.02)'/%3E%3C/svg%3E");pointer-events:none}
/* Polaroid masonry grid */
.wild-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1100px;margin:0 auto;position:relative;z-index:1}
.wild-grid__item{position:relative;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:4px;padding:10px 10px 40px;transform:rotate(var(--rot,0deg));transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .4s;cursor:default;overflow:visible}
.wild-grid__item:nth-child(1){--rot:-2.5deg}
.wild-grid__item:nth-child(2){--rot:1.8deg;margin-top:30px}
.wild-grid__item:nth-child(3){--rot:-1.2deg;margin-top:-10px}
.wild-grid__item:nth-child(4){--rot:2.8deg;margin-top:20px}
.wild-grid__item:nth-child(5){--rot:1.5deg}
.wild-grid__item:nth-child(6){--rot:-2deg;margin-top:30px}
.wild-grid__item:hover{transform:rotate(0deg) translateY(-8px) scale(1.03);box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 30px rgba(224,173,74,.06);border-color:rgba(224,173,74,.15);z-index:10}
.wild-grid__img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:2px;display:block;filter:saturate(.9) contrast(1.05);transition:filter .4s}
.wild-grid__item:hover .wild-grid__img{filter:saturate(1.1) contrast(1.08)}
.wild-grid__caption{position:absolute;bottom:10px;left:12px;right:12px;font-family:'Courier New',monospace;font-size:10px;color:rgba(224,173,74,.5);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wild-grid__pin{position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(224,173,74,.6),rgba(180,130,40,.3));border:1px solid rgba(224,173,74,.2);box-shadow:0 2px 8px rgba(0,0,0,.3);z-index:2}
/* Tape strip variant */
.wild-grid__item:nth-child(odd) .wild-grid__pin{display:none}
.wild-grid__item:nth-child(odd)::after{content:'';position:absolute;top:-4px;left:50%;transform:translateX(-50%) rotate(-3deg);width:50px;height:14px;background:rgba(224,173,74,.08);border:1px solid rgba(224,173,74,.06);border-radius:1px;z-index:2}
/* Social link bar */
.wild-links{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:50px;position:relative;z-index:1}
.wild-link{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border:1px solid rgba(224,173,74,.1);border-radius:12px;background:rgba(224,173,74,.03);color:var(--text);text-decoration:none;font-weight:700;font-size:14px;letter-spacing:.3px;transition:.35s}
.wild-link:hover{border-color:rgba(224,173,74,.25);background:rgba(224,173,74,.06);transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.3)}
.wild-link__count{font-family:'Courier New',monospace;color:var(--gold);font-size:13px;opacity:.7}
.wild-link__icon{font-size:18px}
/* Responsive */
@media(max-width:900px){.wild-grid{grid-template-columns:repeat(3,1fr);gap:16px}}
@media(max-width:640px){
  .wild-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .wild-grid__item{padding:6px 6px 30px}
  .wild-grid__caption{font-size:9px;bottom:8px;left:8px}
  .wild-links{flex-direction:column;gap:14px}
  .wild-link{width:100%;max-width:300px;justify-content:center}
  .wild-sec{padding:70px 0 60px}
}

/* ═══ COMMUNITY EVENTS — Calendar + Highlights ═══ */
.events-sec{padding:100px 0 80px;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(0,0,0,.4) 0%,rgba(15,25,42,.97) 12%,rgba(15,25,42,.97) 88%,rgba(0,0,0,.35) 100%)}
.events-sec::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(224,173,74,.008) 2px,rgba(224,173,74,.008) 4px);pointer-events:none}
.events-upcoming{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:0 auto 60px}
.events-card{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:28px 24px;position:relative;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .4s ease,box-shadow .4s ease}
.events-card:hover{transform:translateY(-6px);border-color:rgba(224,173,74,.2);box-shadow:0 20px 60px rgba(0,0,0,.3)}
.events-card__date{font-family:'Courier New',monospace;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);opacity:.7;margin-bottom:12px}
.events-card__date::before{content:'//';margin-right:6px;color:rgba(224,173,74,.35)}
.events-card__title{font-family:var(--serif);font-size:1.3rem;font-weight:800;color:var(--text);margin-bottom:8px;line-height:1.3}
.events-card__desc{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:16px}
.events-card__badge{display:inline-block;font-family:'Courier New',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:4px 12px;border:1px solid rgba(224,173,74,.15);border-radius:3px;color:rgba(224,173,74,.6)}
.events-card__badge--live{border-color:rgba(230,57,70,.3);color:var(--red);animation:studio-pulse 2.5s ease-in-out infinite}
.events-card__icon{position:absolute;top:20px;right:20px;width:36px;height:36px;border-radius:50%;background:rgba(224,173,74,.06);border:1px solid rgba(224,173,74,.1);display:flex;align-items:center;justify-content:center;font-size:16px}
/* Past highlights grid */
.events-highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1100px;margin:0 auto}
.events-highlight{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:4/3;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);transition:transform .4s cubic-bezier(.16,1,.3,1)}
.events-highlight:hover{transform:scale(1.03)}
.events-highlight img{width:100%;height:100%;object-fit:cover;opacity:.7;transition:opacity .4s ease}
.events-highlight:hover img{opacity:1}
.events-highlight__overlay{position:absolute;bottom:0;left:0;right:0;padding:14px 16px;background:linear-gradient(transparent,rgba(0,0,0,.85));font-family:'Courier New',monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(224,173,74,.6)}
.events-highlight__overlay::before{content:'// ';color:rgba(224,173,74,.35)}
@media(max-width:768px){
  .events-upcoming{grid-template-columns:1fr;gap:16px}
  .events-highlights{grid-template-columns:repeat(2,1fr);gap:12px}
  .events-card__title{font-size:1.1rem}
}

/* Hard to Stop banner */
.htsc{padding:40px 0;background:linear-gradient(135deg,rgba(230,57,70,.06) 0%,rgba(224,173,74,.04) 50%,rgba(230,57,70,.06) 100%);border-top:1px solid rgba(224,173,74,.08);border-bottom:1px solid rgba(224,173,74,.08);text-align:center;position:relative;overflow:hidden}
.htsc::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='20' y='24' text-anchor='middle' fill='rgba(224,173,74,.03)' font-size='16'%3E%E2%98%85%3C/text%3E%3C/svg%3E");pointer-events:none}
.htsc__text{font-family:var(--serif);font-weight:900;font-style:italic;font-size:clamp(1.6rem,4vw,2.8rem);letter-spacing:.04em;color:var(--text);text-shadow:0 4px 30px rgba(0,0,0,.4)}
.htsc__text span{color:var(--gold);text-shadow:0 0 40px var(--gold-glow)}
.htsc__sub{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:4px;color:var(--muted);margin-top:8px}

/* Social link in topbar */
.tl--social{display:inline-flex;align-items:center;gap:5px}
.tl--social img{width:14px;height:14px;opacity:.7;transition:.3s}
.tl--social:hover img{opacity:1}

@media(max-width:768px){
  .social-grid{grid-template-columns:repeat(2,1fr)}
  .social-stats{gap:28px}
  .social-stat__num{font-size:1.6rem}
}
@media(max-width:480px){
  .social-stats{flex-wrap:wrap;gap:20px}
  .social-btn{padding:12px 20px;font-size:13px}
  .htsc__text{font-size:1.4rem}
  h1{font-size:1.9rem}
  .hero__sub{font-size:15px}
  .hero__stat strong{font-size:20px}
  .hero__stat span{font-size:9.5px;letter-spacing:1px}
  .sh h2{font-size:1.5rem}
  .sh p{font-size:14px}
  .sec{padding:40px 0}
  .sh{margin-bottom:28px}
  .w{width:calc(100% - 32px)}
  .stp{padding:20px 16px}
  .stp::before{width:40px;height:40px;font-size:16px;border-radius:12px}
  .sp__amt{font-size:22px}
  .conBigNum{font-size:18px}
  .faq__q{font-size:14px;padding:16px 0}
  .faq__a p{font-size:13px}
  .cta-b{padding:40px 0}
  .cta-b h2{font-size:1.3rem}
  .ft__grid{gap:24px}
  .ft{padding:40px 0 24px}
  .areas{grid-template-columns:1fr 1fr;gap:6px}
  .ac{font-size:12px;padding:9px 10px;border-radius:10px}
}

/* ═══════════════════════════════════════════════════
   HVAC STUDIO POLISH — Terminal Aesthetic Layer
   Cowboys Navy/Gold/Red adaptation
   ═══════════════════════════════════════════════════ */

/* ── Studio Comment Label (monospace above section headers) ── */
.sh .tag{font-family:'Courier New',Courier,monospace;letter-spacing:2px;font-size:10px;font-weight:700;color:rgba(240,184,64,.6);position:relative;padding-left:18px}
.sh .tag::before{content:'//';position:absolute;left:0;font-family:'Courier New',monospace;color:rgba(240,184,64,.4);font-size:10px;font-weight:400}
.sh .tag::after{display:none}

/* ── Status Pulse Indicator on Section Headers ── */
.sh h2{position:relative;padding-left:0}
.sh h2::after{content:'';position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold-glow),0 0 20px rgba(224,173,74,.2);animation:studio-pulse 2.5s ease-in-out infinite}
@keyframes studio-pulse{0%,100%{opacity:.4;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.4)}}

/* ── Field Monitor Panel Borders — service cards & key sections ── */
.sc{border:1px solid rgba(240,184,64,.08);position:relative}
.sc::before{content:'';position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;pointer-events:none;z-index:1;border:1px solid transparent;transition:border-color .4s}
.sc:hover::before{border-color:rgba(240,184,64,.18)}
/* Corner accent brackets on service cards */
.sc .corner-tl,.sc .corner-br{position:absolute;width:16px;height:16px;pointer-events:none;z-index:2;opacity:0;transition:opacity .4s}
.sc .corner-tl{top:0;left:0;border-top:2px solid var(--gold);border-left:2px solid var(--gold)}
.sc .corner-br{bottom:0;right:0;border-bottom:2px solid var(--gold);border-right:2px solid var(--gold)}
.sc:hover .corner-tl,.sc:hover .corner-br{opacity:.35}

/* ── Scanline Overlay (subtle CRT effect on dark sections) ── */
section{position:relative}
section::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.02) 2px,rgba(0,0,0,.02) 4px);pointer-events:none;z-index:0;opacity:0;transition:opacity .6s}
section:hover::after{opacity:1}

/* ── Diagnostic Readout Style on Stats ── */
.stat__num{font-family:'Courier New',Courier,monospace;letter-spacing:-1px}

/* ── Terminal Cursor Blink on Hero Tagline ── */
.hero__sub::after{content:'_';display:inline-block;color:var(--gold);opacity:0;animation:terminal-blink 1.2s step-end infinite;margin-left:3px;font-weight:300}
@keyframes terminal-blink{0%,50%{opacity:0}51%,100%{opacity:.6}}

/* ── Studio Grid Lines (subtle measurement marks) ── */
.sh::before{content:'';position:absolute;top:0;left:50%;width:1px;height:100%;background:linear-gradient(180deg,transparent,rgba(224,173,74,.06) 30%,rgba(224,173,74,.06) 70%,transparent);pointer-events:none}
.sh{position:relative}

/* ── Glow Wire Border on FAQ Items ── */
.faq-q{border-left:2px solid rgba(224,173,74,.08);padding-left:16px;transition:border-color .3s,box-shadow .3s}
.faq-q:hover,.faq-q.active{border-left-color:rgba(224,173,74,.3);box-shadow:-4px 0 20px rgba(224,173,74,.06)}

/* ── Studio Data Labels (monospace on key values) ── */
.pricing-tag,.sp__price,.cp__price{font-family:'Courier New',Courier,monospace;letter-spacing:0}

/* ── Enhanced Card Hover (lift + glow frame) ── */
.sc{transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .4s}
.sc:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.3),0 0 30px rgba(224,173,74,.04);border-color:rgba(224,173,74,.15)}

/* ── Studio Footer Treatment ── */
.ft{border-top:1px solid rgba(224,173,74,.08)}
.ft::before{content:'// COWBOYS AC & HEATING — EST. 2005';display:block;text-align:center;font-family:'Courier New',monospace;font-size:9px;letter-spacing:3px;color:rgba(224,173,74,.2);padding:12px 0;border-bottom:1px solid rgba(224,173,74,.04)}

/* ── Ambient Noise Texture (whole page) ── */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}

/* ── Mobile Refinements for Studio Elements ── */
@media(max-width:768px){
  .sh .tag{font-size:9px;letter-spacing:1.5px;padding-left:14px}
  .sh .tag::before{font-size:9px}
  .sh h2::after{width:5px;height:5px;bottom:-6px}
  .hero__sub::after{display:none}
  section::after{display:none}
  body::after{opacity:.01}
  .ft::before{font-size:8px;letter-spacing:2px}
}
/* Performance: disable expensive animations on mobile */
@media(max-width:768px){
  .ambient-particles{display:none!important}
  .sec{animation:none!important}
  .parallax-layer{will-change:auto;transition:none}
  .cursor-glow{display:none!important}
}
/* Performance: respect reduced motion preference */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .ambient-particles{display:none!important}
}
/* Performance: contain layout for sections */
.sec{contain:layout style}

/* Loader styles are inline in index.html */
