/* ============================================================
   Frontier Fireworks — theme stylesheet
   Ported pixel-for-pixel from the design handoff (styles.css +
   the per-page inline styles), then extended with the responsive
   layer, mobile navigation, WooCommerce and blog styling that the
   static prototypes did not include.
   Display: Big Shoulders Display · Body: Open Sans
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@400;500;600;700;800&family=Open+Sans:ital,wght@0,400;0,600;0,700;0,800;1,700&display=swap');

:root{
  --bg:#0a0b12;
  --border:#39393f;
  --yellow:#f3fb05;
  --orange:#f6700c;          /* buttons / case-study accent */
  --orange-d:#f6650c;
  --hero-orange:#ff6a00;     /* "30 Years of" */
  --logo-orange:#ff7a2d;     /* wordmark */
  --red:#ff3232;             /* shop / shop card */
  --white:#fff;
  --display:'Big Shoulders Display','Arial Narrow','Roboto Condensed',sans-serif;
  --body:'Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --container:1400px;
}

*{box-sizing:border-box;}
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--white);
  font-family:var(--body);
  font-size:17px;
  line-height:25px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
h1,h2,h3,h4,h5{margin:0;}

/* centred content column — 1400px design width */
.container{
  width:var(--container);
  max-width:calc(100% - 40px);
  margin-inline:auto;
}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--yellow);color:#000;padding:12px 18px;font-weight:700;z-index:200;}
.skip-link:focus{left:8px;top:8px;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--body);font-weight:700;font-size:17px;line-height:20px;
  border:none;border-radius:3px;cursor:pointer;
  padding:17px 27px;white-space:nowrap;
  transition:filter .15s ease, transform .15s ease;
  text-align:center;
}
.btn:hover{filter:brightness(.92);}
.btn:active{transform:translateY(1px);}
.btn--yellow{background:var(--yellow);color:#000;}
.btn--orange{background:var(--orange);color:#fff;padding:14px 18px 16px 17px;border-radius:3px;}
.btn--red{background:var(--red);color:#fff;}
.btn--sm{padding:14px 18px 16px 17px;font-size:17px;}
.btn--ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px #54545c;}
.btn--ghost:hover{box-shadow:inset 0 0 0 2px var(--yellow);color:var(--yellow);filter:none;}
.btn .chev{width:9px;height:16px;flex:none;}
.chev{width:9px;height:16px;flex:none;}
.gbtn svg{width:9px;height:16px;flex:none;}

/* ============================================================
   TOP BAR + HEADER
   ============================================================ */
.topbar{
  border-bottom:1px solid var(--border);
  background:var(--bg);
}
.topbar .container{
  height:70px;display:flex;align-items:center;justify-content:space-between;
}
.topbar__left{display:flex;gap:28px;font-size:16px;line-height:25px;color:#fff;}
.topbar__left a{color:#fff;}
.topbar__left a:hover{color:var(--yellow);}
.topbar__right{display:flex;gap:25px;font-weight:700;font-size:17px;align-items:center;}
.topbar__right a:hover{color:var(--yellow);}

.nav{
  background:var(--bg);
  border-bottom:1px solid var(--border);
  position:relative;z-index:80;
}
.nav .container{
  height:125px;display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand{display:flex;align-items:center;gap:14px;}
.brand__mono{height:46px;width:auto;}
.brand__txt{display:flex;flex-direction:column;justify-content:center;line-height:1;}
.brand__name{
  font-family:var(--display);font-weight:700;font-size:23.7px;line-height:1;
  letter-spacing:.5px;color:var(--logo-orange);white-space:nowrap;
}
.brand__tag{
  font-family:var(--display);font-weight:700;font-size:9.6px;line-height:1;
  letter-spacing:1.4px;color:#fff;margin-top:4px;white-space:nowrap;
}
.nav__links{
  display:flex;align-items:center;gap:22px;
  font-weight:700;font-size:16px;line-height:30px;
  list-style:none;margin:0;padding:0;
}
.nav__cta{display:flex;align-items:center;gap:20px;}
.nav__cta .btn{font-size:17px;height:40px;padding:0 18px;}

/* ---- mega / dropdown nav ---- */
.nav-item{position:relative;}
.nav-item>a{display:flex;align-items:center;gap:7px;color:#d7d7db;white-space:nowrap;transition:color .15s ease;padding:47px 0;}
.nav-item>a:hover,.nav-item.open>a,.nav-item.current>a,.nav-item.current-menu-item>a,.nav-item.current-menu-parent>a,.nav-item.current-menu-ancestor>a{color:var(--yellow);}
.nav-item .caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s ease;flex:none;}
.nav-item.open .caret{transform:translateY(1px) rotate(-135deg);}
.submenu{position:absolute;top:100%;left:-18px;min-width:268px;background:#101119;border:1px solid var(--border);border-radius:5px;padding:10px;box-shadow:0 22px 48px rgba(0,0,0,.55);display:none;z-index:60;list-style:none;margin:0;}
.submenu--mega{min-width:560px;}
.nav-item.open>.submenu{display:block;}
.nav-item.open>.submenu--mega{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
@media (hover:hover){
  .nav-item:hover>.submenu{display:block;}
  .nav-item:hover>.submenu--mega{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
  .nav-item:hover .caret{transform:translateY(1px) rotate(-135deg);}
}
.submenu li{margin:0;}
.submenu a{display:block;padding:11px 16px;border-radius:3px;color:#d7d7db;font-size:15px;font-weight:600;line-height:20px;white-space:nowrap;transition:background .12s ease,color .12s ease;}
.submenu a:hover{background:#1b1c26;color:var(--yellow);}
.submenu a.cur,.submenu li.current-menu-item>a{color:var(--yellow);}

/* hamburger (hidden on desktop) */
.nav__toggle{display:none;background:none;border:0;cursor:pointer;width:46px;height:46px;flex:none;padding:10px;}
.nav__toggle span{display:block;height:3px;background:#fff;border-radius:2px;transition:transform .2s ease,opacity .2s ease;}
.nav__toggle span+span{margin-top:6px;}
body.menu-open .nav__toggle span:nth-child(1){transform:translateY(9px) rotate(45deg);}
body.menu-open .nav__toggle span:nth-child(2){opacity:0;}
body.menu-open .nav__toggle span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{position:relative;}
.footer__main{
  position:relative;
  background:url('../images/crowd.jpg') 50% 0%/cover no-repeat;
  padding:96px 0 64px;
}
.footer__main::before{      /* top fade into page */
  content:"";position:absolute;left:0;top:0;width:100%;height:179px;
  background:linear-gradient(180deg,var(--bg) 0%,rgba(10,11,18,0) 100%);
  pointer-events:none;
}
.footer__main::after{       /* dim the photo */
  content:"";position:absolute;inset:0;background:rgba(10,11,18,.55);pointer-events:none;
}
.footer__grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1.05fr .55fr 1.1fr;gap:51px;align-items:start;
}
.footer__brand-name{
  display:flex;align-items:center;gap:8px;
  font-weight:700;font-size:24px;line-height:35px;margin-bottom:20px;
}
.footer__brand-name img{height:24px;width:auto;}
.footer p{font-size:16px;line-height:25px;margin:0;}
.footer__contact{margin-top:20px;font-size:16px;line-height:25px;}
.footer__contact a{color:var(--yellow);}
.footer__social{display:flex;gap:18px;margin-top:24px;}
.footer__social a{display:inline-flex;}
.footer__social svg{width:20px;height:20px;fill:#fff;transition:fill .15s ease;}
.footer__social a:hover svg{fill:var(--yellow);}
.footer h4{
  font-weight:700;font-size:24px;line-height:35px;margin:0 0 16px;font-family:var(--body);
}
.footer__find{white-space:pre-line;font-size:16px;line-height:25px;}
.enquire-head{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  letter-spacing:.5px;line-height:.92;margin:0;
}
.enquire-head .y{color:var(--yellow);}
.footer .enquire-head{font-size:40px;margin-bottom:22px;}
.footer__enquire p{font-size:16px;line-height:24px;max-width:430px;margin-bottom:24px;}

.footer__bar{
  background:var(--bg);border-top:1px solid var(--border);
}
.footer__bar .container{
  min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:24px;
  font-weight:700;font-size:16px;line-height:25px;padding-top:18px;padding-bottom:18px;
}
.footer__bar-left{display:flex;align-items:center;gap:64px;flex-wrap:wrap;}
.footer__bar-left .links{display:flex;gap:20px;flex-wrap:wrap;list-style:none;margin:0;padding:0;}
.footer__bar-left .links a:hover{color:var(--yellow);}

/* decorative firework sprite helper (3x3 sheet) */
.spark{position:absolute;background-image:url('../images/firework-trans.png');background-repeat:no-repeat;pointer-events:none;z-index:0;}

/* ============================================================
   CONTENT PAGES (Display Overview, Low Noise, spokes)
   ============================================================ */
.prose{max-width:1040px;}
.prose.is-wide{max-width:1100px;}
.prose-h{font-family:var(--display);font-weight:700;font-size:54px;line-height:60px;margin:0 0 30px;color:#fff;}
.prose p{font-size:19px;line-height:32px;margin:0 0 24px;color:#e7e7ea;}
.prose p:last-child{margin-bottom:0;}
.prose a{color:var(--orange);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.prose a:hover{color:var(--yellow);}
.prose strong{color:#fff;}
.lede{font-weight:700;font-size:25px;line-height:34px;color:#fff;}
/* WYSIWYG bullet lists inside prose adopt the design's diamond list */
.prose ul{list-style:none;padding:0;margin:24px 0;display:flex;flex-direction:column;gap:15px;}
.prose ul li{position:relative;padding-left:34px;font-size:19px;line-height:30px;color:#e7e7ea;}
.prose ul li::before{content:"";position:absolute;left:0;top:10px;width:11px;height:11px;background:var(--orange);transform:rotate(45deg);}
.prose ol{padding-left:22px;margin:24px 0;}
.prose ol li{font-size:19px;line-height:30px;color:#e7e7ea;margin:0 0 8px;}
.prose h3{font-family:var(--display);font-weight:700;font-size:30px;line-height:1.15;margin:34px 0 14px;}

/* hero shared (content) — cinematic right-anchored image, like the home page */
.chero{position:relative;overflow:hidden;background:var(--bg);padding:122px 0 132px;}
.chero__img{position:absolute;top:0;right:0;bottom:0;left:auto;width:72%;background-size:cover;background-position:center bottom;z-index:0;}
.chero__fade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--bg) 22%,rgba(10,11,18,.55) 42%,rgba(10,11,18,0) 70%);}
.chero__fadeb{position:absolute;left:0;right:0;bottom:0;height:38%;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(10,11,18,0) 0%,var(--bg) 100%);}
.chero .container{position:relative;z-index:2;}
.chero__h{font-family:var(--display);font-weight:700;font-size:56px;line-height:1.12;margin:0;max-width:830px;}
.chero__sub{font-weight:700;font-size:24px;line-height:33px;max-width:680px;margin:30px 0 0;color:#fff;}
.chero__trust{font-size:18px;line-height:28px;margin:18px 0 0;color:#cfcfd4;}
.chero__cta{display:flex;gap:18px;margin-top:34px;flex-wrap:wrap;}

/* hero background video (optional, in place of the image) */
.hero__video{z-index:0;}                /* also carries .hero__img for positioning */
.chero__video{position:absolute;top:0;right:0;bottom:0;width:72%;height:100%;object-fit:cover;object-position:center bottom;z-index:0;}
.hero__video,.chero__video{background:var(--bg);transition:opacity .5s ease;}  /* stays black until the video paints, then fades in */
.hero__img--poster,.chero__img--poster{display:none;}                         /* hide the still image while a video is set (no flash) */
@media (prefers-reduced-motion:reduce){
  .hero__video,.chero__video{display:none!important;}                         /* fall back to the still image */
  .hero__img--poster,.chero__img--poster{display:block!important;}
}

/* band text helpers (content) */
.band__txt .prose-h{font-size:48px;line-height:1.14;margin-bottom:24px;max-width:660px;}
.band__txt p{font-size:19px;line-height:32px;margin:0 0 22px;color:#e7e7ea;}
.band__txt p:last-child{margin-bottom:0;}
.band__txt p strong{color:#fff;}
.band__txt a{color:var(--orange);text-decoration:underline;text-underline-offset:3px;}
.band__txt a:hover{color:var(--yellow);}
.band .kick{font-family:var(--display);font-weight:700;font-size:24px;line-height:1;color:var(--orange);margin:0 0 10px;letter-spacing:.03em;}

/* pull quote */
.pull{border-left:4px solid var(--orange);padding:6px 0 6px 34px;margin:34px 0 0;}
.pull p{font-family:var(--display);font-weight:700;font-size:34px;line-height:42px;color:#fff;margin:0;}

/* solo CTA band */
.cta-solo{border:1px solid var(--border);border-radius:3px;padding:64px;display:flex;flex-direction:column;align-items:flex-start;gap:0;background:#101119;}
.cta-solo .h64{margin-bottom:26px;max-width:1100px;}
.cta-solo .lede{margin-bottom:34px;max-width:1000px;}
.cta-solo__btns{display:flex;gap:18px;flex-wrap:wrap;align-items:center;}
.cta-solo .phone{font-weight:700;font-size:19px;line-height:28px;color:#cfcfd4;margin-top:22px;}
.cta-solo .phone .ph{color:var(--yellow);}
.cta-solo .phone a{color:var(--orange);text-decoration:underline;text-underline-offset:3px;}
.cta-solo .phone a:hover{color:var(--yellow);}
.cta-solo .phone a.ph{color:var(--yellow);text-decoration:none;}

/* three reasons grid */
.reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:10px;}
.reason{padding-top:26px;border-top:3px solid var(--orange);}
.reason:nth-child(1){border-top-color:var(--yellow);}
.reason:nth-child(3){border-top-color:var(--red);}
.reason p{font-size:19px;line-height:32px;margin:0;color:#e7e7ea;}
.reason em{font-style:italic;}

/* ============================================================
   SHARED CONTENT-PAGE COMPONENTS (used by all spoke pages)
   ============================================================ */
.sec{padding:90px 0;}
.sec.no-top{padding-top:0;}
.h64{font-family:var(--display);font-weight:700;font-size:64px;line-height:70px;margin:0;color:#fff;}
.lead24{font-weight:700;font-size:24px;line-height:35px;margin:0;color:#fff;}
.body17{font-size:17px;line-height:25px;margin:0;}

/* split image/text bands (image always right per design) */
.band{display:grid;grid-template-columns:1.1fr 1fr;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg);align-items:stretch;padding-left:max(calc((100% - 1400px)/2),20px);}
.band__img{background-size:cover;background-position:center;min-height:640px;grid-column:2;grid-row:1;}
.band__txt{padding:96px 100px 96px 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;grid-column:1;grid-row:1;}
.band__txt>*{max-width:660px;}

/* breadcrumb */
.crumb{font-size:16px;line-height:25px;color:#9a9aa6;font-weight:700;padding:26px 0 0;}
.crumb a{color:#9a9aa6;}
.crumb a:hover{color:var(--yellow);}
.crumb .cur{color:#fff;}
.crumb .sep{padding:0 6px;}

/* FAQ accordion */
.faq{display:flex;flex-direction:column;gap:20px;margin-top:36px;}
.faq-item{border:2px solid var(--border);border-radius:3px;overflow:hidden;background:var(--border);}
.faq-item.open{background:#15161d;}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;padding:25px 40px;width:100%;text-align:left;background:none;border:0;font-family:inherit;color:inherit;}
.faq-q span{font-weight:700;font-size:28px;line-height:36px;color:#fff;font-family:var(--body);}
.faq-q .ar{width:16px;height:16px;flex:none;transition:transform .2s;border-right:3px solid #9a9aa6;border-bottom:3px solid #9a9aa6;transform:rotate(45deg);margin-bottom:6px;}
.faq-item.open .faq-q .ar{transform:rotate(-135deg);margin-bottom:-2px;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-item.open .faq-a{max-height:1200px;}
.faq-a p{font-size:18px;line-height:29px;color:#cdcdcd;margin:0;padding:0 40px 30px;max-width:1180px;}
.faq-a a{color:var(--orange);text-decoration:underline;text-underline-offset:3px;}
.faq-a a:hover{color:var(--yellow);}

/* bullet list (inclusions, extras) */
.ulist{list-style:none;padding:0;margin:24px 0 0;max-width:1040px;display:flex;flex-direction:column;gap:15px;}
.ulist li{position:relative;padding-left:34px;font-size:19px;line-height:30px;color:#e7e7ea;}
.ulist li::before{content:"";position:absolute;left:0;top:10px;width:11px;height:11px;background:var(--orange);transform:rotate(45deg);}
.ulist li strong{color:#fff;}
.ulist li a{color:var(--orange);text-decoration:underline;text-underline-offset:3px;}
.ulist li a:hover{color:var(--yellow);}

/* pricing / duration table */
.ptable{width:100%;border-collapse:collapse;margin-top:8px;max-width:920px;}
.ptable th,.ptable td{text-align:left;padding:18px 24px;border-bottom:1px solid var(--border);font-size:18px;line-height:26px;}
.ptable thead th{font-family:var(--display);font-weight:700;font-size:22px;color:#fff;border-bottom:2px solid #54545c;}
.ptable td{color:#e7e7ea;}
.ptable td:last-child{color:var(--yellow);font-weight:700;white-space:nowrap;}
.ptable tbody tr:last-child td{border-bottom:none;}

/* ============================================================
   HOME PAGE
   ============================================================ */
/* ---------------- HERO ---------------- */
.hero{position:relative;overflow:hidden;background:var(--bg);}
.hero__img{
  position:absolute;top:0;right:0;height:100%;width:72%;
  object-fit:cover;object-position:center bottom;z-index:0;
}
.hero__fadeL{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,var(--bg) 22%,rgba(10,11,18,.55) 42%,rgba(10,11,18,0) 70%);}
.hero__fadeB{position:absolute;left:0;right:0;bottom:0;height:38%;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,11,18,0) 0%,var(--bg) 100%);}
.hero .container{position:relative;z-index:2;}
.hero__inner{padding:142px 0 168px;max-width:1154px;}
.hero__kicker{display:flex;align-items:baseline;gap:8px;color:var(--hero-orange);font-weight:700;margin-bottom:4px;}
.hero__kicker .n{font-size:40px;line-height:30px;font-family:var(--display);}
.hero__kicker .t{font-size:25px;line-height:30px;}
.hero__title{font-family:var(--display);font-weight:700;font-size:132px;line-height:138px;margin:0;color:#fff;white-space:nowrap;}
.hero__sub{font-weight:700;font-size:25px;line-height:34px;max-width:420px;margin:34px 0 0;}
.hero .btn{margin-top:33px;}

/* ---------------- CARDS ---------------- */
.cards{padding:0;}
.cards__row{display:flex;}
.card{
  flex:1;background:var(--bg);border:1px solid var(--border);margin-left:-1px;
  padding:60px 40px;display:flex;flex-direction:column;
}
.card:first-child{margin-left:0;}
.card__title{font-family:var(--display);font-weight:700;font-size:60px;line-height:66px;margin:0;display:flex;flex-direction:column;}
.card__title span{display:block;white-space:nowrap;}
.card__body{font-size:17px;line-height:25px;margin:20px 0 0;max-width:301px;}
.card .btn{margin-top:auto;align-self:flex-start;}

/* ---------------- SECTION SHELL ---------------- */
.section{position:relative;}
.sec-pad{padding:96px 0;}

/* ---------------- TEXT COLUMNS + STATS ---------------- */
.lead-h{font-family:var(--display);font-weight:700;font-size:64px;line-height:70px;margin:0 0 60px;}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
.cols2 p{font-size:17px;line-height:25px;margin:0 0 25px;}
.cols2 p:last-child{margin-bottom:0;}
.stats{
  margin-top:117px;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:40px 0;
}
.stats.no-mt{margin-top:0;}
.stat__v{font-family:var(--display);font-weight:700;font-size:64px;line-height:70px;}
.stat__l{font-size:17px;line-height:25px;margin-top:15px;}

/* ---------------- CASE STUDY ---------------- */
.case{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg);padding-left:max(calc((100% - var(--container))/2),20px);}
.case__text{padding:120px 100px 120px 0;}
.case__kick{font-family:var(--display);font-weight:700;font-size:30px;line-height:1;color:var(--orange);margin:0;}
.case__h{font-family:var(--display);font-weight:700;font-size:64px;line-height:70px;margin:4px 0 24px;}
.case__text p{font-size:17px;line-height:25px;margin:0 0 24px;color:#e7e7ea;}
.case__text .btn{margin-top:8px;}
.case__img{background-size:cover;background-position:center;min-height:772px;}

/* ---------------- MID (reviews/enquire/news) ---------------- */
.mid{position:relative;overflow:hidden;}
.mid__smoke{position:absolute;left:0;right:0;top:0;height:1600px;z-index:0;pointer-events:none;
  background:url('../images/smoke.jpg') center/cover no-repeat;opacity:.5;mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);
          mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);}
.mid .container{position:relative;z-index:2;}

/* ---------------- REVIEWS ---------------- */
.rev-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;position:relative;z-index:1;gap:24px;flex-wrap:wrap;}
.rev-head__l{display:flex;align-items:center;gap:18px;}
.rev-head__h{font-family:var(--display);font-weight:700;font-size:36px;line-height:1;margin:0;max-width:760px;}
.rev-rate{display:flex;align-items:center;gap:10px;font-size:17px;flex-wrap:wrap;}
.rev-rate .stars{display:flex;gap:3px;}
.gbtn{display:inline-flex;align-items:center;gap:10px;background:var(--orange);color:#fff;font-weight:700;font-size:17px;border-radius:3px;padding:13px 18px;}
.gbtn:hover{filter:brightness(.92);}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;position:relative;z-index:1;}
.review{background:#fff;color:#000;border-radius:4px;padding:40px;}
.review p{font-size:17px;line-height:25px;margin:0 0 33px;color:#000;}
.review__foot{display:flex;align-items:center;justify-content:space-between;}
.review__id{display:flex;align-items:center;gap:8px;}
.avatar{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--display);font-weight:700;font-size:26px;flex:none;}
.review__name{font-weight:700;font-size:19px;line-height:24px;color:#000;}
.review__name + .stars{display:flex;gap:3px;margin-top:2px;}
.gicon{width:34px;height:34px;flex:none;}
.star{width:18px;height:18px;}

/* ---------------- ENQUIRE BOX ---------------- */
.enq{border:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:50px 60px;margin-top:60px;align-items:center;}
.enq__h{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:64px;line-height:.92;margin:0 0 22px;}
.enq__h .y{color:var(--yellow);}
.enq__l p{font-size:24px;line-height:35px;font-weight:700;margin:0 0 33px;max-width:600px;}
.enq__q{font-style:italic;font-weight:700;font-size:20px;line-height:35px;margin:0 0 16px;}
.enq__by{display:flex;gap:14px;font-weight:700;font-size:20px;line-height:35px;flex-wrap:wrap;}
.enq__by .nm{color:var(--orange);}
.enq__qm{margin-top:10px;color:var(--orange);font-size:42px;line-height:1;font-family:Georgia,serif;}

/* ---------------- NEWS ---------------- */
.news-head{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:20px;position:relative;z-index:1;gap:24px;flex-wrap:wrap;}
.news-head h2{font-family:var(--display);font-weight:700;font-size:64px;line-height:70px;margin:0;}
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:10px;position:relative;z-index:1;}
.ncard{border:1px solid var(--border);border-radius:3px;overflow:hidden;background:var(--bg);box-shadow:0 4px 4px rgba(0,0,0,.25);display:flex;flex-direction:column;}
.ncard__img{height:300px;background-size:cover;background-position:center;border-bottom:1px solid var(--border);display:block;}
.ncard__body{padding:10px 45px 40px;display:flex;flex-direction:column;flex:1;}
.ncard__meta{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:18px 0 10px;font-weight:700;font-size:17px;gap:14px;}
.ncard__title{font-family:var(--display);font-weight:700;font-size:36px;line-height:34px;margin:30px 0 20px;}
.ncard__title a:hover{color:var(--yellow);}
.ncard__snip{font-size:17px;line-height:25px;margin:0 0 30px;}
.ncard .btn{margin-top:auto;align-self:flex-start;}

/* decorative sparks sizing */
.spark{width:360px;height:360px;background-size:300% 300%;}

/* ============================================================
   GALLERY (ggrid)
   ============================================================ */
.ggrid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:300px;gap:20px;margin-top:40px;}
.gcell{background-size:cover;background-position:center;border-radius:3px;overflow:hidden;background-color:#15161d;}
.gcell--tall{grid-row:span 2;}
.gcell--wide{grid-column:span 2;}
.gcell--split{display:grid;grid-template-rows:1fr 1fr;gap:20px;background:none;}
.gcell--split>span{background-size:cover;background-position:center;border-radius:3px;display:block;}

/* ============================================================
   GENERIC PAGE / POST PROSE (About, blog single, etc.)
   ============================================================ */
.page-hero{padding:80px 0 30px;}
.page-hero h1{font-family:var(--display);font-weight:700;font-size:64px;line-height:1.05;}
.entry{max-width:820px;margin-inline:auto;}
.entry h2{font-family:var(--display);font-weight:700;font-size:40px;line-height:1.1;margin:48px 0 18px;}
.entry h3{font-family:var(--display);font-weight:700;font-size:30px;line-height:1.15;margin:36px 0 14px;}
.entry p{font-size:19px;line-height:32px;color:#e7e7ea;margin:0 0 24px;}
.entry a{color:var(--orange);text-decoration:underline;text-underline-offset:3px;}
.entry a:hover{color:var(--yellow);}
.entry img{border-radius:3px;margin:30px 0;}
.entry ul,.entry ol{font-size:19px;line-height:32px;color:#e7e7ea;padding-left:24px;margin:0 0 24px;}
.entry blockquote{border-left:4px solid var(--orange);margin:30px 0;padding:6px 0 6px 28px;}
.entry blockquote p{font-family:var(--display);font-weight:700;font-size:28px;color:#fff;}
.post-meta{color:#9a9aa6;font-weight:700;font-size:16px;margin:0 0 30px;}

/* blog/news archive */
.archive-head{padding:70px 0 0;}
.archive-head h1{font-family:var(--display);font-weight:700;font-size:64px;line-height:1.05;}
.archive-head p{font-size:19px;color:#cdcdcd;margin-top:14px;max-width:680px;}
.pagination{display:flex;gap:10px;flex-wrap:wrap;margin-top:50px;}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border:1px solid var(--border);border-radius:3px;font-weight:700;}
.pagination .page-numbers.current{background:var(--yellow);color:#000;border-color:var(--yellow);}
.pagination a.page-numbers:hover{border-color:var(--yellow);color:var(--yellow);}

/* simple two-column contact layout */
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:start;}
.contact-aside h3{font-family:var(--display);font-weight:700;font-size:30px;margin:0 0 14px;}
.contact-aside p{font-size:17px;line-height:27px;color:#cdcdcd;margin:0 0 18px;}
.contact-aside a{color:var(--yellow);}

/* ============================================================
   GRAVITY FORMS — dark theme match
   ============================================================ */
.gform_wrapper{max-width:720px;}
.gform_wrapper .gfield_label{font-weight:700;font-size:16px;color:#fff;margin-bottom:8px;font-family:var(--body);}
.gform_wrapper input[type=text],
.gform_wrapper input[type=email],
.gform_wrapper input[type=tel],
.gform_wrapper input[type=url],
.gform_wrapper input[type=number],
.gform_wrapper select,
.gform_wrapper textarea{
  width:100%;background:#101119;border:1px solid var(--border);border-radius:3px;
  color:#fff;font-family:var(--body);font-size:17px;padding:14px 16px;line-height:25px;
}
.gform_wrapper textarea{min-height:150px;}
.gform_wrapper input:focus,.gform_wrapper select:focus,.gform_wrapper textarea:focus{outline:none;border-color:var(--yellow);}
.gform_wrapper ::placeholder{color:#7c7c87;}
.gform_wrapper .gform_footer input[type=submit],
.gform_wrapper .gform_button{
  background:var(--yellow);color:#000;border:0;border-radius:3px;cursor:pointer;
  font-family:var(--body);font-weight:700;font-size:17px;padding:17px 27px;
  transition:filter .15s ease,transform .15s ease;
}
.gform_wrapper .gform_footer input[type=submit]:hover{filter:brightness(.92);}
.gform_wrapper .gform_footer input[type=submit]:active{transform:translateY(1px);}
.gform_required_legend,.gfield_required{color:var(--orange);}
.gform_confirmation_message{font-size:19px;color:#fff;background:#101119;border:1px solid var(--border);border-radius:3px;padding:28px 32px;}

/* ============================================================
   WOOCOMMERCE — styled to match the product design
   ============================================================ */
.woo-wrap{padding:72px 0 96px;position:relative;}
.woo-wrap .prod-bg{position:absolute;left:0;right:0;top:200px;height:1200px;z-index:0;pointer-events:none;
  background:url('../images/smoke.jpg') center/cover no-repeat;opacity:.32;mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);}
.woo-wrap .container{position:relative;z-index:1;}
.woocommerce-breadcrumb{font-size:17px;line-height:35px;color:#aaa;font-weight:700;margin-bottom:34px;}
.woocommerce-breadcrumb a{color:#aaa;}
.woocommerce-breadcrumb a:hover{color:var(--yellow);}

/* single product layout — gallery + summary in a 2-col grid; tabs/related full width below */
.single-product div.product{display:grid;grid-template-columns:702px minmax(0,1fr);gap:100px;align-items:start;}
.single-product div.product > .woocommerce-tabs,
.single-product div.product > .related.products,
.single-product div.product > .up-sells{grid-column:1 / -1;}
.single-product div.product .woocommerce-product-gallery{width:100%!important;float:none;margin:0;}
.single-product div.product .woocommerce-product-gallery__wrapper{background:#fff;border-radius:3px;padding:40px;margin:0;}
.single-product div.product .woocommerce-product-gallery__image{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.single-product div.product .woocommerce-product-gallery__image a{display:flex;width:100%;height:100%;align-items:center;justify-content:center;}
.single-product div.product .woocommerce-product-gallery__image img{width:100%;height:100%;object-fit:contain;border-radius:3px;}
.single-product div.product .flex-control-thumbs{display:flex;gap:26px;margin:18px 0 0;padding:0;}
.single-product div.product .flex-control-thumbs li{width:119px!important;height:119px;background:#fff;border-radius:2px;padding:7px;margin:0;list-style:none;}
.single-product div.product .flex-control-thumbs li img{border-radius:2px;opacity:.85;}
.single-product div.product .flex-control-thumbs li img.flex-active{opacity:1;}

.single-product .summary.entry-summary{margin:0;width:auto;float:none;}
.single-product .product_title{font-family:var(--display);font-weight:700;font-size:64px;line-height:70px;margin:0;color:#fff;}
.single-product .summary .price{font-family:var(--display);font-weight:700;font-size:36px;line-height:34px;margin:26px 0 0;color:#fff;}
.single-product .summary .price .amount,.single-product .summary .price ins .amount{color:var(--yellow);}
.single-product .summary .price del{color:#7c7c87;}
.single-product .summary .price::before{content:"Price: ";color:#fff;}
.single-product form.cart{margin:45px 0 0;display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.single-product form.cart .quantity{display:none;} /* design has no quantity selector; defaults to 1 */
.single-product form.cart .quantity input{width:80px;background:#101119;border:1px solid var(--border);color:#fff;border-radius:3px;padding:11px 10px;font-family:var(--body);font-size:17px;}
.single-product .single_add_to_cart_button{background:var(--red)!important;color:#fff!important;font-family:var(--body)!important;font-weight:700;font-size:17px!important;text-transform:uppercase;letter-spacing:.04em;height:44px;padding:0 22px!important;border-radius:3px!important;border:0;line-height:44px;}
.single-product .single_add_to_cart_button:hover{filter:brightness(.92);}
.single-product .woocommerce-product-details__short-description{font-size:19px;line-height:30px;margin:40px 0 0;color:#e7e7ea;}
.single-product .woocommerce-product-details__short-description ul{font-size:19px;line-height:30px;margin:24px 0 0;padding-left:22px;}
.single-product .product_meta{margin-top:30px;font-size:15px;color:#9a9aa6;}
.single-product .product_meta a{color:#cdcdcd;}

/* tabs */
.single-product .woocommerce-tabs{margin-top:130px;clear:both;}
.single-product .woocommerce-tabs ul.tabs{display:flex;gap:15px;padding:0;margin:0;border:0;}
.single-product .woocommerce-tabs ul.tabs::before{display:none;}
.single-product .woocommerce-tabs ul.tabs li{border:0;background:#000;border-radius:3px 3px 0 0;padding:0;margin:0;}
.single-product .woocommerce-tabs ul.tabs li.active{background:var(--orange);}
.single-product .woocommerce-tabs ul.tabs li a{padding:17px 27px;font-weight:700;font-size:17px;line-height:20px;color:#fff;font-family:var(--body);}
.single-product .woocommerce-tabs .panel{background:#000;border-radius:0;width:100vw;margin-inline:calc(50% - 50vw);padding:89px max(calc((100vw - var(--container))/2),20px) 140px;}
.single-product .woocommerce-tabs .panel h2{font-family:var(--display);font-weight:700;font-size:64px;line-height:70px;margin:0 0 25px;color:#fff;}
.single-product .woocommerce-tabs .panel p{font-size:17px;line-height:25px;margin:0 0 25px;max-width:933px;color:#e7e7ea;}
.single-product .woocommerce-tabs .panel ul,.single-product .woocommerce-tabs .panel li{font-size:17px;line-height:25px;color:#e7e7ea;}
.single-product .woocommerce-tabs .panel > :last-child{margin-bottom:0;}

/* product loop cards — the rich shop card is used in every loop (shop archive, related, cross-sells) */
.related.products,.up-sells.products{clear:both;}
.related.products>h2,.up-sells>h2,.products-head h2{font-family:var(--display);font-weight:700;font-size:48px;line-height:1;margin:96px 0 36px;color:#fff;}
ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:26px;margin:0;padding:0;list-style:none;}
ul.products::before,ul.products::after{content:none!important;display:none!important;} /* kill clearfix pseudo-elements that steal grid cells */
ul.products li.product{width:auto!important;margin:0!important;float:none!important;display:flex;flex-direction:column;text-align:left;}

/* shop archive header */
.shop-archive .woocommerce-products-header{padding-top:30px;}
.shop-archive .woocommerce-products-header__title{font-family:var(--display);font-weight:700;font-size:64px;line-height:1.05;color:#fff;}
.shop-archive .term-description,.shop-archive .woocommerce-result-count{color:#cdcdcd;}
.shop-archive .woocommerce-ordering select{background:#101119;border:1px solid var(--border);color:#fff;border-radius:3px;padding:10px 12px;}
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:#101119;border-top:3px solid var(--yellow);color:#fff;border-radius:3px;}
.woocommerce-message a,.woocommerce-info a{color:var(--yellow);}
.woocommerce .cart .button,.woocommerce .checkout button,.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button{background:var(--yellow);color:#000;border-radius:3px;font-weight:700;}
.woocommerce table.shop_table{border-color:var(--border);}
.woocommerce-page .entry,.woocommerce-account .entry{max-width:none;}

/* ============================================================
   SHOP INDEX (archive) — matches Shop.html
   ============================================================ */
.shop-hero{position:relative;overflow:hidden;background:var(--bg);padding:70px 0 64px;}
.shop-hero__img{position:absolute;top:0;right:0;bottom:0;width:60%;background-size:cover;background-position:center;z-index:0;}
.shop-hero__fade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--bg) 30%,rgba(10,11,18,.5) 52%,rgba(10,11,18,0) 80%);}
.shop-hero__fadeb{position:absolute;left:0;right:0;bottom:0;height:45%;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(10,11,18,0),var(--bg));}
.shop-hero .container{position:relative;z-index:2;}
.shop-hero h1{font-family:var(--display);font-weight:700;font-size:72px;line-height:1.04;margin:0;}
.shop-hero p{font-weight:700;font-size:22px;line-height:31px;max-width:560px;margin:22px 0 0;color:#e7e7ea;}

.shop-index{display:block;}
.shop-index .shop{display:grid;grid-template-columns:262px 1fr;gap:50px;padding:54px 0 96px;align-items:start;}

/* sidebar */
.side{display:flex;flex-direction:column;gap:34px;position:relative;}
.side__group h3{font-family:var(--display);font-weight:700;font-size:26px;line-height:1;margin:0 0 16px;}
.cats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.cats li{border-bottom:1px solid var(--border);}
.cats a{display:flex;justify-content:space-between;align-items:center;padding:13px 2px;font-size:16px;font-weight:600;color:#d7d7db;transition:color .12s ease;}
.cats a:hover{color:var(--yellow);}
.cats a.cur{color:var(--yellow);}
.cats .n{color:#7d7d86;font-size:14px;font-weight:700;}
.price-filter{display:flex;flex-direction:column;gap:14px;}
.price-filter input[type=range]{width:100%;accent-color:var(--orange);}
.price-filter__row{display:flex;justify-content:space-between;font-size:15px;font-weight:700;color:#cfcfd4;}
.price-filter__apply{align-self:flex-start;background:transparent;color:#fff;box-shadow:inset 0 0 0 2px #54545c;border:0;border-radius:3px;font-family:var(--body);font-weight:700;font-size:14px;padding:9px 16px;cursor:pointer;transition:all .15s ease;}
.price-filter__apply:hover{box-shadow:inset 0 0 0 2px var(--yellow);color:var(--yellow);}
.side__note{font-size:14px;line-height:21px;color:#8a8a94;border-top:1px solid var(--border);padding-top:20px;}

/* toolbar (result count + ordering) */
.shop-main .woocommerce-result-count,.shop-main .woocommerce-ordering{margin:0;}
.shop-bar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:20px;margin-bottom:34px;gap:20px;flex-wrap:wrap;}
.shop-bar .woocommerce-result-count{font-size:16px;font-weight:700;color:#cfcfd4;}
.shop-bar .woocommerce-ordering{display:flex;align-items:center;gap:12px;}
.shop-bar .woocommerce-ordering::before{content:"Sort by";font-size:15px;font-weight:700;color:#cfcfd4;}
.shop-bar select.orderby{appearance:none;background:#101119;color:#fff;border:1px solid var(--border);border-radius:3px;font-family:var(--body);font-weight:700;font-size:15px;padding:11px 38px 11px 16px;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,#9a9aa6 50%),linear-gradient(135deg,#9a9aa6 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 12px) 19px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;}

/* product grid */
.shop-archive ul.products{grid-template-columns:repeat(3,1fr);gap:30px;}
.pcard__box{position:relative;background:#fff;border-radius:3px;padding:22px;overflow:hidden;display:block;}
.pcard__img{display:block;width:100%;aspect-ratio:1/1;background:#fff center/cover no-repeat;border-radius:2px;}
.pcard__tag{position:absolute;top:14px;left:14px;font-family:var(--body);font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#fff;padding:6px 11px;border-radius:3px;z-index:2;}
.pcard__tag--new{background:var(--orange);}
.pcard__tag--low{background:#1f8a5b;}
.pcard__tag--top{background:var(--red);}
.pcard__cat{font-size:13px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--orange);margin:20px 0 0;}
.pcard__title{font-family:var(--display);font-weight:700;font-size:30px;line-height:32px;margin:7px 0 0;}
.pcard__title a{color:#fff;}
.pcard__title a:hover{color:var(--yellow);}
.pcard__rate{display:flex;align-items:center;gap:7px;margin:10px 0 0;}
.pcard__rate .stars{display:flex;gap:2px;}
.pcard__rate .stars svg{width:15px;height:15px;}
.pcard__rate span{font-size:13px;font-weight:700;color:#9a9aa6;}
.pcard__foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:18px;gap:12px;}
.pcard__price{font-family:var(--display);font-weight:500;font-size:30px;line-height:1;color:var(--yellow);}
.pcard__price small{display:block;font-family:var(--body);font-size:12px;font-weight:700;color:#8a8a94;margin-top:5px;letter-spacing:.02em;}
.pcard .btn--add,ul.products li.product .button{background:var(--red)!important;color:#fff!important;font-family:var(--body)!important;font-weight:700;font-size:15px!important;height:42px;line-height:42px;padding:0 18px!important;border-radius:3px!important;display:inline-block;margin:0;white-space:nowrap;}
.pcard .btn--add:hover,ul.products li.product .button:hover{filter:brightness(.92);}
ul.products li.product .added_to_cart{display:none;}

/* pagination */
.shop-main .woocommerce-pagination{margin-top:60px;text-align:center;}
.shop-main .woocommerce-pagination ul{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:0;margin:0;padding:0;}
.shop-main .woocommerce-pagination ul li{border:0;margin:0;}
.shop-main .woocommerce-pagination ul li .page-numbers{min-width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:3px;font-weight:700;font-size:16px;color:#d7d7db;padding:0 12px;transition:all .12s ease;background:none;}
.shop-main .woocommerce-pagination ul li a.page-numbers:hover{border-color:#54545c;color:#fff;}
.shop-main .woocommerce-pagination ul li .page-numbers.current{background:var(--yellow);color:#000;border-color:var(--yellow);}

/* promo strip */
.promo{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#101119;}
.promo .container{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.promo__item{padding:40px 36px;display:flex;gap:18px;align-items:flex-start;}
.promo__item + .promo__item{border-left:1px solid var(--border);}
.promo__ic{width:40px;height:40px;flex:none;}
.promo__ic svg{width:40px;height:40px;stroke:var(--yellow);fill:none;stroke-width:1.6;}
.promo__item h4{font-family:var(--display);font-weight:700;font-size:24px;line-height:1;margin:2px 0 9px;}
.promo__item p{font-size:15px;line-height:23px;color:#bcbcc4;margin:0;}

/* ============================================================
   RESPONSIVE LAYER (prototypes were desktop-only @1440)
   ============================================================ */
@media (max-width:1200px){
  .hero__title{font-size:104px;line-height:108px;}
  .case__text{padding:90px 70px 90px 0;}
  .band__txt{padding:72px 70px 72px 0;}
  .single-product div.product{grid-template-columns:1fr 1fr;gap:50px;}
  .single-product div.product .woocommerce-product-gallery{width:100%!important;}
}
@media (max-width:1024px){
  .nav__links{display:none;}
  .topbar__left a:last-child{display:none;}      /* hide email, keep phone */
  .topbar__left a{white-space:nowrap;}
  .topbar__right{font-size:14px;gap:14px;}
  .nav__toggle{display:block;}
  .nav .container{height:96px;gap:12px;}
  .topbar .container{height:auto;padding-top:10px;padding-bottom:10px;gap:12px;}
  /* mobile drawer */
  .nav__links{
    position:fixed;inset:0 0 0 auto;width:min(420px,86vw);height:100vh;
    background:#0c0d16;border-left:1px solid var(--border);z-index:120;
    flex-direction:column;align-items:stretch;gap:0;padding:90px 22px 40px;
    overflow-y:auto;transform:translateX(100%);transition:transform .28s ease;
  }
  body.menu-open .nav__links{display:flex;transform:translateX(0);}
  body.menu-open{overflow:hidden;}
  .nav-item{border-bottom:1px solid var(--border);}
  .nav-item>a{padding:16px 6px;font-size:18px;justify-content:space-between;}
  .nav-item .caret{transform:rotate(45deg);}
  .nav-item.open .caret{transform:rotate(-135deg);}
  .submenu,.nav-item.open>.submenu,.nav-item.open>.submenu--mega{position:static;display:none;min-width:0;box-shadow:none;border:0;background:none;padding:0 0 12px;}
  .nav-item.open>.submenu{display:block;}
  .nav-item.open>.submenu--mega{display:grid;}
  @media (hover:hover){ .nav-item:hover>.submenu,.nav-item:hover>.submenu--mega{display:none;} .nav-item.open:hover>.submenu{display:block;} }
  .submenu a{padding:9px 14px;}
  .nav__cta{display:none;}
  /* grids → fewer columns */
  ul.products{grid-template-columns:repeat(2,1fr);}
  .single-product .woocommerce-tabs{margin-top:60px;}
}
@media (max-width:900px){
  .cards__row{flex-wrap:wrap;}
  .card{flex:1 1 100%;margin-left:0;margin-top:-1px;}
  .cols2{grid-template-columns:1fr;gap:0;}
  .reviews{grid-template-columns:1fr;}
  .news{grid-template-columns:1fr;gap:30px;}
  .reasons{grid-template-columns:1fr;}
  .enq{grid-template-columns:1fr;gap:30px;padding:40px;}
  .ggrid{grid-template-columns:repeat(2,1fr);}
  /* bands + case + product stack */
  .band{grid-template-columns:1fr;padding-left:0;}
  .band__img{grid-column:1;grid-row:2;min-height:340px;}
  .band__txt{grid-column:1;grid-row:1;padding:56px 20px;}
  .band__txt>*{max-width:none;}
  .band .container,.case{grid-template-columns:1fr;}
  .case{padding-left:0;}
  .case__img{grid-row:2;min-height:360px;}
  .case__text{grid-row:1;padding:56px 20px;}
  .single-product div.product{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;gap:40px;}
}
@media (max-width:768px){
  body{font-size:16px;}
  .sec,.sec-pad{padding:56px 0;}
  .chero{padding:72px 0 80px;}
  .chero__img,.chero__video{width:100%;opacity:.42;}
  .chero__fade{background:linear-gradient(180deg,rgba(10,11,18,.55) 0%,rgba(10,11,18,.78) 100%);}
  .chero__h{font-size:38px;}
  .chero__sub{font-size:20px;line-height:29px;}
  .hero__inner{padding:90px 0 96px;max-width:none;}
  .hero__img{width:100%;opacity:.5;}
  .hero__title{font-size:64px;line-height:64px;white-space:normal;}
  .hero__sub{font-size:21px;max-width:none;}
  .prose-h,.band__txt .prose-h{font-size:34px;line-height:1.12;}
  .h64,.lead-h,.news-head h2,.case__h,.enq__h,.stat__v,.page-hero h1,.archive-head h1{font-size:42px;line-height:1.05;}
  .lede{font-size:21px;line-height:30px;}
  .prose p,.band__txt p,.ulist li{font-size:17px;line-height:28px;}
  .cta-solo{padding:36px 26px;}
  .faq-q{padding:20px 22px;}
  .faq-q span{font-size:21px;line-height:28px;}
  .faq-a p{padding:0 22px 24px;font-size:16px;}
  .review{padding:30px;}
  .stats{margin-top:50px;gap:24px 40px;}
  .stat{flex:1 1 40%;}
  .ncard__body{padding:10px 28px 32px;}
  .single-product .product_title{font-size:42px;line-height:1.05;}
  .single-product .woocommerce-tabs ul.tabs{flex-wrap:wrap;}
  .single-product .woocommerce-tabs .panel{padding:36px 26px 48px;}
  .single-product .woocommerce-tabs .panel h2{font-size:34px;}
  ul.products{grid-template-columns:repeat(2,1fr);gap:16px;}
  .footer__grid{grid-template-columns:1fr;gap:40px;}
  .footer__bar .container{flex-direction:column;align-items:flex-start;gap:14px;}
  .entry h2{font-size:32px;}
}
@media (max-width:480px){
  .ggrid{grid-template-columns:1fr;}
  ul.products{grid-template-columns:1fr;}
  .hero__title{font-size:52px;line-height:52px;}
  .stat{flex:1 1 100%;}
}

/* ---- shop index responsive ---- */
@media (max-width:1024px){
  .shop-index .shop{grid-template-columns:1fr;gap:36px;padding-top:36px;}
  .side{flex-direction:row;flex-wrap:wrap;gap:28px 40px;}
  .side__group{flex:1 1 240px;}
  .side__note{flex:1 1 100%;}
  .shop-archive ul.products{grid-template-columns:repeat(2,1fr);}
  .promo .container{grid-template-columns:1fr;}
  .promo__item + .promo__item{border-left:0;border-top:1px solid var(--border);}
}
@media (max-width:768px){
  .shop-hero{padding:48px 0 44px;}
  .shop-hero h1{font-size:44px;}
  .shop-hero p{font-size:19px;line-height:27px;}
  .shop-hero__img{width:100%;opacity:.4;}
  .shop-hero__fade{background:linear-gradient(180deg,rgba(10,11,18,.5) 0%,rgba(10,11,18,.82) 100%);}
  .shop-bar{flex-direction:column;align-items:flex-start;}
  .pcard__title{font-size:26px;line-height:28px;}
  .pcard__foot{flex-wrap:wrap;}
}
@media (max-width:560px){
  .shop-archive ul.products{grid-template-columns:1fr;}
  .side{flex-direction:column;}
}
