*{margin:0;padding:0;box-sizing:border-box}
:root{
  --black:#0a0a0b;
  --dark:#111114;
  --surface:#18181c;
  --surface2:#222228;
  --red:#0050E8;
  --red2:#1A8FFF;
  --red-dim:rgba(0,80,232,0.12);
  --red-border:rgba(0,80,232,0.3);
  --white:#f2f2f0;
  --silver:#909098;
  --muted:#4a4a55;
  --border:rgba(255,255,255,0.07);
  --border2:rgba(255,255,255,0.12);
  --gold:#c8922a;
  --display:'Barlow Condensed',sans-serif;
  --mono:'Share Tech Mono',monospace;
  --body:'Barlow',sans-serif;
  --grad:linear-gradient(135deg,#0050E8,#1A8FFF);
}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--white);font-family:var(--body);overflow-x:hidden;-webkit-font-smoothing:antialiased;cursor:none}

/* ── CURSOR ── */
#cur{position:fixed;width:10px;height:10px;background:var(--red);border-radius:0;transform:translate(-50%,-50%) rotate(45deg);pointer-events:none;z-index:9999;transition:transform 0.1s}
#cur-ring{position:fixed;width:38px;height:38px;border:1px solid rgba(0,80,232,0.5);border-radius:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%) rotate(45deg);transition:all 0.18s ease}

/* ── PAGES ── */
.page{display:none}.page.active{display:block}

/* ── TOP BAR ── */
.topbar-strip{background:#003399;padding:0.4rem 4rem;display:flex;justify-content:space-between;align-items:center}
.topbar-strip span{font-family:var(--mono);font-size:0.65rem;letter-spacing:0.1em;color:rgba(255,255,255,0.9)}
.topbar-strip a{font-family:var(--mono);font-size:0.65rem;color:rgba(255,255,255,0.9);text-decoration:none}
.topbar-strip a:hover{color:#fff}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:300;background:rgba(10,10,11,0.97);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,80,232,0.2);height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 3rem}
.nav-logo{display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none}
.nav-logo-badge{display:none}
.nav-logo-img{height:56px;width:auto;mix-blend-mode:lighten;transition:opacity 0.2s}
.nav-logo-img:hover{opacity:0.82}
.nav-links{display:flex;gap:0;height:72px;align-items:stretch;justify-content:flex-start}
.nav-link{display:flex;align-items:center;padding:0 1.5rem;font-family:var(--display);font-size:0.9rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--silver);text-decoration:none;cursor:pointer;transition:all 0.2s;border-bottom:2px solid transparent;font-weight:600}
.nav-link:hover,.nav-link.active{color:var(--white);border-bottom-color:var(--red)}
/* Products dropdown */
.nav-dropdown{position:relative;display:flex;align-items:stretch;height:72px}
.nav-dropdown > .nav-link{white-space:nowrap}
.nav-dropdown-menu{display:none;position:absolute;top:100%;left:0;background:#0a0a0b;border:1px solid rgba(0,80,232,0.2);border-top:2px solid var(--red);min-width:260px;z-index:999;flex-direction:column;padding:0.4rem 0;box-shadow:0 12px 28px rgba(0,0,0,0.5)}
.nav-dropdown:hover .nav-dropdown-menu{display:flex}
.nav-dropdown-menu a{padding:0.7rem 1.5rem;font-family:var(--mono);font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--silver);cursor:pointer;transition:all 0.2s;white-space:nowrap}
.nav-dropdown-menu a:hover{color:var(--white);background:rgba(0,80,232,0.1);padding-left:1.85rem}
/* Product Detail Page */
.pd-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.pd-gallery{position:sticky;top:96px}
.pd-main-img{width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;border:1px solid var(--border);position:relative;overflow:hidden}
.pd-thumb-row{display:flex;gap:0.6rem;margin-top:0.75rem}
.pd-thumb{width:72px;height:72px;background-size:cover;background-position:center;border:2px solid var(--border);cursor:pointer;transition:all 0.2s;flex-shrink:0;opacity:0.6}
.pd-thumb:hover{opacity:0.9;border-color:rgba(0,80,232,0.5)}
.pd-thumb.active{opacity:1;border-color:var(--red)}
.pd-group-heading{font-family:var(--mono);font-size:0.62rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--red2);margin-bottom:0.9rem}
.pd-chip{display:inline-block;padding:0.5rem 1rem;background:var(--surface);border:1px solid var(--border2);font-family:var(--mono);font-size:0.72rem;letter-spacing:0.03em;color:var(--silver);white-space:nowrap;transition:all 0.2s}
.pd-chip:hover{border-color:rgba(0,80,232,0.5);color:var(--white)}
@media(max-width:900px){
  .pd-layout{grid-template-columns:1fr;gap:2.5rem}
  .pd-gallery{position:static}
}
.nav-right{display:flex;align-items:center;justify-content:flex-end;gap:1rem}
.nav-quote{background:var(--red);color:#fff;border:none;padding:10px 22px;font-family:var(--display);font-size:0.85rem;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;font-weight:700;transition:all 0.3s;clip-path:polygon(6px 0%,100% 0%,100% calc(100% - 6px),calc(100% - 6px) 100%,0% 100%,0% 6px)}
.nav-quote:hover{background:var(--red2);transform:translateY(-1px)}
.cart-btn{background:none;border:1px solid var(--border2);color:var(--silver);width:38px;height:38px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s;position:relative;font-size:1rem}
.cart-btn:hover{border-color:var(--red);color:var(--red)}
.cart-badge{position:absolute;top:-5px;right:-5px;background:var(--red);color:#fff;width:16px;height:16px;border-radius:50%;font-size:9px;display:flex;align-items:center;justify-content:center;font-weight:700}
/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.hamburger span{display:block;width:22px;height:2px;background:var(--white);transition:all 0.3s}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;background:rgba(10,10,11,0.99);z-index:280;flex-direction:column;align-items:center;justify-content:center;gap:2rem;transform:translateX(-100%);transition:transform 0.35s cubic-bezier(0.4,0,0.2,1)}
.mobile-menu.open{transform:translateX(0)}
.mobile-menu a{font-family:var(--display);font-size:2.5rem;font-weight:900;letter-spacing:0.1em;text-transform:uppercase;color:var(--white);text-decoration:none;cursor:pointer;transition:color 0.2s}
.mobile-menu a:hover{color:var(--red)}
.mob-cta{background:var(--red);color:#fff;border:none;padding:14px 40px;font-family:var(--display);font-size:0.9rem;letter-spacing:0.2em;text-transform:uppercase;cursor:pointer;font-weight:700;clip-path:polygon(6px 0%,100% 0%,100% calc(100% - 6px),calc(100% - 6px) 100%,0% 100%,0% 6px)}

/* ── HERO ── */
.hero{position:relative;height:100svh;min-height:680px;overflow:hidden;display:flex;align-items:center}
.hero-bg{position:absolute;inset:-10% 0;will-change:transform}
.hero-bg img{width:100%;height:120%;object-fit:cover;object-position:center 35%;filter:brightness(0.35) saturate(0.8) contrast(1.1)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(10,10,11,0.78) 0%,rgba(10,10,11,0.28) 50%,rgba(10,10,11,0.05) 100%);z-index:2;pointer-events:none}
/* grid lines */
.hero-grid{position:absolute;inset:0;z-index:2;background-image:linear-gradient(rgba(0,80,232,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,80,232,0.04) 1px,transparent 1px);background-size:80px 80px;pointer-events:none}
/* red glow orb */
.hero-orb{position:absolute;right:-100px;top:50%;transform:translateY(-50%);width:700px;height:700px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,80,232,0.18) 0%,transparent 70%);pointer-events:none;z-index:2}
.hero-content{position:relative;z-index:5;padding:0 4rem;max-width:820px;padding-top:72px}
.hero-pretag{display:inline-flex;align-items:center;gap:0.75rem;background:var(--red-dim);border:1px solid var(--red-border);padding:5px 16px;font-family:var(--mono);font-size:0.65rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--red2);margin-bottom:2rem;clip-path:polygon(5px 0%,100% 0%,100% calc(100% - 5px),calc(100% - 5px) 100%,0% 100%,0% 5px)}
.hero-pretag::before{content:'';width:6px;height:6px;background:var(--red2);transform:rotate(45deg);flex-shrink:0}
.hero h1{font-family:var(--display);font-size:clamp(4.5rem,12vw,10rem);font-weight:900;line-height:0.85;letter-spacing:0.02em;text-transform:uppercase}
.hero h1 .l1{display:block;color:var(--white)}
.hero h1 .l2{display:block;-webkit-text-stroke:2px var(--red);color:transparent}
.hero h1 .l3{display:block;font-size:0.22em;font-weight:300;letter-spacing:0.3em;color:var(--silver);-webkit-text-stroke:0;margin-top:0.8em;font-style:italic}
.hero-divider{display:flex;align-items:center;gap:1rem;margin:2rem 0}
.hd-line{height:1px;width:40px;background:var(--red)}
.hd-text{font-family:var(--mono);font-size:0.65rem;letter-spacing:0.2em;color:var(--muted);text-transform:uppercase}
.hero-sub{font-size:1rem;color:var(--silver);line-height:1.85;max-width:480px;margin-bottom:2.5rem;font-weight:300}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.btn-red{background:var(--grad);color:#fff;border:none;padding:15px 36px;font-family:var(--display);font-size:0.95rem;letter-spacing:0.18em;text-transform:uppercase;cursor:pointer;font-weight:700;transition:all 0.3s;clip-path:polygon(8px 0%,100% 0%,100% calc(100% - 8px),calc(100% - 8px) 100%,0% 100%,0% 8px);box-shadow:0 4px 24px rgba(0,80,232,0.35)}
.btn-red:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,80,232,0.5)}
.btn-wire{background:transparent;color:var(--white);border:1px solid var(--border2);padding:15px 36px;font-family:var(--display);font-size:0.95rem;letter-spacing:0.18em;text-transform:uppercase;cursor:pointer;font-weight:700;transition:all 0.3s;clip-path:polygon(8px 0%,100% 0%,100% calc(100% - 8px),calc(100% - 8px) 100%,0% 100%,0% 8px)}
.btn-wire:hover{border-color:var(--red);color:var(--red)}


