/* ===================================================================
   IAPCO 2027 MUMBAI — design system derived from the approved banner
   Palette: orange #F7941D · red-orange #E74D25 · slate #2B3947
            teal #A9D6D3 · deep navy #0E1620
   Type: Clash Display (display) + General Sans (body)
=================================================================== */

/* ---------- TOKENS ---------- */
:root {
  /* type scale */
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.6vw, 1.4rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.3rem + 2.4vw, 3.4rem);
  --text-3xl: clamp(2.6rem, 1.4rem + 4vw, 5rem);

  /* spacing */
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem;
  --space-12:3rem; --space-16:4rem; --space-20:5rem; --space-24:6rem; --space-32:8rem;

  /* brand colors */
  --orange:#F7941D;
  --orange-deep:#E74D25;
  --teal:#A9D6D3;
  --teal-deep:#5fa8a3;
  --navy:#0E1620;
  --navy-2:#15202E;
  --slate:#2B3947;

  --grad-brand:linear-gradient(96deg,#E74D25 0%,#F7941D 78%);
  --grad-brand-soft:linear-gradient(96deg,#f15a2b 0%,#fba43a 100%);

  /* radius / motion / shadow */
  --radius-sm:.5rem; --radius-md:.85rem; --radius-lg:1.25rem; --radius-xl:1.75rem; --radius-full:9999px;
  --ease:cubic-bezier(.16,1,.3,1);
  --t:.4s var(--ease);

  --content:1200px;

  --font-display:'Clash Display','Trebuchet MS',sans-serif;
  --font-body:'General Sans','Helvetica Neue',sans-serif;
}

/* LIGHT (default) */
:root,[data-theme="light"]{
  --bg:#ffffff;
  --bg-soft:#FBF8F4;
  --surface:#ffffff;
  --surface-2:#F7F4EF;
  --border:#EAE3DA;
  --text:#1B2530;
  --text-muted:#5C6975;
  --text-faint:#97A0AA;
  --line-art:#2B3947;
  --header-bg:rgba(255,255,255,.82);
  --grid-line:rgba(43,57,71,.06);
}

/* DARK */
[data-theme="dark"]{
  --bg:#0E1620;
  --bg-soft:#111B27;
  --surface:#15202E;
  --surface-2:#1A2636;
  --border:#27384A;
  --text:#E7ECF1;
  --text-muted:#9FB0BF;
  --text-faint:#6C7E8E;
  --line-art:#9FB6C7;
  --header-bg:rgba(14,22,32,.78);
  --grid-line:rgba(159,182,199,.07);
}

/* ---------- BASE ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:5.5rem;}
body{min-height:100dvh;line-height:1.65;font-family:var(--font-body);font-size:var(--text-base);color:var(--text);background:var(--bg);overflow-x:hidden;transition:background .5s var(--ease),color .5s var(--ease);}
img,svg{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.08;text-wrap:balance;font-weight:600;}
p{text-wrap:pretty;max-width:64ch;}
ul{list-style:none;}
button{cursor:pointer;background:none;border:none;color:inherit;font:inherit;}
::selection{background:rgba(247,148,29,.28);}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:var(--radius-sm);}
.container{width:100%;max-width:var(--content);margin-inline:auto;padding-inline:clamp(1.2rem,5vw,2.5rem);}
.section{padding-block:clamp(var(--space-16),9vw,var(--space-32));}
.skip-link{position:absolute;left:-999px;top:0;background:var(--orange);color:#fff;padding:.6rem 1rem;z-index:200;border-radius:0 0 var(--radius-sm) 0;}
.skip-link:focus{left:0;}

@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}

/* ---------- SHARED HELPERS ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-body);font-weight:600;font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--orange-deep);margin-bottom:var(--space-5);}
.eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:var(--grad-brand);}
.eyebrow--center{justify-content:center;}
.eyebrow--center::after{content:"";width:26px;height:2px;border-radius:2px;background:var(--grad-brand);}
.eyebrow--center::before{content:"";}
.eyebrow--light{color:#ffd9b0;}
.section-title{font-size:var(--text-2xl);letter-spacing:-.01em;color:#083f56;}
.section-title--center{text-align:center;max-width:18ch;margin-inline:auto;}
.lead{font-size:var(--text-lg);color:var(--text-muted);margin-top:var(--space-5);max-width:60ch;}
.lead--center{text-align:center;margin-inline:auto;margin-top:var(--space-6);}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);padding:.85rem 1.6rem;border-radius:var(--radius-full);transition:transform var(--t),box-shadow var(--t),background var(--t),color var(--t),border-color var(--t);white-space:nowrap;}
.btn--lg{padding:1.05rem 2.1rem;font-size:var(--text-base);}
.btn--primary{background:var(--grad-brand);color:#fff;box-shadow:0 10px 26px -10px rgba(231,77,37,.65);}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px -10px rgba(231,77,37,.75);}
.btn--ghost{background:rgba(247,148,29,.10);color:var(--orange-deep);border:1px solid rgba(247,148,29,.32);}
[data-theme="dark"] .btn--ghost{color:var(--orange);}
.btn--ghost:hover{background:rgba(247,148,29,.18);transform:translateY(-2px);}
.btn--outline-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4);}
.btn--outline-light:hover{background:rgba(255,255,255,.12);transform:translateY(-2px);}

/* ---------- HEADER ---------- */
.header{position:sticky;top:0;z-index:100;background:var(--header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color var(--t),box-shadow var(--t),background .5s var(--ease);}
.header.is-scrolled{border-bottom-color:var(--border);box-shadow:0 4px 20px -12px rgba(0,0,0,.25);}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);height:4.9rem;}
.header__logo img{height:86px;width:auto;}
.header__logo .logo-dark{display:none;}
[data-theme="dark"] .header__logo .logo-light{display:none;}
[data-theme="dark"] .header__logo .logo-dark{display:block;}
.nav{display:flex;gap:clamp(1rem,2.4vw,2rem);}
.nav a{font-size:var(--text-sm);font-weight:500;color:var(--text-muted);position:relative;padding:.3rem 0;transition:color var(--t);}
.nav a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--grad-brand);border-radius:2px;transition:width var(--t);}
.nav a:hover{color:var(--text);}
.nav a:hover::after{width:100%;}
.header__actions{display:flex;align-items:center;gap:var(--space-4);}
.theme-toggle{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-full);color:var(--text-muted);border:1px solid var(--border);transition:color var(--t),border-color var(--t),background var(--t);}
.theme-toggle:hover{color:var(--orange-deep);border-color:var(--orange);}
.nav-toggle{display:none;flex-direction:column;gap:5px;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);}
.nav-toggle span{width:20px;height:2px;background:var(--text);border-radius:2px;transition:transform var(--t),opacity var(--t);}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{display:flex;flex-direction:column;}
.mobile-menu[hidden]{display:none;}
.mobile-menu{flex-direction:column;gap:.4rem;padding:var(--space-4) clamp(1.2rem,5vw,2.5rem) var(--space-6);border-top:1px solid var(--border);background:var(--bg);}
.mobile-menu a{padding:.7rem .2rem;font-size:var(--text-base);font-weight:500;color:var(--text);border-bottom:1px solid var(--border);}
.mobile-menu .btn{margin-top:var(--space-3);border-bottom:none;}

