/* Bambhole — bright sky-and-ice divine theme; deep midnight only behind Shiva (hero) and in the footer. Mobile-first. */
:root{
  /* light ground (most of the site) */
  --bg:#F4F9FD; --bg2:#FFFFFF; --bg3:#E3F1FB; --img-bg:#EAF3F9;
  --line:rgba(2,110,170,.13); --line2:rgba(2,120,190,.28);
  --head:#06233A; --text:#14303F; --muted:#3F5A6A; --dim:#566F7E;
  --link:#0270A6; --accent-text:#0270A6; --focus:#0270A6;
  --blue:#0297DE; --blue2:#36B6F2; --ice:#BFE7FB; --orange:#FC734D; --orange2:#FF8C6A; --ink:#1B0904;
  --r:18px; --r2:28px;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:min(1180px,100% - 32px);
  color-scheme:light;
}
/* deep midnight scope: the Shiva scene, the category orbit and the footer */
.hero,.hero-scene,.orbit-sec,.ftr{
  --bg:#031428; --bg2:#06192F; --bg3:#0A2038; --img-bg:#0b1a2a;
  --line:rgba(127,208,247,.14); --line2:rgba(127,208,247,.28);
  --head:#FFFFFF; --text:#EAF4FB; --muted:#A9BFCD; --dim:#8DA3B2;
  --link:#BFE7FB; --accent-text:#36B6F2; --focus:#FC734D;
  color-scheme:dark; color:var(--text);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#E2F1FC 0,var(--bg) 560px) no-repeat,var(--bg);color:var(--text);font:400 16px/1.65 var(--sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-decoration-color:color-mix(in srgb,var(--link) 40%,transparent);text-underline-offset:3px}
a:hover{color:var(--head)}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1;letter-spacing:.005em;margin:0 0 .5em;color:var(--head)}
h1{font-size:clamp(2.3rem,6.2vw,4.4rem)}
h2{font-size:clamp(1.8rem,4vw,2.8rem)}
h3{font-size:1.35rem}
p{margin:0 0 1em}
.wrap{width:var(--wrap);margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:var(--orange);color:var(--ink);padding:8px 14px;border-radius:8px;z-index:99}
.skip:focus{left:8px}
.eyebrow{font:600 .74rem/1.3 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-text);margin:0 0 14px}
.muted{color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Header */
.hdr{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:64px;gap:20px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--head)}
.brand img{height:38px;width:auto}
.wordmark{font:600 1.55rem/1 var(--serif);letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.wordmark svg{width:22px;height:30px;color:var(--blue);filter:drop-shadow(0 0 8px rgba(2,151,222,.45))}
.nav{display:none;gap:26px}
.nav a{color:var(--muted);text-decoration:none;font-weight:500;font-size:.93rem}
.nav a:hover,.nav a[aria-current]{color:var(--head)}
.mnav summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line2);border-radius:12px;color:var(--head)}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary svg{width:20px;height:20px}
.mnav-panel{position:absolute;left:0;right:0;top:64px;background:var(--bg2);border-bottom:1px solid var(--line);padding:18px 16px 26px;max-height:calc(100vh - 64px);overflow:auto}
.mnav-panel a{display:block;padding:11px 4px;color:var(--text);text-decoration:none;border-bottom:1px solid var(--line);font-weight:500}
.mnav-panel .sub{padding-left:18px;color:var(--muted);font-weight:400}
@media(min-width:1000px){.nav{display:flex}.mnav{display:none}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;border-radius:999px;font:700 .95rem/1 var(--sans);letter-spacing:.02em;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s,background-color .2s,border-color .2s}
.btn-primary{background:var(--orange);color:var(--ink);box-shadow:0 10px 26px -12px rgba(252,115,77,.75)}
.btn-primary:hover{background:var(--orange2);color:var(--ink);transform:translateY(-1px);box-shadow:0 14px 36px -10px rgba(252,115,77,.85)}
.btn-ghost{border-color:var(--line2);color:var(--head);background:rgba(255,255,255,.04)}
.btn-ghost:hover{border-color:var(--blue);background:rgba(2,151,222,.08);color:var(--head)}
.btn[aria-disabled=true]{background:#DCE6EE;color:var(--muted);box-shadow:none;pointer-events:none}

/* Starfield */
.cosmos{position:relative;isolation:isolate}
.cosmos::before{content:"";position:absolute;inset:0;z-index:-2;background:
 radial-gradient(1.2px 1.2px at 12% 18%,#fff8,transparent 60%),radial-gradient(1px 1px at 28% 72%,#fff6,transparent 60%),
 radial-gradient(1.4px 1.4px at 47% 12%,#bfe7fbaa,transparent 60%),radial-gradient(1px 1px at 63% 44%,#fff5,transparent 60%),
 radial-gradient(1.3px 1.3px at 81% 22%,#fff9,transparent 60%),radial-gradient(1px 1px at 91% 67%,#bfe7fb88,transparent 60%),
 radial-gradient(1px 1px at 7% 88%,#fff6,transparent 60%),radial-gradient(1.5px 1.5px at 38% 38%,#fff7,transparent 60%),
 radial-gradient(1px 1px at 72% 86%,#fff5,transparent 60%),radial-gradient(1.2px 1.2px at 55% 63%,#bfe7fb99,transparent 60%);
 background-size:420px 420px;opacity:.9}
.cosmos::after{content:"";position:absolute;inset:0;z-index:-3;background:
 radial-gradient(60% 50% at 70% 35%,rgba(2,151,222,.22),transparent 70%),
 radial-gradient(40% 40% at 15% 80%,rgba(54,182,242,.10),transparent 70%),
 radial-gradient(30% 30% at 85% 85%,rgba(252,115,77,.08),transparent 70%),var(--bg)}

/* Hero */
.hero{padding:34px 0 30px;overflow:hidden}
.hero-grid{display:grid;gap:18px;align-items:center}
.hero h1 em{font-style:italic;color:var(--ice);font-weight:500}
.hero-lede{font-size:1.06rem;color:var(--muted);max-width:34em}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 18px}
.hero-facts{display:flex;flex-wrap:wrap;gap:8px 18px;padding:0;margin:0;list-style:none;font-size:.86rem;color:var(--muted)}
.hero-facts li::before{content:"✦";color:var(--blue2);margin-right:7px;font-size:.75em}

.stage{--px:0;--py:0;position:relative;container-type:inline-size;width:min(100%,560px);aspect-ratio:1;margin:0 auto}
.layer{position:absolute;inset:0;transform:translate3d(calc(var(--px)*var(--d,0)*1px),calc(var(--py)*var(--d,0)*1px),0);transition:transform .5s cubic-bezier(.2,.7,.2,1);will-change:transform}
.aura{--d:-10;background:radial-gradient(closest-side,rgba(2,151,222,.55),rgba(2,151,222,.18) 55%,transparent 72%);filter:blur(6px);animation:breathe 7s ease-in-out infinite}
.rings{--d:-4;display:grid;place-items:center}
.rings svg{width:96%;height:96%;color:var(--blue2);opacity:.55;animation:spin 240s linear infinite}
.deity{--d:14;display:grid;place-items:end center}
.deity img,.deity .deity-fallback{height:96%;width:auto;max-width:none;object-fit:contain;
 -webkit-mask-image:radial-gradient(ellipse 48% 54% at 50% 46%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 48% 54% at 50% 46%,#000 58%,transparent 100%);
 filter:drop-shadow(0 0 40px rgba(2,151,222,.45))}
.deity.has-layer img{-webkit-mask-image:none;mask-image:none}
/* Shiva cut-out: the front depth layer, centred exactly in the stage (= centre of the orbit) */
.deity-fg{--d:22;display:grid;place-items:center;pointer-events:none}
.deity-fg img{height:94%;width:auto;max-width:none;filter:drop-shadow(0 0 26px rgba(2,151,222,.5))}
.deity-fallback{display:grid;place-items:center;color:var(--ice)}
.deity-fallback svg{width:46%;height:auto;filter:drop-shadow(0 0 26px rgba(2,151,222,.9))}
.sparks{--d:34;pointer-events:none;background:
 radial-gradient(2px 2px at 20% 30%,#bfe7fb,transparent 60%),radial-gradient(1.6px 1.6px at 78% 24%,#fff,transparent 60%),
 radial-gradient(2px 2px at 70% 74%,#fc734dcc,transparent 60%),radial-gradient(1.4px 1.4px at 30% 80%,#bfe7fb,transparent 60%);animation:twinkle 5s ease-in-out infinite}
@keyframes breathe{50%{opacity:.75;transform:translate3d(calc(var(--px)*-10px),calc(var(--py)*-10px),0) scale(1.05)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinr{to{transform:rotate(-360deg)}}
@keyframes twinkle{50%{opacity:.35}}

/* Category orbit — grid on mobile; on desktop ONE circle of evenly spaced circles that turns like a
   clock hand while each circle counter-turns, so pictures and labels always stay upright */
.orbit{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px 8px}
.orb-c{display:contents}
.orb a{display:flex;flex-direction:column;align-items:center;gap:7px;text-decoration:none;color:var(--text);text-align:center}
.orb .ring{position:relative;width:64px;height:64px;border-radius:50%;padding:3px;background:conic-gradient(from 200deg,var(--blue),var(--ice),var(--blue2),var(--orange),var(--blue));box-shadow:0 0 18px rgba(2,151,222,.55),0 0 2px #fff inset}
.orb .ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--bg2);border:2px solid var(--bg)}
.orb.small .ring{width:48px;height:48px;background:linear-gradient(160deg,var(--ice),var(--blue));box-shadow:0 0 12px rgba(54,182,242,.5)}
.orb .lbl{font:600 .7rem/1.2 var(--sans);letter-spacing:.04em;max-width:84px}
.orb.small .lbl{font-weight:500;color:var(--muted);font-size:.66rem}
.orb a:hover .ring{box-shadow:0 0 28px rgba(2,151,222,.9),0 0 2px #fff inset}
@media(max-width:899px){.stage{width:100%;aspect-ratio:auto;--sz:min(88vw,440px)}.stage>.layer:not(.orbit-wrap){left:50%;right:auto;width:var(--sz);height:var(--sz);margin-left:calc(var(--sz)/-2)}.orbit-wrap{position:relative;margin-top:calc(var(--sz) + 8px);transform:none}.orbit-wrap .orbit{grid-template-columns:repeat(5,1fr)}}
@media(min-width:900px){
  .hero{padding:44px 0 84px}
  .hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px}
  .stage{width:min(100%,620px,72vh)}
  .deity-fg img{height:64%}
  .orbit-wrap{position:absolute;inset:0;--d:6}
  /* the ring: one radius (--R) for every circle, centred on the stage centre */
  .orbit-wrap .orbit{--R:43%;position:absolute;inset:0;display:block;margin:0;animation:spin 180s linear infinite}
  .orbit-wrap .orbit::before{content:"";position:absolute;inset:calc(50% - var(--R));border-radius:50%;border:1px dashed rgba(127,208,247,.34);pointer-events:none}
  /* each li is a zero-size point ON the ring; --cx/--cy are cos/sin of its evenly spaced angle */
  .orbit-wrap .orb{--rs:clamp(62px,12cqw,86px);position:absolute;left:calc(50% + var(--cx) * var(--R));top:calc(50% + var(--cy) * var(--R));width:0;height:0}
  .orbit-wrap .orb.small{--rs:clamp(42px,8cqw,56px)}
  /* counter-rotation pivots on that exact point, so the circle's centre never leaves the ring */
  .orbit-wrap .orb-c{display:block;position:absolute;left:0;top:0;width:0;height:0;animation:spinr 180s linear infinite}
  .orbit-wrap .orb a{position:absolute;left:0;top:0;width:110px;margin-left:-55px;margin-top:calc(var(--rs) / -2)}
  .orbit-wrap .orb .ring{width:var(--rs);height:var(--rs)}
  .orbit-wrap .orb .lbl{font-size:.74rem;max-width:110px;text-shadow:0 1px 8px #000}
  .stage:hover .orbit,.stage:hover .orb-c,.orbit:focus-within,.orbit:focus-within .orb-c{animation-play-state:paused}
}
.is-static .layer,.is-static .orbit,.is-static .orb-c,.is-static .rings svg,.is-static .aura,.is-static .sparks{animation:none!important;transition:none!important}
.is-static .layer{transform:none}

/* ===== Section 1: full-screen living Shiva scene =====
   Layers (back → front): cosmos (slow drift) · aura (breathing halo) · Shiva cut-out (rim-lit) · mist · embers.
   JS sets --px/--py (mouse or gyroscope, -1..1) and --sy (px scrolled). Each layer moves by its own depth
   --d (tilt) and --k (scroll). Only transform and opacity animate. */
.hero-scene{position:relative;height:calc(100vh - 64px);height:calc(100svh - 64px);min-height:520px;overflow:hidden;background:#031428;isolation:isolate}
.scene{--px:0;--py:0;--sy:0;position:absolute;inset:0;animation:cine-in 2.8s cubic-bezier(.16,.7,.2,1) both}
.sl{position:absolute;inset:-4%;transform:translate3d(calc(var(--px) * var(--d,0) * 1px),calc(var(--py) * var(--d,0) * 1px + var(--sy) * var(--k,0) * 1px),0);transition:transform .6s cubic-bezier(.2,.7,.2,1);will-change:transform}
@keyframes cine-in{from{transform:scale(1.14);opacity:.2}to{transform:scale(1);opacity:1}}

.sl-cosmos{--d:-10;--k:.42}
.cosmos-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;animation:drift 48s ease-in-out infinite alternate}
.nebula,.starfield{position:absolute;inset:-12%}
.nebula{background:
  radial-gradient(38% 30% at 50% 34%,rgba(2,151,222,.42),transparent 70%),
  radial-gradient(30% 26% at 22% 70%,rgba(54,182,242,.18),transparent 70%),
  radial-gradient(28% 24% at 80% 64%,rgba(252,115,77,.16),transparent 70%),
  radial-gradient(60% 50% at 50% 110%,rgba(2,60,110,.6),transparent 70%),
  linear-gradient(180deg,#020B18,#031428 55%,#04182E);animation:drift 60s ease-in-out infinite alternate}
.starfield{background:
  radial-gradient(1.3px 1.3px at 12% 18%,#fff,transparent 60%),radial-gradient(1px 1px at 28% 72%,#ffffffb0,transparent 60%),
  radial-gradient(1.5px 1.5px at 47% 12%,#bfe7fb,transparent 60%),radial-gradient(1px 1px at 63% 44%,#ffffffa0,transparent 60%),
  radial-gradient(1.4px 1.4px at 81% 22%,#fff,transparent 60%),radial-gradient(1px 1px at 91% 67%,#bfe7fbc0,transparent 60%),
  radial-gradient(1px 1px at 7% 88%,#ffffffa0,transparent 60%),radial-gradient(1.6px 1.6px at 38% 38%,#fff,transparent 60%),
  radial-gradient(1px 1px at 72% 86%,#ffffff90,transparent 60%),radial-gradient(1.2px 1.2px at 55% 63%,#bfe7fb,transparent 60%);
  background-size:380px 380px;opacity:.85;animation:drift 90s linear infinite alternate}
.starfield.far{background-size:230px 230px;opacity:.45;animation-duration:140s;animation-direction:alternate-reverse}
@keyframes drift{from{transform:translate3d(-1.5%,-1%,0) scale(1.02)}to{transform:translate3d(1.5%,1%,0) scale(1.06)}}

.sl-aura{--d:6;--k:.22}
.halo{position:absolute;left:50%;top:34%;width:min(70vh,82vw);aspect-ratio:1;margin-left:calc(min(70vh,82vw) / -2);margin-top:calc(min(70vh,82vw) / -2);border-radius:50%;
  background:radial-gradient(closest-side,rgba(191,231,251,.55),rgba(2,151,222,.42) 38%,rgba(2,151,222,.12) 62%,transparent 74%);animation:breath 6.5s ease-in-out infinite}
.halo.outer{width:min(112vh,140vw);margin-left:calc(min(112vh,140vw) / -2);margin-top:calc(min(112vh,140vw) / -2);top:40%;
  background:radial-gradient(closest-side,transparent 40%,rgba(252,115,77,.16) 58%,rgba(252,115,77,.06) 70%,transparent 80%);animation-delay:-3.2s}
@keyframes breath{0%,100%{opacity:.7;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}

.sl-shiva{--d:22;--k:-.14}
.fig{position:absolute;left:50%;top:6%;height:98%;transform:translateX(-50%);animation:rise-in 2.2s cubic-bezier(.16,.7,.2,1) .15s both}
/* rim light lives on the wrapper (not the masked img) so the glow is never clipped to a rectangle */
.fig{filter:drop-shadow(0 0 1px rgba(191,231,251,.85)) drop-shadow(0 0 14px rgba(54,182,242,.55)) drop-shadow(0 0 46px rgba(252,115,77,.22))}
/* fade the legs into the mist so there is no hard bottom edge */
.fig img{display:block;height:100%;width:auto;max-width:none;-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 96%);mask-image:linear-gradient(180deg,#000 72%,transparent 96%)}
@keyframes rise-in{from{opacity:0;transform:translate(-50%,36px)}to{opacity:1;transform:translate(-50%,0)}}

.sl-mist{--d:12;--k:-.05;pointer-events:none;background:
  radial-gradient(70% 22% at 50% 100%,rgba(54,182,242,.26),transparent 72%),
  linear-gradient(180deg,transparent 62%,rgba(3,20,40,.75) 92%,#031428)}

.sl-embers{--d:34;--k:-.32;pointer-events:none}
.ember{position:absolute;left:var(--x);top:var(--y0);width:var(--sz);height:var(--sz);border-radius:50%;background:#DDF3FF;box-shadow:0 0 8px 2px rgba(54,182,242,.7);opacity:.55;
  animation:float-up var(--t) linear var(--dl) infinite}
.ember.warm{background:#FFD2C2;box-shadow:0 0 8px 2px rgba(252,115,77,.65)}
@keyframes float-up{0%{transform:translate3d(0,30vh,0);opacity:0}12%{opacity:.85}80%{opacity:.6}100%{transform:translate3d(var(--dx),-55vh,0);opacity:0}}

.scroll-cue{position:absolute;left:50%;bottom:18px;z-index:2;transform:translateX(-50%);display:grid;justify-items:center;gap:8px;color:rgba(234,244,251,.82);text-decoration:none;font:600 .7rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.scroll-cue i{width:1.5px;height:34px;background:linear-gradient(180deg,rgba(191,231,251,.9),transparent);transform-origin:top;animation:cue 2.2s ease-in-out infinite}
.scroll-cue:hover{color:#fff}
@keyframes cue{0%{transform:scaleY(0);opacity:0}40%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1) translateY(16px);opacity:0}}

@media(min-width:900px){.fig{top:5%;height:100%}}
@media(max-aspect-ratio:3/4){.fig{top:9%;height:86%}}

/* still version: reduced motion or slow phones */
.is-static .scene,.is-static .sl,.is-static .fig,.is-static .halo,.is-static .ember,.is-static .cosmos-art,.is-static .nebula,.is-static .starfield,.is-static .scroll-cue i{animation:none!important;transition:none!important}
.is-static .sl{transform:none}
.is-static .fig{transform:translateX(-50%)}
@media(prefers-reduced-motion:reduce){.sl{transform:none!important}.fig{transform:translateX(-50%)!important}.ember{opacity:.5}}

/* ===== Section 2: intro (the page's H1) ===== */
.intro-grid{display:grid;gap:8px}
.intro h1 em{font-style:italic;color:var(--link);font-weight:500}
.intro .hero-lede{color:var(--muted)}
@media(min-width:900px){.intro-grid{grid-template-columns:1.05fr .95fr;gap:64px;align-items:end}.intro h1{margin:0}}

/* ===== Section 3: category orbit around a glowing Trishul ===== */
.orbit-sec{position:relative;padding:56px 0 64px;overflow:hidden;background:#031428}
.emblem{--d:12;display:grid;place-items:center;pointer-events:none}
.trishul-emblem{height:52%;width:auto;filter:drop-shadow(0 0 2px rgba(255,255,255,.9)) drop-shadow(0 0 16px rgba(54,182,242,.85)) drop-shadow(0 0 44px rgba(2,151,222,.55));animation:emblem-glow 6.5s ease-in-out infinite}
@keyframes emblem-glow{0%,100%{opacity:.86}50%{opacity:1}}
@media(max-width:899px){.trishul-emblem{height:66%}}
@media(min-width:900px){.orbit-sec{padding:72px 0 96px}}
.is-static .trishul-emblem{animation:none}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Sections */
.sec{padding:64px 0}
.sec-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px 24px;margin-bottom:26px}
.sec-head h2{margin:0}
.sec-head p{margin:0;color:var(--muted);max-width:36em}
.band{background:linear-gradient(180deg,#DDEEFB,var(--bg) 85%);border-block:1px solid var(--line)}

.trust{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.trust div{background:var(--bg2);padding:18px 16px}
.trust b{display:block;font:600 1.2rem/1.2 var(--serif);color:var(--head);margin-bottom:4px}
.trust span{font-size:.84rem;color:var(--muted)}
@media(min-width:800px){.trust{grid-template-columns:repeat(4,1fr)}}

.pills{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.pills a{display:inline-flex;align-items:baseline;gap:6px;padding:9px 15px;border:1px solid var(--line2);border-radius:999px;color:var(--head);text-decoration:none;font-size:.88rem;font-weight:600;background:var(--bg2)}
.pills a small{color:var(--dim);font-weight:500}
.pills a:hover,.pills a[aria-current]{border-color:var(--blue);background:rgba(2,151,222,.12);color:var(--head)}

.cols{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}
@media(min-width:800px){.cols{grid-template-columns:repeat(3,1fr)}}
.tile{position:relative;display:block;border-radius:var(--r2);overflow:hidden;border:1px solid var(--line);background:var(--bg2);text-decoration:none;color:#fff;aspect-ratio:4/5}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8;transition:transform .6s,opacity .3s}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(2,7,10,.92))}
.tile div{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:16px}
.tile h3{margin:0 0 4px;font-size:1.3rem;color:#fff}
.tile span{font-size:.82rem;color:var(--ice)}
.tile:hover img{transform:scale(1.04);opacity:1}
@media(min-width:800px){.tile{aspect-ratio:5/4}}

/* Product grid & card */
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(min-width:700px){.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
@media(min-width:1050px){.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}}
.card{position:relative;border:1px solid var(--line);border-radius:var(--r);background:var(--bg2);overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}
.card:hover{border-color:var(--line2);transform:translateY(-2px);box-shadow:0 14px 30px -18px rgba(2,80,130,.35)}
.card a{display:block;text-decoration:none;color:inherit;height:100%}
.card-img{aspect-ratio:1;background:var(--img-bg)}
.card-img img{width:100%;height:100%;object-fit:cover}
.card-body{padding:12px 13px 15px}
.card-meta{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);margin:0 0 5px}
.card-title{font:600 1.05rem/1.25 var(--serif);color:var(--head);margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-price{font-weight:700;margin:0;color:var(--head)}
.card-price s{color:var(--dim);font-weight:400;margin-left:6px;font-size:.85em}
.badge{position:absolute;top:10px;left:10px;font:700 .64rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--accent-text);border:1px solid var(--line2);backdrop-filter:blur(6px)}
.badge.out{color:#B4401F;border-color:rgba(252,115,77,.5)}
@media(min-width:700px){.card-title{font-size:1.12rem}}

/* Filters */
.filters{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin:0 0 22px;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg2)}
.filters .q{grid-column:1/-1}
.filters input[type=search],.filters select{width:100%;min-height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--line2);background:var(--bg);color:var(--text);font:500 .9rem var(--sans)}
.filters label.chk{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--muted)}
.filters label.chk input{width:18px;height:18px;accent-color:var(--orange)}
.filters output{grid-column:1/-1;font-size:.85rem;color:var(--muted)}
@media(min-width:900px){.filters{grid-template-columns:2fr repeat(5,1fr);align-items:center}.filters .q{grid-column:auto}.filters output{grid-column:1/-1}}
.empty{padding:40px;text-align:center;color:var(--muted);border:1px dashed var(--line2);border-radius:var(--r)}

/* Page header & breadcrumbs */
.phead{padding:34px 0 18px}
.phead p.lede{color:var(--muted);max-width:44em;font-size:1.04rem}
.crumbs{font-size:.8rem;color:var(--dim);margin:0 0 16px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li:not(:last-child)::after{content:"›";margin-left:6px;color:var(--dim)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--head)}

/* Product page */
.pdp{display:grid;gap:26px;padding:8px 0 30px}
@media(min-width:900px){.pdp{grid-template-columns:1.05fr .95fr;gap:48px;align-items:start}.pinfo{position:sticky;top:84px}}
.g-main{border-radius:var(--r2);overflow:hidden;border:1px solid var(--line);background:var(--img-bg);aspect-ratio:1}
.g-main img{width:100%;height:100%;object-fit:cover}
.g-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto}
.g-thumbs button{flex:0 0 auto;width:72px;height:72px;padding:0;border-radius:12px;overflow:hidden;border:2px solid var(--line);background:none;cursor:pointer}
.g-thumbs button[aria-current=true]{border-color:var(--blue)}
.g-thumbs img{width:100%;height:100%;object-fit:cover}
.pinfo h1{font-size:clamp(2rem,4.4vw,3rem);margin-bottom:12px}
.price{font:700 1.7rem/1 var(--sans);margin:0 0 18px;color:var(--head)}
.price s{font-size:.6em;color:var(--dim);font-weight:500;margin-left:8px}
.price small{font-size:.5em;color:var(--muted);font-weight:500}
.vsel{display:grid;gap:6px;margin-bottom:16px}
.vsel label{font-size:.82rem;color:var(--muted);font-weight:600;letter-spacing:.04em}
.vsel select{min-height:48px;border-radius:12px;border:1px solid var(--line2);background:var(--bg2);color:var(--text);padding:0 12px;font:500 .95rem var(--sans)}
.btn-buy{width:100%;min-height:56px;font-size:1.05rem}
.checkout-note{font-size:.8rem;color:var(--dim);margin:10px 0 18px;text-align:center}
.assure{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:9px;font-size:.92rem}
.assure li{display:flex;gap:10px;align-items:flex-start}
.assure li::before{content:"";flex:0 0 18px;height:18px;margin-top:3px;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--blue) 0 30%,transparent 34%),rgba(2,151,222,.14);box-shadow:0 0 0 1px var(--line2)}
.certbox{border:1px solid var(--line2);border-radius:var(--r);padding:16px;background:radial-gradient(120% 100% at 0 0,rgba(2,151,222,.14),transparent 60%),var(--bg2);margin-bottom:14px}
.certbox .rn{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0 8px}
.certbox code{font:700 1.1rem/1 ui-monospace,Consolas,monospace;color:var(--head);letter-spacing:.04em}
.copy{border:1px solid var(--line2);background:var(--bg2);color:var(--link);border-radius:999px;padding:6px 12px;font:600 .75rem var(--sans);cursor:pointer}
.note{font-size:.82rem;color:var(--muted)}
.pdesc{max-width:760px}
.pdesc p{color:var(--text)}
.facts{width:100%;border-collapse:collapse;margin:6px 0 18px;font-size:.93rem}
.facts th,.facts td{padding:11px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.facts th{color:var(--muted);font-weight:500;width:42%}

/* Prose pages */
.prose{max-width:760px}
.prose h2{font-size:clamp(1.6rem,3.4vw,2.2rem);margin-top:1.6em}
.prose h3{margin-top:1.4em}
.prose li{margin-bottom:.45em}
.prose ul,.prose ol{padding-left:1.25em}
.prose p,.prose li{color:var(--text)}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:14px}
@media(min-width:800px){.steps{grid-template-columns:repeat(3,1fr)}}
.steps li{counter-increment:s;border:1px solid var(--line);border-radius:var(--r);padding:20px;background:var(--bg2)}
.steps li::before{content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;margin-bottom:12px;font:700 1rem var(--sans);color:var(--ink);background:var(--orange)}
.steps b{display:block;font:600 1.25rem/1.2 var(--serif);color:var(--head);margin-bottom:6px}
.steps span{color:var(--muted);font-size:.92rem}
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;padding:16px 34px 16px 0;position:relative;font:600 1.2rem/1.3 var(--serif);color:var(--head)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font:400 1.6rem/1 var(--sans);color:var(--blue)}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--text);margin:0 0 16px}
.split{display:grid;gap:30px}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr;gap:60px;align-items:center}}
.panel{border:1px solid var(--line);border-radius:var(--r2);padding:26px;background:radial-gradient(100% 120% at 100% 0,rgba(2,151,222,.16),transparent 60%),var(--bg2)}
.mail{font:600 clamp(1.5rem,4vw,2.3rem)/1.2 var(--serif);color:var(--head);word-break:break-word}

/* Footer */
.ftr{border-top:1px solid var(--line);padding:50px 0 30px;margin-top:40px;background:var(--bg2);font-size:.9rem}
.ftr-grid{display:grid;gap:28px;grid-template-columns:1fr 1fr}
.ftr-grid > div:first-child{grid-column:1/-1}
@media(min-width:900px){.ftr-grid{grid-template-columns:1.6fr 1fr 1fr 1fr}.ftr-grid > div:first-child{grid-column:auto}}
.ftr h2{font:700 .74rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-text);margin-bottom:14px}
.ftr ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.ftr a{color:var(--muted);text-decoration:none}
.ftr a:hover{color:var(--head)}
.ftr .about{color:var(--muted);max-width:30em}
.ftr-bottom{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);color:var(--dim);font-size:.8rem;display:grid;gap:6px}

/* Cookie notice */
.cookie{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;max-width:560px;margin-inline:auto;background:rgba(255,255,255,.98);border:1px solid var(--line2);border-radius:var(--r);padding:16px;box-shadow:0 20px 50px -20px rgba(2,50,90,.45);font-size:.88rem;color:var(--muted)}
.cookie p{margin:0 0 12px}
.cookie .row{display:flex;gap:10px}
.cookie .btn{min-height:42px;padding:0 18px;font-size:.85rem}

/* Locked logo lock-up: wordmark + small byline image aligned under the word (after the Trishul icon) */
.brand-lock{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.byline{display:block;height:auto;margin-left:32px;opacity:.95}