/* ── TICKER ── */
.red-ticker{background:#003399;border-top:none;border-bottom:none;overflow:hidden;padding:0.6rem 0}
.red-ticker-track{display:inline-flex;animation:ticker 35s linear infinite;white-space:nowrap}
.rti{font-family:var(--mono);font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.75);padding:0 2rem}
.rti::after{content:'◆';margin-left:2rem;color:#1A8FFF;font-size:0.45rem}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── SECTIONS ── */
.section{padding:8rem 4rem}
.sec-pretag{display:inline-flex;align-items:center;gap:0.6rem;font-family:var(--mono);font-size:0.62rem;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--red2);margin-bottom:1rem}
.sec-pretag::before{content:'//';font-size:0.7rem;opacity:0.7}
.sec-title{font-family:var(--display);font-size:clamp(2.5rem,6vw,5.5rem);font-weight:900;line-height:0.88;letter-spacing:0.03em;text-transform:uppercase;margin-bottom:1rem}
.sec-title em{-webkit-text-stroke:1.5px var(--red);color:transparent;font-style:normal}
.sec-sub{font-size:0.95rem;color:var(--silver);line-height:1.9;max-width:520px;font-weight:300}

/* ── PRODUCT CATEGORIES ── */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);margin-top:4rem}
.cat-card{background:var(--dark);padding:0;position:relative;overflow:hidden;cursor:pointer;transition:all 0.4s}
.cat-card:hover{background:var(--surface)}
.cat-card-img{width:100%;aspect-ratio:4/3;overflow:hidden;position:relative}
.cat-card-img img{width:100%;height:100%;object-fit:cover;filter:brightness(0.5) saturate(0.7);transition:all 0.6s}
.cat-card:hover .cat-card-img img{filter:brightness(0.75) saturate(0.9) contrast(1.1);transform:scale(1.05)}
.cat-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,11,0.9) 0%,transparent 50%)}
.cat-info{padding:1.75rem 2rem;border-top:1px solid var(--border)}
.cat-num{font-family:var(--mono);font-size:0.65rem;color:var(--red);letter-spacing:0.15em;margin-bottom:0.5rem;display:block}
.cat-name{font-family:var(--display);font-size:1.6rem;font-weight:800;letter-spacing:0.05em;text-transform:uppercase;margin-bottom:0.4rem;line-height:1}
.cat-sub{font-size:0.78rem;color:var(--silver);margin-bottom:1.25rem;font-weight:300;line-height:1.7}
.cat-arrow{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--display);font-size:0.78rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--red);font-weight:600;transition:gap 0.25s}
.cat-card:hover .cat-arrow{gap:0.85rem}

