/* FONTS */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,400;0,600;0,700;0,800;0,900;1,700&family=Barlow:ital,wght@0,400;0,500;0,600;1,400&family=Roboto+Mono:wght@400;500&display=swap');

/* RESET */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg-base);color:var(--text-primary);font-family:'Barlow',sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* VARIABLES */
:root{
  --bg-base:#080808;
  --bg-surface:#0f0f0f;
  --bg-elevated:#161616;
  --bg-border:#222222;
  --accent-primary:#ffffff;
  --accent-primary-dim:rgba(255,255,255,0.08);
  --accent-red:#cc2200;
  --accent-red-bright:#ff3300;
  --accent-red-glow:rgba(204,34,0,0.25);
  --text-primary:#f5f5f5;
  --text-secondary:#888888;
  --text-muted:#444444;
  --accent-gold:#c9a84c;
  --accent-gold-dim:rgba(201,168,76,0.15);
  --nav-h:84px;
  --container:1200px;
  --ease:cubic-bezier(0.16,1,0.3,1);
}

/* CONTAINER / LAYOUT */
.container{max-width:var(--container);margin:0 auto;padding:0 48px}
.section{padding:96px 0}
.section-sm{padding:64px 0}
@media(max-width:768px){.container{padding:0 24px}.section{padding:64px 0}.section-sm{padding:40px 0}}

/* TYPOGRAPHY */
h1,h2,h3,h4{font-family:'Barlow Condensed',sans-serif;line-height:1.05;text-transform:uppercase;letter-spacing:-0.01em;color:var(--text-primary)}
h1{font-size:clamp(3rem,8vw,5rem);font-weight:900}
h2{font-size:clamp(2rem,5vw,3.2rem);font-weight:800}
h3{font-size:clamp(1.4rem,3vw,2rem);font-weight:700}
h4{font-size:1rem;font-weight:700;letter-spacing:0.15em;font-family:'Roboto Mono',monospace;text-transform:uppercase}
p{color:var(--text-secondary);line-height:1.75;margin-bottom:1em}
p:last-child{margin-bottom:0}
.eyebrow{font-family:'Roboto Mono',monospace;font-size:0.72rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--accent-red);display:block;margin-bottom:16px}
.section-title{margin-bottom:12px}
.section-sub{font-size:1rem;color:var(--text-secondary);max-width:560px;margin-bottom:48px}
.title-rule{width:48px;height:3px;background:var(--accent-red);margin:16px 0 40px;display:block}