/* ---------- HERO ---------- */
.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;    padding-block: clamp(0.5rem, 2vw, 4rem) clamp(1rem, 2vw, 2.5rem)}
[data-theme="light"] .hero{background:linear-gradient(180deg,#0E1620 0%,#13202E 100%);}
.hero__bg{position:absolute;inset:0;z-index:0;}
.hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 38%,#000 35%,transparent 78%);mask-image:radial-gradient(ellipse 75% 70% at 50% 38%,#000 35%,transparent 78%);}
.hero__glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;}
.hero__glow--1{width:560px;height:560px;background:radial-gradient(circle,rgba(231,77,37,.55),transparent 65%);top:-160px;right:-120px;}
.hero__glow--2{width:520px;height:520px;background:radial-gradient(circle,rgba(247,148,29,.42),transparent 65%);bottom:-200px;left:-120px;}
.hero__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;}
.hero__eyebrow{font-size:var(--text-sm);font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin-bottom:var(--space-8);}
.hero__banner{width:min(870px,92%);height:auto;filter:drop-shadow(0 20px 50px rgba(0,0,0,.45));}
.hero__tagline{font-size:var(--text-lg);color:#D5DEE6;max-width:46ch;margin-bottom:var(--space-8);}
.hero__meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-4);font-size:var(--text-sm);color:#C6D2DC;margin-bottom:var(--space-10);}
.hero__meta strong{color:#fff;font-weight:600;}
.dot{width:5px;height:5px;border-radius:50%;background:var(--orange);display:inline-block;}
.hero__cta{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;margin-bottom:var(--space-16);}
.hero__cta .btn--ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.28);}
.hero__cta .btn--ghost:hover{background:rgba(255,255,255,.16);}

