  :root{
    --navy-deep:#004aad;
    --navy:#004aad;
    --navy-light:#004aad;
    --gold:#f4b400;
    --gold-deep:#dd9f00;
    --ink:#16233b;
    --paper:#ffffff;
    --mist:#f4f6fa;
    --line:#e2e7f0;
    --radius:14px;
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; scroll-padding-top: 76px;}
  body{
    margin:0;
    font-family:'Poppins',sans-serif;
    color:var(--ink);
    background:var(--paper);
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.wordmark{ font-family:'Poppins',sans-serif; margin:0; }
  img{max-width:100%; display:block;}
  a{color:inherit;}
  .wrap{max-width:1120px; margin:0 auto; padding:0 28px;}

  /* ---------- placeholder image blocks ---------- */
  .ph{
    position:relative;
    display:flex; align-items:center; justify-content:center;
    background:
      repeating-linear-gradient(45deg, rgba(255,255,255,.05) 0 12px, rgba(255,255,255,0) 12px 24px),
      linear-gradient(135deg,#274a86,#0f2a54);
    color:rgba(255,255,255,.85);
    text-align:center;
    overflow:hidden;
    border-radius:var(--radius);
  }
  .ph span{
    font-size:.72rem;
    letter-spacing:.02em;
    padding:6px 14px;
    border:1px solid rgba(255,255,255,.5);
    border-radius:100px;
    font-family:'Poppins',sans-serif;
    font-weight:500;
  }
  .ph.light{
    background:
      repeating-linear-gradient(45deg, rgba(15,42,84,.04) 0 12px, rgba(15,42,84,0) 12px 24px),
      linear-gradient(135deg,#eef1f7,#dbe2ee);
    color:#5c6a85;
  }
  .ph.light span{ border-color:#b9c3d7; }
  .ph.round{ border-radius:50%; }

  /* ---------- nav ---------- */
  header.site-nav{
    position:sticky; top:0; z-index:50;
    background:var(--navy-deep);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .nav-inner{
    max-width:1120px; margin:0 auto; padding:14px 28px;
    display:flex; align-items:center; justify-content:space-between; gap:24px;
  }
  .brand{ display:flex; align-items:center; gap:12px; flex-shrink:0; }
  .brand .ph{ width:44px; height:44px; }
  .brand .ph span{ padding:0; border:none; font-size:.55rem; }
  .brand-text{ color:#fff; line-height:1.1; }
  .brand-text b{ font-family:'Poppins',sans-serif; font-size:1rem; letter-spacing:.02em; }
  .brand-text small{ display:block; font-size:.62rem; color:#9fb2d6; letter-spacing:.04em; }
  nav.links{ display:flex; gap:30px; }
  nav.links a{
    color:#dbe4f5; text-decoration:none; font-size:.94rem; font-weight:500;
    padding-bottom:4px; border-bottom:2px solid transparent;
    transition:color .15s, border-color .15s;
  }
  nav.links a:hover, nav.links a.active{ color:#fff; border-color:var(--gold); }
  .nav-toggle{ display:none; background:none; border:none; color:#fff; font-size:1.5rem; cursor:pointer; }

  /* ---------- buttons ---------- */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-family:'Poppins',sans-serif; font-weight:600; letter-spacing:.02em;
    padding:14px 34px; border-radius:100px; text-decoration:none;
    cursor:pointer; border:none; font-size:1rem;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn:hover{ transform:translateY(-2px); }
  .btn-gold{ background:var(--gold); color:var(--navy-deep); box-shadow:0 10px 24px -10px rgba(244,180,0,.7); }
  .btn-gold:hover{ background:var(--gold-deep); }
  .btn-outline{ background:transparent; color:#fff; border:2px solid #fff; }
  .btn-outline:hover{ background:#fff; color:var(--navy-deep); }
  .btn-ghost-link{
    display:block; text-align:center; font-size:.8rem; color:#cfdcf3;
    margin-top:10px; text-decoration:underline; text-underline-offset:3px;
  }

  /* ---------- hero ---------- */
  .hero{
    position:relative;
    background:linear-gradient(120deg,var(--navy) 0%, var(--navy-deep) 65%);
    color:#fff;
    padding:56px 0 0;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute; inset:0;
    background: none;
    pointer-events:none;
  }
  .hero-grid{
    position:relative; z-index:1;
    display:grid; grid-template-columns:1.05fr 1fr; gap:40px; align-items:start;
  }
  .hero-tag{ font-size:1.7rem; line-height:1.25; max-width:360px; font-weight:500; }
  .hero-copy{ font-size:.92rem; line-height:1.75; color:#cfdcf3; text-align:right; max-width:400px; margin-left:auto; }
  .hero-bottom{
    position:relative; z-index:1;
    margin-top:46px;
    display:grid; grid-template-columns:1fr auto; align-items:center; gap:24px;
    background:rgba(255,255,255,.04);
    border-top:1px solid rgba(255,255,255,.12);
    padding:30px 0 34px;
  }
  .wordmark-block{ display:flex; align-items:center; gap:16px; }
  .wordmark-block .eyebrow{ writing-mode:vertical-rl; transform:rotate(180deg); font-size:.6rem; letter-spacing:.14em; color:#9fb2d6; }
  .wordmark{ font-size:3rem; font-weight:700; font-style:italic; letter-spacing:.01em; line-height:.9; color:#fff; }
  .wordmark small{ display:block; font-style:normal; font-family:'Poppins',sans-serif; font-size:.62rem; letter-spacing:.14em; color:#9fb2d6; margin-bottom:4px; font-weight:500;}
  .hero-cta{ text-align:center; }

  /* ---------- section shells ---------- */
  section{ padding:74px 0; }
  section.tight{ padding:56px 0; }
  .kicker{
    font-size:1.6rem; font-weight:600; color:var(--navy-deep); text-align:center;
    max-width:760px; margin:0 auto 18px;
  }
  .lede{
    max-width:720px; margin:0 auto; text-align:center; color:#54607a; font-size:.98rem; line-height:1.75;
  }

  /* ---------- upcoming conference card ---------- */
  .conf-card{
    display:grid; grid-template-columns:1.1fr 1fr;
    background:var(--navy-deep); border-radius:22px; overflow:hidden;
    box-shadow:0 30px 60px -30px rgba(15,42,84,.5);
    margin-top:8px;
  }
  .conf-photo{ min-height:340px; border-radius:0; }
  .conf-body{ padding:40px 44px; color:#fff; display:flex; flex-direction:column; justify-content:center; gap:14px; }
  .conf-eyebrow{ font-size:.72rem; letter-spacing:.1em; color:#9fb2d6; font-weight:600; }
  .conf-title{ font-size:1.3rem; font-weight:500; line-height:1.4; color:#eef2fb; }
  .conf-sub{ font-family:'Poppins',sans-serif; font-weight:600; font-size:1.05rem; color:#dcdff0; }
  .conf-place{ font-family:'Poppins',sans-serif; font-size:2.4rem; color:var(--gold); font-weight:600; line-height:1; }
  .conf-date{ font-family:'Poppins',sans-serif; font-size:1.5rem; color:var(--gold); font-weight:500; }
  .conf-stats{ display:flex; gap:26px; font-size:.8rem; color:#c3cfe6; margin-top:4px; }
  .conf-stats b{ color:#fff; font-family:'Poppins',sans-serif; font-size:.95rem; }
  .conf-actions{ margin-top:16px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
  .conf-actions a.link{ font-size:.85rem; text-decoration:underline; color:#dbe4f5; text-underline-offset:3px;}

  .section-top-title{ text-align:center; font-size:.82rem; letter-spacing:.08em; color:var(--navy); font-weight:600; margin-bottom:36px; }

  /* ---------- supported by ---------- */
  .support-grid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:30px; }
  .support-box{
    border:1.5px dashed var(--line); border-radius:var(--radius);
    padding:40px 20px; text-align:center; color:#8592ab; font-size:.85rem; font-weight:600; letter-spacing:.04em;
    background:var(--mist);
  }

  /* ---------- delegates panel ---------- */
  .delegates{
    background:var(--navy-deep); border-radius:22px; padding:40px 30px 26px; margin-top:44px;
  }
  .delegates-row{ display:flex; justify-content:center; gap:70px; flex-wrap:wrap; }
  .delegate-org{ text-align:center; color:#fff; }
  .delegate-org .ph{ width:88px; height:88px; margin:0 auto 12px; }
  .delegate-org .ph span{ border:none; padding:0; font-size:.55rem; }
  .delegate-org b{ display:block; font-family:'Poppins',sans-serif; letter-spacing:.06em; font-size:.85rem; }
  .delegates-label{
    text-align:center; margin-top:26px; padding-top:20px; border-top:1px solid rgba(255,255,255,.15);
    color:var(--gold); font-family:'Poppins',sans-serif; letter-spacing:.1em; font-size:.9rem; font-weight:600;
  }

  /* ---------- qualifications ---------- */
  .qual-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:44px; text-align:center; }
  .qual-icon{
    width:78px; height:78px; border-radius:50%; margin:0 auto 18px;
    background:linear-gradient(135deg,var(--navy-light),var(--navy-deep));
    display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.6rem;
  }
  .qual-grid p{ font-size:.88rem; color:#4b5876; line-height:1.55; max-width:220px; margin:0 auto; }

  /* ---------- benefits ---------- */
  .benefit-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:40px; }
  .benefit-card{ border-radius:var(--radius); overflow:hidden; }
  .benefit-card .ph{ height:150px; border-radius:0; }
  .benefit-cap{ padding:16px 4px 0; text-align:center; font-size:.85rem; color:#3a4560; line-height:1.5; }

  /* ---------- CTA banner ---------- */
  .cta-banner{
    background:linear-gradient(120deg,var(--navy) 0%,var(--navy-deep) 100%);
    color:#fff; text-align:center; padding:64px 0;
    position:relative; overflow:hidden;
  }
  .cta-banner::before{
    content:""; position:absolute; inset:0;
    background:repeating-linear-gradient(-38deg, rgba(255,255,255,.05) 0 2px, transparent 2px 46px);
  }
  .cta-inner{ position:relative; z-index:1; }
  .cta-wordmark{ font-size:2.6rem; font-weight:700; font-style:italic; margin-bottom:6px; }
  .cta-wordmark small{ display:block; font-style:normal; font-family:'Poppins',sans-serif; font-size:.62rem; letter-spacing:.14em; color:#9fb2d6; margin-bottom:6px; font-weight:500; }
  .cta-line{ font-size:1.4rem; font-weight:500; color:#eef2fb; margin:18px 0 34px; }

  /* ---------- awards ---------- */
  .awards{ background:var(--mist); }
  .award-stack{ display:flex; flex-direction:column; align-items:center; gap:16px; margin-top:10px; }
  .award-row{ display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }
  .pill{
    background:var(--gold); color:var(--navy-deep); font-family:'Poppins',sans-serif; font-weight:600;
    letter-spacing:.03em; padding:15px 34px; border-radius:100px; font-size:.98rem;
    box-shadow:0 12px 20px -12px rgba(221,159,0,.6);
  }
  .award-tag{
    margin-top:26px; text-align:center; font-family:'Poppins',sans-serif; font-size:1.2rem; color:var(--navy-deep);
  }
  .award-tag em{ color:var(--gold-deep); font-style:normal; }

  /* ---------- gallery ---------- */
  .gallery-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:34px 40px; margin-top:44px; }
  .gallery-item .ph{ height:200px; margin-bottom:14px; }
  .gallery-cap{ text-align:center; font-family:'Poppins',sans-serif; font-size:.92rem; color:var(--navy-deep); line-height:1.5; }
  .gallery-cap span{ display:block; font-family:'Poppins',sans-serif; font-weight:400; font-size:.78rem; color:#7a879f; margin-top:2px; }

  /* ---------- testimonial ---------- */
  .testimonial-tag{
    display:block; margin:0 auto 34px; width:max-content;
  }
  .video-shell{
    max-width:760px; margin:0 auto; border-radius:18px; overflow:hidden;
    box-shadow:0 30px 50px -28px rgba(15,42,84,.45);
  }
  .video-shell .ph{ height:400px; border-radius:0; }
  .play-btn{
    width:66px; height:66px; border-radius:50%; background:rgba(255,255,255,.18); border:2px solid #fff;
    display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.5rem; margin-bottom:10px;
  }

  /* ---------- organizer ---------- */
  .organizer{ text-align:center; }
  .org-badge{ width:150px; height:150px; margin:0 auto 26px; }
  .org-badge .ph{ border-radius:50%; }
  .org-name{ font-size:1rem; color:#5c6a85; }
  .org-council{ font-family:'Poppins',sans-serif; font-size:1.5rem; color:var(--navy-deep); font-weight:600; margin:2px 0 18px; }
  .org-desc{ max-width:620px; margin:0 auto; font-size:.9rem; color:#5c6a85; line-height:1.75; }

  /* ---------- footer ---------- */
  footer{ background:var(--navy-deep); color:#fff; text-align:center; padding:52px 0 0; }
  footer h3{ font-family:'Poppins',sans-serif; font-size:1.2rem; letter-spacing:.03em; margin-bottom:26px; }
  .social-row{ display:flex; justify-content:center; gap:18px; margin-bottom:22px; }
  .social-row a{
    width:46px; height:46px; border-radius:50%; border:1.5px solid rgba(255,255,255,.5);
    display:flex; align-items:center; justify-content:center; text-decoration:none; color:#fff;
    font-size:1.1rem; transition:background .15s, border-color .15s;
  }
  .social-row a:hover{ background:rgba(255,255,255,.12); border-color:#fff; }
  .addr{ font-size:.85rem; color:#cfdcf3; margin-bottom:36px; }
  .copyright-bar{
    background:var(--gold); color:var(--navy-deep); font-size:.78rem; font-weight:600;
    padding:14px 28px; display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;
  }
  .copyright-bar a{ text-decoration:underline; margin-right:16px; }

  /* ---------- responsive ---------- */
  @media (max-width: 860px){
    .hero-grid{ grid-template-columns:1fr; gap:18px; }
    .hero-copy{ text-align:left; margin-left:0; max-width:100%; }
    .hero-bottom{ grid-template-columns:1fr; text-align:center; gap:22px; }
    .wordmark-block{ justify-content:center; }
    .conf-card{ grid-template-columns:1fr; }
    .conf-photo{ min-height:220px; }
    .support-grid, .qual-grid, .benefit-grid, .gallery-grid{ grid-template-columns:1fr; }
    nav.links{ display:none; }
    .nav-toggle{ display:block; }
    .delegates-row{ gap:36px !important; }
  }

  /* ---------- mobile menu ---------- */
  @media (max-width: 860px){
    header.site-nav.menu-open{ background:var(--navy-deep) !important; }
    nav.links.open{
      display:flex; flex-direction:column; gap:18px;
      position:absolute; top:100%; left:0; right:0;
      background:var(--navy-deep); padding:20px 28px 26px;
      border-top:1px solid rgba(255,255,255,.12);
    }
  }

  /* ---------- small-screen fixes for the large inline-styled blocks ---------- */
  @media (max-width: 860px){
    .hero-bottom-row{ flex-direction:column !important; align-items:center !important; gap:28px; }
    .wordmark-xl{ font-size:3.4rem !important; }
    .wordmark-sub{ white-space:normal !important; font-size:.75rem !important; }
    .btn-xl{ font-size:1.3rem !important; padding:10px 28px !important; border-width:4px !important; }
    .conf-card{ flex-direction:column !important; min-height:0 !important; }
    .conf-spacer{ min-height:200px; flex:none !important; }
    .conf-content{
      align-items:center !important; text-align:center !important;
      background:rgba(0,74,173,.88); padding:32px 20px !important; margin:0 16px 16px; border-radius:24px;
    }
    .conf-content div[style*="font-size: 4rem"]{ font-size:2.8rem !important; }
    .conf-content div[style*="font-size: 2.2rem"]{ font-size:1.6rem !important; }
    .conf-content div[style*="align-items: flex-end"]{ align-items:center !important; }
    .promo-head{ flex-direction:column !important; align-items:flex-start !important; gap:16px; }
    .promo-head > div:last-child{ text-align:left !important; font-size:1.6rem !important; }
    .award-pair{ flex-wrap:wrap; justify-content:center; }
    div[style*="border-radius: 100px"][style*="font-size: 1.6rem"]{ font-size:1.05rem !important; padding:10px 22px !important; text-align:center; }
    footer h3{ font-size:2rem !important; }
  }


  /* ---------- footer (compact) ---------- */
  footer{ padding:40px 0 0; }
  .footer-inner{ max-width:1120px; margin:0 auto; padding:0 28px 32px; }
  .footer-title{ text-transform:uppercase; font-size:2rem; margin-bottom:20px; }
  footer .social-row{ gap:20px; margin-bottom:22px; }
  footer .social-row a{ width:56px; height:56px; border:none; background:transparent; padding:0; }
  footer .social-row a img{ width:100%; height:100%; object-fit:contain; border-radius:50%; }
  .footer-contact{ display:flex; justify-content:center; flex-wrap:wrap; gap:8px 28px; font-size:1rem; color:#cfdcf3; }
  .footer-contact a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }

  /* ---------- registration & payment band ---------- */
  .pay-band{ background:var(--mist); padding:64px 0; }
  .pay-title{ text-transform:uppercase; font-size:1.9rem; color:var(--navy-deep); font-weight:900; letter-spacing:.02em; margin-bottom:32px; }
  .pay-card{
    display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:40px;
    background:#fff; border-radius:28px; padding:36px 44px;
    box-shadow:0 16px 40px rgba(0,0,0,.10);
  }
  .pay-fee{
    background:var(--navy-deep); color:#fff; border-radius:20px; padding:24px 32px; text-align:center; min-width:240px;
  }
  .pay-fee small{ display:block; text-transform:uppercase; letter-spacing:.1em; font-size:.75rem; color:#cfdcf3; }
  .pay-fee b{ display:block; font-family:'Poppins',sans-serif; font-size:3.2rem; line-height:1.1; color:var(--gold); margin:4px 0 6px; }
  .pay-fee span{ display:block; font-size:.78rem; color:#cfdcf3; line-height:1.4; }
  .pay-steps{ list-style:none; margin:0; padding:0; display:grid; gap:14px; counter-reset:step; }
  .pay-steps li{ counter-increment:step; display:grid; grid-template-columns:34px 1fr; column-gap:14px; align-items:start; color:var(--navy-deep); }
  .pay-steps li::before{
    content:counter(step); grid-row:span 2; width:34px; height:34px; border-radius:50%;
    background:var(--gold); color:var(--navy-deep); font-weight:800; display:flex; align-items:center; justify-content:center;
  }
  .pay-steps b{ font-family:'Poppins',sans-serif; text-transform:uppercase; letter-spacing:.04em; font-size:1rem; }
  .pay-steps span{ font-size:.92rem; color:#4b5876; line-height:1.4; }
  .pay-cta{ text-transform:uppercase; font-weight:900; white-space:nowrap; }
  @media (max-width: 860px){
    .pay-card{ grid-template-columns:1fr; padding:28px 22px; gap:26px; }
    .pay-fee{ min-width:0; }
    .pay-cta{ justify-self:center; }
    .footer-title{ font-size:1.6rem !important; }
    footer .social-row a{ width:48px; height:48px; }
    .footer-contact{ flex-direction:column; gap:10px; }
  }


  /* ---------- polish ---------- */
  .benefit-grid{ gap:24px; }
  .benefit-card{ text-align:center; transition:transform .2s ease; }
  .benefit-card:hover{ transform:translateY(-4px); }
  .benefit-icon{
    height:150px; border-radius:24px; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg,#0a5cd1,var(--navy-deep));
    box-shadow:0 14px 30px -14px rgba(0,74,173,.6);
  }
  .benefit-icon svg{ width:64px; height:64px; fill:var(--gold); }
  .benefit-cap{ font-weight:500; color:var(--navy-deep); padding:18px 8px 0; }
  .tba{
    position:absolute; left:0; right:0; top:50%; text-transform:none; letter-spacing:.02em;
    font-size:.9rem; font-weight:500; font-style:italic; color:#8aa0c8; text-align:center;
  }
  .support-box{ transition:transform .2s ease; }
  .support-box:hover{ transform:translateY(-4px); }
  .gallery-item img{ transition:transform .2s ease; }
  .pill, .btn{ font-family:'Poppins',sans-serif; }
  .pay-fee b{ font-weight:800; }
  .pay-steps b{ letter-spacing:.03em; }

  @media (max-width: 860px){
    .support-grid{ grid-template-columns:1fr !important; gap:24px !important; }
    .support-box{ padding:32px 20px !important; min-height:200px !important; }
  }

  /* hero text closer to the reference design */
  .hero-tag{ font-size:2.2rem; font-weight:800; line-height:1.15; max-width:420px; }
  .hero-copy{ color:#fff; font-size:.98rem; font-weight:500; line-height:1.7; max-width:460px; }
  @media (max-width: 860px){ .hero-tag{ font-size:1.8rem; } }
html, body{ overflow-x:clip; }


  /* ---------- phone layout ---------- */
  @media (max-width: 860px){
    section{ padding:48px 0; }
    section.tight{ padding:40px 0; }
    .wrap{ padding:0 20px; }
    .nav-inner{ padding:12px 20px; }
    .brand-text small{ display:none; }
    .kicker{ font-size:1.45rem !important; line-height:1.25 !important; margin-bottom:20px !important; }
    .section-top-title{ font-size:1.15rem !important; margin-bottom:22px !important; margin-top:40px !important; }
    #participation .section-top-title{ margin-top:0 !important; }
    .lede{ font-size:1rem !important; line-height:1.65 !important; }
    .wordmark-wrap{ margin-top:-40px !important; }
    .hero-cta-wrap{ margin-top:0 !important; }
    .hero-bottom-row{ padding-bottom:24px !important; }
    .conf-spacer{ min-height:150px; }
    .conf-card{ border-radius:24px !important; }
    .delegates{ padding:28px 16px 20px; margin-top:32px; }
    .delegates-row{ flex-wrap:nowrap !important; gap:28px !important; margin-bottom:20px !important; }
    .delegate-org img{ height:72px !important; }
    .delegate-org b{ font-size:1rem !important; }
    .delegates-label{ font-size:1.1rem !important; }
    .qual-grid{ gap:28px; margin-top:28px; }
    .qual-grid img{ width:92px !important; height:92px !important; margin-bottom:12px !important; }
    .benefit-grid{ gap:20px; margin-top:28px; }
    .benefit-icon{ height:110px; }
    .benefit-icon svg{ width:48px; height:48px; }
    .pay-band{ padding:44px 0; }
    .pay-title{ font-size:1.45rem !important; }
    .pay-fee b{ font-size:2.6rem; }
    a[href="#participation"]{ font-size:1.05rem !important; padding:10px 22px !important; white-space:nowrap; }
    .gallery-list{ gap:44px !important; }
    .gallery-cap{ font-size:1.05rem !important; }
    .video-shell .ph{ height:210px; }
    .play-btn{ width:54px; height:54px; }
    .org-badge img{ max-width:240px !important; }
    .section-top-title[style*="2.5rem"]{ font-size:1.5rem !important; }
    .org-name{ font-size:1.05rem !important; }
    .org-council{ font-size:1.8rem !important; }
    .org-desc{ font-size:1rem !important; }
    .testimonial-tag{ font-size:.95rem; padding:12px 24px; }
    section[style*="margin: 40px 0"]{ margin:24px 0 !important; padding:44px 0 !important; }
    section[style*="margin-bottom: 40px"] .wrap{ flex-direction:column; align-items:center !important; text-align:center; gap:28px !important; }
    section[style*="margin-bottom: 40px"] .wrap > div:last-child{ text-align:center !important; }
    div[style*="font-size: 1.8rem; font-weight: 800; color: #fff; text-transform: uppercase"]{ font-size:1.25rem !important; }
  }
  @media (max-width: 480px){
    .wordmark-xl{ font-size:3rem !important; }
    .hero-tag{ font-size:1.6rem; }
    .conf-content div[style*="font-size: 4rem"]{ font-size:2.4rem !important; }
  }
@media (max-width: 480px){ .wordmark-sub{ font-size:.66rem !important; } }


  /* ---------- phone: menu, FAQ, registration ---------- */
  @media (max-width: 860px){
    nav.links.open a{ align-self:flex-start; }
    .faq-title{ font-size:2.1rem !important; line-height:1.15 !important; }
    .faq-sub{ font-size:1rem !important; }
    .faq-outer{ padding:0 14px !important; }
    .faq-block{ padding:28px 18px 40px !important; border-width:3px !important; }
    .faq-logo{ width:110px !important; }
    .faq-item{ margin-bottom:28px !important; }
    .faq-q{ font-size:1.05rem !important; padding:14px 16px !important; }
    .faq-a{ font-size:.98rem !important; padding:16px 4px 0 !important; }
    .reg-card h1{ font-size:1.6rem !important; line-height:1.2 !important; }
    .reg-card ul{ margin-left:0 !important; padding-left:20px !important; }
    main[style*="padding: 60px 0 120px"]{ padding:36px 0 64px !important; }
    main[style*="padding: 100px 0 120px"]{ padding:56px 0 64px !important; }
  }