/* BUTTONS */
.btn-primary,.btn-ghost,.btn-outline-red{display:inline-flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:0.85rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:14px 32px;border-radius:0;cursor:pointer;transition:background 0.2s,border-color 0.2s,box-shadow 0.2s,color 0.2s;text-decoration:none;border:2px solid transparent;white-space:nowrap}
.btn-primary{background:var(--accent-red);color:#fff;border-color:var(--accent-red)}
.btn-primary:hover{background:var(--accent-red-bright);box-shadow:0 0 24px var(--accent-red-glow)}
.btn-ghost{background:transparent;color:var(--text-primary);border-color:#444}
.btn-ghost:hover{border-color:#fff}
.btn-outline-red{background:transparent;color:var(--accent-red-bright);border-color:var(--accent-red)}
.btn-outline-red:hover{background:var(--accent-red-glow)}
.btn-group{display:flex;gap:16px;flex-wrap:wrap}

/* NAVIGATION */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);display:flex;align-items:center;transition:background 0.3s,border-color 0.3s;border-bottom:1px solid transparent}
.site-nav.scrolled{background:#0a0a0a;border-bottom-color:#222}
.nav-inner{max-width:var(--container);margin:0 auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;width:100%}
.nav-logo img{height:64px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:32px;list-style:none}
.nav-links a{font-family:'Barlow',sans-serif;font-size:0.82rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.7);transition:color 0.2s;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links a.active{border-bottom:2px solid var(--accent-red)}
/* Dropdown */
.nav-dropdown-wrap{position:relative}
.nav-dropdown-wrap > a::after{content:none}
.nav-dropdown{position:absolute;top:100%;left:0;padding-top:12px;background:transparent;min-width:220px;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity 0.2s,transform 0.2s;z-index:200}
.nav-dropdown-inner{background:#0d0d0d;border:1px solid #222;padding:8px 0;}.nav-dropdown-wrap:hover .nav-dropdown,.nav-dropdown-wrap:focus-within .nav-dropdown{opacity:1;pointer-events:all;transform:translateY(0)}.nav-dropdown a{display:block;padding:10px 20px;font-family:'Barlow',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,0.6);transition:color 0.2s,background 0.2s}.nav-dropdown a:hover{color:#fff;background:rgba(255,255,255,.04)}
.nav-dropdown a{display:block;padding:10px 20px;font-family:'Barlow',sans-serif;font-size:0.8rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:rgba(255,255,255,0.6);transition:color 0.2s,background 0.2s}
.nav-dropdown a:hover{color:#fff;background:rgba(255,255,255,0.04)}
.nav-btn{font-family:'Barlow Condensed',sans-serif;font-size:0.8rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;background:var(--accent-red);color:#fff;padding:10px 24px;border-radius:0;transition:background 0.2s;border:2px solid var(--accent-red)}
.nav-btn:hover{background:var(--accent-red-bright)}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.hamburger span{display:block;width:24px;height:2px;background:#fff;transition:transform 0.3s,opacity 0.3s}
.mob-nav-overlay{display:none;position:fixed;inset:0;background:#050505;z-index:999;flex-direction:column;align-items:stretch;justify-content:flex-start}
.mob-nav-overlay.open{display:flex}
.mob-nav-close{background:none;border:none;color:rgba(255,255,255,.6);font-size:1.8rem;cursor:pointer;line-height:1;padding:4px}
@media(max-width:900px){.nav-links{display:none}.hamburger{display:flex}.nav-inner{padding:0 24px}}

/* MOBILE STICKY CTA */
.mobile-cta-bar{display:none;position:fixed;bottom:0;left:0;right:0;height:56px;z-index:9999;display:flex}
.mcta-call,.mcta-book{flex:1;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:0.9rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#fff;background:var(--accent-red);text-decoration:none;transition:background 0.2s;gap:6px}
.mcta-call{border-right:1px solid rgba(255,255,255,0.2)}
.mcta-call:hover,.mcta-book:hover{background:var(--accent-red-bright)}
.mobile-cta-bar{display:none}
@media(max-width:768px){.mobile-cta-bar{display:flex}body{padding-bottom:56px}}

/* SCROLL REVEAL */
[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity 0.6s var(--ease),transform 0.6s var(--ease)}
[data-reveal].visible{opacity:1;transform:translateY(0)}

/* PHOTO PLACEHOLDERS */
.ph-img{background:#111;border:2px dashed var(--accent-red);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);font-family:'Roboto Mono',monospace;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.12em;text-align:center;padding:24px;position:relative;overflow:hidden}
.ph-img svg{opacity:0.3;width:32px;height:32px}

/* HERO — full viewport */
.hero-full{min-height:100vh;display:flex;flex-direction:column;justify-content:center;background:var(--bg-base);position:relative;overflow:hidden;padding-top:var(--nav-h)}
.hero-bg-gradient{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(180,20,0,0.06) 0%,transparent 60%);pointer-events:none}
.hero-carbon{position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,0.006) 10px,rgba(255,255,255,0.006) 11px),repeating-linear-gradient(-45deg,transparent,transparent 10px,rgba(255,255,255,0.006) 10px,rgba(255,255,255,0.006) 11px);pointer-events:none}
.hero-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:80px 0}
.hero-eyebrow{font-family:'Roboto Mono',monospace;font-size:0.72rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--accent-red);display:block;margin-bottom:24px}
.hero-title{font-family:'Barlow Condensed',sans-serif;font-size:clamp(3.5rem,8vw,5.5rem);font-weight:900;line-height:0.95;text-transform:uppercase;letter-spacing:-0.02em;color:#fff;margin-bottom:24px}
.hero-sub{font-size:1.05rem;color:rgba(255,255,255,0.5);line-height:1.7;max-width:440px;margin-bottom:36px}
.hero-trust{display:flex;flex-wrap:wrap;gap:20px;margin-top:28px}
.hero-trust-item{font-size:0.78rem;color:rgba(255,255,255,0.35);font-family:'Barlow',sans-serif;display:flex;align-items:center;gap:6px}
.hero-trust-item::before{content:'✓';color:var(--accent-red);font-weight:700}
.hero-img{aspect-ratio:3/4;position:relative}
@media(max-width:900px){.hero-split{grid-template-columns:1fr;gap:40px}.hero-img{aspect-ratio:4/3;max-height:320px}}

/* HERO SM (inner pages) */
.hero-sm{padding:calc(var(--nav-h) + 64px) 0 64px;background:var(--bg-base);position:relative;overflow:hidden;border-bottom:1px solid var(--bg-border)}
.hero-sm-eyebrow{font-family:'Roboto Mono',monospace;font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--accent-red);display:block;margin-bottom:16px}
.hero-sm-title{font-family:'Barlow Condensed',sans-serif;font-size:clamp(2.4rem,6vw,4rem);font-weight:900;text-transform:uppercase;line-height:0.95;letter-spacing:-0.02em;margin-bottom:20px}
.hero-sm-sub{font-size:1rem;color:var(--text-secondary);max-width:580px;line-height:1.7}
.hero-bg-lines{position:absolute;right:0;top:0;bottom:0;width:40%;background:repeating-linear-gradient(90deg,transparent,transparent 40px,rgba(255,255,255,0.012) 40px,rgba(255,255,255,0.012) 41px);pointer-events:none}

/* MARQUEE */
.marquee-wrap{overflow:hidden;background:var(--bg-surface);border-top:1px solid var(--bg-border);border-bottom:1px solid var(--bg-border);padding:16px 0}
.marquee-track{display:flex;gap:0;white-space:nowrap;animation:marquee 25s linear infinite}
.marquee-track:hover{animation-play-state:paused}
.marquee-item{font-family:'Barlow Condensed',sans-serif;font-size:0.8rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.35);padding:0 24px}
.marquee-dot{color:var(--accent-red);padding:0 8px}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* EQUIPMENT STRIP */
.equip-strip{background:var(--accent-red);padding:28px 0}
.equip-strip-inner{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.equip-strip h3{font-family:'Barlow Condensed',sans-serif;font-size:1.5rem;font-weight:900;text-transform:uppercase;color:#fff;white-space:nowrap;letter-spacing:-0.01em;margin:0}
.equip-strip p{color:rgba(255,255,255,0.85);font-size:0.9rem;line-height:1.5;margin:0;flex:1}
@media(max-width:768px){.equip-strip-inner{flex-direction:column;gap:12px;text-align:center}}

/* STAT BAR */
.stat-bar{background:var(--bg-surface);border-top:1px solid var(--bg-border);border-bottom:1px solid var(--bg-border)}
.stat-bar-inner{display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{padding:36px 24px;border-right:1px solid var(--bg-border);text-align:center}
.stat-item:last-child{border-right:none}
.stat-val{font-family:'Roboto Mono',monospace;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:500;color:var(--text-primary);display:block;line-height:1}
.stat-val em{color:var(--accent-red);font-style:normal}
.stat-lbl{font-size:0.78rem;color:var(--text-secondary);margin-top:6px;text-transform:uppercase;letter-spacing:0.1em;display:block;font-family:'Roboto Mono',monospace}
@media(max-width:700px){.stat-bar-inner{grid-template-columns:repeat(2,1fr)}.stat-item{border-right:none;border-bottom:1px solid var(--bg-border)}}

/* SERVICE CARDS (dark) */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:48px}
.svc-card{background:var(--bg-surface);border:1px solid var(--bg-border);padding:40px 32px;display:flex;flex-direction:column;position:relative;overflow:hidden;text-decoration:none;transition:border-color 0.25s,background 0.25s;cursor:pointer}
.svc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent-red);transform:scaleX(0);transform-origin:left;transition:transform 0.3s}
.svc-card:hover{background:var(--bg-elevated);border-color:#333}
.svc-card:hover::before{transform:scaleX(1)}
.card-num{font-family:'Roboto Mono',monospace;font-size:4rem;font-weight:500;color:rgba(255,255,255,0.04);position:absolute;top:12px;right:16px;line-height:1;pointer-events:none}
.card-title{font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-primary);margin-bottom:10px;z-index:1;position:relative}
.card-desc{font-size:0.85rem;color:var(--text-secondary);line-height:1.65;flex:1;position:relative;z-index:1}
.card-price{font-family:'Roboto Mono',monospace;font-size:0.82rem;color:var(--accent-red);margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,0.06);z-index:1;position:relative}
.card-arrow{font-family:'Barlow Condensed',sans-serif;font-size:0.75rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.2);margin-top:12px;transition:color 0.2s;z-index:1;position:relative}
.svc-card:hover .card-arrow{color:var(--accent-red)}
.cert-badge-card{position:absolute;top:12px;right:12px;font-family:'Roboto Mono',monospace;font-size:0.6rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent-gold);border:1px solid var(--accent-gold);padding:3px 8px}
@media(max-width:900px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.svc-grid{grid-template-columns:1fr}}

/* GALLERY GRID */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:40px}
.gallery-item{position:relative;overflow:hidden;cursor:pointer}
.gallery-item .ph-img{aspect-ratio:4/3;width:100%;height:100%}
.gallery-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,0.85));padding:20px 16px 14px;transform:translateY(100%);transition:transform 0.3s var(--ease)}
.gallery-item:hover .gallery-overlay{transform:translateY(0)}
.gallery-lbl{font-family:'Barlow Condensed',sans-serif;font-size:0.8rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#fff;display:flex;align-items:center;justify-content:space-between}
.gallery-lbl span{color:var(--accent-red)}
@media(max-width:700px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}

/* BEFORE/AFTER SLIDER */
.ba-slider-wrap{position:relative;overflow:hidden;user-select:none;cursor:ew-resize}
.ba-before,.ba-after{position:absolute;inset:0}
.ba-after{clip-path:inset(0 0 0 50%)}
.ba-handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:var(--accent-red);transform:translateX(-50%);cursor:ew-resize;z-index:10}
.ba-handle-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;background:var(--accent-red);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;box-shadow:0 0 12px rgba(0,0,0,0.6)}
.ba-label{position:absolute;top:12px;font-family:'Roboto Mono',monospace;font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,0.6);padding:4px 10px}
.ba-label-before{left:12px}
.ba-label-after{right:12px}
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:40px}
@media(max-width:700px){.ba-grid{grid-template-columns:1fr}}

