*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#06060f;--s1:#0c0c1d;--s2:#101022;--s3:#14142a;
  --bdr:rgba(255,255,255,.07);--bdr2:rgba(255,255,255,.14);
  --txt:#eae6f5;--sub:#7874a2;--dim:#3e3b58;
  --r:14px;--r2:20px;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--txt);font-family:'Outfit',sans-serif;font-weight:300;overflow-x:hidden}
body::after{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.025;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}

/* ═══ PDF VIEWER MODAL ═══ */
#viewer{position:fixed;inset:0;z-index:8000;display:flex;align-items:center;justify-content:center;padding:1rem;pointer-events:none;opacity:0;transition:opacity .45s}
#viewer.open{pointer-events:all;opacity:1}
#v-veil{position:absolute;inset:0;background:rgba(3,3,12,.95);backdrop-filter:blur(28px)}
#v-shell{position:relative;z-index:1;width:min(1060px,97vw);height:min(91vh,840px);border-radius:var(--r2);overflow:hidden;background:var(--s2);border:1px solid rgba(255,255,255,.1);box-shadow:0 80px 160px rgba(0,0,0,.88);display:flex;flex-direction:column;transform:scale(.88) translateY(36px);transition:transform .5s cubic-bezier(.22,1,.36,1)}
#viewer.open #v-shell{transform:scale(1) translateY(0)}
#v-bar{display:flex;align-items:center;gap:.8rem;padding:.8rem 1.2rem;flex-shrink:0;background:var(--s3);border-bottom:1px solid var(--bdr)}
#v-ico{width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0;background:var(--s2);border:1px solid var(--bdr2)}
#v-ttl{font-family:'Playfair Display',serif;font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;opacity:.9}
#v-acts{display:flex;gap:.4rem;align-items:center;flex-shrink:0}
.vb{display:inline-flex;align-items:center;gap:.3rem;font-size:.62rem;font-family:'Outfit',sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .78rem;border-radius:50px;cursor:pointer;transition:all .22s;text-decoration:none;border:1px solid var(--bdr2);background:rgba(255,255,255,.04);color:var(--txt);white-space:nowrap}
.vb:hover{background:rgba(255,255,255,.11)}
.vb.acc{color:#05050f;font-weight:500;border:none}
.vb.acc:hover{filter:brightness(1.12);transform:translateY(-1px)}
.v-x{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid var(--bdr);color:var(--sub);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.72rem;transition:all .22s}
.v-x:hover{background:rgba(239,68,68,.18);border-color:rgba(239,68,68,.4);color:#fca5a5}
#v-prog{height:2px;width:0%;transition:width .28s;flex-shrink:0}
#v-body{flex:1;overflow:hidden}
#v-frame{width:100%;height:100%;border:none;display:block}
#v-fb{display:none;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;text-align:center;color:var(--sub);padding:2rem}
#v-fb .fi{font-size:2.2rem;opacity:.22}
#v-fb p{font-size:.78rem;line-height:1.7;max-width:240px}

/* ═══ HERO ═══ */
.hero{position:relative;padding:5rem 5vw 3.5rem;overflow:hidden}
.orbs{position:absolute;inset:0;pointer-events:none}
.orb{position:absolute;border-radius:50%;filter:blur(88px);animation:floatOrb 11s ease-in-out infinite}
.o1{width:520px;height:380px;top:-20%;left:-10%;background:radial-gradient(ellipse,rgba(120,80,210,.22),transparent 65%)}
.o2{width:400px;height:300px;top:10%;right:-8%;background:radial-gradient(ellipse,rgba(56,189,248,.14),transparent 65%);animation-delay:-4.5s}
.o3{width:320px;height:260px;bottom:-8%;left:38%;background:radial-gradient(ellipse,rgba(232,121,249,.1),transparent 65%);animation-delay:-8s}
.hgrid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(ellipse 95% 75% at center,black 25%,transparent 78%)}
.hero-in{position:relative;z-index:2;display:flex;align-items:center;gap:3.5rem;flex-wrap:wrap}
.hl{flex:1;min-width:280px}
.chip{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:50px;padding:.28rem .85rem .28rem .48rem;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sub);margin-bottom:1.3rem;opacity:0;animation:sIn .6s .15s forwards}
.chip .dot{width:5px;height:5px;border-radius:50%;background:#4ade80;box-shadow:0 0 6px #4ade80;animation:blink 2s ease-in-out infinite}
.hh1{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,5vw,4.4rem);font-weight:900;line-height:.98;margin-bottom:.85rem;opacity:0;animation:sIn .8s .28s forwards}
.hh1 .g1{background:linear-gradient(135deg,#a78bfa,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hh1 .g2{background:linear-gradient(135deg,#34d399,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hp{font-size:.84rem;line-height:1.8;color:var(--sub);max-width:390px;margin-bottom:1.7rem;opacity:0;animation:sIn .7s .46s forwards}
.hbtns{display:flex;gap:.65rem;flex-wrap:wrap;opacity:0;animation:sIn .6s .62s forwards}
.hbtn{display:inline-flex;align-items:center;gap:.38rem;font-family:'Outfit',sans-serif;font-size:.73rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.66rem 1.5rem;border-radius:50px;border:none;cursor:pointer;text-decoration:none;transition:all .3s}
.hbtn.s{background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff}.hbtn.s:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(124,58,237,.38)}
.hbtn.g{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--sub)}.hbtn.g:hover{background:rgba(255,255,255,.09);color:var(--txt);transform:translateY(-2px)}
.hr{flex-shrink:0;display:flex;flex-direction:column;gap:.6rem;opacity:0;animation:sIn .7s .72s forwards}
.sc{background:var(--s2);border:1px solid var(--bdr);border-radius:13px;padding:.8rem 1.2rem;min-width:138px;transition:all .3s}
.sc:hover{transform:translateY(-3px);border-color:var(--bdr2)}
.sc .n{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;line-height:1;display:block;margin-bottom:.2rem}
.sc .l{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sub)}