/* countdown */
.hero__countdown{display:flex;gap:clamp(.6rem,2.5vw,1.4rem);}
.cd{min-width:78px;padding:var(--space-4) var(--space-3);border-radius:var(--radius-md);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;}
.cd__num{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--orange);line-height:1;}
.cd__label{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:#A9B6C1;margin-top:.4rem;}

/* ---------- PILLARS STRIP ---------- */
.pillars-strip{background:var(--grad-brand);}
.pillars-strip__grid{display:grid;grid-template-columns:repeat(4,1fr);}
.pillar-chip{display:flex;align-items:center;justify-content:center;gap:.7rem;padding:var(--space-6) var(--space-4);color:#fff;font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;border-right:1px solid rgba(255,255,255,.22);}
.pillar-chip:last-child{border-right:none;}
.pillar-chip__no{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;background:rgba(255,255,255,.22);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;letter-spacing:0;}

/* ---------- ABOUT ---------- */
.about{background:var(--bg);}
.about__grid{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start;}
.about__intro p{margin-top:var(--space-4);color:var(--text-muted);}
.about__intro .lead{color:var(--text);}
.signatures{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border);}
.sig{display:flex;flex-direction:column;}
.sig__name{font-family:var(--font-display);font-weight:600;color:var(--text);}
.sig__org{font-size:var(--text-sm);color:var(--orange-deep);font-weight:600;}
.info-card{position:relative;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-10) var(--space-8) var(--space-8);overflow:hidden;}
.info-card__art{position:absolute;top:-30px;right:-20px;width:170px;color:var(--orange);opacity:.16;}
.info-card h3{font-size:var(--text-xl);color:#083f56;}
.info-card__sub{font-size:var(--text-sm);color:var(--orange-deep);font-weight:600;font-style:italic;margin-top:.2rem;margin-bottom:var(--space-4);}
.info-card>p{color:var(--text-muted);}
.fact-list{margin-top:var(--space-6);display:flex;flex-direction:column;gap:.85rem;}
.fact-list li{display:flex;justify-content:space-between;gap:var(--space-4);padding-bottom:.85rem;border-bottom:1px solid var(--border);font-size:var(--text-sm);}
.fact-list li:last-child{border-bottom:none;padding-bottom:0;}
.fact-list span{color:var(--text-faint);}
.fact-list strong{color:var(--text);text-align:right;font-weight:600;}

/* ---------- SKYLINE DIVIDER ---------- */
.skyline-divider{color:var(--line-art);background:var(--bg);padding-block:var(--space-4) 0;}
.skyline-divider img{width:100%;max-width:var(--content);margin-inline:auto;opacity:.55;}

/* ---------- THEME ---------- */
.theme{background:var(--bg-soft);}
.theme__head{margin-bottom:clamp(2.5rem,6vw,4rem);}
.theme__cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);}
.theme-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6) var(--space-6);overflow:hidden;transition:transform var(--t),box-shadow var(--t),border-color var(--t);}
.theme-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad-brand);transform:scaleX(0);transform-origin:left;transition:transform var(--t);}
.theme-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px -24px rgba(27,37,48,.35);border-color:transparent;}
.theme-card:hover::before{transform:scaleX(1);}
.theme-card__no{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:block;line-height:1;margin-bottom:var(--space-4);opacity:.9;}
.theme-card h3{font-size:var(--text-xl);color:var(--text);margin-bottom:var(--space-3);}
.theme-card p{font-size:var(--text-sm);color:var(--text-muted);}

