/* =====================================================================
   SURYA POULTRY DIVISION · "Factory Sunrise" design system
   Warm. Established. Trustworthy.  Mobile-first.
   ===================================================================== */

/* ---------- tokens ---------- */
:root{
  /* brand palette (sampled from the logo) */
  --red:        #d5202a;
  --red-deep:   #b21f15;
  --gold:       #f4a81d;
  --gold-bright:#ffc233;
  --ivory:      #fbf6ec;
  --ivory-2:    #f4e8d2;   /* alt warm panel */
  --paper:      #fffdf8;   /* card surface */
  --ink:        #1d1610;
  --ink-2:      #2a2017;
  --ink-soft:   #5c5044;
  --line:       #e7d9bf;   /* hairline on ivory */
  --dark:       #1c1410;   /* dark section base */
  --dark-2:     #271c14;

  /* derived / theming knobs (Tweaks can override) */
  --accent:        var(--red);     /* hero word, kickers can lean red or gold */
  --hero-ink:      var(--ink);
  --hero-bg:       var(--ivory);
  --radius:        16px;            /* card radius (sharp↔soft tweak) */
  --radius-sm:     10px;
  --pill:          999px;
  --shadow-sm:     0 1px 0 rgba(60,40,15,.04), 0 6px 18px -10px rgba(80,50,15,.28);
  --shadow-md:     0 2px 0 rgba(60,40,15,.04), 0 22px 44px -22px rgba(80,45,10,.40);
  --shadow-lift:   0 6px 0 rgba(60,40,15,.03), 0 34px 60px -26px rgba(120,60,10,.46);

  /* fluid type */
  --step--1: clamp(.82rem, .79rem + .14vw, .9rem);
  --step-0:  clamp(1rem, .96rem + .2vw, 1.125rem);
  --step-1:  clamp(1.2rem, 1.12rem + .4vw, 1.45rem);
  --step-2:  clamp(1.5rem, 1.36rem + .7vw, 2rem);
  --step-3:  clamp(1.95rem, 1.7rem + 1.25vw, 2.9rem);
  --step-4:  clamp(2.5rem, 2.05rem + 2.25vw, 4.25rem);
  --step-5:  clamp(3rem, 2.3rem + 3.5vw, 5.5rem);

  --wrap: 1240px;
  --gut: clamp(18px, 5vw, 64px);

  --font-display: "Young Serif", "Hanken Grotesk", Georgia, serif;
  --font-body: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-logo: "Baloo 2", "Hanken Grotesk", sans-serif;
}

/* card-style presets toggled via [data-cards] on <html> */
html[data-cards="sharp"]{ --radius: 4px; --radius-sm: 3px; }
html[data-cards="soft"]{  --radius: 22px; --radius-sm: 14px; }

/* density */
html[data-density="compact"]{ --prod-min: 200px; --prod-gap: 12px; }
html[data-density="roomy"]{   --prod-min: 260px; --prod-gap: 22px; }

/* accent emphasis */
html[data-accent="gold"]{ --accent: var(--gold); }
html[data-accent="red"]{  --accent: var(--red); }

/* ---- Hindi / Devanagari ---- */
html[lang="hi"]{ --font-body:"Mukta", system-ui, sans-serif; --font-display:"Mukta", Georgia, serif; }
html[lang="hi"] h1,html[lang="hi"] h2,html[lang="hi"] h3{ font-weight:700; letter-spacing:0; line-height:1.22; }
html[lang="hi"] .hero h1{ line-height:1.18; }
html[lang="hi"] .sec-kicker,html[lang="hi"] .kicker{ letter-spacing:.04em; }
html[lang="hi"] .edge-card .pill,html[lang="hi"] .prod-cat,html[lang="hi"] .corner{ letter-spacing:.02em; }
html[lang="hi"] .marquee span{ letter-spacing:0; }

