@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root { --navy:#071b36; --navy-2:#0c2d55; --ink:#11233b; --gold:#d9a13a; --gold-light:#f2c767; --paper:#faf9f5; --sand:#f0ede5; --line:#d9dce0; --muted:#607085; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:104px; }
body { margin:0; padding-top:91px; overflow-x:hidden; background:#fff; color:var(--ink); font-family:"Space Grotesk",Arial,sans-serif; font-size:16px; line-height:1.6; }
img { display:block; max-width:100%; }
a { color:inherit; text-underline-offset:3px; }
.container { width:min(1240px,calc(100% - 48px)); margin-inline:auto; }
.skip-link { position:fixed; z-index:100; top:-60px; left:1rem; padding:.7rem 1rem; color:#fff; background:var(--navy); }.skip-link:focus { top:1rem; }
.site-header { position:fixed; z-index:50; top:0; right:0; left:0; border-top:3px solid var(--gold); background:rgba(255,255,255,.98); box-shadow:0 2px 12px rgba(7,27,54,.12); }
.header-inner { display:flex; min-height:88px; align-items:center; justify-content:space-between; gap:1.5rem; }
.brand { display:flex; align-items:center; gap:1rem; flex:none; text-decoration:none; color:var(--ink); }
.brand img { width:118px; height:62px; object-fit:contain; object-position:left center; }
.brand span { padding-left:1rem; border-left:1px solid #c7cbd1; color:#536174; font:400 .57rem/1.45 "DM Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }
.brand b { color:var(--navy); font-weight:500; }
.nav { display:flex; align-items:center; justify-content:flex-end; gap:1.1rem; font-size:.75rem; font-weight:600; white-space:nowrap; }
.nav a { text-decoration:none; }.nav a:not(.nav-cta):not(.nav-access):hover { color:#9a6611; }
.nav-access { color:var(--navy); border-bottom:1px solid var(--gold); }
.nav-cta,.button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:47px; padding:.8rem 1.1rem; border:1px solid transparent; border-radius:2px; font:600 .78rem/1 "Space Grotesk",sans-serif; letter-spacing:.03em; text-decoration:none; text-transform:uppercase; transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease; }
.nav-cta { min-height:43px; color:var(--navy); background:var(--gold); }.nav-cta:hover,.button.gold:hover { color:#071b36; background:var(--gold-light); transform:translateY(-1px); }
.menu-toggle { display:none; border:0; background:transparent; color:var(--navy); }.menu-toggle span { display:block; width:22px; height:2px; margin:4px; background:currentColor; }.menu-toggle i { display:block; font:600 .55rem "DM Mono",monospace; letter-spacing:.05em; font-style:normal; text-transform:uppercase; }
.hero { position:relative; min-height:610px; overflow:hidden; isolation:isolate; color:#fff; background:linear-gradient(117deg,#071b36 0%,#0a2a50 58%,#123d70 100%); }.hero::before,.hero::after { position:absolute; z-index:-1; border:1px solid rgba(242,199,103,.25); border-radius:50%; content:""; }.hero::before { top:-360px; right:-240px; width:880px; height:880px; }.hero::after { right:17%; bottom:-380px; width:650px; height:650px; }.hero-overlay { position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(7,27,54,.45),rgba(7,27,54,0) 75%); }.hero-illustration { position:absolute; z-index:-1; right:4%; bottom:0; width:min(43vw,600px); height:87%; opacity:.23; object-fit:contain; object-position:right bottom; filter:sepia(1) saturate(.9) hue-rotate(342deg); }
.hero-content { padding-top:120px; padding-bottom:94px; }.eyebrow { margin:0 0 .75rem; color:#a77116; font:500 .69rem/1.2 "DM Mono",monospace; letter-spacing:.13em; text-transform:uppercase; }.eyebrow.light { color:var(--gold-light); }
h1,h2,h3,p { overflow-wrap:break-word; } h1,h2,h3 { line-height:1.03; } h1 { max-width:800px; margin:0; font-size:clamp(3rem,7vw,6.5rem); letter-spacing:-.075em; } h1 em { color:var(--gold-light); font-style:normal; }.hero-copy { max-width:635px; margin:1.5rem 0; color:#eef2f7; font-size:1.12rem; }.event-line { display:flex; flex-wrap:wrap; gap:.5rem .9rem; margin:1.8rem 0; color:#e1e8ef; font-size:.76rem; }.event-line span { padding-left:.9rem; border-left:1px solid var(--gold); }.event-line span:first-child { padding-left:0; border-left:0; }.actions { display:flex; flex-wrap:wrap; gap:.7rem; }.button.gold { color:var(--navy); background:var(--gold); }.button.ghost { border-color:rgba(255,255,255,.65); color:#fff; }.button.ghost:hover { background:#fff; color:var(--navy); }.button.outline { border-color:var(--navy); color:var(--navy); }.button.outline:hover { border-color:var(--gold); background:var(--gold); }
.hero-mark { position:absolute; right:max(4vw,2rem); bottom:2rem; display:grid; width:168px; height:168px; place-content:center; border:1px solid rgba(242,199,103,.65); border-radius:50%; color:var(--gold-light); text-align:center; transform:rotate(-10deg); }.hero-mark span { font-size:2.1rem; font-weight:700; letter-spacing:-.08em; }.hero-mark small { font:500 .62rem "DM Mono",monospace; letter-spacing:.16em; }.hero-mark b { margin-top:1.2rem; color:#fff; font-size:.45rem; letter-spacing:.12em; line-height:1.4; }
.stats { border-bottom:3px solid var(--gold); background:var(--navy); color:#fff; }.stats-grid { display:grid; grid-template-columns:repeat(5,1fr); }.stat { display:flex; min-height:102px; align-items:center; gap:.8rem; padding:1rem 1.25rem; border-right:1px solid rgba(255,255,255,.17); }.stat:last-child { border:0; }.stat>span { display:grid; width:33px; height:33px; flex:0 0 33px; place-items:center; border:1px solid var(--gold); border-radius:50%; color:var(--gold-light); }.stat b { display:block; color:#fff; font-size:clamp(1.35rem,2.2vw,2rem); letter-spacing:-.06em; line-height:1; }.stat small { display:block; margin-top:.27rem; color:#d7dfeb; font:500 .59rem "DM Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.section { padding:104px 0; }.sand { background:var(--sand); }.navy,.sponsorship { background:var(--navy); color:#fff; }.about { position:relative; overflow:hidden; background:#fff; }.about::before { position:absolute; top:0; bottom:0; left:0; width:8px; background:var(--gold); content:""; }.about-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:6rem; align-items:center; }.about h2,.section-title h2,.stand-intro h2,.venue h2,.conference h2,.lounge h2,.contact h2 { max-width:800px; margin:.15rem 0 1rem; color:var(--navy); font-size:clamp(2.3rem,4.7vw,4.7rem); letter-spacing:-.07em; }.lead { max-width:700px; color:#3f5067; font-size:1.08rem; }.tick-list { margin:0; padding:0; list-style:none; }.tick-list li { padding:1rem 0 1rem 1.75rem; border-bottom:1px solid var(--line); }.tick-list li::before { position:absolute; margin-left:-1.75rem; color:#a77116; content:"✓"; font-weight:700; }
.section-title { max-width:780px; margin-bottom:3rem; }.section-title>p:not(.eyebrow) { margin:0; color:#536174; font-size:1.05rem; }.inverse h2,.inverse>p:not(.eyebrow) { color:#fff; }.inverse>p:not(.eyebrow) { color:#d9e0ea; }.outcome-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #bfc5cc; border-left:1px solid #bfc5cc; }.outcome-grid article { min-height:230px; padding:1.65rem; border-right:1px solid #bfc5cc; border-bottom:1px solid #bfc5cc; background:#fff; }.outcome-grid b,.category-grid b { color:#9d6811; font:500 .68rem "DM Mono",monospace; }.outcome-grid h3 { margin:2.2rem 0 .6rem; color:var(--navy); font-size:1.55rem; letter-spacing:-.05em; }.outcome-grid p { margin:0; color:#556477; }.stand-intro { margin:6rem 0 2.4rem; }.stand-intro p:not(.eyebrow) { max-width:680px; color:#556477; }.stand-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.stand-card { min-width:0; padding:2rem; border:1px solid var(--navy); }.stand-card.dark { color:#eff3f8; background:var(--navy); }.stand-card.light { color:var(--navy); background:#fff8e9; }.stand-drawing { position:relative; height:180px; margin:-2rem -2rem 1.7rem; overflow:hidden; }.stand-drawing span { position:absolute; z-index:2; top:50%; left:50%; color:#fff; font:600 .69rem "DM Mono",monospace; letter-spacing:.08em; line-height:1.45; text-align:center; text-transform:uppercase; transform:translate(-50%,-50%); }.raw { background:#102f59; }.raw i { position:absolute; top:35px; left:25%; width:50%; height:100px; border:1px dashed var(--gold-light); transform:skewY(-10deg); }.raw::after { position:absolute; bottom:22px; left:27%; width:46%; height:1px; background:var(--gold-light); content:""; transform:rotate(22deg); }.shell { background:linear-gradient(135deg,#f6e2ad,#cda14c); }.shell i { position:absolute; top:38px; right:18%; left:18%; height:112px; border:10px solid #fff; border-bottom:0; }.shell i::before { position:absolute; top:-10px; right:-10px; left:-10px; height:28px; background:var(--navy); content:""; }.shell span { top:52px; color:#fff; font-size:.58rem; }.card-label { margin:0; color:inherit; opacity:.72; font:500 .65rem "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }.stand-card h3 { margin:.55rem 0 .25rem; color:inherit; font-size:2rem; letter-spacing:-.06em; }.stand-card .price { margin:.2rem 0 1.2rem; color:var(--gold-light); }.stand-card.light .price { color:#95600d; }.stand-card .price b { font-size:1.35rem; }.stand-card>p:not(.card-label):not(.price) { max-width:460px; min-height:3.2em; }.text-link { display:inline-flex; gap:.5rem; margin-top:1rem; color:var(--gold-light); font-size:.84rem; font-weight:700; text-decoration:none; }.light .text-link,.stand-card.light .text-link { color:var(--navy); }.text-link:hover { text-decoration:underline; }.dark-link { color:var(--navy); }
.capability-gallery { display:grid; grid-template-columns:repeat(5,1fr); gap:.75rem; margin-bottom:4.5rem; }.capability-gallery figure { min-width:0; margin:0; overflow:hidden; border:1px solid #ccd2d9; background:#f6f7f8; }.capability-gallery img { width:100%; height:170px; object-fit:contain; background:#f6f7f8; }.capability-gallery figcaption { padding:.75rem .8rem; color:var(--navy); font-size:.76rem; font-weight:600; line-height:1.2; text-align:center; }.category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; }.category-grid article { min-height:185px; padding:1.35rem; border:1px solid #d5d9df; background:#fff; }.category-grid h3 { margin:2.1rem 0 .6rem; color:var(--navy); font-size:1.14rem; letter-spacing:-.04em; }.category-grid p { margin:0; color:#5c6979; font-size:.86rem; line-height:1.5; }.meet { background:linear-gradient(120deg,#071b36,#123b6b); }.meet-grid { display:grid; grid-template-columns:repeat(7,1fr); border-top:1px solid rgba(255,255,255,.23); border-left:1px solid rgba(255,255,255,.23); }.meet-grid article { min-height:165px; padding:1.3rem .8rem; border-right:1px solid rgba(255,255,255,.23); border-bottom:1px solid rgba(255,255,255,.23); text-align:center; }.meet-grid span { display:grid; width:36px; height:36px; margin:0 auto 1.1rem; place-items:center; border:1px solid var(--gold); border-radius:50%; color:var(--gold-light); font:500 .6rem "DM Mono",monospace; }.meet-grid h3 { margin:0; color:#fff; font-size:.79rem; letter-spacing:-.03em; line-height:1.3; }
.sponsorship { background:#06182f; }.sponsor-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.8rem; }.sponsor-grid article { min-height:280px; padding:1.35rem; border:1px solid rgba(255,255,255,.35); background:linear-gradient(145deg,#11345e,#091c37); }.sponsor-grid .principal { border-color:var(--gold); background:linear-gradient(145deg,#1a3554,#08182e); }.sponsor-grid .gold-card { border-color:#d6a039; background:linear-gradient(145deg,#75531a,#33270f); }.sponsor-grid .silver-card { background:linear-gradient(145deg,#617286,#293749); }.sponsor-grid p { margin:0; color:var(--gold-light); font:500 .59rem "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }.sponsor-grid span { display:block; margin:3.2rem 0 1.25rem; color:var(--gold-light); font-size:2.3rem; }.sponsor-grid h3 { margin:0 0 .75rem; color:#fff; font-size:1.55rem; letter-spacing:-.05em; }.sponsor-grid small { color:#e2e9f1; font-size:.88rem; }.sponsor-callout { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; padding:1.25rem 1.5rem; border:1px solid rgba(255,255,255,.25); }.sponsor-callout p { margin:0; color:#dbe3ee; }.sponsor-callout a:not(.button) { color:var(--gold-light); font-weight:700; }
.conference { background:var(--sand); }.conference-grid,.venue-grid,.lounge-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }.programme-cards { display:grid; gap:.8rem; }.programme-cards article { min-height:164px; padding:1.65rem; border-left:4px solid var(--gold); background:#fff; box-shadow:0 9px 25px rgba(12,38,69,.06); }.programme-cards b { color:var(--navy); font-size:1.28rem; }.programme-cards p { margin:.7rem 0 0; color:#526174; }.venue { background:#fff; }.venue aside { padding:2.2rem; border:1px solid #d6dbe1; background:var(--sand); }.venue aside h3,.lounge-card h3 { margin:0 0 1rem; color:var(--navy); font-size:1.65rem; letter-spacing:-.05em; }.venue aside ul,.lounge-card ul { margin:1.2rem 0 0; padding:0; list-style:none; }.venue aside li,.lounge-card li { padding:.7rem 0; border-bottom:1px solid #d2d7de; }.venue aside li::before,.lounge-card li::before { margin-right:.75rem; color:#a77116; content:"→"; }.lounge { background:var(--sand); }.lounge-card { padding:2.35rem; color:#eaf0f7; background:var(--navy); }.lounge-card h3 { color:#fff; }.lounge-card li { border-color:rgba(255,255,255,.22); }.lounge-card .text-link { color:var(--gold-light); }
.contact { background:#edf0f3; }.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:3rem; align-items:start; }.contact-copy { padding:2.4rem; color:#edf3fa; background:var(--navy); }.contact-copy h2 { color:#fff; font-size:clamp(2.2rem,4vw,3.8rem); }.contact-copy>p:not(.eyebrow) { color:#d6dfeb; }.contact-copy dl { margin:2rem 0 0; }.contact-copy dl div { padding:1rem 0; border-top:1px solid rgba(255,255,255,.22); }.contact-copy dt { color:var(--gold-light); font:500 .6rem "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }.contact-copy dd { margin:.28rem 0 0; color:#fff; font-weight:600; }.contact-copy dd a { color:#fff; }.enquiry-form { min-width:0; padding:2.4rem; border:1px solid #d2d8df; background:#fff; box-shadow:0 15px 38px rgba(7,27,54,.09); }.form-head h3 { margin:.1rem 0 .45rem; color:var(--navy); font-size:1.8rem; letter-spacing:-.05em; }.form-head p:last-child,.form-note { color:#657286; font-size:.8rem; }.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.5rem 0 1rem; }.enquiry-form label { display:block; min-width:0; color:#2d405a; font-size:.75rem; font-weight:600; }.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea { display:block; width:100%; min-width:0; margin-top:.35rem; padding:.72rem .8rem; border:1px solid #c7d0da; border-radius:2px; outline:none; color:var(--navy); background:#fff; font:400 .94rem "Space Grotesk",sans-serif; }.enquiry-form textarea { resize:vertical; }.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus { border-color:#a77116; box-shadow:0 0 0 3px rgba(217,161,58,.18); }.enquiry-form .full { margin-top:.4rem; }.consent { display:flex !important; gap:.7rem; align-items:flex-start; margin:1.35rem 0; font-weight:400 !important; }.consent input { width:16px; height:16px; margin-top:.2rem; accent-color:var(--navy); }.consent a { color:var(--navy); }.form-note { margin:1rem 0 0; }.honeypot { position:absolute !important; left:-9999px !important; }
.site-footer { padding-top:4.5rem; color:#d8e1ec; background:#06172d; }.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:3rem; }.footer-brand img { width:150px; height:72px; object-fit:contain; object-position:left center; }.footer-grid p { color:#cad5e3; font-size:.88rem; }.footer-grid h3 { margin:0 0 1rem; color:var(--gold-light); font-size:.82rem; letter-spacing:.02em; text-transform:uppercase; }.footer-grid a:not(.footer-brand) { display:block; margin:.55rem 0; color:#fff; font-size:.9rem; }.fine-print { margin-top:3.5rem; padding:1.2rem 0; border-top:1px solid rgba(255,255,255,.17); color:#b3c0d1; font-size:.75rem; }
.privacy-page { min-height:62vh; background:var(--paper); }.privacy-content { max-width:800px; }.privacy-content h1 { margin:.1rem 0 1.5rem; color:var(--navy); font-size:clamp(3rem,6vw,5.5rem); letter-spacing:-.08em; }.privacy-content h2 { margin:2.5rem 0 .5rem; color:var(--navy); font-size:1.6rem; letter-spacing:-.05em; }.privacy-content p { color:#485970; font-size:1.04rem; }
@media (max-width:1120px) { .nav { gap:.7rem; font-size:.68rem; }.nav-cta { padding:.75rem .75rem; }.brand span { display:none; }.category-grid { grid-template-columns:repeat(3,1fr); }.meet-grid { grid-template-columns:repeat(4,1fr); }.meet-grid article:nth-child(4) { border-right:0; } }
@media (max-width:900px) { body { padding-top:78px; }.header-inner { min-height:75px; }.brand img { width:112px; height:54px; }.menu-toggle { display:block; padding:.5rem 0 .5rem .5rem; }.nav { position:absolute; top:75px; right:0; left:0; display:none; align-items:stretch; padding:1rem max(24px,calc((100vw - 640px)/2)); border-top:1px solid #e0e3e7; background:#fff; box-shadow:0 12px 16px rgba(7,27,54,.1); }.nav.is-open { display:grid; }.nav a { padding:.7rem 0; font-size:.83rem; }.nav-access { border-bottom:0; }.nav-cta { justify-self:start; margin-top:.25rem; padding:.85rem 1rem !important; }.hero { min-height:570px; }.hero-content { padding-top:94px; }.hero-mark { width:135px; height:135px; opacity:.8; }.stats-grid { grid-template-columns:repeat(3,1fr); }.stat:nth-child(3) { border-right:0; }.stat:nth-child(4),.stat:nth-child(5) { border-top:1px solid rgba(255,255,255,.17); }.about-grid,.conference-grid,.venue-grid,.lounge-grid,.contact-grid { grid-template-columns:1fr; gap:2.5rem; }.about-grid { gap:2rem; }.capability-gallery { grid-template-columns:repeat(3,1fr); }.capability-gallery figure:first-child { grid-column:span 2; }.sponsor-grid { grid-template-columns:repeat(2,1fr); }.footer-grid { grid-template-columns:1.3fr 1fr; }.footer-grid>div:first-child { grid-column:span 2; } }
@media (max-width:620px) { html { scroll-padding-top:82px; }.container { width:min(100% - 32px,1240px); }.section { padding:72px 0; }.hero { min-height:590px; }.hero-illustration { right:-110px; width:560px; opacity:.16; }.hero-overlay { background:linear-gradient(90deg,rgba(7,27,54,.95),rgba(7,27,54,.64)); }.hero-content { padding-top:80px; padding-bottom:50px; }.hero-copy { font-size:1rem; }.hero-mark { right:-35px; bottom:18px; width:130px; height:130px; }.event-line { display:grid; gap:.35rem; }.event-line span,.event-line span:first-child { padding-left:.8rem; border-left:1px solid var(--gold); }.actions .button { width:100%; }.stats-grid { grid-template-columns:1fr 1fr; }.stat { min-height:91px; padding:.8rem; }.stat:nth-child(2) { border-right:0; }.stat:nth-child(3) { border-right:1px solid rgba(255,255,255,.17); }.stat:nth-child(5) { grid-column:span 2; border-right:0; }.outcome-grid,.stand-grid,.form-grid,.sponsor-grid { grid-template-columns:1fr; }.outcome-grid article { min-height:0; }.stand-intro { margin-top:4rem; }.capability-gallery { grid-template-columns:1fr 1fr; margin-bottom:3rem; }.capability-gallery figure:first-child { grid-column:span 2; }.capability-gallery img { height:148px; }.category-grid { grid-template-columns:1fr 1fr; }.category-grid article { min-height:165px; padding:1rem; }.category-grid h3 { margin-top:1.8rem; font-size:1rem; }.meet-grid { grid-template-columns:1fr 1fr; }.meet-grid article,.meet-grid article:nth-child(4) { border-right:1px solid rgba(255,255,255,.23); }.meet-grid article:nth-child(2n) { border-right:0; }.meet-grid article:last-child { grid-column:span 2; }.sponsor-callout { display:grid; padding:1.25rem; }.sponsor-callout .button { width:100%; }.venue aside,.lounge-card,.contact-copy,.enquiry-form { padding:1.45rem; }.contact-grid { gap:1rem; }.footer-grid { grid-template-columns:1fr; gap:1.7rem; }.footer-grid>div:first-child { grid-column:auto; }.site-footer { padding-top:3.2rem; }.fine-print { margin-top:2.5rem; }.form-grid { gap:.85rem; } }

/* Review v45 additions: purposeful imagery, countdown and fuller DECE programme content. */
.hero { background:#071b36; }.hero::before,.hero::after { z-index:0; }.hero-image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center right; }.hero-overlay { background:linear-gradient(90deg,rgba(7,27,54,.98),rgba(7,27,54,.91) 42%,rgba(7,27,54,.46) 70%,rgba(7,27,54,.24)); }
.countdown-band { color:#fff; background:linear-gradient(110deg,#0c2e57,#071b36); }.countdown-layout { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1.4rem 0; }.countdown-layout p { margin:0; color:#dce4ef; font-size:.85rem; line-height:1.45; }.countdown-layout p span { display:block; margin-bottom:.25rem; color:var(--gold-light); font:500 .59rem "DM Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }.countdown { display:grid; grid-template-columns:repeat(4,76px); gap:.5rem; }.countdown div { padding:.55rem .3rem; border:1px solid rgba(255,255,255,.23); text-align:center; }.countdown b { display:block; color:#fff; font-size:1.45rem; letter-spacing:-.05em; line-height:1; }.countdown small { color:var(--gold-light); font:500 .51rem "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.opportunity-section { background:#fff; }.opportunity-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.opportunity-grid>article { min-height:370px; padding:2rem; border:1px solid #d6dbe1; background:var(--sand); }.opportunity-grid h3 { margin:.35rem 0 1rem; color:var(--navy); font-size:1.8rem; letter-spacing:-.06em; }.opportunity-grid p:not(.eyebrow):not(.opportunity-price) { color:#516177; }.opportunity-price { margin:1.25rem 0 .75rem; color:#9a6410; font-size:1.65rem; font-weight:700; }.opportunity-price small { font-size:.75rem; font-weight:500; }.opportunity-grid ul { margin:1.2rem 0; padding:0; list-style:none; color:#45566d; font-size:.88rem; }.opportunity-grid li { padding:.35rem 0 .35rem 1.1rem; }.opportunity-grid li::before { margin-left:-1.1rem; color:#a77116; content:"✓"; }.opportunity-grid .opportunity-image { position:relative; overflow:hidden; padding:0; background:var(--navy); }.opportunity-image img { width:100%; height:100%; object-fit:cover; object-position:right center; }.opportunity-image::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 20%,rgba(7,27,54,.93)); content:""; }.opportunity-image p { position:absolute; z-index:1; right:1.5rem; bottom:1.3rem; left:1.5rem; margin:0; color:#fff !important; font-size:1.3rem; font-weight:600; line-height:1.15; }
@media (max-width:900px) { .countdown-layout { display:grid; gap:1rem; }.opportunity-grid { grid-template-columns:1fr 1fr; }.opportunity-grid .opportunity-image { grid-column:span 2; min-height:280px; } }
@media (max-width:620px) { .hero-image { object-position:68% center; }.hero-overlay { background:linear-gradient(90deg,rgba(7,27,54,.96),rgba(7,27,54,.72)); }.countdown { grid-template-columns:repeat(4,1fr); gap:.35rem; }.countdown b { font-size:1.2rem; }.opportunity-grid { grid-template-columns:1fr; }.opportunity-grid .opportunity-image { grid-column:auto; min-height:260px; } }

/* Review 49: consistent exhibitor access, validation and travel panel. */
[hidden] { display:none !important; }
button { cursor:pointer; }
:focus-visible { outline:3px solid #ac7419; outline-offset:3px; }
.hero::before,.hero::after,.hero-mark { pointer-events:none; }
.opportunity-image img { position:absolute; inset:0; }
.nav { gap:.85rem; }
.shuttle-panel { position:relative; overflow:hidden; border:0 !important; border-radius:16px; background:linear-gradient(135deg,#092345,#17466f) !important; color:#e8eff8; box-shadow:0 16px 38px #071b3619; }
.shuttle-panel h3 { color:#fff !important; margin-top:1.1rem !important; }
.shuttle-icon { display:grid; place-items:center; width:64px; height:64px; margin-bottom:1.5rem; border:1px solid #f2c76777; border-radius:16px; color:var(--gold-light); background:#ffffff0a; }
.shuttle-icon svg { width:44px; height:44px; }
.shuttle-route { display:flex; align-items:center; gap:1rem; padding:1rem 0; border-block:1px solid #ffffff30; color:var(--gold-light); font-weight:600; line-height:1.4; }
.shuttle-panel li { border-color:#ffffff25 !important; }
.shuttle-panel li::before { color:var(--gold-light) !important; }
.exhibitor-access { background:#edf1f5; }
.auth-page { min-height:calc(100vh - 91px); padding:clamp(2.5rem,6vw,6rem) 0; background:radial-gradient(circle at 85% 5%,#dce8f3,transparent 40%),#f1f4f7; }
.auth-layout { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(2rem,4vw,4rem); align-items:start; }
.auth-intro h1 { color:var(--navy); font-size:clamp(2.8rem,4.8vw,4.8rem); line-height:1.02; letter-spacing:-.065em; }
.auth-intro h1 em { color:#946113; }
.auth-intro>p:not(.eyebrow) { color:#475b72; font-size:1.05rem; }
.lounge-benefits { margin:2rem 0 1rem; padding:1.6rem; color:#e6edf5; background:var(--navy); border-radius:14px; }
.lounge-benefits h2 { margin:0 0 1rem; color:var(--gold-light); font-size:1.4rem; }
.lounge-benefits p { margin:1rem 0 0; }
.lounge-benefits b { color:#fff; }
.auth-card { min-width:0; padding:clamp(1.3rem,3vw,2.6rem); border:1px solid #d5dee8; border-radius:16px; background:#fff; box-shadow:0 22px 55px #071b3614; }
.auth-card h2 { margin:.4rem 0 1rem; color:var(--navy); font-size:clamp(1.8rem,2.7vw,2.5rem); letter-spacing:-.045em; line-height:1.1; }
.auth-card p { color:#475b72; }
.access-steps { display:flex; flex-wrap:wrap; gap:.6rem 1rem; margin:0 0 2rem; padding:0 0 1.2rem; list-style:none; border-bottom:1px solid var(--line); font-size:.78rem; color:#607085; }
.access-steps [aria-current] { color:var(--navy); font-weight:700; text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:7px; }
.auth-card form[data-validate] { display:grid; gap:.75rem; margin-top:1.6rem; }
.auth-card label,.auth-card legend { display:block; color:#263e5a; font-size:.9rem; font-weight:600; }
.auth-card input:not([type=checkbox]):not([type=hidden]),.auth-card select,.auth-card textarea { display:block; width:100%; min-width:0; min-height:50px; margin:.4rem 0 0; padding:.85rem; border:1px solid #b6c4d4; border-radius:8px; color:var(--navy); background:#fff; font:400 1rem/1.5 "Space Grotesk",Arial,sans-serif; }
.auth-card textarea { resize:vertical; }
.auth-card select { text-overflow:ellipsis; }
.auth-card input:focus,.auth-card select:focus,.auth-card textarea:focus { border-color:#966313; outline:3px solid #d9a13a33; }
.auth-card .button { min-height:52px; margin-top:.5rem; font-size:.82rem; line-height:1.35; }
.auth-card fieldset { min-width:0; margin:.65rem 0; padding:1rem; border:1px solid #c7d2df; border-radius:10px; }
.field-help { margin:.25rem 0 .75rem; color:#53657b; font-size:.84rem; }
.date-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; }
.date-options label { display:flex; align-items:center; gap:.45rem; padding:.75rem .5rem; border:1px solid #c7d2df; border-radius:8px; font-size:.8rem; cursor:pointer; }
.date-options label:has(:checked) { border-color:#946113; background:#fff6df; }
.date-options input { width:18px; height:18px; flex:none; accent-color:var(--navy); }
.lounge-booking .form-grid { margin:0; }
.verified-badge { display:inline-block; margin:0 0 .5rem; padding:.35rem .65rem; border-radius:30px; background:#e6f4ec; color:#216342 !important; font-size:.83rem; font-weight:600; }
.verified-email { overflow-wrap:anywhere; }
.optional { font-weight:400; }
.auth-secondary { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; margin-top:1.5rem; }
.text-button { min-height:44px; padding:.6rem 0; border:0; background:transparent; color:var(--navy); font:600 .86rem "Space Grotesk",Arial,sans-serif; text-decoration:underline; text-underline-offset:4px; }
.form-message { margin:1rem 0; padding:1rem; border-left:4px solid #a93232; border-radius:6px; background:#fff0ed; color:#852323 !important; }
.form-message ul { margin:.5rem 0 0; padding-left:1.2rem; }
.field-error { display:block; margin-top:.35rem; color:#a52b2b; font-size:.84rem; font-weight:500; }
[aria-invalid=true] { border-color:#b33131 !important; box-shadow:0 0 0 1px #b33131; }
.confirmation-icon { display:grid; place-items:center; width:64px; height:64px; margin:0 0 1.5rem; color:#216342; background:#e6f4ec; border-radius:50%; font-size:2rem; }
.lounge-confirmation dl { margin:1.5rem 0; padding:1.1rem; background:#f3f6f9; border-radius:10px; }
.lounge-confirmation dl div { padding:.5rem 0; }
.lounge-confirmation dt { font-size:.78rem; color:#53657b; }
.lounge-confirmation dd { margin:.2rem 0 0; font-weight:600; overflow-wrap:anywhere; }
.exhibitor-access .site-footer { padding-top:0; }
.exhibitor-access .fine-print { margin-top:0; }
.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea { font-size:1rem; min-height:48px; }
@media (max-width:1200px) and (min-width:901px) { .nav { gap:.65rem; font-size:.68rem; }.brand span { display:none; } }
@media (max-width:900px) { .auth-layout { grid-template-columns:1fr; }.auth-intro { max-width:680px; }.nav { max-height:calc(100dvh - 78px); overflow:auto; }.hero-mark { display:none; } }
@media (max-width:620px) { .date-options { grid-template-columns:1fr; }.date-options label { padding:.8rem; font-size:.9rem; }.auth-card { padding:1.25rem; }.auth-intro h1 { font-size:2.9rem; }.shuttle-route { flex-direction:column; align-items:flex-start; gap:.5rem; }.shuttle-panel { padding:1.5rem !important; }.access-steps { gap:.7rem; font-size:.73rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }* { transition:none !important; } }


/* Review 50: visitor, delegate, speaker and expanded conference agenda. Existing imagery, icons and logos unchanged. */
.audience-section { border-top:1px solid var(--line); }
.audience-layout { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(2rem,5vw,5rem); align-items:start; }
.audience-layout>div:first-child { position:sticky; top:120px; }
.audience-grid { display:grid; gap:.8rem; }
.audience-grid article { padding:1.55rem 1.7rem; border:1px solid #d6dbe1; background:#fff; }
.sand .audience-grid article { background:#fff; }
.audience-grid b { display:block; margin-bottom:.5rem; color:var(--navy); font-size:1.05rem; }
.audience-grid p { margin:0; color:#526279; font-size:.9rem; line-height:1.65; }
.conference-agenda { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:2.4rem; }
.conference-agenda article { position:relative; min-height:150px; padding:1.45rem 1.5rem 1.4rem 4.4rem; border:1px solid #d4dce5; background:#fff; }
.conference-agenda span { position:absolute; top:1.4rem; left:1.35rem; color:#a46b12; font:600 .72rem "DM Mono",monospace; letter-spacing:.08em; }
.conference-agenda b { display:block; color:var(--navy); font-size:1rem; line-height:1.35; }
.conference-agenda p { margin:.55rem 0 0; color:#596a7f; font-size:.84rem; line-height:1.55; }
.conference-cta { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:1rem; padding:1.4rem 1.5rem; background:var(--navy); color:#dce5ef; }
.conference-cta p { max-width:760px; margin:0; font-size:.88rem; line-height:1.6; }
.conference-cta b { color:#fff; }
@media (max-width:1100px) and (min-width:901px) { .nav { gap:.45rem; font-size:.62rem; } }
@media (max-width:900px) { .audience-layout { grid-template-columns:1fr; }.audience-layout>div:first-child { position:static; }.conference-agenda { grid-template-columns:1fr; }.conference-cta { align-items:flex-start; flex-direction:column; } }

/* v50 — Delegate agenda: premium two-column conference programme */
.agenda-heading{margin:2.4rem 0 1.25rem;padding-top:1.7rem;border-top:1px solid #d8dee7}.agenda-heading h3{margin:.2rem 0 .45rem;color:var(--navy);font-size:clamp(1.55rem,2.2vw,2.15rem);line-height:1.12}.agenda-heading>p:last-child{max-width:850px;margin:.4rem 0 0;color:#627287;font-size:.9rem}
.agenda-days{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:24px!important;align-items:start;width:100%;margin-top:1.35rem}.agenda-day{min-width:0;overflow:hidden;border:1px solid #cbd8e8;border-radius:8px;background:#fff;box-shadow:0 14px 34px rgba(7,27,54,.08)}
.agenda-day>header{display:flex;align-items:center;gap:1rem;padding:1rem 1.15rem;background:linear-gradient(135deg,#071b36 0%,#0c2d55 58%,#124a86 100%);color:#fff}.agenda-day>header>span{flex:none;padding:.48rem .7rem;border:1px solid rgba(255,255,255,.3);border-radius:4px;background:#fff;color:#0c2d55;font:700 .7rem "DM Mono",monospace;letter-spacing:.1em}.agenda-day>header b,.agenda-day>header small{display:block}.agenda-day>header b{font-size:1.02rem}.agenda-day>header small{margin-top:.08rem;color:#bcd0e8;font-size:.69rem;text-transform:uppercase;letter-spacing:.08em}
.agenda-table-head{display:grid;grid-template-columns:105px minmax(0,1fr);padding:.58rem 1rem;border-bottom:1px solid #d7e1ec;background:#eef4fa;color:#365575;font:600 .64rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.09em}.agenda-slot{display:block;border-bottom:1px solid #dce4ed;background:#fff}.agenda-slot:last-child{border-bottom:0}.agenda-slot summary{display:grid;grid-template-columns:105px minmax(0,1fr) 28px;gap:.7rem;align-items:center;min-height:80px;padding:.82rem 1rem;cursor:pointer;list-style:none;transition:background .2s ease}.agenda-slot summary::-webkit-details-marker{display:none}.agenda-slot summary:hover,.agenda-slot[open] summary{background:#f3f8fd}.agenda-slot time{color:#24578b;font:600 .7rem "DM Mono",monospace;white-space:nowrap}.slot-title{min-width:0}.slot-title small,.slot-title b{display:block}.slot-title small{margin-bottom:.2rem;color:#6e8298;font-size:.59rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em}.slot-title b{color:#071b36;font-size:.86rem;line-height:1.28}.agenda-toggle{display:grid;width:26px;height:26px;place-items:center;border:1px solid #9eb4ca;border-radius:50%;color:#0c3b6d;font-size:1rem;line-height:1;transition:transform .3s ease,background .2s,color .2s}.agenda-slot[open] .agenda-toggle{transform:rotate(45deg);border-color:#174f86;background:#174f86;color:#fff}
.agenda-curtain{padding:1rem 1rem 1.1rem 121px;border-top:1px solid #dce7f2;background:linear-gradient(180deg,#f6faff 0%,#fff 100%);animation:agendaCurtain .3s ease both}.agenda-curtain>p{margin:0 0 .9rem;color:#53677e;font-size:.79rem;line-height:1.55}.agenda-speakers{display:flex;flex-wrap:wrap;gap:.55rem}.speaker-placeholder{display:flex;align-items:center;gap:.48rem;min-width:120px;padding:.48rem .58rem;border:1px solid #cfdae6;border-radius:5px;background:#fff}.person-icon{display:grid;width:32px;height:32px;flex:none;place-items:center;border-radius:50%;background:#e5eef7;color:#174f86;font-size:1.05rem}.speaker-placeholder small{color:#53677e;font-size:.64rem;font-weight:600;white-space:nowrap}@keyframes agendaCurtain{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:980px){.agenda-days{grid-template-columns:1fr!important}.agenda-day{max-width:760px;width:100%;margin-inline:auto}}@media(max-width:560px){.agenda-table-head{grid-template-columns:78px 1fr}.agenda-slot summary{grid-template-columns:78px minmax(0,1fr) 25px;gap:.5rem;padding:.75rem}.agenda-curtain{padding:.9rem .75rem 1rem}.slot-title b{font-size:.8rem}.agenda-slot time{font-size:.64rem}}


/* v51 — visual harmonisation for sections introduced after review v44 */
.audience-section{position:relative;background:#fff}.audience-section.sand{background:var(--sand)}
.audience-section .section-title{max-width:780px;margin-bottom:3rem}.audience-section .section-title h2,.audience-layout h2{max-width:800px;margin:.15rem 0 1rem;color:var(--navy);font-size:clamp(2.3rem,4.7vw,4.7rem);line-height:1.03;letter-spacing:-.07em}.audience-section .section-title>p:not(.eyebrow),.audience-layout .lead{color:#536174;font-size:1.05rem;line-height:1.6}
.visitor-category-grid{grid-template-columns:repeat(4,1fr);border-color:#c9d0d8}.visitor-category-grid article{min-height:220px;padding:1.55rem;background:#fff;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.visitor-category-grid article:hover{position:relative;z-index:2;border-color:#aeb9c5;box-shadow:0 14px 30px rgba(7,27,54,.08);transform:translateY(-2px)}.visitor-category-grid article>b{color:#9d6811;font:500 .68rem "DM Mono",monospace}.visitor-category-grid h3{margin:2.1rem 0 .6rem;color:var(--navy);font-size:1.08rem;line-height:1.2;letter-spacing:-.035em}.visitor-category-grid p{color:#556477;font-size:.88rem;line-height:1.55}
.audience-action{margin-top:2rem;padding:1.35rem 1.5rem;border:1px solid #d3d9df;border-left:4px solid var(--gold);background:#f7f8f9}.audience-action p{font-size:.92rem;line-height:1.55}.audience-action .button{flex:none}
.delegate-benefits{gap:0;margin-bottom:4.5rem;border-color:#c9d0d8;background:#c9d0d8}.delegate-benefits article{min-height:165px;padding:1.6rem 1.7rem}.delegate-benefits b{display:block;color:var(--navy);font-size:1.08rem;letter-spacing:-.025em}.delegate-benefits p{color:#556477;font-size:.88rem;line-height:1.55}
.agenda-heading{max-width:780px;margin-bottom:2rem}.agenda-heading h3{margin:.15rem 0 .7rem;color:var(--navy);font-size:clamp(2.05rem,3.6vw,3.45rem);line-height:1.03;letter-spacing:-.065em}.agenda-heading>p:not(.eyebrow){margin:0;color:#536174;font-size:1rem;line-height:1.6}
.agenda-days{gap:1.25rem}.agenda-day{overflow:hidden;border:1px solid #cbd3dc;border-radius:3px;box-shadow:0 14px 34px rgba(7,27,54,.07)}.agenda-day>header{min-height:82px;padding:1.15rem 1.25rem;background:linear-gradient(115deg,var(--navy),var(--navy-2));border-bottom:3px solid var(--gold)}.agenda-day>header>span{border:1px solid rgba(242,199,103,.45);background:transparent;color:var(--gold-light)}.agenda-day>header b{font-size:1.08rem;letter-spacing:-.02em}.agenda-day>header small{color:#d2ddea}.agenda-table-head{padding:.7rem 1rem;background:#eef3f8;color:#50647d}.agenda-slot summary{min-height:78px;padding:.95rem 1rem}.agenda-slot summary:hover,.agenda-slot[open] summary{background:#f2f6fa}.agenda-slot time{color:#8e6117}.slot-title small{color:#728196}.slot-title b{font-size:.9rem;letter-spacing:-.015em}.agenda-toggle{border-color:#b8c4d1;background:#fff}.agenda-slot[open] .agenda-toggle{color:var(--navy);background:var(--gold-light);border-color:var(--gold)}.agenda-curtain{padding:0 1rem 1.2rem 124px;background:#f8fafc;border-top:1px solid #e0e6ec}.agenda-curtain>p{padding-top:1rem;color:#4f6178;font-size:.84rem}.speaker-placeholder{border-color:#d1dae3;background:#fff}.person-icon{background:#e9eff5;color:var(--navy)}
.audience-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem;align-items:start}.audience-grid{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #c9d0d8}.audience-grid article{padding:1.5rem 0;border-bottom:1px solid #c9d0d8}.audience-grid article>b{display:block;margin-bottom:.45rem;color:var(--navy);font-size:1.05rem;letter-spacing:-.025em}.audience-grid article p{margin:0;color:#556477;font-size:.9rem;line-height:1.6}
#conference{background:#f7f8fa}.conference-agenda article{background:#fff}
.nav-access{padding:.45rem .15rem;transition:color .2s,border-color .2s}.nav-access:hover{color:#9a6611;border-color:#9a6611}.nav-cta{box-shadow:0 6px 16px rgba(217,161,58,.18)}
#exhibitor-enquiry{scroll-margin-top:118px}
@media(max-width:1000px){.visitor-category-grid{grid-template-columns:repeat(3,1fr)}.audience-layout{gap:3rem}}
@media(max-width:900px){.audience-layout{grid-template-columns:1fr}.agenda-days{grid-template-columns:1fr}.visitor-category-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.visitor-category-grid{grid-template-columns:1fr}.visitor-category-grid article{min-height:0}.audience-section .section-title h2,.audience-layout h2{font-size:clamp(2.2rem,11vw,3.3rem)}.agenda-curtain{padding:0 .85rem 1rem}.agenda-curtain>p{padding-top:.9rem}.agenda-day>header{min-height:76px}}

/* v52 participant registration forms */
.registration-modal{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;padding:28px}.registration-modal.is-open{display:flex}.registration-backdrop{position:absolute;inset:0;background:rgba(5,25,52,.76);backdrop-filter:blur(5px)}.registration-dialog{position:relative;width:min(900px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(0,20,50,.28);padding:34px 38px 38px;border-top:5px solid var(--gold,#d99a2b)}.registration-close{position:absolute;right:20px;top:16px;width:40px;height:40px;border:1px solid #d8e1ec;border-radius:50%;background:#fff;color:#0b2748;font-size:27px;line-height:1;cursor:pointer}.registration-brand{display:flex;align-items:center;gap:18px;padding:0 55px 20px 0;border-bottom:1px solid #e4eaf1}.registration-brand img{width:105px;height:auto}.registration-brand span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#65758a;font-weight:700}.registration-intro{padding:25px 0 20px}.registration-intro h2{margin:4px 0 8px;color:#08264b;font-size:clamp(26px,3vw,38px);line-height:1.08}.registration-intro>p:last-child{max-width:700px;color:#53657b}.registration-form{background:#f7f9fc;border:1px solid #dde5ef;border-radius:14px;padding:24px}.registration-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 20px}.registration-form label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#163353}.registration-form input,.registration-form select,.registration-form textarea{width:100%;border:1px solid #ccd7e4;background:#fff;border-radius:7px;padding:12px 13px;font:inherit;color:#102a43;outline:none}.registration-form input:focus,.registration-form select:focus,.registration-form textarea:focus{border-color:#2457c5;box-shadow:0 0 0 3px rgba(36,87,197,.10)}.registration-form .full{margin-top:17px}.dynamic-fields{border-top:1px solid #dde5ef;margin-top:21px;padding-top:21px}.registration-submit{display:flex;align-items:center;gap:18px;margin-top:20px}.registration-submit .form-note{margin:0;font-size:12px;color:#66778b}.registration-form .consent{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;gap:10px;margin-top:18px;font-weight:500;line-height:1.45}.registration-form .consent input{width:auto;margin-top:3px}.registration-form .field-error{color:#a51d2d;font-size:11px;font-weight:600}.registration-form [aria-invalid=true]{border-color:#b72c3b}.registration-form .form-message{margin-bottom:16px}.registration-message textarea{resize:vertical}body.modal-open{overflow:hidden}@media(max-width:700px){.registration-modal{padding:12px}.registration-dialog{padding:25px 18px 28px;border-radius:12px}.registration-form{padding:18px}.registration-form .form-grid{grid-template-columns:1fr}.registration-brand{align-items:flex-start;flex-direction:column;gap:8px}.registration-submit{align-items:flex-start;flex-direction:column}}
/* v56 registration security */
.captcha-box{display:grid;grid-template-columns:1fr minmax(120px,180px) 42px;gap:12px;align-items:end;padding:14px 16px;margin:4px 0 14px;background:#f4f8fc;border:1px solid #d9e5f1;border-left:3px solid #2457c5}.captcha-box small{display:block;color:#627d98;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}.captcha-box strong{display:block;color:#102a43;font-size:18px;margin-top:4px}.captcha-box label{font-size:11px;font-weight:700;color:#334e68}.captcha-box input{margin-top:5px}.captcha-refresh{height:42px;border:1px solid #c9d8e8;background:#fff;color:#2457c5;font-size:20px;cursor:pointer}.captcha-refresh:hover{background:#eaf2fb}@media(max-width:640px){.captcha-box{grid-template-columns:1fr 110px 40px}}

/* v57 — cross-device responsive + performance hardening */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{overflow-x:hidden}img,svg,video{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.button,.nav-toggle,.captcha-refresh{touch-action:manipulation}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.site-header{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* v58 — OTP verification modal: cross-device visibility fix */
.otp-modal{position:fixed;inset:0;z-index:5200;display:none;align-items:center;justify-content:center;padding:24px;isolation:isolate}
.otp-modal.is-open{display:flex}
.otp-backdrop{position:absolute;inset:0;background:rgba(5,25,52,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.otp-dialog{position:relative;z-index:1;width:min(460px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border:1px solid rgba(36,87,197,.14);border-top:5px solid var(--gold,#d99a2b);border-radius:18px;box-shadow:0 32px 90px rgba(3,24,52,.32);padding:30px 32px 32px;color:#102a43}
.otp-brand{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:17px;margin-bottom:22px;border-bottom:1px solid #e3eaf2}
.otp-brand span{font-size:14px;font-weight:800;letter-spacing:.08em;color:#123e7c}.otp-brand small{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#738398}
.otp-dialog h2{margin:0 0 10px;color:#08264b;font-size:clamp(24px,3vw,31px);line-height:1.15;letter-spacing:-.02em}.otp-copy{margin:0 0 22px;color:#5b6e84;font-size:14px;line-height:1.6}.otp-copy strong{color:#173c68}
.otp-dialog form label{display:grid;gap:8px;color:#173653;font-size:13px;font-weight:750}.otp-dialog input{width:100%;height:54px;border:1px solid #c9d6e5;border-radius:9px;background:#fff;padding:10px 15px;color:#102a43;font:700 22px/1.2 inherit;letter-spacing:.22em;text-align:center;outline:none}.otp-dialog input:focus{border-color:#2457c5;box-shadow:0 0 0 4px rgba(36,87,197,.11)}
.otp-dialog .button{width:100%;min-height:50px;justify-content:center;margin-top:8px}.otp-status{min-height:20px;margin:10px 0 4px;font-size:13px;line-height:1.45}.otp-help{margin:16px 0 0;text-align:center;color:#7b8999;font-size:12px}
@media(max-width:640px){.otp-modal{padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}.otp-dialog{width:100%;max-height:calc(100dvh - 24px);padding:24px 18px 26px;border-radius:14px}.otp-brand{align-items:flex-start;flex-direction:column;gap:4px}.otp-dialog h2{font-size:25px}.otp-dialog input{font-size:20px}}
/* v60 professional registration success state */
.success-modal{position:fixed;inset:0;z-index:14000;display:none;align-items:center;justify-content:center;padding:24px}.success-modal.is-open{display:flex}.success-backdrop{position:absolute;inset:0;background:rgba(10,31,53,.72);backdrop-filter:blur(7px)}.success-dialog{position:relative;width:min(520px,100%);background:#fff;border-radius:12px;padding:42px 40px;text-align:center;box-shadow:0 28px 90px rgba(8,31,54,.28);border-top:4px solid #c6a15b}.success-mark{width:68px;height:68px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:#eaf6ef;color:#18794e;font-size:34px;font-weight:800}.success-eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#2457c5;font-weight:800}.success-dialog h2{margin:8px 0 12px;color:#102a43;font-size:clamp(26px,3vw,34px);line-height:1.12}.success-dialog p{color:#526d82;line-height:1.6}.success-reference{margin:22px 0;background:#f5f8fb;border:1px solid #d9e2ec;border-left:4px solid #2457c5;padding:14px 16px;text-align:left}.success-reference span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#829ab1}.success-reference strong{display:block;margin-top:5px;color:#102a43;font-size:18px}.success-note{font-size:13px}.success-dialog .button{margin-top:8px}.success-redirect{font-size:11px!important;color:#829ab1!important;margin:15px 0 0!important}@media(max-width:600px){.success-modal{padding:14px}.success-dialog{padding:32px 22px;border-radius:9px}}

/* v62: OTP recovery controls */
.otp-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:1px solid #d7e1ec;border-radius:50%;background:#fff;color:#173c68;font:500 25px/1 Arial,sans-serif;display:grid;place-items:center;cursor:pointer;transition:.2s ease;z-index:2}.otp-close:hover,.otp-close:focus-visible{background:#eef4ff;border-color:#9eb9ed;color:#174aa8;outline:none}.otp-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid #e6edf5}.otp-link{appearance:none;border:0;background:transparent;padding:6px 0;color:#2457c5;font:700 13px/1.35 inherit;cursor:pointer;text-decoration:none}.otp-link:hover,.otp-link:focus-visible{text-decoration:underline;outline:none}.otp-link:disabled{color:#8a98a8;cursor:not-allowed;text-decoration:none}.otp-copy .otp-edit-inline{font-weight:700;color:#2457c5}.otp-resend-note{font-size:12px;color:#627d98}
@media(max-width:480px){.otp-actions{align-items:stretch;flex-direction:column}.otp-link{width:100%;min-height:40px;text-align:center;border:1px solid #dbe5ef;border-radius:8px;padding:10px}.otp-close{top:10px;right:10px}}

/* v63 — professional quick registration access */
.quick-register{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(24px,calc(18px + env(safe-area-inset-bottom)));z-index:2600;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:inherit}.quick-register-toggle{min-height:50px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:linear-gradient(135deg,#102a43,#2457c5);color:#fff;box-shadow:0 14px 34px rgba(16,42,67,.28);padding:0 20px 0 11px;display:flex;align-items:center;gap:10px;font-weight:800;font-size:13px;letter-spacing:.02em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.quick-register-toggle:hover,.quick-register-toggle:focus-visible{transform:translateY(-2px);box-shadow:0 18px 42px rgba(16,42,67,.34);outline:2px solid rgba(198,161,91,.55);outline-offset:2px}.quick-register-plus{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#c6a15b;color:#102a43;font-size:24px;font-weight:500;line-height:1;transition:transform .22s ease}.quick-register.is-open .quick-register-plus{transform:rotate(45deg)}.quick-register-menu{width:286px;padding:8px;background:#fff;border:1px solid #dce5ee;border-radius:14px;box-shadow:0 24px 60px rgba(10,37,67,.22);opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);transform-origin:bottom right;transition:opacity .18s ease,transform .18s ease,visibility .18s;pointer-events:none}.quick-register.is-open .quick-register-menu{opacity:1;visibility:visible;transform:none;pointer-events:auto}.quick-register-menu a{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;text-decoration:none;color:#102a43;transition:background .16s ease,transform .16s ease}.quick-register-menu a+a{border-top:1px solid #edf1f5}.quick-register-menu a:hover,.quick-register-menu a:focus-visible{background:#f1f6fc;transform:translateX(-2px);outline:none}.qr-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#eaf1fb;color:#2457c5;border:1px solid #d5e2f3}.qr-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.quick-register-menu b{display:block;font-size:13px;line-height:1.25}.quick-register-menu small{display:block;margin-top:3px;color:#6b7d91;font-size:11px;line-height:1.25}.quick-register-menu a:last-child .qr-icon{background:#fbf4e5;color:#9a6611;border-color:#ead8ad}
@media(max-width:640px){.quick-register{right:max(12px,env(safe-area-inset-right));bottom:max(12px,calc(8px + env(safe-area-inset-bottom)));left:max(12px,env(safe-area-inset-left));align-items:stretch}.quick-register-toggle{align-self:flex-end;min-height:48px;padding-right:17px}.quick-register-menu{width:100%;max-width:none;transform-origin:bottom center}.quick-register-menu a{min-height:58px}.quick-register-menu a:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.quick-register-menu,.quick-register-toggle,.quick-register-plus{transition:none}}

/* v69 navigation reliability */
#speaker,#exhibitor-enquiry{scroll-margin-top:96px}.menu-toggle,.captcha-refresh,.button{touch-action:manipulation}@media(max-width:760px){#speaker,#exhibitor-enquiry{scroll-margin-top:82px}}

/* v70 form validation clarity */
.optional-label{font-weight:500;color:#6b7788;font-size:.9em}.registration-form [aria-invalid=true],#exhibitor-enquiry [aria-invalid=true]{border-color:#c62828 !important;box-shadow:0 0 0 2px rgba(198,40,40,.12)!important;background:#fff8f8}.registration-form .field-error,#exhibitor-enquiry .field-error{color:#b42318;font-weight:700}.registration-form label:has([aria-invalid=true]),#exhibitor-enquiry label:has([aria-invalid=true]){color:#a61b1b}

/* v72 — mobile navigation: independent, fully scrollable menu on iOS/Android */
@media (max-width:900px){
  .site-header{position:fixed;top:0;right:0;left:0;z-index:2500;}
  .header-inner{position:relative;}
  .menu-toggle{position:relative;z-index:2502;flex:0 0 auto;cursor:pointer;touch-action:manipulation;}
  .nav{
    position:fixed!important;
    z-index:2501;
    top:75px!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0;
    display:none;
    grid-template-columns:1fr;
    align-content:start;
    gap:0;
    margin:0;
    padding:12px max(24px,calc((100vw - 640px)/2)) calc(28px + env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    white-space:normal;
    background:#fff;
    border-top:1px solid #e0e3e7;
    box-shadow:0 18px 30px rgba(7,27,54,.16);
  }
  .nav.is-open{display:grid!important;}
  .nav a{
    display:flex;
    align-items:center;
    min-height:48px;
    padding:11px 2px!important;
    border-bottom:1px solid #edf0f4;
    font-size:.88rem;
    line-height:1.3;
    white-space:normal;
  }
  .nav .nav-access{border-bottom:1px solid #edf0f4;}
  .nav .nav-cta{width:100%;justify-content:center;justify-self:stretch;margin:12px 0 4px!important;border-bottom:0;}
  body.mobile-nav-open{overflow:hidden!important;touch-action:none;}
  body.mobile-nav-open .nav{touch-action:pan-y;}
}
@media (max-width:620px){
  .nav{top:75px!important;padding-left:18px!important;padding-right:18px!important;}
}
@supports (height:100dvh){
  @media (max-width:900px){.nav{max-height:calc(100dvh - 75px)!important;}}
}


/* v73 — right-side mobile navigation drawer + floating registration collision fix */
@media (max-width:900px){
  .nav{
    left:auto!important;
    right:0!important;
    width:min(86vw,380px)!important;
    max-width:380px!important;
    padding:14px 18px calc(30px + env(safe-area-inset-bottom))!important;
    border-left:1px solid #dfe5ec;
    box-shadow:-18px 20px 40px rgba(7,27,54,.20);
  }
  .nav a{width:100%;}
  body.mobile-nav-open::before{
    content:"";
    position:fixed;
    z-index:2499;
    top:75px;right:0;bottom:0;left:0;
    background:rgba(7,27,54,.30);
    pointer-events:none;
  }
  body.mobile-nav-open .quick-register{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(12px);
  }
  .quick-register{transition:opacity .16s ease,visibility .16s ease,transform .16s ease;}
}
@media (max-width:420px){
  .nav{width:min(90vw,360px)!important;}
}
/* Mobile modal accessibility: full viewport, reachable close control and OTP */
@media(max-width:700px){.registration-modal{padding:0!important;align-items:stretch!important}.registration-dialog{max-height:100dvh!important;overflow-y:auto!important;overscroll-behavior:contain!important}.registration-modal .modal-close,.registration-modal .registration-close{position:sticky!important;top:max(8px,env(safe-area-inset-top))!important;z-index:100!important;min-width:44px;min-height:44px}.otp-modal{z-index:20000!important;padding:10px!important}.otp-dialog{max-height:calc(100dvh - 20px)!important;overflow-y:auto!important;overscroll-behavior:contain!important}}

/* OTP must remain above all registration dialogs on small screens */
.otp-modal{z-index:2147483647!important}
@media(max-width:700px){.otp-dialog{max-height:calc(100dvh - 20px)!important;overflow-y:auto!important}.otp-modal{align-items:center!important}}

/* Mobile registration and OTP accessibility patch */
@media(max-width:700px){
  .otp-modal,.otp-modal.is-open,#otp-modal{position:fixed!important;inset:0!important;z-index:2147483647!important;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;align-items:center!important;justify-content:center!important}
  .otp-card,.otp-dialog{max-width:100%!important;max-height:calc(100dvh - 24px)!important;overflow-y:auto!important;overscroll-behavior:contain!important}
  .otp-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .otp-actions button{min-height:44px!important}
  .afm-close,.modal-close,[data-close-modal]{min-width:44px!important;min-height:44px!important}
}