/* ── PRODUCT CARDS ── */
.shop-section{background:var(--surface);padding:8rem 4rem}
.filter-bar{display:flex;gap:0;margin-bottom:3rem;border-bottom:1px solid var(--border)}
.fb-btn{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:0.8rem 1.75rem;font-family:var(--display);font-size:0.85rem;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;color:var(--silver);transition:all 0.2s;font-weight:600}
.fb-btn.active,.fb-btn:hover{color:var(--white);border-bottom-color:var(--red)}
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border)}
.prod-card{background:var(--dark);position:relative;overflow:hidden;cursor:pointer;transition:background 0.3s}
.prod-card:hover{background:var(--surface2)}
.prod-img{aspect-ratio:1;overflow:hidden;position:relative;background:var(--black);display:flex;align-items:center;justify-content:center}
.prod-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s;filter:drop-shadow(0 10px 30px rgba(0,80,232,0.2))}
.prod-card:hover .prod-img img{transform:scale(1.06)}
.prod-flag{position:absolute;top:0;left:0;background:var(--red);color:#fff;font-family:var(--mono);font-size:0.58rem;letter-spacing:0.12em;padding:4px 12px;font-weight:400;text-transform:uppercase}
.prod-flag.made{background:var(--gold)}
.prod-body{padding:1.25rem 1.5rem}
.prod-cat{font-family:var(--mono);font-size:0.58rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--red);margin-bottom:0.3rem}
.prod-name{font-family:var(--display);font-size:1.15rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--white);margin-bottom:0.3rem;line-height:1.15}
.prod-spec{font-size:0.72rem;color:var(--muted);margin-bottom:1rem;line-height:1.6;font-weight:300}
.prod-footer{display:flex;align-items:center;justify-content:space-between}
.prod-price{font-family:var(--display);font-size:1.2rem;font-weight:800;color:var(--white);letter-spacing:0.04em}
.prod-price.poa{font-size:0.8rem;color:var(--red);font-family:var(--mono);letter-spacing:0.1em}
.prod-buy{background:var(--red);color:#fff;border:none;padding:8px 16px;font-family:var(--display);font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;font-weight:700;transition:all 0.25s;clip-path:polygon(5px 0%,100% 0%,100% calc(100% - 5px),calc(100% - 5px) 100%,0% 100%,0% 5px)}
.prod-buy:hover{background:var(--red2)}
.prod-enquire{background:transparent;color:var(--silver);border:1px solid var(--border2);padding:8px 16px;font-family:var(--display);font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;font-weight:700;transition:all 0.25s;clip-path:polygon(5px 0%,100% 0%,100% calc(100% - 5px),calc(100% - 5px) 100%,0% 100%,0% 5px)}
.prod-enquire:hover{border-color:var(--red);color:var(--red)}

/* ── FEATURE SPLIT ── */
.feature-split{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.feature-vis{position:relative;overflow:hidden;background:var(--black)}
.feature-vis img{width:100%;height:100%;object-fit:cover;filter:brightness(0.45) saturate(0.8);transition:transform 0.8s}
.feature-split:hover .feature-vis img{transform:scale(1.04)}
.feature-vis-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(10,10,11,0.4),transparent)}
.feature-vis-badge{position:absolute;top:2rem;left:2rem;background:var(--red);color:#fff;padding:0.5rem 1rem;font-family:var(--mono);font-size:0.6rem;letter-spacing:0.15em;text-transform:uppercase;font-weight:400}
.feature-text{background:var(--dark);padding:5rem 4rem;display:flex;flex-direction:column;justify-content:center}
.feature-text p{font-size:0.9rem;color:var(--silver);line-height:2;margin-bottom:1.25rem;font-weight:300}
.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}
.spec-item{border-left:2px solid var(--red);padding-left:1rem;padding-top:0.1rem;padding-bottom:0.1rem}
.spec-label{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted)}
.spec-val{font-family:var(--display);font-size:1.1rem;font-weight:700;color:var(--white);letter-spacing:0.04em;margin-top:0.1rem}

/* ── CALIPER COLOURS ── */
.colours-section{background:var(--black);padding:8rem 4rem}
.colours-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.5rem;margin-top:3.5rem}
.colour-item{text-align:center;cursor:pointer;transition:transform 0.3s}
.colour-item:hover{transform:translateY(-4px)}
.colour-swatch{width:72px;height:72px;border-radius:50%;margin:0 auto 0.75rem;box-shadow:0 4px 20px rgba(0,0,0,0.5);border:2px solid var(--border);transition:all 0.3s}
.colour-item:hover .colour-swatch{border-color:var(--red);box-shadow:0 8px 30px rgba(0,80,232,0.3)}
.colour-name{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted)}