/* REVIEWS */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:48px}
.review-card{background:var(--bg-surface);border:1px solid var(--bg-border);border-left:4px solid var(--accent-red);padding:32px 28px}
.review-stars{color:var(--accent-gold);font-size:1rem;letter-spacing:2px;margin-bottom:16px}
.review-text{font-style:italic;font-size:0.92rem;color:var(--text-primary);line-height:1.75;margin-bottom:20px}
.review-name{font-weight:600;font-size:0.88rem;color:#fff;margin-bottom:2px}
.review-loc{font-size:0.78rem;color:var(--text-secondary)}
.review-svc{font-family:'Roboto Mono',monospace;font-size:0.7rem;color:var(--text-muted);margin-top:12px;text-transform:uppercase;letter-spacing:0.1em}
@media(max-width:800px){.reviews-grid{grid-template-columns:1fr}}

/* HOW IT WORKS */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;margin-top:48px}
.process-grid::before{content:'';position:absolute;top:40px;left:12.5%;right:12.5%;height:1px;border-top:2px dashed rgba(204,34,0,0.3)}
.process-step{padding:0 24px;text-align:center;position:relative}
.process-num{font-family:'Barlow Condensed',sans-serif;font-size:4rem;font-weight:900;color:rgba(204,34,0,0.12);line-height:1;margin-bottom:16px;position:relative;z-index:1}
.process-title{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:700;text-transform:uppercase;color:var(--text-primary);margin-bottom:8px}
.process-desc{font-size:0.82rem;color:var(--text-secondary);line-height:1.65}
@media(max-width:768px){.process-grid{grid-template-columns:1fr 1fr;gap:32px}.process-grid::before{display:none}}
@media(max-width:480px){.process-grid{grid-template-columns:1fr}}

/* OWNER SECTION */
.owner-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.owner-quote{font-family:'Barlow Condensed',sans-serif;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;font-style:italic;color:var(--text-primary);line-height:1.2;border-left:4px solid var(--accent-red);padding-left:24px;margin:32px 0}
@media(max-width:900px){.owner-grid{grid-template-columns:1fr;gap:40px}}

/* CERT BADGE (CSS-drawn) */
.cert-badge-wrap{display:flex;justify-content:center;margin-bottom:40px}
.cert-badge{width:160px;height:160px;border-radius:50%;border:2px solid var(--accent-gold);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;position:relative;background:radial-gradient(circle,var(--bg-elevated),var(--bg-base))}
.cert-badge-text{font-family:'Roboto Mono',monospace;font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent-gold);line-height:1.5}
.cert-badge-name{font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;font-weight:900;text-transform:uppercase;color:#fff;margin-top:4px}

/* FAQ ACCORDION */
.faq-list{margin-top:48px}
.faq-two-col{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.faq-item{border-bottom:1px solid var(--bg-border)}
.faq-question{width:100%;background:none;border:none;text-align:left;padding:20px 0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:'Barlow',sans-serif;font-size:0.95rem;font-weight:600;color:var(--text-primary);transition:color 0.2s}
.faq-question:hover{color:#fff}
.faq-chevron{color:var(--accent-red);transition:transform 0.3s;flex-shrink:0;font-style:normal;font-size:1rem;line-height:1}
.faq-item.open .faq-chevron{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.35s var(--ease)}
.faq-answer-inner{padding:0 0 20px;font-size:0.9rem;color:var(--text-secondary);line-height:1.75}
.faq-item.open{border-left:3px solid var(--accent-red);padding-left:16px}
@media(max-width:768px){.faq-two-col{grid-template-columns:1fr}}

/* PULL QUOTE */
.pull-quote{font-family:'Barlow Condensed',sans-serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;font-style:italic;color:rgba(255,255,255,0.12);text-align:center;padding:64px 0;border-top:1px solid var(--bg-border);border-bottom:1px solid var(--bg-border);margin:64px 0;line-height:1.2}

/* PRICING TABLE */
.price-tbl{width:100%;border-collapse:collapse;margin-top:32px}
.price-tbl th{background:var(--accent-red);color:#fff;font-family:'Barlow Condensed',sans-serif;font-size:0.85rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:14px 20px;text-align:left}
.price-tbl td{padding:14px 20px;font-size:0.9rem;color:var(--text-primary);border-bottom:1px solid var(--bg-border)}
.price-tbl tr:nth-child(odd) td{background:var(--bg-surface)}
.price-tbl tr:nth-child(even) td{background:var(--bg-elevated)}
.price-tbl td:not(:first-child){font-family:'Roboto Mono',monospace;color:var(--accent-red)}
.price-disclaimer{font-size:0.8rem;color:var(--text-muted);font-style:italic;margin-top:12px;padding-top:12px;border-top:1px solid var(--bg-border)}

/* PRICING PACKAGE CARDS */
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:40px}
.pkg-card{background:var(--bg-surface);border:1px solid var(--bg-border);padding:40px 32px;position:relative;transition:border-color 0.25s}
.pkg-card.featured{border-color:var(--accent-red);background:var(--bg-elevated)}
.pkg-ribbon{position:absolute;top:16px;right:16px;background:var(--accent-red);color:#fff;font-family:'Roboto Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;padding:4px 10px}
.pkg-name{font-family:'Barlow Condensed',sans-serif;font-size:1.3rem;font-weight:700;text-transform:uppercase;color:var(--text-primary);margin-bottom:8px}
.pkg-price{font-family:'Roboto Mono',monospace;font-size:2rem;font-weight:500;color:var(--accent-red);margin-bottom:4px;line-height:1}
.pkg-period{font-size:0.78rem;color:var(--text-secondary);margin-bottom:24px;font-family:'Roboto Mono',monospace}
.pkg-ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.pkg-ul li{font-size:0.85rem;color:var(--text-secondary);padding-left:20px;position:relative;line-height:1.5}
.pkg-ul li::before{content:'→';position:absolute;left:0;color:var(--accent-red);font-size:0.8rem}
@media(max-width:800px){.pkg-grid{grid-template-columns:1fr}}

/* SURFACE CARDS (pressure washing) */
.pw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:40px}
.pw-card{background:var(--bg-surface);border:1px solid var(--bg-border);padding:32px 28px;transition:border-color 0.25s,background 0.25s}
.pw-card:hover{border-color:#333;background:var(--bg-elevated)}
.pw-card-icon{font-size:2rem;margin-bottom:16px;opacity:0.7}
.pw-card-name{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:700;text-transform:uppercase;color:var(--text-primary);margin-bottom:8px}
.pw-card-desc{font-size:0.82rem;color:var(--text-secondary);line-height:1.6;margin-bottom:16px}
.pw-card-price{font-family:'Roboto Mono',monospace;font-size:0.9rem;color:var(--accent-red);font-weight:500}
@media(max-width:900px){.pw-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pw-grid{grid-template-columns:1fr}}

/* INCLUDED CHECKLIST */
.included-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;margin-top:32px}
.included-item{display:flex;gap:16px;align-items:flex-start}
.inc-check{width:20px;height:20px;border-radius:50%;background:rgba(204,34,0,0.12);border:1px solid var(--accent-red);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;font-size:0.65rem;color:var(--accent-red)}
.inc-title{font-family:'Barlow',sans-serif;font-weight:600;font-size:0.9rem;color:var(--text-primary);margin-bottom:4px}
.inc-desc{font-size:0.82rem;color:var(--text-secondary);line-height:1.6}

/* ADD-ONS */
.addons-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:24px}
.addon-row{background:var(--bg-elevated);border:1px solid var(--bg-border);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.addon-name{font-size:0.88rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}
.addon-desc{font-size:0.78rem;color:var(--text-secondary)}
.addon-price{font-family:'Roboto Mono',monospace;font-size:0.9rem;color:var(--accent-red);white-space:nowrap}
@media(max-width:600px){.addons-grid{grid-template-columns:1fr}}

/* CALLOUT BOX */
.callout-box{border:1px solid var(--bg-border);border-left:4px solid var(--accent-red);background:var(--bg-elevated);padding:28px 32px}
.callout-box.gold{border-left-color:var(--accent-gold)}
.callout-box h3{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;text-transform:uppercase;color:var(--text-primary);margin-bottom:8px}
.callout-box p{font-size:0.88rem;color:var(--text-secondary);line-height:1.65;margin:0}

/* SECTION RULE */
.section-rule{height:1px;background:linear-gradient(to right,transparent,var(--bg-border) 20%,var(--accent-red) 50%,var(--bg-border) 80%,transparent);margin:0}

/* CONTACT FORM */
.contact-layout{display:grid;grid-template-columns:3fr 2fr;gap:64px;align-items:flex-start;margin-top:48px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.form-field label{font-family:'Barlow',sans-serif;font-size:0.82rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:rgba(255,255,255,0.6)}
.form-field input,.form-field select,.form-field textarea{background:var(--bg-elevated);border:1px solid var(--bg-border);color:var(--text-primary);padding:14px 16px;border-radius:0;font-family:'Barlow',sans-serif;font-size:0.95rem;width:100%;transition:border-color 0.2s;-webkit-appearance:none}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--accent-red)}
.form-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}
.form-field textarea{min-height:120px;resize:vertical}
.contact-info-panel{background:var(--bg-surface);border:1px solid var(--bg-border);padding:36px 32px}
.ci-phone{font-family:'Barlow Condensed',sans-serif;font-size:2.4rem;font-weight:900;color:var(--accent-red);display:block;margin-bottom:8px;text-decoration:none;transition:color 0.2s}
.ci-phone:hover{color:var(--accent-red-bright)}
.ci-detail{font-size:0.85rem;color:var(--text-secondary);margin-bottom:28px}
.ci-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}
.ci-label{font-family:'Roboto Mono',monospace;font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;margin-top:3px}
.ci-val{font-size:0.88rem;color:var(--text-secondary);line-height:1.6}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:40px}.form-row{grid-template-columns:1fr}}

