  :root{
    --bg:#0a0c11;
    --bg2:#0c2740;
    --card:#12151D;
    --border-default:rgba(226,226,229,.08); /* на главной base.css не подключён */
    --card-border:var(--border-default);
    --text:#eefcff;
    --text-dim:#a7c4d8;
    --text-dimmer:#7391a8;
    --accent:#3ef6d0;
    --accent2:#7b61ff;
    --accent-hover:#5cf8da;
    --pill-bg:rgba(255,255,255,.05);
    --radius:14px;
  }
  html{scroll-behavior:smooth;}
  html{
    scrollbar-width:thin;
    scrollbar-color:rgba(117,255,240,.22) transparent;
  }
  ::-webkit-scrollbar{width:8px;height:8px;}
  ::-webkit-scrollbar-track{background:transparent;}
  ::-webkit-scrollbar-thumb{background:rgba(117,255,240,.22);border-radius:999px;}
  ::-webkit-scrollbar-thumb:hover{background:rgba(117,255,240,.22);}
  *{box-sizing:border-box;margin:0;padding:0;}
  body{
    background:var(--bg);
    color:var(--text);
    font-family:'Rubik','Segoe UI',Roboto,Arial,sans-serif;
    line-height:1.5;
  }
  h1,h2,h3,h4,.brand,.btn,.tab{
    font-family:'Rubik','Segoe UI',Roboto,Arial,sans-serif;
    letter-spacing:0;
  }
  .hero h1{font-weight:800;}
  .welcome h2,.section-head h2,.cta h2{font-weight:700;}
  a{color:inherit;text-decoration:none;}
  img,.ph{display:block;}
  .container{max-width:1180px;margin:0 auto;padding:0 40px;}

  header.nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 120px;
    background:rgba(4,14,26,.85);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(119,255,237,.12);
    box-shadow:0 4px 32px rgba(0,0,0,.35);
    position:sticky;top:0;z-index:1000;
  }
  .brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;letter-spacing:0.5px;}
  .brand .mark{
    width:30px;height:30px;border-radius:8px;
    object-fit:contain;flex-shrink:0;
  }
  .brand-mark{
    width:30px;height:30px;border-radius:8px;flex-shrink:0;
    object-fit:contain;
  }
  .brand-text{
    font-weight:500;font-size:16px;letter-spacing:0;text-transform:uppercase;
    color: #E2E2E5;
  }
  nav.links{display:flex;gap:30px;font-size:14px;color:var(--text-dim);}
  nav.links a{transition:color .2s;text-decoration:none !important;border-bottom:none !important;box-shadow:none !important;outline:none !important;}
  nav.links a:hover{color:var(--accent);}
  .nav-right{display:flex;align-items:center;gap:18px;font-size:14px;}
  .lang{display:flex;align-items:center;gap:5px;color:var(--text-dim);position:relative;}
  .lang-toggle{
    display:flex;align-items:center;gap:6px;background:transparent;border:none;padding:6px 2px;
    color:var(--text-dim);font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.3px;
    cursor:pointer;transition:color .2s;
  }
  .lang-toggle:hover{color:var(--text);}
  .lang-toggle svg{flex-shrink:0;}
  .lang-chevron{transition:transform .2s;}
  .lang.open .lang-chevron{transform:rotate(180deg);}
  .lang-menu{
    position:absolute;top:calc(100% + 10px);right:0;min-width:150px;
    background:linear-gradient(160deg,#0b2137,#071726);border:1px solid rgba(119,255,237,.16);
    border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.45);padding:6px;
    display:flex;flex-direction:column;gap:2px;
    opacity:0;visibility:hidden;transform:translateY(-6px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s;
    z-index:200;
  }
  .lang.open .lang-menu{opacity:1;visibility:visible;transform:translateY(0);}
  .lang-option{
    display:block;width:100%;text-align:left;background:transparent;border:none;border-radius:8px;
    padding:9px 12px;color:var(--text-dim);font-family:inherit;font-size:13px;font-weight:600;
    cursor:pointer;transition:background .15s,color .15s;
  }
  .lang-option:hover{background:rgba(255,255,255,.06);color:var(--text);}
  .lang-option.active{color:var(--accent);background:rgba(117,255,240,.08);}
  .btn{
    padding:9px 18px;border-radius:9px;font-size:14px;font-weight:400;letter-spacing:.3px;
    border:1px solid var(--card-border);cursor:pointer;text-decoration:none;
    transition:transform .18s, box-shadow .18s, background .2s, border-color .2s;
  }
  .btn-primary{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:12px 14px;
    border-radius:8px;
    background:linear-gradient(135deg,#038184,#1E3A5F);
    color:#E2E2E5;border:none;
  }
  .btn-primary:hover{box-shadow:0 10px 28px rgba(21,106,134,.4);background:linear-gradient(135deg,#049599,#234875);}
  .btn-outline{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    background:rgba(18,21,29,.6);color:var(--text);border:1px solid rgba(255,255,255,.14);
  }
  .btn-outline:hover{background:rgba(18,21,29,.6);}
  .btn-row .btn{font-size:16px;letter-spacing:0;}
  .btn-glow{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:12px 14px;border-radius:8px;
    background:
      linear-gradient(#12151D,#12151D) padding-box,
      linear-gradient(135deg,#038184,#1E3A5F) border-box;
    border:1px solid transparent;
    box-shadow:0 4px 8px 0 #1E3A5F;
    color:#E2E2E5;
  }
  .btn-glow:hover{box-shadow:0 6px 14px 0 #1E3A5F;transform:translateY(-2px);}

  .hero{
    position:relative;
    width:100%;
    aspect-ratio:2880/1676;
    max-height:70vh;
    background-color:#0A0C11;
    display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
    gap:20px;
    text-align:left;
    padding:0 130px;
    overflow:hidden;
  }
  .hero::before{
    content:'';
    position:absolute;inset:0;
    background:url('../images/hero-bg.webp');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
  }
  .hero::after{
    content:'';
    position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(4,10,18,0.15) 0%, rgba(4,10,18,0.35) 50%, rgba(4,10,18,0.6) 100%);
  }
  .hero-eyebrow, .hero-text, .hero h1, .hero p, .hero .btn-row{
    position:relative;
    z-index:1;
  }
  .hero-text{display:flex;flex-direction:column;gap:16px;margin-bottom:24px;}
  .hero-eyebrow{font-size:24px;line-height:1;letter-spacing:0;color:#E2E2E5;font-weight:400;}
  .hero h1{
    font-family:'Rubik','Segoe UI',Roboto,Arial,sans-serif;
    text-transform:uppercase;
    font-size:72px;font-weight:700;letter-spacing:0;line-height:1;
    color:#E2E2E5;
  }
  .hero p{font-size:32px;line-height:1;letter-spacing:0;color:#E2E2E5;font-weight:400;}
  .hero .btn-row{display:flex;gap:20px;}
  .hero .btn{padding:12px 14px;font-size:16px;}

  .welcome-wrap{
    padding:0 120px;
  }
  .welcome{
    padding:80px 0 50px 0;
    scroll-margin-top:90px;
  }
  .welcome h2{font-size:36px;font-weight:500;letter-spacing:0;margin-bottom:20px;line-height:1;}
  .welcome p{color:#E2E2E5;font-size:16px;font-weight:400;line-height:1.6;letter-spacing:0;}
  .welcome p strong{font-weight:500;}

  .feature-bar{
    display:flex;margin:0 0 60px;padding:0;
    position:relative;
    border-top:1px solid var(--border-default);
    border-bottom:1px solid var(--border-default);
    border-left:none;border-right:none;
    background:rgba(255,255,255,.015);
  }
  .fb-item{
    flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
    padding:40px 10px;position:relative;
  }
  .fb-item::before{
    content:'';position:absolute;left:0;top:0;
    width:1px;height:100%;background:var(--border-default);
  }
  .fb-item:first-child::before{display:none;}
  .fb-item:first-child::after,
  .fb-item:last-child::after{
    content:'';position:absolute;top:0;
    width:1px;height:100%;background:var(--border-default);
  }
  .fb-item:first-child::after{left:0;}
  .fb-item:last-child::after{right:0;}
  .fb-icon{
    width:36px;height:36px;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .fb-icon svg,.fb-icon img{width:36px;height:36px;display:block;}
  .fb-label{font-size:20px;line-height:1;letter-spacing:0;font-weight:400;color:var(--text);text-align:center;}

  .section{padding:0 120px 80px;scroll-margin-top:90px;}
  .section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;}
  .section-head h2{font-size:36px;font-weight:500;letter-spacing:0;line-height:1;}
  .section-head .all-link{
    font-size:16px;font-weight:400;line-height:1;letter-spacing:0;color:#9BA1AE;
    transition:color .2s, border-color .2s, background .2s;
    display:inline-flex;align-items:center;gap:8px;
    border:1px solid var(--border-default);border-radius:8px;
    padding:8px 12px;
  }
  .section-head .all-link:hover{color:#E2E2E5;}
  .all-link-arrow{width:15px;height:15px;display:block;}

  .tabs{display:inline-flex;gap:4px;margin-bottom:26px;background:transparent;border:none;border-radius:10px;padding:4px;position:relative;}
  .tab{
    padding:8px 12px;border-radius:8px;font-size:16px;font-weight:400;line-height:100%;
    background:transparent;color:#9BA1AE;cursor:pointer;
    border:1px solid rgba(255,255,255,.08);
    transition:color .25s ease, border-color .25s ease;position:relative;z-index:2;
  }
  .tab.active{color:#E2E2E5;border-color:transparent;}
  .tab:hover:not(.active){color:var(--text);}
  .tab-indicator{
    position:absolute;top:4px;bottom:4px;left:4px;
    border-radius:8px;
    background:
      linear-gradient(#12151D,#12151D) padding-box,
      linear-gradient(135deg,#038184,#1E3A5F) border-box;
    border:1px solid transparent;
    box-shadow:0 4px 8px 0 #1E3A5F;
    transition:opacity .18s ease;
    z-index:1;
  }
  .convoy-panel.active{animation:convoyFadeIn .3s ease both;}
  @keyframes convoyFadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

  /* Карточка конвоя (.event-card, .card-banner, .card-body, .card-title,
     .meta-row, .detail-btn и т.д.) теперь в общем файле event-card.css,
     используемом также на /events. Здесь остаются только модификаторы,
     специфичные для главной страницы. */
  .grid-3{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
  .banner-1{background:linear-gradient(135deg,#14324a,#0a1826), radial-gradient(circle at 80% 20%, rgba(123,97,255,.35), transparent 60%);}
  .banner-2{background:linear-gradient(135deg,#12203f,#061224), radial-gradient(circle at 20% 80%, rgba(24,183,255,.4), transparent 60%);}

  /* Карточка новости (.news-card, .card-top, .card-title, .card-desc,
     .card-bottom, .read-btn и т.д.) теперь в общем файле news-card.css,
     используемом также на /news. */

  .gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .gallery-item{
    box-sizing:border-box;
    height:228px;border-radius:14px;
    border:1px solid var(--border-default);
    transition:transform .3s, border-color .3s;
    background-size:cover;background-position:center;background-repeat:no-repeat;
  }
  .gallery-item:hover{transform:translateY(-4px);}
  .g1{background:linear-gradient(135deg,#3a2a10,#0e0a06), radial-gradient(circle at 60% 30%, rgba(255,180,60,.3), transparent 60%);}
  .g2{background:linear-gradient(135deg,#0e1c2c,#060d16), radial-gradient(circle at 40% 60%, rgba(24,183,255,.3), transparent 60%);}
  .g3{background:linear-gradient(135deg,#101d33,#050a14), radial-gradient(circle at 70% 20%, rgba(123,97,255,.35), transparent 60%);}
  .g4{background:linear-gradient(135deg,#0a1420,#03070c), radial-gradient(circle at 30% 70%, rgba(62,246,208,.2), transparent 60%);}
  .g5{background:linear-gradient(135deg,#1a2f1c,#060c07), radial-gradient(circle at 60% 40%, rgba(136,255,186,.3), transparent 60%);}
  .g6{background:linear-gradient(135deg,#182432,#05090e), radial-gradient(circle at 50% 50%, rgba(24,183,255,.25), transparent 60%);}

  .partner-card{
    width:200px;height:200px;
    box-sizing:border-box;
    position:relative;
    background:#12151D;
    border:1px solid var(--border-default);border-radius:18px;
    padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;
    transition:transform .25s ease;
    overflow:hidden;
  }
  .partner-card:hover{
    transform:translateY(-4px);
  }
  .partner-logo{
    width:104px;height:104px;border-radius:20px;flex-shrink:0;position:relative;z-index:1;
    background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden;
  }
  .partner-card .name{
    font-family:'Rubik',sans-serif;font-weight:400;font-size:14px;line-height:1.2;letter-spacing:0;color:#E2E2E5;text-align:center;width:100%;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:1;
  }
  .partner-card .name span{display:inline-block;}
  .partner-card:hover .name.is-overflow{text-overflow:clip;}
  .partner-card:hover .name.is-overflow span{animation:partnerNameReveal 4s ease-in-out infinite;}
  @keyframes partnerNameReveal{
    0%,15%{transform:translateX(0);}
    50%{transform:translateX(-45%);}
    85%,100%{transform:translateX(0);}
  }
  .partner-info{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;max-width:100%;width:100%;position:relative;z-index:1;}
  .partner-card .date{
    box-sizing:border-box;
    align-self:center;
    font-weight:400;font-size:12px;line-height:1;letter-spacing:0;color:#9BA1AE;
    display:inline-flex;align-items:center;justify-content:center;gap:6px;
    background:#12151D;border:1px solid var(--border-default);
    border-radius:8px;padding:4px 10px;white-space:nowrap;
  }
  .partner-card .date-icon{width:14px;height:14px;flex-shrink:0;opacity:.85;display:block;}

  .partners-row{display:grid;grid-template-columns:repeat(8, 200px);gap:10px;justify-items:start;}

  .partners-viewport{position:relative;}
  .partners-viewport.is-carousel{display:flex;align-items:center;gap:10px;}
  .partners-viewport.is-carousel .partners-row{
    display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;max-width:100%;
    padding:6px 16px;margin:-6px 0;
    scrollbar-width:none;-ms-overflow-style:none;
  }
  .partners-viewport.is-carousel .partners-row .partner-card{width:200px;height:200px;aspect-ratio:auto;flex:0 0 200px;}
  .partners-viewport.is-carousel .partners-row::-webkit-scrollbar{display:none;}
  .partners-viewport.is-carousel::before,
  .partners-viewport.is-carousel::after{
    content:'';position:absolute;top:0;bottom:0;width:130px;z-index:2;pointer-events:none;
  }
  .partners-viewport.is-carousel::before{left:0;background:linear-gradient(to right, var(--bg) 0%, rgba(10,12,17,0) 100%);}
  .partners-viewport.is-carousel::after{right:0;background:linear-gradient(to left, var(--bg) 0%, rgba(10,12,17,0) 100%);}

  @media (max-width:1100px){
    .partners-row{grid-template-columns:repeat(3, 1fr);}
  }
  @media (max-width:900px){
    .partners-row{grid-template-columns:repeat(2, 1fr);}
    .partners-viewport.is-carousel .partners-row .partner-card{width:180px;height:180px;flex:0 0 180px;}
  }
  @media (max-width:560px){
    .partners-row{grid-template-columns:repeat(2, 1fr);}
    .partners-viewport.is-carousel .partners-row .partner-card{width:160px;height:160px;flex:0 0 160px;}
  }


  .cta{
    position:relative;overflow:hidden;
    margin:40px 0 0;
    background-color:#0c1c2c;
    border-radius:90px 90px 0 0;
    padding:80px 120px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;
  }
  .cta::before{
    content:'';
    position:absolute;inset:0;
    background-image:url('../images/cta-bg.webp');
    background-size:cover;
    background-position:top center;
    background-repeat:no-repeat;
    opacity:0.4;
  }
  .cta h2,.cta p,.cta>.btn{position:relative;z-index:1;}
  .cta .btn-glow{
    padding:12px 14px 12px 14px;
    border-radius:8px;
    gap:8px;
  }
  .cta h2{color:#E2E2E5;font-size:36px;font-weight:500;line-height:1;letter-spacing:0;margin-bottom:12px;}
  .cta p{color:#9BA1AE;font-size:18px;font-weight:400;line-height:1;letter-spacing:0;margin:0 auto 30px;max-width:640px;}

  .convoy-panel{display:none;}
  .convoy-panel.active{display:grid;}
  .convoy-empty{
    grid-column:1/-1;text-align:center;color:var(--text-dimmer);
    padding:50px 20px;border:1px solid var(--border-default);border-radius:var(--radius);
    box-sizing:border-box;
    font-size:14px;
  }
  .news-card[role="button"]{cursor:pointer;}
  .news-card[role="button"]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

  .hm-modal-overlay{
    position:fixed;inset:0;z-index:2000;
    background:rgba(2,8,14,.72);
    backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    display:none;align-items:center;justify-content:center;
    padding:30px 16px;opacity:0;transition:opacity .25s ease;
  }
  .hm-modal-overlay.show{opacity:1;}
  .hm-modal{
    background:#12151D;
    border:1px solid var(--border-default);border-radius:22px;
    max-width:920px;width:100%;max-height:92vh;overflow:hidden;position:relative;
    box-shadow:0 24px 80px rgba(0,0,0,.7);
    transform:translateY(16px) scale(.98);transition:transform .28s ease;
  }
  .hm-modal-overlay.show .hm-modal{transform:translateY(0) scale(1);}
  .hm-modal-scroll{
    max-height:92vh;overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scroll-behavior:smooth;
    scrollbar-width:thin;
    scrollbar-color:rgba(117,255,240,.22) transparent;
  }
  .hm-modal-scroll::-webkit-scrollbar{width:6px;}
  .hm-modal-scroll::-webkit-scrollbar-track{background:transparent;}
  .hm-modal-scroll::-webkit-scrollbar-thumb{background:rgba(117,255,240,.22);border-radius:999px;}
  .hm-modal-scroll::-webkit-scrollbar-thumb:hover{background:rgba(117,255,240,.22);}
  .hm-modal-close{
    position:absolute;top:12px;right:12px;z-index:60;
    width:38px;height:38px;border-radius:999px;
    background:#1C202B;border:1px solid var(--border-default);
    color:#E2E2E5;font-size:26px;font-weight:200;cursor:pointer;line-height:1;
    display:flex;align-items:center;justify-content:center;
    padding:0;appearance:none;flex-shrink:0;pointer-events:auto;
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  }
  .hm-modal-close:hover,.hm-modal-close:active{background:#1C202B;}
  .hm-modal-banner{
    width:100%;flex-shrink:0;overflow:hidden;
    background:linear-gradient(135deg, rgba(117,255,240,.06), rgba(123,97,255,.06));
  }
  .hm-modal-banner img{
    width:100%;height:auto;max-height:min(46vh,320px);object-fit:contain;display:block;
  }
  .hm-modal-body{padding:10px 20px 20px;}
  .hm-modal-badge{
    display:inline-block;font-size:11px;font-weight:400;letter-spacing:0;color:#9BA1AE;
    background:#1C202B;border:1px solid var(--border-default);
    padding:3px 10px;border-radius:6px;
  }
  .hm-modal-date{font-size:12.5px;color:var(--text-dimmer);margin-left:10px;}
  .hm-modal-title{font-size:22px;font-weight:500;color:#E2E2E5;margin:14px 0;line-height:1.2;}
  .hm-modal-subtitle{color:var(--text-dim);font-size:14px;margin-bottom:16px;}
  .hm-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin-bottom:14px;}
  .hm-modal-item{display:flex;flex-direction:column;gap:4px;background:#1C202B;border:1px solid var(--border-default);border-radius:12px;padding:8px 12px;min-width:0;}
  .hm-modal-item span{display:block;font-size:12px;color:#9BA1AE;margin-bottom:0;text-transform:none;letter-spacing:0;font-weight:500;}
  .hm-modal-item strong{font-size:13px;font-weight:500;color:var(--text);line-height:1.4;}
  .hm-modal-text{color:var(--text-dim);font-size:14px;line-height:1.75;margin-top:16px;}
  .hm-modal-text img{max-width:100%;border-radius:10px;margin:10px 0;display:block;}
  .hm-modal-link{
    display:flex;align-items:center;justify-content:center;text-align:center;width:100%;
    padding:14px 12px;background:#1C202B;
    border:1px solid var(--border-default);border-radius:12px;color:var(--text);
    font-size:11px;font-weight:400;text-decoration:none;letter-spacing:.8px;text-transform:uppercase;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;
  }
  .hm-modal-link:hover{background:#1C202B;border-color:var(--border-default);text-decoration:none;}

  .hm-modal-map-wrap{position:relative;display:flex;flex-direction:column;width:100%;margin-bottom:14px;}
  .hm-modal-map-wrap img{width:100%;height:auto;max-height:560px;object-fit:contain;display:block;border:0;border-radius:0;box-shadow:none;cursor:default;opacity:1;transition:opacity .25s ease;background:rgba(255,255,255,.03);min-height:120px;}
  .hm-modal-map-wrap img.is-loading{opacity:0;}
  .hm-modal-map-zoom{
    position:absolute;right:12px;bottom:12px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;
    background:#1C202B;border:1px solid var(--border-default);border-radius:999px;
    cursor:pointer;z-index:2;
  }
  .hm-modal-map-zoom svg{width:18px;height:18px;color:#E2E2E5;display:block;}

  .hm-gallery-overlay{padding:0;}
  .hm-gallery-close{
    position:fixed;top:20px;right:20px;z-index:2010;
    width:52px;height:52px;border-radius:50%;
    background:#1C202B;border:1px solid var(--border-default);
    color:#9BA1AE;font-size:22px;font-weight:200;cursor:pointer;line-height:1;
    display:flex;align-items:center;justify-content:center;
  }
  .hm-gallery-close:hover{background:#1C202B;}
  .hm-gallery-nav{
    position:fixed;top:50%;transform:translateY(-50%);z-index:2010;
    width:52px;height:52px;border-radius:50%;
    background:#1C202B;border:1px solid var(--border-default);
    color:#9BA1AE;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:background .2s,border-color .2s,transform .2s;
  }
  .hm-gallery-nav:hover{transform:translateY(calc(-50% - 4px));}
  .hm-gallery-prev{left:24px;}
  .hm-gallery-next{right:24px;}
  .hm-gallery-stage{
    position:relative;width:100%;height:100%;
    overflow:hidden;
    padding:80px 130px;
  }
  .hm-gallery-slide{
    position:absolute;
    top:80px;left:130px;right:130px;bottom:80px;
    background-size:contain;background-position:center;background-repeat:no-repeat;
    opacity:1;transition:opacity .155s ease;
  }
  .hm-gallery-slide.is-switching{opacity:.12;}
  .hm-gallery-bottom{
    position:fixed;left:0;right:0;bottom:22px;z-index:2010;
    display:flex;flex-direction:column;align-items:center;gap:10px;
    pointer-events:none;
  }
  .hm-gallery-info{
    display:flex;align-items:center;gap:12px;
    background:#1C202B;border:1px solid var(--border-default);
    border-radius:8px;padding:9px 14px;
    font-size:13px;color:#9BA1AE;
    pointer-events:auto;
  }
  .hm-gallery-caption{color:var(--text);font-weight:600;max-width:50vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .hm-gallery-counter{font-variant-numeric:tabular-nums;color:#9BA1AE;}
  .hm-gallery-thumbs{display:none;}
  @media (max-width:720px){
    .hero{aspect-ratio:auto;height:380px;}
    .hero h1{font-size:36px;}
    .hero p{font-size:16px;}
    .hero-eyebrow{font-size:14px;}
    .hm-gallery-stage{padding:70px 24px;}
    .hm-gallery-slide{top:70px;left:24px;right:24px;bottom:70px;}
    .hm-gallery-prev{left:8px;}
    .hm-gallery-next{right:8px;}
  }
  .hm-map-lightbox{display:none;position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.88);backdrop-filter:blur(6px);align-items:center;justify-content:center;}
  .hm-map-lightbox.open{display:flex;}
  .hm-map-lightbox-img{max-width:94vw;max-height:92vh;object-fit:contain;border-radius:10px;box-shadow:0 8px 60px rgba(0,0,0,.7);display:block;}
  .hm-map-lightbox-close{
    position:absolute;top:18px;right:22px;background:rgba(2,10,18,.7);border:1px solid var(--border-default);
    border-radius:999px;color:var(--text);font-size:28px;font-weight:200;line-height:1;width:42px;height:42px;
    display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(8px);
  }
  .hm-map-lightbox-close:hover{background:rgba(2,10,18,.7);}

  .hm-modal-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:8px;}
  .hm-modal-attendance{display:flex;width:100%;background:#1C202B;border:1px solid var(--border-default);border-radius:14px;overflow:hidden;}
  .hm-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:16px 10px;font-size:11px;font-weight:700;letter-spacing:.8px;color:#9BA1AE;text-transform:uppercase;gap:5px;}
  .hm-pill + .hm-pill{border-left:1px solid var(--border-default);}
  .hm-pill .hm-pill-num{font-size:32px;font-weight:900;color:var(--text);letter-spacing:-1px;line-height:1;}
  .hm-pill .hm-pill-label{display:flex;align-items:center;gap:5px;}
  .hm-pill .hm-pill-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0;}
  .hm-modal-bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;}
  .hm-cal-block{display:flex;flex-direction:column;gap:6px;}
  .hm-cal-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:10px 10px;
    border-radius:10px;font-family:inherit;font-size:10px;font-weight:400;text-decoration:none;letter-spacing:.7px;text-transform:uppercase;
    white-space:nowrap;cursor:pointer;border:none;box-sizing:border-box;transition:opacity .15s;
  }
  .hm-cal-btn:hover{opacity:.8;}
  .hm-cal-btn--apple{background:#1C202B;border:1px solid var(--border-default);color:var(--text);}
  .hm-cal-btn--google{background:#1C202B;border:1px solid var(--border-default);color:var(--text);}
  .hm-cal-btn svg{flex-shrink:0;}