/* ── PROCESS STRIP ── */
.process-section{background:var(--surface);padding:7rem 4rem;overflow:hidden}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:4rem;position:relative}
.process-steps::before{content:'';position:absolute;top:28px;left:12%;right:12%;height:1px;background:linear-gradient(to right,var(--red),transparent)}
.proc-step{padding:0 2rem;text-align:center;position:relative;z-index:1}
.proc-num{width:58px;height:58px;background:var(--red);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:1.2rem;font-weight:900;color:#fff;margin:0 auto 1.5rem;clip-path:polygon(8px 0%,100% 0%,100% calc(100% - 8px),calc(100% - 8px) 100%,0% 100%,0% 8px)}
.proc-num.inactive{background:var(--surface2);color:var(--muted)}
.proc-title{font-family:var(--display);font-size:1.1rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:0.6rem}
.proc-text{font-size:0.78rem;color:var(--silver);line-height:1.8;font-weight:300}

/* ── TESTIMONIALS ── */
.review-section{background:#16161a;padding:8rem 4rem}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);margin-top:4rem}
.review-card{background:var(--dark);padding:2.5rem;transition:background 0.3s;position:relative;overflow:hidden}
.review-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform 0.4s}
.review-card:hover{background:var(--surface)}
.review-card:hover::before{transform:scaleX(1)}
.review-stars{color:var(--red);font-size:0.8rem;letter-spacing:0.15em;margin-bottom:1.25rem}
.review-text{font-size:0.88rem;color:var(--silver);line-height:1.9;margin-bottom:2rem;font-style:italic;font-weight:300}
.review-author{display:flex;align-items:center;gap:1rem}
.review-av{width:38px;height:38px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:900;font-size:1rem;color:#fff;clip-path:polygon(6px 0%,100% 0%,100% calc(100% - 6px),calc(100% - 6px) 100%,0% 100%,0% 6px)}
.review-name{font-family:var(--display);font-size:0.9rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase}
.review-car{font-size:0.7rem;color:var(--muted);font-family:var(--mono);letter-spacing:0.1em}

/* ── SA MADE BAND ── */
.sa-band{background:var(--grad);padding:5rem 4rem;display:flex;align-items:center;justify-content:space-between;gap:3rem;flex-wrap:wrap;position:relative;overflow:hidden}
.sa-band::before{content:'';position:absolute;right:-100px;top:-100px;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,0.06);pointer-events:none}
.sa-band::after{content:'';position:absolute;left:-50px;bottom:-80px;width:300px;height:300px;border-radius:50%;background:rgba(0,0,0,0.12);pointer-events:none}
.sa-title{font-family:var(--display);font-size:clamp(2rem,5vw,4rem);font-weight:900;letter-spacing:0.04em;text-transform:uppercase;color:#fff;line-height:0.9;position:relative;z-index:1}
.sa-title em{display:block;font-family:'Barlow',sans-serif;font-size:0.38em;font-style:normal;font-weight:300;letter-spacing:0.2em;opacity:0.75;margin-bottom:0.5em}
.sa-band-right{position:relative;z-index:1;display:flex;gap:1rem;flex-wrap:wrap}
.btn-white{background:#fff;color:var(--red);border:none;padding:15px 36px;font-family:var(--display);font-size:0.9rem;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;font-weight:800;transition:all 0.3s;clip-path:polygon(8px 0%,100% 0%,100% calc(100% - 8px),calc(100% - 8px) 100%,0% 100%,0% 8px)}
.btn-white:hover{background:var(--black);color:#fff}
.btn-ghost-w{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.45);padding:15px 36px;font-family:var(--display);font-size:0.9rem;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;font-weight:700;transition:all 0.3s;clip-path:polygon(8px 0%,100% 0%,100% calc(100% - 8px),calc(100% - 8px) 100%,0% 100%,0% 8px)}
.btn-ghost-w:hover{border-color:#fff;background:rgba(255,255,255,0.1)}

/* ── CART ── */
.cart-overlay{display:none;position:fixed;inset:0;background:rgba(10,10,11,0.85);z-index:500;backdrop-filter:blur(6px)}
.cart-overlay.open{display:block}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:100%;background:var(--dark);z-index:501;transform:translateX(100%);transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);display:flex;flex-direction:column;border-left:1px solid var(--red-border)}
.cart-drawer.open{transform:translateX(0)}
.cart-head{padding:1.75rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:var(--black)}
.cart-head-title{font-family:var(--display);font-size:1.2rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase}
.cart-head-title span{color:var(--red)}
.cart-close{background:none;border:none;color:var(--silver);font-size:1.1rem;cursor:pointer;transition:color 0.2s}
.cart-close:hover{color:var(--red)}
.cart-items{flex:1;overflow-y:auto;padding:1.5rem}
.cart-empty{text-align:center;padding:4rem 0;color:var(--muted);font-family:var(--mono);font-size:0.78rem;letter-spacing:0.1em}
.cart-item{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border)}
.cart-item-img{width:64px;height:64px;flex-shrink:0;background:var(--surface2);display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}
.cart-item-img img{width:80%;height:80%;object-fit:contain}
.cart-item-info{flex:1}
.cart-item-name{font-family:var(--display);font-size:0.88rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;margin-bottom:0.2rem}
.cart-item-price{font-size:0.82rem;color:var(--red);font-weight:600}
.cart-item-rm{background:none;border:none;color:var(--muted);cursor:pointer;font-size:0.8rem;transition:color 0.2s}
.cart-item-rm:hover{color:var(--red)}
.cart-foot{padding:1.5rem;border-top:1px solid var(--border);background:var(--black)}
.cart-total-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}
.cart-total-label{font-family:var(--mono);font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted)}
.cart-total-val{font-family:var(--display);font-size:1.6rem;font-weight:900;color:var(--white)}
.cart-checkout{width:100%;padding:15px;background:var(--grad);color:#fff;border:none;font-family:var(--display);font-size:0.9rem;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;font-weight:800;transition:all 0.3s;clip-path:polygon(8px 0%,100% 0%,100% calc(100% - 8px),calc(100% - 8px) 100%,0% 100%,0% 8px);box-shadow:0 4px 20px rgba(0,80,232,0.3)}
.cart-checkout:hover{box-shadow:0 8px 30px rgba(0,80,232,0.5)}

/* ── PAYSTACK ── */
.ps-overlay{position:fixed;inset:0;background:rgba(10,10,11,0.9);z-index:600;display:none;align-items:center;justify-content:center;backdrop-filter:blur(10px)}
.ps-overlay.open{display:flex}
.ps-modal{background:var(--dark);width:440px;max-width:95vw;border:1px solid var(--red-border);box-shadow:0 40px 100px rgba(0,80,232,0.2)}
.ps-head{background:var(--black);padding:1.5rem 1.75rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--red-border)}
.ps-brand{display:flex;align-items:center;gap:0.75rem}
.ps-logo{width:28px;height:28px;background:var(--red);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:900;color:#fff;font-size:0.8rem;clip-path:polygon(5px 0%,100% 0%,100% calc(100% - 5px),calc(100% - 5px) 100%,0% 100%,0% 5px)}
.ps-brand-name{font-family:var(--mono);font-size:0.65rem;letter-spacing:0.1em;color:var(--silver)}
.ps-close{background:none;border:none;color:var(--silver);cursor:pointer}
.ps-body{padding:1.75rem}
.ps-title{font-family:var(--display);font-size:1.1rem;font-weight:800;letter-spacing:0.05em;text-transform:uppercase;margin-bottom:0.25rem}
.ps-amt{font-family:var(--display);font-size:2rem;font-weight:900;color:var(--red);letter-spacing:0.04em;margin-bottom:1.5rem}
.ps-inp{width:100%;background:var(--surface2);border:1px solid var(--border2);padding:11px 14px;font-family:var(--mono);font-size:0.78rem;color:var(--white);outline:none;margin-bottom:0.8rem;transition:border-color 0.2s;letter-spacing:0.05em}
.ps-inp:focus{border-color:var(--red)}
.ps-inp::placeholder{color:var(--muted)}
.ps-row{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem}
.ps-pay{width:100%;padding:14px;background:var(--grad);color:#fff;border:none;font-family:var(--display);font-size:0.9rem;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;font-weight:800;margin-top:0.75rem;clip-path:polygon(8px 0%,100% 0%,100% calc(100% - 8px),calc(100% - 8px) 100%,0% 100%,0% 8px);box-shadow:0 4px 20px rgba(0,80,232,0.3);transition:all 0.3s}
.ps-pay:hover{box-shadow:0 8px 30px rgba(0,80,232,0.5)}
.ps-secure{text-align:center;font-family:var(--mono);font-size:0.6rem;color:var(--muted);margin-top:0.75rem;letter-spacing:0.08em}

/* ── PRODUCT DETAIL MODAL ── */
.detail-overlay{position:fixed;inset:0;background:rgba(10,10,11,0.92);z-index:550;display:none;align-items:center;justify-content:center;backdrop-filter:blur(10px)}
.detail-overlay.open{display:flex}
.detail-modal{background:var(--dark);width:920px;max-width:96vw;max-height:90vh;overflow-y:auto;border:1px solid var(--red-border);display:grid;grid-template-columns:1fr 1fr}
.detail-vis{background:var(--black);display:flex;align-items:center;justify-content:center;padding:3rem;position:relative;min-height:400px}
.detail-vis img{max-height:380px;width:auto;filter:drop-shadow(0 20px 60px rgba(0,80,232,0.35))}
.detail-close{position:absolute;top:1rem;right:1rem;background:var(--surface);border:1px solid var(--border);color:var(--silver);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:0.85rem;transition:all 0.2s;clip-path:polygon(4px 0%,100% 0%,100% calc(100% - 4px),calc(100% - 4px) 100%,0% 100%,0% 4px)}
.detail-close:hover{border-color:var(--red);color:var(--red)}
.detail-info{padding:2.5rem;overflow-y:auto}
.detail-cat{font-family:var(--mono);font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--red);margin-bottom:0.5rem}
.detail-name{font-family:var(--display);font-size:2rem;font-weight:900;letter-spacing:0.04em;text-transform:uppercase;line-height:0.95;margin-bottom:1rem}
.detail-price{font-family:var(--display);font-size:2rem;font-weight:900;color:var(--red);margin-bottom:0.4rem;letter-spacing:0.04em}
.detail-made{display:inline-block;background:var(--gold);color:var(--black);font-family:var(--mono);font-size:0.6rem;letter-spacing:0.15em;text-transform:uppercase;padding:3px 12px;margin-bottom:1.25rem;font-weight:700}
.detail-desc{font-size:0.85rem;color:var(--silver);line-height:1.85;margin-bottom:1.5rem;font-weight:300}
.detail-specs{background:var(--surface2);padding:1.25rem;margin-bottom:1.5rem;border-left:2px solid var(--red)}
.detail-spec-row{display:flex;justify-content:space-between;padding:0.45rem 0;border-bottom:1px solid var(--border);font-size:0.78rem}
.detail-spec-row:last-child{border-bottom:none}
.detail-spec-label{color:var(--muted);font-family:var(--mono);font-size:0.65rem;letter-spacing:0.08em}
.detail-spec-val{color:var(--white);font-weight:500}
.detail-add{width:100%;padding:14px;background:var(--grad);color:#fff;border:none;font-family:var(--display);font-size:0.9rem;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;font-weight:800;clip-path:polygon(8px 0%,100% 0%,100% calc(100% - 8px),calc(100% - 8px) 100%,0% 100%,0% 8px);box-shadow:0 4px 20px rgba(0,80,232,0.3);transition:all 0.3s}
.detail-add:hover{box-shadow:0 8px 30px rgba(0,80,232,0.5)}
.detail-enquire{width:100%;padding:12px;background:transparent;color:var(--white);border:1px solid var(--border2);font-family:var(--display);font-size:0.9rem;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;font-weight:700;margin-top:0.75rem;transition:all 0.3s;clip-path:polygon(8px 0%,100% 0%,100% calc(100% - 8px),calc(100% - 8px) 100%,0% 100%,0% 8px)}
.detail-enquire:hover{border-color:var(--red);color:var(--red)}

/* ── CONTACT PAGE ── */
.contact-page{padding:9rem 4rem 5rem;background:var(--dark);min-height:100vh}
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:4rem;margin-top:4rem;max-width:1100px}
.contact-block{background:var(--surface);border:1px solid var(--border);padding:1.75rem;margin-bottom:1.25rem;position:relative;overflow:hidden}
.contact-block::before{content:'';position:absolute;top:0;left:0;bottom:0;width:2px;background:var(--red)}
.contact-block-label{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--red);margin-bottom:0.4rem}
.contact-block-val{font-size:0.9rem;color:var(--white);line-height:1.7}
.contact-block-val a{color:var(--white);text-decoration:none;transition:color 0.2s}
.contact-block-val a:hover{color:var(--red)}
.contact-form{background:var(--surface);border:1px solid var(--border);padding:2.5rem;position:relative;overflow:hidden}
.contact-form::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--grad)}
.cform-title{font-family:var(--display);font-size:1.4rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:2rem}
.fg{display:flex;flex-direction:column;gap:0.35rem;margin-bottom:0.9rem}
.fg label{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--red);font-weight:400}
.fg input,.fg select,.fg textarea{background:var(--surface2);border:1px solid var(--border2);padding:10px 13px;font-family:var(--body);font-size:0.85rem;color:var(--white);outline:none;transition:border-color 0.2s;font-weight:300}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--red)}
.fg input::placeholder,.fg textarea::placeholder{color:var(--muted)}
.fg select option{background:var(--surface2)}
.fg textarea{min-height:100px;resize:vertical}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-submit{width:100%;padding:14px;background:var(--grad);color:#fff;border:none;font-family:var(--display);font-size:0.9rem;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;font-weight:800;margin-top:0.5rem;clip-path:polygon(8px 0%,100% 0%,100% calc(100% - 8px),calc(100% - 8px) 100%,0% 100%,0% 8px);box-shadow:0 4px 20px rgba(0,80,232,0.2);transition:all 0.3s}
.form-submit:hover{box-shadow:0 8px 30px rgba(0,80,232,0.4)}

/* ── ABOUT PAGE ── */
.about-page{padding-top:72px;min-height:100vh}
.about-hero{position:relative;height:480px;overflow:hidden}
.about-hero img{width:100%;height:100%;object-fit:cover;filter:brightness(0.3) saturate(0.7)}
.about-hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(10,10,11,0.92) 45%,rgba(10,10,11,0.4) 100%)}
.about-hero-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 4rem}
.about-body{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--dark)}
.about-text-col{padding:5rem 4rem;border-right:1px solid var(--border)}
.about-text-col p{font-size:0.9rem;color:var(--silver);line-height:2;margin-bottom:1.25rem;font-weight:300}
.about-img-col{position:relative;overflow:hidden;min-height:400px}
.about-img-col img{width:100%;height:100%;object-fit:cover;filter:brightness(0.6) saturate(0.8)}
.about-stat-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:var(--red)}
.about-stat{text-align:center;padding:2.5rem 1.5rem;border-right:1px solid rgba(255,255,255,0.15)}
.about-stat:last-child{border-right:none}
.about-stat-val{font-family:var(--display);font-size:2.5rem;font-weight:900;color:#fff;line-height:1;margin-bottom:0.2rem}
.about-stat-label{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.65)}

