:root{
  /* StallSpot brand — Single Source of Truth: Poppins · Cream #FFF4DF · Ink #141414 · Sunburst Yellow #FED003 · Spot Red #DE242C */
  --cream:#FFF4DF; --cream-deep:#FBE9C6; --yellow:#FED003; --yellow-soft:#FFE066;
  --red:#DE242C; --red-dark:#B81C23; --green:#24C462; --green-dark:#1AA351;
  --purple:#C9A9F5; --pink:#F5A9C6; --ink:#141414; --ink-soft:#4A4536;
  --paper:#FFFDF8; --line:#141414;
}
*{ box-sizing:border-box; margin:0; padding:0; }
[hidden]{ display:none !important; }
html{ scroll-behavior:smooth; }
body{ font-family:'Poppins',sans-serif; background:var(--cream); color:var(--ink); overflow-x:hidden; -webkit-font-smoothing:antialiased; }
::selection{ background:var(--yellow); color:var(--ink); }
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
.wrap{ max-width:1240px; margin:0 auto; padding:0 32px; }

/* Buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:'Poppins',sans-serif; font-weight:700; font-size:14px; letter-spacing:.03em; text-transform:uppercase; padding:16px 28px; border-radius:999px; border:2.5px solid var(--line); cursor:pointer; transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease,background .18s ease; box-shadow:4px 4px 0 var(--line); white-space:nowrap; background:var(--paper); color:var(--ink); }
.btn:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--line); }
.btn:active{ transform:translate(1px,1px); box-shadow:2px 2px 0 var(--line); }
.btn-red{ background:var(--red); color:#fff; } .btn-red:hover{ background:var(--red-dark); }
.btn-ghost{ background:var(--paper); }
.btn-green{ background:var(--green); color:#fff; } .btn-green:hover{ background:var(--green-dark); }
.btn-sm{ padding:11px 18px; font-size:12.5px; }
.btn svg{ width:16px; height:16px; }

/* Nav */
header{ position:sticky; top:0; z-index:100; background:rgba(253,243,225,.86); backdrop-filter:blur(10px); border-bottom:2.5px solid transparent; transition:.25s ease; }
header.scrolled{ border-color:var(--line); box-shadow:0 4px 0 rgba(23,20,15,.06); background:rgba(253,243,225,.97); }
nav.wrap{ display:flex; align-items:center; justify-content:space-between; height:84px; }
.logo{ display:flex; align-items:center; gap:10px; font-weight:800; font-size:20px; }
.logo-mark{ width:38px; height:38px; background:var(--yellow); border:2.5px solid var(--line); border-radius:11px; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:19px; transition:transform .3s cubic-bezier(.34,1.56,.64,1); }
.logo:hover .logo-mark{ transform:rotate(-10deg) scale(1.06); }
.logo-img{ height:34px; width:auto; display:block; transition:transform .3s cubic-bezier(.34,1.56,.64,1); }
.logo:hover .logo-img{ transform:scale(1.04); }
.nav-links{ display:flex; align-items:center; gap:38px; font-weight:600; font-size:14px; }
.nav-links a{ position:relative; padding:4px 0; color:var(--ink-soft); transition:color .2s ease; }
.nav-links a::after{ content:''; position:absolute; left:0; bottom:-2px; width:0; height:2.5px; background:var(--ink); transition:width .25s ease; }
.nav-links a:hover{ color:var(--ink); } .nav-links a:hover::after{ width:100%; }
.nav-right{ display:flex; align-items:center; gap:14px; }
.lang-switch{ position:relative; }
.lang-btn{ display:inline-flex; align-items:center; gap:6px; background:var(--paper); border:2px solid var(--line); border-radius:999px; padding:7px 12px; font-weight:700; font-size:13px; font-family:'Poppins',sans-serif; color:var(--ink); cursor:pointer; white-space:nowrap; }
.lang-btn:hover{ background:var(--cream-deep,#F7ECD6); }
.lang-caret{ font-size:10px; opacity:.6; }
.lang-menu{ position:absolute; top:calc(100% + 8px); right:0; background:#fff; border:2px solid var(--line); border-radius:14px; box-shadow:5px 5px 0 rgba(23,20,15,.15); padding:6px; min-width:180px; z-index:250; max-height:340px; overflow-y:auto; }
.lang-opt{ display:block; width:100%; text-align:left; background:none; border:none; padding:9px 12px; border-radius:9px; font-size:14.5px; font-weight:600; font-family:'Poppins',sans-serif; color:var(--ink); cursor:pointer; }
.lang-opt:hover{ background:var(--bg,#FDF1DA); }
.lang-opt.soon{ color:#a89e8a; cursor:default; font-weight:500; }
.lang-opt.soon:hover{ background:none; }
.nav-hi{ font-weight:700; font-size:14px; color:var(--ink); text-decoration:none; display:inline-flex; align-items:center; white-space:nowrap; }
.nav-hi:hover{ color:var(--red); }
.nav-hi b{ color:var(--red); margin-left:4px; }
/* Profile dropdown (logged-in account cluster) */
.prof-nav{ position:relative; }
.prof-nav-btn{ display:inline-flex; align-items:center; gap:7px; border:2px solid var(--line); background:var(--paper); border-radius:999px; padding:7px 14px; font-family:'Poppins',sans-serif; font-weight:700; font-size:14px; color:var(--ink); cursor:pointer; white-space:nowrap; box-shadow:2px 2px 0 var(--line); transition:transform .1s ease, box-shadow .1s ease; }
.prof-nav-btn:hover{ transform:translate(-1px,-1px); box-shadow:3px 3px 0 var(--line); }
.prof-nav-btn b{ color:var(--red); }
.prof-nav-btn .caret{ font-size:11px; color:var(--ink-soft); }
.prof-nav-menu{ position:absolute; top:calc(100% + 10px); right:0; min-width:200px; background:var(--paper); border:2.5px solid var(--line); border-radius:16px; box-shadow:5px 5px 0 var(--line); padding:7px; z-index:120; }
.prof-nav-menu a, .prof-nav-menu button{ display:block; width:100%; text-align:left; padding:10px 13px; border-radius:11px; font-family:'Poppins',sans-serif; font-weight:600; font-size:14px; color:var(--ink); background:none; border:none; cursor:pointer; }
.prof-nav-menu a:hover, .prof-nav-menu button:hover{ background:var(--cream-deep,#F3EAD6); }
.prof-nav-sep{ height:2px; background:var(--line); margin:6px 6px; border-radius:2px; opacity:.45; }
.prof-nav-menu [data-logout]{ color:var(--red-dark); font-weight:800; }

/* Hero */
.hero-section{ padding:28px 0 70px; }
.hero{ background:var(--yellow); border:3px solid var(--line); border-radius:34px; padding:64px 56px; display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center; position:relative; overflow:hidden; box-shadow:8px 8px 0 rgba(23,20,15,.12); }
.hero::before{ content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(23,20,15,.06) 1.6px,transparent 1.6px); background-size:22px 22px; opacity:.5; pointer-events:none; }
.badge{ display:inline-flex; align-items:center; gap:8px; background:var(--paper); border:2px solid var(--line); border-radius:999px; padding:8px 16px; font-weight:700; font-size:12px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:22px; }
.badge .dot{ font-size:14px; }
.hero h1{ font-size:58px; line-height:1.03; font-weight:800; letter-spacing:-.02em; margin-bottom:22px; }
.hero h1 .line{ display:block; }
.hero p{ font-size:16.5px; line-height:1.6; color:var(--ink); max-width:440px; margin-bottom:30px; font-weight:500; }
.hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:22px; }
.hero-foot-link{ display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:13.5px; text-decoration:underline; text-underline-offset:3px; color:var(--ink); }
.hero-foot-link .arrow{ transition:transform .2s ease; display:inline-block; }
.hero-foot-link:hover .arrow{ transform:translateX(5px); }

/* collage */
.collage{ display:grid; grid-template-columns:1fr 1fr; gap:16px; position:relative; }
.tile{ border-radius:20px; border:3px solid var(--line); overflow:hidden; position:relative; aspect-ratio:1/1; transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease; box-shadow:5px 5px 0 rgba(23,20,15,.18); }
.tile:hover{ transform:translateY(-6px) rotate(-1.5deg); box-shadow:8px 10px 0 rgba(23,20,15,.22); }
.tile:nth-child(2):hover,.tile:nth-child(3):hover{ transform:translateY(-6px) rotate(1.5deg); }
.tile-photo{ width:100%; height:100%; background-size:cover; background-position:center; position:relative; }
/* Photo tiles: image layer on top, gradient shows if the image is missing. */
.t1{ background-image:url('images/hero-1.jpg'), linear-gradient(135deg,#E8B7DE,#F4C979 60%,#EFA35A); }
.t2{ background-image:url('images/hero-2.jpg'), linear-gradient(135deg,#8C6A4E,#C79A6D 55%,#EAD3A8); }
.t4{ background-image:url('images/hero-3.jpg'), linear-gradient(160deg,#3E5B4C,#1D2F27 70%); }
.event-photo{ height:300px; border:3px solid var(--line); border-radius:24px; margin:24px 0; background-image:url('images/event.jpg'), linear-gradient(135deg,#EAD9BE,#DFC9A0); background-size:cover; background-position:center; box-shadow:6px 6px 0 rgba(23,20,15,.12); }
.listing-photo.has-event{ background-image:url('images/event.jpg'), linear-gradient(135deg,#EAD9BE,#DFC9A0); background-size:cover; background-position:center; }
.tile-icon{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:44px; }
.tile-card{ background:var(--paper); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:14px; padding:20px; height:100%; }
.tile-card .icon-box{ width:56px; height:56px; background:var(--green); border:2.5px solid var(--line); border-radius:14px; display:flex; align-items:center; justify-content:center; }
.tile-card p{ font-weight:800; font-size:17px; line-height:1.25; max-width:150px; }

/* Sections */
.section{ padding:96px 0; }
.section-head{ text-align:center; max-width:680px; margin:0 auto 52px; }
.eyebrow{ display:inline-flex; align-items:center; gap:7px; border:2px solid var(--line); border-radius:999px; padding:7px 15px; font-weight:700; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:20px; }
.eyebrow.green{ background:#CFF3D8; } .eyebrow.purple{ background:#E6D8FA; } .eyebrow.pink{ background:#FBD3DE; } .eyebrow.dark{ background:var(--yellow); } .eyebrow.red{ background:#FBD3DE; color:var(--red-dark); }
.section-head h2{ font-size:40px; font-weight:800; line-height:1.18; letter-spacing:-.015em; }
.section-head p.lead{ margin-top:16px; font-size:16px; color:var(--ink-soft); font-weight:500; line-height:1.6; }

/* Cards */
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.card{ background:var(--paper); border:2.5px solid var(--line); border-radius:22px; padding:30px 28px; box-shadow:5px 5px 0 var(--line); transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease; }
.card:hover{ transform:translate(-4px,-4px); box-shadow:9px 9px 0 var(--line); }
.card .icon-tile{ width:46px; height:46px; background:var(--yellow); border:2px solid var(--line); border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:20px; }
.card h3{ font-size:19px; font-weight:800; margin-bottom:10px; }
.card p{ font-size:14.5px; color:var(--ink-soft); line-height:1.6; font-weight:500; }
.step-card .icon-tile{ background:var(--pink); }
.step-card:nth-child(2) .icon-tile{ background:var(--purple); }
.step-card:nth-child(3) .icon-tile{ background:var(--green); }
.section-yellow{ background:var(--yellow-soft); }
.diff-text{ text-align:center; max-width:760px; margin:0 auto; }

/* Dark CTA */
.section-dark{ background:var(--ink); color:#fff; border-radius:34px; max-width:900px; margin:0 auto; padding:52px 48px; text-align:center; position:relative; overflow:hidden; }
.section-dark .dark-sub{ color:rgba(255,255,255,.72); max-width:440px; margin:2px auto 30px; font-weight:500; font-size:15px; line-height:1.55; }
.section-dark::before{ content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.06) 1.6px,transparent 1.6px); background-size:24px 24px; pointer-events:none; }
.section-dark h2{ font-size:34px; font-weight:800; margin:18px 0 6px; letter-spacing:-.01em; }
.connect-grid{ display:grid; grid-template-columns:1fr 1fr; max-width:560px; margin:0 auto; gap:28px; }
.connect-col{ border-top:1.5px dashed rgba(255,255,255,.25); padding-top:22px; }
.connect-grid > .connect-col:first-child{ border-right:1.5px dashed rgba(255,255,255,.25); }
.connect-col span{ display:block; font-weight:600; font-size:13.5px; color:rgba(255,255,255,.75); margin-bottom:14px; }

/* Listings */
.listings-grid{ display:flex; flex-wrap:wrap; gap:26px; }
.listing-card{ width:290px; background:var(--paper); border:3px solid var(--line); border-radius:22px; overflow:hidden; box-shadow:6px 6px 0 var(--red); transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease; cursor:pointer; }
.listing-card:hover{ transform:translate(-4px,-4px); box-shadow:10px 10px 0 var(--red); }
.listing-soon{ border-style:dashed; box-shadow:6px 6px 0 var(--ink-soft); }
.listing-soon:hover{ box-shadow:10px 10px 0 var(--ink-soft); }
.listing-photo{ height:150px; background:linear-gradient(135deg,#EAD9BE,#DFC9A0); position:relative; display:flex; align-items:flex-end; padding:14px; }
.listing-photo span{ background:rgba(255,255,255,.85); border:1.5px solid var(--line); border-radius:8px; padding:3px 10px; font-size:11px; font-weight:700; }
.listing-body{ padding:18px 20px 20px; }
.listing-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:4px; }
.listing-body h3{ font-size:18px; font-weight:800; }
.tag-city{ background:var(--ink); color:#fff; font-size:10px; font-weight:700; padding:4px 9px; border-radius:6px; white-space:nowrap; }
.listing-date{ font-size:13px; color:var(--ink-soft); font-weight:600; margin-bottom:12px; }
.chips{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
.chip{ font-size:11px; font-weight:600; border:1.5px solid var(--line); border-radius:999px; padding:4px 10px; background:var(--cream); }
.chip.open{ background:#CFF3D8; }
.chip.filled{ background:#EDEAE0; color:var(--ink-soft); text-decoration:line-through; }
.listing-price-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.listing-price{ font-weight:800; font-size:15.5px; }
.listing-slots{ font-size:11px; font-weight:700; color:var(--red-dark); }
.listing-body .btn{ width:100%; }
.listings-search-note{ font-size:15px; color:var(--ink-soft); font-weight:500; text-align:center; max-width:520px; margin:14px auto 0; }

/* Footer */
footer{ padding:34px 0 44px; border-top:2.5px solid var(--line); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:13px; font-weight:600; }
footer .tagline{ color:var(--ink-soft); font-weight:500; }
footer .social{ font-weight:700; } footer .social:hover{ text-decoration:underline; }

/* Reveal */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.22,.9,.32,1),transform .7s cubic-bezier(.22,.9,.32,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal-stagger.in > *{ transition-delay:calc(var(--i,0) * 90ms); }

/* Detail page */
.breadcrumb{ display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:13.5px; color:var(--ink-soft); margin-bottom:18px; }
.breadcrumb:hover{ color:var(--ink); }
.breadcrumb .arrow{ transition:transform .2s ease; display:inline-block; }
.breadcrumb:hover .arrow{ transform:translateX(-4px); }
.detail-hero{ background-image:linear-gradient(rgba(23,20,15,.5),rgba(23,20,15,.62)), url('images/event-banner.jpg'); background-size:cover; background-position:center; color:#fff; border:3px solid var(--line); border-radius:34px; padding:52px 48px; position:relative; overflow:hidden; box-shadow:8px 8px 0 rgba(23,20,15,.12); }
.detail-hero h1{ color:#fff; }
.detail-hero .sub{ color:rgba(255,255,255,.92); }
.detail-hero::before{ content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(23,20,15,.06) 1.6px,transparent 1.6px); background-size:22px 22px; opacity:.5; pointer-events:none; }
.detail-hero h1{ font-size:46px; font-weight:800; letter-spacing:-.02em; margin:16px 0 10px; max-width:640px; }
.detail-hero .sub{ font-size:16px; font-weight:600; color:rgba(255,255,255,.92); max-width:560px; margin-bottom:26px; }
.detail-hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; }
.info-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:44px 0; }
.info-card{ background:var(--paper); border:2.5px solid var(--line); border-radius:18px; padding:20px; box-shadow:4px 4px 0 var(--line); }
.info-card .label{ font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:8px; }
.info-card .value{ font-size:16.5px; font-weight:800; line-height:1.35; }
.info-card .icon{ font-size:22px; margin-bottom:10px; display:block; }
.cat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.cat-card{ background:var(--paper); border:2.5px solid var(--line); border-radius:16px; padding:18px 20px; display:flex; align-items:center; justify-content:space-between; gap:10px; box-shadow:4px 4px 0 var(--line); }
.cat-card .name{ font-weight:700; font-size:14.5px; }
.cat-status{ font-size:10.5px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; padding:5px 11px; border-radius:999px; border:1.5px solid var(--line); background:#CFF3D8; white-space:nowrap; cursor:pointer; }
.cat-status.filled{ background:#EDEAE0; color:var(--ink-soft); cursor:default; }
.ticket-box{ background:var(--ink); color:#fff; border-radius:26px; padding:40px 44px; display:grid; grid-template-columns:1.3fr 1fr; gap:32px; align-items:center; position:relative; overflow:hidden; }
.ticket-box::before{ content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.06) 1.6px,transparent 1.6px); background-size:24px 24px; pointer-events:none; }
.ticket-box h3{ font-size:24px; font-weight:800; margin-bottom:10px; }
.ticket-box p{ font-size:14.5px; color:rgba(255,255,255,.8); line-height:1.6; font-weight:500; }
.ticket-side{ text-align:center; }
.ticket-price{ font-size:34px; font-weight:900; margin-bottom:4px; }
.ticket-price span{ font-size:14px; font-weight:600; color:rgba(255,255,255,.65); }
.sticky-cta{ position:fixed; left:0; right:0; bottom:0; z-index:90; background:var(--paper); border-top:2.5px solid var(--line); padding:14px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; transform:translateY(100%); transition:transform .3s ease; }
.sticky-cta.show{ transform:translateY(0); }
.sticky-cta .info{ font-weight:700; font-size:14px; }
.sticky-cta .info span{ display:block; font-weight:500; font-size:12px; color:var(--ink-soft); }

/* ===== Event decision page (spiritual-mela) ===== */
/* Hero */
.ev-hero{ display:grid; grid-template-columns:1.15fr .85fr; border:3px solid var(--line); border-radius:34px; overflow:hidden; box-shadow:8px 8px 0 rgba(23,20,15,.12); }
.ev-hero-body{ background-image:linear-gradient(rgba(23,20,15,.55),rgba(23,20,15,.68)), url('images/event-banner.jpg'); background-size:cover; background-position:center; color:#fff; padding:52px 46px; }
.ev-hero-body .badge{ background:#FED003; border-color:#141414; color:#141414; font-size:13px; font-weight:800; padding:9px 18px; box-shadow:3px 3px 0 #141414; }
.ev-hero-body h1{ font-size:50px; line-height:1.04; font-weight:800; letter-spacing:-.02em; margin-bottom:14px; }
.ev-hero-sub{ font-size:18px; font-weight:600; color:rgba(255,255,255,.92); margin-bottom:22px; }
.hero-checks{ list-style:none; display:flex; flex-direction:column; gap:9px; margin-bottom:28px; }
.hero-checks li{ font-weight:700; font-size:15px; color:#fff; }
.ev-hero-trust{ background:var(--paper); padding:40px 36px; display:flex; flex-direction:column; gap:20px; justify-content:center; }
.trust-price{ display:flex; align-items:baseline; gap:10px; }
.trust-price .tp-amt{ font-size:52px; font-weight:900; line-height:1; }
.trust-price .tp-label{ font-size:14px; font-weight:700; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.04em; }
.trust-stars{ font-size:20px; color:#F5A623; font-weight:800; }
.trust-stars span{ display:block; font-size:12.5px; color:var(--ink-soft); font-weight:600; margin-top:2px; letter-spacing:.02em; }
.trust-metric{ background:#CFF3D8; border:2px solid var(--line); border-radius:12px; padding:12px 16px; font-weight:800; font-size:14.5px; text-align:center; }

/* Event overview cards */
.ev-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.verified-pill{ display:inline-block; background:#CFF3D8; border:1.5px solid var(--line); border-radius:999px; padding:1px 8px; font-size:10.5px; font-weight:800; margin-left:4px; vertical-align:middle; }

/* Why join */
.why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }

/* Venue map */
.venue-toolbar{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:8px 0 14px; }
.venue-search{ flex:1; min-width:220px; border:2.5px solid var(--line); border-radius:999px; padding:12px 18px; font-family:'Poppins',sans-serif; font-weight:600; font-size:14px; background:var(--paper); outline:none; box-shadow:3px 3px 0 var(--line); }
.venue-filters{ display:flex; gap:8px; flex-wrap:wrap; }
.vf{ border:2px solid var(--line); background:var(--paper); border-radius:999px; padding:8px 14px; font-family:'Poppins',sans-serif; font-weight:700; font-size:12px; cursor:pointer; transition:.15s; }
.vf:hover{ background:var(--cream-deep); }
.vf.active{ background:var(--ink); color:#fff; }
.venue-legend{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; font-size:12.5px; font-weight:600; color:var(--ink-soft); margin-bottom:14px; }
.venue-legend span{ display:flex; align-items:center; gap:7px; }
.lg-dot{ width:14px; height:14px; border-radius:4px; border:2px solid var(--line); display:inline-block; }
.lg-dot.avail{ background:#CFF3D8; } .lg-dot.filled{ background:#EDEAE0; } .lg-dot.prem{ background:var(--yellow); }
.lg-hint{ margin-left:auto; font-style:italic; }
.venue-map{ position:relative; width:100%; aspect-ratio:1.62; border:3px solid var(--line); border-radius:24px; background:#F3EAD6; background-image:radial-gradient(rgba(23,20,15,.07) 1.4px,transparent 1.4px); background-size:26px 26px; box-shadow:6px 6px 0 rgba(23,20,15,.12); overflow:hidden; touch-action:none; cursor:grab; }
.venue-map:active{ cursor:grabbing; }
.venue-inner{ position:absolute; inset:0; transform-origin:center center; transition:transform .12s ease; }
.venue-zoom{ position:absolute; right:12px; bottom:12px; display:flex; flex-direction:column; gap:6px; z-index:5; }
.venue-zoom button{ width:36px; height:36px; border:2.5px solid var(--line); background:var(--paper); border-radius:10px; font-size:18px; font-weight:800; cursor:pointer; box-shadow:2px 2px 0 var(--line); line-height:1; }
.venue-zoom button:hover{ background:var(--cream-deep); }
.v-stall.mine{ outline:3px solid var(--green); outline-offset:1px; }
.v-stall.mine .vs-status{ color:var(--green); font-weight:800; }
/* My Applications */
.my-apps{ background:var(--paper); border:3px solid var(--line); border-radius:18px; box-shadow:5px 5px 0 rgba(23,20,15,.1); padding:16px 18px; margin-bottom:18px; }
.my-apps .ma-head{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.my-apps .ma-head b{ font-size:16px; font-weight:800; }
.ma-count{ background:var(--green); color:#fff; font-weight:800; font-size:12px; border-radius:999px; min-width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center; padding:0 7px; }
.ma-item{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-top:1.5px solid var(--line-soft,#EAD8AE); }
.ma-item .ma-l b{ font-weight:800; } .ma-item .ma-l span{ color:var(--muted,#7a7060); font-size:13px; }
.ma-pill{ background:#FEF3C7; color:#9a6b00; font-weight:800; font-size:12px; border:2px solid #f0c96b; border-radius:999px; padding:4px 11px; white-space:nowrap; }
.ma-note{ font-size:12.5px; color:var(--muted,#7a7060); margin-top:8px; }
.venue-loading{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--ink-soft); font-weight:600; }
.v-landmark{ position:absolute; display:flex; align-items:center; justify-content:center; border:2px dashed var(--line); border-radius:12px; font-weight:800; font-size:12.5px; text-align:center; padding:4px; }
.v-landmark.entrance{ background:rgba(36,196,98,.16); color:var(--green-dark); }
.v-landmark.food{ background:rgba(249,195,50,.22); color:#8a6a00; }
.v-landmark.stage{ background:rgba(201,169,245,.28); color:#5b3ea0; }
.v-landmark.parking{ background:rgba(23,20,15,.08); color:var(--ink-soft); }
.v-stall{ position:absolute; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; border:2.5px solid var(--line); border-radius:12px; cursor:pointer; font-family:'Poppins',sans-serif; text-align:center; padding:4px; box-shadow:3px 3px 0 rgba(23,20,15,.18); transition:transform .15s,box-shadow .15s,opacity .15s; overflow:hidden; }
.v-stall:hover{ transform:translate(-2px,-2px); box-shadow:5px 5px 0 rgba(23,20,15,.22); }
.v-stall.avail{ background:#CFF3D8; }
.v-stall.filled{ background:#EDEAE0; border-color:var(--red-dark); cursor:default; }
.v-stall.prem{ background:var(--yellow-soft); }
.v-stall.dim{ opacity:.26; }
.vs-code{ font-weight:900; font-size:13px; }
.vs-cat{ font-weight:600; font-size:10px; line-height:1.1; color:var(--ink-soft); max-width:96%; }
.vs-status{ font-weight:800; font-size:9px; text-transform:uppercase; letter-spacing:.04em; }
.v-stall.filled .vs-status{ color:var(--red-dark); }

/* Category exclusivity */
.excl-box{ background:var(--ink); color:#fff; border-radius:30px; padding:44px 46px; display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; position:relative; overflow:hidden; }
.excl-box::before{ content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.06) 1.6px,transparent 1.6px); background-size:24px 24px; pointer-events:none; }
.excl-head .eyebrow{ color:var(--red-dark); }
.excl-head h2{ font-size:34px; font-weight:800; margin:6px 0 10px; }
.excl-head h2 u{ text-decoration-color:var(--yellow); text-underline-offset:4px; }
.excl-head p{ color:rgba(255,255,255,.75); font-weight:500; line-height:1.55; font-size:15px; }
.excl-list{ display:flex; flex-direction:column; gap:10px; }
.excl-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; background:rgba(255,255,255,.06); border:1.5px solid rgba(255,255,255,.16); border-radius:12px; padding:13px 18px; }
.excl-cat{ font-weight:700; font-size:15px; }
.excl-badge{ font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; padding:5px 12px; border-radius:999px; white-space:nowrap; }
.excl-badge.open{ background:var(--green); color:#fff; }
.excl-badge.filled{ background:rgba(255,255,255,.18); color:rgba(255,255,255,.7); }

/* Booking steps */
.steps{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.step{ background:var(--paper); border:2.5px solid var(--line); border-radius:18px; padding:22px 18px; box-shadow:5px 5px 0 var(--line); position:relative; }
.step-n{ display:flex; width:34px; height:34px; align-items:center; justify-content:center; background:var(--yellow); border:2px solid var(--line); border-radius:10px; font-weight:900; margin-bottom:12px; }
.step h3{ font-size:15px; font-weight:800; margin-bottom:5px; }
.step p{ font-size:12.5px; color:var(--ink-soft); font-weight:500; line-height:1.5; }

/* Trust + testimonials */
.trust-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:36px; }
.trust-stat{ background:var(--paper); border:2.5px solid var(--line); border-radius:18px; padding:24px 18px; text-align:center; box-shadow:4px 4px 0 var(--line); }
.ts-num{ font-size:32px; font-weight:900; line-height:1; }
.ts-label{ font-size:12.5px; font-weight:600; color:var(--ink-soft); margin-top:8px; }
.testimonials{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.testimonial{ background:var(--cream-deep); border:2.5px solid var(--line); border-radius:20px; padding:26px 24px; box-shadow:5px 5px 0 var(--line); }
.testimonial blockquote{ font-size:16px; font-weight:600; line-height:1.5; margin-bottom:14px; }
.testimonial figcaption{ font-size:13px; font-weight:700; color:var(--ink-soft); }

/* Gallery */
.gallery-grid{ display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:160px; gap:16px; }
.gphoto{ border:3px solid var(--line); border-radius:18px; background-size:cover; background-position:center; box-shadow:4px 4px 0 rgba(23,20,15,.14); }
.gphoto.g-tall{ grid-row:span 2; }

/* FAQ */
.faq{ display:flex; flex-direction:column; gap:12px; }
.faq-item{ background:var(--paper); border:2.5px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:4px 4px 0 var(--line); }
.faq-q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; background:none; border:none; padding:18px 22px; font-family:'Poppins',sans-serif; font-weight:700; font-size:15.5px; text-align:left; cursor:pointer; color:var(--ink); }
.faq-i{ font-size:22px; font-weight:800; transition:transform .2s; }
.faq-item.open .faq-i{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .28s ease; }
.faq-item.open .faq-a{ max-height:240px; }
.faq-a p{ padding:0 22px 20px; font-size:14.5px; color:var(--ink-soft); font-weight:500; line-height:1.6; }

/* Final CTA */
.final-cta{ background:var(--red); color:#fff; border:3px solid var(--line); border-radius:30px; padding:52px 40px; text-align:center; box-shadow:8px 8px 0 rgba(23,20,15,.16); }
.final-cta h2{ font-size:38px; font-weight:900; margin-bottom:8px; }
.final-cta p{ font-size:16px; font-weight:600; color:rgba(255,255,255,.9); margin-bottom:26px; }
.final-cta .btn{ background:var(--paper); color:var(--ink); }

/* Stall drawer */
.ss-drawer{ position:fixed; inset:0; z-index:9997; }
.ss-drawer-ov{ position:absolute; inset:0; background:rgba(23,20,15,.45); opacity:0; transition:opacity .24s; }
.ss-drawer.open .ss-drawer-ov{ opacity:1; }
.ss-drawer-panel{ position:absolute; top:0; right:0; height:100%; width:400px; max-width:92vw; background:var(--paper); border-left:3px solid var(--line); box-shadow:-8px 0 0 rgba(23,20,15,.1); padding:34px 30px; overflow-y:auto; transform:translateX(100%); transition:transform .24s cubic-bezier(.4,0,.2,1); }
.ss-drawer.open .ss-drawer-panel{ transform:none; }
.ss-drawer-x{ position:absolute; top:16px; right:18px; background:none; border:none; font-size:28px; cursor:pointer; line-height:1; color:var(--ink); }
.dr-code{ font-size:24px; font-weight:900; margin-bottom:2px; }
.dr-cat{ font-size:15px; font-weight:600; color:var(--ink-soft); margin-bottom:12px; }
.dr-status{ display:inline-block; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; padding:5px 12px; border-radius:999px; border:2px solid var(--line); margin-bottom:16px; }
.dr-status.avail{ background:#CFF3D8; } .dr-status.filled{ background:#EDEAE0; color:var(--ink-soft); }
.dr-price{ font-size:32px; font-weight:900; margin-bottom:16px; } .dr-price span{ font-size:14px; font-weight:600; color:var(--ink-soft); }
.dr-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.dr-tag{ font-size:12px; font-weight:700; border:2px solid var(--line); border-radius:999px; padding:6px 12px; background:var(--cream); }
.dr-tag.prem{ background:var(--yellow); }
.dr-footfall{ display:flex; align-items:center; justify-content:space-between; border-top:2px dashed var(--line); border-bottom:2px dashed var(--line); padding:14px 0; margin-bottom:20px; font-weight:700; font-size:14px; }
.dr-stars{ color:#F5A623; font-size:19px; letter-spacing:2px; }
.dr-reserve{ width:100%; }
.dr-filled-note{ background:#FBD3DE; border:2px solid var(--line); border-radius:12px; padding:14px 16px; font-size:13.5px; font-weight:600; color:var(--red-dark); line-height:1.5; }
.dr-fine{ font-size:12px; color:var(--ink-soft); font-weight:500; line-height:1.5; margin-top:14px; }

@media (max-width:900px){
  .hero{ grid-template-columns:1fr; padding:40px 26px; } .hero h1{ font-size:40px; }
  .grid-3{ grid-template-columns:1fr; } .nav-links{ display:none; }
  .section-dark{ margin:0 16px; padding:44px 26px; } .connect-grid{ grid-template-columns:1fr; }
  .connect-grid > .connect-col:first-child{ border-right:none; border-bottom:1.5px dashed rgba(255,255,255,.25); padding-bottom:22px; }
  .wrap{ padding:0 20px; }
  .info-grid{ grid-template-columns:repeat(2,1fr); } .cat-grid{ grid-template-columns:1fr 1fr; }
  .ticket-box{ grid-template-columns:1fr; text-align:center; }
  .detail-hero{ padding:36px 24px; } .detail-hero h1{ font-size:32px; }
  /* decision page mobile: single column */
  .ev-hero{ grid-template-columns:1fr; } .ev-hero-body{ padding:36px 26px; } .ev-hero-body h1{ font-size:34px; }
  .ev-cards{ grid-template-columns:1fr 1fr; }
  .why-grid{ grid-template-columns:1fr; }
  .venue-map{ aspect-ratio:1.15; }
  .vs-cat{ display:none; }
  .excl-box{ grid-template-columns:1fr; padding:34px 26px; }
  .steps{ grid-template-columns:1fr 1fr; }
  .trust-row{ grid-template-columns:1fr 1fr; }
  .testimonials{ grid-template-columns:1fr; }
  .gallery-grid{ grid-template-columns:1fr 1fr; grid-auto-rows:130px; }
  .final-cta h2{ font-size:28px; }
  .section{ padding:60px 0; }
}

/* ===== Landing (index) ===== */
.lp-hero{ display:grid; grid-template-columns:1.02fr .98fr; gap:44px; align-items:center; padding:22px 0 40px; }
.lp-hero-body h1{ font-size:52px; line-height:1.15; font-weight:800; letter-spacing:-.02em; margin-bottom:18px; }
.lp-hero-body h1 .line{ display:block; }
.lp-hero-body > p{ font-size:16.5px; color:var(--ink-soft); font-weight:500; line-height:1.8; max-width:560px; margin-bottom:24px; text-align:left; text-wrap:balance; }
.hero-cta{ margin-bottom:8px; }
.lp-features{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:28px; max-width:520px; }
.lp-feat{ display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; font-size:11.5px; font-weight:700; color:var(--ink-soft); }
.lp-ic{ width:44px; height:44px; display:flex; align-items:center; justify-content:center; background:var(--paper); border:2px solid var(--line); border-radius:12px; font-size:20px; box-shadow:3px 3px 0 var(--line); }
.lp-hero-media{ position:relative; }
/* Compact "How StallSpot Works" strip inside the hero */
.hero-steps{ margin-top:6px; margin-bottom:24px; padding-top:32px; border-top:2px solid rgba(23,20,15,.1); }
.hs-head{ text-align:center; font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:.1em; color:var(--ink); margin-bottom:20px; }
.hs-flow{ display:flex; align-items:stretch; justify-content:center; gap:6px; }
.hs-step{ flex:1 1 0; min-width:0; background:var(--paper); border:2px solid var(--line); border-radius:14px; padding:14px 12px; box-shadow:2px 2px 0 rgba(23,20,15,.1); text-align:center; }
.hs-n{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:#FFD54A; border:2px solid var(--line); font-weight:800; font-size:13px; margin-bottom:8px; }
.hs-step b{ display:block; font-size:13px; font-weight:800; line-height:1.25; margin-bottom:4px; }
.hs-step p{ font-size:11px; color:var(--ink-soft); line-height:1.4; }
.hs-arrow{ align-self:center; flex:0 0 auto; color:var(--line); opacity:.35; font-weight:800; font-size:15px; }
.hs-cta{ text-align:center; margin-top:26px; }
@media(max-width:820px){
  .hs-flow{ flex-direction:column; gap:0; max-width:340px; margin:0 auto; }
  .hs-step{ width:100%; }
  .hs-arrow{ transform:rotate(90deg); margin:3px 0; }
}
.lp-hero-img{ aspect-ratio:1.28; border:3px solid var(--line); border-radius:28px; background-image:linear-gradient(rgba(253,243,225,.1),rgba(253,243,225,.1)), url('images/event-banner.jpg'); background-size:cover; background-position:center; box-shadow:8px 8px 0 rgba(23,20,15,.12); }
.btn-dark{ background:var(--ink,#17140F); color:#fff; border:2.5px solid var(--ink,#17140F); }
.btn-dark:hover{ background:#000; color:#fff; }
/* Primary yellow CTA — brand yellow, black text/border, hard offset shadow (base .btn handles pill radius, shadow, hover lift) */
.btn-yellow{ background:#FFD54A; color:#111111; border-color:#111111; box-shadow:5px 5px 0 #111111; }
.btn-yellow:hover{ background:#F5C518; color:#111111; box-shadow:7px 7px 0 #111111; }
.btn-yellow .arrow{ color:#111111; }
.hero-collage{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.hc-tile{ aspect-ratio:1; border:3px solid var(--line,#17140F); border-radius:18px; box-shadow:4px 4px 0 rgba(23,20,15,.14); background-size:cover; background-position:center 28%; background-color:#EADFC6; position:relative; overflow:hidden; display:flex; align-items:flex-end; filter:saturate(1.18) contrast(1.04); }
.hc-lb{ width:100%; padding:16px 12px 9px; font-weight:800; font-size:12px; color:#fff; background:linear-gradient(transparent, rgba(0,0,0,.72)); }
.hc-promo{ background:#FFF6D6; border:3px dashed var(--line,#17140F); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; text-decoration:none; text-align:center; padding:10px; transition:background .15s; }
.hc-promo:hover{ background:#FCEEB4; }
.hc-promo-plus{ width:40px; height:40px; border-radius:50%; background:var(--red,#E11D2E); color:#fff; display:flex; align-items:center; justify-content:center; font-size:24px; font-weight:800; margin-bottom:7px; box-shadow:2px 2px 0 rgba(23,20,15,.18); }
.hc-promo b{ font-size:15px; font-weight:800; color:var(--ink,#17140F); }
.hc-promo-sub{ font-size:11.5px; font-weight:700; color:#9a854e; }
.lp-hero-stats{ position:absolute; left:20px; right:20px; bottom:-26px; background:var(--paper); border:2.5px solid var(--line); border-radius:18px; box-shadow:5px 5px 0 var(--line); display:grid; grid-template-columns:repeat(3,1fr); }
.lp-stat{ display:flex; align-items:center; gap:10px; padding:16px 14px; }
.lp-stat + .lp-stat{ border-left:2px solid rgba(23,20,15,.12); }
.lp-stat .ic{ font-size:20px; }
.lp-stat b{ display:block; font-size:20px; font-weight:900; line-height:1; }
.lp-stat span{ font-size:11px; font-weight:600; color:var(--ink-soft); }

.lp-row-head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:26px; }
.lp-row-head h2{ font-size:30px; font-weight:800; letter-spacing:-.01em; }
.lp-link{ font-weight:700; font-size:14px; color:var(--red-dark); white-space:nowrap; }
.lp-link:hover{ text-decoration:underline; }
.lp-link .arrow{ display:inline-block; transition:transform .2s; } .lp-link:hover .arrow{ transform:translateX(4px); }

.events-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.ev-card{ display:flex; flex-direction:column; background:var(--paper); border:3px solid var(--line); border-radius:22px; overflow:hidden; box-shadow:6px 6px 0 var(--red); transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s; cursor:pointer; }
.ev-card:hover{ transform:translate(-4px,-4px); box-shadow:10px 10px 0 var(--red); }
.ev-card.soon{ box-shadow:6px 6px 0 var(--ink-soft); border-style:dashed; }
.ev-card.soon:hover{ box-shadow:10px 10px 0 var(--ink-soft); }
.ev-thumb{ height:130px; background:linear-gradient(135deg,#EAD9BE,#DFC9A0); position:relative; display:flex; align-items:flex-start; padding:12px; }
.ev-thumb.has-banner{ background-image:linear-gradient(rgba(23,20,15,.15),rgba(23,20,15,.3)),url('images/event-banner.jpg'); background-size:cover; background-position:center; }
.ev-live{ background:var(--green); color:#fff; border:1.5px solid var(--line); border-radius:999px; padding:3px 10px; font-size:10.5px; font-weight:800; }
.ev-live.soon{ background:#FED003; color:#141414; }
.ev-live.closed{ background:#8a8378; color:#fff; }
.ev-tag{ background:rgba(255,255,255,.9); border:1.5px solid var(--line); border-radius:999px; padding:3px 10px; font-size:10.5px; font-weight:800; }
.ev-body{ padding:16px 18px 18px; display:flex; flex-direction:column; flex:1; }
.ev-date{ font-size:11.5px; font-weight:700; color:var(--ink-soft); margin-bottom:6px; }
.ev-body h3{ font-size:17px; font-weight:800; margin-bottom:10px; }
/* Featured single-event layout + "more coming soon" panel */
.featured-row{ display:grid; grid-template-columns:1.15fr 1fr; gap:24px; align-items:stretch; }
.featured-event{ display:flex; flex-direction:column; }
.feat-label{ display:inline-flex; align-self:flex-start; align-items:center; gap:6px; background:#FED003; border:2px solid var(--line); border-radius:999px; padding:6px 14px; font-weight:800; font-size:12px; text-transform:uppercase; letter-spacing:.03em; margin-bottom:14px; box-shadow:2px 2px 0 var(--line); }
.ev-card-lg{ flex:1; }
.ev-card-lg .ev-thumb{ height:210px; }
.ev-card-lg .ev-body{ padding:20px 22px 22px; }
.ev-card-lg .ev-body h3{ font-size:23px; margin-bottom:12px; }
.ev-card-lg .ev-date{ font-size:12.5px; }
.ev-card-lg .ev-meta{ font-size:14px; }
.coming-soon-panel{ background:linear-gradient(135deg,#FFF6DC,#FBEAC4); border:2.5px dashed var(--line); border-radius:22px; padding:34px 28px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.cs-emoji{ font-size:46px; line-height:1; margin-bottom:14px; }
.coming-soon-panel h3{ font-size:22px; font-weight:800; margin-bottom:10px; }
.coming-soon-panel p{ font-size:14px; color:var(--ink-soft); line-height:1.6; max-width:360px; }
@media(max-width:820px){ .featured-row{ grid-template-columns:1fr; gap:20px; } }
.events-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:24px; }
.coming-soon-note{ margin-top:28px; text-align:center; font-size:14.5px; font-weight:600; color:var(--ink-soft); }
.coming-soon-note a{ color:var(--red); font-weight:800; }
.ev-meta{ font-size:12.5px; font-weight:600; color:var(--ink-soft); margin-bottom:4px; }
.ev-body .btn{ margin-top:auto; }

.steps5 .step{ text-align:center; }
.steps5 .step-n{ margin:0 auto 10px; }
.step-ic{ font-size:26px; margin-bottom:8px; }

.ovc{ background:var(--cream-deep); border:3px solid var(--line); border-radius:30px; padding:40px 42px; display:grid; grid-template-columns:.9fr 1.1fr; gap:36px; align-items:center; box-shadow:8px 8px 0 rgba(23,20,15,.1); }
.ovc-medal{ width:64px; height:64px; background:var(--yellow); border:2.5px solid var(--line); border-radius:18px; display:flex; align-items:center; justify-content:center; font-size:30px; margin-bottom:16px; box-shadow:4px 4px 0 var(--line); }
.ovc-left h2{ font-size:30px; font-weight:800; margin:4px 0 10px; }
.ovc-left p{ font-size:15px; color:var(--ink-soft); font-weight:500; line-height:1.6; margin-bottom:20px; max-width:360px; }
.ovc-cats{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.ovc-cat{ background:var(--paper); border:2.5px solid var(--line); border-radius:16px; padding:16px 8px; text-align:center; box-shadow:3px 3px 0 var(--line); display:flex; flex-direction:column; align-items:center; gap:6px; }
.ovc-emoji{ font-size:24px; }
.ovc-cat b{ font-size:11.5px; line-height:1.2; }
.ovc-badge{ font-size:9.5px; font-weight:800; text-transform:uppercase; letter-spacing:.02em; padding:3px 8px; border-radius:999px; border:1.5px solid var(--line); }
.ovc-badge.filled{ background:#EDEAE0; color:var(--ink-soft); }
.ovc-badge.low{ background:var(--yellow-soft); }
.ovc-badge.open{ background:#CFF3D8; }

.metrics{ display:grid; grid-template-columns:repeat(5,1fr); background:var(--ink); border:3px solid var(--line); border-radius:24px; overflow:hidden; }
.metric{ display:flex; flex-direction:column; align-items:center; gap:2px; padding:26px 14px; color:#fff; text-align:center; }
.metric + .metric{ border-left:2px solid rgba(255,255,255,.12); }
.metric .ic{ font-size:20px; margin-bottom:4px; }
.metric b{ font-size:26px; font-weight:900; line-height:1; }
.metric span{ font-size:11.5px; font-weight:600; color:rgba(255,255,255,.7); }

.lp-cta{ background:var(--yellow); border:3px solid var(--line); border-radius:28px; padding:38px 44px; display:flex; align-items:center; justify-content:space-between; gap:24px; box-shadow:8px 8px 0 rgba(23,20,15,.12); }
.lp-cta-mark{ width:52px; height:52px; background:var(--paper); border:2.5px solid var(--line); border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:26px; margin-bottom:12px; }
.lp-cta h2{ font-size:26px; font-weight:800; margin-bottom:6px; }
.lp-cta p{ font-size:14.5px; font-weight:500; color:var(--ink); max-width:460px; }

.lp-footer{ border-top:none; background:var(--paper); padding-top:48px; margin-top:20px; }
.lp-footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr 1fr; gap:28px; padding-bottom:36px; }
.lp-footer-brand p{ font-size:13.5px; color:var(--ink-soft); font-weight:500; line-height:1.6; margin-top:14px; max-width:240px; }
.lp-fcol h4{ font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; margin-bottom:14px; }
.lp-fcol a{ display:block; font-size:13.5px; font-weight:600; color:var(--ink-soft); margin-bottom:10px; }
.lp-fcol a:hover{ color:var(--ink); text-decoration:underline; }
.lp-social{ display:flex; gap:10px; }
.lp-social a{ width:38px; height:38px; display:flex; align-items:center; justify-content:center; border:2px solid var(--line); border-radius:10px; font-weight:800; margin:0; box-shadow:2px 2px 0 var(--line); }
.lp-social a:hover{ background:var(--yellow); }
.lp-footer-base{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 32px; font-size:13px; font-weight:600; flex-wrap:wrap; }
.lp-footer-base .tagline{ color:var(--ink-soft); font-weight:500; }

@media (max-width:900px){
  .lp-hero{ grid-template-columns:1fr; gap:30px; } .lp-hero-body h1{ font-size:38px; }
  .lp-features{ max-width:none; }
  .lp-hero-stats{ position:static; margin-top:16px; left:auto; right:auto; bottom:auto; }
  .events-grid{ grid-template-columns:1fr 1fr; }
  .steps5{ grid-template-columns:1fr 1fr; }
  .ovc{ grid-template-columns:1fr; padding:30px 26px; } .ovc-cats{ grid-template-columns:repeat(3,1fr); }
  .metrics{ grid-template-columns:1fr 1fr 1fr; }
  .lp-cta{ flex-direction:column; align-items:flex-start; }
  .lp-footer-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .events-grid{ grid-template-columns:1fr; } .steps5{ grid-template-columns:1fr; }
  .ovc-cats{ grid-template-columns:1fr 1fr; } .metrics{ grid-template-columns:1fr 1fr; }
  .lp-footer-grid{ grid-template-columns:1fr; }
}
