@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 event 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; } }

/* Conference registration, review 52. */
.conference-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.6rem; }
.attendance-section { background:#edf2f5; }
.attendance-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.3rem; }
.attendance-grid article { position:relative; padding:2.25rem; border:1px solid #cfdae2; border-top:4px solid var(--gold); border-radius:10px; background:#fff; }
.attendance-number { display:block; margin-bottom:2rem; color:#a77116; font:500 .9rem "DM Mono",monospace; }
.attendance-grid h3 { margin:.75rem 0 1rem; font-size:2rem; letter-spacing:-.04em; }
.attendance-grid p:not(.eyebrow) { color:#4b5e73; }
.attendance-grid .button { margin-top:1rem; }
.attendance-terms { max-width:960px; margin:1.5rem 0 0; color:#52657b; font-size:.86rem; }
.registration-page { background:#f1f4f7; }
.registration-back { font-size:.88rem; font-weight:600; text-decoration:none; }
.registration-main { padding:64px 0 80px; }
.registration-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2rem,4vw,4rem); align-items:start; }
.registration-intro h1 { max-width:510px; font-size:clamp(2.7rem,4.4vw,4.7rem); letter-spacing:-.065em; line-height:1.06; }
.registration-intro>p { color:#4d6075; }
.conference-facts { display:grid; gap:1rem; margin:2rem 0; padding:1.5rem 0; border-block:1px solid #cbd5df; }
.conference-facts div { display:grid; grid-template-columns:100px 1fr; gap:1rem; }
.conference-facts dt { color:#617186; font-size:.85rem; }
.conference-facts dd { margin:0; color:var(--navy); font-weight:600; }
.registration-note { padding:1.4rem; border-left:3px solid var(--gold); background:#e4ebf2; border-radius:0 8px 8px 0; }
.registration-note p { margin:.5rem 0 0; color:#40556e; font-size:.9rem; }
.registration-help { font-size:.9rem; }
.registration-card { min-width:0; padding:clamp(1.2rem,3vw,2.5rem); border:1px solid #d4dde6; border-radius:16px; background:#fff; box-shadow:0 20px 50px #071b360b; }
.registration-card h2 { margin:.5rem 0 1rem; font-size:clamp(1.7rem,2.4vw,2.25rem); line-height:1.15; letter-spacing:-.04em; }
.registration-card>p { color:#526479; }
.registration-categories { display:flex; gap:.5rem; margin:0 0 2rem; padding:.35rem; background:#eef2f6; border-radius:8px; }
.registration-categories a { flex:1; padding:.8rem; border-radius:5px; color:#425973; font-weight:600; text-align:center; text-decoration:none; }
.registration-categories [aria-current] { background:var(--navy); color:#fff; }
.registration-card fieldset { min-width:0; margin:2rem 0 0; padding:0; border:0; }
.registration-card legend { display:block; width:100%; padding-bottom:.8rem; border-bottom:1px solid #dce3eb; color:var(--navy); font-size:1.05rem; font-weight:600; }
.registration-card legend span { margin-right:.65rem; color:#9a681b; font:500 .75rem "DM Mono",monospace; }
.registration-card .form-grid { gap:1.15rem; margin:1.3rem 0; }
.registration-card label { display:block; color:#314961; font-size:.85rem; font-weight:600; }
.registration-card label>span:not(.consent span) { font-weight:400; }
.registration-card input:not([type=checkbox]):not([type=hidden]),.registration-card select,.registration-card textarea { display:block; width:100%; min-width:0; min-height:49px; margin-top:.4rem; padding:.78rem .8rem; border:1px solid #b9c7d5; border-radius:7px; background:#fff; color:var(--navy); font:400 1rem/1.4 "Space Grotesk",Arial,sans-serif; }
.registration-card select { text-overflow:ellipsis; }
.registration-card textarea { resize:vertical; }
.registration-card .consent { font-size:.81rem; line-height:1.6; }
.registration-card .consent input { flex:none; width:19px; height:19px; }
.registration-card button[type=submit] { width:100%; min-height:52px; font-size:.82rem; line-height:1.4; }
.registration-footer { background:var(--navy); color:#dbe5ef; padding:1.5rem 0; font-size:.82rem; }
.registration-footer .container { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; align-items:center; }
.registration-footer span { margin-right:auto; }
.receipt-details { padding:1.4rem; margin:1.5rem 0; border-radius:8px; background:#f0f5f8; }
.receipt-details div { margin:.6rem 0; }
.receipt-details dt { color:#5b6d7f; font-size:.8rem; }
.receipt-details dd { margin:.2rem 0 0; font-weight:600; }
.registration-alternative { --navy:#102f35; --gold:#d1a768; background:#f5f5ed; }
.registration-alternative .registration-main { background:#f5f5ed; }
.registration-alternative .registration-card { border-radius:5px; }
.registration-alternative .registration-note { border-color:#2b716c; background:#e5eeea; }
@media(max-width:1000px) { .classic-review .brand span { display:none; } }
@media(max-width:900px) { .registration-layout { grid-template-columns:1fr; }.registration-intro { max-width:700px; }.registration-main { padding:40px 0 60px; } }
@media(max-width:620px) { .attendance-grid { grid-template-columns:1fr; }.attendance-grid article { padding:1.5rem; }.attendance-grid h3 { font-size:1.7rem; }.registration-back { max-width:160px; text-align:right; font-size:.8rem; }.registration-card .form-grid { grid-template-columns:1fr; }.registration-footer .container { display:grid; gap:.8rem; }.conference-actions { flex-direction:column; align-items:stretch; } }