/* ── FOOTER ── */
footer{background:#16161a;border-top:none;padding:5rem 4rem 2.5rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:4rem}
.footer-brand-logo{margin-bottom:1rem}
.footer-brand-badge{width:36px;height:36px;background:var(--red);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:1rem;font-weight:900;color:#fff;clip-path:polygon(6px 0%,100% 0%,100% calc(100% - 6px),calc(100% - 6px) 100%,0% 100%,0% 6px)}
.footer-brand-name{font-family:var(--display);font-size:1.1rem;font-weight:900;letter-spacing:0.08em;text-transform:uppercase}
.footer-brand-name span{color:var(--red)}
.footer-brand p{font-size:0.82rem;color:var(--muted);line-height:1.9;max-width:260px;font-weight:300}
.footer-social{display:flex;gap:0.75rem;margin-top:1.25rem}
.footer-social a{width:36px;height:36px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all 0.2s}
.footer-social a:hover{border-color:var(--red);color:var(--white);background:rgba(0,80,232,0.1)}
.footer-social svg{width:16px;height:16px;fill:currentColor}
.footer-col h4{font-family:var(--mono);font-size:0.62rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--red);margin-bottom:1.2rem;font-weight:400}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:0.5rem}
.footer-col ul li a{font-size:0.82rem;color:var(--muted);text-decoration:none;cursor:pointer;transition:color 0.2s;font-weight:300}
.footer-col ul li a:hover{color:var(--white)}
.footer-bottom{border-top:1px solid var(--border);padding-top:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-bottom p{font-size:0.72rem;color:var(--muted);letter-spacing:0.05em}
.powered-by{display:flex;align-items:center;gap:8px;font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(242,242,240,0.6);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);padding:6px 14px 6px 10px}
.powered-by img{height:14px;width:auto;filter:brightness(1.8) saturate(0.4)}

