  :root{
    --black:#0c0b0a; --ink:#161412; --panel:#1c1916;
    --orange:#E8741C; --orange-bright:#FF8324; --cream:#F3EFE7;
    --tan:#C9A87A; --muted:#9b9388; --line:rgba(243,239,231,.12);
    --safe-b:env(safe-area-inset-bottom,0px);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--black);color:var(--cream);font-family:'Inter',sans-serif;line-height:1.6;overflow-x:hidden;-webkit-tap-highlight-color:transparent}
  ::selection{background:var(--orange);color:#000}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:1180px;margin:0 auto;padding:0 22px}
  h1,h2,h3,.display{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.5px;line-height:.95}
  .eyebrow{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:3px;font-size:.78rem;color:var(--orange)}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;font-size:.95rem;padding:.95rem 1.7rem;border-radius:3px;cursor:pointer;border:none;transition:transform .15s ease, box-shadow .15s ease, background .15s}
  .btn-primary{background:var(--orange);color:#0c0b0a;box-shadow:0 8px 24px rgba(232,116,28,.35)}
  .btn-primary:hover{transform:translateY(-2px);background:var(--orange-bright);box-shadow:0 12px 30px rgba(232,116,28,.5)}
  .btn-ghost{background:transparent;color:var(--cream);border:2px solid var(--line)}
  .btn-ghost:hover{border-color:var(--orange);color:var(--orange)}

  /* ---------- NAV ---------- */
  header{position:sticky;top:0;z-index:100;background:rgba(12,11,10,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  nav{display:flex;align-items:center;justify-content:space-between;height:68px}
  .brand{display:flex;align-items:center;gap:11px}
  .brand .mark{display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .brand .mark img{height:44px;width:auto;object-fit:contain;display:block}
  .brand b{font-family:'Anton',sans-serif;font-size:1.05rem;letter-spacing:.5px;text-transform:uppercase;line-height:.9;display:block}
  .brand small{display:block;font-family:'Oswald';font-weight:500;font-size:.58rem;letter-spacing:2px;color:var(--tan);text-transform:uppercase}
  .nav-links{display:flex;gap:26px;align-items:center}
  .nav-links a{font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:.84rem;color:var(--cream);opacity:.82;transition:.15s}
  .nav-links a:not(.nav-cta):hover{opacity:1;color:var(--orange)}
  .nav-cta{background:var(--orange);color:#0c0b0a!important;padding:.55rem 1.05rem;border-radius:3px;opacity:1!important;font-weight:700;letter-spacing:1px}
  .nav-cta:hover{background:var(--orange-bright)}
  .nav-toggle{display:none;background:none;border:none;color:var(--cream);cursor:pointer;padding:8px}
  .nav-toggle svg{width:28px;height:28px}
  .mobile-menu{display:none;position:fixed;inset:68px 0 0;z-index:99;background:rgba(12,11,10,.98);backdrop-filter:blur(8px);flex-direction:column;padding:30px 22px;gap:6px}
  .mobile-menu.open{display:flex}
  .mobile-menu a{font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:1.5px;font-size:1.25rem;padding:16px 4px;border-bottom:1px solid var(--line);color:var(--cream)}
  .mobile-menu a:hover{color:var(--orange)}
  .mobile-menu .btn{margin-top:18px;font-size:1.05rem}
  @media(max-width:880px){.nav-links{display:none}.nav-toggle{display:block}.brand small{display:none}}

  /* ---------- HERO ---------- */
  .hero{position:relative;text-align:center;padding:74px 0 70px;overflow:hidden;
    background-image:url('../images/hero-bg.jpg');background-size:cover;background-position:center;background-repeat:no-repeat}
  /* dark overlay so the logo + white text stay readable on the photo */
  .hero::before{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg,rgba(12,11,10,.72),rgba(12,11,10,.55) 45%,rgba(12,11,10,.85));}
  .hero::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(ellipse 75% 65% at 50% 40%,transparent,rgba(12,11,10,.5));}
  .hero .wrap{position:relative;z-index:1}
  .hero-logo{position:relative;width:min(300px,66vw);margin:0 auto 22px;filter:drop-shadow(0 18px 40px rgba(0,0,0,.9))}
  @media(max-width:760px){
    .hero{background-image:url('../images/hero-bg-mobile.jpg')}
  }
  .hero h1{font-size:clamp(2.4rem,6vw,4.6rem);position:relative;margin-bottom:6px}
  .hero h1 .o{color:var(--orange)}
  .hero .lede{position:relative;font-size:1.12rem;color:#d8d2c7;max-width:600px;margin:14px auto 28px}
  .hero-cta{position:relative;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
  .hero-phone{position:relative;margin-top:22px;display:inline-flex;align-items:center;gap:9px;font-family:'Anton';font-size:1.7rem;color:var(--orange);letter-spacing:1px}
  .hero-phone svg{width:22px;height:22px}
  .hero-area{position:relative;margin-top:14px;font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:2px;font-size:.8rem;color:var(--tan)}
  .hero-sub{position:relative;font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:2.5px;font-size:clamp(.85rem,2vw,1.1rem);color:var(--cream);margin-top:10px}

  /* ---------- MEET ZAC ---------- */
  .meet{padding:84px 0;position:relative}
  .meet-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}
  .meet-photo{position:relative}
  .meet-photo img{width:100%;border-radius:8px;border:3px solid rgba(232,116,28,.55);box-shadow:0 24px 60px rgba(0,0,0,.6)}
  .meet-photo .tag{position:absolute;left:-14px;bottom:26px;background:var(--orange);color:#0c0b0a;font-family:'Anton';text-transform:uppercase;font-size:1.05rem;letter-spacing:1px;padding:.5rem 1.1rem;border-radius:3px;box-shadow:0 8px 20px rgba(0,0,0,.4);transform:rotate(-2deg)}
  .meet-photo .tag small{display:block;font-family:'Oswald';font-weight:600;font-size:.6rem;letter-spacing:2px;color:#3a1f08}
  .meet h2{font-size:clamp(2.1rem,4.5vw,3.3rem);margin:8px 0 4px}
  .meet h2 .o{color:var(--orange)}
  .meet .meet-copy>p{color:#d2cbbf;margin-top:14px}
  .promise-rows{display:grid;gap:12px;margin-top:26px}
  .prow{display:grid;grid-template-columns:54px 1fr;align-items:center;gap:16px;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:6px;padding:16px 18px;transition:.2s}
  .prow:hover{transform:translateX(4px);background:#221d18}
  .prow .picon{width:54px;height:54px;border-radius:50%;border:3px solid var(--orange);display:flex;align-items:center;justify-content:center;color:var(--orange);position:relative}
  .prow .picon svg{width:24px;height:24px}
  .prow .big{font-family:'Anton';font-size:1.5rem;color:var(--orange)}
  .prow.no .picon::after{content:"";position:absolute;width:62px;height:3px;background:var(--orange);transform:rotate(-45deg)}
  .prow h3{font-size:1.15rem;letter-spacing:0}
  .prow h3 .o{color:var(--orange);font-size:1.15rem}
  .prow span{color:#bdb6aa;font-size:.86rem}
  @media(max-width:880px){
    .meet-grid{grid-template-columns:1fr;gap:34px}
    .meet-photo{max-width:380px;margin:0 auto}
  }

  /* ---------- INTERACTIVE BEFORE/AFTER SLIDER ---------- */
  .ba-slider{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#000;
    aspect-ratio:16/8;max-width:900px;margin:0 auto 22px;cursor:ew-resize;user-select:none;touch-action:none;box-shadow:0 24px 60px rgba(0,0,0,.5)}
  .ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
  .ba-slider .after-wrap{position:absolute;inset:0;overflow:hidden}
  .ba-slider .divider{position:absolute;top:0;bottom:0;width:4px;background:var(--orange);box-shadow:0 0 14px rgba(232,116,28,.8);transform:translateX(-2px);pointer-events:none}
  .ba-slider .knob{position:absolute;top:50%;width:46px;height:46px;border-radius:50%;background:var(--orange);color:#0c0b0a;display:flex;align-items:center;justify-content:center;transform:translate(-23px,-50%);box-shadow:0 6px 18px rgba(0,0,0,.5);pointer-events:none}
  .ba-slider .knob svg{width:26px;height:26px}
  .ba-slider .ba-lbl{position:absolute;top:12px;font-family:'Oswald';font-weight:700;font-size:.66rem;letter-spacing:2px;padding:4px 11px;border-radius:2px;text-transform:uppercase;pointer-events:none}
  .ba-slider .lbl-before{left:12px;background:#000;color:#fff}
  .ba-slider .lbl-after{right:12px;background:var(--orange);color:#000}
  .ba-slider-cap{text-align:center;font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:2px;font-size:.78rem;color:var(--tan);margin:-6px auto 36px}
  @media(max-width:680px){.ba-slider{aspect-ratio:4/3}}

  /* ---------- HOW IT WORKS ---------- */
  .steps{padding:70px 0;background:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
  .stepc{position:relative;background:var(--black);border:1px solid var(--line);border-radius:8px;padding:30px 26px;transition:.2s}
  .stepc:hover{transform:translateY(-4px);border-color:rgba(232,116,28,.4)}
  .stepc .num{font-family:'Anton';font-size:2.6rem;color:var(--orange);line-height:1;opacity:.9}
  .stepc h3{font-size:1.3rem;letter-spacing:0;margin:12px 0 8px}
  .stepc p{color:var(--muted);font-size:.92rem}
  @media(max-width:760px){.steps-grid{grid-template-columns:1fr}}

  /* ---------- TRUST BAR ---------- */
  .trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink)}
  .trust .wrap{display:flex;flex-wrap:wrap;justify-content:space-around;gap:16px;padding:22px}
  .trust-item{display:flex;align-items:center;gap:12px;text-align:left}
  .trust-item .ti-ic{width:40px;height:40px;border-radius:50%;border:2px solid var(--orange);display:flex;align-items:center;justify-content:center;color:var(--orange);flex-shrink:0}
  .trust-item .ti-ic svg{width:22px;height:22px}
  .trust-num{font-family:'Anton';font-size:1.5rem;color:var(--cream);line-height:1}
  .trust-lbl{font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:.72rem;color:#cfc8bc;line-height:1.2}
  .stars-sm{color:var(--orange);letter-spacing:2px;font-size:.9rem}
  @media(max-width:760px){
    .trust .wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 16px}
    .trust-item{flex-direction:column;text-align:center;gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px 12px}
    .trust-item .ti-ic{width:44px;height:44px}
    .trust-num{font-size:1.3rem}
    .trust-lbl{font-size:.68rem;letter-spacing:.5px}
    .stars-sm{font-size:1rem}
  }

  /* ---------- SECTION HEAD ---------- */
  .sec{padding:80px 0}
  .sec-head{margin-bottom:38px}
  .sec-head.center{text-align:center}
  .sec-head h2{font-size:clamp(2rem,4.5vw,3.2rem)}
  .sec-head h2 .o{color:var(--orange)}
  .sec-head .eyebrow{margin-bottom:8px;display:block}
  .sec-head p{color:var(--muted);margin-top:10px}

  /* ---------- SERVICES CAROUSEL ---------- */
  .services{background:var(--ink);border-top:1px solid var(--line)}
  .carousel{position:relative}
  .track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 18px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .track::-webkit-scrollbar{display:none}
  .scard{scroll-snap-align:center;flex:0 0 300px;background:var(--black);border:1px solid var(--line);border-radius:10px;padding:30px 26px;position:relative;overflow:hidden;transition:.2s}
  .scard::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .25s}
  .scard.active::before,.scard:hover::before{transform:scaleX(1)}
  .scard.active{border-color:rgba(232,116,28,.4)}
  .scard .si{width:46px;height:46px;object-fit:contain;object-position:left center;display:block;margin-bottom:16px}
  .scard h3{font-size:1.3rem;letter-spacing:0;margin-bottom:8px}
  .scard p{color:var(--muted);font-size:.92rem}
  .car-ctrl{display:flex;align-items:center;justify-content:space-between;margin-top:14px;gap:16px}
  .dots{display:flex;gap:8px;flex-wrap:wrap}
  .dot{width:9px;height:9px;border-radius:50%;background:var(--line);border:none;cursor:pointer;padding:0;transition:.2s}
  .dot.on{background:var(--orange);width:26px;border-radius:5px}
  .arrows{display:flex;gap:10px}
  .arrows button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
  .arrows button:hover{border-color:var(--orange);color:var(--orange)}
  .arrows svg{width:20px;height:20px}
  @media(max-width:560px){.scard{flex-basis:84vw}}

  /* ---------- REVIEWS ---------- */
  .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .rev{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:28px 26px}
  .rev .stars{color:var(--orange);font-size:1.05rem;letter-spacing:3px;margin-bottom:14px}
  .rev .quote{font-size:.95rem;color:#d6cfc3;line-height:1.65}
  .rev .who{margin-top:18px;font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:.82rem;color:var(--orange)}
  .rev .who span{display:block;font-family:'Inter';text-transform:none;letter-spacing:0;font-weight:400;font-size:.72rem;color:var(--muted)}
  @media(max-width:880px){.rev-grid{grid-template-columns:1fr}}

  /* ---------- RESULTS / BEFORE-AFTER ---------- */
  .results-sec{background:var(--black)}
  .ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .ba{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}
  .ba-imgs{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#000}
  .ba-imgs.single{grid-template-columns:1fr}
  .ba-imgs figure{position:relative;margin:0;aspect-ratio:1/.85;overflow:hidden}
  .ba-imgs.single figure{aspect-ratio:2/1}
  .ba-imgs img{width:100%;height:100%;object-fit:cover}
  .ba-imgs figcaption{position:absolute;top:8px;left:8px;background:#000;color:#fff;font-family:'Oswald';font-weight:700;font-size:.62rem;letter-spacing:2px;padding:3px 9px;border-radius:2px;text-transform:uppercase}
  .ba-imgs figure:last-child figcaption{background:var(--orange);color:#000}
  .ba-imgs.single figcaption{background:var(--orange);color:#000}
  .ba-body{padding:18px 20px}
  .ba-body h3{font-size:1.15rem;letter-spacing:0;color:var(--cream)}
  .ba-body p{color:#bdb6aa;font-size:.88rem;margin-top:6px}
  @media(max-width:880px){.ba-grid{grid-template-columns:1fr}}

  /* ---------- SERVICE AREA ---------- */
  .area{background:var(--ink);border-top:1px solid var(--line)}
  .area-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
  .area-map{border-radius:10px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:var(--panel)}
  .area-map iframe{width:100%;height:100%;border:0}
  .city-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
  .city{display:flex;align-items:center;gap:10px;font-family:'Oswald';font-weight:600;letter-spacing:.5px;color:#d6cfc3;font-size:.95rem}
  .city svg{width:16px;height:16px;color:var(--orange);flex-shrink:0}
  .area .counties{margin-top:22px;font-size:.9rem;color:var(--muted)}
  @media(max-width:880px){.area-grid{grid-template-columns:1fr;gap:28px}}

  /* ---------- FAQ ---------- */
  .faq-list{max-width:820px;margin:0 auto;display:grid;gap:12px}
  .faq{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}
  .faq button{width:100%;text-align:left;background:none;border:none;color:var(--cream);font-family:'Oswald';font-weight:600;font-size:1.05rem;letter-spacing:.3px;padding:20px 22px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px}
  .faq button .pm{width:24px;height:24px;flex-shrink:0;color:var(--orange);transition:transform .25s}
  .faq.open button .pm{transform:rotate(45deg)}
  .faq .ans{max-height:0;overflow:hidden;transition:max-height .3s ease}
  .faq .ans p{padding:0 22px 20px;color:#bdb6aa;font-size:.95rem}
  .faq.open .ans{max-height:300px}

  /* ---------- MULTI-STEP FORM ---------- */
  section.quote{background:linear-gradient(180deg,var(--black),var(--ink));border-top:1px solid var(--line)}
  .form-card{max-width:680px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:34px;position:relative}
  .steps-bar{display:flex;align-items:center;gap:8px;margin-bottom:28px}
  .step-pip{flex:1;height:5px;border-radius:3px;background:var(--line);transition:.3s}
  .step-pip.done{background:var(--orange)}
  .step-label{text-align:center;font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:2px;font-size:.74rem;color:var(--tan);margin-bottom:22px}
  .step{display:none;animation:fade .35s ease}
  .step.active{display:block}
  @keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  .step h3{font-size:1.5rem;letter-spacing:0;margin-bottom:6px;text-align:center}
  .step .sub{text-align:center;color:var(--muted);font-size:.92rem;margin-bottom:24px}
  .opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .opt{display:flex;align-items:center;gap:13px;background:var(--black);border:1px solid var(--line);border-radius:8px;padding:16px 16px;cursor:pointer;transition:.15s;text-align:left;color:var(--cream);font-family:'Inter';font-size:.95rem;font-weight:500}
  .opt:hover{border-color:rgba(232,116,28,.5)}
  .opt.sel{border-color:var(--orange);background:rgba(232,116,28,.1);box-shadow:0 0 0 2px rgba(232,116,28,.25)}
  .opt .oic{width:34px;height:34px;border-radius:7px;background:var(--panel);display:flex;align-items:center;justify-content:center;color:var(--orange);flex-shrink:0}
  .opt .oic svg{width:20px;height:20px}
  .opt.sel .oic{background:var(--orange);color:#0c0b0a}
  .field{margin-bottom:15px}
  .field label{display:block;font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:.72rem;color:var(--tan);margin-bottom:7px}
  .field input,.field textarea{width:100%;background:var(--black);border:1px solid var(--line);border-radius:6px;padding:13px 14px;color:var(--cream);font-family:'Inter';font-size:1rem;transition:.15s}
  .field input:focus,.field textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,116,28,.18)}
  .field textarea{resize:vertical;min-height:90px}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
  .step-nav{display:flex;gap:12px;margin-top:24px}
  .step-nav .btn{flex:1}
  .btn-back{background:transparent;border:1px solid var(--line);color:var(--cream)}
  .btn-back:hover{border-color:var(--orange);color:var(--orange);transform:none;box-shadow:none}
  .summary{background:var(--black);border:1px solid var(--line);border-radius:8px;padding:16px 18px;margin-bottom:18px;font-size:.9rem}
  .summary div{display:flex;justify-content:space-between;gap:14px;padding:5px 0;color:#cfc8bc}
  .summary div span:first-child{color:var(--muted);font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:.72rem}
  .form-note{text-align:center;font-size:.8rem;color:var(--muted);margin-top:14px}
  .form-success{display:none;text-align:center;padding:30px 10px}
  .form-success.show{display:block}
  .form-success .chk{width:64px;height:64px;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
  .form-success .chk svg{width:36px;height:36px;color:#0c0b0a}
  .form-success h3{font-size:1.7rem;letter-spacing:0}
  .form-success p{color:#cfc8bc;margin-top:10px;max-width:420px;margin-left:auto;margin-right:auto}
  @media(max-width:560px){.opt-grid{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}.form-card{padding:24px 20px}}

  /* ---------- FINAL CTA ---------- */
  .cta{text-align:center;padding:84px 0;background:var(--black)}
  .cta h2{font-size:clamp(2.2rem,5vw,3.8rem)}
  .cta h2 .o{color:var(--orange)}
  .cta p{color:#cfc8bc;font-size:1.08rem;margin:14px auto 26px;max-width:540px}
  .cta-phone{font-family:'Anton';font-size:clamp(2.2rem,7vw,3.8rem);color:var(--orange);letter-spacing:2px;display:inline-block}
  .cta-sub{font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--tan);font-size:.82rem;margin-top:6px}

  /* ---------- FOOTER (NAP) ---------- */
  footer{background:var(--ink);border-top:1px solid var(--line);padding:50px 0 calc(30px + var(--safe-b))}
  .foot{display:grid;grid-template-columns:1.4fr 1fr 1.1fr;gap:40px}
  .fmark{display:flex;align-items:center;gap:12px;margin-bottom:16px}
  .fmark .mark{display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .fmark .mark img{height:50px;width:auto;object-fit:contain;display:block}
  .fmark b{font-family:'Anton';font-size:1.25rem;text-transform:uppercase;letter-spacing:.5px;line-height:.9;display:block}
  .fmark small{font-family:'Oswald';font-weight:500;font-size:.6rem;letter-spacing:2px;color:var(--tan);text-transform:uppercase}
  .foot-brand p{color:var(--muted);font-size:.9rem;max-width:320px}
  .foot-social{display:flex;gap:10px;margin-top:16px}
  .foot-social a{width:40px;height:40px;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--cream);transition:.15s}
  .foot-social a:hover{border-color:var(--orange);color:var(--orange)}
  .foot-social svg{width:20px;height:20px}
  .foot-col h4{font-family:'Oswald';font-weight:700;text-transform:uppercase;letter-spacing:2px;font-size:.8rem;color:var(--orange);margin-bottom:14px}
  .nap a,.nap span{display:flex;align-items:flex-start;gap:10px;color:#cfc8bc;font-size:.92rem;margin-bottom:12px}
  .nap svg{width:17px;height:17px;color:var(--orange);flex-shrink:0;margin-top:3px}
  .nap a:hover{color:var(--orange)}
  .foot-col.links a{display:block;color:#cfc8bc;font-size:.9rem;margin-bottom:9px}
  .foot-col.links a:hover{color:var(--orange)}
  .legal{border-top:1px solid var(--line);margin-top:38px;padding-top:20px;color:#6e675d;font-size:.78rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
  @media(max-width:880px){.foot{grid-template-columns:1fr;gap:30px}}

  /* ---------- STICKY MOBILE ACTION BAR ---------- */
  .actionbar{position:fixed;bottom:0;left:0;right:0;z-index:95;display:none;background:#0c0b0a;padding-bottom:var(--safe-b);box-shadow:0 -6px 20px rgba(0,0,0,.45)}
  .actionbar-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--line)}
  .actionbar a{background:var(--ink);color:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:11px 4px;font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:.72rem}
  .actionbar a svg{width:21px;height:21px;color:var(--orange)}
  .actionbar a.primary{background:var(--orange);color:#0c0b0a}
  .actionbar a.primary svg{color:#0c0b0a}
  @media(max-width:880px){.actionbar{display:block}body{padding-bottom:64px}}

  .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease, transform .6s ease}
  .reveal.in{opacity:1;transform:none}
  @media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}.step{animation:none}}
  :focus-visible{outline:3px solid var(--orange-bright);outline-offset:2px}
  
.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ba{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}

.ba-imgs{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#000;aspect-ratio:16/9;width:100%}
.ba-imgs.single{grid-template-columns:1fr}
.ba-imgs.video{display:block;grid-template-columns:none;gap:0;position:relative;overflow:hidden}

.ba-imgs figure{position:relative;margin:0;aspect-ratio:auto;height:100%;overflow:hidden}
.ba-imgs img{width:100%;height:100%;object-fit:cover}
.ba-imgs.video>iframe{position:absolute;inset:0;width:100%!important;height:100%!important;border:0;display:block}

.ba-imgs figcaption{position:absolute;top:8px;left:8px;background:#000;color:#fff;font-family:'Oswald';font-weight:700;font-size:.62rem;letter-spacing:2px;padding:3px 9px;border-radius:2px;text-transform:uppercase}
.ba-imgs figure:last-child figcaption{background:var(--orange);color:#000}
.ba-imgs.single figcaption{background:var(--orange);color:#000}

.ba-body{padding:18px 20px}
.ba-body h3{font-size:1.15rem;letter-spacing:0;color:var(--cream)}
.ba-body p{color:#bdb6aa;font-size:.88rem;margin-top:6px}

@media(max-width:880px){.ba-grid{grid-template-columns:1fr}}
/* ---------- DAD JOKE OF THE WEEK ---------- */
.joke-sec{background:var(--black)}
.joke-card{max-width:620px;margin:0 auto;border-radius:10px;overflow:hidden;
  border:3px solid rgba(232,116,28,.55);box-shadow:0 24px 60px rgba(0,0,0,.55);
  transform:rotate(-1.5deg);transition:transform .25s ease}
.joke-card:hover{transform:rotate(0deg) scale(1.01)}
.joke-card img{width:100%;display:block}
.joke-cap{text-align:center;font-family:'Oswald';font-weight:600;text-transform:uppercase;
  letter-spacing:2px;font-size:.78rem;color:var(--tan);margin-top:20px}
@media(max-width:760px){
  .joke-sec{padding-top:34px}
  .joke-sec .sec-head{margin-bottom:26px}
}