/* ---------- PROGRAMME ---------- */
.programme{background:var(--bg);}
.programme__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.programme__intro p{color:var(--text-muted);margin-block:var(--space-5) var(--space-8);}
.track-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);}
.track{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--orange);border-radius:var(--radius-md);padding:var(--space-6);transition:transform var(--t),box-shadow var(--t);}
.track:nth-child(even){border-left-color:var(--orange-deep);}
.track:hover{transform:translateY(-4px);box-shadow:0 16px 34px -22px rgba(27,37,48,.4);}
.track h3{font-size:var(--text-lg);color:var(--text);margin-bottom:var(--space-2);}
.track p{font-size:var(--text-sm);color:var(--text-muted);}

/* ---------- EXPERIENCE ---------- */
.experience{background:var(--bg-soft);}
.experience__head{margin-bottom:clamp(2.5rem,6vw,4rem);}
.exp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);}
.exp-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--t),box-shadow var(--t);}
.exp-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px -26px rgba(27,37,48,.4);}
.exp-card__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg-soft);}
.exp-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1);}
.exp-card:hover .exp-card__media img{transform:scale(1.06);}
.exp-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(14,22,32,.35));pointer-events:none;}
.exp-card__body{position:relative;z-index:1;padding:var(--space-6);flex:1;}
.exp-card h3{font-size:var(--text-lg);color:var(--text);margin-bottom:var(--space-2);}
.exp-card p{font-size:var(--text-sm);color:var(--text-muted);max-width:48ch;}

/* ---------- VENUE ---------- */
.venue{background:var(--bg);}
.venue__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.venue__art{position:relative;border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border);box-shadow:0 24px 60px -32px rgba(14,22,32,.55);}
.venue__photo{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.venue__caption{position:absolute;left:0;right:0;bottom:0;padding:var(--space-5) var(--space-6);font-size:var(--text-sm);color:#fff;background:linear-gradient(180deg,transparent,rgba(14,22,32,.82));}
.venue__copy .lead{color:var(--text-muted);}
.fact-list--inline{margin-top:var(--space-8);}

/* ---------- HOSTS ---------- */
.hosts{background:var(--bg);}
.hosts__inner{display:flex;flex-direction:column;align-items:center;text-align:center;}
.hosts__logos{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-6);margin-top:clamp(2.5rem,6vw,3.5rem);}
.host-chip{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-8);display:grid;place-items:center;min-width:240px;min-height:130px;box-shadow:0 16px 40px -28px rgba(14,22,32,.4);transition:transform var(--t),box-shadow var(--t);}
.host-chip:hover{transform:translateY(-4px);box-shadow:0 24px 52px -28px rgba(14,22,32,.5);}
.host-chip img{max-height:84px;width:auto;object-fit:contain;}