/* ── RESPONSIVE ── */

/* ═══════════════════════════════════════
   MOBILE RESPONSIVE — no horizontal scroll
   ═══════════════════════════════════════ */

/* Ensure nothing overflows */
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}

@media(max-width:1100px){
  .products-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .hero-stat-bar{gap:2rem;padding:0.7rem 2rem;flex-wrap:wrap}
  .cat-grid{grid-template-columns:1fr 1fr}
  .colours-grid{grid-template-columns:repeat(4,1fr)}
}

@media(max-width:900px){
  .feature-split,.feature-split-light{grid-template-columns:1fr}
  .feature-vis{min-height:300px}
  .review-grid{grid-template-columns:1fr}
  .colours-grid{grid-template-columns:repeat(3,1fr)}
  .process-steps{grid-template-columns:1fr 1fr;gap:1.5rem}
  .process-steps::before{display:none}
  .detail-modal{grid-template-columns:1fr}
  .detail-vis{min-height:250px}
  .about-body{grid-template-columns:1fr}
  .about-img-col{display:none}
  .about-gen2-split{grid-template-columns:1fr!important}
  .contact-grid{grid-template-columns:1fr}
  .mosaic-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .mosaic-item{grid-column:span 1!important;grid-row:span 1!important;height:180px}
  .section,.shop-section,.colours-section,.process-section,.review-section,.contact-page,.about-text-col,.gallery-section-light,.colours-light,.prod-scroll-header,.prod-scroll-controls{padding-left:1.5rem;padding-right:1.5rem}
}

@media(max-width:768px){
  body{cursor:auto}
  #cur,#cur-ring{display:none}
  /* Sub-heading labels (hero-pretag/sec-pretag) were reported hard to read
     on mobile — small mono-font kicker text in blue-on-dark was failing
     contrast at phone size. Bump size slightly on top of the brighter
     --red2 colour + bolder weight applied site-wide above. */
  .hero-pretag{font-size:0.72rem}
  .sec-pretag{font-size:0.7rem}
  /* Nav — centred logo on mobile */
  nav{padding:0 1rem;grid-template-columns:1fr auto 1fr;height:62px}
  .nav-links{display:none}
  .nav-quote{display:none}
  .hamburger{display:flex}
  .mobile-menu{top:62px;display:flex}
  .nav-logo-img{height:44px}
  .cart-btn{width:34px;height:34px}
  .topbar-strip{display:none}
  /* Hero */
  .hero{min-height:100svh}
  .hero-content{padding:5rem 1.5rem 3rem;max-width:100%}
  .hero h1{font-size:clamp(3rem,14vw,5.5rem)}
  .hero-actions{flex-direction:column;gap:0.75rem}
  .hero-actions .btn-red,.hero-actions .btn-wire{width:100%;text-align:center}
  .hero-stat-bar{padding:0.6rem 1rem;gap:0.75rem;flex-wrap:wrap;justify-content:center}
  .hst-val{font-size:1.1rem}
  .hst-label{font-size:0.52rem}
  .hst-divider{display:none}
  /* Sections */
  .section,.shop-section,.colours-section,.process-section,.review-section,.colours-light{padding:4rem 1.5rem}
  .prod-scroll-section{padding:4rem 0}
  /* Product scroll — narrower cards on mobile */
  .psc{width:220px}
  .psc-img{height:170px}
  /* Categories */
  .cat-grid{grid-template-columns:1fr;gap:0;background:var(--border)}
  /* Products grid */
  .products-grid{grid-template-columns:1fr 1fr}
  /* Feature text */
  .feature-text,.feature-text-light{padding:3rem 1.5rem}
  /* Process */
  .process-steps{grid-template-columns:1fr}
  /* Colours */
  .colours-grid{grid-template-columns:repeat(3,1fr)}
  /* SA band */
  .sa-band{padding:3rem 1.5rem;flex-direction:column;text-align:center}
  /* Reviews */
  .review-card{padding:1.75rem}
  /* Gallery */
  .gallery-section-light{padding:4rem 1.5rem}
  /* About */
  .about-hero-content{padding:0 1.5rem}
  .about-text-col{padding:3rem 1.5rem}
  .about-stat-bar{grid-template-columns:1fr 1fr}
  /* Footer */
  footer{padding:3rem 1.5rem 2rem}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:0.75rem}
  /* Cart */
  .cart-drawer{width:100%;max-width:100%}
  /* Detail modal */
  .detail-modal{grid-template-columns:1fr;max-height:95vh}
  .detail-vis{min-height:220px}
  /* Contact */
  .contact-page{padding:5rem 1.5rem 3rem}
  .contact-grid{grid-template-columns:1fr;gap:1.5rem}
  .fg-row{grid-template-columns:1fr}
  /* Coming soon */

}

@media(max-width:480px){
  .products-grid{grid-template-columns:1fr}
  .colours-grid{grid-template-columns:repeat(2,1fr)}
  .process-steps{grid-template-columns:1fr}
  .hero h1{font-size:clamp(2.8rem,16vw,4rem)}
  .sec-title{font-size:clamp(2rem,10vw,3.5rem)}
  .psc{width:200px}
  .about-stat-bar{grid-template-columns:1fr 1fr}
  .hst{flex:1;text-align:center;min-width:calc(50% - 1rem)}
  .hero-stat-bar{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;padding:0.75rem 1rem}
}

  .colours-grid{grid-template-columns:repeat(2,1fr)}
}

/* ── LIGHT SECTION VARIABLES ── */
:root{
  --light-bg:#f0f0ec;
  --light-surface:#ffffff;
  --light-surface2:#e8e8e4;
  --light-border:rgba(30,30,28,0.1);
  --light-text:#1a1a18;
  --light-muted:#5a5a58;
}


/* ── VIDEO HERO ── */
.hero-video-wrap{position:absolute;inset:0;overflow:hidden;z-index:0}
.hero-video-wrap video{width:100%;height:100%;object-fit:cover;object-position:center}
/* Overlay — light enough to see the video clearly */
.hero-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(16,16,20,0.82) 0%,rgba(16,16,20,0.35) 50%,rgba(16,16,20,0.08) 100%);z-index:2;pointer-events:none}