/* BOOKING FORM */
.bk-page{padding-top:calc(var(--nav-h) + 48px);padding-bottom:80px;background:var(--bg-base);min-height:100vh}
.bk-wrap{max-width:900px;margin:0 auto;padding:0 24px}
.bk-stepper{display:flex;align-items:center;margin-bottom:48px}
.bk-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;position:relative}
.bk-step-num{width:36px;height:36px;border-radius:50%;border:2px solid var(--bg-border);display:flex;align-items:center;justify-content:center;font-family:'Roboto Mono',monospace;font-size:0.8rem;font-weight:500;color:var(--text-muted);background:var(--bg-elevated);transition:all 0.3s;position:relative;z-index:1}
.bk-step.active .bk-step-num{border-color:var(--accent-red);color:var(--accent-red);background:rgba(204,34,0,0.1)}
.bk-step.done .bk-step-num{border-color:var(--accent-red);color:var(--accent-red);background:var(--accent-red)}
.bk-step.done .bk-step-num::after{content:'✓';position:absolute;color:#fff}
.bk-step.done .bk-step-num span{display:none}
.bk-step-lbl{font-family:'Barlow Condensed',sans-serif;font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);text-align:center;transition:color 0.3s}
.bk-step.active .bk-step-lbl{color:var(--text-primary)}
.bk-connector{flex:1;height:1px;background:var(--bg-border);margin:0 8px;margin-bottom:24px}
/* Panels */
.bk-panel{display:none}
.bk-panel.active{display:block}
.bk-panel-head{margin-bottom:32px}
.bk-panel-title{font-family:'Barlow Condensed',sans-serif;font-size:1.8rem;font-weight:700;text-transform:uppercase;color:var(--text-primary);margin-bottom:8px}
.bk-panel-sub{font-size:0.9rem;color:var(--text-secondary)}
/* Service sections */
.bk-svc-section{margin-bottom:40px}
.bk-svc-section-head{font-family:'Barlow Condensed',sans-serif;font-size:0.8rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent-red);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--bg-border)}
.svc-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.svc-chk-wrap{position:relative}
.svc-chk-wrap input[type=checkbox]{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.svc-chk-lbl{display:block;background:var(--bg-elevated);border:1px solid var(--bg-border);padding:18px 20px;cursor:pointer;transition:border-color 0.2s,background 0.2s}
.svc-chk-wrap input:checked+.svc-chk-lbl{border-color:var(--accent-red);background:rgba(204,34,0,0.07)}
.svc-chk-name{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;text-transform:uppercase;color:var(--text-primary);margin-bottom:4px}
.svc-chk-price{font-family:'Roboto Mono',monospace;font-size:0.78rem;color:var(--accent-red)}
.svc-chk-desc{font-size:0.78rem;color:var(--text-secondary);margin-top:4px;line-height:1.5}
/* Addons (hidden until service checked) */
.svc-addons{max-height:0;overflow:hidden;transition:max-height 0.3s var(--ease)}
.svc-addons.open{max-height:600px}
.addon-chk-wrap{display:flex;align-items:center;gap:10px;padding:10px 16px;background:rgba(204,34,0,0.03);border-left:2px solid rgba(204,34,0,0.3);margin-top:2px;cursor:pointer}
.addon-chk-wrap input[type=checkbox]{cursor:pointer;accent-color:var(--accent-red);width:16px;height:16px;flex-shrink:0}
.addon-chk-text{flex:1}
.addon-chk-name{font-size:0.82rem;font-weight:600;color:var(--text-secondary)}
.addon-chk-price{font-family:'Roboto Mono',monospace;font-size:0.75rem;color:var(--accent-red);margin-left:auto;white-space:nowrap}
/* Fields */
.bk-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}
.bk-field{display:flex;flex-direction:column;gap:8px}
.bk-field.span2{grid-column:1/-1}
.bk-field label{font-family:'Barlow',sans-serif;font-size:0.78rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:rgba(255,255,255,0.55)}
.bk-field input,.bk-field select,.bk-field textarea{background:var(--bg-elevated);border:1px solid var(--bg-border);color:var(--text-primary);padding:14px 16px;border-radius:0;font-family:'Barlow',sans-serif;font-size:0.95rem;width:100%;transition:border-color 0.2s;-webkit-appearance:none}
.bk-field input:focus,.bk-field select:focus,.bk-field textarea:focus{outline:none;border-color:var(--accent-red)}
.bk-field textarea{min-height:100px;resize:vertical}
.bk-hint{font-size:0.75rem;color:var(--text-muted);margin-top:2px}
.bk-err{font-size:0.75rem;color:var(--accent-red);margin-top:2px;display:none}
/* Vehicle type selector */
.vtype-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:8px}
.vtype-wrap input[type=radio]{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.vtype-lbl{display:block;background:var(--bg-elevated);border:1px solid var(--bg-border);padding:14px;text-align:center;cursor:pointer;transition:border-color 0.2s,background 0.2s}
.vtype-wrap input:checked+.vtype-lbl{border-color:var(--accent-red);background:rgba(204,34,0,0.07)}
.vtype-name{font-family:'Barlow Condensed',sans-serif;font-size:0.9rem;font-weight:700;text-transform:uppercase;color:var(--text-primary)}
/* Cond selector */
.cond-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:8px}
.cond-wrap input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.cond-lbl{display:block;background:var(--bg-elevated);border:1px solid var(--bg-border);padding:12px 10px;text-align:center;cursor:pointer;font-size:0.78rem;color:var(--text-secondary);transition:border-color 0.2s,background 0.2s}
.cond-wrap input:checked+.cond-lbl{border-color:var(--accent-red);color:var(--text-primary);background:rgba(204,34,0,0.07)}
/* Time opts */
.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:8px}
.time-wrap input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.time-lbl{display:block;background:var(--bg-elevated);border:1px solid var(--bg-border);padding:12px;text-align:center;cursor:pointer;font-size:0.82rem;color:var(--text-secondary);transition:border-color 0.2s}
.time-wrap input:checked+.time-lbl{border-color:var(--accent-red);color:var(--text-primary)}
/* Nav */
.bk-nav{display:flex;justify-content:space-between;align-items:center;margin-top:40px;padding-top:24px;border-top:1px solid var(--bg-border)}
.bk-back{background:none;border:1px solid var(--bg-border);color:var(--text-secondary);padding:12px 24px;font-family:'Barlow Condensed',sans-serif;font-size:0.8rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:border-color 0.2s,color 0.2s;border-radius:0}
.bk-back:hover{border-color:#555;color:#fff}
.bk-next,.bk-submit{background:var(--accent-red);color:#fff;border:2px solid var(--accent-red);padding:14px 36px;font-family:'Barlow Condensed',sans-serif;font-size:0.85rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:background 0.2s,box-shadow 0.2s;border-radius:0}
.bk-next:hover,.bk-submit:hover{background:var(--accent-red-bright);box-shadow:0 0 20px var(--accent-red-glow)}
/* Success */
.bk-success{display:none;text-align:center;padding:80px 0}
.bk-success.show{display:block}
.bk-success-icon{font-size:3rem;margin-bottom:24px}
.bk-success-title{font-family:'Barlow Condensed',sans-serif;font-size:2.4rem;font-weight:900;text-transform:uppercase;color:var(--text-primary);margin-bottom:16px}
.bk-success-msg{font-size:1rem;color:var(--text-secondary)}
@media(max-width:768px){.svc-cards-grid{grid-template-columns:1fr}.bk-field-grid{grid-template-columns:1fr}.vtype-grid{grid-template-columns:repeat(3,1fr)}.cond-grid{grid-template-columns:repeat(2,1fr)}.time-grid{grid-template-columns:1fr}}

/* TRAVEL INFO BOX */
.travel-box{background:var(--bg-elevated);border:1px solid var(--bg-border);border-left:4px solid var(--accent-red);padding:24px 28px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-top:32px}
.travel-stat{text-align:center}
.travel-val{font-family:'Roboto Mono',monospace;font-size:1.4rem;font-weight:500;color:var(--accent-red);display:block}
.travel-lbl{font-size:0.72rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:0.1em;font-family:'Roboto Mono',monospace;display:block;margin-top:4px}

/* FOOTER */
.site-footer{background:#050505;border-top:3px solid var(--accent-red);padding-top:72px}
.footer-grid{max-width:var(--container);margin:0 auto;padding:0 48px 64px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;border-bottom:1px solid rgba(255,255,255,0.04)}
.footer-logo-img{height:54px;width:auto;opacity:0.9;margin-bottom:20px}
.footer-brand p{font-size:0.82rem;color:rgba(255,255,255,0.25);line-height:1.85;max-width:240px;margin-bottom:22px}
.footer-phone-link{font-family:'Barlow',sans-serif;font-size:1.3rem;font-weight:600;color:var(--accent-red);text-decoration:none;display:block;transition:color 0.2s;letter-spacing:0.03em}
.footer-phone-link:hover{color:var(--accent-red-bright)}
.footer-col h4{font-family:'Roboto Mono',monospace;font-size:0.6rem;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.18);margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,0.06)}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.footer-col ul a{font-size:0.82rem;color:rgba(255,255,255,0.25);transition:color 0.2s,padding-left 0.2s;display:inline-block}
.footer-col ul a:hover{color:rgba(255,255,255,0.75);padding-left:4px}
.footer-area-cities{font-size:0.82rem;color:rgba(255,255,255,0.22);line-height:1.9;margin:0}
.footer-travel-note{font-size:0.72rem;color:rgba(255,255,255,0.12);margin-top:10px;font-family:'Roboto Mono',monospace;letter-spacing:0.03em}
.footer-bar{max-width:var(--container);margin:0 auto;padding:20px 48px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:0.72rem;color:rgba(255,255,255,0.14)}
.footer-social{display:flex;gap:12px}
.footer-social a{font-family:'Barlow Condensed',sans-serif;font-size:0.75rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.2);transition:color 0.2s;text-decoration:none}
.footer-social a:hover{color:rgba(255,255,255,0.6)}
.back-to-top{background:none;border:1px solid rgba(255,255,255,0.12);color:rgba(255,255,255,0.25);width:32px;height:32px;cursor:pointer;font-size:1rem;transition:border-color 0.2s,color 0.2s;display:flex;align-items:center;justify-content:center;border-radius:0}
.back-to-top:hover{border-color:rgba(255,255,255,0.5);color:#fff}
@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr;gap:40px}}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr;padding:0 24px 48px}.footer-bar{padding:20px 24px;flex-direction:column;align-items:flex-start}}