/* ═══ SEARCH ZONE ═══ */
.sz{background:var(--s1);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);padding:1.2rem 5vw}
.sz-row{display:flex;align-items:center;gap:.7rem;max-width:900px;margin:0 auto}
.si-wrap{position:relative;flex:1}
.si-wrap svg{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);width:14px;height:14px;fill:none;stroke:var(--dim);stroke-width:2;pointer-events:none}
#si{width:100%;background:var(--s2);border:1px solid var(--bdr);border-radius:10px;padding:.62rem .9rem .62rem 2.35rem;font-family:'Outfit',sans-serif;font-size:.8rem;color:var(--txt);outline:none;transition:all .26s}
#si::placeholder{color:var(--dim)}
#si:focus{border-color:rgba(167,139,250,.4);box-shadow:0 0 0 3px rgba(167,139,250,.1)}
#si-clear{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--dim);cursor:pointer;font-size:.68rem;display:none}
#si-clear.show{display:block}
#si-clear:hover{color:var(--txt)}
.vt{display:flex;gap:.28rem;background:var(--s2);border:1px solid var(--bdr);border-radius:9px;padding:.22rem}
.vtb{width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:.78rem;cursor:pointer;transition:all .22s;color:var(--dim)}
.vtb.on{background:rgba(255,255,255,.08);color:var(--txt)}
.ssort{background:var(--s2);border:1px solid var(--bdr);border-radius:9px;padding:.5rem .85rem;font-family:'Outfit',sans-serif;font-size:.72rem;color:var(--sub);outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;min-width:110px}
.ssort option{background:var(--s2)}