/* ── CAROUSEL ── */
.carousel{position:relative;width:100%;height:100%;overflow:hidden}
.carousel-slides{position:absolute;inset:0;display:flex;transition:none}
.carousel-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s cubic-bezier(0.4,0,0.2,1)}
.carousel-slide.active{opacity:1;z-index:1}
.carousel-slide.prev{opacity:0;z-index:0}
.carousel-slide img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(0.68) saturate(0.92) contrast(1.05)}
/* Ken Burns zoom on active slide */
.carousel-slide.active img{animation:kenburns 8s ease-out forwards}
@keyframes kenburns{0%{transform:scale(1.08)}100%{transform:scale(1)}}
/* Carousel dots */
.carousel-dots{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);z-index:10;display:flex;gap:0.5rem;align-items:center}
.carousel-dot{width:24px;height:2px;background:rgba(255,255,255,0.35);cursor:pointer;transition:all 0.3s;clip-path:none}
.carousel-dot.active{width:40px;background:var(--red)}
/* Carousel prev/next */
.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:rgba(10,10,11,0.5);border:1px solid rgba(255,255,255,0.15);color:rgba(255,255,255,0.7);width:46px;height:46px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.25s;font-size:1.1rem;backdrop-filter:blur(8px);clip-path:polygon(6px 0%,100% 0%,100% calc(100% - 6px),calc(100% - 6px) 100%,0% 100%,0% 6px)}
.carousel-nav:hover{background:var(--red);border-color:var(--red);color:#fff}
.carousel-prev{left:2rem}
.carousel-next{right:2rem}
/* Slide caption */
.carousel-caption{position:absolute;bottom:90px;right:4rem;z-index:10;text-align:right}
.cc-num{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.25em;color:rgba(255,255,255,0.35);display:block;margin-bottom:0.2rem}
.cc-label{font-family:var(--display);font-size:0.85rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.55)}