/* SECTION BG VARIANTS */
.bg-surface{background:var(--bg-surface)}
.bg-elevated{background:var(--bg-elevated)}
.bg-red{background:var(--accent-red)}
.bg-dark{background:var(--bg-base)}

/* INSTAGRAM GRID */
.ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:40px}
.ig-cell .ph-img{aspect-ratio:1;width:100%;cursor:pointer}
@media(max-width:700px){.ig-grid{grid-template-columns:repeat(2,1fr)}}

/* MARINE PAGE WAVES (used with page-marine.css) */
.wave-container{position:absolute;bottom:0;left:0;right:0;overflow:hidden;height:80px;pointer-events:none}

/* VEHICLE TYPE GRID for service pages */
.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:32px}
.vehicle-card{background:var(--bg-surface);border:1px solid var(--bg-border);padding:24px 20px;text-align:center}
.vehicle-card-icon{font-size:2rem;margin-bottom:12px;display:block;opacity:0.7}
.vehicle-card-name{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;text-transform:uppercase;color:var(--text-primary)}
@media(max-width:700px){.vehicle-grid{grid-template-columns:repeat(2,1fr)}}

/* CTA SECTION */
.cta-section{background:var(--bg-elevated);border-top:1px solid var(--bg-border);padding:96px 0}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.cta-left{flex:1;min-width:260px}
.cta-cities{font-family:'Roboto Mono',monospace;font-size:0.7rem;color:var(--text-muted);letter-spacing:0.1em;margin-top:20px;text-transform:uppercase}
@media(max-width:768px){.cta-inner{flex-direction:column;text-align:center}.cta-left{min-width:0}}

