/* Udupi Aahar & Business Expo: overrides the shared tokens with the expo's own palette. */
:root{
  --ink:#14224f;--ink-2:#1b2c63;--ink-soft:#55607f;
  --paper-warm:#fff7ec;--line:#ecdfcb;
  --green-1:#9fd8d2;--green-2:#12807f;--green-3:#14224f;
  --gold:#f7a823;--gold-light:#ffd27a;--gold-ink:#c2410c;
  --blue:#0b6e9c;--accent:#e8591c;--accent-ink:#fff;--accent-soft:#fdebdc;
  --font-body:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-display:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --radius:14px;
}
body{font-size:1rem}
h1,h2{font-weight:800;letter-spacing:-.02em}
.brand img{height:64px}
.header-row{min-height:84px}
.btn-primary:hover{background:var(--ink);border-color:var(--ink)}
.card .tag{background:var(--accent-soft);color:var(--gold-ink)}

/* Video hero: the film sits on top, uncovered, because it carries its own captions. */
.vhero{position:relative;background:#0b1330;color:#fff;padding:0}
.vhero video{display:block;width:100%;aspect-ratio:16/9;max-height:62vh;object-fit:cover;background:#000}
.vhero.sound-on video{max-height:82vh;object-fit:contain}
.vhero-copy{padding:30px 0 40px}
.vhero-kicker{display:inline-block;background:var(--gold);color:var(--ink);font-weight:700;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:5px 14px;margin-bottom:14px}
.vhero h1{font-size:clamp(2rem,5.4vw,3.75rem);margin-bottom:.25em;color:#fff}
.vhero .meta{font-size:clamp(1.0625rem,2.2vw,1.375rem);font-weight:600;margin:0 0 4px;max-width:none}
.vhero .meta span{color:var(--gold-light)}
.vhero .sub{color:#d6dcf0;margin:0;max-width:60ch}
.vhero .btn{border-color:#fff;color:#fff}.vhero .btn:hover{background:#fff;color:var(--ink)}
.vhero .btn-primary{border-color:var(--accent)}
.sound-btn{position:absolute;z-index:3;top:18px;right:18px;font:600 .9375rem var(--font-body);background:rgba(11,19,48,.72);color:#fff;border:1.5px solid rgba(255,255,255,.7);border-radius:999px;padding:9px 16px;cursor:pointer}
.sound-btn:hover{background:#fff;color:var(--ink)}
.vhero.sound-on .sound-btn{display:none}

.strip{background:var(--ink);color:#fff;padding:22px 0}
.strip .wrap{display:flex;flex-wrap:wrap;gap:14px 36px;align-items:center;justify-content:space-between}
.count{display:flex;gap:10px;align-items:baseline;font-weight:700}
.count b{font-size:2rem;color:var(--gold-light);line-height:1}
.pills{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.pills li{border:1.5px solid rgba(255,255,255,.5);border-radius:999px;padding:4px 13px;font-size:.875rem;font-weight:600}

.dates{display:flex;gap:12px;margin:22px 0}
.dates div{background:var(--ink);color:#fff;border-radius:14px;width:86px;text-align:center;overflow:hidden;font-weight:800;font-size:2rem;line-height:1.5}
.dates div small{display:block;background:var(--accent);font-size:.8125rem;letter-spacing:.08em;line-height:2}
.cat{border-top:6px solid var(--accent)}
.cat:nth-child(7n+2){border-top-color:#12807f}.cat:nth-child(7n+3){border-top-color:#f7a823}.cat:nth-child(7n+4){border-top-color:#7a3aa8}
.cat:nth-child(7n+5){border-top-color:#2f9e44}.cat:nth-child(7n+6){border-top-color:#0b6e9c}.cat:nth-child(7n){border-top-color:#d6336c}
.posters{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.posters a{display:block;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#fff}
.posters img{display:block;width:100%;height:auto}
.partners{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:32px}
.partners .card small{display:block;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:8px}
.plogos{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.plogos img{height:88px;width:auto}
.plogos img.wide{height:76px}
.about-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.badge10{height:112px;width:auto}
.site-footer img.footer-seal{height:72px!important;width:auto;display:block;margin-bottom:12px}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.contact-grid .card a{font-weight:700;font-size:1.125rem;display:block}
.expo-footer-logo{height:96px!important;width:auto;border-radius:10px}
@media (max-width:900px){.posters,.partners,.contact-grid{grid-template-columns:1fr}.posters{max-width:420px}}
.assoc{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.assoc h3{font-size:1.0625rem}
@media (max-width:600px){.assoc{grid-template-columns:1fr}}

/* Enquiry form */
.enquiry{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin-top:28px;max-width:860px}
.enquiry .full{grid-column:1/-1}
.enquiry label{display:block;font-weight:600;font-size:.9375rem;margin-bottom:6px}
.enquiry label span{font-weight:400;color:var(--ink-soft)}
.enquiry input,.enquiry select,.enquiry textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1.5px solid #c9c2b4;border-radius:10px;padding:11px 12px}
.enquiry input:focus,.enquiry select:focus,.enquiry textarea:focus{outline:3px solid var(--gold);outline-offset:1px;border-color:var(--ink)}
.enquiry button{cursor:pointer;font:inherit;font-weight:600}
.enquiry .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-note{font-size:.875rem;color:var(--ink-soft);margin:12px 0 0}
@media (max-width:600px){.enquiry{grid-template-columns:1fr;padding:20px}}
.brand{gap:14px}
.brand img.brand-second{height:60px;padding-left:14px;border-left:1px solid var(--line)}
@media (max-width:600px){.brand img{height:52px}.brand img.brand-second{height:48px}}
.plogos img.mc{height:52px;margin:12px 0}