/* ── PRODUCT SCROLL CAROUSEL ── */
.prod-scroll-section{background:var(--surface);padding:6rem 0;overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.prod-scroll-header{padding:0 4rem;margin-bottom:3rem;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.prod-scroll-header .sec-title{margin-bottom:0}
.prod-scroll-view-all{font-family:var(--display);font-size:0.85rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--red);text-decoration:none;cursor:pointer;transition:opacity 0.2s;display:flex;align-items:center;gap:0.4rem;flex-shrink:0}
.prod-scroll-view-all:hover{opacity:0.7}
/* The scrolling track wrapper */
.prod-scroll-wrap{position:relative}
.prod-scroll-wrap::before,.prod-scroll-wrap::after{content:'';position:absolute;top:0;bottom:0;width:120px;z-index:4;pointer-events:none}
.prod-scroll-wrap::before{left:0;background:linear-gradient(to right,var(--surface),transparent)}
.prod-scroll-wrap::after{right:0;background:linear-gradient(to left,var(--surface),transparent)}
/* The track */
.prod-scroll-track{display:flex;gap:0;width:max-content;animation:prodScroll 40s linear infinite}
.prod-scroll-track:hover{animation-play-state:paused}
@keyframes prodScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
/* Individual product scroll card */
.psc{width:280px;flex-shrink:0;background:var(--dark);border-right:1px solid var(--border);cursor:pointer;transition:background 0.3s;position:relative;overflow:hidden}
.psc:hover{background:var(--surface2)}
.psc-img{width:100%;height:220px;overflow:hidden;background:var(--surface2);display:flex;align-items:center;justify-content:center;position:relative}
.psc-img img{width:85%;height:85%;object-fit:contain;transition:transform 0.5s;filter:drop-shadow(0 8px 24px rgba(0,80,232,0.2))}
.psc:hover .psc-img img{transform:scale(1.08) translateY(-4px)}
.psc-flag{position:absolute;top:0;left:0;background:var(--red);font-family:var(--mono);font-size:0.55rem;letter-spacing:0.12em;text-transform:uppercase;padding:3px 10px;color:#fff}
.psc-flag.gold{background:var(--gold)}
.psc-body{padding:1.25rem 1.5rem}
.psc-cat{font-family:var(--mono);font-size:0.58rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--red);margin-bottom:0.25rem}
.psc-name{font-family:var(--display);font-size:1.05rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--white);margin-bottom:0.2rem;line-height:1.2}
.psc-spec{font-size:0.7rem;color:var(--muted);margin-bottom:0.85rem;line-height:1.5;font-weight:300}
.psc-footer{display:flex;align-items:center;justify-content:space-between}
.psc-price{font-family:var(--display);font-size:1.1rem;font-weight:800;color:var(--white);letter-spacing:0.04em}
.psc-price.poa{font-family:var(--mono);font-size:0.75rem;color:var(--red);letter-spacing:0.1em}
.psc-add{background:var(--red);color:#fff;border:none;padding:7px 14px;font-family:var(--display);font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;font-weight:700;transition:all 0.25s;clip-path:polygon(4px 0%,100% 0%,100% calc(100% - 4px),calc(100% - 4px) 100%,0% 100%,0% 4px)}
.psc-add:hover{background:var(--red2)}
/* Pause/speed controls */
.prod-scroll-controls{padding:2rem 4rem 0;display:flex;align-items:center;gap:1rem}
.psc-ctrl{background:transparent;border:1px solid var(--border2);color:var(--silver);padding:6px 14px;font-family:var(--mono);font-size:0.6rem;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;transition:all 0.2s;clip-path:polygon(4px 0%,100% 0%,100% calc(100% - 4px),calc(100% - 4px) 100%,0% 100%,0% 4px)}
.psc-ctrl:hover,.psc-ctrl.active{background:var(--red);border-color:var(--red);color:#fff}

/* ── LIGHT SECTIONS ── */
.section-light{background:var(--light-bg);padding:8rem 4rem}
.section-light .sec-pretag{color:var(--red)}
.section-light .sec-title{color:var(--light-text)}
.section-light .sec-sub{color:var(--light-muted)}

/* Features light */
.features-light{background:var(--light-bg);border-top:1px solid var(--light-border);border-bottom:1px solid var(--light-border);padding:5rem 4rem}
.feat-light{background:var(--light-surface);border:1px solid var(--light-border);padding:2.5rem 2rem;transition:all 0.3s;clip-path:polygon(6px 0%,100% 0%,100% calc(100% - 6px),calc(100% - 6px) 100%,0% 100%,0% 6px)}
.feat-light:hover{box-shadow:0 8px 30px rgba(0,80,232,0.1);transform:translateY(-3px)}
.feat-light-icon{font-size:2rem;display:block;margin-bottom:1.2rem}
.feat-light-title{font-family:var(--display);font-size:1.1rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--light-text);margin-bottom:0.5rem}
.feat-light-text{font-size:0.82rem;color:var(--light-muted);line-height:1.85;font-weight:300}

/* Feature split light */
.feature-split-light{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.feature-split-light .feature-vis{position:relative;overflow:hidden}
.feature-split-light .feature-vis img{width:100%;height:100%;object-fit:cover;filter:brightness(0.88) saturate(0.85)}
.feature-text-light{background:var(--light-surface);padding:5rem 4rem;display:flex;flex-direction:column;justify-content:center}
.feature-text-light .sec-title{color:var(--light-text);font-size:clamp(2rem,4vw,3.5rem);margin-bottom:1rem}
.feature-text-light p{font-size:0.9rem;color:var(--light-muted);line-height:2;margin-bottom:1.25rem;font-weight:300}
.feature-text-light .spec-item .spec-label{color:rgba(30,30,28,0.45)}
.feature-text-light .spec-item .spec-val{color:var(--light-text)}
.feature-text-light .spec-item{border-left-color:var(--red)}
.btn-dark{background:var(--light-text);color:#fff;border:none;padding:15px 36px;font-family:var(--display);font-size:0.9rem;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;font-weight:800;transition:all 0.3s;clip-path:polygon(8px 0%,100% 0%,100% calc(100% - 8px),calc(100% - 8px) 100%,0% 100%,0% 8px)}
.btn-dark:hover{background:var(--red)}
.btn-wire-dark{background:transparent;color:var(--light-text);border:1px solid var(--light-border);padding:15px 36px;font-family:var(--display);font-size:0.9rem;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;font-weight:700;transition:all 0.3s;clip-path:polygon(8px 0%,100% 0%,100% calc(100% - 8px),calc(100% - 8px) 100%,0% 100%,0% 8px)}
.btn-wire-dark:hover{border-color:var(--red);color:var(--red)}

/* Colours light */
.colours-light{background:var(--light-bg);padding:8rem 4rem}
.colours-light .sec-title{color:var(--light-text)}
.colours-light .sec-sub{color:var(--light-muted)}
.colours-light .colour-name{color:var(--light-muted)}

/* Gallery mosaic light */
.gallery-section-light{background:var(--light-surface);padding:8rem 4rem}
.gallery-section-light .sec-title{color:var(--light-text)}
.gallery-section-light .sec-sub{color:var(--light-muted)}
.mosaic-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:280px 280px;gap:6px;margin-top:3rem}
.mosaic-item{overflow:hidden;position:relative}
.mosaic-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease,filter 0.4s;filter:saturate(0.88) brightness(0.95)}
.mosaic-item:hover img{transform:scale(1.06);filter:saturate(1.05) brightness(1.1)}
.mosaic-item:nth-child(1){grid-column:span 5;grid-row:span 2}
.mosaic-item:nth-child(2){grid-column:span 4}
.mosaic-item:nth-child(3){grid-column:span 3}
.mosaic-item:nth-child(4){grid-column:span 3}
.mosaic-item:nth-child(5){grid-column:span 4}

/* Process light */
.process-light{background:var(--light-bg);padding:8rem 4rem}
.process-light .sec-title{color:var(--light-text)}
.process-light .sec-sub{color:var(--light-muted)}
.process-light .proc-title{color:var(--light-text)}
.process-light .proc-text{color:var(--light-muted)}
.process-light .proc-step{padding:2rem;background:var(--light-surface);border:1px solid var(--light-border);clip-path:polygon(6px 0%,100% 0%,100% calc(100% - 6px),calc(100% - 6px) 100%,0% 100%,0% 6px);transition:all 0.3s}
.process-light .proc-step:hover{box-shadow:0 8px 30px rgba(0,80,232,0.1);transform:translateY(-3px)}

@media(max-width:900px){
  .feature-split-light{grid-template-columns:1fr}
  .mosaic-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .mosaic-item{grid-column:span 1!important;grid-row:span 1!important;height:200px}
}
@media(max-width:768px){
  .section-light,.gallery-section-light,.colours-light,.process-light,.features-light{padding-left:1.5rem;padding-right:1.5rem}
  .feature-text-light{padding:3.5rem 1.5rem}
  .carousel-nav{display:none}
  .carousel-caption{display:none}
}

.hv-fab{position:fixed;right:26px;bottom:26px;z-index:9000;width:64px;height:64px;border-radius:50%;background:var(--grad);border:2px solid rgba(255,255,255,0.15);box-shadow:0 8px 28px rgba(0,80,232,0.45),0 2px 8px rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;font-size:1.8rem;cursor:pointer;transition:transform 0.2s ease,box-shadow 0.2s ease}
.hv-fab:hover{transform:scale(1.08);box-shadow:0 10px 34px rgba(0,80,232,0.6),0 2px 10px rgba(0,0,0,0.6)}
.hv-fab-ping{position:absolute;inset:0;border-radius:50%;border:2px solid var(--red2);animation:hvPing 2.4s ease-out infinite}
@keyframes hvPing{0%{transform:scale(1);opacity:0.6}100%{transform:scale(1.5);opacity:0}}
.hv-panel{position:fixed;right:26px;bottom:104px;z-index:9001;width:380px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - 150px);background:var(--dark);border:1px solid var(--border2);border-radius:4px;box-shadow:0 24px 70px rgba(0,0,0,0.6);display:none;flex-direction:column;overflow:hidden}
.hv-panel.open{display:flex}
.hv-head{background:var(--surface);border-bottom:2px solid var(--red);padding:16px 18px;display:flex;align-items:center;gap:12px}
.hv-head-icon{width:40px;height:40px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.hv-head b{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:0.06em;color:var(--white);font-size:1.05rem;display:block}
.hv-head small{font-family:var(--mono);font-size:0.68rem;color:var(--silver);letter-spacing:0.04em}
.hv-head .hv-dot{width:8px;height:8px;border-radius:50%;background:#3ddc84;margin-left:auto;box-shadow:0 0 8px #3ddc84}
.hv-close{background:none;border:none;color:var(--silver);font-size:1.1rem;cursor:pointer;padding:4px 8px;line-height:1}
.hv-close:hover{color:var(--white)}
.hv-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--black)}
.hv-msg{max-width:85%;padding:11px 14px;border-radius:2px 12px 12px 12px;background:var(--surface);border:1px solid var(--border);color:var(--white);font-size:0.87rem;line-height:1.5;white-space:pre-line;font-family:var(--body)}
.hv-msg.user{align-self:flex-end;background:var(--red-dim);border:1px solid var(--red-border);border-radius:12px 2px 12px 12px}
.hv-msg.typing{opacity:0.6;font-style:italic;font-family:var(--mono);font-size:0.78rem}
.hv-quick{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px;border-top:1px solid var(--border);background:var(--surface)}
.hv-quick button{font-family:var(--mono);font-size:0.68rem;letter-spacing:0.02em;border:1px solid var(--border2);background:var(--surface2);border-radius:999px;padding:7px 12px;color:var(--silver);cursor:pointer;transition:all 0.15s}
.hv-quick button:hover{border-color:var(--red2);color:var(--white)}
.hv-input{display:flex;gap:8px;padding:12px 14px;background:var(--surface);border-top:1px solid var(--border)}
.hv-input input{flex:1;padding:11px 14px;border:1px solid var(--border2);border-radius:999px;font-size:0.87rem;background:var(--black);color:var(--white);font-family:var(--body)}
.hv-input input::placeholder{color:var(--muted)}
.hv-input button{background:var(--grad);border:none;border-radius:50%;width:42px;height:42px;color:#fff;font-weight:700;cursor:pointer;flex-shrink:0}
.hv-disclaimer{font-family:var(--mono);font-size:0.62rem;color:var(--muted);text-align:center;padding:0 14px 10px;background:var(--surface);letter-spacing:0.02em}
@media(max-width:480px){.hv-panel{right:16px;bottom:96px}.hv-fab{right:16px;bottom:16px}}

