/* India Energy Summit, Madhya Pradesh. Shared by index.html and express-interest.html. */
/* Colours are taken from the summit logo: black wordmark, amber-to-orange rays,
   stupa red and maroon outlines, on white. Dark sections use a maroon-black. */
:root{
 --ink:#15100e;--ink-2:#3d332e;--muted:#675b54;
 --paper:#fff7ec;--line:#f0e0ce;--white:#fff;
 --amber:#f6b01e;--sun:#ffd040;--orange:#e7781b;--orange-deep:#cc5216;--red:#dd4a42;--maroon:#540326;
 --dark-950:#16070c;--dark-900:#1e0911;--dark:#2e0d1b;--dark-700:#47122b;
 --on-dark:#f3e6da;--on-dark-2:#cdb8ab;
 --shadow:0 24px 60px -18px rgba(84,3,38,.24);
 --display:Inter,Archivo,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
 --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:106px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--display);color:var(--ink);background:#fff;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:6px}
.wrap{width:min(1240px,100% - 48px);margin-inline:auto}
.skip{position:absolute;left:12px;top:-60px;z-index:60;background:#fff;padding:10px 16px;border-radius:10px;font-weight:700}
.skip:focus{top:12px}

/* ---- shared type ---- */
.kicker{display:flex;align-items:center;gap:10px;color:#a8480f;text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:13px;margin-bottom:14px}
.kicker:before{content:"";width:26px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--orange-deep),var(--amber))}
.title{font-size:clamp(30px,3.7vw,48px);line-height:1.08;letter-spacing:-.022em;font-weight:800;font-stretch:108%;color:var(--ink);margin-bottom:18px;text-wrap:balance}
.lead{color:var(--muted);font-size:18px;max-width:720px}
.dark .kicker{color:var(--amber)}
.dark .kicker:before{background:linear-gradient(90deg,var(--orange),var(--sun))}
.dark .title{color:#fff}
.dark .lead{color:var(--on-dark)}
section{padding:clamp(64px,7.5vw,108px) 0}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:15px 26px;font-weight:700;font-size:16px;line-height:1.2;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s}
.btn svg{width:17px;height:17px;flex:none}
.btn--sun{background:linear-gradient(100deg,#f8bf2c,#f08f1d);color:var(--ink);box-shadow:0 12px 28px -10px rgba(231,120,27,.6)}
.btn--sun:hover{transform:translateY(-2px);box-shadow:0 18px 34px -10px rgba(231,120,27,.75)}
.btn--ghost{border:1.5px solid rgba(21,16,14,.34);color:var(--ink)}
.btn--ghost:hover{background:rgba(21,16,14,.06);transform:translateY(-2px)}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:var(--maroon);transform:translateY(-1px)}
.nav .btn--dark{padding:12px 22px;font-size:15px}

/* ---- header ---- */
.topline{height:5px;background:linear-gradient(90deg,var(--maroon),var(--red) 30%,var(--orange) 62%,var(--amber))}
header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:block;flex:none}
.brand img{height:78px;width:auto}
.navlinks{display:flex;align-items:center;gap:20px;font-size:14.5px;font-weight:600;color:var(--ink-2)}
.navlinks a{position:relative;padding:6px 0;white-space:nowrap}
.nav>.btn--dark{white-space:nowrap}
.navlinks a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--orange);transition:right .22s var(--ease)}
.navlinks a:hover:after{right:0}
.navlinks__cta{display:none}
/* Past Editions dropdown */
.dd{position:relative}
.dd__btn{display:inline-flex;align-items:center;gap:5px;border:0;background:none;font:inherit;color:inherit;padding:6px 0;cursor:pointer;position:relative}
.dd__btn:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--orange);transition:right .22s var(--ease)}
.dd:hover .dd__btn:after,.dd.open .dd__btn:after{right:0}
.dd__btn svg{width:14px;height:14px;transition:transform .22s var(--ease)}
.dd:hover .dd__btn svg,.dd.open .dd__btn svg{transform:rotate(180deg)}
.dd__menu{list-style:none;position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%,8px);width:400px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s linear .2s}
.dd__menu:before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.dd.open .dd__menu{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s}
@media(hover:hover){.dd:hover .dd__menu{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s}}
.dd__menu a{display:block;padding:11px 14px;border-radius:12px;line-height:1.35}
.dd__menu a:after{display:none}
.dd__menu a:hover{background:var(--paper)}
.dd__menu b{display:block;font-size:15px;font-weight:700;color:var(--ink)}
.dd__menu span{display:block;margin-top:3px;font-size:13.5px;font-weight:500;color:var(--muted)}
.menu{display:none;border:0;background:var(--paper);border-radius:12px;width:46px;height:46px;cursor:pointer;color:var(--ink);padding:11px}