/* ---------- SPONSORS ---------- */
.sponsors{background:var(--bg-soft);}
.sponsors__inner{display:flex;flex-direction:column;align-items:center;text-align:center;}
.sponsor-placeholders{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5);width:100%;margin-block:clamp(2.5rem,6vw,3.5rem);}
.sponsor-slot{aspect-ratio:16/7;border:1.5px dashed var(--border);border-radius:var(--radius-md);display:grid;place-items:center;color:var(--text-faint);font-size:var(--text-sm);background:var(--surface);transition:border-color var(--t),color var(--t);}
.sponsor-slot:hover{border-color:var(--orange);color:var(--orange-deep);}

/* ---------- REGISTER ---------- */
.register{position:relative;overflow:hidden;background:var(--navy);color:#fff;}
.register__bg{position:absolute;inset:0;z-index:0;}
.register__bg .hero__glow{opacity:.55;}
.register__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;}
.register__title{font-size:var(--text-2xl);margin-bottom:var(--space-5);max-width:18ch;}
.register__sub{font-size:var(--text-lg);color:#CBD6DF;max-width:54ch;margin-bottom:var(--space-8);}
.register__meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-4);font-size:var(--text-sm);color:#C6D2DC;margin-bottom:var(--space-10);}
.register__meta strong{color:#fff;}
.register__cta{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;}

/* ---------- FOOTER ---------- */
.footer{background:var(--navy-2);color:#C6D2DC;padding-block:clamp(3rem,6vw,4.5rem) var(--space-8);}
[data-theme="light"] .footer{background:#0E1620;}
.footer__inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--space-8);padding-bottom:var(--space-12);border-bottom:1px solid rgba(255,255,255,.1);}
.footer__brand img{height:46px;width:auto;margin-bottom:var(--space-5);}
.footer__brand p{font-size:var(--text-sm);color:#9FB0BF;max-width:34ch;}
.footer__col h4{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:var(--space-4);}
.footer__col a,.footer__detail{display:block;font-size:var(--text-sm);color:#B6C3CE;padding:.3rem 0;margin:0;}
.footer__col a:hover{color:#fff;}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-8);font-size:var(--text-xs);color:#7C8B97;}

/* ---------- REVEAL ANIMATION ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.is-in{opacity:1;transform:none;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
  .about__grid,.programme__grid,.venue__grid{grid-template-columns:1fr;}
  .theme__cards{grid-template-columns:1fr 1fr;}
  .exp-grid{grid-template-columns:1fr 1fr;}
  .venue__art{order:-1;}
}
@media (max-width:860px){
  .nav{display:none;}
  .nav-toggle{display:flex;}
  .header__actions .btn--primary{display:none;}
  .pillars-strip__grid{grid-template-columns:1fr 1fr;}
  .pillar-chip:nth-child(2){border-right:none;}
  .pillar-chip:nth-child(1),.pillar-chip:nth-child(2){border-bottom:1px solid rgba(255,255,255,.22);}
  .footer__inner{grid-template-columns:1fr 1fr;}
  .footer__brand{grid-column:span 2;}
}
@media (max-width:620px){
  .theme__cards,.exp-grid,.sponsor-placeholders,.track-list{grid-template-columns:1fr;}
  .sponsor-placeholders{grid-template-columns:1fr 1fr;}
  .host-chip{min-width:0;width:100%;}
  .hero__countdown{flex-wrap:wrap;justify-content:center;}
  .cd{min-width:68px;}
  .footer__inner{grid-template-columns:1fr;}
  .footer__brand{grid-column:span 1;}
}
.host-country-section {
    position: relative;
    overflow: hidden;
    background: #faf7f4;
}

.host-country-section::before{
    content:'';
    position:absolute;
    inset:0;

    background:
    radial-gradient(
        circle at 0% 40%,
        rgba(255,194,155,.65) 0%,
        rgba(255,194,155,.35) 22%,
        rgba(255,194,155,.12) 40%,
        transparent 70%
    ),
    linear-gradient(
        rgba(80,80,80,.05) 1px,
        transparent 1px
    ),
    linear-gradient(
        90deg,
        rgba(80,80,80,.05) 1px,
        transparent 1px
    );

    background-size:
        cover,
        54px 54px,
        54px 54px;

    z-index:0;
}
.section.theme{
    position: relative;
    overflow: hidden;
    background: #faf7f4;
}

/* Background Mask */
.section.theme::before{
    content: "";
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at left center,
            rgba(255, 205, 175, 0.55) 0%,
            rgba(255, 205, 175, 0.22) 25%,
            rgba(255,255,255,0) 65%
        ),

        linear-gradient(
            rgba(0,0,0,0.04) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(0,0,0,0.04) 1px,
            transparent 1px
        );

    background-size:
        cover,
        55px 55px,
        55px 55px;

    z-index: 0;
    pointer-events: none;
}

/* Content above mask */
.section.theme .container{
    position: relative;
    z-index: 2;
}
.theme-card{
    background: rgba(255,255,255,0.75);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.6);
    box-shadow: 0 15px 35px rgba(0,0,0,0.06);
}
.host-country-wrap{
    position:relative;
    z-index:2;
}
.host-country-section {
  width: 100%;
  padding: 15px 5%;
  background: linear-gradient(90deg, #f7f2ec 0%, #ffffff 55%, #f8fafb 100%);
  font-family: Arial, Helvetica, sans-serif;
}

.host-country-wrap {
  max-width: 1540px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 68px;
  align-items: center;
}

.host-image-box {
  background: #ffffff;
  padding: 16px;
  border-radius: 34px;
  box-shadow: 0 18px 45px rgba(0,0,0,0.08);
}

.host-image-box img {
  width: 100%;
  height: 585px;
  object-fit: cover;
  display: block;
  border-radius: 24px;
}

.host-content {
  max-width: 620px;
}

.host-tag {
  display: inline-block;
  padding: 12px 22px;
  border-radius: 28px;
  background: #fff1e8;
  border: 1px solid #ffc9aa;
  color: #f05a1a;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 2px;
  margin-bottom: 22px;
}

.host-content h2 {
  margin: 0;
  color: #083f56;
  font-size: 46px;
  line-height: 1.15;
  font-weight: 900;
}

.host-content h2 span {
  font-weight: 900;
}

.title-line {
  width: 100px;
  height: 5px;
  background: #ff7a18;
  border-radius: 10px;
  margin: 20px 0 30px;
}

.host-content p {
  color: #687580;
  font-size: 21px;
  line-height: 1.75;
  margin: 0 0 24px;
}

/* Tablet */
@media (max-width: 991px) {
  .host-country-section {
    padding: 40px 24px;
  }

  .host-country-wrap {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .host-image-box img {
    height: 430px;
  }

  .host-content {
    max-width: 100%;
  }

  .host-content h2 {
    font-size: 38px;
  }

  .host-content p {
    font-size: 18px;
  }
}

/* Mobile */
@media (max-width: 575px) {
  .host-country-section {
    padding: 28px 15px;
  }

  .host-image-box {
    padding: 10px;
    border-radius: 24px;
  }

  .host-image-box img {
    height: 280px;
    border-radius: 18px;
  }

  .host-tag {
    font-size: 12px;
    padding: 9px 16px;
    letter-spacing: 1.5px;
  }

  .host-content h2 {
    font-size: 32px;
  }

  .title-line {
    width: 80px;
    height: 4px;
    margin: 16px 0 22px;
  }

  .host-content p {
    font-size: 16px;
    line-height: 1.7;
  }
}
.mask-grid-section{
    position: relative;
    overflow: hidden;
    background: #faf7f4;
}

.mask-grid-section::before{
    content:'';
    position:absolute;
    inset:0;
    background:
    radial-gradient(circle at left center,
    rgba(255,205,175,.55) 0%,
    rgba(255,205,175,.22) 25%,
    transparent 65%),
    linear-gradient(rgba(0,0,0,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,.04) 1px, transparent 1px);

    background-size: cover,55px 55px,55px 55px;
    z-index:0;
}

.mask-grid-section > *{
    position:relative;
    z-index:2;
}

.reasons-section{
  position: relative;
  overflow: hidden;
  padding: 90px 5%;
  background: #faf7f4;
  font-family: Arial, Helvetica, sans-serif;
}

/* Masked Grid Background */
.reasons-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 0% 35%,
      rgba(255, 190, 145, .65) 0%,
      rgba(255, 190, 145, .30) 26%,
      rgba(255, 255, 255, 0) 70%
    ),
    linear-gradient(rgba(0,0,0,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,.045) 1px, transparent 1px);
  background-size: cover, 58px 58px, 58px 58px;
  z-index:0;
}

.reasons-section::after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-120px;
  top:-100px;
  background: radial-gradient(circle, rgba(255,122,24,.18), transparent 70%);
  border-radius:50%;
  z-index:0;
}

.reasons-container{
  position:relative;
  z-index:2;
  max-width:1280px;
  margin:0 auto;
}

.reasons-head{
  text-align:center;
  max-width:820px;
  margin:0 auto 55px;
}

.reasons-logo{
  width:360px;
  max-width:100%;
  margin:0 auto 28px;
  display:block;
}

.reasons-tag{
  display:inline-block;
  padding:10px 22px;
  border-radius:30px;
  background:#fff1e8;
  border:1px solid #ffc6a7;
  color:#f15b1a;
  font-size:14px;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:18px;
}

.reasons-head h2{
  margin:0;
  font-size:48px;
  line-height:1.1;
  font-weight:900;
  color:#0b3f55;
}

.reasons-head p{
  margin:20px auto 0;
  font-size:20px;
  line-height:1.7;
  color:#65737e;
}

.reasons-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
}