/* PRESSURE WASHING BANNER */
.pw-banner{background:var(--accent-red);padding:48px;margin:64px 0}
.pw-banner h3{font-family:'Barlow Condensed',sans-serif;font-size:1.8rem;font-weight:900;text-transform:uppercase;color:#fff;margin-bottom:8px}
.pw-banner p{color:rgba(255,255,255,0.85);font-size:0.95rem;margin-bottom:24px}

/* PROCESS STEPS */
.step-list{display:flex;flex-direction:column;gap:24px;margin-top:32px;counter-reset:steps}
.step-item{display:flex;gap:24px;align-items:flex-start;padding:24px;background:var(--bg-surface);border:1px solid var(--bg-border);position:relative}
.step-n{font-family:'Barlow Condensed',sans-serif;font-size:2.5rem;font-weight:900;color:rgba(204,34,0,0.2);line-height:1;flex-shrink:0;width:48px;text-align:center}
.step-content{}
.step-title-sm{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;text-transform:uppercase;color:var(--text-primary);margin-bottom:4px}
.step-desc-sm{font-size:0.85rem;color:var(--text-secondary);line-height:1.65}

/* PLAN CORRECTION NOTE */
.correction-note{background:var(--accent-gold-dim);border:1px solid var(--accent-gold);padding:20px 24px;margin-top:16px}
.correction-note p{font-size:0.85rem;color:var(--text-secondary);margin:0}
.correction-note strong{color:var(--accent-gold)}

/* PRICE CARDS */
.price-row{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:28px}
.price-card{background:var(--bg-surface);border:1px solid var(--bg-border);padding:28px 20px;text-align:center}
.price-label{font-family:'Roboto Mono',monospace;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;display:block}
.price-amount{font-family:'Barlow Condensed',sans-serif;font-size:2.4rem;font-weight:900;color:var(--accent-red);line-height:1;margin:0}
@media(max-width:640px){.price-row{grid-template-columns:1fr}}

/* ADDON CARDS */
.addon-card{background:var(--bg-surface);border:1px solid var(--bg-border);padding:22px 24px}
.addon-card h3{font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:700;text-transform:uppercase;color:var(--text-primary);margin-bottom:4px}
.addon-card p{font-size:.84rem;color:var(--text-secondary);line-height:1.6;margin:0}
.addon-card .addon-price{font-family:'Roboto Mono',monospace;font-size:.8rem;color:var(--accent-red);display:block;margin-bottom:6px}

/* LEAD FORM */
.lead-form{display:flex;flex-direction:column;gap:16px}
.lead-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lead-form-row--3{grid-template-columns:1fr 1fr 1fr}
.lead-form-field{display:flex;flex-direction:column;gap:5px}
.lead-form label{font-family:'Roboto Mono',monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.32)}
.lead-form input,.lead-form select,.lead-form textarea{background:#111;border:1px solid #252525;color:var(--text-primary);font-family:'Barlow',sans-serif;font-size:.95rem;padding:12px 16px;outline:none;transition:border-color .18s;-webkit-appearance:none;appearance:none;border-radius:0;width:100%;box-sizing:border-box}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:var(--accent-red)}
.lead-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23555'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}
.lead-form textarea{resize:vertical;min-height:110px}
.btn-block{display:block;width:100%;text-align:center;box-sizing:border-box}
@media(max-width:640px){.lead-form-row,.lead-form-row--3{grid-template-columns:1fr}}

/* LEAD CTA SECTION (service pages) */
.lead-cta-section{background:#060606;border-top:1px solid #181818;padding:80px 0}
.lead-cta-grid{display:grid;grid-template-columns:1fr 2fr;gap:64px;align-items:start}
.lead-cta-info{padding-top:4px}
.lead-cta-info h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:900;text-transform:uppercase;color:var(--text-primary);line-height:.95;margin-bottom:16px;letter-spacing:-.02em}
.lead-cta-info p{color:var(--text-secondary);font-size:.9rem;line-height:1.7;margin-bottom:24px}
.lead-cta-bullets{list-style:none;padding:0;display:flex;flex-direction:column;gap:9px;margin:0}
.lead-cta-bullets li{font-family:'Roboto Mono',monospace;font-size:.68rem;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}
.lead-cta-bullets li::before{content:'→ ';color:var(--accent-red)}
@media(max-width:768px){.lead-cta-grid{grid-template-columns:1fr;gap:40px}}

/* MISSING: pressure-washing page classes */
.pw-price{font-family:'Roboto Mono',monospace;font-size:.88rem;color:var(--accent-red);margin-bottom:10px;display:block}
.equip-strip-prominent{background:#0a0a0a;border-top:3px solid var(--accent-red);border-bottom:3px solid var(--accent-red);padding:40px 0}
.equip-strip-prominent .equip-strip-inner{max-width:var(--container);margin:0 auto;padding:0 48px}
.combo-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:28px}
.combo-card{background:var(--bg-surface);border:1px solid var(--bg-border);padding:24px 28px}
.combo-card h3{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:700;text-transform:uppercase;color:var(--text-primary);margin-bottom:8px}
.combo-card p{font-size:.85rem;color:var(--text-secondary);line-height:1.6;margin:0}
@media(max-width:640px){.combo-grid{grid-template-columns:1fr}}
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:28px}
.ba-col{display:flex;flex-direction:column;gap:8px}
.ba-col .ba-label{font-family:'Roboto Mono',monospace;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin:0}
@media(max-width:640px){.ba-pair{grid-template-columns:1fr}}
.checklist-red{list-style:none;padding:0;display:flex;flex-direction:column;gap:12px;margin-top:24px}
.checklist-red li{font-size:.9rem;color:var(--text-secondary);line-height:1.6;padding-left:22px;position:relative}
.checklist-red li::before{content:'&#10003;';position:absolute;left:0;color:var(--accent-red);font-weight:700}
.callout-travel{background:var(--bg-elevated);border:1px solid var(--bg-border);border-left:3px solid var(--accent-red);padding:16px 20px;margin:32px 0}
.callout-travel p{font-family:'Roboto Mono',monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);margin:0}

