/* EAW Global Aqua Expo — site stylesheet
   Identity carried over from the 2026 Post-Show Report so print, report and
   web read as one publication. Instrumentation-drawing vocabulary:
   hairline rules with diamond nodes, mono data labels, ink and aqua. */

:root{
  /* EverythingAboutWater Expo, Hyderabad.
     Palette taken from the supplied 2027 logo: brand blue #005194.
     Deliberately unlike the Delhi edition. Delhi is navy and institutional,
     because it sells policy and procurement. Hyderabad sells to a plant.
     So: deep industrial teal, warm sand paper, and a copper accent that
     reads as process and machinery rather than ministry. */
  --navy:#062F55;          /* top bar, footer                      */
  --hero:#053C6B;          /* hero field                           */
  --hero-2:#04294A;        /* hero gradient end                    */
  --blue:#005194;          /* primary action, links: industrial teal */
  --blue-dk:#003E72;       /* hover                                */
  --blue-lt:#7FB2DA;       /* accents on dark                      */
  --sky:#BDD3E6;           /* body copy on dark                    */
  --ink:#1A2430;           /* body copy on light                   */
  --mute:#5E6C7A;
  --paper:#FFFFFF;
  --tint:#F6F3ED;          /* warm sand band, not cool grey        */
  --card:#FFFFFF;
  --rule:#E3DED4;
  --amber:#C2701A;         /* copper: launches, deadlines, alerts  */
  --ok:#1E7A50;
  --warn:#A8410F;
  /* Industrial grotesk + technical body. Not Delhi's geometric pairing. */
  --display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --body:"IBM Plex Sans","Segoe UI",Helvetica,Arial,sans-serif;
  --data:"IBM Plex Sans","Segoe UI",Helvetica,Arial,sans-serif;
  --shell:1280px;
  --gut:40px;
  --r:3px;                 /* square edges, not Delhi's pills      */
  --rc:4px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--body);font-size:17px;line-height:1.65;letter-spacing:-0.003em;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--shell);margin:0 auto;padding:0 var(--gut)}
.narrow{max-width:820px}
p{margin:0 0 1.05em}
a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--blue-lt);outline-offset:3px;border-radius:2px}
hr{border:0;border-top:1px solid var(--rule);margin:44px 0}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:12px 18px;z-index:200}
.skip:focus{left:8px;top:8px}

/* ---------- type ---------- */
h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-0.02em;margin:0;line-height:1.08;
  text-transform:none}
h1{text-transform:uppercase;letter-spacing:-0.01em}
h1{font-size:clamp(38px,5.2vw,62px);line-height:1.04}
h2{font-size:clamp(28px,3.4vw,38px);margin:0 0 6px}
h3{font-size:22px;letter-spacing:-0.015em;margin:32px 0 10px}
h4{font-size:15.5px;letter-spacing:0.01em;margin:20px 0 6px;font-weight:700}
.eyebrow{font-family:var(--body);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--amber);font-weight:700;display:block}
.deck{font-size:clamp(16.5px,2vw,19px);line-height:1.55;color:var(--mute);margin:14px 0 0;max-width:64ch}
.lede{font-size:19px;line-height:1.58}
.small{font-size:14.5px;line-height:1.55;color:var(--mute)}
.note{font-family:var(--data);font-size:12px;line-height:1.65;color:var(--mute)}
.center{text-align:center}
.mono{font-family:var(--data)}

/* ---------- signature: P&ID rule ---------- */
.pid{display:flex;align-items:center;gap:0;margin:0 0 26px}
.pid .seg{height:1px;background:var(--ink);flex:1}
.pid .node{width:7px;height:7px;background:var(--ink);transform:rotate(45deg);margin:0 7px;flex:none}
.pid .node.hollow{background:transparent;border:1px solid var(--ink)}
.pid.light .seg{background:rgba(255,255,255,.4)}
.pid.light .node{background:var(--blue-lt)}
.pid.light .node.hollow{background:transparent;border-color:var(--blue-lt)}