/* ═══ FILTER ROW ═══ */
.fr{display:flex;align-items:center;gap:.45rem;padding:.85rem 5vw;overflow-x:auto;scrollbar-width:none;background:var(--s1);border-bottom:1px solid var(--bdr)}
.fr::-webkit-scrollbar{display:none}
.ft{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;font-size:.65rem;letter-spacing:.09em;text-transform:uppercase;padding:.3rem .8rem;border-radius:8px;border:1px solid var(--bdr);background:transparent;color:var(--sub);cursor:pointer;transition:all .22s;user-select:none;white-space:nowrap}
.ft .fc{background:rgba(255,255,255,.06);border-radius:4px;padding:.04rem .3rem;font-size:.56rem}
.ft:hover{border-color:var(--bdr2);color:var(--txt)}
.ft.on{color:#05050f;font-weight:500;border-color:transparent}

/* ═══ SECTION HEAD ═══ */
.sh{display:flex;align-items:baseline;justify-content:space-between;padding:2rem 5vw .7rem;flex-wrap:wrap;gap:.4rem}
.sh h2{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700}
.sh h2 em{font-style:italic;font-weight:400;opacity:.55;font-size:.88rem}
.sh .sm{font-size:.62rem;color:var(--sub)}
.sh .sl{font-size:.62rem;color:var(--sub);text-decoration:none;border:1px solid var(--bdr);padding:.2rem .55rem;border-radius:6px;transition:all .22s;cursor:pointer}
.sh .sl:hover{color:var(--txt);border-color:var(--bdr2)}

/* ═══ TICKER ═══ */
.ticker{overflow:hidden;padding:.9rem 0;border-bottom:1px solid var(--bdr)}
.tt{display:flex;gap:2rem;width:max-content;animation:tickAnim 22s linear infinite}
.tt:hover{animation-play-state:paused}
.ti{font-family:'Playfair Display',serif;font-style:italic;font-size:.76rem;color:var(--dim);white-space:nowrap;display:flex;align-items:center;gap:2rem}
.ti::after{content:'◆';font-style:normal;font-size:.4rem;opacity:.38}

/* ═══ STATS ═══ */
.sstrip{display:flex;background:var(--s1);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);overflow-x:auto;scrollbar-width:none}
.sstrip::-webkit-scrollbar{display:none}
.ss{flex:1;min-width:110px;padding:1.1rem 1.3rem;text-align:center;border-right:1px solid var(--bdr);transition:background .25s}
.ss:last-child{border-right:none}
.ss:hover{background:var(--s2)}
.ss .n{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;display:block;line-height:1;margin-bottom:.25rem}
.ss .l{font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sub)}