.reason-card{
  position:relative;
  min-height:310px;
  padding:34px 28px;
  border-radius:28px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:
    0 18px 45px rgba(0,0,0,.07),
    inset 0 1px 0 rgba(255,255,255,.9);
  overflow:hidden;
  transition:all .35s ease;
}

.reason-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,122,24,.15), transparent 45%);
  opacity:0;
  transition:.35s ease;
}

.reason-card:hover{
  transform:translateY(-8px);
  box-shadow:0 28px 60px rgba(0,0,0,.12);
}

.reason-card:hover::before{
  opacity:1;
}

.reason-no{
  position:absolute;
  top:22px;
  right:26px;
  font-size:48px;
  font-weight:900;
  color:rgba(241,91,26,.13);
  line-height:1;
}

.reason-icon{
  width:54px;
  height:54px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, #f15b1a, #ff9f1c);
  color:#fff;
  font-size:24px;
  margin-bottom:26px;
  box-shadow:0 12px 28px rgba(241,91,26,.28);
}

.reason-card h3{
  position:relative;
  margin:0 0 14px;
  font-size:23px;
  line-height:1.25;
  color:#0b3f55;
  font-weight:900;
}

.reason-card p{
  position:relative;
  margin:0;
  font-size:16px;
  line-height:1.75;
  color:#65737e;
}

.reason-card--wide{
  grid-column:span 2;
}

/* Tablet */
@media(max-width:991px){
  .reasons-section{
    padding:70px 24px;
  }

  .reasons-grid{
    grid-template-columns:repeat(2, 1fr);
  }

  .reasons-head h2{
    font-size:40px;
  }

  .reasons-head p{
    font-size:18px;
  }
}

/* Mobile */
@media(max-width:575px){
  .reasons-section{
    padding:55px 16px;
  }

  .reasons-logo{
    width:280px;
  }

  .reasons-head h2{
    font-size:34px;
  }

  .reasons-head p{
    font-size:16px;
  }

  .reasons-grid{
    grid-template-columns:1fr;
  }

  .reason-card,
  .reason-card--wide{
    grid-column:span 1;
  }

  .reason-card{
    min-height:auto;
    padding:30px 24px;
  }
}
