/* ================================================================
   MARSHWALL — Master Stylesheet
   Organized: Fonts → Variables → Reset → Animations → Components
   → Sections (page order) → Footer → Utilities → Media Queries
   ================================================================ */

/* ===== 1. FONT FACES ===== */
/* Cera Pro (Primary) */
@font-face{font-family:'CeraPro';src:url('../fonts/Cera Pro/CeraPro-Light.otf') format('opentype');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'CeraPro';src:url('../fonts/Cera Pro/CeraPro-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'CeraPro';src:url('../fonts/Cera Pro/CeraPro-Regular-Italic.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'CeraPro';src:url('../fonts/Cera Pro/CeraPro-Medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'CeraPro';src:url('../fonts/Cera Pro/CeraPro-Bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'CeraPro';src:url('../fonts/Cera Pro/CeraPro-Black.otf') format('opentype');font-weight:800;font-style:normal;font-display:swap;}
@font-face{font-family:'CeraPro';src:url('../fonts/Cera Pro/CeraPro-Black-Italic.otf') format('opentype');font-weight:800;font-style:italic;font-display:swap;}
@font-face{font-family:'CeraPro';src:url('../fonts/Cera Pro/CeraPro-Thin.ttf') format('truetype');font-weight:100;font-style:normal;font-display:swap;}
@font-face{font-family:'CeraPro';src:url('../fonts/Cera Pro/CeraPro-ThinItalic.ttf') format('truetype');font-weight:100;font-style:italic;font-display:swap;}
/* Libre Baskerville (Secondary) */
@font-face{font-family:'LibreBaskerville';src:url('../fonts/Libre Baskerville/LibreBaskerville-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'LibreBaskerville';src:url('../fonts/Libre Baskerville/LibreBaskerville-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'LibreBaskerville';src:url('../fonts/Libre Baskerville/LibreBaskerville-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'LibreBaskerville';src:url('../fonts/Libre Baskerville/LibreBaskerville-MediumItalic.ttf') format('truetype');font-weight:500;font-style:italic;font-display:swap;}
@font-face{font-family:'LibreBaskerville';src:url('../fonts/Libre Baskerville/LibreBaskerville-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'LibreBaskerville';src:url('../fonts/Libre Baskerville/LibreBaskerville-SemiBoldItalic.ttf') format('truetype');font-weight:600;font-style:italic;font-display:swap;}
@font-face{font-family:'LibreBaskerville';src:url('../fonts/Libre Baskerville/LibreBaskerville-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'LibreBaskerville';src:url('../fonts/Libre Baskerville/LibreBaskerville-BoldItalic.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap;}


/* ===== 2. CSS VARIABLES ===== */
:root{
  --font:'CeraPro','Plus Jakarta Sans','Nunito',sans-serif;
  --font-secondary:'LibreBaskerville',Georgia,serif;
  --red:#FF0033;--red-dark:#CC0028;--red-deeper:#990020;
  --red-soft:rgba(255,0,51,0.08);--red-glow:rgba(255,0,51,0.18);
  --ink:#111111;--black:#0a0a0a;--near-black:#141414;--dark-gray:#1e1e1e;
  --mid-gray:#6b6b6b;--light-gray:#f0f0f0;--white:#ffffff;--off-white:#fafafa;
  --border:#e8e8e8;--border-dark:rgba(255,255,255,0.10);
  --gold:#CFB76C;--dark-blue:#0C1229;--grey:#EEF1F0;
}


/* ===== 3. RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font);background:var(--white);color:var(--black);font-size:16px;line-height:1.6;overflow-x:hidden;width:100%;max-width:100vw;}
a{text-decoration:none;}
img{max-width:100%;}
section{padding:6rem 0;}


/* ===== 4. ANIMATIONS & REVEALS ===== */
.reveal{opacity:0;transform:translateY(44px);transition:opacity 1.1s cubic-bezier(.22,.68,0,1.05),transform 1.1s cubic-bezier(.22,.68,0,1.05);transition-delay:0.15s;}
.reveal.from-left{transform:translateX(-44px);}
.reveal.from-right{transform:translateX(44px);}
.reveal.scale-up{transform:scale(0.92);}
.reveal.in-view{opacity:1;transform:translate(0) scale(1);}
.reveal-group .reveal-item{opacity:0;transform:translateY(32px);transition:opacity 0.95s cubic-bezier(.22,.68,0,1.05),transform 0.95s cubic-bezier(.22,.68,0,1.05);}
.reveal-group.in-view .reveal-item:nth-child(1){transition-delay:0.15s;}
.reveal-group.in-view .reveal-item:nth-child(2){transition-delay:0.28s;}
.reveal-group.in-view .reveal-item:nth-child(3){transition-delay:0.41s;}
.reveal-group.in-view .reveal-item:nth-child(4){transition-delay:0.54s;}
.reveal-group.in-view .reveal-item:nth-child(5){transition-delay:0.67s;}
.reveal-group.in-view .reveal-item:nth-child(6){transition-delay:0.80s;}
.reveal-group.in-view .reveal-item:nth-child(7){transition-delay:0.93s;}
.reveal-group.in-view .reveal-item:nth-child(8){transition-delay:1.06s;}
.reveal-group.in-view .reveal-item{opacity:1;transform:translateY(0);}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
@keyframes ticker{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
@keyframes pulse-ring{0%{transform:scale(0.95);opacity:0.7;}70%{transform:scale(1.08);opacity:0;}100%{transform:scale(0.95);opacity:0;}}
@keyframes fabPulse{0%{transform:scale(1);opacity:.55;}70%{transform:scale(1.7);opacity:0;}100%{transform:scale(1);opacity:0;}}
@keyframes scrollPulse{0%,100%{opacity:0.3;transform:scaleY(0.6);}50%{opacity:1;transform:scaleY(1);}}
/* Preloader looping keyframes — draw → fill → hold → fade out → reset */
@keyframes pre-loop{
  0%{stroke-dashoffset:600;fill:transparent;stroke:#010101;opacity:1;}
  35%{stroke-dashoffset:0;fill:transparent;stroke:#010101;}
  50%{stroke-dashoffset:0;fill:#010101;stroke:transparent;opacity:1;}
  75%{stroke-dashoffset:0;fill:#010101;stroke:transparent;opacity:1;}
  90%{opacity:0;}
  100%{stroke-dashoffset:600;fill:transparent;stroke:#010101;opacity:0;}
}
@keyframes pre-loop-red{
  0%{stroke-dashoffset:1200;fill:transparent;stroke:#F60029;opacity:1;}
  40%{stroke-dashoffset:0;fill:transparent;stroke:#F60029;}
  55%{stroke-dashoffset:0;fill:#F60029;stroke:transparent;opacity:1;}
  75%{stroke-dashoffset:0;fill:#F60029;stroke:transparent;opacity:1;}
  90%{opacity:0;}
  100%{stroke-dashoffset:1200;fill:transparent;stroke:#F60029;opacity:0;}
}
@keyframes pre-loop-sub{
  0%{stroke-dashoffset:400;fill:transparent;stroke:#010101;opacity:1;}
  30%{stroke-dashoffset:0;fill:transparent;stroke:#010101;}
  45%{stroke-dashoffset:0;fill:#010101;stroke:transparent;opacity:1;}
  75%{stroke-dashoffset:0;fill:#010101;stroke:transparent;opacity:1;}
  90%{opacity:0;}
  100%{stroke-dashoffset:400;fill:transparent;stroke:#010101;opacity:0;}
}
.fade-up{opacity:0;animation:fadeUp 1.0s cubic-bezier(.22,.68,0,1.2) forwards;}
.d1{animation-delay:0.20s;}.d2{animation-delay:0.40s;}.d3{animation-delay:0.60s;}.d4{animation-delay:0.80s;}.d5{animation-delay:1.00s;}


/* ===== 5. SHARED COMPONENTS ===== */
/* Buttons */
.btn-primary-red{background:var(--red);color:#fff;font-family:var(--font);font-weight:500;font-size:0.9rem;padding:0.9rem 2rem;border-radius:3px;border:none;display:inline-flex;align-items:center;gap:0.5rem;letter-spacing:0.02em;transition:background 0.2s,transform 0.2s;cursor:pointer;}
.btn-primary-red:hover{background:var(--red-dark);transform:translateY(-3px);color:#fff;}
.btn-ghost-white{background:transparent;color:rgba(255,255,255,0.75);font-family:var(--font);font-weight:500;font-size:0.9rem;padding:0.9rem 2rem;border-radius:3px;border:1px solid rgba(255,255,255,0.2);display:inline-flex;align-items:center;gap:0.5rem;transition:border-color 0.2s,color 0.2s,background 0.2s,transform 0.2s;}
.btn-ghost-white:hover{border-color:rgba(255,255,255,0.5);color:#fff;background:rgba(255,255,255,0.05);transform:translateY(-3px);}
/* Section tags & headings */
.sec-tag{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.72rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;}
.sec-tag::before{content:'';display:block;width:20px;height:2px;background:var(--gold);}
.sec-h2{font-size:clamp(2rem,4vw,3rem);font-weight:600;letter-spacing:-0.025em;color:var(--black);line-height:1.1;margin-bottom:1rem;}
.sec-h2 em{font-family:var(--font-secondary);font-style:italic;font-weight:400;color:var(--red)!important;}
.sec-sub{font-size:1rem;font-weight:400;color:var(--mid-gray);line-height:1.7;}
.about-quote{font-family:var(--font-secondary);font-style:italic;font-size:1.1rem;color:var(--dark-blue);border-left:3px solid var(--gold);padding-left:1.5rem;margin:2rem 0;line-height:1.6;}
.sec-tag-soft-red{color:rgba(255,80,80,0.9);}
.sec-tag-soft-red-line{background:rgba(255,80,80,0.9);}
.link-reset{color:inherit;text-decoration:none;}


/* ===== 6. PRELOADER ===== */
#preloader{position:fixed;inset:0;z-index:9999;background:#ffffff;display:flex;align-items:center;justify-content:center;transition:opacity 0.4s ease,visibility 0.4s ease;overflow:hidden;}
#preloader.hidden{opacity:0;visibility:hidden;pointer-events:none;display:none;}
#preloader svg{width:280px;height:auto;}
/* MARSHWALL wordmark — looping draw+fill cycle (3.5s per loop) */
#preloader .letter{fill:transparent;stroke:#010101;stroke-width:1;stroke-dasharray:600;stroke-dashoffset:600;animation:pre-loop 3.5s ease infinite;}
/* Red M-mark icon — looping */
#preloader .icon-path{fill:transparent;stroke:#F60029;stroke-width:1.5;stroke-dasharray:1200;stroke-dashoffset:1200;animation:pre-loop-red 3.5s ease infinite;}
/* SUPERSTORE submark — looping */
#preloader .letter-sub{fill:transparent;stroke:#010101;stroke-width:0.8;stroke-dasharray:400;stroke-dashoffset:400;animation:pre-loop-sub 3.5s ease infinite;}
/* Staggered delays — MARSHWALL (9 letters) */
#preloader .letter:nth-child(1){animation-delay:0.00s;}
#preloader .letter:nth-child(2){animation-delay:0.06s;}
#preloader .letter:nth-child(3){animation-delay:0.12s;}
#preloader .letter:nth-child(4){animation-delay:0.18s;}
#preloader .letter:nth-child(5){animation-delay:0.24s;}
#preloader .letter:nth-child(6){animation-delay:0.30s;}
#preloader .letter:nth-child(7){animation-delay:0.36s;}
#preloader .letter:nth-child(8){animation-delay:0.42s;}
#preloader .letter:nth-child(9){animation-delay:0.48s;}
/* Staggered delays — SUPERSTORE (11 letters) */
#preloader .submark-group .letter-sub:nth-child(1){animation-delay:0.55s;}
#preloader .submark-group .letter-sub:nth-child(2){animation-delay:0.60s;}
#preloader .submark-group .letter-sub:nth-child(3){animation-delay:0.65s;}
#preloader .submark-group .letter-sub:nth-child(4){animation-delay:0.70s;}
#preloader .submark-group .letter-sub:nth-child(5){animation-delay:0.75s;}
#preloader .submark-group .letter-sub:nth-child(6){animation-delay:0.80s;}
#preloader .submark-group .letter-sub:nth-child(7){animation-delay:0.85s;}
#preloader .submark-group .letter-sub:nth-child(8){animation-delay:0.90s;}
#preloader .submark-group .letter-sub:nth-child(9){animation-delay:0.95s;}
#preloader .submark-group .letter-sub:nth-child(10){animation-delay:1.00s;}
#preloader .submark-group .letter-sub:nth-child(11){animation-delay:1.05s;}
/* Red icon delay */
#preloader .icon-path{animation-delay:0.10s;}
/* Hide FAB + BTT while preloader is active */
#preloader:not(.hidden) ~ .fab-wrap,
#preloader:not(.hidden) ~ .btt-btn{opacity:0!important;visibility:hidden!important;pointer-events:none!important;}


/* ===== 7. TOP TICKER ===== */
.top-bar{background:var(--red);color:#fff;font-size:0.78rem;font-weight:600;letter-spacing:0.04em;padding:0.55rem 0;overflow:hidden;}
.ticker-wrap{overflow:hidden;}
.ticker-track{display:flex;gap:5rem;white-space:nowrap;animation:ticker 30s linear infinite;}
.t-item{display:flex;align-items:center;gap:0.5rem;flex-shrink:0;color:rgba(255,255,255,0.92);}
.t-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,0.5);flex-shrink:0;}


/* ===== 8. NAVBAR ===== */
.navbar{background:transparent;border-bottom:1px solid transparent;padding:0;position:sticky;top:0;z-index:999;overflow-x:clip;}
.navbar.scrolled{border-bottom-color:transparent;}
.navbar .container{height:68px;display:flex;align-items:center;}
.nav-logo svg,.nav-logo img{height:34px;width:auto;max-width:140px;object-fit:contain;}
.navbar-toggler{border:none;box-shadow:none!important;padding:4px 8px;}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");width:1.5em;height:1.5em;}
.nav-link{font-family:var(--font);font-size:0.88rem;font-weight:500;color:var(--black)!important;padding:0.4rem 0.95rem!important;letter-spacing:0.01em;transition:color 0.2s;position:relative;}
.nav-link::after{content:'';position:absolute;bottom:-1px;left:0.95rem;right:0.95rem;height:2px;background:var(--red);transform:scaleX(0);transform-origin:center;transition:transform 0.25s cubic-bezier(.4,0,.2,1);}
.nav-link:hover{color:var(--red)!important;}
.nav-link:hover::after{transform:scaleX(1);}
.btn-nav{background:var(--red);color:#fff!important;font-family:var(--font);font-size:0.85rem;font-weight:500;padding:0.55rem 1.4rem;border-radius:3px;border:none;display:inline-flex;align-items:center;gap:0.4rem;transition:background 0.2s,transform 0.2s;letter-spacing:0.02em;}
.btn-nav:hover{background:var(--red-dark);transform:translateY(-3px);color:#fff!important;}
.btn-nav::after{display:none!important;}


/* ===== 9. HERO SLIDER ===== */
#hero-slider{position:relative;overflow:hidden;height:calc(100vh - 68px - 36px);min-height:600px;}
/* Slide base */
.hero-slide{background:var(--black);height:100%;display:flex;align-items:flex-end;position:absolute;inset:0;opacity:0;z-index:1;transition:opacity 0.8s ease;overflow:hidden;pointer-events:none;}
.hero-slide:first-child{position:relative;height:100%;}
.hero-slide--active{opacity:1;z-index:2;pointer-events:auto;}
/* Shared background image layer */
.hs-bg{position:absolute;inset:0;z-index:0;}
.hs-bg img{width:100%;height:100%;object-fit:cover;object-position:center;}
/* Overlay variants */
.hs-bg-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;}
.hs-bg-overlay--split{background:linear-gradient(90deg,var(--black) 0%,var(--black) 48%,rgba(0,0,0,0.3) 100%);}
.hs-bg-overlay--centre{background:radial-gradient(ellipse at center,rgba(12,18,41,0.7) 0%,rgba(0,0,0,0.88) 100%);}
.hs-bg-overlay--bold{background:linear-gradient(135deg,rgba(0,0,0,0.82) 0%,rgba(0,0,0,0.4) 60%,rgba(0,0,0,0.7) 100%);}
.hs-bg-overlay--minimal{background:rgba(0,0,0,0.78);}
/* Grid pattern for slide 4 */
.hs-grid-pattern{position:absolute;inset:0;z-index:2;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px);background-size:40px 40px;}
/* Watermark */
.hero-watermark{position:absolute;font-family:var(--font);font-size:52vw;font-weight:600;color:rgba(255,0,51,0.04);line-height:1;right:-8vw;top:50%;transform:translateY(-50%);pointer-events:none;user-select:none;letter-spacing:-0.05em;z-index:2;}
/* Shared content styles */
.hero-content{position:relative;z-index:3;padding:0 0 4.5rem;width:100%;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.72rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;}
.hero-eyebrow span{display:inline-block;width:24px;height:2px;background:var(--gold);}
.hero-h1{font-size:clamp(3rem,6.5vw,5.8rem);font-weight:600;color:var(--white);line-height:1.02;letter-spacing:-0.03em;margin-bottom:1.5rem;}
.hero-h1 .accent{font-family:var(--font-secondary);font-style:italic;font-weight:400;color:var(--red);}
.hero-p{font-size:1.05rem;color:rgba(255,255,255,0.55);font-weight:400;max-width:430px;margin-bottom:2.5rem;line-height:1.7;}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:0;}
.hero-pills{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem;}
.h-pill{display:flex;align-items:center;gap:0.6rem;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.10);border-radius:3px;padding:0.45rem 1rem;font-size:0.6rem;font-weight:600;color:rgba(255,255,255,0.7);}
.h-pill i{color:var(--red);font-size:0.9rem;}
/* Slide 2: Centred */
.hs-centre{text-align:center;max-width:680px;margin:0 auto;padding:0 0 4.5rem;}
.hs-centre-mark{width:60px;height:auto;margin-bottom:1.5rem;opacity:0.85;}
.hs-centre-h1{font-family:var(--font);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:600;color:var(--white);letter-spacing:0.1em;line-height:1;margin-bottom:1.25rem;}
.hs-centre-divider{width:48px;height:2px;background:var(--gold);margin:0 auto 1.25rem;}
.hs-centre-tagline{font-family:var(--font-secondary);font-style:italic;font-size:clamp(1rem,2.5vw,1.4rem);color:var(--gold);margin-bottom:1.5rem;}
.hs-centre-sub{font-size:0.95rem;color:rgba(255,255,255,0.45);max-width:480px;margin:0 auto 2.5rem;line-height:1.7;}
/* Slide 3: Glass card */
.hs-glass-card{background:rgba(255,255,255,0.06);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.1);border-radius:10px;padding:2rem;display:flex;flex-direction:column;gap:1.25rem;}
.hs-glass-row{display:flex;align-items:center;gap:1rem;}
.hs-glass-row>i{font-size:1.2rem;color:var(--red);width:42px;height:42px;background:rgba(255,0,51,0.1);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hs-glass-row strong{display:block;font-size:0.88rem;font-weight:600;color:var(--white);margin-bottom:0.1rem;}
.hs-glass-row span{font-size:0.78rem;color:rgba(255,255,255,0.4);}
/* Slider dots */
.hs-dots{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:10;display:flex;gap:0.5rem;}
.hs-dot{width:10px;height:10px;border-radius:50%;border:2px solid rgba(255,255,255,0.4);background:transparent;cursor:pointer;transition:all 0.3s;padding:0;}
.hs-dot--active{background:var(--red);border-color:var(--red);transform:scale(1.2);}
/* Slider arrows */
.hs-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);color:#fff;font-size:1.1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.2s;backdrop-filter:blur(4px);}
.hs-arrow:hover{background:var(--red);border-color:var(--red);}
.hs-arrow--prev{left:1.5rem;}
.hs-arrow--next{right:1.5rem;}
/* Slide 5: Right-aligned text — mobile override to left */
/* Slide 6: Bottom bar layout */
.hs-bottom-layout{display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding-bottom:4.5rem;}
.hs-bottom-content{max-width:600px;}
.hs-bottom-stats{display:flex;gap:0;border-top:1px solid rgba(255,255,255,0.12);margin-top:2.5rem;padding-top:1.5rem;}
.hs-bottom-stat{flex:1;text-align:center;position:relative;}
.hs-bottom-stat+.hs-bottom-stat::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:rgba(255,255,255,0.1);}
.hs-bottom-stat strong{display:block;font-size:1.5rem;font-weight:600;color:var(--white);margin-bottom:0.2rem;}
.hs-bottom-stat span{font-size:0.65rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.4);}
/* Slide 7: Split panel — dark left panel overlay */
.hs-split-panel{position:absolute;top:0;left:0;bottom:0;width:45%;background:linear-gradient(135deg,rgba(0,0,0,0.95) 0%,rgba(0,0,0,0.85) 100%);z-index:1;}
.hs-red-bar{position:absolute;top:0;left:0;right:0;height:4px;background:var(--red);z-index:5;}
/* Trust row — inline badges below CTAs */
.hs-trust-row{display:flex;gap:0.75rem;flex-wrap:wrap;margin-top:1rem;}
.hs-trust-item{display:flex;align-items:center;gap:0.4rem;font-size:0.7rem;font-weight:500;color:rgba(255,255,255,0.5);letter-spacing:0.02em;}
.hs-trust-item i{color:var(--red);font-size:0.8rem;}
/* Service grid — 2x2 cards on right */
.hs-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.6rem;}
.hs-service-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:1rem 1rem;text-align:center;transition:border-color 0.3s,transform 0.3s;}
.hs-service-card:hover{border-color:rgba(255,0,51,0.3);transform:translateY(-3px);}
.hs-service-card i{font-size:1.4rem;color:var(--red);display:block;margin-bottom:0.5rem;}
.hs-service-card strong{display:block;font-size:0.78rem;font-weight:600;color:var(--white);margin-bottom:0.15rem;}
.hs-service-card span{font-size:0.65rem;color:rgba(255,255,255,0.4);}
/* Floating stats bar (for centred slide) */
.hs-bottom-stats--float{position:absolute;bottom:4.5rem;left:50%;transform:translateX(-50%);z-index:4;background:rgba(0,0,0,0.5);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.08);border-radius:8px;padding:0.75rem 1.5rem;gap:0;}
.hs-bottom-stats--float .hs-bottom-stat{padding:0 1.25rem;}
.hs-bottom-stats--float .hs-bottom-stat strong{font-size:1rem;}
.hs-bottom-stats--float .hs-bottom-stat span{font-size:0.55rem;}
/* Right-aligned text helper */
.hs-text-right{text-align:right;}


/* ===== 10. TRUST STRIP ===== */
.trust-strip{background:#1a1a1a;border-bottom:1px solid rgba(255,255,255,0.06);padding:1.6rem 0;}
.trust-strip-row-desktop{display:flex;justify-content:space-between;align-items:center;}
.t-trust{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.6rem;padding:0.5rem 1rem;transition:transform 0.25s;text-align:center;cursor:default;}
.t-trust:hover{transform:translateY(-3px);}
.t-trust+.t-trust{border-left:1px solid rgba(255,255,255,0.07);}
.t-trust-icon{font-size:1.8rem;color:var(--gold);line-height:1;}
.t-trust strong{display:block;font-size:0.72rem;font-weight:700;color:rgba(255,255,255,0.85);line-height:1.3;text-transform:uppercase;letter-spacing:0.06em;margin-top:0.1rem;}


/* ===== 11. NUMBERS ===== */
#numbers{background:var(--grey);padding:3rem 0;position:relative;overflow:hidden;}
.num-row{display:flex;flex-wrap:nowrap;justify-content:center;gap:0;}
.nc{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.25rem 2rem;position:relative;}
.nc+.nc::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:48px;background:var(--border);}
.nc-icon{width:48px;height:48px;border-radius:12px;background:var(--red-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.nc-icon i{font-size:1.2rem;color:var(--red);}
.nc-text{text-align:left;}
.nc-n{font-size:2.2rem;font-weight:600;color:var(--black);line-height:1;display:inline;letter-spacing:-0.04em;}
.nc-l{font-size:0.62rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--mid-gray);margin-top:0.4rem;display:block;}


/* ===== 12. ABOUT / OUR STORY ===== */
#our-story{background:var(--white);overflow:hidden;}
.about-img-stack{position:relative;}
.about-img-stack::after{content:'';position:absolute;top:0;left:0;width:100%;height:460px;border-radius:3px;pointer-events:none;background:linear-gradient(160deg,rgba(12,18,41,0.18) 0%,rgba(0,0,0,0.04) 40%,rgba(12,18,41,0.22) 100%);transition:opacity 0.4s;}
.about-img-stack:hover::after{opacity:0.6;}
.about-img-main{border-radius:3px;width:100%;height:460px;object-fit:cover;box-shadow:0 24px 60px rgba(0,0,0,0.12);transition:transform 0.6s cubic-bezier(.22,.68,0,1.1);}
.about-img-main:hover{transform:scale(1.02);}
.about-img-float{position:absolute;bottom:-28px;right:-24px;width:200px;height:200px;border-radius:3px;object-fit:cover;border:6px solid var(--white);box-shadow:0 12px 40px rgba(0,0,0,0.14);z-index:1;}
.about-red-card{position:absolute;top:24px;left:12px;background:var(--red);border-radius:3px;padding:1rem 1.3rem;box-shadow:0 10px 30px rgba(255,0,51,0.3);color:#fff;min-width:140px;}
.about-red-card strong{display:block;font-size:2rem;font-weight:600;line-height:1;}
.about-red-card span{font-size:0.75rem;opacity:0.82;font-weight:500;text-transform:uppercase;letter-spacing:0.08em;}


/* ===== 13. SHOP CATEGORIES / WHAT WE OFFER ===== */
#what-we-offer{background:var(--dark-blue)!important;padding:6rem 0;overflow:hidden;}
#what-we-offer .sec-h2{color:var(--white);}
#what-we-offer .sec-sub{color:rgba(255,255,255,0.48);}
#what-we-offer .sec-tag-soft-red{color:var(--gold);}
#what-we-offer .sec-tag-soft-red .sec-tag-soft-red-line{background:var(--gold);}
.fresh-aisles-sub-desktop{max-width:280px;text-align:right;margin:0;}
.fresh-aisles-h2-mobile{margin-bottom:0.75rem;}
.fresh-aisles-sub-mobile{margin:0 auto;}
/* Aisle strip */
.aisle-strip{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;grid-template-rows:340px;gap:3px;max-width:1320px;margin:3rem auto 0;padding:0 10px;}
.aisle-cell{position:relative;overflow:hidden;cursor:default;}
.aisle-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.55s cubic-bezier(.22,.68,0,1.1),filter 0.4s;filter:brightness(0.58);}
.aisle-cell:hover img{transform:scale(1.07);filter:brightness(0.42);}
.aisle-cell::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(5,5,5,0.88) 0%,rgba(5,5,5,0.10) 50%,transparent 100%);pointer-events:none;z-index:1;}
.aisle-cell::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform 0.38s cubic-bezier(.22,.68,0,1.1);z-index:4;}
.aisle-cell:hover::before{transform:scaleX(1);}
.aisle-cell.aisle-featured::before{transform:scaleX(1);}
.aisle-label{position:absolute;bottom:0;left:0;right:0;padding:1.1rem 1.25rem 1.3rem;z-index:2;transform:translateY(6px);transition:transform 0.32s cubic-bezier(.22,.68,0,1.1);}
.aisle-cell:hover .aisle-label{transform:translateY(0);}
.aisle-cell.aisle-featured .aisle-label{transform:translateY(0);}
.aisle-label h4{font-size:1rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:0.3rem;line-height:1.2;}
.aisle-label span{display:block;font-size:0.73rem;color:rgba(255,255,255,0);font-weight:500;transform:translateY(6px);transition:color 0.28s ease 0.05s,transform 0.32s cubic-bezier(.22,.68,0,1.1) 0.05s;}
.aisle-cell:hover .aisle-label span{color:rgba(255,255,255,0.70);transform:translateY(0);}
.aisle-cell.aisle-featured .aisle-label span{color:rgba(255,255,255,0.70);transform:translateY(0);}
.aisle-cell.aisle-featured .aisle-label h4{font-size:1.4rem;}
.aisle-badge{position:absolute;top:16px;left:16px;z-index:3;background:var(--red);color:#fff;font-size:0.68rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;padding:0.3rem 0.8rem;border-radius:2px;}
/* Aisle promises */
.aisle-promises{display:flex;gap:0;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,0.07);margin-top:3rem;}
.aisle-promise{flex:1;min-width:200px;padding:1.8rem 2rem;border-right:1px solid rgba(255,255,255,0.07);display:flex;align-items:flex-start;gap:1rem;transition:background 0.25s;}
.aisle-promise:hover{background:rgba(255,255,255,0.03);}
.aisle-promise:last-child{border-right:none;}
.ap-icon{width:44px;height:44px;border-radius:3px;flex-shrink:0;background:rgb(26,26,26);border:1px solid rgb(26,26,26);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:1.15rem;transition:background 0.25s,color 0.25s;}
.aisle-promise:hover .ap-icon{background:var(--gold);color:#1a1a1a;}
.ap-text strong{display:block;font-size:0.9rem;font-weight:700;color:#fff;margin-bottom:0.15rem;}
.ap-text span{font-size:0.78rem;color:rgba(255,255,255,0.42);}
/* Category cards (desktop 5-col row) */
/* (old cat-card / cat-carousel styles removed — replaced by aisle strip) */


/* ===== 14. FEATURE / PRIME GOURMET ===== */
#feature{background:var(--grey);color:var(--black);padding:7rem 0;position:relative;overflow:hidden;}
#feature .pg-inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
#feature .pg-badge{display:inline-flex;align-items:center;gap:0.5rem;border:1px solid rgba(207,183,108,0.5);padding:0.45rem 1rem;border-radius:3px;margin-bottom:1.75rem;background:rgba(207,183,108,0.1);}
#feature .pg-badge svg{color:var(--gold);flex-shrink:0;}
#feature .pg-badge span{font-size:0.68rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#8A7430;}
#feature .pg-logo{display:block;max-width:180px;height:auto;margin-bottom:1.75rem;object-fit:contain;}
#feature h2{font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.2;margin-bottom:1.5rem;letter-spacing:-0.02em;color:var(--black);}
#feature h2 em{font-family:var(--font-secondary);font-style:italic;font-weight:400;color:var(--red);}
#feature .pg-lead{font-size:1rem;color:var(--mid-gray);line-height:1.8;margin-bottom:1.75rem;}
#feature .pg-halal{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--white);border:1px solid var(--border);border-radius:6px;margin-bottom:2rem;box-shadow:0 1px 4px rgba(0,0,0,0.04);}
#feature .pg-halal-icon{width:40px;height:40px;border-radius:8px;background:rgba(76,175,80,0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
#feature .pg-halal-icon i{font-size:1.1rem;color:#43A047;}
#feature .pg-halal strong{display:block;font-size:0.85rem;font-weight:700;color:var(--black);margin-bottom:0.1rem;}
#feature .pg-halal span{font-size:0.78rem;color:var(--mid-gray);}
#feature .pg-ctas{display:flex;gap:1rem;flex-wrap:wrap;}
#feature .btn-ghost-white{color:var(--black);border-color:var(--border);}
#feature .btn-ghost-white:hover{border-color:var(--black);color:var(--black);background:rgba(0,0,0,0.04);transform:translateY(-3px);}
#feature .pg-img-wrap{position:relative;border-radius:10px;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,0.12);aspect-ratio:4/5;}
#feature .pg-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s cubic-bezier(.22,.68,0,1.1);}
#feature .pg-img-wrap:hover img{transform:scale(1.04);}
#feature .pg-img-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.7) 0%,rgba(0,0,0,0.05) 45%,transparent 100%);pointer-events:none;}
#feature .pg-img-badges{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;z-index:2;}
#feature .pg-img-badge{display:flex;align-items:center;gap:0.4rem;background:rgba(255,255,255,0.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.15);border-radius:4px;padding:0.5rem 0.7rem;font-size:0.72rem;font-weight:600;color:var(--white);letter-spacing:0.01em;transition:background 0.3s;}
#feature .pg-img-badge:hover{background:rgba(255,255,255,0.2);}
#feature .pg-img-badge i{color:var(--gold);font-size:0.7rem;flex-shrink:0;}


/* ===== 15. PHILOSOPHY BANNER ===== */
#lifestyle-banner{background:var(--white);padding:6rem 0;position:relative;overflow:hidden;}
.lb-grid-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(0,0,0,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,0.03) 1px,transparent 1px);background-size:48px 48px;}
.lb-inner{text-align:center;max-width:720px;margin:0 auto;padding:0 1rem;}
.lb-eyebrow{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.68rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1.75rem;}
.lb-eyebrow span{display:inline-block;width:20px;height:2px;background:var(--gold);}
.lb-red-line{width:48px;height:3px;background:var(--red);margin:0 auto 2rem;border-radius:2px;}
#lifestyle-banner blockquote{font-family:var(--font-secondary);font-style:italic;font-size:clamp(1.35rem,3vw,2rem);color:var(--black);line-height:1.55;margin:0 0 1.75rem;}
#lifestyle-banner cite{font-family:var(--font);font-style:normal;font-size:0.72rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--red);}
.lb-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;border-top:1px solid var(--border);padding-top:3rem;margin-top:3rem;}
.lb-highlight{text-align:center;padding:0 1rem;}
.lb-highlight-icon{width:52px;height:52px;border-radius:12px;margin:0 auto 1.25rem;background:var(--red-soft);border:1px solid rgba(255,0,51,0.12);display:flex;align-items:center;justify-content:center;transition:background 0.35s,border-color 0.35s,transform 0.35s;}
.lb-highlight-icon i{font-size:1.2rem;color:var(--red);transition:color 0.35s;}
.lb-highlight:hover .lb-highlight-icon{background:var(--red);border-color:var(--red);transform:scale(1.1);}
.lb-highlight:hover .lb-highlight-icon i{color:var(--white);}
.lb-highlight strong{display:block;font-size:0.88rem;font-weight:700;color:var(--black);margin-bottom:0.5rem;}
.lb-highlight p{font-size:0.82rem;color:var(--mid-gray);line-height:1.65;margin:0;}


/* ===== 16. WHY MARSHWALL / VALUES ===== */
#why-us{background:var(--dark-blue);padding:7rem 0;position:relative;overflow:hidden;color:var(--white);}
.values-pattern{position:absolute;inset:-25%;pointer-events:none;background:url('../images/prime-gourmet.jpg') center/cover no-repeat;background-attachment:fixed;opacity:0.35;will-change:transform;}
@supports (-webkit-touch-callout:none){.values-pattern{background-attachment:scroll;inset:-35%;}}
#why-us::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,18,41,0.92) 0%,rgba(12,18,41,0.7) 50%,rgba(12,18,41,0.92) 100%);pointer-events:none;z-index:1;}
#why-us .values-header{margin-bottom:3.5rem;}
.values-eyebrow{display:flex;align-items:center;justify-content:center;gap:0.75rem;font-size:0.7rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1.25rem;}
.values-eyebrow span{display:block;width:28px;height:1px;background:var(--gold);opacity:0.4;}
.values-h2{font-family:var(--font);font-size:clamp(2rem,4.5vw,3.2rem);font-weight:600;color:var(--white);line-height:1.2;letter-spacing:-0.025em;margin-bottom:1rem;}
.values-h2 em{font-family:var(--font-secondary);font-style:italic;font-weight:400;color:var(--red);}
.values-sub{font-size:1rem;color:#fff;max-width:480px;margin:0 auto;line-height:1.7;}
#why-us .values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;}
#why-us .value-card{position:relative;padding:2rem 1.75rem 1.75rem;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:10px;transition:all 0.4s cubic-bezier(.22,.68,0,1.05);display:flex;flex-direction:column;}
#why-us .value-card::before{content:'';position:absolute;top:0;left:1.5rem;right:1.5rem;height:3px;background:linear-gradient(90deg,var(--red),var(--gold));border-radius:0 0 3px 3px;transform:scaleX(0);transform-origin:left;transition:transform 0.4s cubic-bezier(.22,.68,0,1.05);}
#why-us .value-card:hover{background:rgba(255,255,255,0.06);border-color:rgba(207,183,108,0.2);transform:translateY(-6px);}
#why-us .value-card:hover::before{transform:scaleX(1);}
#why-us .value-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;}
#why-us .value-icon{width:48px;height:48px;border-radius:10px;background:rgba(255,0,51,0.1);border:1px solid rgba(255,0,51,0.15);display:flex;align-items:center;justify-content:center;transition:background 0.35s,border-color 0.35s,transform 0.35s;}
#why-us .value-icon i{font-size:1.25rem;color:var(--red);transition:color 0.35s;}
#why-us .value-card:hover .value-icon{background:var(--red);border-color:var(--red);transform:scale(1.08);}
#why-us .value-card:hover .value-icon i{color:var(--white);}
#why-us .value-num{font-family:var(--font);font-size:2.5rem;font-weight:600;color:rgba(255,255,255,0.04);line-height:1;letter-spacing:-0.03em;transition:color 0.4s;}
#why-us .value-card:hover .value-num{color:rgba(255,255,255,0.08);}
#why-us .value-card h3{font-weight:700;font-size:0.92rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--white);margin-bottom:0.75rem;}
#why-us .value-card p{font-size:0.85rem;color:#fff;line-height:1.72;flex:1;}
#why-us .value-stat{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,0.06);display:flex;align-items:baseline;gap:0.5rem;}
#why-us .value-stat strong{font-size:1.4rem;font-weight:600;color:var(--gold);letter-spacing:-0.02em;}
#why-us .value-stat span{font-size:0.72rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:#fff;}


/* ===== 17. DELIVERY CTA ===== */
#delivery-cta{background:var(--red);color:var(--white);text-align:center;padding:5rem 0;overflow:hidden;}
#delivery-cta h2{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;letter-spacing:-0.02em;margin-bottom:1rem;}
#delivery-cta>p{font-size:1.1rem;opacity:0.9;margin-bottom:2.5rem;max-width:500px;margin-left:auto;margin-right:auto;}
#delivery-cta .delivery-phones{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem;}
#delivery-cta .delivery-phone{display:inline-flex;align-items:center;gap:0.6rem;background:rgba(255,255,255,0.15);padding:0.9rem 1.75rem;border-radius:3px;color:var(--white);font-weight:500;font-size:1.25rem;letter-spacing:0.03em;transition:background 0.3s;}
#delivery-cta .delivery-phone:hover{background:rgba(255,255,255,0.25);color:var(--white);}
#delivery-cta .delivery-note{font-size:0.82rem;opacity:0.7;letter-spacing:0.05em;}


/* ===== 18. GALLERY ===== */
#gallery{background:var(--white);padding:6rem 0;overflow:hidden;}
.gallery-sub-desktop{max-width:350px;text-align:right;margin:0;}
.gallery-h2-mobile{margin-bottom:0.6rem;}
.gallery-sub-mobile{margin:0 auto;}
.bento{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:240px 240px;gap:12px;}
.bento-item{border-radius:3px;overflow:hidden;position:relative;}
.bento-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s ease;}
.bento-item:hover img{transform:scale(1.08);}
.bento-item:nth-child(1){grid-column:1/4;grid-row:1;}
.bento-item:nth-child(2){grid-column:4/6;grid-row:1;}
.bento-item:nth-child(3){grid-column:6/7;grid-row:1/3;}
.bento-item:nth-child(4){grid-column:1/2;grid-row:2/3;}
.bento-item:nth-child(5){grid-column:2/4;grid-row:2;}
.bento-item:nth-child(6){grid-column:4/6;grid-row:2;}
.bento-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,0.6) 0%,transparent 50%);opacity:0;transition:opacity 0.3s;display:flex;align-items:flex-end;padding:1rem;}
.bento-item:hover .bento-overlay{opacity:1;}
.bento-overlay span{color:#fff;font-size:0.82rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;}
.bento-label{position:absolute;top:10px;left:10px;background:var(--red);color:#fff;font-size:0.7rem;font-weight:700;padding:0.2rem 0.6rem;border-radius:2px;letter-spacing:0.08em;text-transform:uppercase;}
/* Bento & gallery slide overlays */
.bento-item::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,transparent 30%,rgba(10,10,10,0.45) 100%);transition:opacity 0.35s;}
.bento-item:hover::after{opacity:0.7;}
.bento-item .bento-overlay{z-index:2;}
.bento-item .bento-label{z-index:2;position:relative;}
/* Gallery carousel (mobile) */
.gallery-carousel{position:relative;overflow:hidden;border-radius:3px;}
.gc-track{display:flex;transition:transform 0.42s cubic-bezier(.4,0,.2,1);will-change:transform;}
.gc-slide{flex:0 0 100%;position:relative;height:260px;overflow:hidden;}
.gc-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.gc-slide::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 35%,rgba(10,10,10,0.5) 100%);}
.gc-slide .gc-caption{position:relative;z-index:2;}
.gc-slide .bento-label{position:relative;z-index:2;}
.gc-caption{position:absolute;bottom:0;left:0;right:0;padding:0.75rem 1rem;background:linear-gradient(to top,rgba(10,10,10,0.7) 0%,transparent 100%);color:#fff;font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;}
.gc-arrow{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:rgba(10,10,10,0.55);border:1px solid rgba(255,255,255,0.15);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;z-index:4;transition:background 0.2s;backdrop-filter:blur(4px);}
.gc-arrow:hover{background:var(--red);}
.gc-arrow--prev{left:10px;}
.gc-arrow--next{right:10px;}


/* ===== 19. TESTIMONIALS ===== */
#testimonials{background:var(--off-white);overflow:hidden;}
.tcard{background:var(--white);border:1px solid var(--border);border-radius:3px;padding:1.75rem;height:100%;transition:border-color 0.22s,box-shadow 0.22s,transform 0.22s;}
.tcard:hover{border-color:var(--red);box-shadow:0 10px 30px rgba(255,0,51,0.07);transform:translateY(-5px);}
.tcard-featured{border-color:var(--red);}
.tcard-stars{color:#f5a623;font-size:0.85rem;margin-bottom:1rem;}
.tcard-text{font-family:var(--font-secondary);font-size:0.92rem;color:var(--black);line-height:1.7;margin-bottom:1.5rem;font-style:italic;}
.tcard-author{display:flex;align-items:center;gap:0.75rem;}
.tcard-author img{width:42px;height:42px;border-radius:100%;object-fit:cover;border:2px solid var(--border);}
.tcard-author strong{display:block;font-size:0.88rem;font-weight:700;color:var(--black);}
.tcard-author span{font-size:0.75rem;color:var(--mid-gray);}
.rating-badge{display:inline-flex;align-items:center;gap:1rem;background:var(--white);border:1px solid var(--border);border-radius:3px;padding:0.75rem 1.5rem;}
.rating-divider{width:1px;height:40px;background:var(--border);align-self:center;}
.rating-sources{font-size:0.82rem;color:var(--mid-gray);}
.rb-num{font-size:2.4rem;font-weight:600;color:var(--red);line-height:1;}
.rb-stars{color:#f5a623;font-size:1rem;}
.rb-label{font-size:0.75rem;color:var(--mid-gray);font-weight:500;}
/* Testimonial carousel (mobile) */
.tc-carousel{position:relative;overflow:hidden;}
.tc-track{display:flex;transition:transform 0.42s cubic-bezier(.4,0,.2,1);will-change:transform;}
.tc-slide{flex:0 0 100%;}
.tc-arrow{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:none;border:none;color:var(--black);display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;z-index:4;transition:background 0.2s,color 0.2s;}
.tc-arrow--prev{left:0;}
.tc-arrow--next{right:0;}


/* ===== 20. CONTACT ===== */
#contact{background:var(--white);overflow:hidden;}
.info-block{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;}
.ib-icon{width:44px;height:44px;border-radius:3px;background:var(--red-soft);border:1px solid rgba(255,0,51,0.12);display:flex;align-items:center;justify-content:center;color:var(--red);font-size:1rem;flex-shrink:0;transition:background 0.25s,color 0.25s;}
.info-block:hover .ib-icon{background:var(--red);color:#fff;}
.info-block strong{display:block;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--mid-gray);margin-bottom:0.2rem;}
.info-block span{font-size:0.92rem;color:var(--black);}
.info-block a:hover{color:var(--red)!important;transition:0.25s ease-in-out;}
.map-box{border-radius:3px;overflow:hidden;height:375px;background:var(--light-gray);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--mid-gray);gap:0.5rem;margin-bottom:2rem;}
.map-box-custom{padding:0;background:none;position:relative;}
.map-box-overlay{position:absolute;inset:0;background:rgba(255,0,51,0.12);z-index:1;pointer-events:none;}
.map-iframe{border:0;display:block;}
.form-box{background:var(--off-white);border:1px solid var(--border);border-radius:3px;padding:2.5rem;}
.form-box h3{font-size:1.75rem;font-weight:600;letter-spacing:-0.02em;margin-bottom:0.3rem;}
.form-box>p{font-size:0.88rem;color:var(--mid-gray);margin-bottom:2rem;}
.form-control,.form-select{border:1px solid var(--border);border-radius:3px;padding:0.75rem 1rem;font-family:var(--font);font-size:0.9rem;color:var(--black);background:var(--white);transition:border-color 0.2s,box-shadow 0.2s;}
.form-control:focus,.form-select:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(255,0,51,0.10);outline:none;background:var(--white);}
.form-label{font-size:0.74rem;font-weight:700;text-transform:uppercase;letter-spacing:0.09em;color:var(--mid-gray);margin-bottom:0.4rem;}
.btn-form{width:100%;background:var(--red);color:#fff;border:none;border-radius:3px;padding:0.9rem;font-family:var(--font);font-weight:500;font-size:0.95rem;letter-spacing:0.02em;cursor:pointer;transition:background 0.2s,transform 0.2s;display:flex;align-items:center;justify-content:center;gap:0.5rem;}
.btn-form:hover{background:var(--red-dark);transform:translateY(-3px);}


/* ===== 21. WHATSAPP ORDER CTA ===== */
#whatsapp-order{background:var(--red);padding:5rem 0;position:relative;overflow:hidden;}
.wa-order-grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,0.06) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;}
.wa-order-vignette{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;max-width:700px;height:300px;background:radial-gradient(ellipse,rgba(0,0,0,0.15) 0%,transparent 70%);pointer-events:none;}
.wa-order-content{position:relative;z-index:2;}
.wa-order-eyebrow{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.72rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.85);margin-bottom:1.25rem;}
.wa-order-eyebrow-line{display:inline-block;width:24px;height:2px;background:rgba(255,255,255,0.85);}
.wa-order-heading{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:600;color:#fff;letter-spacing:-0.03em;line-height:1.08;margin-bottom:1.1rem;}
.wa-order-sub{font-size:1.05rem;color:rgba(255,255,255,0.82);line-height:1.75;max-width:540px;margin:0 auto 2.25rem;}
.wa-order-pills{display:flex;justify-content:center;gap:0.75rem;flex-wrap:wrap;margin-bottom:2.75rem;}
.wa-order-pill{display:inline-flex;align-items:center;gap:0.5rem;background:rgba(255,255,255,0.18);border:1px solid rgba(255,255,255,0.3);padding:0.4rem 1rem;border-radius:3px;font-size:0.8rem;font-weight:600;color:#fff;}
.wa-order-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem;}
.wa-order-btn{display:inline-flex;align-items:center;justify-content:center;gap:0.6rem;background:var(--black);color:#fff;font-family:var(--font);font-weight:500;font-size:1rem;padding:0.9rem 2.25rem;border-radius:3px;text-decoration:none;letter-spacing:0.02em;transition:background 0.2s,transform 0.2s;min-width:200px;}
.wa-order-btn:hover{background:#222;transform:translateY(-3px);color:#fff;}
.wa-order-btn--outline{background:transparent;border:2px solid rgba(255,255,255,0.4);}
.wa-order-btn--outline:hover{background:rgba(255,255,255,0.1);border-color:#fff;color:#fff;}
.wa-order-note{font-size:0.74rem;color:rgba(255,255,255,0.6);margin-top:0;}


/* ===== 22. FOOTER ===== */
footer{background:var(--black);padding:4.5rem 0 0;overflow:hidden;}
.footer-news-band{background:var(--black);padding:3.5rem 0;}
.footer-news-kicker{font-size:0.68rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--red);margin-bottom:0.6rem;}
.footer-news-title{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:600;color:#fff;letter-spacing:-0.025em;line-height:1.1;margin-bottom:0.65rem;}
.footer-news-sub{font-size:0.9rem;color:rgba(255,255,255,0.45);line-height:1.65;margin:0;width:75%;}
.footer-news-form{display:flex;background:#fff;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,0.4);}
.footer-news-input{flex:1;padding:0.95rem 1.25rem;border:none;background:transparent;font-family:var(--font);font-size:0.9rem;color:var(--black);outline:none;min-width:0;}
.footer-news-btn{background:var(--red);color:#fff;border:none;padding:0.95rem 1.8rem;font-family:var(--font);font-weight:500;font-size:0.88rem;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background 0.2s,transform 0.2s;}
.footer-news-btn:hover{background:var(--red-dark);transform:translateY(-3px);}
.footer-news-note{font-size:0.74rem;color:rgba(255,255,255,0.28);margin-top:0.65rem;}
.footer-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.10) 20%,rgba(255,255,255,0.10) 80%,transparent);}
.footer-main-wrap{padding-bottom:0;}
.foot-logo-img{max-width:180px;height:auto;opacity:0.75;}
.foot-tagline{font-size:0.82rem;color:rgba(255,255,255,0.35);margin-top:0.8rem;max-width:220px;line-height:1.6;}
.foot-h{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.14em;color:rgba(255,255,255,0.3);margin-bottom:1.1rem;}
.foot-links{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0.45rem 1.5rem;}
.foot-links li{margin:0;}
.foot-links a{font-size:0.87rem;color:rgba(255,255,255,0.55);transition:color 0.2s;}
.foot-links a:hover{color:var(--red);}
.foot-newsletter-desc{font-size:0.85rem;color:rgba(255,255,255,0.45);line-height:1.65;margin-bottom:1.25rem;}
.foot-newsletter-form{display:flex;border-radius:3px;overflow:hidden;border:1px solid rgba(255,255,255,0.12);transition:border-color 0.25s;}
.foot-newsletter-form:focus-within{border-color:var(--red);}
.foot-newsletter-input{flex:1;padding:0.75rem 1rem;border:none;background:rgba(255,255,255,0.04);font-family:var(--font);font-size:0.85rem;color:var(--white);outline:none;min-width:0;}
.foot-newsletter-input::placeholder{color:rgba(255,255,255,0.28);}
.foot-newsletter-btn{background:var(--red);color:#fff;border:none;padding:0 1.1rem;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background 0.2s,transform 0.2s;}
.foot-newsletter-btn:hover{background:var(--red-dark);transform:translateY(-3px);}
.foot-newsletter-note{font-size:0.72rem;color:rgba(255,255,255,0.25);margin-top:0.75rem;display:flex;align-items:center;}
.footer-hours-text{font-size:0.83rem;color:rgba(255,255,255,0.5);margin:0;}
.soc-row{display:flex;gap:0.6rem;margin-top:1.5rem;}
.soc-btn{width:36px;height:36px;border-radius:2px;border:1px solid rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.45);font-size:0.95rem;transition:background 0.2s,color 0.2s,border-color 0.2s,transform 0.2s;}
.soc-btn:hover{background:var(--red);color:#fff;border-color:var(--red);transform:translateY(-3px);}
.foot-bottom{border-top:1px solid rgba(255,255,255,0.06);margin-top:3rem;padding:1.5rem 0;display:flex;justify-content:space-between;align-items:center;gap:0.5rem;}
.foot-bottom p{font-size:0.78rem;color:rgba(255,255,255,0.25);margin:0;}
.from-right.in-view a:hover{color:#FF0033!important;transition:0.25s ease-in-out;}


/* ===== 23. FAB (Floating Action Button) ===== */
.fab-wrap{position:fixed;bottom:2rem;left:2rem;z-index:9999;display:flex;flex-direction:column;align-items:flex-start;}
.fab-sub{display:flex;flex-direction:column;gap:.55rem;margin-bottom:.75rem;pointer-events:none;min-width:220px;}
.fab-pill{display:flex;align-items:center;gap:.85rem;padding:.65rem .9rem;border-radius:50px;background:#fff;color:#111;text-decoration:none;box-shadow:0 4px 20px rgba(0,0,0,.22);opacity:0;transform:translateX(-16px) scale(.9);transition:opacity .28s ease,transform .32s cubic-bezier(.22,.68,0,1.2),box-shadow .2s;pointer-events:none;}
.fab-pill:hover{box-shadow:0 8px 30px rgba(0,0,0,.28);color:#111;}
.fab-pill-icon{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex-shrink:0;color:#fff;}
.fab-pill-icon svg{width:19px;height:19px;fill:currentColor;}
.fab-pill--wa .fab-pill-icon{background:#25D366;}
.fab-pill--call .fab-pill-icon{background:var(--red);}
.fab-pill-text{display:flex;flex-direction:column;line-height:1.2;}
.fab-pill-text strong{font-size:.88rem;font-weight:700;color:#111;}
.fab-pill-text span{font-size:.72rem;color:#666;}
.fab-wrap.is-open .fab-sub{pointer-events:auto;}
.fab-wrap.is-open .fab-pill{pointer-events:auto;}
.fab-wrap.is-open .fab-pill:nth-child(1){opacity:1;transform:none;transition-delay:.08s;}
.fab-wrap.is-open .fab-pill:nth-child(2){opacity:1;transform:none;transition-delay:.16s;}
.fab-btn{position:relative;width:56px;height:56px;border-radius:50%;background:var(--red);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;transition:background .22s,transform .22s;flex-shrink:0;z-index:2;}
.fab-btn:hover{background:var(--red-dark);transform:scale(1.08);}
.fab-ico{position:absolute;transition:opacity .22s,transform .28s cubic-bezier(.22,.68,0,1.2);display:flex;align-items:center;justify-content:center;}
.fab-ico--close{opacity:0;transform:rotate(-90deg) scale(.5);}
.fab-ico--open{opacity:1;transform:rotate(0) scale(1);}
.fab-wrap.is-open .fab-ico--open{opacity:0;transform:rotate(90deg) scale(.5);}
.fab-wrap.is-open .fab-ico--close{opacity:1;transform:rotate(0) scale(1);}
.fab-ring{position:absolute;inset:0;border-radius:50%;background:rgba(255,0,51,.38);animation:fabPulse 2.2s ease-out infinite;pointer-events:none;z-index:1;}
.fab-wrap.is-open .fab-ring{animation:none;opacity:0;}


/* ===== 24. BACK TO TOP ===== */
.btt-btn{position:fixed;bottom:2rem;right:2rem;z-index:9999;width:46px;height:46px;border-radius:3px;background:var(--black);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.72);font-size:1.1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity .3s ease,transform .34s cubic-bezier(.22,.68,0,1.2),background .2s,border-color .2s,color .2s;}
.btt-btn.btt-visible{opacity:1;pointer-events:auto;transform:translateY(0);}
.btt-btn:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-3px);}


/* ===== 25. ALTERNATIVE HERO SECTIONS (hidden by default) ===== */
.hero-alt{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;}
/* Alt Hero A */
.hero-alt-a{background:var(--dark-blue);text-align:center;}
.hero-alt-a-overlay{position:absolute;inset:0;background:linear-gradient(160deg,var(--dark-blue) 0%,rgba(12,18,41,0.82) 50%,rgba(12,18,41,0.65) 100%);}
.hero-alt-a-grain{position:absolute;inset:0;opacity:0.04;background-image:linear-gradient(30deg,var(--gold) 12%,transparent 12.5%,transparent 87%,var(--gold) 87.5%),linear-gradient(150deg,var(--gold) 12%,transparent 12.5%,transparent 87%,var(--gold) 87.5%);background-size:80px 140px;}
.hero-alt-a-mark{width:72px;height:auto;margin-bottom:2rem;opacity:0.9;}
.hero-alt-a-h1{font-family:var(--font);font-size:clamp(3rem,7vw,5.5rem);font-weight:600;color:var(--white);letter-spacing:0.12em;line-height:1;margin-bottom:1.5rem;}
.hero-alt-a-divider{width:48px;height:2px;background:var(--gold);margin:0 auto 1.5rem;}
.hero-alt-a-tagline{font-family:var(--font-secondary);font-style:italic;font-size:clamp(1.1rem,2.5vw,1.5rem);color:var(--gold);margin-bottom:2rem;}
.hero-alt-a-sub{font-size:1rem;color:rgba(255,255,255,0.5);max-width:520px;margin:0 auto 3rem;line-height:1.7;}
.hero-alt-a-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:4rem;}
.hero-alt-a-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);}
.hero-alt-a-scroll span{display:block;width:1px;height:48px;background:linear-gradient(to bottom,var(--gold),transparent);margin:0 auto 0.5rem;animation:scrollPulse 2s ease-in-out infinite;}
.hero-alt-a-scroll p{font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.35);}
/* Alt Hero B */
.hero-alt-b{background:var(--black);padding:6rem 0;}
.hero-alt-b::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;}
.hero-alt-b-eyebrow{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.72rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;}
.hero-alt-b-eyebrow span{display:inline-block;width:24px;height:2px;background:var(--gold);}
.hero-alt-b-h1{font-size:clamp(2.5rem,5.5vw,4.5rem);font-weight:600;color:var(--white);line-height:1.05;letter-spacing:-0.03em;margin-bottom:1.5rem;}
.hero-alt-b-h1 em{font-family:var(--font-secondary);font-style:italic;font-weight:400;color:var(--red);}
.hero-alt-b-sub{font-size:1rem;color:rgba(255,255,255,0.5);max-width:460px;line-height:1.7;margin-bottom:2.5rem;}
.hero-alt-b-ctas{display:flex;gap:1rem;flex-wrap:wrap;}
.hero-alt-b-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.hero-alt-b-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:8px;padding:1.5rem;display:flex;align-items:flex-start;gap:1rem;transition:border-color 0.3s,transform 0.3s;}
.hero-alt-b-card:hover{border-color:rgba(207,183,108,0.3);transform:translateY(-3px);}
.hero-alt-b-card-icon{width:42px;height:42px;border-radius:8px;background:var(--red-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hero-alt-b-card-icon i{font-size:1.1rem;color:var(--red);}
.hero-alt-b-card strong{display:block;font-size:0.88rem;font-weight:700;color:var(--white);margin-bottom:0.15rem;}
.hero-alt-b-card span{font-size:0.78rem;color:rgba(255,255,255,0.45);}


/* ===== GALLERY: Load More Button ===== */
.gallery-load-more{background:none;border:2px solid var(--border);color:var(--black);font-family:var(--font);font-weight:500;font-size:0.88rem;padding:0.75rem 2rem;border-radius:3px;cursor:pointer;display:inline-flex;align-items:center;gap:0.5rem;letter-spacing:0.02em;transition:border-color 0.2s,color 0.2s,background 0.2s,transform 0.2s;}
.gallery-load-more:hover{border-color:var(--red);color:var(--red);background:var(--red-soft);transform:translateY(-3px);}

/* ===== GALLERY: Bento overlay expand icon ===== */
.bento-overlay{display:flex;align-items:flex-end;justify-content:space-between;}
.bento-overlay i{font-size:0.85rem;opacity:0.7;}
.bento-item{cursor:pointer;}

/* ===== GALLERY: Lightbox ===== */
.lightbox{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,0.92);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.35s,visibility 0.35s;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.lightbox.is-active{opacity:1;visibility:visible;}
.lightbox-img-wrap{max-width:90vw;max-height:85vh;display:flex;align-items:center;justify-content:center;}
.lightbox-img-wrap img{max-width:100%;max-height:85vh;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,0.5);object-fit:contain;transition:transform 0.3s;opacity:0;transform:scale(0.92);}
.lightbox.is-active .lightbox-img-wrap img{opacity:1;transform:scale(1);transition:opacity 0.4s 0.1s,transform 0.4s 0.1s;}
.lightbox-close{position:absolute;top:1.25rem;right:1.25rem;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);color:#fff;font-size:1.1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.2s;z-index:2;}
.lightbox-close:hover{background:var(--red);border-color:var(--red);}
.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);color:#fff;font-size:1.2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.2s;z-index:2;}
.lightbox-arrow:hover{background:var(--red);border-color:var(--red);}
.lightbox-prev{left:1.5rem;}
.lightbox-next{right:1.5rem;}
.lightbox-counter{position:absolute;bottom:1.25rem;left:50%;transform:translateX(-50%);font-size:0.78rem;font-weight:600;color:rgba(255,255,255,0.5);letter-spacing:0.1em;}


/* ================================================================
   26. RESPONSIVE — CONSOLIDATED MEDIA QUERIES
   ================================================================ */

/* ── Tablet (≤ 1024px) ── */
@media (max-width: 1024px) {
  #feature .pg-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  #feature .pg-img-wrap { aspect-ratio: 16/10; max-height: 400px; }
  #why-us .values-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
}

/* ── Tablet / Mobile nav (≤ 991px) ── */
@media (max-width: 991px) {
  /* Hero slider */
  #hero-slider { height: calc(100vh - 68px - 36px); min-height: 550px; }
  .hero-content { padding: 0 0 4.5rem; }
  .hs-bg-overlay--split { background: linear-gradient(180deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.5) 60%, rgba(0,0,0,0.3) 100%); }
  .hs-arrow { width: 36px; height: 36px; font-size: 0.9rem; }
  .hs-arrow--prev { left: 0.75rem; }
  .hs-arrow--next { right: 0.75rem; }
  .hs-dots { bottom: 1.25rem; }
  /* Trust strip */
  .t-trust + .t-trust { border-left: none; border-top: 1px solid rgba(255,255,255,0.07); }
  /* About */
  .about-img-float { display: none; }
  .about-red-card { top: 12px; left: 0; }
  .about-img-stack::after { height: 280px; }
  /* Numbers — single row, smaller text */
  .nc-n { font-size: 2.2rem; }
  .nc-l { font-size: 0.6rem; }
  /* Aisle strip */
  .aisle-strip { grid-template-columns: 1fr 1fr; grid-template-rows: 220px 220px 220px; }
  .aisle-cell:first-child { grid-column: 1/3; }
  /* Contact */
  .form-box { padding: 1.5rem; }
  /* Mobile nav — slide-in panel */
  #navLinks {
    position: fixed; top: 0; right: 0; width: 300px; height: 100vh;
    background: var(--white) !important; margin-top: 0 !important; padding: 0 !important;
    display: block !important; z-index: 1001; border-top: none !important; overflow-y: auto;
    transform: translateX(100%); visibility: hidden;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.4s !important;
    box-shadow: none;
  }
  #navLinks.show { transform: translateX(0); visibility: visible; box-shadow: -10px 0 30px rgba(0,0,0,0.1); }
  #navLinks.collapsing { display: block !important; height: 100vh !important; visibility: visible; }
  #navLinks .navbar-nav { flex-direction: column; align-items: stretch; gap: 0 !important; padding: 0; }
  #navLinks .nav-item { border-bottom: 1px solid var(--border); }
  #navLinks .nav-item:last-child { border-bottom: none; }
  #navLinks .nav-link { padding: 0.85rem 1.25rem !important; width: 100%; display: block; }
  #navLinks .nav-link::after { display: none !important; }
  #navLinks .btn-nav { margin: 1rem 1.25rem; width: calc(100% - 2.5rem); justify-content: center; }
  .btn-close-menu { background: none; border: none; font-size: 1.5rem; color: var(--black); padding: 0.5rem; cursor: pointer; transition: color 0.2s; }
  .btn-close-menu:hover { color: var(--red); }
  /* Ticker */
  .ticker-track { animation-duration: 16s !important; }
}

/* ── Mobile (≤ 767px) ── */
@media (max-width: 767px) {
  /* Global */
  .container { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
  section { padding: 4rem 0; }
  /* Hero slider mobile */
  .hero-watermark { display: none; }
  #hero-slider { height: calc(100vh - 68px - 36px); min-height: 500px; }
  .hero-slide { align-items: center; }
  .hero-content { padding: 0 0 2rem; }
  .hs-centre { padding: 0 0 2rem; }
  .hero-h1 { font-size: clamp(2.2rem, 8vw, 3.5rem); }
  .hero-p { font-size: 0.9rem; margin-bottom: 1.5rem; }
  .hs-bottom-layout { padding-bottom: 3rem; }
  .hs-centre-h1 { letter-spacing: 0.04em; }
  .hs-centre-sub br { display: none; }
  .hs-dots { bottom: 1rem; }
  .hs-dot { width: 8px; height: 8px; }
  .hs-arrow { display: none; }
  /* Right-aligned slides → left on mobile */
  .hs-text-right { text-align: left !important; }
  .hs-text-right .hero-eyebrow { justify-content: flex-start !important; }
  .hs-text-right .hero-ctas { justify-content: flex-start !important; }
  .hs-text-right .hero-p { margin-left: 0 !important; }
  /* Bottom layout */
  .hs-bottom-layout { padding-bottom: 3.5rem; }
  .hs-bottom-stats { display: none !important; }
  .hs-bottom-stats--float { display: none !important; }
  /* Split panel full on mobile */
  .hs-split-panel { width: 100%; }
  /* Trust row */
  .hs-trust-row { display: none; }
  /* Hero pills — prevent overflow */
  .hero-pills { display: none; }
  .h-pill { font-size: 0.55rem; padding: 0.35rem 0.65rem; }
  /* About */
  .about-img-main { height: 280px; }
  .about-img-stack::after { height: 280px; }
  .about-quote { font-size: 0.95rem; padding-left: 1rem; margin: 1.5rem 0; }
  .sec-sub { max-width: 100%; }
  /* Aisle strip — labels always visible, no hover shift on touch */
  .aisle-strip { padding: 0 1.25rem; }
  .aisle-label { transform: translateY(0) !important; padding: 0.75rem 0.85rem 0.85rem; }
  .aisle-label h4 { font-size: 0.82rem; margin-bottom: 0.15rem; }
  .aisle-label span { color: rgba(255,255,255,0.65) !important; transform: translateY(0) !important; font-size: 0.65rem; }
  .aisle-cell.aisle-featured .aisle-label h4 { font-size: 1.1rem; }
  .aisle-badge { top: 10px; left: 10px; font-size: 0.6rem; padding: 0.2rem 0.6rem; }
  .aisle-promises { padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
  .aisle-promise { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.07); min-width: unset; flex: unset; flex-direction: column; align-items: flex-start; gap: 0.6rem; padding: 1.25rem 1rem; }
  .aisle-promise:nth-child(2n) { border-right: none; }
  .aisle-promise:nth-last-child(-n+2) { border-bottom: none; }
  .ap-text strong { font-size: 0.82rem; }
  .ap-text span { font-size: 0.72rem; }
  /* Trust strip — mobile carousel */
  .trust-strip-carousel { display: block !important; padding: 0 0.75rem; }
  .trust-strip-row-desktop { display: none !important; }
  .ts-outer { display: flex; align-items: center; gap: 0.5rem; }
  .ts-window { flex: 1; overflow: hidden; }
  .ts-track { display: flex; gap: 0; transition: transform 0.38s cubic-bezier(.4,0,.2,1); }
  .ts-slide { flex: 0 0 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.6rem; padding: 1.4rem 0.25rem; text-align: center; border-right: 1px solid rgba(255,255,255,0.07); }
  .ts-slide:last-child { border-right: none; }
  .ts-slide .t-trust-icon { font-size: 1.8rem; color: var(--red); line-height: 1; }
  .ts-slide strong { display: block; font-size: 0.7rem; font-weight: 700; color: rgba(255,255,255,0.85); line-height: 1.3; text-transform: uppercase; letter-spacing: 0.06em; }
  .ts-arrow { flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12); color: rgba(255,255,255,0.7); display: flex; align-items: center; justify-content: center; font-size: 0.85rem; cursor: pointer; transition: background 0.2s, color 0.2s; }
  .ts-arrow:hover { background: var(--red); color: #fff; border-color: var(--red); }
  /* Gallery: carousel on mobile, bento on desktop */
  .gallery-carousel { display: block; }
  .bento.d-none.d-md-grid { display: none !important; }
  .bento-more { display: none !important; }
  #loadMoreWrap { display: none !important; }
  .bento { grid-template-columns: 1fr 1fr; grid-template-rows: auto; gap: 8px; }
  .bento-item { grid-column: auto !important; grid-row: auto !important; height: 140px; }
  /* Aisle strip responsive handled by base media queries above */
  /* Testimonials: carousel on mobile */
  .tc-carousel { display: block; }
  .row.g-4.mb-5.reveal-group.d-none.d-md-flex { display: none !important; }
  .rating-badge { flex-direction: column; gap: 0.5rem; padding: 1rem; text-align: center; }
  .rating-badge > div:nth-child(3) { display: none; }
  /* Numbers — compact single row, reduced padding */
  #numbers { padding: 1rem 0; }
  .num-row { display: flex !important; flex-wrap: nowrap !important; }
  .nc { flex: 1; min-width: 0; padding: 0.6rem 0.4rem; flex-direction: column; text-align: center; gap: 0.4rem; }
  .nc-icon { width: 36px; height: 36px; border-radius: 10px; margin: 0 auto; }
  .nc-icon i { font-size: 0.95rem; }
  .nc-text { text-align: center; }
  .nc + .nc::before { display: block; height: 28px; }
  .nc-n { font-size: 1.4rem; }
  .nc-l { font-size: 0.48rem; margin-top: 0.3rem; }
  /* WhatsApp CTA buttons */
  .wa-order-btns { flex-direction: column; align-items: center; gap: 0.75rem; }
  .wa-order-btn { width: 100%; max-width: 280px; font-size: 0.9rem; padding: 0.8rem 1.5rem; }
  .wa-order-heading { font-size: clamp(1.6rem, 5vw, 2.5rem); }
  .wa-order-sub { font-size: 0.92rem; margin-bottom: 1.5rem; }
  .wa-order-pills { gap: 0.5rem; margin-bottom: 2rem; }
  .wa-order-pill { font-size: 0.72rem; padding: 0.35rem 0.75rem; }
  /* Lightbox mobile */
  .lightbox-arrow { width: 38px; height: 38px; font-size: 1rem; }
  .lightbox-prev { left: 0.75rem; }
  .lightbox-next { right: 0.75rem; }
  .lightbox-close { top: 0.75rem; right: 0.75rem; width: 38px; height: 38px; }
  /* Footer */
  .foot-bottom { flex-direction: column-reverse; text-align: center; gap: 0.5rem; }
  .soc-row { justify-content: start; }
  .foot-newsletter-form { flex-direction: row; }
  .footer-news-sub { width: 100%; }
  .footer-news-form { flex-direction: column; }
  .footer-news-btn { padding: 0.85rem; text-align: center; justify-content: center; }
  /* Philosophy */
  .lb-highlights { grid-template-columns: 1fr; gap: 2rem; max-width: 360px; margin: 0 auto; padding-top: 2.5rem; }
  .lb-inner { margin-bottom: 2.5rem; }
  /* Delivery CTA */
  #delivery-cta .delivery-phones { flex-direction: column; align-items: center; }
  #delivery-cta .delivery-phone { font-size: 1rem; padding: 0.75rem 1.5rem; }
  /* WhatsApp CTA */
  #whatsapp-order .text-center > div { flex-direction: column; align-items: center; }
  /* Feature / Prime Gourmet */
  #feature { padding: 4rem 0; }
  #feature .pg-logo { max-width: 140px; margin-bottom: 1.25rem; }
  #feature .pg-halal { padding: 0.85rem 1rem; }
  #feature .pg-ctas { flex-direction: column; }
  #feature .pg-ctas a { width: 100%; justify-content: center; }
  /* Why Us */
  #why-us .values-grid { grid-template-columns: 1fr; gap: 1rem; }
  #why-us .value-num { font-size: 2rem; }
  .values-sub { font-size: 0.92rem; }
  /* Contact */
  .form-box h3 { font-size: 1.4rem; }
  .info-block { gap: 0.75rem; }
  .info-block span { font-size: 0.85rem; }
  /* Back-to-top + FAB — safe from edges */
  .btt-btn { bottom: 1.25rem; right: 1rem; width: 40px; height: 40px; font-size: 0.95rem; }
  .fab-wrap { bottom: 1.25rem; left: 1rem; }
  .fab-btn { width: 50px; height: 50px; font-size: 1.15rem; }
  .fab-sub { min-width: 200px; }
  /* Alt hero */
  .hero-alt-b-cards { grid-template-columns: 1fr; }
  .hero-alt-a-h1 { letter-spacing: 0.06em; }
}

/* ── Desktop visibility toggles ── */
@media (min-width: 768px) {
  .trust-strip-carousel { display: none !important; }
  .trust-strip-row-desktop { display: flex !important; }
  .gallery-carousel { display: none !important; }
  .bento.d-none.d-md-grid { display: grid !important; }
  .tc-carousel { display: none !important; }
}

/* ── Small mobile (≤ 575px) ── */
@media (max-width: 575px) {
  .container { padding-left: 1.1rem !important; padding-right: 1.1rem !important; }
  #hero .container { padding-left: 1.4rem !important; padding-right: 1.4rem !important; }
  .aisle-strip { padding: 0 1.1rem; grid-template-rows: 160px 160px 160px; gap: 2px; }
  .aisle-label { padding: 0.6rem 0.7rem 0.7rem; }
  .aisle-label h4 { font-size: 0.72rem; letter-spacing: 0.04em; }
  .aisle-label span { font-size: 0.58rem; }
  .aisle-cell.aisle-featured .aisle-label h4 { font-size: 0.92rem; }
  #what-we-offer .container, #whatsapp-order .container { padding-left: 1.1rem !important; padding-right: 1.1rem !important; }
  .trust-strip .container { padding-left: 1.1rem !important; padding-right: 1.1rem !important; }
  #numbers .container { padding-left: 0.75rem !important; padding-right: 0.75rem !important; }
  /* Hero slider small mobile */
  #hero-slider { min-height: 480px; }
  .hero-h1 { font-size: 2.4rem; letter-spacing: -0.02em; }
  .hero-p { font-size: 0.92rem; max-width: 100%; }
  .hero-ctas { flex-direction: column; }
  .hero-ctas a { width: 100%; justify-content: center; font-size: 0.85rem; }
  .hero-pills { flex-direction: row; gap: 0.4rem; flex-wrap: wrap; }
  .h-pill { width: fit-content; font-size: 0.52rem; padding: 0.3rem 0.55rem; }
  .hs-centre-h1 { font-size: 2rem; letter-spacing: 0.03em; }
  .hs-centre-tagline { font-size: 0.95rem; }
  .hs-centre-sub { font-size: 0.85rem; }
  .hero-eyebrow { font-size: 0.6rem; margin-bottom: 1rem; }
  /* Trust */
  .t-trust strong { font-size: 0.65rem; }
  .t-trust { padding: 0.5rem 0.5rem; }
  /* Categories */
  /* Gallery */
  .bento { grid-template-columns: 1fr; }
  .bento-item { height: 200px; }
  .gc-slide { height: 220px; }
  /* Contact */
  .map-box { height: 200px; }
  .form-box { padding: 1.1rem; }
  .form-box h3 { font-size: 1.25rem; }
  /* Footer */
  .foot-legal { flex-direction: column; gap: 0.4rem; align-items: center; }
  .foot-tagline { max-width: 75%; }
  .foot-bottom { flex-direction: column-reverse; text-align: center; gap: 0.5rem; }
  /* FAB + BTT — tighter to edges */
  .fab-wrap { bottom: 1rem; left: 0.75rem; }
  .fab-btn { width: 46px; height: 46px; font-size: 1.1rem; }
  .fab-sub { min-width: 180px; }
  .btt-btn { bottom: 1rem; right: 0.75rem; width: 38px; height: 38px; font-size: 0.9rem; }
  /* Numbers */
  #numbers { padding: 0.75rem 0; }
  .nc { padding: 0.5rem 0.2rem; gap: 0.3rem; }
  .nc-icon { width: 28px; height: 28px; border-radius: 8px; }
  .nc-icon i { font-size: 0.75rem; }
  .nc-n { font-size: 1.1rem; }
  .nc-l { font-size: 0.42rem; letter-spacing: 0.06em; margin-top: 0.2rem; }
  .nc + .nc::before { height: 24px; }
  /* WhatsApp */
  #whatsapp-order { padding: 3rem 0; }
  .wa-order-btn { max-width: 100%; font-size: 0.85rem; }
  .wa-order-pill { font-size: 0.65rem; }
  /* Sections */
  section { padding: 3rem 0; }
  /* Feature */
  #feature .pg-img-badges { grid-template-columns: 1fr; gap: 0.4rem; padding: 0.75rem; }
  #feature .pg-img-wrap { aspect-ratio: 4/3; }
  #feature .pg-badge span { font-size: 0.6rem; }
  /* Philosophy */
  .lb-highlights { grid-template-columns: 1fr; }
  .lb-eyebrow { font-size: 0.6rem; }
  /* Why Us */
  #why-us .value-card { padding: 1.5rem 1.25rem 1.25rem; }
  .values-eyebrow { font-size: 0.6rem; }
}