.stat-value{font-family:'Barlow Condensed',sans-serif;font-size:2.2rem;font-weight:900;text-transform:uppercase;color:var(--text-primary);line-height:1;display:block;margin-bottom:6px}
.stat-label{font-family:'Roboto Mono',monospace;font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--text-muted);display:block}
.vehicle-icon{font-size:1.8rem;display:block;margin-bottom:12px;opacity:0.6}
.section-eyebrow{font-family:'Roboto Mono',monospace;font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--accent-red);display:block;margin-bottom:12px}

/* MOBILE FIX ADDITIONS */

/* STAT BAR — aliases for stat-value/stat-label (used on ceramic page) */
.stat-value{font-family:'Roboto Mono',monospace;font-size:clamp(1.4rem,3vw,2.4rem);font-weight:500;color:var(--text-primary);display:block;line-height:1}
.stat-value em{color:var(--accent-red);font-style:normal}
.stat-label{font-size:0.75rem;color:var(--text-secondary);margin-top:6px;text-transform:uppercase;letter-spacing:0.1em;display:block;font-family:'Roboto Mono',monospace}

/* STAT BAR inner — padding on mobile */
@media(max-width:480px){
  .stat-bar-inner{padding:0 4px}
  .stat-item{padding:24px 12px}
}

/* PROCESS / STEP LIST (used on ceramic and other service pages) */
.step-list{display:flex;flex-direction:column;gap:0;list-style:none;padding:0;margin:0}
.step-item{display:flex;gap:24px;align-items:flex-start;padding:24px 0;border-bottom:1px solid var(--bg-border)}
.step-item:last-child{border-bottom:none}
.step-n{font-family:'Barlow Condensed',sans-serif;font-size:3.5rem;font-weight:900;color:rgba(255,255,255,0.05);line-height:1;flex-shrink:0;width:52px;text-align:right}
.step-content{flex:1;padding-top:6px}
.step-title-sm{font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:700;text-transform:uppercase;color:var(--text-primary);margin-bottom:4px;letter-spacing:0.02em;display:block}
.step-desc-sm{font-size:0.85rem;color:var(--text-secondary);line-height:1.65;margin:0}
@media(max-width:480px){.step-n{font-size:2.5rem;width:40px}}

/* FAQ BODY — alias for faq-answer-inner */
.faq-body{padding:0 0 20px;font-size:0.9rem;color:var(--text-secondary);line-height:1.75}

/* CERAMIC PRICING GRID — 3-col collapsing */
.pkg-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
@media(max-width:760px){.pkg-pricing-grid{grid-template-columns:1fr}}
@media(max-width:760px){.pkg-pricing-grid>*:nth-child(2){order:-1}}

/* CORRECTION COMPARE (paint correction page) */
.correction-compare{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:40px}
.correction-card{background:var(--bg-surface);border:1px solid var(--bg-border);padding:36px 32px}
.correction-card h3{font-family:'Barlow Condensed',sans-serif;font-size:1.3rem;font-weight:700;text-transform:uppercase;color:var(--text-primary);margin-bottom:12px}
@media(max-width:640px){.correction-compare{grid-template-columns:1fr}}

/* BA PAIR (paint correction page) */
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:32px}
.ba-col>p{font-family:'Roboto Mono',monospace;font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}
@media(max-width:640px){.ba-pair{grid-template-columns:1fr}}

/* CALLOUT GOLD VARIANT */
.callout-box.callout-gold{border-left-color:var(--accent-gold)}
.btn-outline-gold{background:transparent;color:var(--accent-gold);border:2px solid var(--accent-gold);display:inline-flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:0.85rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:12px 28px;cursor:pointer;transition:background 0.2s;text-decoration:none;margin-top:20px}
.btn-outline-gold:hover{background:rgba(201,168,76,0.12)}

/* PRICE TABLE — horizontal scroll on mobile */
.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:32px}
.tbl-scroll .price-tbl{margin-top:0;min-width:480px}

/* VIDEO STRIP — responsive height */
@media(max-width:640px){
  .video-strip{height:260px!important}
}

/* HERO SM — add bottom padding for mobile CTA bar */
@media(max-width:768px){
  .hero-sm{padding-bottom:80px}
  .hero-full{padding-bottom:80px}
}

/* BOOKING FORM mobile tweaks */
@media(max-width:480px){
  .vtype-grid{grid-template-columns:repeat(2,1fr)!important}
  .cond-grid{grid-template-columns:repeat(2,1fr)!important}
  .time-grid{grid-template-columns:repeat(2,1fr)!important}
}

/* GALLERY GRID — single col at very small screens */
@media(max-width:400px){.gallery-grid{grid-template-columns:1fr}}

/* MOBILE CTA BAR — ensure it shows correctly over content */
@media(max-width:768px){
  .mobile-cta-bar{display:flex!important}
  body{padding-bottom:56px}
}

/* LEAD FORM SUCCESS STATE */
.lead-success{text-align:center;padding:48px 24px}
.lead-success-icon{margin-bottom:20px}
.lead-success-icon svg{display:block;margin:0 auto}
.lead-success-title{font-family:'Barlow Condensed',sans-serif;font-size:1.8rem;font-weight:900;text-transform:uppercase;color:var(--text-primary);margin-bottom:12px;letter-spacing:-.01em}
.lead-success-msg{font-size:.9rem;color:var(--text-secondary);line-height:1.7;max-width:360px;margin:0 auto}
.lead-success-msg a{color:var(--accent-red);text-decoration:none}


/* ================================================================
   ANIMATION LAYER — site-anim.js hooks
   Added by phase3_upload.py
   ================================================================ */

/* 1. PAGE FADE-IN */
body { opacity: 0; transition: opacity 0.4s ease; }
body.page-loaded { opacity: 1; }

/* 2. NAV COMPACT */
#site-nav {
  transition: padding 0.35s cubic-bezier(0.22,1,0.36,1),
              backdrop-filter 0.35s ease,
              background 0.35s ease;
}
#site-nav.nav-compact {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  backdrop-filter: blur(16px) saturate(1.4);
  background: rgba(8,8,8,0.92) !important;
}

/* 3. HERO LINE REVEAL */
.hero-line-wrap {
  display: block;
  overflow: hidden;
}
.hero-line {
  display: block;
  opacity: 0;
  transform: translateY(60%) skewY(2deg);
  transition: opacity 0.65s cubic-bezier(0.22,1,0.36,1),
              transform 0.65s cubic-bezier(0.22,1,0.36,1);
}
.hero-line.hero-line-visible {
  opacity: 1;
  transform: translateY(0) skewY(0);
}