/* ---------- header ---------- */
.topbar{background:var(--navy);color:var(--sky);font-family:var(--body);font-size:12.5px;letter-spacing:0}
.topbar .wrap{display:flex;justify-content:space-between;gap:10px 22px;padding-top:9px;padding-bottom:9px;flex-wrap:wrap}
.topbar .tb-r{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.topbar a{color:var(--sky);text-decoration:none;font-weight:500}
.topbar a:hover{color:#fff}
.topbar .live{color:#F2C879;font-weight:500}

header.site{position:sticky;top:0;z-index:90;background:rgba(247,246,242,.94);backdrop-filter:blur(9px);border-bottom:1px solid var(--rule)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:14px;padding-bottom:14px}
.brandmark{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none;margin-right:8px}
.brandmark .logo{width:auto;height:50px;flex:none}
@media (max-width:900px){.brandmark .logo{height:42px}}
.brandmark .logotext{display:none;font-family:var(--display);font-weight:700;font-size:16px;
  color:var(--blue);letter-spacing:-0.02em;line-height:1.15;max-width:150px}
.brandmark.nologo .logo{display:none}
.brandmark.nologo .logotext{display:block}
.brandmark .lockup{display:none}
.brandmark .lockup b{display:block;font-weight:700;color:var(--blue);font-size:14px}
@media (max-width:900px){.brandmark .lockup{display:none}}

nav.main{display:flex;align-items:center;gap:2px}
nav.main a{
  font-family:var(--display);font-size:13.5px;font-weight:600;letter-spacing:-0.01em;
  color:var(--ink);text-decoration:none;padding:10px 10px;border-radius:8px;white-space:nowrap;font-size:14.5px;
}
nav.main a:hover{background:rgba(14,154,167,.10);color:var(--blue)}
nav.main a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--blue-lt)}
.navtools{display:flex;align-items:center;gap:8px}
.navtools .btn{white-space:nowrap}

.drop{position:relative}
.drop>button{
  font-family:var(--display);font-size:13.5px;font-weight:600;color:var(--ink);
  background:none;border:0;padding:10px 10px;cursor:pointer;display:flex;align-items:center;gap:5px;border-radius:8px;font-size:14.5px;
}
.drop>button:hover{background:rgba(14,154,167,.10);color:var(--blue)}
.drop>button svg{width:9px;height:9px;transition:transform .2s}
.drop[data-open="true"]>button svg{transform:rotate(180deg)}
.dropmenu{
  position:absolute;top:calc(100% + 6px);left:0;min-width:330px;background:var(--card);
  border:1px solid var(--rule);box-shadow:0 18px 44px rgba(12,26,33,.14);
  padding:10px;display:none;border-radius:12px;
}
.drop[data-open="true"] .dropmenu{display:block}
.dropmenu a{display:block;padding:10px 12px;text-decoration:none;color:var(--ink);border-radius:8px}
.dropmenu a:hover{background:var(--paper)}
.dropmenu .n{font-family:var(--data);font-size:10px;color:var(--blue);letter-spacing:.16em}
.dropmenu .t{font-family:var(--display);font-weight:700;font-size:14px;display:block;margin-top:1px}
.dropmenu .d{font-size:12.5px;color:var(--mute);display:block;line-height:1.35}

.burger{display:none;width:44px;height:40px;border:1px solid var(--rule);background:var(--card);cursor:pointer;align-items:center;justify-content:center;border-radius:10px}
.burger span{display:block;width:18px;height:1.5px;background:var(--ink);position:relative}
.burger span:before,.burger span:after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:var(--ink)}
.burger span:before{top:-5.5px}.burger span:after{top:5.5px}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:700;
  font-size:14.5px;letter-spacing:-0.005em;padding:13px 26px;border-radius:var(--r);text-decoration:none;
  border:1.5px solid var(--blue);background:var(--blue);color:#fff;cursor:pointer;
  transition:background .18s,border-color .18s,color .18s,transform .18s;line-height:1.2;
}
.btn:hover{background:var(--blue-dk);border-color:var(--blue-dk);color:#fff;transform:translateY(-1px)}
.btn.aqua{background:var(--blue);border-color:var(--blue)}
.btn.aqua:hover{background:var(--blue-lt);border-color:var(--blue-lt)}
.btn.ghost{background:transparent;color:var(--blue);border-color:#C8D6E4}
.btn.ghost:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn.light{background:#fff;color:var(--navy);border-color:#fff}
.btn.light:hover{background:#E8F1F9;border-color:#E8F1F9;color:var(--navy)}
.btn.outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn.outline-light:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn.sm{padding:9px 18px;font-size:13px}
.btn.block{width:100%;justify-content:center}
.btnrow{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* ---------- hero ---------- */
.hero{background:linear-gradient(155deg,var(--hero) 0%,var(--hero-2) 62%,#081A33 100%);color:#fff;position:relative;overflow:hidden;padding:96px 0 84px}
.hero:before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(900px 460px at 82% 18%,rgba(89,161,211,.20),transparent 70%),
    radial-gradient(620px 380px at 8% 92%,rgba(15,76,129,.34),transparent 72%);
  mask-image:linear-gradient(160deg,rgba(0,0,0,.9),transparent 72%);
  -webkit-mask-image:linear-gradient(160deg,rgba(0,0,0,.9),transparent 72%);
}
.hero .wrap{position:relative}
.hero .eyebrow{color:var(--blue-lt)}
.hero h1{color:#fff;margin:18px 0 0}
.hero h1 .thin{font-weight:300;display:block;letter-spacing:-0.03em}
.hero .rule{height:2px;background:var(--blue-lt);width:96px;margin:28px 0 24px}
.hero .sub{font-size:clamp(17px,2.1vw,20px);color:var(--sky);max-width:60ch;line-height:1.62}
.hero.compact{padding:56px 0 46px}

.editions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:52px}
.edition{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:var(--rc);padding:26px 26px 24px;text-decoration:none;color:inherit;display:block;transition:.18s}
.edition:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.34);color:inherit;transform:translateY(-2px)}
.edition .k{font-family:var(--body);font-weight:600;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-lt);display:block}
.edition .city{display:block;font-family:var(--display);font-weight:800;font-size:30px;color:#fff;margin:8px 0 2px;letter-spacing:-0.03em}
.edition .d{display:block;font-family:var(--display);font-weight:700;font-size:16px;color:#fff}
.edition .v{display:block;font-size:14.5px;color:#B9CDD2;margin-top:4px}
.edition .go{font-family:var(--data);font-size:11px;letter-spacing:.14em;color:var(--blue-lt);margin-top:16px;display:block}

/* ---------- sections ---------- */
section.band{padding:84px 0}
section.band.tight{padding:52px 0}
section.band.ink{background:var(--navy);color:#E6EEF7}
section.band.ink h2,section.band.ink h3{color:#fff}
section.band.ink .eyebrow{color:var(--blue-lt)}
section.band.ink .deck{color:#B9CDD2}
section.band.basin{background:var(--blue);color:#EDF3F4}
section.band.basin h2{color:#fff}
section.band.basin .eyebrow{color:#8FD4DA}
section.band.basin .deck{color:#C7DDE2}
section.band.alt{background:var(--tint)}
.shead{margin-bottom:34px;max-width:70ch}

/* ---------- facts strip ---------- */
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.facts div{padding:20px 20px 18px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--card)}
.facts .v{font-family:var(--display);font-weight:800;font-size:29px;letter-spacing:-0.03em;line-height:1}
.facts .k{font-family:var(--display);font-weight:700;font-size:13.5px;margin-top:7px;display:block}
.facts .s{font-family:var(--data);font-size:10.5px;color:var(--mute);letter-spacing:.05em;display:block;margin-top:3px}
.facts.onink{border-color:rgba(255,255,255,.2)}
.facts.onink div{background:transparent;border-color:rgba(255,255,255,.16)}
.facts.onink .v{color:#fff}
.facts.onink .k{color:#EDF3F4}
.facts.onink .s{color:#8FA9B0}

/* ---------- show ladder ---------- */
.ladder{border-top:1px solid var(--rule)}
.rung{
  display:grid;grid-template-columns:64px 1fr 260px 116px;gap:22px;align-items:start;
  padding:22px 4px;border-bottom:1px solid var(--rule);text-decoration:none;color:inherit;transition:.16s;
}
.rung:hover{background:var(--card);color:inherit}
.rung .num{font-family:var(--data);font-size:12px;color:var(--blue);letter-spacing:.12em;padding-top:5px}
.rung .nm{display:block;font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-0.02em}
.rung .ti{display:block;font-size:15px;color:var(--blue);margin-top:3px;line-height:1.4}
.rung .hk{font-size:14.5px;color:var(--mute);line-height:1.45}
.rung .mk{font-family:var(--data);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);text-align:right;padding-top:6px}
.rung:hover .nm{color:var(--blue)}

/* ---------- cards ---------- */
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--card);border:1px solid var(--rule);padding:26px 26px 24px;border-radius:var(--rc);box-shadow:0 1px 2px rgba(10,31,60,.04),0 8px 24px rgba(10,31,60,.05)}
.card h3{margin:6px 0 8px;font-size:19px}
.card p:last-child{margin-bottom:0}
.card.ink{background:#12242C;border-color:rgba(255,255,255,.14);color:#D9E5E8}
.card.ink h3{color:#fff}
.card.link{text-decoration:none;color:inherit;display:block;transition:.16s}
.card.link:hover{border-color:var(--blue-lt);box-shadow:0 10px 30px rgba(12,26,33,.08);color:inherit}

.pull{border-left:3px solid var(--blue-lt);padding:2px 0 2px 22px;margin:26px 0}
.pull .v{font-family:var(--display);font-weight:800;font-size:34px;letter-spacing:-0.03em;line-height:1}
.pull .k{font-family:var(--display);font-weight:700;font-size:15px;margin:5px 0 8px;display:block}

/* ---------- lists ---------- */
ul.ticks{list-style:none;padding:0;margin:14px 0}
ul.ticks li{position:relative;padding-left:24px;margin-bottom:9px;line-height:1.5}
ul.ticks li:before{content:"";position:absolute;left:2px;top:9px;width:7px;height:7px;background:var(--blue-lt);transform:rotate(45deg)}
ul.plain{list-style:none;padding:0;margin:14px 0}
ul.plain li{padding:9px 0;border-bottom:1px solid var(--rule)}
ul.plain li:last-child{border-bottom:0}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.chip{font-family:var(--data);font-size:11px;letter-spacing:.08em;padding:6px 11px;border:1px solid var(--rule);background:var(--card);border-radius:2px}
.chip.ink{background:transparent;border-color:rgba(255,255,255,.28);color:#C7DDE2}

/* ---------- tables ---------- */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.data{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
table.data th{
  text-align:left;font-family:var(--data);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--mute);font-weight:600;border-bottom:1px solid var(--ink);padding:0 14px 9px 0;
}
table.data td{padding:13px 14px 13px 0;border-bottom:1px solid var(--rule);vertical-align:top}
table.data tr:last-child td{border-bottom:0}
table.data td b{font-family:var(--display);font-size:15.5px}

/* ---------- forms ---------- */
.formshell{background:var(--card);border:1px solid var(--rule);padding:34px;border-radius:3px}
.fieldset{border:0;padding:0;margin:0 0 30px}
.fieldset legend{
  font-family:var(--data);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);
  font-weight:600;padding:0;margin-bottom:14px;
}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.frow.one{grid-template-columns:1fr}
.f{margin-bottom:16px}
.f label{font-family:var(--display);font-weight:700;font-size:13px;display:block;margin-bottom:5px}
.f .hint{font-size:12.5px;color:var(--mute);margin:0 0 6px}
.f .req{color:var(--warn)}
.f input,.f select,.f textarea{
  width:100%;font-family:var(--body);font-size:16px;color:var(--ink);background:var(--paper);
  border:1px solid var(--rule);border-radius:2px;padding:11px 12px;
}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--blue-lt);background:#fff;outline:none;box-shadow:0 0 0 3px rgba(14,154,167,.16)}
.f textarea{min-height:110px;resize:vertical}
.f input[aria-invalid="true"],.f select[aria-invalid="true"]{border-color:var(--warn);background:#FDF4F0}
.err{color:var(--warn);font-size:12.5px;font-family:var(--data);margin-top:5px;display:none}
.err.on{display:block}

.picker{border:1px solid var(--rule);border-radius:3px;background:var(--paper)}
.pickhead{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;
  background:var(--card);border-bottom:1px solid var(--rule);cursor:pointer;width:100%;text-align:left;border:0;font-family:inherit;
}
.pickhead .nm{font-family:var(--display);font-weight:800;font-size:15px}
.pickhead .sub{font-size:12.5px;color:var(--mute)}
.pickhead .cnt{font-family:var(--data);font-size:11px;color:var(--blue);letter-spacing:.1em}
.pickbody{padding:12px 14px;display:none}
.picker[data-open="true"] .pickbody{display:block}
.picker+.picker{margin-top:10px}
.opt{display:flex;gap:10px;align-items:flex-start;padding:7px 0;cursor:pointer;font-size:15px;line-height:1.4}
.opt input{width:17px;height:17px;margin:3px 0 0;flex:none;accent-color:var(--blue)}
.optgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}

.consent{display:flex;gap:11px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--mute);margin-bottom:8px}
.consent input{width:17px;height:17px;margin:2px 0 0;flex:none;accent-color:var(--blue)}

.formnote{background:#EFEEE8;border-left:3px solid #C8881F;padding:14px 18px;font-size:14px;margin-bottom:26px}
.status{display:none;padding:16px 20px;border-radius:3px;margin-bottom:22px;font-size:15px}
.status.on{display:block}
.status.good{background:#E8F3ED;border-left:3px solid var(--ok)}
.status.bad{background:#FDF0EA;border-left:3px solid var(--warn)}

/* ---------- matchmaking finder ---------- */
.finder{background:var(--card);border:1px solid var(--rule);padding:30px;border-radius:3px}
.result{margin-top:26px;display:none}
.result.on{display:block}
.match{border:1px solid var(--rule);border-left:3px solid var(--blue-lt);padding:16px 18px;margin-bottom:12px;background:var(--paper)}
.match .nm{font-family:var(--display);font-weight:800;font-size:17px}
.match .why{font-size:14px;color:var(--mute);margin-top:4px}
.match .score{font-family:var(--data);font-size:11px;color:var(--blue);letter-spacing:.1em;float:right}

/* ---------- steps ---------- */
.steps{counter-reset:s;list-style:none;padding:0;margin:26px 0 0}
.steps li{counter-increment:s;position:relative;padding:0 0 26px 56px;border-left:1px solid var(--rule);margin-left:14px}
.steps li:last-child{border-left-color:transparent;padding-bottom:0}
.steps li:before{
  content:counter(s,decimal-leading-zero);position:absolute;left:-15px;top:-2px;width:30px;height:30px;
  background:var(--ink);color:#fff;font-family:var(--data);font-size:11px;display:flex;align-items:center;
  justify-content:center;letter-spacing:.04em;
}
.steps li h4{margin:2px 0 5px;font-size:16px}
.steps li p{margin:0;font-size:15px;color:var(--mute)}

/* ---------- CTA ---------- */
.ctaband{background:var(--blue);color:#fff;padding:56px 0}
.ctaband h2{color:#fff}
.ctaband p{color:#C7DDE2;max-width:58ch}

/* ---------- footer ---------- */
footer.site{background:var(--ink);color:#8FA9B0;padding:56px 0 30px;font-size:14.5px}
footer.site h4{color:#fff;font-family:var(--data);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;margin:0 0 14px;font-weight:600}
footer.site a{color:#B9CDD2;text-decoration:none;display:block;padding:4px 0}
footer.site a:hover{color:var(--blue-lt)}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px}
.fbase{border-top:1px solid rgba(255,255,255,.14);margin-top:38px;padding-top:20px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-family:var(--data);font-size:11.5px;letter-spacing:.04em}

/* ---------- misc ---------- */
.badge{display:inline-block;font-family:var(--data);font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:4px 9px;border:1px solid var(--blue-lt);color:var(--blue);border-radius:2px}
.badge.warn{border-color:#C8881F;color:#C8881F}
.crumb{font-family:var(--data);font-size:11px;letter-spacing:.12em;color:var(--mute);padding:16px 0 0}
.crumb a{color:var(--mute);text-decoration:none}
.crumb a:hover{color:var(--blue)}
.countdown{display:flex;gap:22px;margin-top:30px;flex-wrap:wrap}
.countdown div{text-align:left}
.countdown .v{font-family:var(--display);font-weight:800;font-size:34px;color:#fff;letter-spacing:-0.03em;line-height:1}
.countdown .k{display:block;font-family:var(--data);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-lt);margin-top:5px}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  :root{--gut:28px}
  nav.main{display:none}
  .burger{display:flex}
  header.site.open nav.main{
    display:flex;flex-direction:column;align-items:stretch;position:absolute;top:100%;left:0;right:0;
    background:var(--card);border-bottom:1px solid var(--rule);padding:10px var(--gut) 20px;gap:0;
    max-height:76vh;overflow-y:auto;box-shadow:0 20px 40px rgba(12,26,33,.13);
  }
  header.site.open nav.main a{padding:12px 0;border-bottom:1px solid var(--rule);font-size:15px}
  .drop{width:100%}
  .drop>button{width:100%;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--rule);font-size:15px}
  .dropmenu{position:static;min-width:0;border:0;box-shadow:none;padding:4px 0 10px 12px;background:transparent}
  /* Keep the primary call to action reachable on a phone. Most Indian
     traffic is mobile, and hiding it behind the burger costs registrations. */
  .navtools .btn{padding:10px 16px;font-size:12.5px;letter-spacing:0}
  .navtools .btn.sm{white-space:nowrap}
  .rung{grid-template-columns:44px 1fr;gap:14px}
  .rung .hk{grid-column:2}
  .rung .mk{display:none}
  .g4{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:repeat(2,1fr)}
  .fgrid{grid-template-columns:1fr 1fr;gap:28px}
}
@media (max-width:720px){
  :root{--gut:20px}
  body{font-size:16.5px}
  section.band{padding:52px 0}
  .hero{padding:52px 0 44px}
  .editions{grid-template-columns:1fr;margin-top:34px}
  .facts{grid-template-columns:repeat(2,1fr)}
  .facts .v{font-size:25px}
  .grid.g2,.grid.g3,.grid.g4{grid-template-columns:1fr}
  .frow{grid-template-columns:1fr;gap:0}
  .optgrid{grid-template-columns:1fr}
  .formshell{padding:22px}
  .fgrid{grid-template-columns:1fr}
  .topbar .wrap{font-size:10.5px}
  .countdown{gap:16px}
  .countdown .v{font-size:27px}
  h3{font-size:20px}
}

@media (max-width:430px){
  /* Logo, register button and burger must share one row at 320px.
     The logo yields; the call to action and the menu do not. */
  .brandmark .logo{height:34px;max-width:46vw}
  .brandmark{margin-right:0;gap:6px}
  .site>.wrap{gap:6px;padding-left:12px;padding-right:12px}
  .navtools{gap:6px}
  .navtools .btn{padding:8px 10px;font-size:11.5px}
  .burger{width:38px;height:36px}
  /* At 360px the brand lockup, the call to action and the menu button
     must share one row. Drop the tagline, not the call to action. */
  .brandmark span{display:none}
  .brandmark b{font-size:14.5px}
  .brandmark{gap:8px}
  .brandmark .glyph{width:28px;height:28px}
  .navtools .btn{padding:8px 10px;font-size:11.5px}
}

/* The header carries a logo, nine items and a call to action. Give it more
   room than the text columns so it stays on one line. */
.site>.wrap{max-width:1440px}
.topbar>.wrap{max-width:1440px}
.brandmark .logo{height:56px}
@media (max-width:1460px){
  nav.main a,nav.main .drop>button{padding:10px 7px;font-size:14px}
  .brandmark .logo{height:50px}
  .navtools .btn{padding:9px 14px;font-size:12.5px}
}
@media (max-width:1240px){
  nav.main a,nav.main .drop>button{padding:9px 6px;font-size:13.4px}
  .brandmark .logo{height:44px}
}

/* Provisional-dates notice, below the bar so it informs without shouting. */
.provbar{background:#FFF6E2;border-bottom:1px solid #F0E0BC;color:#7A5A12;font-size:12.5px}
.provbar .wrap{padding-top:7px;padding-bottom:7px}
.provbar .live{color:inherit}
@media print{.provbar{display:none}}

/* Edition lockup on the hero. */
.edlogo{width:auto;height:104px;margin:0 0 26px}
@media (max-width:560px){.edlogo{height:78px;margin-bottom:20px}}

/* Partner logos, managed from the admin. */
.plogos{margin:0 0 34px}
.plogos ul{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:18px 34px;margin:14px 0 0;padding:0}
.plogos li{display:flex;align-items:center}
.plogos img{max-height:64px;max-width:190px;width:auto;height:auto;object-fit:contain;
  filter:grayscale(1);opacity:.72;transition:.18s}
.plogos a:hover img,.plogos li:hover img{filter:none;opacity:1}
.band.ink .plogos img{filter:grayscale(1) brightness(3);opacity:.85}
.band.ink .plogos a:hover img{filter:brightness(3);opacity:1}
@media (max-width:560px){.plogos img{max-height:48px;max-width:130px}.plogos ul{gap:14px 22px}}

/* Gallery albums and the full screen viewer. */
.album{margin:0 0 54px}
.gthumbs{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:12px;margin:22px 0 0;padding:0}
.gthumbs button{padding:0;border:0;background:none;cursor:pointer;display:block;width:100%;
  border-radius:10px;overflow:hidden;line-height:0}
.gthumbs img{width:100%;height:160px;object-fit:cover;transition:.25s}
.gthumbs button:hover img{transform:scale(1.04)}
.gthumbs button:focus-visible{outline:3px solid var(--blue-lt);outline-offset:2px}
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(8,20,36,.94);
  display:flex;align-items:center;justify-content:center;padding:36px}
.lightbox[hidden]{display:none}
.lightbox figure{margin:0;max-width:1100px;max-height:100%;text-align:center}
.lightbox img{max-width:100%;max-height:78vh;width:auto;height:auto;border-radius:6px;margin:0 auto}
.lightbox figcaption{color:#DCE9EC;font-size:14px;margin-top:14px}
.lightbox button{position:absolute;background:rgba(255,255,255,.10);color:#fff;border:0;
  width:52px;height:52px;border-radius:50%;font-size:30px;line-height:1;cursor:pointer}
.lightbox button:hover{background:rgba(255,255,255,.22)}
.lb-close{top:20px;right:22px}
.lb-prev{left:18px;top:50%;transform:translateY(-50%)}
.lb-next{right:18px;top:50%;transform:translateY(-50%)}
@media (max-width:640px){
  .lightbox{padding:14px}
  .lb-prev{left:6px}.lb-next{right:6px}
  .lightbox button{width:42px;height:42px;font-size:24px}
  .gthumbs img{height:128px}
}

/* Video centre. */
.vgroup{margin:0 0 46px}
.vgrid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:20px;margin:20px 0 0;padding:0}
.vcard{display:block;width:100%;text-align:left;background:var(--card);border:1px solid var(--rule);
  border-radius:var(--rc);overflow:hidden;padding:0;cursor:pointer;transition:.18s;font:inherit;color:inherit}
.vcard:hover{border-color:var(--blue);transform:translateY(-2px)}
.vthumb{display:block;position:relative;background:#0B2B4F;line-height:0}
.vthumb img{width:100%;height:172px;object-fit:cover}
.vthumb.noimg{height:172px;display:block}
.vthumb:after{content:"";position:absolute;left:50%;top:50%;width:54px;height:54px;
  transform:translate(-50%,-50%);border-radius:50%;background:rgba(255,255,255,.92);
  box-shadow:0 4px 16px rgba(0,0,0,.3)}
.vthumb:before{content:"";position:absolute;left:50%;top:50%;z-index:2;
  transform:translate(-38%,-50%);border-style:solid;border-width:11px 0 11px 18px;
  border-color:transparent transparent transparent var(--blue)}
.vmeta{display:block;padding:15px 17px 17px}
.vmeta b{display:block;font-family:var(--display);font-weight:600;font-size:15.5px;letter-spacing:-0.01em}
.vmeta span{display:block;color:var(--mute);font-size:13.5px;margin-top:4px}
.vplayer{position:relative;padding-top:56.25%;border-radius:var(--rc);overflow:hidden;background:#000}
.vplayer iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Conference agenda, generated from the admin. */
.agenda{margin:0 0 44px}
.aday{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-0.02em;
  margin:26px 0 0;padding-bottom:10px;border-bottom:2px solid var(--blue)}
.alist{list-style:none;margin:0;padding:0}
.alist>li{display:grid;grid-template-columns:130px 1fr;gap:22px;padding:22px 0;
  border-bottom:1px solid var(--rule)}
.atime{font-family:var(--display);font-weight:600;font-size:14.5px;color:var(--blue);white-space:nowrap}
.atrack{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mute);font-weight:600;margin-bottom:6px}
.abody>b{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-0.02em;display:block}
.abody p{margin:8px 0 0;font-size:15px;color:var(--mute)}
.avenue{display:inline-block;margin:8px 14px 0 0;font-size:13px;color:var(--mute)}
.aspk{list-style:none;display:flex;flex-wrap:wrap;gap:14px 26px;margin:16px 0 0;padding:0}
.aspk li{display:flex;align-items:center;gap:10px}
.aspk img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.aspk b{display:block;font-size:14px;font-weight:600}
.aspk span span{display:block;font-size:12.5px;color:var(--mute)}
@media (max-width:620px){
  .alist>li{grid-template-columns:1fr;gap:8px}
  .atime{font-size:13.5px}
}

/* Speaker grid. */
.spkgrid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:22px;margin:24px 0 0;padding:0}
.spkgrid li{text-align:center}
.spkgrid img,.spkblank{width:110px;height:110px;border-radius:50%;object-fit:cover;
  margin:0 auto 12px;display:flex;align-items:center;justify-content:center}
.spkblank{background:var(--tint);color:var(--blue);font-family:var(--display);
  font-weight:700;font-size:34px;border:1px solid var(--rule)}
.spkgrid b{display:block;font-family:var(--display);font-weight:600;font-size:15.5px;letter-spacing:-0.01em}
.spkgrid span{display:block;font-size:13px;color:var(--mute);margin-top:2px}
.spkgrid .org{font-size:12.5px}

/* Testimonials. */
.quotes{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:22px;margin:24px 0 0;padding:0}
.quotes li{background:var(--card);border:1px solid var(--rule);border-radius:var(--rc);padding:26px}
.quotes blockquote{margin:0;font-size:16.5px;line-height:1.6;color:var(--ink)}
.quotes blockquote:before{content:"\201C"}
.quotes blockquote:after{content:"\201D"}
.qwho{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--rule)}
.qwho img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.qwho b{display:block;font-family:var(--display);font-weight:600;font-size:14.5px}
.qwho span span{display:block;font-size:13px;color:var(--mute)}
.qvid{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:600}
.band.ink .quotes li{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
.band.ink .quotes blockquote,.band.ink .qwho b{color:#fff}

/* News. */
.newslist{list-style:none;margin:24px 0 0;padding:0}
.newslist>li{border-bottom:1px solid var(--rule);padding:26px 0}
.newslist article{display:grid;grid-template-columns:220px 1fr;gap:26px;align-items:start}
.newslist img{width:100%;height:140px;object-fit:cover;border-radius:10px}
.ncat{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue);font-weight:600;margin-bottom:7px}
.newslist h3{font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-0.02em;margin:0}
.nsum{color:var(--mute);margin:8px 0 0}
.newslist details{margin-top:12px}
.newslist summary{cursor:pointer;font-weight:600;color:var(--blue);font-size:14.5px}
.newslist details p{font-size:15.5px;line-height:1.65}
.nauth{color:var(--mute);font-size:13.5px;font-style:italic}
@media (max-width:680px){.newslist article{grid-template-columns:1fr;gap:14px}}

/* Download centre. */
.dlgroup{margin:0 0 36px}
.dllist{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:14px;margin:16px 0 0;padding:0}
.dllist a{display:flex;gap:16px;align-items:center;background:var(--card);border:1px solid var(--rule);
  border-radius:var(--rc);padding:18px;text-decoration:none;color:inherit;transition:.18s}
.dllist a:hover{border-color:var(--blue);transform:translateY(-2px);color:inherit}
.dlext{flex:none;width:52px;height:52px;border-radius:9px;background:var(--tint);color:var(--blue);
  display:flex;align-items:center;justify-content:center;font-family:var(--display);
  font-weight:700;font-size:12.5px;letter-spacing:.04em}
.dlmeta b{display:block;font-family:var(--display);font-weight:600;font-size:15.5px;letter-spacing:-0.01em}
.dlmeta span{display:block;font-size:13px;color:var(--mute);margin-top:3px}
.dlsize{font-size:12px !important;letter-spacing:.05em;text-transform:uppercase}

/* Past editions. */
.edrec{margin:0 0 76px;padding-bottom:56px;border-bottom:1px solid var(--rule)}
.edrec:last-child{border-bottom:0}
.edhero{background:var(--navy);background-size:cover;background-position:center;
  color:#fff;border-radius:var(--rc);padding:52px 40px}
.edhero .eyebrow{color:var(--blue-lt)}
.edhero h2{color:#fff;font-size:clamp(26px,3.4vw,38px);margin:10px 0 8px}
.edhero p{margin:0;color:var(--sky);font-size:15.5px}
.edintro{margin:26px 0 0;max-width:70ch}
.glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);border-radius:var(--rc);
  overflow:hidden;margin:30px 0 0}
.glance div{background:var(--card);padding:20px 18px}
.glance b{display:block;font-family:var(--display);font-weight:700;font-size:30px;
  letter-spacing:-0.03em;line-height:1.05;color:var(--blue)}
.glance span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--mute);margin-top:6px}
.edblock{margin:36px 0 0}
.edblock h3,.edcols h3{font-family:var(--display);font-weight:600;font-size:19px;
  letter-spacing:-0.02em;margin:0 0 12px}
.edcols{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:36px 0 0}
.edcols p{margin:0;color:var(--mute)}
.covlist{list-style:none;margin:0;padding:0}
.covlist li{padding:11px 0;border-bottom:1px solid var(--rule);font-size:15px}
@media (max-width:680px){
  .edcols{grid-template-columns:1fr;gap:22px}
  .edhero{padding:34px 22px}
}

/* Segment lockup and the show facts strip. */
.showlogo{display:block;width:auto;height:86px;margin:0 0 22px}
@media (max-width:560px){.showlogo{height:58px;margin-bottom:16px}}
.showh1{font-size:clamp(26px,3.6vw,44px);max-width:20ch}
.facts4{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule)}
.facts4 div{background:var(--card);padding:22px 20px}
.facts4 b{display:block;font-family:var(--display);font-weight:700;font-size:34px;
  color:var(--blue);letter-spacing:-0.03em;line-height:1}
.facts4 span{display:block;font-size:12.5px;color:var(--mute);margin-top:7px;line-height:1.45}

/* Online space booking. */
.bstep{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:26px 0;
  border-bottom:1px solid var(--rule)}
.bstep:last-of-type{border-bottom:0}
.bnum{width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:var(--display);
  font-weight:700;font-size:16px}
.bbody h3{font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-0.02em;margin:4px 0 12px}
.brow{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.bcard,.bcat{text-align:left;background:var(--card);border:1.5px solid var(--rule);
  border-radius:var(--rc);padding:18px 20px;cursor:pointer;font:inherit;color:inherit;
  transition:.16s;display:block;width:100%}
.bcard:hover,.bcat:hover{border-color:var(--blue)}
.bcard.on,.bcat.on{border-color:var(--blue);background:#F2F8FD;box-shadow:0 0 0 3px rgba(15,76,129,.10)}
.bcard b,.bcat b{display:block;font-family:var(--display);font-weight:600;font-size:17px}
.bcard span,.bcat span{display:block;font-size:13.5px;color:var(--mute);margin-top:4px;line-height:1.5}
.bcard .v{font-size:12.5px}
.bcat{margin-bottom:10px}
.bcat .rate{margin-top:10px;font-family:var(--display);font-weight:700;font-size:15px;color:var(--blue)}
.fld{display:block}
.fld>span{display:block;font-size:13px;font-weight:600;margin-bottom:5px}
.fld input,.fld select,.fld textarea{width:100%;padding:11px 12px;border:1px solid var(--rule);
  border-radius:8px;font:inherit;font-size:15.5px;background:#fff}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--blue-lt);border-color:var(--blue-lt)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.5;margin-top:8px}
.chk input{margin-top:3px;flex:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.qtab{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--rule);border-radius:var(--rc);overflow:hidden}
.qtab td{padding:11px 16px;border-bottom:1px solid var(--rule);font-size:15px}
.qtab td:last-child{text-align:right;font-family:var(--display);font-weight:600;white-space:nowrap}
.qtab tr:last-child td{border-bottom:0}
.qtab tr.tot td{background:var(--blue);color:#fff;font-size:17px}
.warn{background:#FFF6E2;border-left:3px solid #C8881F;padding:10px 14px;font-size:14px;color:#7A5A12;margin:0 0 12px}
@media (max-width:600px){
  .bstep{grid-template-columns:1fr;gap:10px}
  .bnum{width:32px;height:32px;font-size:14px}
}

/* Lead / Strong / Support. The honest ranking of each show per city. */
.rk{display:inline-block;font-family:var(--data);font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;padding:3px 8px;border-radius:2px;vertical-align:middle;
  margin-left:8px;font-weight:700}
.rk.rlead{background:var(--blue-lt);color:#fff}
.rk.rstrong{background:#D8EDEF;color:var(--blue)}
.rk.rsupport{background:#EDEBE4;color:var(--mute)}
.band.ink .rk.rstrong{background:rgba(255,255,255,.16);color:#DCE9EC}
.band.ink .rk.rsupport{background:rgba(255,255,255,.09);color:#9FB6BC}
.card.lead,.card.city{display:block;text-decoration:none;color:inherit;transition:.16s}
.card.lead:hover,.card.city:hover{border-color:var(--blue-lt);transform:translateY(-2px);color:inherit}
.card.city h3{display:flex;align-items:center;flex-wrap:wrap;gap:2px}
.pullline{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-0.02em;
  line-height:1.28;margin:22px 0;padding-left:18px;border-left:3px solid var(--blue-lt)}
@media (max-width:560px){.pullline{font-size:19px}}

/* Early Bird strip. Revealed by script only while the offer is live. */
.ebstrip{background:var(--amber);color:#FFF8EF}
.ebstrip[hidden]{display:none}
.ebstrip .wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px}
.ebstrip .t{font-family:var(--display);font-weight:700;font-size:13.5px;letter-spacing:0;color:#FFF8EF}
.ebstrip .d{font-family:var(--data);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  background:rgba(0,0,0,.22);padding:3px 9px;border-radius:2px;color:#FFF8EF}
.ebstrip a{margin-left:auto;color:#FFF8EF;font-weight:700;font-size:13px;text-decoration:none;
  border-bottom:1.5px solid rgba(0,0,0,.4)}
.ebstrip a:hover{color:#fff;border-bottom-color:#fff}
@media (max-width:560px){.ebstrip .wrap{gap:9px}.ebstrip a{margin-left:0;width:100%}}
@media print{.ebstrip{display:none}}

/* WhatsApp float. Present on the live site; kept so nothing is lost. */
.wa{position:fixed;right:18px;bottom:18px;z-index:900;width:52px;height:52px;border-radius:50%;
  background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,.28);transition:transform .16s}
.wa:hover{transform:scale(1.06);color:#fff}
.wa:focus-visible{outline:3px solid var(--blue-lt);outline-offset:3px}
@media (max-width:430px){.wa{width:46px;height:46px;right:12px;bottom:12px}}
@media print{.wa{display:none}}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

@media print{
  header.site,footer.site,.topbar,.btnrow,.ctaband{display:none}
  body{background:#fff;font-size:11pt}
}


/* ---------------------------------------------------------------
   Hyderabad specific layout. Delhi is centred and institutional.
   This edition is left aligned, tighter and more editorial, with a
   rule under every section head and a copper keyline on cards.
   --------------------------------------------------------------- */
.tb-days{display:inline-flex;align-items:baseline;gap:7px;margin-left:18px;
  padding:2px 10px;border:1px solid rgba(255,255,255,.28);border-radius:2px}
.tb-days b{font-family:var(--display);font-weight:800;font-size:14px;color:#fff;line-height:1}
.tb-days span{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--sky)}
@media(max-width:760px){.tb-days{display:none}}

.hdr-2nd{margin-right:8px}

/* cards: square, with a copper keyline instead of a soft shadow */
.card{border-radius:2px;border-left:3px solid var(--amber)}
.band.alt .card{background:#fff}
.card h3{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-0.01em;margin:6px 0 8px}

/* section heads sit under a heavy rule, like a spec sheet */
.shead h2{max-width:24ch}
.shead .deck{max-width:70ch}

/* hero: left aligned, no centred column */
.hero .wrap{text-align:left}
.hero .sub{max-width:62ch}
.hero .rule{margin-left:0}

/* the facts strip reads as data, not decoration */
.facts4 div{border-left:3px solid var(--amber)}
.facts4 b{font-family:var(--display);font-weight:800}

/* partner logos */
.plogos{margin:0 0 30px}
.plogos ul{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:18px 34px;margin:14px 0 0;padding:0}
.plogos img{max-height:62px;max-width:180px;width:auto;height:auto;object-fit:contain;
  filter:grayscale(1);opacity:.75;transition:.18s}
.plogos a:hover img,.plogos li:hover img{filter:none;opacity:1}
@media(max-width:560px){.plogos img{max-height:46px;max-width:126px}}







/* ---------- Hyderabad hero ----------
   Copy on the left, the two editions stacked on the right so the right hand
   column is not dead space. The city drawing then runs clear across the base
   with nothing sitting on top of it. */
.herohyd{
  background:#012051;
  background-image:
    linear-gradient(180deg,#01173C 0%,#012051 40%,rgba(1,32,81,0) 78%),
    url("../img/hero-skyline.jpg");
  background-repeat:no-repeat,no-repeat;
  background-position:top center,bottom center;
  background-size:100% 100%,1860px auto;
  padding:74px 0 196px;
}
.herohyd:before{display:none}

.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) 372px;gap:56px;align-items:start}
.hero-copy{min-width:0}
.herohyd .sub{max-width:54ch}
.herohyd h1{font-size:clamp(30px,4.1vw,52px)}

.hero-editions{display:flex;flex-direction:column;gap:14px;padding-top:6px}
.he-title{display:block;font-family:var(--body);font-size:10.5px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:2px}
.hero-editions .edition{background:rgba(1,23,60,.82);border:1px solid rgba(255,255,255,.20);
  border-left:3px solid var(--amber);border-radius:2px;padding:20px 22px;display:block;
  text-decoration:none;color:inherit;transition:.16s}
.hero-editions .edition:hover{background:rgba(1,23,60,.94);border-color:rgba(255,255,255,.36);
  border-left-color:var(--amber);transform:translateX(3px);color:inherit}
.hero-editions .city{font-size:25px;margin:6px 0 2px}
.hero-editions .d{font-size:15px}
.hero-editions .v{font-size:13.5px}
.hero-editions .go{margin-top:12px;font-size:10.5px}

@media (max-width:1100px){
  .hero-grid{grid-template-columns:1fr;gap:34px}
  .hero-editions{flex-direction:row;padding-top:0}
  .hero-editions .edition{flex:1}
  .he-title{display:none}
  .herohyd{padding-bottom:190px;background-size:100% 100%,1240px auto}
}
@media (max-width:720px){
  .hero-editions{flex-direction:column}
  .herohyd{padding:52px 0 132px;background-size:100% 100%,880px auto}
}
@media (max-width:480px){
  .herohyd{padding-bottom:104px;background-size:100% 100%,660px auto}
}

/* the edition page carries the same drawing, with room for its own content */
.hero-edition{padding:60px 0 236px}
.hero-edition .wrap{max-width:var(--shell)}
.hero-edition h1{max-width:20ch}
.hero-edition .sub{max-width:60ch}
@media (max-width:860px){ .hero-edition{padding:48px 0 150px} }
@media (max-width:480px){ .hero-edition{padding-bottom:108px} }

/* outline buttons sit over the city drawing, so they need a floor */
.herohyd .btn.outline-light{background:rgba(1,23,60,.72);backdrop-filter:blur(2px)}
.herohyd .btn.outline-light:hover{background:rgba(1,23,60,.92)}


/* ---------------------------------------------------------------
   Compatibility layer.
   The deployed hero uses eaw-hero / eaw-editions markup, which my
   earlier rules did not target, so the layout fell back to a plain
   stack. These rules style BOTH the markup I ship and the markup
   already on the server, so the page is correct either way.
   --------------------------------------------------------------- */
.eaw-hero{
  position:relative;
  background:#012051;
  background-image:
    linear-gradient(180deg,#01173C 0%,#012051 40%,rgba(1,32,81,0) 78%),
    image-set(url("../img/hyderabad-skyline.webp") type("image/webp"),
              url("../img/hero-skyline.jpg") type("image/jpeg"));
  background-image:
    linear-gradient(180deg,#01173C 0%,#012051 40%,rgba(1,32,81,0) 78%),
    url("../img/hyderabad-skyline.webp");
  background-repeat:no-repeat,no-repeat;
  background-position:top center,bottom center;
  background-size:100% 100%,1860px auto;
  color:#fff;
  padding:74px 0 196px;
}
.eaw-hero>.eaw-hero-inner,.eaw-hero>.eaw-editions{
  max-width:var(--shell);margin:0 auto;padding:0 var(--gut);box-sizing:border-box}
.eaw-hero{display:grid;grid-template-columns:1fr;gap:0}
@media (min-width:1101px){
  .eaw-hero{grid-template-columns:minmax(0,1fr);}
  .eaw-hero>.eaw-hero-inner{max-width:var(--shell);width:100%}
  .eaw-hero-wrap{display:grid;grid-template-columns:minmax(0,1.08fr) 372px;gap:56px}
}
.eaw-hero h1{font-family:var(--display);font-weight:800;text-transform:uppercase;
  font-size:clamp(30px,4.1vw,52px);line-height:1.06;letter-spacing:-0.02em;margin:0 0 4px;max-width:22ch}
.eaw-hero-eyebrow{font-family:var(--body);font-size:11px;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--blue-lt);margin:0 0 14px}
.eaw-hero-rule{width:72px;height:3px;background:var(--amber);margin:22px 0 24px}
.eaw-hero p{color:var(--sky);font-size:17px;line-height:1.72;max-width:54ch;margin:0 0 22px}
.eaw-hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.eaw-btn{display:inline-flex;align-items:center;font-family:var(--display);font-weight:700;
  font-size:14.5px;padding:13px 26px;border-radius:2px;text-decoration:none;border:1.5px solid #fff;
  transition:.16s}
.eaw-btn-p{background:#fff;color:#012051}
.eaw-btn-p:hover{background:#E8F1F9}
.eaw-btn-s{background:rgba(1,23,60,.72);color:#fff}
.eaw-btn-s:hover{background:rgba(1,23,60,.94)}

/* the two edition panels, right column on desktop */
.eaw-editions{display:flex;flex-direction:column;gap:14px;margin-top:34px}
.eaw-ed{background:rgba(1,23,60,.82);border:1px solid rgba(255,255,255,.20);
  border-left:3px solid var(--amber);border-radius:2px;padding:20px 22px;
  text-decoration:none;color:inherit;display:block;transition:.16s}
.eaw-ed:hover{background:rgba(1,23,60,.94);border-color:rgba(255,255,255,.36);
  border-left-color:var(--amber);transform:translateX(3px)}
.eaw-ed .tag{font-family:var(--body);font-size:10.5px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--blue-lt);margin:0}
.eaw-ed .city{font-family:var(--display);font-weight:800;font-size:25px;color:#fff;
  margin:6px 0 2px;letter-spacing:-0.03em}
.eaw-ed .date{font-family:var(--display);font-weight:700;font-size:15px;color:#fff;margin:0}
.eaw-ed .venue{font-size:13.5px;color:var(--sky);margin:4px 0 0}
.eaw-ed .go{font-family:var(--data);font-size:10.5px;letter-spacing:.14em;color:var(--blue-lt);
  margin-top:12px;display:block}

@media (min-width:1101px){
  .eaw-hero{position:relative}
  .eaw-hero>.eaw-editions{position:absolute;top:74px;right:calc(50% - (var(--shell)/2) + var(--gut));
    width:372px;margin-top:0}
  .eaw-hero>.eaw-hero-inner{padding-right:452px}
}
@media (max-width:1100px){
  .eaw-editions{flex-direction:row}
  .eaw-ed{flex:1}
  .eaw-hero{padding-bottom:190px;background-size:100% 100%,1240px auto}
}
@media (max-width:720px){
  .eaw-editions{flex-direction:column}
  .eaw-hero{padding:52px 0 132px;
    background-image:linear-gradient(180deg,#01173C 0%,#012051 40%,rgba(1,32,81,0) 78%),
      url("../img/hyderabad-skyline-mobile.webp");
    background-size:100% 100%,760px auto}
}
@media (max-width:480px){
  .eaw-hero{padding-bottom:104px;background-size:100% 100%,620px auto}
}
