  .btn-line:hover{border-color:var(--green); color:var(--green-deep);}
  section{padding:72px 0;}
  /* ── DOWNLOADS ── */
  .dl-list{ border-top:1px solid var(--line); }
  /* The button column is a fixed width, not "auto".
     ---------------------------------------------------------------------------
     Each row is its own grid, so an auto column is measured against that row's
     own button — "Download .zip" is wider than "Open form" — and the divider
     landed in a different place on every row. 300px is the live site's. */
  .dl-row{
    display:grid; grid-template-columns:80px 1fr 300px;
    border-bottom:1px solid var(--line); align-items:stretch;
    transition:background 0.15s;
  }
  .dl-row:hover{ background:var(--concrete); }
  @media(max-width:640px){ .dl-row{grid-template-columns:1fr;} }
  .dl-num{
    font-family:'ABCNormal',sans-serif; font-size:28px; font-weight:700;
    color:rgba(var(--green-rgb,47,122,77),0.18); display:flex; align-items:flex-start;
    justify-content:center; padding:32px 0 32px 4px;
    border-right:1px solid var(--line); line-height:1;
    transition:color 0.2s;
  }
  .dl-row:hover .dl-num{ color:rgba(var(--green-rgb,47,122,77),0.45); }
  @media(max-width:640px){ .dl-num{display:none;} }
  .dl-body{ padding:32px 36px; border-right:1px solid var(--line); }
  @media(max-width:640px){ .dl-body{padding:28px 0; border-right:none;} }
  .dl-tag{ font-family:'ABCNormal',sans-serif; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--green-deep); display:block; margin-bottom:10px; }
  .dl-body h3{ font-size:clamp(18px,2vw,24px); font-weight:700; margin-bottom:10px; }
  .dl-body p{ color:var(--ink-soft); font-size:14.5px; line-height:1.65; max-width:600px; }
  /* No min-width: the column above sets the width now, and a floor here was
     what let a wide button push its own row out past the others. */
  .dl-action{
    padding:32px 36px; display:flex; align-items:center; justify-content:center;
  }
  @media(max-width:640px){ .dl-action{padding:0 0 28px; justify-content:flex-start;} }
  .dl-btn{
    /* Fills its cell rather than hugging its words, so the three buttons down
       the page are one width instead of three — the column already decides how
       wide they should be, and a row of ragged buttons reads as three different
       kinds of thing. */
    display:flex; width:100%; align-items:center; justify-content:center; gap:10px;
    font-family:'ABCNormal',sans-serif; font-size:12px; letter-spacing:0.08em;
    /* Stated rather than inherited: the arrows are not the same height as each
       other, and without a line height of its own the button holding → came out
       six pixels shorter than the two holding ↗ and ↓. */
    line-height:1.6;
    text-transform:uppercase; padding:14px 22px; border:1px solid var(--ink);
    color:var(--ink); background:var(--paper); white-space:nowrap;
    transition:background 0.15s, border-color 0.15s, color 0.15s;
  }
  /* Stacked on a phone the cell is the full width of the screen, and a button
     stretched across it looks like a banner. Back to hugging its words. */
  @media(max-width:640px){ .dl-btn{ width:auto; } }
  .dl-btn:hover{ background:var(--ink); color:var(--paper); }
  .dl-btn.primary{ background:var(--ink); color:var(--paper); }
  .dl-btn.primary:hover{ background:var(--green); border-color:var(--green); }
  .note-box{
    margin-top:32px; border-left:3px solid var(--green);
    padding:18px 24px; background:var(--concrete);
    font-size:14px; color:var(--ink-soft); line-height:1.65;
  }
  .note-box strong{ color:var(--ink); }
  /* HAMBURGER */
  /* MOBILE NAV OVERLAY */
  /* ═══ MOBILE COMPREHENSIVE ═══ */
  /* Hide actions buttons on very small screens, keep just hamburger */
  /* Logo area tightens on mobile */
  /* Tighter padding on small screens */
  /* Hero */
  @media (max-width:640px){
    .hero{ padding:24px 0 0; }
    .hero-grid{ grid-template-columns:1fr !important; }
    .hero-main{ padding:32px 16px !important; border-right:none !important; }
    .hero h1{ font-size:clamp(28px,8vw,42px) !important; margin:14px 0 18px !important; }
    .hero p.lede{ font-size:15px !important; max-width:100% !important; }
    .hero-actions{ gap:10px; margin-top:24px; }
    .hero-actions .btn{ font-size:13px; padding:12px 18px; }
    .hero-side{ padding:0 !important; }
    .hero-photo-grid{ height:220px !important; }
    .hero-info-strip{ grid-template-columns:1fr 1fr; }
    .hero-info-cell{ padding:14px 16px; }
    .hero-info-cell .val{ font-size:15px; }
  }
  /* Numbers strip */
  @media (max-width:640px){
    .numbers-grid{ grid-template-columns:repeat(2,1fr) !important; }
    .num-cell .figure{ font-size:34px !important; }
    .num-cell .label{ font-size:11px; }
    .num-cell{ padding:20px 14px !important; }
  }
  /* All section headings */
  @media (max-width:640px){
    section{ padding:40px 0 !important; } .hero{ padding:0 !important; } .page-hero{ padding:0 !important; }
    .section-head{ margin-bottom:28px !important; }
    h2{ font-size:clamp(22px,6vw,32px) !important; }
      }
  /* Why/org grids → single column */
  @media (max-width:640px){
    .why-grid,.about-grid,.org-grid,.contact-grid{ grid-template-columns:1fr !important; gap:20px !important; }
    .why-grid p,.org-grid p{ max-width:100% !important; }
  }
  /* Advantages grid → 2 col then 1 col */
  @media (max-width:480px){
    .adv-list{ grid-template-columns:1fr !important; }
    .adv-item{ min-height:130px; }
  }
  /* Products grid */
  @media (max-width:520px){
    .prod-grid{ grid-template-columns:1fr !important; }
    .prod-row{ min-height:200px; }
  }
  /* Exhibitor profile grid */
  @media (max-width:560px){
    .profile-grid{ grid-template-columns:repeat(2,1fr) !important; }
  }
  /* Exhibitor list grid */
  @media (max-width:560px){
    .exh-grid{ grid-template-columns:repeat(2,1fr) !important; }
  }
  /* Sponsor/partner rows */
  @media (max-width:640px){
    .sponsor-row,.mini-row{ grid-template-columns:repeat(2,1fr) !important; }
    .mini-cell{ height:56px !important; }
  }
  /* About / co-locate */
  @media (max-width:640px){
    .colocate-cards{ grid-template-columns:1fr !important; }
    .about-photo{ min-height:220px !important; }
  }
  /* Stand / fee tables */
  @media (max-width:640px){
    .stand-grid,.fee-grid{ grid-template-columns:1fr !important; }
  }
  /* Office cards on contact page */
  @media (max-width:640px){
    .offices-grid{ grid-template-columns:1fr !important; }
  }
  /* CTA band */
  @media (max-width:640px){
    .cta-band{ padding:40px 0 !important; }
    .cta-inner{ flex-direction:column !important; gap:20px !important; align-items:flex-start !important; }
    .cta-inner h2{ font-size:clamp(20px,6vw,28px) !important; }
    .cta-inner .btn-group{ flex-direction:column !important; gap:10px !important; }
  }
  /* Timeline on history */
  @media (max-width:640px){
    .timeline-grid{ grid-template-columns:1fr !important; }
  }
  /* Downloads grid */
  @media (max-width:640px){
    .dl-grid{ grid-template-columns:1fr !important; }
  }
  /* Footer */
  @media (max-width:640px){
    .social-links{ flex-wrap:wrap; }
  }
  /* Video embed */
  @media (max-width:640px){
    .video-wrap{ margin:0 -16px; }
  }
  /* Info cells on contact */
  @media (max-width:640px){
    .form-col,.info-col{ padding:24px 16px !important; }
    .form-row{ grid-template-columns:1fr !important; }
  }
  /* Venue transport cells */
  @media (max-width:640px){
    .transport-grid{ grid-template-columns:1fr !important; }
  }
  /* Exhibitor search / filter row */
  @media (max-width:640px){
    .filter-row{ flex-direction:column !important; gap:10px !important; }
    .letter-row{ gap:4px !important; flex-wrap:wrap; }
    .letter-btn{ font-size:11px !important; padding:6px 8px !important; }
  }
  /* Map */
  @media (max-width:640px){
    .map-wrap{ margin:24px -16px 0 !important; }
  }
  /* PAGE HERO — full-bleed cinematic */
  .page-hero{
    position:relative; min-height:52vh;
    display:flex; flex-direction:column; justify-content:flex-end;
    overflow:hidden; padding:0;
  }
  @media (max-width:640px){ .page-hero{min-height:60vh;} }
  .ph-bg{
    position:absolute; inset:0; background:var(--ink);
  }
  .ph-bg img{
    width:100%; height:100%; object-fit:cover; display:block;
    object-position:center 40%;
    filter:grayscale(20%);
  }
  .ph-overlay{
    position:absolute; inset:0;
    background:linear-gradient(
      to bottom,
      rgba(var(--ink-rgb,19,32,27),0.25) 0%,
      rgba(var(--ink-rgb,19,32,27),0.65) 40%,
      rgba(var(--ink-rgb,19,32,27),0.92) 75%,
      rgba(var(--ink-rgb,19,32,27),0.98) 100%
    );
  }
  .ph-content{
    position:relative; z-index:1;
    padding:0 48px 40px; max-width:1920px; margin:0 auto; width:100%;
  }
  @media (max-width:640px){ .ph-content{padding:0 16px 32px;} }
  .ph-eyebrow{
    font-family:'ABCNormal',sans-serif; font-size:11px; letter-spacing:0.1em;
    text-transform:uppercase; color:var(--green-pale); display:flex; align-items:center;
    gap:10px; margin-bottom:16px;
    text-shadow:0 1px 6px rgba(0,0,0,0.5);
  }
  .page-hero h1{
    font-size:clamp(40px,6vw,80px); font-weight:700; line-height:0.95;
    color:var(--paper); margin:0 0 20px; letter-spacing:-0.02em;
    text-shadow:0 2px 14px rgba(0,0,0,0.35);
  }
  .page-hero .lede{
    font-size:clamp(14px,1.3vw,16.5px); color:rgba(250,248,242,0.68);
    max-width:580px; line-height:1.65; margin-bottom:28px;
  }
  .page-hero-actions{ display:flex; gap:12px; flex-wrap:wrap; }
  .page-hero-actions .btn-fill{
    background:var(--paper); color:var(--ink); border-color:var(--paper);
  }
  .page-hero-actions .btn-fill:hover{ background:var(--green); border-color:var(--green); color:var(--paper); }
  .page-hero-actions .btn-line{
    border-color:rgba(250,248,242,0.4); color:var(--paper);
  }
  .page-hero-actions .btn-line:hover{ border-color:var(--paper); }
  /* ── FORCE LIGHT MODE — overrides iOS/Android dark mode ── */
  @media (prefers-color-scheme: dark) {
    html, body {
      background-color: #FAF8F2 !important;
      color: var(--ink,#13201B) !important;
    }
  }
  /* ── RESPONSIVE NAV ── */
  /* ── MOBILE CONTENT FIXES ── */
  @media (max-width:640px){
    /* Hero — give breathing room from sticky header */
    .hero-content{ padding-top:56px !important; }
    .page-hero .ph-content{ padding-top:48px !important; }
    /* Footer — single column on small phones */
    /* Prevent any section horizontal overflow */
    section{ overflow-x:hidden; }
  }
  @media (max-width:480px){
    /* Hero heading size reduction */
    .hero h1{ font-size:clamp(30px,10vw,48px) !important; }
    .hero-bar{ grid-template-columns:1fr !important; }
    .hero-bar-cell:nth-child(2){ border-top:1px solid rgba(250,248,242,0.18); border-right:none !important; }
    .hero-bar-cell:last-child{ display:block !important; border-top:1px solid rgba(250,248,242,0.18); }
  }
  /* Sponsor tier final sizes */
  .sponsor-tier.plat-tier .plat-logo-link img{ max-height:92px !important; max-width:280px !important; filter:none !important; opacity:1 !important; mix-blend-mode:multiply; }
  .sponsor-tier:nth-child(2) .logo-chip img{ max-height:80px !important; }
  .logo-chip img{ max-height:66px !important; }
  /* Standard footer base styles (restored to match other pages) */
/* Modal */
.modal-overlay{
  display:none; position:fixed; inset:0; z-index:9999;
  background:rgba(var(--ink-rgb,19,32,27),0.72); backdrop-filter:blur(4px);
  align-items:center; justify-content:center; padding:24px;
}
.modal-overlay.open{ display:flex; }
.modal-box{
  background:var(--paper,#FAF8F2); width:100%; max-width:560px;
  max-height:90vh; overflow-y:auto;
  padding:40px 36px 36px; position:relative;
  border-top:4px solid var(--green,#2F7A4D);
  animation:modal-in 0.22s ease;
}
@keyframes modal-in{ from{opacity:0;transform:translateY(16px);} to{opacity:1;transform:none;} }
.modal-close{
  position:absolute; top:16px; right:16px;
  background:none; border:1px solid var(--line,#C9C2B0);
  width:32px; height:32px; cursor:pointer; font-size:14px;
  color:var(--ink-soft,#4A5C54); display:flex; align-items:center; justify-content:center;
  transition:border-color 0.15s, color 0.15s;
}
.modal-close:hover{ border-color:var(--ink,#13201B); color:var(--ink,#13201B); }
.modal-eyebrow{
  font-family:'ABCNormal',sans-serif; font-size:10px;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--green-deep,#1E5536); display:block; margin-bottom:10px;
}
.modal-title{
  font-family:'ABCNormal',sans-serif; font-size:22px;
  font-weight:700; letter-spacing:-0.01em; margin-bottom:8px;
  color:var(--ink,#13201B);
}
.modal-sub{
  font-size:14px; color:var(--ink-soft,#4A5C54);
  line-height:1.6; margin-bottom:24px;
  border-bottom:1px solid var(--line,#C9C2B0); padding-bottom:20px;
}
/* This page keeps the tighter menu spacing it has always had. */
nav ul{ gap:30px; }