/* ---- Tweakable states ---- */
/* dark hero theme */
html[data-hero-theme="dark"]{ --hero-bg:#1c1410; --hero-ink:#ffffff; }
html[data-hero-theme="dark"] .hero-sub{ color:#cdbb9c; }
html[data-hero-theme="dark"] .hero-trust b{ color:#fff; }
html[data-hero-theme="dark"] .hero-trust span{ color:#bda88a; }
html[data-hero-theme="dark"] .kicker{ background:rgba(244,168,29,.16); color:var(--gold-bright); border-color:rgba(244,168,29,.4); }
html[data-hero-theme="dark"] .hero h1 em::after{ opacity:.6; }
html[data-hero-theme="dark"] .btn-ghost{ --fg:#fff; border-color:rgba(255,255,255,.4); }
html[data-hero-theme="dark"] .btn-ghost:hover{ --bg:rgba(255,255,255,.1); border-color:#fff; }
/* hero visual variants */
html[data-hero="glow"] .hero-art .rays{ display:none; }
html[data-hero="glow"] .hero-art .sun{ inset:2%; filter:blur(6px); opacity:.92; }
html[data-hero="glow"] .hero-art .ph{ width:70%; }

/* ---------- reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0; background:var(--ivory); color:var(--ink-soft);
  font-family:var(--font-body); font-size:var(--step-0); line-height:1.6;
  font-weight:450; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; cursor:pointer; }
h1,h2,h3{ margin:0; color:var(--ink); font-family:var(--font-display); font-weight:400; line-height:1.04; letter-spacing:-.01em; }
p{ margin:0; text-wrap:pretty; }
::selection{ background:var(--gold); color:var(--ink); }

/* subtle paper grain over everything */
body::before{
  content:""; position:fixed; inset:0; z-index:9999; pointer-events:none; opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}

/* ---------- layout ---------- */
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut); }
.block{ padding-block:clamp(56px, 9vw, 120px); position:relative; }
.sec-head{ max-width:760px; margin-bottom:clamp(30px,5vw,56px); }
.sec-kicker{
  display:inline-flex; align-items:center; gap:.55em; font-family:var(--font-body);
  font-weight:700; font-size:var(--step--1); letter-spacing:.16em; text-transform:uppercase;
  color:var(--red); margin-bottom:14px;
}
.sec-kicker::before{ content:""; width:26px; height:2px; background:var(--gold); border-radius:2px; }
.sec-head h2{ font-size:var(--step-3); }
.sec-head p{ margin-top:16px; font-size:var(--step-1); color:var(--ink-soft); max-width:62ch; line-height:1.5; }

/* ---------- buttons ---------- */
.btn{
  --bg:var(--red); --fg:#fff;
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  background:var(--bg); color:var(--fg); border:0; border-radius:var(--pill);
  font-family:var(--font-body); font-weight:700; font-size:var(--step-0);
  padding:.85em 1.45em; min-height:48px; letter-spacing:.005em;
  box-shadow:var(--shadow-sm); transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
  -webkit-tap-highlight-color:transparent;
}
.btn:hover{ background:var(--red-deep); transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn:active{ transform:translateY(0); }
.btn:focus-visible{ outline:3px solid var(--red); outline-offset:3px; }
.btn-sm{ min-height:42px; padding:.6em 1.05em; font-size:var(--step--1); }
.btn-ghost{ --bg:transparent; --fg:var(--ink); border:1.5px solid color-mix(in oklab, var(--ink) 28%, transparent); box-shadow:none; }
.btn-ghost:hover{ --bg:color-mix(in oklab, var(--ink) 6%, transparent); border-color:var(--ink); transform:translateY(-2px); box-shadow:none; }
.btn-gold{ --bg:var(--gold); --fg:var(--ink); }
.btn-gold:hover{ --bg:var(--gold-bright); }
.wa-ico{ width:1.15em; height:1.15em; fill:currentColor; flex:0 0 auto; }

/* ---------- header ---------- */
header{
  position:sticky; top:0; z-index:200;
  padding-top:env(safe-area-inset-top, 0px);
  background:color-mix(in oklab, var(--ivory) 86%, transparent);
  backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid transparent; transition:border-color .25s, background .25s, box-shadow .25s;
}
header.scrolled{ border-bottom-color:var(--line); box-shadow:0 10px 30px -24px rgba(90,50,10,.5); }
.nav{ display:flex; align-items:center; gap:18px; min-height:68px; }
.brand{ display:flex; align-items:center; flex:0 0 auto; }
.brand .logo{ height:42px; width:auto; }
.nav-links{ display:flex; gap:4px; margin-left:auto; }
.nav-links a{
  font-weight:600; font-size:var(--step--1); letter-spacing:.01em; color:var(--ink-2); white-space:nowrap;
  padding:10px 14px; border-radius:var(--pill); position:relative; transition:color .15s, background .15s;
}
.nav-links a:hover{ color:var(--red); background:color-mix(in oklab, var(--gold) 16%, transparent); }
.nav-right{ display:flex; align-items:center; gap:12px; }
.nav-links + .nav-right{ margin-left:0; }
.nav-links{ margin-right:6px; }
.lang{ display:inline-flex; border:1.5px solid var(--line); border-radius:var(--pill); overflow:hidden; background:var(--paper); }
.lang button{ padding:7px 11px; font-weight:700; font-size:12px; color:var(--ink-soft); background:transparent; }
.lang button.on{ background:var(--ink); color:var(--ivory); }
.lang .hindi{ font-family:"Mukta", var(--font-body); }
.lang-menu{ display:none; }
.burger{ display:none; width:46px; height:46px; border:1.5px solid var(--line); border-radius:12px; background:var(--paper); flex-direction:column; gap:5px; align-items:center; justify-content:center; }
.burger span{ width:20px; height:2px; background:var(--ink); border-radius:2px; transition:.25s; }
.burger.x span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger.x span:nth-child(2){ opacity:0; }
.burger.x span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ---------- hero ---------- */
.hero{ position:relative; background:var(--hero-bg); overflow:clip; }
.hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,5vw,64px); align-items:center; padding-block:clamp(40px,7vw,90px); }
.hero-copy{ position:relative; z-index:2; }
.kicker{
  display:inline-flex; align-items:center; gap:.6em; font-weight:700; font-size:var(--step--1);
  letter-spacing:.04em; color:var(--red-deep);
  background:color-mix(in oklab, var(--gold) 22%, var(--paper));
  border:1px solid color-mix(in oklab, var(--gold) 45%, transparent);
  padding:8px 15px; border-radius:var(--pill); margin-bottom:22px; white-space:nowrap;
}
.kicker .dot{ width:7px; height:7px; border-radius:50%; background:var(--red); box-shadow:0 0 0 3px color-mix(in oklab,var(--red) 25%,transparent); }
.hero h1{ font-size:var(--step-5); color:var(--hero-ink); letter-spacing:-.018em; }
.hero h1 em{ font-style:normal; color:var(--accent); position:relative; white-space:nowrap; }
.hero h1 em::after{
  content:""; position:absolute; left:0; right:0; bottom:.06em; height:.14em;
  background:var(--gold); opacity:.45; border-radius:3px; z-index:-1;
}
.hero-sub{ margin-top:22px; font-size:var(--step-1); color:var(--ink-soft); max-width:46ch; line-height:1.5; }
.hero-cta{ display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.hero-trust{ display:grid; grid-template-columns:repeat(4,auto); gap:clamp(14px,3vw,38px); margin-top:40px; }
.hero-trust .t{ display:flex; flex-direction:column; gap:2px; }
.hero-trust b{ font-family:var(--font-display); font-size:var(--step-2); color:var(--ink); line-height:1; }
.hero-trust span{ font-size:var(--step--1); color:var(--ink-soft); font-weight:500; }

/* hero art: factory sunrise */
.hero-art{ position:relative; aspect-ratio:1/1; display:grid; place-items:center; z-index:1; }
.hero-art .sun{
  position:absolute; inset:6% 6% 10%; border-radius:50%;
  background:
    radial-gradient(circle at 42% 36%, #ffe9a8 0%, var(--gold-bright) 34%, var(--gold) 60%, #e89410 100%);
  box-shadow:0 40px 90px -30px rgba(214,140,15,.7), inset 0 -30px 60px -20px rgba(180,90,10,.45);
}
.hero-art .rays{ position:absolute; inset:-6%; z-index:-1; animation:spin 70s linear infinite; }
@media (prefers-reduced-motion: reduce){ .hero-art .rays{ animation:none; } }
@keyframes spin{ to{ transform:rotate(360deg); } }
.hero-art .ph{
  position:absolute; width:62%; aspect-ratio:4/5; bottom:4%; left:50%; transform:translateX(-50%);
  border-radius:18px; overflow:hidden; box-shadow:var(--shadow-lift); border:5px solid var(--paper);
  background:linear-gradient(160deg,#3a2c1d,#241a12);
}
.hero-illus{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(1.06) contrast(1.05); }
.hero-art .ph::before{ content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:radial-gradient(120% 100% at 50% 36%, transparent 56%, rgba(26,15,5,.34) 100%); }
.hero-art .ph::after{ content:""; position:absolute; inset:0; z-index:3; pointer-events:none; opacity:.13; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:160px 160px; }
.photo-slot{ width:100%; height:100%; display:grid; place-items:center; text-align:center; color:#f3e2c0; gap:8px; padding:18px; }
.photo-slot svg{ width:42px; height:42px; opacity:.85; stroke:var(--gold); }
.photo-slot b{ font-family:var(--font-display); font-size:var(--step-0); color:#fff; }
.photo-slot span{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:#d9c39a; font-weight:600; }
.hero-art .chip-est{
  position:absolute; top:8%; right:2%; z-index:3; background:var(--paper); border-radius:14px;
  padding:12px 16px; box-shadow:var(--shadow-md); display:flex; flex-direction:column; line-height:1.1;
  border:1px solid var(--line);
}
.hero-art .chip-est b{ font-family:var(--font-display); font-size:var(--step-1); color:var(--red); }
.hero-art .chip-est span{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); font-weight:700; }

/* ---------- marquee ---------- */
.marquee{ background:var(--ink); color:var(--ivory); overflow:hidden; border-block:3px solid var(--gold); }
.marquee-track{ display:flex; gap:0; width:max-content; animation:scroll 38s linear infinite; }
@media (prefers-reduced-motion: reduce){ .marquee-track{ animation:none; flex-wrap:wrap; } }
@keyframes scroll{ to{ transform:translateX(-50%); } }
.marquee span{
  display:inline-flex; align-items:center; gap:16px; padding:16px 26px; white-space:nowrap;
  font-family:var(--font-display); font-size:var(--step-1); color:var(--gold-bright);
}
.marquee span::after{ content:"✶"; color:var(--red); font-size:.8em; }

/* ---------- categories ---------- */
.cat-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:clamp(12px,1.6vw,18px); }
.cat-card{
  position:relative; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius);
  padding:24px 22px 20px; display:flex; flex-direction:column; gap:10px; overflow:hidden;
  box-shadow:var(--shadow-sm); transition:transform .2s ease, box-shadow .2s ease, border-color .2s;
  min-height:160px;
}
.cat-card::after{ content:""; position:absolute; right:-30px; top:-30px; width:90px; height:90px; border-radius:50%; background:radial-gradient(circle,var(--gold) 0%,transparent 70%); opacity:.13; transition:opacity .25s; }
.cat-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lift); border-color:color-mix(in oklab,var(--gold) 55%,var(--line)); }
.cat-card:hover::after{ opacity:.28; }
.cat-card .ic{ width:40px; height:40px; stroke:var(--red); fill:none; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.cat-card h3{ font-size:var(--step-1); letter-spacing:-.01em; }
.cat-card p{ font-size:var(--step--1); color:var(--ink-soft); line-height:1.45; }
.cat-card .corner{
  position:absolute; top:16px; right:16px; font-size:11px; font-weight:800; letter-spacing:.04em;
  color:var(--red-deep); background:color-mix(in oklab,var(--gold) 26%,var(--paper));
  border:1px solid color-mix(in oklab,var(--gold) 50%,transparent); padding:4px 9px; border-radius:var(--pill);
}
.cat-card .go{ margin-top:auto; display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:var(--step--1); color:var(--red); }
.cat-card .go svg{ width:15px; height:15px; transition:transform .2s; }
.cat-card:hover .go svg{ transform:translateX(4px); }

/* ---------- patented edge (dark) ---------- */
.edge{ background:
    radial-gradient(120% 90% at 85% 0%, #34251a 0%, transparent 55%),
    radial-gradient(90% 80% at 0% 100%, #3a2410 0%, transparent 50%),
    var(--dark);
  color:#efe2cf; overflow:hidden;
}
.edge .sec-head h2,.edge h3{ color:#fff; }
.edge .sec-kicker{ color:var(--gold-bright); }
.edge .sec-head p{ color:#cdb79b; }
.edge-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:clamp(16px,2.4vw,28px); }
.edge-card{
  background:linear-gradient(165deg, rgba(255,255,255,.06), rgba(255,255,255,.015));
  border:1px solid rgba(244,168,29,.26); border-radius:var(--radius); padding:clamp(24px,3vw,38px);
  position:relative; overflow:hidden;
}
.edge-card .pill{
  display:inline-block; font-weight:800; font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink); background:var(--gold); padding:6px 12px; border-radius:var(--pill); margin-bottom:18px; white-space:nowrap;
}
.edge-card h3{ font-size:var(--step-2); line-height:1.08; margin-bottom:12px; }
.edge-card>p{ color:#cdbb9c; font-size:var(--step-0); line-height:1.55; }
.edge-stat{ display:flex; align-items:baseline; gap:14px; margin-top:26px; padding-top:22px; border-top:1px solid rgba(244,168,29,.2); }
.edge-stat b{ font-family:var(--font-display); font-size:clamp(2.8rem,6vw,4rem); color:var(--gold-bright); line-height:.9; }
.edge-stat span{ font-size:var(--step--1); color:#c3b196; max-width:30ch; }
.edge-foot{ margin-top:28px; font-size:var(--step--1); color:#9c8a72; display:flex; align-items:center; gap:10px; }
.edge-foot::before{ content:"✶"; color:var(--gold); }

/* ---------- catalogue ---------- */
.cat-section{ background:var(--ivory-2); }
.filters{ display:flex; gap:9px; overflow-x:auto; padding-bottom:8px; margin-bottom:26px; scrollbar-width:thin; -webkit-overflow-scrolling:touch; }
.filters::-webkit-scrollbar{ height:6px; }
.filters::-webkit-scrollbar-thumb{ background:var(--line); border-radius:6px; }
.chip{
  flex:0 0 auto; white-space:nowrap; border:1.5px solid var(--line); background:var(--paper);
  color:var(--ink-2); font-weight:600; font-size:var(--step--1); padding:10px 16px; min-height:42px;
  border-radius:var(--pill); transition:.16s;
}
.chip:hover{ border-color:var(--red); color:var(--red); }
.chip.on{ background:var(--red); border-color:var(--red); color:#fff; box-shadow:var(--shadow-sm); }
.prod-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(var(--prod-min,240px),1fr)); gap:var(--prod-gap,18px); }
.prod{
  display:flex; flex-direction:column; background:var(--paper); border:1px solid var(--line);
  border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s;
}
.prod:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lift); border-color:color-mix(in oklab,var(--gold) 50%,var(--line)); }
.prod-thumb{
  position:relative; aspect-ratio:16/11; display:grid; place-items:center; flex:0 0 auto; overflow:hidden;
  background:
    radial-gradient(circle at 50% 40%, color-mix(in oklab,var(--gold) 16%,var(--ivory)) 0%, var(--ivory-2) 70%);
  border-bottom:1px solid var(--line);
}
.prod-thumb > svg{ filter:saturate(1.09) contrast(1.06) brightness(1.01); }
/* photographic finish on every product picture: top sheen + film grain */
.prod-thumb::before{ content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 20%); }
.prod-thumb::after{ content:""; position:absolute; inset:0; z-index:3; pointer-events:none; opacity:.12; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:120px 120px; }
.prod-thumb .ic{ width:52px; height:52px; stroke:var(--red); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; opacity:.92; }
.prod-thumb > svg:not(.ic){ width:100%; height:100%; display:block; }
.prod-thumb .ph{ position:absolute; bottom:8px; right:8px; font-size:10px; letter-spacing:.08em; text-transform:uppercase; font-weight:700; color:var(--ink-soft); background:color-mix(in oklab,var(--paper) 80%,transparent); padding:3px 7px; border-radius:var(--pill); }
.prod-body{ padding:16px 16px 14px; display:flex; flex-direction:column; gap:6px; flex:1 0 auto; }
.prod-body > *{ flex-shrink:0; }
.prod-cat{ font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); }
html[data-accent="gold"] .prod-cat{ color:var(--red); }
.prod-body h3{ font-family:var(--font-body); font-weight:700; font-size:var(--step-0); color:var(--ink); line-height:1.25; }
.prod .spec{ font-size:var(--step--1); color:var(--ink-soft); line-height:1.4; }
.prod .enquire{
  margin-top:auto; padding-top:14px; display:inline-flex; align-items:center; gap:8px;
  font-weight:700; font-size:var(--step--1); color:var(--red);
}
.prod:hover .enquire{ color:var(--red-deep); }
.prod .enquire .wa-ico{ width:18px; height:18px; padding:3px; background:var(--red); fill:#fff; border-radius:50%; box-sizing:content-box; }
.cat-more{ margin-top:26px; display:flex; justify-content:center; }
.empty-note{ grid-column:1/-1; text-align:center; color:var(--ink-soft); padding:40px; }

/* ---------- how it works ---------- */
.how-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:clamp(14px,2vw,22px); }
.how-card{ position:relative; padding:28px 24px; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm); }
.how-card .num{ font-family:var(--font-display); font-size:var(--step-3); color:var(--gold); line-height:1; margin-bottom:14px; }
.how-card h3{ font-size:var(--step-1); margin-bottom:8px; }
.how-card p{ font-size:var(--step--1); color:var(--ink-soft); line-height:1.5; }

/* ---------- dealers ---------- */
.dealers{
  display:grid; grid-template-columns:1.4fr 1fr; gap:clamp(20px,3vw,40px); align-items:center;
  background:linear-gradient(135deg, var(--red) 0%, var(--red-deep) 100%);
  color:#fff; border-radius:calc(var(--radius) + 6px); padding:clamp(28px,4vw,52px); position:relative; overflow:hidden;
}
.dealers::after{ content:""; position:absolute; right:-60px; top:-60px; width:240px; height:240px; border-radius:50%; background:radial-gradient(circle,var(--gold) 0,transparent 70%); opacity:.3; }
.dealers h2{ color:#fff; font-size:var(--step-2); }
.dealers p{ margin-top:12px; color:#ffe3d8; font-size:var(--step-0); max-width:44ch; }
.d-cta{ display:flex; flex-direction:column; gap:12px; position:relative; z-index:1; }
.d-cta .btn-gold{ box-shadow:var(--shadow-md); }
.d-cta .btn-ghost{ --fg:#fff; border-color:rgba(255,255,255,.5); }
.d-cta .btn-ghost:hover{ --bg:rgba(255,255,255,.12); border-color:#fff; }

/* ---------- about ---------- */
.about-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(24px,4vw,56px); align-items:center; }
.about-mark{
  width:min(290px, 80%); aspect-ratio:1/1; border-radius:50%; margin-inline:auto;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  text-align:center; color:var(--ink); position:relative;
  background:radial-gradient(circle at 38% 32%, var(--gold-bright), var(--gold) 56%, #d98a0e);
  box-shadow: inset 0 -18px 44px -22px rgba(150,80,5,.55), var(--shadow-lift);
}
.about-mark::before{ content:""; position:absolute; inset:11px; border-radius:50%; border:1.5px solid rgba(255,255,255,.45); }
.about-mark::after{ content:""; position:absolute; inset:-12px; border-radius:50%; border:2px dashed color-mix(in oklab,var(--gold) 55%,transparent); }
.about-mark .yr{ font-family:var(--font-display); font-size:clamp(3.2rem,7vw,4.6rem); line-height:.82; color:var(--ink); }
.about-mark .ce{ font-weight:800; letter-spacing:.14em; text-transform:uppercase; font-size:12px; color:var(--red-deep); }
.about-mark .est{ margin-top:3px; font-weight:600; letter-spacing:.04em; font-size:11px; color:#7c4b0f; }
.about h2{ font-size:var(--step-3); }
.about>p{ margin-top:16px; font-size:var(--step-1); color:var(--ink-soft); line-height:1.5; }
.facts{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:30px; }
.facts>div{ padding:16px 18px; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-sm); border-left:3px solid var(--gold); }
.facts b{ display:block; font-family:var(--font-display); font-size:var(--step-1); color:var(--ink); }
.facts span{ font-size:var(--step--1); color:var(--ink-soft); }

/* ---------- contact (dark) ---------- */
.contact{ background:
    radial-gradient(100% 90% at 100% 0%, #36251a 0%, transparent 55%),
    var(--dark); color:#eaddcb;
}
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,56px); align-items:center; }
.contact h2{ color:#fff; font-size:var(--step-3); }
.contact .sec-kicker{ color:var(--gold-bright); }
.contact>.wrap>div p,.contact-grid>div>p{ color:#cdbb9c; margin-top:14px; font-size:var(--step-1); line-height:1.5; }
.contact-cards{ display:flex; flex-direction:column; gap:12px; }
.cc{
  display:flex; align-items:center; gap:16px; padding:18px 20px; border-radius:var(--radius);
  background:linear-gradient(165deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid rgba(244,168,29,.24); transition:.18s;
}
a.cc:hover{ transform:translateY(-2px); border-color:var(--gold); background:rgba(255,255,255,.08); }
.cc-ic{ width:46px; height:46px; flex:0 0 auto; border-radius:12px; display:grid; place-items:center; background:var(--gold); }
.cc-ic svg{ width:24px; height:24px; fill:var(--ink); }
.cc>div{ display:flex; flex-direction:column; gap:3px; min-width:0; flex:1; }
.cc b{ color:#fff; font-weight:700; font-size:var(--step-0); line-height:1.2; }
.cc span{ font-size:var(--step--1); color:#b7a684; line-height:1.3; }

/* ---------- footer ---------- */
footer{ background:var(--ink); color:#cbb89c; padding-block:clamp(34px,5vw,56px); }
.foot-row{ display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; align-items:flex-start; }
.foot-brand .logo{ height:40px; }
/* dark-footer logo: light wordmark so SURYA reads on the dark background */
.foot-brand .lg-word{ fill:#f7ecd6; }
.foot-brand .lg-div{ fill:#e7a92a; }
.foot-note{ font-size:var(--step--1); color:#9c8a72; max-width:46ch; margin-top:12px; line-height:1.5; }
.foot-links{ display:flex; flex-wrap:wrap; gap:8px 10px; margin-top:14px; }
.foot-links a{ padding:8px 12px; border-radius:var(--pill); font-size:var(--step--1); font-weight:600; color:#cbb89c; }
.foot-links a:hover{ background:rgba(255,255,255,.06); color:#fff; }
.foot-bottom{ margin-top:28px; padding-top:20px; border-top:1px solid rgba(255,255,255,.08); font-size:var(--step--1); color:#8a7860; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }

/* ---------- sticky mobile WA bar ---------- */
.sticky-wa{
  position:fixed; left:0; right:0; bottom:0; z-index:300; display:none;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:color-mix(in oklab,var(--ivory) 92%,transparent); backdrop-filter:blur(10px);
  border-top:1px solid var(--line);
}
.sticky-wa .btn{ width:100%; }

/* ---------- reveals ---------- */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; transition:none; } }

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nav-links{ display:none; }
  .burger{ display:flex; }
  .nav .nav-right{ margin-left:auto; }
  .nav-links.open{
    display:flex; flex-direction:column; gap:2px; position:absolute; top:100%; left:0; right:0;
    background:var(--paper); border-bottom:1px solid var(--line); padding:10px var(--gut) 16px;
    box-shadow:var(--shadow-md);
  }
  .nav-links.open a{ padding:14px 12px; font-size:var(--step-0); border-radius:12px; }
  .nav-links.open .lang-menu{ display:inline-flex; margin:6px 0 4px 12px; }
}
@media (max-width:860px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-art{ order:-1; max-width:420px; margin-inline:auto; width:100%; }
  .about-grid{ grid-template-columns:1fr; }
  .about-mark{ width:min(230px, 62%); }
  .dealers{ grid-template-columns:1fr; }
  .contact-grid{ grid-template-columns:1fr; }
}
@media (max-width:680px){
  :root{ --gut:18px; }
  .hero-trust{ grid-template-columns:1fr 1fr; gap:18px 16px; }
  .cat-grid{ grid-template-columns:1fr 1fr; }
  .cat-card{ padding:18px 16px; min-height:150px; }
  .cat-card .ic{ width:32px; height:32px; }
  .cat-card h3{ font-size:var(--step-0); }
  .cat-card p{ display:none; }
  .prod-grid{ grid-template-columns:1fr 1fr; gap:10px; }
  .prod-body{ padding:11px 12px 12px; gap:4px; }
  .prod-body h3{ font-size:var(--step--1); line-height:1.2; }
  .prod .spec{ font-size:11px; line-height:1.35; }
  .prod .enquire{ padding-top:10px; font-size:11px; }
  .prod .enquire .wa-ico{ width:16px; height:16px; }
  .facts{ grid-template-columns:1fr; }
  .foot-bottom{ flex-direction:column; gap:6px; }
  body{ padding-bottom:74px; }   /* room for sticky bar */
  .sticky-wa{ display:block; }
  /* compact top bar: keep logo + language toggle + WhatsApp + menu all visible */
  .nav{ gap:9px; min-height:58px; }
  .nav-right{ gap:8px; }
  .brand .logo{ height:34px; }
  .lang-bar{ display:inline-flex; }
  .lang-bar button{ padding:6px 9px; font-size:11px; }
  .nav-links.open .lang-menu{ display:none; }
  /* header enquire becomes a compact WhatsApp icon button on phones */
  header .nav-right .btn-primary{ width:44px; min-width:44px; padding:0; min-height:44px; }
  header .nav-right .btn-primary span{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
  header .nav-right .btn-primary .wa-ico{ width:20px; height:20px; }
}
@media (max-width:420px){
  .hero h1{ font-size:clamp(2.3rem,11vw,3rem); }
}

/* desktop nicety: nav-right ordering */
@media (min-width:1081px){ .nav-right .burger{ display:none; } }

/* ============================================================
   Hardening & accessibility additions (post-audit)
   ============================================================ */
.skip-link{ position:absolute; left:8px; top:-48px; z-index:2000; background:var(--red); color:#fff;
  padding:10px 16px; border-radius:0 0 10px 10px; font-weight:700; text-decoration:none; transition:top .18s ease; }
.skip-link:focus{ top:0; }

/* visible keyboard focus for all interactive elements */
a:focus-visible, button:focus-visible, .chip:focus-visible, [tabindex]:focus-visible{
  outline:3px solid var(--red); outline-offset:3px; }
/* product card clips its thumb, so use a ring shadow instead of an outline */
a.prod:focus-visible{ outline:none; box-shadow:0 0 0 3px var(--ivory), 0 0 0 6px var(--red); }

/* raise the product category label contrast (was light gold on paper) */
.prod-cat{ color:#8a5a07; }

/* WCAG tap target: enlarge the language toggle buttons on touch/phones */
@media (max-width:680px){
  .lang button{ min-height:44px; min-width:44px; }
}

/* print: drop interactive chrome and heavy art, keep the content legible */
@media print{
  header, .sticky-wa, .burger, .nav-links, .lang, .marquee, #filters, #catMore, .hero-art{ display:none !important; }
  .prod-thumb{ display:none !important; }
  body{ color:#000; background:#fff; }
  a[href^="http"]::after{ content:""; }
}

/* ============================================================
   SEO category landing pages
   ============================================================ */
.crumb{ padding:16px 0 0; font-size:14px; color:var(--ink-soft); }
.crumb a{ color:var(--red); text-decoration:none; font-weight:600; }
.crumb span{ margin:0 7px; opacity:.5; }
.cat-hero{ padding-bottom:30px; }
.cat-hero h1{ font-family:'Young Serif',serif; font-size:clamp(1.9rem,5vw,3rem); color:var(--ink); line-height:1.07; margin:14px 0 18px; max-width:22ch; }
.cat-intro{ max-width:72ch; color:var(--ink-soft); font-size:1.06rem; margin-bottom:24px; }
.cat-intro p{ margin:0 0 12px; } .cat-intro ul{ margin:0 0 14px 20px; } .cat-intro li{ margin:5px 0; }
.cat-body{ padding-top:0; }
.cat-body h2{ font-family:'Young Serif',serif; color:var(--ink); font-size:clamp(1.4rem,3vw,2rem); margin:0 0 12px; }
.cat-body p{ color:var(--ink-soft); max-width:74ch; margin:0 0 12px; } .cat-body ul{ color:var(--ink-soft); max-width:74ch; margin:0 0 14px 20px; } .cat-body li{ margin:5px 0; }
.faq-block{ background:var(--ivory-2); }
.faq-item{ max-width:82ch; margin:0 0 18px; border-bottom:1px solid var(--line); padding-bottom:16px; }
.faq-item h3{ font-size:1.12rem; color:var(--ink); margin:0 0 6px; }
.faq-item p{ color:var(--ink-soft); margin:0; }
.other-cats{ line-height:2.1; color:var(--ink-soft); max-width:80ch; }
.other-cats a{ color:var(--red); text-decoration:none; font-weight:600; }
.other-cats a:hover{ text-decoration:underline; }
.site-foot{ background:var(--dark); color:#cdbfa8; padding:48px 0 40px; }
.site-foot .foot-brand{ font-family:'Baloo 2',sans-serif; font-weight:800; color:#fff; font-size:1.35rem; letter-spacing:1px; }
.site-foot p{ color:#b6a890; max-width:72ch; margin:10px 0; }
.site-foot a{ color:var(--gold); text-decoration:none; }
.foot-cats{ list-style:none; padding:0; margin:18px 0; display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:6px 18px; }
.foot-cats a{ color:#cdbfa8; font-size:14px; }
.foot-cats a:hover{ color:#fff; }
.foot-contact{ font-size:14px; }

/* homepage "browse by category" links (light background) */
.home-cats a{ color:var(--red); font-weight:600; font-size:15px; }
.home-cats a:hover{ color:var(--red-deep); text-decoration:underline; }

/* ---- QC fixes: category-page header overflow + touch spacing ---- */
.nav-right .btn{ flex:0 0 auto; }
@media (max-width:680px){
  /* category-page header: drop the secondary "All products" button, keep logo + Enquire */
  header .nav-right .btn-ghost{ display:none; }
  header .nav-right .btn-primary.btn-sm{ padding:0 14px; }
}
.other-cats a{ display:inline-block; padding:4px 2px; }
.foot-cats{ gap:12px 18px; }
.foot-cats a{ display:inline-block; padding:6px 0; }

/* =====================================================================
   Category-page polish (raise to homepage visual quality)
   ===================================================================== */

/* breadcrumb */
.crumb{ padding:14px 0 0; font-size:13px; font-weight:600; letter-spacing:.01em; color:var(--ink-soft); }
.crumb a{ color:var(--red); }
.crumb a:hover{ text-decoration:underline; }
.crumb span{ margin:0 8px; opacity:.45; }

/* hero / intro with a soft sun motif */
.cat-hero{ position:relative; overflow:clip; padding-top:10px; padding-bottom:clamp(28px,4vw,44px);
  background:linear-gradient(180deg, var(--ivory) 0%, #fbf1de 100%); }
.cat-hero::before{ content:""; position:absolute; top:-130px; right:-90px; width:clamp(300px,42vw,460px); height:clamp(300px,42vw,460px);
  border-radius:50%; background:radial-gradient(circle at 50% 50%, rgba(255,194,51,.45), rgba(244,168,29,0) 70%); pointer-events:none; }
.cat-hero .wrap{ position:relative; z-index:1; }
.cat-hero h1{ font-family:var(--font-display); font-weight:400; font-size:clamp(2rem,2.4vw + 1.3rem,3.2rem);
  color:var(--ink); line-height:1.06; letter-spacing:-.015em; margin:16px 0 18px; max-width:20ch; }
.cat-hero h1::after{ content:""; display:block; width:54px; height:4px; margin-top:18px; border-radius:3px;
  background:linear-gradient(90deg, var(--red), var(--gold)); }
.cat-intro{ max-width:70ch; color:var(--ink-soft); font-size:var(--step-0); line-height:1.6; margin-bottom:26px; }
.cat-intro p{ margin:0 0 12px; } .cat-intro ul{ margin:0 0 14px; padding-left:0; list-style:none; }
.cat-intro li{ margin:8px 0; padding-left:26px; position:relative; }
.cat-intro li::before{ content:""; position:absolute; left:2px; top:.55em; width:9px; height:9px; border-radius:50%;
  background:radial-gradient(circle at 40% 35%, var(--gold-bright), var(--gold)); box-shadow:0 0 0 3px color-mix(in oklab,var(--gold) 20%,transparent); }
.cat-intro strong{ color:var(--ink-2); }

/* buying guide block */
.cat-body{ padding-top:0; }
.cat-body h2{ font-family:var(--font-display); font-weight:400; color:var(--ink); font-size:var(--step-2); margin:0 0 14px; }
.cat-body p{ color:var(--ink-soft); max-width:74ch; margin:0 0 12px; line-height:1.6; }
.cat-body ul{ color:var(--ink-soft); max-width:74ch; margin:0 0 14px; padding-left:0; list-style:none; }
.cat-body li{ margin:9px 0; padding-left:26px; position:relative; }
.cat-body li::before{ content:""; position:absolute; left:3px; top:.5em; width:8px; height:8px; border-radius:2px; background:var(--gold); }
.cat-body strong{ color:var(--ink-2); }

/* FAQ as a CSS-only accordion (answers stay in the HTML for SEO) */
.faq-block{ background:var(--ivory-2); }
.faq-list{ max-width:82ch; }
details.faq-item{ max-width:82ch; margin:0; border-bottom:1px solid var(--line); padding:0; }
details.faq-item > summary{ list-style:none; cursor:pointer; display:flex; align-items:flex-start; gap:14px;
  padding:18px 2px; font-family:var(--font-body); font-weight:700; font-size:var(--step-0); color:var(--ink);
  line-height:1.35; -webkit-tap-highlight-color:transparent; }
details.faq-item > summary::-webkit-details-marker{ display:none; }
details.faq-item > summary::after{ content:""; flex:0 0 auto; width:22px; height:22px; margin-left:auto; position:relative;
  border-radius:50%; background:color-mix(in oklab,var(--gold) 22%,var(--paper)); border:1.5px solid color-mix(in oklab,var(--gold) 50%,transparent); transition:transform .22s ease; }
details.faq-item > summary::before{ content:""; position:absolute; right:11px; top:29px; width:10px; height:10px;
  background:
    linear-gradient(var(--red-deep),var(--red-deep)) center/10px 2px no-repeat,
    linear-gradient(var(--red-deep),var(--red-deep)) center/2px 10px no-repeat;
  transition:transform .22s ease, opacity .22s ease; pointer-events:none; }
details.faq-item[open] > summary::before{ transform:rotate(90deg); opacity:0; }
details.faq-item > summary:hover{ color:var(--red); }
.faq-a{ padding:0 2px 20px; }
.faq-a p{ color:var(--ink-soft); margin:0 0 10px; max-width:74ch; line-height:1.6; }
details.faq-item > summary:focus-visible{ outline:3px solid var(--red); outline-offset:2px; border-radius:6px; }

/* related categories as chips (the " · " separators collapse via font-size:0) */
.other-cats{ font-size:0; display:flex; flex-wrap:wrap; gap:10px; max-width:none; line-height:normal; }
.other-cats a{ font-size:13.5px; font-weight:600; display:inline-flex; align-items:center; padding:9px 15px;
  border:1.5px solid var(--line); border-radius:var(--pill); background:var(--paper); color:var(--ink-2);
  text-decoration:none; box-shadow:var(--shadow-sm); transition:.16s; }
.other-cats a:hover{ border-color:color-mix(in oklab,var(--gold) 55%,var(--line)); color:var(--red); transform:translateY(-2px); text-decoration:none; }

/* category-page footer reuses the homepage dark footer; add the category-link grid */
footer .foot-cat-nav{ margin-top:26px; padding-top:22px; border-top:1px solid rgba(255,255,255,.08); }
footer .foot-cat-title{ display:block; font-weight:800; letter-spacing:.14em; text-transform:uppercase; font-size:12px; color:var(--gold); margin-bottom:12px; }
footer .foot-cats{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:7px 20px; }
footer .foot-cats a{ color:#cbb89c; font-size:14px; display:inline-block; padding:8px 0; text-decoration:none; }
footer .foot-cats a:hover{ color:#fff; }

/* homepage "Browse by category" as a card grid (crawlable links kept) */
.home-cats{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(252px,1fr)); gap:12px; }
.home-cats li{ margin:0; }
.home-cats a{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px;
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-sm); color:var(--ink-2);
  font-weight:600; font-size:15px; line-height:1.3; box-shadow:var(--shadow-sm); transition:.18s; text-decoration:none; }
.home-cats a::after{ content:"→"; color:var(--red); font-weight:800; transition:transform .18s; }
.home-cats a:hover{ border-color:color-mix(in oklab,var(--gold) 55%,var(--line)); transform:translateY(-3px); box-shadow:var(--shadow-lift); color:var(--red); text-decoration:none; }
.home-cats a:hover::after{ transform:translateX(4px); }

@media (max-width:680px){
  .other-cats a{ font-size:13px; padding:8px 13px; }
  .home-cats{ grid-template-columns:1fr; }
}