/* ═══ FEATURED BANNER ═══ */
.fb{margin:1.6rem 5vw 0;border-radius:var(--r2);overflow:hidden;position:relative;height:220px;cursor:pointer;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.fb:hover{transform:scale(1.01)}
.fb img{width:100%;height:100%;object-fit:cover;filter:brightness(.5);transition:filter .5s,transform .75s cubic-bezier(.22,1,.36,1)}
.fb:hover img{filter:brightness(.65);transform:scale(1.04)}
.fb-ov{position:absolute;inset:0;background:linear-gradient(to right,rgba(6,6,15,.96) 0%,rgba(6,6,15,.55) 52%,transparent 85%)}
.fb-ct{position:absolute;inset:0;padding:2rem 2.6rem;display:flex;flex-direction:column;justify-content:center}
.fb-ey{font-size:.56rem;letter-spacing:.26em;text-transform:uppercase;color:#a78bfa;margin-bottom:.55rem;display:flex;align-items:center;gap:.45rem}
.fb-ey::before{content:'';width:18px;height:1px;background:#a78bfa}
.fb-h{font-family:'Playfair Display',serif;font-size:clamp(1.3rem,2.5vw,2rem);font-weight:700;line-height:1.1;margin-bottom:.45rem}
.fb-p{font-size:.76rem;color:rgba(255,255,255,.5);max-width:340px;line-height:1.65;margin-bottom:1.1rem}
.fb-bts{display:flex;gap:.65rem}
.fbt{display:inline-flex;align-items:center;gap:.32rem;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;padding:.46rem 1.1rem;border-radius:50px;border:none;cursor:pointer;transition:all .28s;font-family:'Outfit',sans-serif;font-weight:400}
.fbt.p{background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff}.fbt.p:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(124,58,237,.42)}
.fbt.q{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.65)}.fbt.q:hover{background:rgba(255,255,255,.12)}
.fb-bdg{position:absolute;top:1.1rem;right:1.3rem;background:rgba(8,8,20,.72);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:9px;padding:.45rem .75rem;text-align:center}
.fb-bdg .n{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:#a78bfa;display:block;line-height:1}
.fb-bdg .l{font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sub);margin-top:.1rem}

/* ═══════════════════════════════════════
   LANDSCAPE BROCHURE CARD
   Fixed height — image never stretches the card
═══════════════════════════════════════ */
.bc{
  display:flex;flex-direction:row;
  background:var(--s2);border:1px solid var(--bdr);
  border-radius:var(--r);overflow:hidden;
  cursor:pointer;position:relative;
  height:150px;          /* ← locked card height */
  min-height:0;
  transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s,border-color .38s;
}
.bc:hover{
  transform:translateY(-7px) scale(1.018);
  box-shadow:0 26px 64px rgba(0,0,0,.6);
  border-color:rgba(255,255,255,.13);
}

/* LEFT: image — fills fixed card height, crops to fit */
.bc-img{
  flex:0 0 148px;width:148px;
  height:100%;           /* fills the 150px card */
  position:relative;overflow:hidden;
}
.bc-img img{
  width:100%;height:100%;
  object-fit:cover;      /* crops without distorting */
  object-position:center;
  display:block;
  filter:brightness(.72) saturate(.85);
  transition:filter .5s,transform .75s cubic-bezier(.22,1,.36,1);
}
.bc:hover .bc-img img{filter:brightness(.9) saturate(1.05);transform:scale(1.07)}
/* left accent bar */
.bc-accent{position:absolute;top:0;left:0;bottom:0;width:3px;z-index:2}
/* category badge bottom-left of image */
.bc-cat{position:absolute;bottom:.55rem;left:.6rem;z-index:3;font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;padding:.18rem .52rem;border-radius:4px;backdrop-filter:blur(8px)}
/* image overlay fade */
.bc-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,transparent 60%,rgba(16,16,34,.85) 100%)}
/* new badge */
.bc-new{position:absolute;top:.55rem;left:.6rem;z-index:3;background:#4ade80;color:#052e16;font-size:.44rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.16rem .42rem;border-radius:3px}

/* RIGHT: info */
.bc-info{
  flex:1;min-width:0;padding:.85rem 1rem .85rem .9rem;
  display:flex;flex-direction:column;justify-content:space-between;
  overflow:hidden;       /* prevents info overflow from pushing height */
}
.bc-num{font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-bottom:.22rem}
.bc-title{
  font-family:'Playfair Display',serif;
  font-size:.88rem;font-weight:700;line-height:1.2;
  margin-bottom:.28rem;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.bc-desc{
  font-size:.64rem;color:var(--sub);line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  flex:1;margin-bottom:.5rem;
}
.bc-foot{display:flex;align-items:center;justify-content:space-between;gap:.4rem}
.bc-meta{display:flex;align-items:center;gap:.4rem}
.bc-year{font-size:.5rem;color:var(--dim)}
.bc-pages{font-size:.5rem;color:var(--dim);background:rgba(255,255,255,.05);border:1px solid var(--bdr);border-radius:4px;padding:.1rem .38rem}
.bc-actions{display:flex;gap:.28rem}
.bca{width:26px;height:26px;border-radius:7px;border:1px solid var(--bdr);background:rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center;font-size:.68rem;cursor:pointer;transition:all .22s;text-decoration:none;color:var(--txt)}
.bca:hover{background:rgba(255,255,255,.1);border-color:var(--bdr2);transform:translateY(-1px)}
/* hover overlay view pill */
.bc-vov{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .32s;pointer-events:none}
.bc:hover .bc-vov{opacity:1}
.bc-vpill{background:rgba(8,8,22,.78);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.18);border-radius:50px;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .75rem;color:rgba(255,255,255,.82);transform:translateY(5px);transition:transform .32s}
.bc:hover .bc-vpill{transform:translateY(0)}

/* ── 10 colour palettes applied to .bc ── */
.p0 .bc-accent{background:linear-gradient(to bottom,#7c3aed,#c084fc)}.p0 .bc-cat{background:rgba(124,58,237,.22);color:#c084fc;border:1px solid rgba(192,132,252,.22)}.p0 .bc-title{background:linear-gradient(135deg,#c084fc,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.p1 .bc-accent{background:linear-gradient(to bottom,#0369a1,#38bdf8)}.p1 .bc-cat{background:rgba(3,105,161,.22);color:#38bdf8;border:1px solid rgba(56,189,248,.22)}.p1 .bc-title{background:linear-gradient(135deg,#38bdf8,#7dd3fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.p2 .bc-accent{background:linear-gradient(to bottom,#065f46,#34d399)}.p2 .bc-cat{background:rgba(6,95,70,.22);color:#34d399;border:1px solid rgba(52,211,153,.22)}.p2 .bc-title{background:linear-gradient(135deg,#34d399,#6ee7b7);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.p3 .bc-accent{background:linear-gradient(to bottom,#92400e,#fbbf24)}.p3 .bc-cat{background:rgba(146,64,14,.22);color:#fbbf24;border:1px solid rgba(251,191,36,.22)}.p3 .bc-title{background:linear-gradient(135deg,#fbbf24,#fde68a);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.p4 .bc-accent{background:linear-gradient(to bottom,#881337,#fb7185)}.p4 .bc-cat{background:rgba(136,19,55,.22);color:#fb7185;border:1px solid rgba(251,113,133,.22)}.p4 .bc-title{background:linear-gradient(135deg,#fb7185,#fda4af);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.p5 .bc-accent{background:linear-gradient(to bottom,#6b21a8,#e879f9)}.p5 .bc-cat{background:rgba(107,33,168,.22);color:#e879f9;border:1px solid rgba(232,121,249,.22)}.p5 .bc-title{background:linear-gradient(135deg,#e879f9,#f0abfc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.p6 .bc-accent{background:linear-gradient(to bottom,#134e4a,#2dd4bf)}.p6 .bc-cat{background:rgba(19,78,74,.22);color:#2dd4bf;border:1px solid rgba(45,212,191,.22)}.p6 .bc-title{background:linear-gradient(135deg,#2dd4bf,#99f6e4);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.p7 .bc-accent{background:linear-gradient(to bottom,#9a3412,#fb923c)}.p7 .bc-cat{background:rgba(154,52,18,.22);color:#fb923c;border:1px solid rgba(251,146,60,.22)}.p7 .bc-title{background:linear-gradient(135deg,#fb923c,#fed7aa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.p8 .bc-accent{background:linear-gradient(to bottom,#1e40af,#60a5fa)}.p8 .bc-cat{background:rgba(30,64,175,.22);color:#60a5fa;border:1px solid rgba(96,165,250,.22)}.p8 .bc-title{background:linear-gradient(135deg,#60a5fa,#bfdbfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.p9 .bc-accent{background:linear-gradient(to bottom,#9d174d,#f472b6)}.p9 .bc-cat{background:rgba(157,23,77,.22);color:#f472b6;border:1px solid rgba(244,114,182,.22)}.p9 .bc-title{background:linear-gradient(135deg,#f472b6,#fbcfe8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}

/* ─── CAROUSEL SYSTEM ─── */
.car-sec{padding:0 0 .5rem;position:relative}
.car-head{display:flex;align-items:center;justify-content:space-between;padding:1.8rem 5vw .65rem;flex-wrap:wrap;gap:.5rem}
.car-head-left h2{font-family:'Playfair Display',serif;font-size:1.02rem;font-weight:700}
.car-head-left h2 em{font-style:italic;font-weight:400;opacity:.52;font-size:.88rem}
.car-head-left .car-sub{font-size:.6rem;color:var(--sub);letter-spacing:.08em;margin-top:.1rem}
.car-head-right{display:flex;align-items:center;gap:.6rem}
.car-arrows{display:flex;gap:.4rem}
.car-arr{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid var(--bdr2);color:var(--txt);font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;user-select:none}
.car-arr:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.25);transform:scale(1.08)}
.car-arr:active{transform:scale(.93)}
.car-arr.dis{opacity:.22;pointer-events:none}
.car-see-all{font-size:.62rem;color:var(--sub);border:1px solid var(--bdr);padding:.2rem .55rem;border-radius:6px;transition:all .22s;cursor:pointer;white-space:nowrap;text-decoration:none}
.car-see-all:hover{color:var(--txt);border-color:var(--bdr2)}
.car-viewport{overflow:hidden;position:relative;padding:0 5vw}
.car-track{display:flex;gap:1rem;will-change:transform;user-select:none;cursor:grab}
.car-track.sm{transition:transform .52s cubic-bezier(.22,1,.36,1)}
.car-track:active{cursor:grabbing}
.car-fade-r{position:absolute;right:0;top:0;bottom:0;width:80px;background:linear-gradient(to left,var(--bg),transparent);pointer-events:none;z-index:3}
.car-fade-l{position:absolute;left:0;top:0;bottom:0;width:80px;background:linear-gradient(to right,var(--bg),transparent);pointer-events:none;z-index:3;opacity:0;transition:opacity .3s}
.car-fade-l.show{opacity:1}
.car-track .bc{flex:0 0 336px}
.car-footer{display:flex;align-items:center;padding:.7rem 5vw 0;gap:.7rem;min-height:28px}
.car-dots{display:flex;gap:.36rem;align-items:center}
.car-dot{width:5px;height:5px;border-radius:50%;background:var(--dim);transition:all .32s;cursor:pointer}
.car-dot.on{background:var(--txt);width:15px;border-radius:3px}
.car-pbar{flex:1;max-width:180px;height:2px;background:rgba(255,255,255,.06);border-radius:1px;overflow:hidden}
.car-pfill{height:100%;border-radius:1px;transition:width .44s cubic-bezier(.22,1,.36,1)}
.car-timing{width:18px;height:18px;flex-shrink:0;position:relative}
.car-timing svg{width:100%;height:100%;transform:rotate(-90deg)}
.car-timing circle{fill:none;stroke:var(--bdr2);stroke-width:2}
.car-timing .tr{stroke:var(--sub);stroke-linecap:round;stroke-dasharray:0 100;transition:stroke-dasharray .1s linear}

/* ─── MAIN GRID ─── */
.pg{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;padding:.2rem 5vw 2rem}
.pg.lm{grid-template-columns:1fr}
.pg.lm .bc{max-width:100%}
.pg.lm .bc-img{flex:0 0 180px;width:180px}
.pg.lm .bc-title{font-size:1rem;-webkit-line-clamp:1}
.pg.lm .bc-desc{-webkit-line-clamp:1}

/* empty */
.emp{grid-column:1/-1;text-align:center;padding:4rem 2rem;color:var(--sub)}
.emp .ei{font-size:2.2rem;opacity:.22;display:block;margin-bottom:.7rem}

/* ─── SCROLL ANIMATIONS ─── */
.sa{opacity:0;transition:opacity .82s cubic-bezier(.22,1,.36,1),transform .82s cubic-bezier(.22,1,.36,1)}
.sa.up{transform:translateY(42px)}.sa.up.in{opacity:1;transform:none}
.sa.lft{transform:translateX(-48px)}.sa.lft.in{opacity:1;transform:none}
.sa.rgt{transform:translateX(48px)}.sa.rgt.in{opacity:1;transform:none}
.sa.sc{transform:scale(.8)}.sa.sc.in{opacity:1;transform:none}
.sa.rot{transform:rotate(-4deg) translateY(30px);transform-origin:bottom left}.sa.rot.in{opacity:1;transform:none}
.cw{overflow:hidden}.ci{display:block;transform:translateY(112%);transition:transform 1s cubic-bezier(.22,1,.36,1)}.cw.in .ci{transform:none}
.d1{transition-delay:.06s!important}.d2{transition-delay:.14s!important}.d3{transition-delay:.24s!important}
.d4{transition-delay:.36s!important}.d5{transition-delay:.5s!important}
.bc.sa{transition-delay:calc(var(--si,0)*42ms)!important}

/* ─── FOOTER ─── */
.foot{padding:1.8rem 5vw;border-top:1px solid var(--bdr);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.7rem}
.fl{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,#a78bfa,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.fc{font-size:.62rem;color:var(--dim)}

@keyframes sIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes floatOrb{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-22px) scale(1.05)}}
@keyframes tickAnim{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes blink{0%,100%{opacity:1;box-shadow:0 0 5px #4ade80}50%{opacity:.4;box-shadow:0 0 11px #4ade80}}

@media(max-width:700px){
  .hero-in{flex-direction:column;gap:1.8rem}
  .hr{flex-direction:row;width:100%}.sc{flex:1;min-width:90px}
  .pg{grid-template-columns:1fr}
  .hrow .bc{flex:0 0 280px}
  .bc-img{flex:0 0 110px;width:110px}
  .fb-bts{flex-direction:column;gap:.4rem}
}