/* ── FRUTIGER NEUE LT PRO — Web Fonts ── */
/* Font files go in: assets/fonts/                  */
/* Required: FrutigerNeueLTPro-Book.woff2           */
/*           FrutigerNeueLTPro-Light.woff2          */
/*           FrutigerNeueLTPro-Regular.woff2        */
/*           FrutigerNeueLTPro-Bold.woff2           */
@font-face {
  font-family: 'Frutiger';
  src: url('../assets/fonts/FrutigerNeueLTPro-Book.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Frutiger';
  src: url('../assets/fonts/FrutigerNeueLTPro-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Frutiger';
  src: url('../assets/fonts/FrutigerNeueLTPro-Regular.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Frutiger';
  src: url('../assets/fonts/FrutigerNeueLTPro-Bold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root{
    --red:#C8102E;
    --red-bright:#e8344c;
    --ink:#262626;
    --paper:#f5f5f3;
    --paper-2:#ecebe7;
    --dark:#0b0e21;
    --dark-2:#2a1a17;
    --orange:#F26722;
    --orange-bright:#ff8a3d;
    --bern-img:url("../assets/images/bern.jpg");
    --final-photo:url("../assets/images/final-photo.jpg");
    --muted:#7c7c82;
    --line:#e3e2de;
    --line-dark:rgba(255,255,255,.12);
    --maxw:1200px;
    --nav-h:100px;
    --logo-mark:url("../assets/logos/logo-mark.png");
    --logo-stacked:url("../assets/logos/logo-stacked.png");
    --logo-img:url("../assets/logos/logo.png");
    --font:'Frutiger','Frutiger Neue LT Pro','Source Sans 3',Arial,sans-serif;
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--font);
    font-weight:400;
    color:var(--ink);
    background:#fff;
    font-size:18px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{font-weight:400;letter-spacing:.01em;line-height:1.12;}
  a{color:inherit;}
  .inner{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  .accent{color:var(--red);}
  .eyebrow{
    font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--red);
  }
  .eyebrow.on-dark{color:var(--red-bright);}

  /* buttons — sharp, uppercase, Swiss */
  .btn{
    display:inline-flex;align-items:center;gap:12px;
    font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
    text-decoration:none;cursor:pointer;border:0;border-radius:0;
    padding:15px 26px;transition:background .15s ease, color .15s ease, border-color .15s ease;
  }
  .btn-red{background:var(--red);color:#fff;}
  .btn-red:hover{background:#a50d26;}
  .btn-dark{background:var(--ink);color:#fff;}
  .btn-dark:hover{background:#000;}
  .btn-line{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);}
  .btn-line:hover{border-color:#fff;}
  .btn-line-dark{background:transparent;color:var(--ink);border:1px solid #cfceca;}
  .btn-line-dark:hover{border-color:var(--ink);}

  /* u^b lockup */
  .ub{display:flex;align-items:center;gap:14px;text-decoration:none;}
  .ub-mark{font-family:Georgia,'Times New Roman',serif;font-size:30px;line-height:1;font-weight:400;letter-spacing:.01em;}
  .ub-mark sup{font-size:.5em;font-weight:400;top:-.85em;}
  .ub-word{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.2em;line-height:1.35;opacity:.85;}

  /* concept banner */
  .concept-bar{
    background:var(--paper);color:#5f5f63;border-bottom:1px solid var(--line);
    font-size:12px;letter-spacing:.02em;text-align:center;padding:9px 18px;
  }
  .concept-bar b{color:var(--red);font-weight:600;}

  /* HERO */
  .hero{position:relative;background:var(--dark);color:#fff;overflow:hidden;margin-top:calc(-1 * var(--nav-h));}
  .hero-bg{position:absolute;inset:0;z-index:0;background:url("../assets/images/hero.jpg") center/cover no-repeat;opacity:1;}
  .hero-veil{position:absolute;inset:0;z-index:2;pointer-events:none;
    background:
      linear-gradient(0deg, rgba(11,14,33,.80) 0%, rgba(11,14,33,.15) 50%, rgba(11,14,33,0) 100%);
  }
  .hero-top{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:24px 0;}
  .hero-top .ub{color:#fff;}
  .hero-body{position:relative;z-index:3;padding:calc(var(--nav-h) + 34px) 0 92px;}
  .hero h1{font-size:clamp(40px,6.6vw,84px);font-weight:400;max-width:14ch;margin:0;}
  .hero h1 .accent{color:#fff;}
  .hero-tag{font-size:clamp(20px,2.6vw,30px);font-weight:400;margin-top:18px;color:rgba(255,255,255,.92);}
  .hero-lead{font-size:19px;color:rgba(255,255,255,.85);max-width:64ch;margin:24px 0 0;line-height:1.7;}
  .hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px;}

  .meta-row{display:flex;margin-top:56px;}
  .meta-inner{display:inline-flex;flex-wrap:wrap;gap:10px 92px;border-top:1px solid var(--line-dark);}
  .meta-inner > div{flex:0 0 auto;padding:22px 0 4px 0;}
  .meta-item{display:flex;align-items:flex-start;gap:14px;}
  .meta-ic{width:23px;height:23px;flex:none;color:var(--red);margin-top:4px;}
  .meta-v{font-size:21px;font-weight:400;color:#fff;}
  .meta-v small{display:block;font-size:13px;color:rgba(255,255,255,.6);margin-top:3px;letter-spacing:.02em;}

  /* generic section */
  .section{padding:104px 0;}
  .section-head{max-width:760px;margin-bottom:56px;}
  .section-head h2{font-size:clamp(30px,4.4vw,50px);margin-top:18px;}
  .section-head p{color:#56565c;font-size:19px;margin-top:20px;line-height:1.7;}
  .dark{background:var(--dark);color:#fff;position:relative;overflow:hidden;}
  .dark .section-head p{color:rgba(255,255,255,.7);}

  .sample-tag{
    display:inline-block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
    color:var(--red);border:1px solid rgba(200,16,46,.4);padding:5px 12px;margin-bottom:22px;
  }
  .dark .sample-tag{color:var(--red-bright);border-color:rgba(232,52,76,.45);}

  /* pillars */
  .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);}
  .pillar{padding:40px 40px 0 0;}
  .pillar:last-child{padding-right:0;}
  .pillar .pi{width:40px;height:40px;color:var(--red);margin-bottom:22px;}
  .pillar h3{font-size:23px;font-weight:500;}
  .pillar p{color:var(--muted);font-size:16px;margin-top:10px;line-height:1.6;}
  @media(max-width:760px){.pillars{grid-template-columns:1fr;}.pillar{border-right:0;border-bottom:1px solid var(--line);padding:32px 0;}.pillar:last-child{border-bottom:0;}}

  /* numbers */
  .num-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);}
  .num{background:var(--dark);padding:38px 32px;}
  .num .n{font-size:clamp(40px,5.4vw,62px);font-weight:300;line-height:1;color:#fff;}
  .num .n span{color:var(--orange);}
  .num .l{font-size:14px;color:rgba(255,255,255,.62);margin-top:14px;letter-spacing:.01em;}
  @media(max-width:760px){.num-grid{grid-template-columns:repeat(2,1fr);}}

  /* live countdown */
  .countdown-sec{text-align:center;}
  .clock{display:flex;align-items:flex-start;justify-content:center;gap:clamp(10px,3vw,42px);margin:42px 0 8px;}
  .unit{display:flex;flex-direction:column;align-items:center;min-width:clamp(62px,12vw,140px);}
  .cn{font-size:clamp(54px,9vw,112px);font-weight:200;line-height:1;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.01em;}
  .cl{font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.2em;color:var(--red);margin-top:16px;}
  .sep{display:flex;flex-direction:column;justify-content:center;gap:clamp(10px,1.6vw,18px);align-self:center;margin:0 0 30px;}
  .sep i{width:clamp(7px,1vw,10px);height:clamp(7px,1vw,10px);border-radius:50%;background:rgba(255,255,255,.32);}
  .cd-date{color:rgba(255,255,255,.72);font-size:16px;margin-top:32px;letter-spacing:.01em;}
  .countdown-sec .btn{margin-top:30px;}
  @media(max-width:560px){
    .sep{display:none;}
    .clock{gap:20px 28px;flex-wrap:wrap;}
    .unit{min-width:62px;}
  }

  /* programme (white) */
  .prog{background:#fff;}
  .prog-tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--red);border:1px solid rgba(200,16,46,.4);padding:6px 13px;margin-top:18px;}
  .agenda{border-top:1px solid var(--line);margin-top:34px;margin:34px -20px 0;}
  .rs-welcome{color:var(--red);font-weight:500;}
  .row{display:grid;grid-template-columns:132px 1fr auto;gap:26px;padding:22px 20px;border-bottom:1px solid var(--line);align-items:baseline;transition:background .15s ease;margin:0 -20px;}
  .row:hover{background:#faf9f7;}
  .row .rt{font-size:20px;font-weight:500;letter-spacing:.01em;color:var(--red);}
  .row .rs{font-size:21px;font-weight:400;color:var(--ink);}
  .row .rs em{display:block;font-style:normal;font-size:14px;color:var(--muted);margin-top:5px;}
  .row .rd{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#a3a3a8;white-space:nowrap;}
  .row.brk .rs{font-style:italic;font-size:16px;color:var(--muted);}
  .row.hl{background:#f4efe8;border-bottom:0;}
  .row.hl .rs{color:var(--ink);}
  .row.hl + .row{border-top:0;}
  .row:has(+ .row.hl){border-bottom:0;}
  .row.hl:hover{background:#ede8e0;}
  .prog-actions{margin-top:40px;display:flex;justify-content:center;flex-wrap:wrap;gap:14px;}
  .prog-soon{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:14px 26px;}
  .btn-ic{width:17px;height:17px;flex:none;}
  @media(max-width:680px){
    .row{grid-template-columns:1fr;gap:5px;}
    .row .rd{display:none;}
    /* keep the programme clear of the screen edges on mobile */
    .agenda{margin-left:0;margin-right:0;}
    .row{margin-left:0;margin-right:0;padding-left:4px;padding-right:4px;}
  }

  /* ── speakers (headshot + bio reveal via + toggle) ── */
  .speakers{background:var(--paper);}
  .sp-head{margin-bottom:38px;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px;}
  .sp-head h2{font-size:clamp(28px,3.8vw,42px);}
  .sp-hint{font-size:13px;color:var(--muted);letter-spacing:.02em;display:inline-flex;align-items:center;gap:8px;}
  .sp-hint i{width:18px;height:18px;border-radius:50%;background:var(--red);position:relative;display:inline-block;flex:none;}
  .sp-hint i::before,.sp-hint i::after{content:"";position:absolute;background:#fff;border-radius:2px;top:50%;left:50%;transform:translate(-50%,-50%);}
  .sp-hint i::before{width:8px;height:1.5px;}
  .sp-hint i::after{width:1.5px;height:8px;}

  .sp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .sp-card{position:relative;display:block;width:100%;text-align:left;font-family:inherit;background:var(--dark);border:0;padding:0;cursor:pointer;overflow:hidden;aspect-ratio:4/5;color:#fff;}
  .sp-photo{position:absolute;inset:0;background:linear-gradient(150deg,#20242f,#0b0e21);}
  .sp-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block;transition:filter .45s ease;}
  .sp-mono{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:200;font-size:58px;color:rgba(255,255,255,.16);}
  .sp-photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:78%;background:linear-gradient(to top,rgba(11,14,33,.97) 0%,rgba(11,14,33,.9) 20%,rgba(11,14,33,.55) 52%,rgba(11,14,33,.18) 78%,rgba(11,14,33,0) 100%);}

  .sp-face{position:absolute;left:0;right:0;bottom:0;padding:20px 20px 22px;z-index:2;transition:opacity .25s ease;}
  .sp-session{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--red-bright);}
  .sp-name{font-size:20px;font-weight:500;margin-top:8px;line-height:1.18;}
  .sp-role{font-size:13.5px;color:rgba(255,255,255,.72);margin-top:4px;}

  .sp-toggle{position:absolute;top:16px;right:16px;z-index:3;width:36px;height:36px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;transition:transform .35s ease, background .2s ease;box-shadow:0 4px 14px -4px rgba(0,0,0,.5);}
  .sp-toggle::before,.sp-toggle::after{content:"";position:absolute;background:#fff;border-radius:2px;}
  .sp-toggle::before{width:15px;height:2px;}
  .sp-toggle::after{width:2px;height:15px;transition:opacity .3s ease;}
  .sp-card:hover .sp-toggle{background:#a50d26;}
  .sp-card[aria-expanded="true"] .sp-toggle{transform:rotate(135deg);background:#a50d26;}

  .sp-panel{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(11,14,33,.93) 0%,rgba(11,14,33,.85) 55%,rgba(11,14,33,.72) 100%);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);padding:26px 24px;display:flex;flex-direction:column;justify-content:flex-end;transform:translateY(101%);transition:transform .42s cubic-bezier(.4,0,.1,1);overflow:auto;}
  .sp-panel .sp-session{margin-bottom:auto;}
  .sp-panel .sp-name{margin-top:0;}
  .sp-panel .sp-role{margin-top:5px;margin-bottom:14px;}
  .sp-bio{font-size:15px;line-height:1.6;color:rgba(255,255,255,.9);}

  .sp-card[aria-expanded="true"] .sp-panel{transform:translateY(0);}
  .sp-card[aria-expanded="true"] .sp-face{opacity:0;pointer-events:none;}
  .sp-card[aria-expanded="true"] .sp-photo img{filter:brightness(.42);}
  .sp-card:focus-visible{outline:2px solid var(--red);outline-offset:3px;}

  @media(max-width:820px){ .sp-grid{grid-template-columns:1fr 1fr;} }
  @media(max-width:520px){
    .sp-grid{grid-template-columns:1fr;gap:18px;max-width:420px;margin:0 auto;}
    .sp-card{aspect-ratio:3/2;}
  }

  /* vision */
  .vision h2{font-size:clamp(32px,5vw,58px);font-weight:300;max-width:18ch;}
  .amb{list-style:none;margin-top:46px;border-top:1px solid var(--line-dark);max-width:760px;}
  .amb li{display:flex;gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line-dark);font-size:20px;font-weight:300;color:rgba(255,255,255,.92);}
  .amb li .ai{font-size:13px;font-weight:600;color:var(--red-bright);letter-spacing:.05em;flex-shrink:0;width:34px;}

  /* strands decoration for dark sections */
  .dark.countdown-sec{background:#0b0e21;}
  .strands{position:absolute;top:0;right:0;width:60%;height:100%;z-index:0;opacity:.55;pointer-events:none;}
  .dark .inner{position:relative;z-index:2;}

  /* venue */
  #venue{background:var(--paper);position:relative;overflow:hidden;}
  #venue .venue-h2,#venue h3{color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.5);}
  #venue .venue-addr{color:rgba(255,255,255,.9);text-shadow:0 1px 12px rgba(0,0,0,.55);}
  .venue-h2{font-size:clamp(30px,4.4vw,50px);font-weight:400;margin:0 0 24px;line-height:1.05;}
  #venue .inner{position:relative;z-index:1;}
  .bern-photo{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;
    background-image:var(--bern-img);background-size:cover;background-position:center 46%;opacity:1;}
  .bern-photo::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:
      linear-gradient(to bottom, rgba(11,14,33,0) 40%, rgba(11,14,33,.6) 72%, rgba(11,14,33,.95) 90%, rgba(11,14,33,1) 100%),
      linear-gradient(to right, rgba(11,14,33,.7) 0%, rgba(11,14,33,.34) 42%, rgba(11,14,33,0) 68%);}
  .venue-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center;}
  .venue-grid h3{font-size:30px;font-weight:400;}
  .venue-addr{color:var(--muted);font-size:16px;line-height:1.85;margin-top:14px;}
  .venue-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}
  @media(max-width:760px){.venue-grid{grid-template-columns:1fr;gap:30px;}
    .venue-vis{aspect-ratio:4/3;max-width:300px;margin:0 auto;}
    .bern-photo::after{background:
      linear-gradient(to bottom, rgba(11,14,33,.18) 0%, rgba(11,14,33,.12) 42%, rgba(11,14,33,.58) 78%, rgba(11,14,33,1) 100%),
      linear-gradient(to right, rgba(11,14,33,.6) 0%, rgba(11,14,33,.42) 60%, rgba(11,14,33,.24) 100%);}}

  /* final cta */
  .final{background:var(--dark);color:#fff;text-align:center;position:relative;overflow:hidden;}
  .final-img{position:absolute;inset:0;z-index:0;background-image:var(--final-photo);background-size:cover;background-position:center;transform:scaleX(-1);opacity:.5;}
  .final-veil{position:absolute;inset:0;z-index:1;background:
      linear-gradient(to bottom, rgba(11,14,33,1) 0%, rgba(11,14,33,0) 25%),
      radial-gradient(120% 100% at 50% 42%, rgba(11,14,33,.5), rgba(11,14,33,.93));}
  .final .inner{position:relative;z-index:2;}
  .final h2{font-size:clamp(26px,5vw,58px);font-weight:400;max-width:none;white-space:nowrap;margin:0 auto 20px;}
  .final p{color:rgba(255,255,255,.78);max-width:68ch;margin:0 auto 36px;font-size:18px;line-height:1.7;}
  .final-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
  @media(max-width:380px){.final h2{white-space:normal;}}

  /* footer */
  footer{background:#2a2a28;color:rgba(255,255,255,.6);padding:56px 0 38px;}
  .foot-logo-row{display:flex;justify-content:flex-end;padding-bottom:34px;}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.14);padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.45);}
  .foot-bottom a{color:rgba(255,255,255,.45);text-decoration:none;transition:color .15s ease;}
  .foot-bottom a:hover{color:#fff;}
  footer .ub{color:#fff;}
  .foot-meta{font-size:14px;line-height:1.9;text-align:right;}
  .foot-meta a{color:rgba(255,255,255,.6);text-decoration:none;}
  .foot-meta a:hover{color:#fff;}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:rgba(255,255,255,.4);}

  /* sticky top nav */
  .nav{position:sticky;top:0;z-index:200;background:transparent;border-bottom:1px solid transparent;transition:background .3s ease, border-color .3s ease, backdrop-filter .3s ease;}
  .nav.scrolled{background:rgba(11,14,33,.9);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid transparent;}
  .logo-link{display:inline-flex;align-items:center;text-decoration:none;}
  .ub-logo-full{display:none;}
  .ub-logo-mark{background:var(--logo-mark) left center/contain no-repeat;height:40px;width:40px;}
  .ub-logo-stacked{background:var(--logo-stacked) center/contain no-repeat;height:118px;width:153px;}
  .logo-ph{display:inline-flex;align-items:center;justify-content:center;min-width:104px;height:36px;border:1px dashed rgba(255,255,255,.42);color:rgba(255,255,255,.62);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;}
  .logo-ph-foot{min-width:120px;height:42px;}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);}
  .nav .ub{color:#fff;}
  .nav .ub-mark{font-size:26px;}
  .nav-right{display:flex;align-items:center;gap:26px;}
  .nav-links{display:flex;align-items:center;gap:28px;}
  .nav-links a{font-size:14px;font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.82);text-decoration:none;transition:color .15s ease;}
  .nav-links a:hover{color:#fff;}
  .nav-cta{padding:11px 20px;}
  .nav-save-m{display:none;}
  .nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;background:none;border:0;cursor:pointer;padding:10px;}
  .nav-toggle span{display:block;height:2px;width:100%;background:#fff;transition:transform .25s ease,opacity .2s ease;}
  .nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle.open span:nth-child(2){opacity:0;}
  .nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  @media(max-width:760px){
    :root{--nav-h:70px;}
    .nav-links{position:fixed;top:0;left:0;right:0;bottom:0;flex-direction:column;align-items:stretch;justify-content:center;gap:0;background:var(--red);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:0;padding:80px 0 40px;display:none;z-index:199;}
    .nav-links.open{display:flex;}
    .nav-links a{padding:18px 40px;font-size:20px;color:#fff;}
    .nav-save-m{display:block;color:#fff;font-weight:700;}
    .nav-cta{display:none;}
    .nav-toggle{display:flex;z-index:201;}
    .ub-logo-full, .nav.scrolled .ub-logo-full{display:none;}
    .ub-logo-mark, .nav.scrolled .ub-logo-mark{display:block;height:46px;width:46px;}
  }

  /* venue map */
  .venue-vis{position:relative;aspect-ratio:4/3;overflow:hidden;isolation:isolate;z-index:0;border-radius:4px;max-width:400px;margin-left:auto;}
  .venue-vis iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}
  .venue-map-img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .2s ease;}
  .venue-map-link{display:block;width:100%;height:100%;}
  .venue-map-link:hover .venue-map-img{opacity:.85;}

  /* anchor offset under sticky nav */
  .section,.hero{scroll-margin-top:72px;}

  /* ── mobile "1" static decorative ── */
  .mobile-one{display:none;}
  @media(max-width:640px){
    .mobile-one{
      display:block;
      position:absolute;
      right:-8%;
      top:50%;
      transform:translateY(-50%);
      width:55%;
      height:80%;
      z-index:4;
      background:url('../assets/images/one.png') center/contain no-repeat;
      opacity:0.38;
      pointer-events:none;
    }
    .hero-body{opacity:1;}
  }
  .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease;}
  .reveal.in{opacity:1;transform:none;}
  :focus-visible{outline:2px solid var(--red);outline-offset:3px;}

  @media(max-width:640px){
    :root{--nav-h:66px;}
    body{font-size:16px;}
    .section{padding:72px 0;}

    /* hero: stronger veil on left so text is always readable */
    .hero-bg{display:none;}
    .hero-veil{background:rgba(11,14,33,0.55);}

    /* title: force 2 lines */
    .hero h1{font-size:clamp(44px,12vw,64px);max-width:100%;}
    /* match the "A milestone worth marking" body size (.section-head p = 19px) */
    .hero-lead{font-size:19px;line-height:1.7;max-width:100%;}
    .hero-cta .btn{padding:14px 22px;font-size:13px;}
    .hero-body{padding:calc(var(--nav-h) + 96px) 0 28px;}
    .meta-inner > div:last-child{padding-bottom:0;}

    /* venue: stack vertically, nothing cut off */
    .meta-inner{display:flex;flex-direction:column;width:100%;gap:0;}
    .meta-inner > div{flex:1 1 100%;padding-bottom:14px;}
    .meta-item{gap:10px;}
    .meta-v{font-size:17px;}

    .ub-word{display:none;}
    .foot-meta{text-align:left;}
  }
  @media(prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
    .reveal{opacity:1;transform:none;}
  }