/* ---- hero: light, like the logo's own background ---- */
.hero{position:relative;overflow:hidden;color:var(--ink);border-bottom:1px solid var(--line);padding:clamp(20px,2.2vw,30px) 0 clamp(52px,5vw,74px);background:
 radial-gradient(46% 70% at 82% 46%,rgba(248,191,44,.34),transparent 72%),
 radial-gradient(40% 60% at 0% 100%,rgba(231,120,27,.10),transparent 70%),
 linear-gradient(180deg,#fffaf2,#fff2e0)}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(84,3,38,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(84,3,38,.045) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(100deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(100deg,#000,transparent 70%)}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:clamp(24px,3.4vw,48px);align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:#a8480f;font-size:13.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px rgba(231,120,27,.2)}
h1{font-size:clamp(46px,5.3vw,78px);line-height:1;letter-spacing:-.026em;margin:20px 0 20px;font-weight:800;font-stretch:108%;color:var(--ink)}
h1 span{display:block}
h1 .glow{white-space:nowrap;padding-bottom:.08em;background:linear-gradient(95deg,#de6f1a 0%,#d4551a 55%,#bd4117 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{font-size:clamp(19px,1.9vw,26px);line-height:1.3;font-weight:600;font-stretch:104%;color:var(--ink-2);max-width:560px;margin-bottom:30px;text-wrap:balance}
.hero-sub strong{color:var(--orange-deep);font-weight:700}
.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rail{position:relative;display:flex;flex-wrap:wrap;gap:16px clamp(24px,3vw,44px);margin-top:clamp(30px,3vw,40px);padding-top:20px;border-top:1px solid rgba(21,16,14,.14)}
.rail dt{font-size:12.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.rail dd{margin:3px 0 0;white-space:nowrap;font-size:19px;font-weight:700;font-stretch:104%;letter-spacing:-.005em;color:var(--ink)}

/* The sun: the official logo on a white disc, ringed by rays in the logo's own colours. */
.sun{position:relative;width:min(100%,560px);aspect-ratio:1;margin-left:auto}
.sun__rays{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.sun__disc{position:absolute;inset:14.5%;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 0 0 9px rgba(255,255,255,.6),0 34px 70px -26px rgba(84,3,38,.42)}
.sun__disc img{width:76%;height:auto;margin-top:-3%}
.js .ray{animation:rayIn .55s var(--ease) both;animation-delay:calc(var(--i)*13ms + .1s)}
@keyframes rayIn{from{opacity:0;transform:scale(.93)}to{opacity:1;transform:none}}

/* ---- partner row at the top of the banner. Every logo sits on white, as supplied. ---- */
.pbar{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 44px -26px rgba(84,3,38,.3);padding:16px clamp(20px,3vw,44px) 18px;margin-bottom:clamp(30px,3.6vw,50px)}
.pb{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px}
.pb--left{justify-self:start}
.pb--right{justify-self:end}
.pb__label{font-size:13.5px;font-weight:600;color:var(--ink-2)}
.pb img{height:58px;width:auto}
.pb--hosts{flex-direction:row;align-items:stretch;gap:0}
.pb--hosts>div{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 clamp(18px,3vw,46px)}
.pb--hosts>div+div{border-left:1px solid var(--line)}
.pb--hosts img{height:78px}
.pb--hosts img.pb__co{height:72px;margin:3px 0}
.pb__name{font-size:13px;line-height:1.3;color:var(--muted)}
.pb__name b{display:block;font-size:14px;font-weight:700;color:var(--ink)}

/* ---- power base ---- */
.base{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,76px);align-items:center}
.base .title{font-size:clamp(29px,3.2vw,42px)}
.chips__label{margin:26px 0 12px;font-size:16px;font-weight:700;color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips li{display:flex;align-items:center;gap:9px;border:1.5px solid var(--line);border-radius:999px;padding:9px 16px 9px 13px;font-size:15.5px;font-weight:600;color:var(--ink-2);background:#fff}
.chips li:before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--orange-deep),var(--amber));flex:none}
.cap{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:clamp(22px,2.8vw,36px)}
.cap figcaption{margin-bottom:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.cap__num{display:block;font-size:clamp(54px,5.6vw,76px);line-height:1;font-weight:800;font-stretch:108%;letter-spacing:-.03em;color:var(--ink)}
.cap__num small{font-size:.4em;font-weight:700;letter-spacing:0;margin-left:.14em;color:var(--muted)}
.cap figcaption b{display:block;margin-top:10px;font-size:18.5px;line-height:1.25;font-weight:700;font-stretch:104%;color:var(--ink)}
.cap figcaption span.cap__sub{display:block;margin-top:2px;font-size:14.5px;color:var(--muted)}
/* Ranked bars from one baseline: one hue, value printed at the tip, labels in ink. */
.bar{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;column-gap:14px;padding:12px 0}
.bar dt{font-size:16.5px;font-weight:600;color:var(--ink)}
.bar dd{display:flex;align-items:center;gap:10px;min-height:36px;border-left:1px solid #d9c6b2}
.bar i{flex:0 0 calc((100% - 112px)*var(--f));height:22px;background:var(--orange-deep);border-radius:0 4px 4px 0;transform-origin:0 50%}
.bar b{font-size:17.5px;font-weight:700;color:var(--ink);white-space:nowrap}
.js .reveal .bar i{transform:scaleX(0);transition:transform 1s var(--ease) calc(var(--d)*130ms + .2s)}
.js .reveal.in .bar i{transform:none}

/* ---- the summit ---- */
.summit{background:var(--paper)}
.about{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(36px,6vw,84px);align-items:center}
.collage{position:relative;padding:0 0 72px 0}
.collage__a{border-radius:24px;width:88%;aspect-ratio:5/4;object-fit:cover}
.collage__b{position:absolute;right:0;bottom:0;width:58%;aspect-ratio:3/2;object-fit:cover;border-radius:20px;border:7px solid var(--paper);box-shadow:var(--shadow)}
.collage__badge{position:absolute;left:-14px;bottom:18px;width:190px;background:var(--dark);border-radius:18px;padding:16px 18px;font-size:14px;line-height:1.35;color:var(--on-dark)}
.collage__badge b{display:block;font-size:44px;line-height:1;font-weight:800;font-stretch:112%;margin-bottom:5px;background:linear-gradient(95deg,var(--sun),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.aims__intro{margin:26px 0 14px;font-size:17px;font-weight:700;line-height:1.4;color:var(--ink)}
.aims{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.aims li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px 16px;font-size:16px;font-weight:600;color:var(--ink-2);line-height:1.35}
.aims svg{width:24px;height:24px;flex:none;color:var(--orange-deep);margin-top:-1px}

/* ---- key focus sectors ---- */
/* ---- program chair ---- */
.chair{background:#fff}
.chair__grid{display:grid;grid-template-columns:minmax(0,440px);gap:40px;justify-content:center}
.chair__card{position:relative;width:min(100%,440px);margin:14px auto 0;background:#fff;border:1.5px solid var(--line);border-radius:30px;padding:40px 26px 30px;text-align:center;box-shadow:0 34px 70px -42px rgba(84,3,38,.4)}
.chair__tag{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:var(--ink);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:9px 18px;white-space:nowrap}
.chair__photo{position:relative;aspect-ratio:1;border-radius:22px;overflow:hidden}
.chair__photo:before{content:"";position:absolute;inset:0;border-radius:999px 999px 0 0;background:radial-gradient(circle at 50% 40%,rgba(255,240,205,.5),transparent 44%),linear-gradient(172deg,#f8bf2c,#e7781b 58%,#cc5216)}
.chair__photo img{position:relative;width:100%;height:100%;object-fit:contain;object-position:bottom}
.chair__card--sm{width:min(100%,384px)}
.chair__card--sm .chair__name{font-size:clamp(20px,1.7vw,22px)}
.chair__card--sm .chair__role{font-size:15.5px}
.chair__card--sm .chair__org{font-size:14.5px}
.chair__card figcaption{padding-top:20px}
.chair__name{font-size:clamp(22px,2vw,26px);line-height:1.2;letter-spacing:-.012em;font-weight:800;font-stretch:104%;color:var(--ink);margin:0 0 10px}
.chair__role{display:block;font-size:16.5px;line-height:1.45;font-weight:700;color:var(--orange-deep)}
.chair__role abbr{text-decoration:none}
.chair__org{display:block;margin-top:8px;font-size:15px;font-weight:600;color:var(--muted)}
.sectors{background:linear-gradient(112deg,var(--dark-950),var(--dark) 74%);color:#fff}
.sectors__grid{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(32px,5vw,76px);align-items:start}
.sectors__head{position:sticky;top:126px}
.sindex{margin-top:8px;border-top:1px solid rgba(255,255,255,.14)}
.sindex a{display:flex;gap:14px;align-items:baseline;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:16px;font-weight:600;line-height:1.3;color:var(--on-dark);transition:color .2s,padding-left .2s var(--ease)}
.sindex a:hover{color:#fff;padding-left:6px}
.sindex b{font-size:13.5px;font-weight:700;letter-spacing:.06em;color:var(--amber);flex:none}
.sline{position:relative;padding-left:44px}
.sline:before{content:"";position:absolute;left:7px;top:34px;bottom:34px;width:2px;background:linear-gradient(rgba(246,176,30,.85),rgba(231,120,27,.18))}
.sector{position:relative;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:26px 28px 28px;scroll-margin-top:32px}
.sector+.sector{margin-top:18px}
.sector:before{content:"";position:absolute;left:-44px;top:32px;width:16px;height:16px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 5px rgba(255,208,64,.18);animation:pulse 3.8s ease-in-out infinite;animation-delay:calc(var(--i)*.55s)}
@keyframes pulse{0%,60%,100%{box-shadow:0 0 0 5px rgba(255,208,64,.18)}25%{box-shadow:0 0 0 13px rgba(255,208,64,.1)}}
.sector__top{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.sector__icon{width:50px;height:50px;border-radius:15px;background:rgba(246,176,30,.16);color:var(--amber);display:grid;place-items:center;flex:none}
.sector__icon svg{width:26px;height:26px}
.sector__n{display:block;font-size:13.5px;font-weight:700;letter-spacing:.08em;color:var(--amber);margin-bottom:3px}
.sector h3{font-size:clamp(21px,2.1vw,26px);line-height:1.18;font-weight:800;font-stretch:104%;letter-spacing:-.012em}
.sector ul{display:grid;grid-template-columns:1fr 1fr;gap:11px 30px}
.sector li{position:relative;padding-left:22px;font-size:16.5px;line-height:1.4;color:var(--on-dark)}
.sector li:before{content:"";position:absolute;left:0;top:.62em;width:11px;height:2px;border-radius:2px;background:var(--orange)}

/* ---- who should participate ---- */
.participants{background:var(--paper)}
.attend{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(30px,6vw,84px);align-items:start}
.who{display:grid;grid-template-columns:1fr 1fr;column-gap:34px;border-top:1px solid var(--line)}
.who li{display:flex;align-items:center;gap:13px;padding:17px 0;border-bottom:1px solid var(--line);font-size:17px;font-weight:600;color:var(--ink-2);line-height:1.3}
.who svg{width:22px;height:22px;flex:none;color:var(--orange-deep)}

/* ---- past speakers ---- */
.leads{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:40px}
.group{margin-top:46px}
.group h3{display:flex;align-items:center;gap:14px;font-size:15px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink);margin-bottom:20px}
.group h3:after{content:"";flex:1;height:1px;background:var(--line)}
.people{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px 20px}
.person__photo{position:relative;aspect-ratio:1;border-radius:20px;overflow:hidden;background:
 radial-gradient(circle at 50% 118%,#f8bf2c 0 40%,#ee8a1c 40.4% 53%,transparent 53.4%),
 repeating-conic-gradient(from -92deg at 50% 118%,rgba(231,120,27,.16) 0 4deg,transparent 4deg 9.2deg),
 linear-gradient(160deg,#fff3df,#ffe3bd 76%)}
.person__photo img{position:relative;width:100%;height:100%;object-fit:contain;object-position:bottom;transition:transform .45s var(--ease);transform-origin:50% 100%}
.person:hover .person__photo img{transform:scale(1.045)}
.person figcaption{padding-top:13px}
.person strong{display:block;font-size:16.5px;line-height:1.25;font-weight:700;font-stretch:102%;color:var(--ink)}
.person span.r{display:block;font-size:14.5px;line-height:1.4;color:var(--muted);margin-top:4px}
.person--lead strong{font-size:19.5px;font-weight:800;font-stretch:104%;letter-spacing:-.008em}
.person--lead span.r{font-size:15px}
.person__tag{position:absolute;left:12px;top:12px;z-index:1;background:var(--ink);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.03em;border-radius:999px;padding:5px 12px}

/* ---- glimpses ---- */
.glimpses{background:var(--dark-950);color:#fff}
.strip__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.strip__nav{display:flex;gap:10px;flex:none;padding-bottom:6px}
.strip__btn{width:50px;height:50px;border-radius:50%;border:1.5px solid rgba(255,255,255,.28);background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .2s,border-color .2s,opacity .2s}
.strip__btn svg{width:20px;height:20px}
.strip__btn:hover:not(:disabled){background:var(--orange);border-color:var(--orange)}
.strip__btn:disabled{opacity:.3;cursor:default}
.strip__play{margin-right:8px;background:rgba(255,255,255,.08)}
.strip__play svg{width:18px;height:18px}
.strip__play .ico-play{display:none}
.strip__play.paused .ico-pause{display:none}
.strip__play.paused .ico-play{display:block}
.strip{--gut:24px;--sh:clamp(200px,23vw,320px);margin-top:40px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding-inline:max(var(--gut),calc((100% - 1240px)/2));scroll-padding-inline:max(var(--gut),calc((100% - 1240px)/2));scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--gut),#000 calc(100% - var(--gut)),transparent);mask-image:linear-gradient(90deg,transparent,#000 var(--gut),#000 calc(100% - var(--gut)),transparent);outline-offset:-3px}
.strip::-webkit-scrollbar{display:none}
.strip__track{display:flex;gap:12px;list-style:none;width:max-content;margin:0;padding:0}
.strip__track li{flex:none;scroll-snap-align:start;height:var(--sh);width:calc(var(--sh)*var(--r,1.5));max-width:calc(100vw - 2*var(--gut))}
.shot{position:relative;display:block;height:100%;border-radius:16px;overflow:hidden;background:var(--dark);cursor:zoom-in}
.shot img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.shot:hover img,.shot:focus-visible img{transform:scale(1.04)}
.strip__foot{display:flex;align-items:center;gap:18px;margin-top:22px}
.strip__bar{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.14);overflow:hidden}
.strip__bar i{display:block;height:100%;width:8%;border-radius:3px;background:linear-gradient(90deg,var(--orange),var(--amber));transition:width .2s var(--ease)}
.strip__count{flex:none;margin:0;font-size:14px;color:var(--on-dark-2);font-variant-numeric:tabular-nums;min-width:4.5em;text-align:right}

/* ---- past partners ---- */
.partners{background:var(--paper)}
.partners .strip__btn{border-color:rgba(21,16,14,.28);color:var(--ink)}
.partners .strip__btn:hover:not(:disabled){color:#fff}
.partners .strip__play{background:rgba(21,16,14,.06)}
.partners .strip__bar{background:rgba(21,16,14,.12)}
.strip--logos{--lh:104px;--lw:200px}
.logos__track{display:grid;grid-auto-flow:column;grid-auto-columns:var(--lw);grid-template-rows:repeat(2,var(--lh));gap:12px;list-style:none;width:max-content;margin:0;padding:6px 0 12px}
.logos__track li{width:var(--lw);height:var(--lh);scroll-snap-align:start;display:flex;align-items:center;justify-content:center;padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 26px -20px rgba(84,3,38,.35)}
.logos__track img{display:block;width:100%;height:100%;object-fit:contain}
dialog.lb{border:0;padding:0;background:transparent;max-width:min(1120px,94vw);width:100%;color:#fff;overflow:visible}
dialog.lb::backdrop{background:rgba(14,4,8,.93)}
.lb img{width:auto;height:auto;max-width:100%;max-height:80vh;margin-inline:auto;border-radius:14px}
.lb p{margin-top:12px;font-size:15.5px;color:var(--on-dark);display:flex;justify-content:space-between;gap:20px}
.lb button{position:absolute;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:21px;line-height:1;cursor:pointer;display:grid;place-items:center}
.lb button:hover{background:rgba(255,255,255,.26)}
.lb__x{right:0;top:-56px}
.lb__p{left:12px;top:calc(50% - 40px)}
.lb__n{right:12px;top:calc(50% - 40px)}

/* ---- closing band: the logo's amber-to-orange, with black type ---- */
/* ---- latest publications ---- */
.mags{--g:24px;position:relative;overflow:hidden;background:var(--dark-950)}
.mags:before{content:"";position:absolute;left:50%;bottom:-12%;width:min(1240px,130vw);height:62%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(231,120,27,.28),rgba(84,3,38,.2) 55%,transparent);filter:blur(24px);pointer-events:none}
.mags .wrap{position:relative;z-index:1}
.mags__head{text-align:center;max-width:760px;margin-inline:auto}
.mags__head .kicker{justify-content:center}
.mags__head .lead{margin-inline:auto}
.mags__shelf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,3vw,40px);margin:clamp(36px,4.5vw,60px) auto 0;padding:0 clamp(0px,5vw,80px)}
.js .mags__shelf.reveal,.js .mags__shelf.reveal.in{opacity:1;transform:none;transition:none}
.js .mags__shelf.reveal li{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease) calc(var(--i)*90ms),transform .7s var(--ease) calc(var(--i)*90ms)}
.js .mags__shelf.reveal.in li{opacity:1;transform:none}
.mags__shelf a{position:relative;display:block;border-radius:6px;transition:transform .35s var(--ease)}
.mags__shelf a:hover{transform:translateY(-10px)}
.mags__cover{position:relative;z-index:1;width:100%;height:auto;border-radius:6px;box-shadow:0 34px 54px -26px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.07)}
.mags__refl{position:absolute;left:0;top:calc(100% + 5px);width:100%;height:auto;border-radius:6px;transform:scaleY(-1);opacity:.3;-webkit-mask:linear-gradient(to top,#000,transparent 40%);mask:linear-gradient(to top,#000,transparent 40%);pointer-events:none}
.mags__ledge{height:3px;margin:3px clamp(0px,3vw,40px) 0;border-radius:3px;background:linear-gradient(90deg,transparent,var(--amber) 18%,var(--orange) 50%,var(--amber) 82%,transparent);box-shadow:0 0 16px 1px rgba(246,176,30,.55),0 14px 48px 8px rgba(231,120,27,.2)}
.mags__cta{text-align:center;margin-top:clamp(90px,12vw,160px)}
@media(max-width:860px){
 .mags__shelf{display:flex;gap:14px;margin-inline:calc(-1*var(--g));padding:0 var(--g) 26px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--g);scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .mags__shelf::-webkit-scrollbar{display:none}
 .mags__shelf li{flex:0 0 min(50vw,240px);scroll-snap-align:start}
 .mags__shelf a:hover{transform:none}
 .mags__refl{display:none}
 .mags__cover{box-shadow:0 20px 34px -20px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.07)}
 .mags__ledge{margin:-26px var(--g) 0}
 .mags__cta{margin-top:36px}
}
@media(max-width:640px){
 .mags{--g:18px}
 .mags__shelf li{flex-basis:min(56vw,230px)}
}
/* ---- partnership enquiries ---- */
.enquiry{background:#fff;padding:clamp(40px,5vw,72px) 0 0}
.enquiry__card{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:36px;background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:clamp(30px,4.2vw,54px) clamp(30px,4.2vw,54px) clamp(30px,4.2vw,54px) clamp(36px,4.8vw,62px)}
.enquiry__card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(180deg,var(--amber),var(--orange) 55%,var(--maroon))}
.enquiry__text{max-width:560px}
.enquiry__text .title{margin-bottom:14px}
.enquiry__actions{display:flex;flex-direction:column;align-items:stretch;gap:14px;flex:none;width:min(100%,430px)}
.enquiry__mail{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 20px;box-shadow:0 16px 36px -24px rgba(84,3,38,.4);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.enquiry__mail:hover{transform:translateY(-2px);box-shadow:0 22px 40px -24px rgba(84,3,38,.5)}
.enquiry__ico{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--amber),var(--orange));color:var(--ink)}
.enquiry__ico svg{width:22px;height:22px}
.enquiry__mail small{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#a8480f}
.enquiry__mail b{display:block;margin-top:2px;font-size:clamp(15px,1.4vw,18px);font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.enquiry .btn--dark{justify-content:center}
.formmail{margin-top:22px;text-align:center;font-size:16px;font-weight:600;color:var(--ink-2)}
.formmail a{color:var(--orange-deep);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.formmail a:hover{color:var(--ink)}
.cta-sec{padding:clamp(56px,7vw,92px) 0}
.cta{position:relative;overflow:hidden;background:linear-gradient(105deg,#f8bf2c 0%,#ef8a1c 54%,#d9591a 100%);color:var(--ink);border-radius:30px;padding:clamp(34px,5vw,64px);display:flex;align-items:center;justify-content:space-between;gap:32px}
.cta:after{content:"";position:absolute;right:-150px;bottom:-290px;width:620px;height:620px;border-radius:50%;pointer-events:none;background:repeating-conic-gradient(rgba(255,255,255,.34) 0 2.1deg,transparent 2.1deg 5.6deg);-webkit-mask:radial-gradient(circle,transparent 45%,#000 45.5%,#000 70%,transparent 70.5%);mask:radial-gradient(circle,transparent 45%,#000 45.5%,#000 70%,transparent 70.5%)}
.cta>*{position:relative;z-index:1}
.cta .eyebrow{margin-bottom:14px;color:var(--ink)}
.cta .eyebrow i{background:var(--maroon);box-shadow:0 0 0 5px rgba(84,3,38,.18)}
.cta h2{font-size:clamp(28px,3.6vw,46px);line-height:1.08;letter-spacing:-.02em;font-weight:800;font-stretch:108%;margin-bottom:12px;text-wrap:balance}
.cta p{color:rgba(21,16,14,.84);font-size:18px;font-weight:500;max-width:600px}
.cta .btn{white-space:nowrap;flex:none}

/* ---- footer ---- */
footer{position:relative;overflow:hidden;background:linear-gradient(112deg,var(--dark-950),var(--dark) 80%);color:var(--on-dark)}
footer:before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--maroon),var(--red) 30%,var(--orange) 62%,var(--amber))}
footer:after{content:"";position:absolute;right:-200px;bottom:-340px;width:700px;height:700px;border-radius:50%;pointer-events:none;background:repeating-conic-gradient(rgba(246,176,30,.15) 0 2.1deg,transparent 2.1deg 5.6deg);-webkit-mask:radial-gradient(circle,transparent 45%,#000 45.5%,#000 70%,transparent 70.5%);mask:radial-gradient(circle,transparent 45%,#000 45.5%,#000 70%,transparent 70.5%)}
footer .wrap{position:relative;z-index:1}
.foot{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.95fr) minmax(0,1fr) minmax(0,1.05fr);gap:40px clamp(28px,4vw,64px);padding:clamp(46px,5vw,70px) 0 clamp(38px,4vw,54px)}
.foot__logo{display:inline-flex;background:#fff;border-radius:18px;padding:14px 22px;transition:transform .2s var(--ease)}
.foot__logo:hover{transform:translateY(-2px)}
.foot__logo img{height:104px;width:auto}
.foot__theme{margin-top:20px;max-width:310px;font-size:17.5px;line-height:1.4;font-weight:600;font-stretch:104%;color:var(--on-dark)}
.foot__theme strong{color:var(--amber);font-weight:700}
.foot__h{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:18px}
.foot__facts>div{display:flex;gap:12px;align-items:flex-start}
.foot__facts>div+div{margin-top:18px}
.foot__facts svg{width:20px;height:20px;flex:none;color:var(--amber);margin-top:3px}
.foot__facts dt{font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--on-dark-2)}
.foot__facts dd{margin-top:2px;font-size:16.5px;line-height:1.3;font-weight:700;color:#fff}
.foot__links li+li{margin-top:11px}
.foot__links a{display:inline-flex;align-items:baseline;gap:10px;font-size:16px;line-height:1.35;color:var(--on-dark);transition:color .2s}
.foot__links a:before{content:"";flex:none;width:10px;height:2px;border-radius:2px;background:var(--orange);transform:translateY(-4px);transition:width .2s var(--ease)}
.foot__links a:hover{color:#fff}
.foot__links a:hover:before{width:18px}
.foot .btn{white-space:nowrap}
.foot__mail{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:16px;font-weight:600;color:var(--on-dark);transition:color .2s}
.foot__mail svg{width:20px;height:20px;flex:none;color:var(--amber)}
.foot__mail:hover{color:#fff}
.foot__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid rgba(255,255,255,.13);padding:18px 0 22px;font-size:14px;color:var(--on-dark-2)}
.foot__bar a{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--on-dark);transition:color .2s}
.foot__bar a:hover{color:var(--amber)}
.foot__bar svg{width:16px;height:16px}

/* ---- express interest page ---- */
.page-hero{position:relative;overflow:hidden;color:var(--ink);background:linear-gradient(105deg,#f8bf2c 0%,#ef8a1c 54%,#d9591a 100%);padding:clamp(30px,3.6vw,50px) 0 clamp(104px,10vw,140px)}
.page-hero:after{content:"";position:absolute;right:-170px;top:-250px;width:660px;height:660px;border-radius:50%;pointer-events:none;background:repeating-conic-gradient(rgba(255,255,255,.34) 0 2.1deg,transparent 2.1deg 5.6deg);-webkit-mask:radial-gradient(circle,transparent 45%,#000 45.5%,#000 70%,transparent 70.5%);mask:radial-gradient(circle,transparent 45%,#000 45.5%,#000 70%,transparent 70.5%)}
.page-hero .wrap,.formsec .wrap{position:relative;z-index:1;max-width:920px}
.crumb{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:rgba(21,16,14,.78)}
.crumb a{text-decoration:underline;text-decoration-color:rgba(21,16,14,.35);text-underline-offset:3px}
.crumb a:hover{text-decoration-color:currentColor}
.crumb svg{width:15px;height:15px;flex:none}
.crumb [aria-current]{color:var(--ink)}
.page-title{font-size:clamp(38px,5.2vw,70px);line-height:1;margin:16px 0 12px;color:var(--ink)}
.page-sub{font-size:clamp(17px,1.6vw,21px);line-height:1.35;font-weight:600;font-stretch:104%;color:rgba(21,16,14,.86)}
.page-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.page-facts li{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.92);border-radius:999px;padding:9px 17px 9px 13px;font-size:15.5px;font-weight:700;color:var(--ink);box-shadow:0 8px 20px -12px rgba(84,3,38,.5)}
.page-facts svg{width:18px;height:18px;flex:none;color:var(--orange-deep)}
.formsec{background:var(--paper);padding:0 0 clamp(52px,6vw,84px)}
.formcard{position:relative;margin-top:calc(-1*clamp(66px,7vw,96px));background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 70px -26px rgba(84,3,38,.4);overflow:hidden}
/* Zoho reports the form's real height and the script on the page applies it; these are the fallbacks. */
.formcard iframe{display:block;width:100%;height:1360px;border:0;transition:height .3s var(--ease)}
.formhelp{margin-top:16px;text-align:center;font-size:15px;color:var(--muted)}
.formhelp a{color:var(--orange-deep);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* ---- reveal ---- */
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .reveal.in{opacity:1;transform:none}

/* ---- responsive ---- */
@media(max-width:1300px){
 .nav{gap:18px}
 .navlinks{gap:14px;font-size:14px}
 .nav .btn--dark{padding:12px 16px}
}
@media(max-width:1200px){
 .menu{display:block}
 .nav .btn--dark{display:none}
 .navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:12px 24px 22px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:6px;font-size:17px;box-shadow:0 20px 30px -20px rgba(84,3,38,.3);max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}
 .navlinks.open{display:flex}
 .navlinks a.navlinks__cta{display:block;color:var(--orange-deep);font-weight:700}
 .dd{position:static;width:100%}
 .dd__btn{width:100%;justify-content:space-between}
 .dd__btn svg{width:18px;height:18px}
 .dd__menu{display:none;position:static;transform:none;opacity:1;visibility:visible;width:auto;max-width:none;border:0;border-left:2px solid var(--line);border-radius:0;box-shadow:none;padding:2px 0 4px 14px;margin:4px 0 8px;transition:none}
 .dd__menu:before{display:none}
 .dd.open .dd__menu{display:block;transform:none;transition:none}
 .dd__menu a{padding:9px 10px}
 .dd__menu b{font-size:16px}
}
@media(max-width:1120px){
 .people{grid-template-columns:repeat(4,minmax(0,1fr))}
 .sector ul{grid-template-columns:1fr}
}
@media(max-width:900px){
 .hero-grid{grid-template-columns:minmax(0,1fr)}
 h1{font-size:clamp(30px,9.6vw,80px)}
 .sun{margin:6px auto 0;width:min(84vw,480px)}
 .pbar{grid-template-columns:1fr 1fr;grid-template-areas:"hosts hosts" "left right";row-gap:16px}
 .pb--hosts{grid-area:hosts;justify-content:center;padding-bottom:16px;border-bottom:1px solid var(--line)}
 .pb--left{grid-area:left;justify-self:center}
 .pb--right{grid-area:right;justify-self:center}
 .base,.about,.attend,.sectors__grid{grid-template-columns:minmax(0,1fr)}
 .collage{order:2;max-width:620px}
 .sectors__head{position:static}
 .sindex{display:none}
 .sector ul{grid-template-columns:1fr 1fr}
 .leads{grid-template-columns:repeat(2,minmax(0,1fr))}
 .foot{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .foot__brandcol,.foot__contact{grid-column:1/-1}
 .cta{display:block}.cta .btn{margin-top:24px}
 .enquiry__card{flex-direction:column;align-items:stretch;gap:26px}
 .enquiry__actions{width:100%}
 .cta:after{right:-240px;bottom:-360px}
}
@media(max-width:640px){
 .wrap{width:min(100% - 36px,1240px)}
 .nav{height:74px}.brand img{height:60px}
 .navlinks{max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px)}
 html{scroll-padding-top:84px}
 .lead{font-size:17px}
 .hero-actions .btn{width:100%}
 .rail dd{font-size:17.5px}
 .rail>div:nth-child(2){order:3;flex:0 0 100%}
 .pbar{padding:14px 10px 16px;border-radius:18px;row-gap:14px}
 .pb img{height:46px}
 .pb--hosts>div{flex:1 1 0;padding:0 8px}
 .pb--hosts img{height:66px}
 .pb--hosts img.pb__co{height:60px}
 .pb__name{font-size:12.5px}.pb__name b{font-size:13.5px}
 .bar{grid-template-columns:minmax(0,1fr);row-gap:4px;padding:10px 0}
 .bar i{flex-basis:calc((100% - 104px)*var(--f))}
 .aims{grid-template-columns:1fr}
 .chair__card{padding:34px 18px 24px;border-radius:24px}
 .chair__photo{border-radius:18px}
 .chair__role{font-size:15.5px}
 .collage__badge{left:0;width:158px;padding:13px 14px;font-size:12.5px}.collage__badge b{font-size:36px}
 .sline{padding-left:30px}
 .sline:before{left:5px}
 .sector{padding:20px 20px 22px}
 .sector:before{left:-30px;width:12px;height:12px;top:34px}
 .sector ul{grid-template-columns:1fr}
 .sector__icon{width:44px;height:44px;border-radius:13px}
 .who{grid-template-columns:1fr}
 /* each speaker group becomes a swipe row so the section stays short */
 .people{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:56%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-18px;padding:0 18px 8px;scrollbar-width:none}
 .people::-webkit-scrollbar{display:none}
 .people .person{scroll-snap-align:center}
 .leads{gap:20px 14px}
 .person--lead strong{font-size:17px}.person--lead span.r{font-size:14px}
 .strip{--gut:18px;--sh:clamp(180px,54vw,240px);margin-top:28px}
 .strip__head{flex-direction:column;align-items:flex-start;gap:14px}
 .strip__nav{padding-bottom:0}
 .strip__btn{width:44px;height:44px}
 .strip--logos{--lh:84px;--lw:156px}
 .logos__track{gap:10px}
 .logos__track li{padding:10px 12px;border-radius:12px}
 .formcard{border-radius:16px}
 .formcard iframe{height:1520px}
 .page-facts li{font-size:14.5px;padding:8px 14px 8px 11px}
 .enquiry__card{border-radius:22px;padding:26px 22px 26px 26px}
 .enquiry__mail{padding:14px 16px;gap:12px}
 .enquiry__ico{width:42px;height:42px}
 .page-hero:after{right:-420px;top:-360px}
 .foot{gap:32px 18px}
 .foot__logo{padding:12px 18px}
 .foot__logo img{height:88px}
 .foot__contact .btn{width:100%}
 .foot__bar{flex-direction:column;align-items:flex-start;gap:10px}
 .lb__p,.lb__n{top:auto;bottom:-58px}.lb__p{left:0}.lb__n{right:0}
 .lb p{padding-right:0;margin-bottom:64px}
}
@media(max-width:360px){
 .enquiry__ico{display:none}
 .enquiry__mail{padding:14px 16px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{animation:none!important;transition:none!important}
 .js .reveal{opacity:1;transform:none}
 .js .reveal .bar i{transform:none}
 .js .mags__shelf.reveal li{opacity:1;transform:none}
}
