  .eyebrow.on-dark{color:var(--green-pale);}
  nav a.active{color:var(--ink);}
  nav a.active::after,nav a:hover::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--green); }
  .btn-line:hover{border-color:var(--green); color:var(--green-deep);}
  section{padding:84px 0;}
  .section-head{margin-bottom:44px; max-width:680px;}
  .section-head h2{font-size:clamp(26px,3vw,36px); margin-top:12px;}
  /* why exhibit */
  .why-grid{ display:grid; grid-template-columns:0.7fr 1fr 1fr; gap:44px; align-items:start; }
  @media (max-width:860px){ .why-grid{grid-template-columns:1fr; gap:28px;} }
  .why-grid p{color:var(--ink-soft); font-size:15.5px; margin-bottom:14px; max-width:640px;}
  /* advantages */
  .adv-bg{background:var(--concrete); color:var(--ink);}
  .adv-list{ display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
  @media (max-width:1100px){ .adv-list{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:640px){ .adv-list{grid-template-columns:repeat(2,1fr);} }
  .adv-item{
    border-right:1px solid var(--line); border-bottom:1px solid var(--line);
    padding:28px 24px; display:flex; flex-direction:column; justify-content:space-between;
    min-height:160px; position:relative; overflow:hidden; background:var(--paper);
    transition:background 0.2s ease;
  }
  .adv-item:hover{ background:var(--concrete-deep); }
  .adv-item .n{
    font-family:'ABCNormal',sans-serif; font-size:72px; font-weight:700; line-height:1;
    color:rgba(var(--green-rgb,47,122,77),0.18); position:absolute; bottom:-10px; right:12px;
    pointer-events:none; transition:color 0.2s ease;
  }
  .adv-item:hover .n{ color:rgba(var(--green-rgb,47,122,77),0.40); }
  .adv-item p{ font-size:15px; color:var(--ink-soft); line-height:1.55; position:relative; z-index:1; margin:0; }
  /* products */
  .prod-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px; background:var(--ink);
    border:1px solid var(--ink);
  }
  @media (max-width:860px){ .prod-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:520px){ .prod-grid{grid-template-columns:1fr;} }
  .prod-row{
    position:relative; min-height:260px; overflow:hidden;
    display:flex; flex-direction:column; justify-content:flex-end;
    cursor:default;
  }
  .prod-row.wide{ grid-column:span 2; }
  @media (max-width:860px){ .prod-row.wide{grid-column:span 1;} }
  .prod-photo{
    position:absolute; inset:0;
    background:var(--concrete-deep);
  }
  /* The photographs are shown as they are.
     ---------------------------------------------------------------------------
     They were being drained to grey, blurred and dimmed to 60% before the dark
     overlay went on top — three darkenings for one job, and the pictures of the
     windows, cladding and machinery the section exists to show were unreadable.

     The overlay alone carries the text now: heavy along the bottom where the
     heading and tags sit, and nearly clear at the top so the picture reads. The
     numbers are the live site's, which is what this is meant to match. */
  .prod-photo img{
    width:100%; height:100%; object-fit:cover; display:block;
    transition:transform 0.5s ease, filter 0.5s ease;
    filter:none;
  }
  .prod-row:hover .prod-photo img{ transform:scale(1.04); filter:brightness(1.04); }
  .prod-overlay{
    position:absolute; inset:0;
    background:linear-gradient(to top, rgba(var(--ink-rgb,19,32,27),0.9) 0%, rgba(var(--ink-rgb,19,32,27),0.48) 50%, rgba(var(--ink-rgb,19,32,27),0.12) 100%);
    transition:background 0.3s ease;
  }
  .prod-row:hover .prod-overlay{
    background:linear-gradient(to top, rgba(var(--ink-rgb,19,32,27),0.92) 0%, rgba(var(--ink-rgb,19,32,27),0.58) 50%, rgba(var(--ink-rgb,19,32,27),0.28) 100%);
  }
  .prod-body{
    position:relative; z-index:1;
    padding:24px 26px 26px;
  }
  .prod-body h3{
    font-size:clamp(18px,2vw,24px); font-weight:700;
    color:var(--paper); margin-bottom:10px; line-height:1.1;
  }
  .prod-tags{ display:flex; flex-wrap:wrap; gap:6px; }
  .prod-tag{
    font-size:11px; color:rgba(250,248,242,0.75);
    border:1px solid rgba(250,248,242,0.25); padding:3px 10px;
    background:rgba(250,248,242,0.06);
    transition:background 0.15s, color 0.15s, border-color 0.15s;
  }
  .prod-row:hover .prod-tag{ color:var(--paper); border-color:rgba(var(--green-pale-rgb,143,205,168),0.5); }
  .prod-row:hover .prod-tag:hover{ background:var(--green); border-color:var(--green); color:var(--paper); }
  /* ── STAND RESERVATION ── */
  .stand-section{ border-top:1px solid var(--line); }
  /* Two tracks, not three. The first used to hold a large "01" beside the
     words; the row already says "Option 1" above its own heading, so the
     number was saying it twice and taking 80px to do it. */
  .stand-option{
    display:grid; grid-template-columns:1fr auto;
    gap:0; border-bottom:1px solid var(--line); align-items:stretch;
  }
  @media(max-width:760px){ .stand-option{grid-template-columns:1fr; } }
  .stand-body{ padding:32px 36px; border-right:1px solid var(--line); }
  @media(max-width:760px){ .stand-body{padding:28px 0; border-right:none;} }
  .stand-label{ font-family:'ABCNormal',sans-serif; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--green-deep); display:block; margin-bottom:10px; }
  .stand-body h3{ font-size:clamp(18px,2vw,24px); font-weight:700; margin-bottom:14px; }
  .stand-body p{ color:var(--ink-soft); font-size:14.5px; line-height:1.65; margin-bottom:16px; }
  .stand-includes{ list-style:none; display:flex; flex-wrap:wrap; gap:8px; }
  .stand-includes li{
    font-size:12.5px; color:var(--ink-soft);
    border:1px solid var(--line); padding:5px 12px; background:var(--paper);
  }
  .stand-price-col{
    padding:32px 0 32px 100px; display:flex; flex-direction:column;
    justify-content:flex-start; min-width:200px; align-items:flex-start;
    background:var(--concrete);
  }
  @media(max-width:760px){ .stand-price-col{padding:0 0 28px; background:none; border-top:1px solid var(--line); margin-top:4px;} }
  .stand-price-col .p-label{ font-family:'ABCNormal',sans-serif; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-soft); display:block; margin-bottom:12px; }
  .price-row{ margin-bottom:10px; }
  .price-row .p-cat{ font-size:11.5px; color:var(--ink-soft); display:block; margin-bottom:3px; }
  .price-row .p-val{ font-family:'ABCNormal',sans-serif; font-size:22px; font-weight:700; color:var(--ink); }
  /* fee table */
  .fee-table{ border:1px solid var(--line); width:100%; border-collapse:collapse; margin-top:40px; }
  .fee-table th{ font-family:'ABCNormal',sans-serif; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-soft); text-align:left; padding:16px 20px; border-bottom:1px solid var(--line); border-right:1px solid var(--line); background:var(--concrete); }
  .fee-table th:last-child{ border-right:none; }
  .fee-table td{ padding:18px 20px; border-bottom:1px solid var(--line); border-right:1px solid var(--line); font-size:14px; vertical-align:middle; }
  .fee-table td:last-child{ border-right:none; }
  .fee-table tr:last-child td{ border-bottom:none; }
  .fee-table .td-label{ color:var(--ink-soft); }
  .fee-table .td-price{ font-family:'ABCNormal',sans-serif; font-size:20px; font-weight:700; color:var(--ink); }
  .fee-note{ font-size:13px; color:var(--ink-soft); margin-top:16px; line-height:1.6; }
  .cta-band{ background:var(--green); color:var(--paper); padding:72px 0; }
  .cta-inner{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:28px; }
  .cta-inner h2{color:var(--paper); font-size:clamp(26px,3.4vw,40px); max-width:560px; line-height:1.08;}
  .cta-inner .btn{border-color:var(--paper);}
  .cta-inner .btn-fill{background:var(--ink); border-color:var(--ink); color:var(--paper);}
  .cta-inner .btn-line{color:var(--paper);}
  .cta-inner .btn-line:hover{background:rgba(0,0,0,0.12); color:var(--paper); border-color:var(--paper);}
  .foot-grid a:hover{color:var(--paper);}
  .foot-social a:hover{ color:var(--paper); border-color:var(--green-pale); }
  .stand-photo{ height:160px; overflow:hidden; margin-bottom:18px; }
  .stand-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  /* 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); }
  }
  .adv-item p{ font-size:15px !important; }
  /* 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; }