/* 4. KEN BURNS */
@keyframes kenBurns {
  0%   { transform: scale(1)    translate(0,0); }
  50%  { transform: scale(1.06) translate(-1%,-0.5%); }
  100% { transform: scale(1)    translate(0,0); }
}
.ken-burns {
  animation: kenBurns 16s ease-in-out infinite;
  transform-origin: center center;
}

/* 5. SECTION TITLE ANIMATE */
.title-animate {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s cubic-bezier(0.22,1,0.36,1),
              transform 0.6s cubic-bezier(0.22,1,0.36,1);
}
.title-animate.title-animated {
  opacity: 1;
  transform: translateY(0);
}

/* 6. PRICING CARD gradient border + hover lift */
@property --angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
@keyframes gradBorder {
  to { --angle: 360deg; }
}
.pkg-card {
  position: relative;
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1),
              box-shadow 0.4s ease;
}
.pkg-card::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: conic-gradient(from var(--angle), #cc2200, #ff5533, #ffaa00, #cc2200);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  animation: gradBorder 4s linear infinite;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.pkg-card:hover::before { opacity: 1; }
.pkg-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 48px rgba(204,34,0,0.18), 0 8px 20px rgba(0,0,0,0.5);
}

/* 7. BA HANDLE PULSE */
@keyframes handlePulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(204,34,0,0.5); }
  50%       { box-shadow: 0 0 0 10px rgba(204,34,0,0); }
}
.ba-handle {
  animation: handlePulse 2s ease infinite;
}

/* 8. MOBILE CTA BAR */
.mobile-cta-bar {
  transition: transform 0.35s cubic-bezier(0.22,1,0.36,1);
  will-change: transform;
}

/* 9. BUTTON RIPPLE */
@keyframes rippleOut {
  to { transform: scale(1); opacity: 0; }
}

/* 10. BADGE FLOAT */
@keyframes badgeFloat {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-4px); }
}
.badge-float {
  animation: badgeFloat 2.2s ease-in-out infinite;
}

/* 11. BOOKING SKELETON LOADER */
.iframe-skeleton {
  position: relative;
  min-height: 600px;
  background: #111;
  border-radius: 4px;
  overflow: hidden;
}
.skeleton-shimmer {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,0.05) 50%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: shimmerSlide 1.5s ease-in-out infinite;
}
@keyframes shimmerSlide {
  0%   { background-position: -200% 0; }
  100% { background-position:  200% 0; }
}

/* 12. PRICING PRICE PULSE (CSS reinforcement) */
.pkg-price {
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1);
  display: inline-block;
}

/* 13. REDUCED MOTION — blanket override */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  body { opacity: 1; }
  .hero-line {
    opacity: 1 !important;
    transform: none !important;
  }
  .title-animate {
    opacity: 1 !important;
    transform: none !important;
  }
}


/* btn + btn-red — fixes form submit buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:0.85rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:14px 32px;border-radius:0;cursor:pointer;transition:background 0.2s,border-color 0.2s,box-shadow 0.2s,color 0.2s;text-decoration:none;border:2px solid transparent;white-space:nowrap}
.btn-red{background:var(--accent-red);color:#fff !important;border-color:var(--accent-red)}
.btn-red:hover{background:var(--accent-red-bright);box-shadow:0 0 24px var(--accent-red-glow)}

/* ── Nav improvements (2026-05) ── */
.nav-has-drop{display:inline-flex;align-items:center;gap:5px}
.nav-chev{flex-shrink:0;opacity:.5;transition:transform .22s ease,opacity .22s}
.nav-dropdown-wrap:hover .nav-chev{transform:rotate(180deg);opacity:.9}
.nav-phone{color:rgba(255,255,255,.72)!important}
.nav-phone:hover{color:#fff!important}
.nav-dropdown a{border-left:2px solid transparent}
.nav-dropdown a:hover{color:#fff!important;background:rgba(255,255,255,.04)!important;border-left-color:var(--accent-red,#cc2200)}
.nav-dropdown a.active{color:#fff!important;border-left-color:var(--accent-red,#cc2200)}
.nav-dropdown-wrap.has-active>a{color:#fff!important}
/* ── Structured mobile overlay ── */
.mob-nav-overlay{flex-direction:column;align-items:stretch;justify-content:flex-start}
.mob-nav-top{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #141418;flex-shrink:0}
.mob-nav-close{background:none;border:1px solid #2a2a30;color:rgba(255,255,255,.6);width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;line-height:1;transition:border-color .2s,color .2s}
.mob-nav-close:hover{border-color:#555;color:#fff}
.mob-nav-links{padding:20px 20px 0;flex:1;overflow-y:auto}
.mob-nav-section{margin-bottom:24px}
.mob-nav-label{font-family:'Roboto Mono',monospace;font-size:.58rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.18);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #141418}
.mob-nav-link{display:block;font-family:'Barlow Condensed',sans-serif;font-size:1.45rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:rgba(255,255,255,.65);padding:7px 0;text-decoration:none;transition:color .15s,padding-left .15s}
.mob-nav-link:hover{color:#fff;padding-left:4px}
.mob-nav-sub{font-size:.95rem!important;font-weight:600!important;color:rgba(255,255,255,.28)!important;padding-left:14px!important}
.mob-nav-sub:hover{color:rgba(255,255,255,.65)!important;padding-left:18px!important}
.mob-nav-footer{padding:20px;border-top:1px solid #141418;flex-shrink:0;display:flex;flex-direction:column;gap:10px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
.mob-book-btn{display:block;text-align:center;padding:16px;background:var(--accent-red);font-family:'Barlow Condensed',sans-serif;font-size:.88rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;text-decoration:none;transition:background .2s}
.mob-book-btn:hover{background:var(--accent-red-bright,#ff3300)}
.mob-phone-link{display:block;text-align:center;padding:10px;font-family:'Barlow Condensed',sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.55);text-decoration:none;transition:color .2s}
.mob-phone-link:hover{color:rgba(255,255,255,.9)}
/* ── Mobile CTA bar ── */
.mob-cta-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:998;background:#0a0a0a;border-top:1px solid #1e1e22;padding:10px 14px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));gap:10px;align-items:center}
.mob-cta-call{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:13px 8px;border:1px solid #2a2a30;font-family:'Barlow Condensed',sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.65);text-decoration:none;transition:border-color .2s,color .2s}
.mob-cta-call:hover{border-color:#555;color:#fff}
.mob-cta-book{flex:2;display:flex;align-items:center;justify-content:center;padding:13px 8px;background:var(--accent-red);font-family:'Barlow Condensed',sans-serif;font-size:.85rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;text-decoration:none;transition:background .2s}
.mob-cta-book:hover{background:var(--accent-red-bright,#ff3300)}
@media(max-width:900px){.mob-cta-bar{display:flex}body{padding-bottom:70px}}
