/* Gather — design tokens + layout. Event components live in the plugin's hge.css and read these tokens. */
:root{
  --hg-bg:#0a1220;--hg-surface:#111c2e;--hg-surface-2:#17253c;--hg-line:rgba(255,255,255,.09);
  --hg-text:#eef1f6;--hg-muted:#9aa6b8;--hg-gold:#d4a63a;--hg-gold-ink:#1a1305;--hg-red:#c0333b;--hg-blue:#1c3a6b;
  --hg-display:"Bebas Neue",Impact,"Arial Narrow",sans-serif;--hg-body:Barlow,system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);--hdr:76px;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--hg-bg);color:var(--hg-text);font:400 1rem/1.6 var(--hg-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--hg-gold)}
:focus-visible{outline:2px solid var(--hg-gold);outline-offset:3px}
::selection{background:var(--hg-gold);color:var(--hg-gold-ink)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.g-skip{position:fixed;z-index:1000;top:10px;left:10px;padding:12px 18px;border-radius:8px;background:var(--hg-gold);color:var(--hg-gold-ink);font-weight:700;transform:translateY(-200%);transition:transform .2s}
.g-skip:focus{transform:none}
.g-wrap{width:min(1320px,100% - 32px);margin-inline:auto}
.g-eyebrow{font:600 .78rem/1 var(--hg-body);letter-spacing:.2em;text-transform:uppercase;color:var(--hg-gold);margin:0 0 14px}
.g-h2{font:400 clamp(2.4rem,5vw,3.8rem)/.95 var(--hg-display);letter-spacing:.015em;margin:0}
.g-link{font:700 .82rem/1 var(--hg-body);letter-spacing:.12em;text-transform:uppercase;color:var(--hg-gold);text-decoration:none;white-space:nowrap}
.g-link:hover{text-decoration:underline;text-underline-offset:5px}

/* Buttons share the plugin's look */
.g-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:10px;font:700 .82rem/1 var(--hg-body);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.g-btn--gold{background:linear-gradient(180deg,#e6bb52,var(--hg-gold));color:var(--hg-gold-ink);box-shadow:0 10px 30px -12px rgba(212,166,58,.8),inset 0 1px 0 rgba(255,255,255,.35)}
.g-btn--gold:hover{transform:translateY(-2px);box-shadow:0 16px 40px -12px rgba(212,166,58,.95)}
.g-btn--ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(8px)}
.g-btn--ghost:hover{background:rgba(255,255,255,.12)}

/* Header */
.g-header{position:sticky;top:0;z-index:100;height:var(--hdr);display:flex;align-items:center;background:rgba(10,18,32,.82);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--hg-line);transition:background .35s,border-color .35s}
.has-overlay-header .g-header{position:fixed;inset:0 0 auto;background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.has-overlay-header .g-header.is-solid{background:rgba(10,18,32,.86);border-color:var(--hg-line);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}
.admin-bar .g-header{top:32px}@media (max-width:782px){.admin-bar .g-header{top:46px}}
.g-header__bar{display:flex;align-items:center;justify-content:space-between;gap:24px}
.g-logo{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.g-logo__mark{width:34px;height:34px;color:var(--hg-gold);filter:drop-shadow(0 0 14px rgba(212,166,58,.45));transition:transform .3s var(--ease)}
.g-logo:hover .g-logo__mark{transform:rotate(-8deg) scale(1.06)}
.g-logo__word{font:400 2rem/1 var(--hg-display);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.g-logo__sfx{color:var(--hg-gold);font-size:.62em;letter-spacing:.06em;margin-left:2px;text-transform:lowercase}
.custom-logo{max-height:48px;width:auto}
.g-nav{display:flex;align-items:center;gap:28px}
.g-nav__list{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.g-nav__list a{position:relative;color:#dfe5ee;text-decoration:none;font:600 .92rem/1 var(--hg-body);padding:8px 0}
.g-nav__list a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--hg-gold);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.g-nav__list a:hover::after,.g-nav__list .current-menu-item>a::after{transform:scaleX(1);transform-origin:left}
.g-nav__list .sub-menu{display:none}
.g-burger{display:none;width:48px;height:48px;border:1px solid var(--hg-line);border-radius:12px;background:rgba(255,255,255,.04);cursor:pointer;position:relative}
.g-burger span[aria-hidden],.g-burger span[aria-hidden]::before,.g-burger span[aria-hidden]::after{position:absolute;left:13px;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .3s var(--ease),opacity .2s;content:""}
.g-burger span[aria-hidden]{top:23px}.g-burger span[aria-hidden]::before{left:0;top:-7px}.g-burger span[aria-hidden]::after{left:0;top:7px}
.g-burger[aria-expanded="true"] span[aria-hidden]{background:transparent}
.g-burger[aria-expanded="true"] span[aria-hidden]::before{transform:translateY(7px) rotate(45deg)}
.g-burger[aria-expanded="true"] span[aria-hidden]::after{transform:translateY(-7px) rotate(-45deg)}
@media (max-width:980px){
  .g-burger{display:block}
  .g-nav{position:fixed;inset:var(--hdr) 0 0;flex-direction:column;align-items:stretch;gap:0;padding:24px 20px calc(24px + env(safe-area-inset-bottom));background:rgba(8,14,25,.97);backdrop-filter:blur(18px);transform:translateX(100%);visibility:hidden;transition:transform .45s var(--ease),visibility .45s;overflow-y:auto}
  .g-nav.is-open{transform:none;visibility:visible}
  .g-nav__list{flex-direction:column;gap:0}
  .g-nav__list a{display:block;padding:18px 4px;font:400 2rem/1 var(--hg-display);letter-spacing:.04em;border-bottom:1px solid var(--hg-line)}
  .g-nav__list a::after{display:none}
  .g-nav__cta{margin-top:24px}
  body.nav-open{overflow:hidden}
}

/* Hero */
.g-hero{position:relative;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--hdr) + 40px) 0 40px;overflow:hidden}
.g-hero__bg{position:absolute;inset:0;z-index:-1;background:#0a1220}
.g-hero__bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.g-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,13,22,.92) 0%,rgba(8,13,22,.74) 45%,rgba(8,13,22,.35) 100%),linear-gradient(180deg,rgba(8,13,22,.55) 0%,transparent 30%,transparent 70%,var(--hg-bg) 100%)}
@media (max-width:1023px){.g-hero__bg::after{background:linear-gradient(180deg,rgba(8,13,22,.7),rgba(8,13,22,.82) 60%,var(--hg-bg))}}
@supports (animation-timeline: scroll()){
  .g-hero__bg img{animation:g-settle linear both;animation-timeline:scroll(root);animation-range:0 100vh}
}
@keyframes g-settle{to{transform:scale(1.06) translateY(40px)}}
.g-hero__grid{display:grid;gap:48px;align-items:center;grid-template-columns:minmax(0,1fr)}
@media (min-width:1024px){.g-hero__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}}
.g-hero__title{font:400 clamp(3.2rem,8vw,6.4rem)/.9 var(--hg-display);letter-spacing:.005em;margin:0 0 22px;text-shadow:0 10px 40px rgba(0,0,0,.45)}
.g-hero__lede{max-width:56ch;margin:0 0 30px;font:400 clamp(1.05rem,1.6vw,1.22rem)/1.6 var(--hg-body);color:#c8d0dc}
.g-search{display:flex;align-items:center;gap:10px;max-width:640px;padding:8px 8px 8px 18px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.g-search svg{flex:none;width:22px;height:22px;fill:none;stroke:var(--hg-gold);stroke-width:2;stroke-linecap:round}
.g-search input{flex:1;min-width:0;min-height:48px;border:0;background:transparent;color:#fff;font:500 1.02rem var(--hg-body)}
.g-search input::placeholder{color:#8f9bae}.g-search input:focus{outline:none}
.g-search:focus-within{border-color:rgba(212,166,58,.7)}
.g-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.g-chips a{text-decoration:none}
.g-hero__stats{margin-top:56px;padding-top:28px;border-top:1px solid var(--hg-line)}
@media (max-width:600px){.g-search{flex-wrap:wrap;padding:12px}.g-search .g-btn{width:100%}}

/* Spotlight card with 3D tilt */
.g-spot{position:relative;display:block;border-radius:22px;overflow:hidden;text-decoration:none;color:#fff;aspect-ratio:4/5;max-height:600px;border:1px solid rgba(255,255,255,.14);box-shadow:0 50px 90px -40px rgba(0,0,0,.9),0 0 0 1px rgba(212,166,58,.15);transition:transform .3s var(--ease)}
.g-spot__media,.g-spot__media img,.g-spot .hge-card__ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.g-spot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(6,10,18,.92))}
.g-spot__body{position:absolute;z-index:1;inset:auto 0 0 0;display:flex;flex-direction:column;gap:10px;padding:26px}
.g-spot .hge-card__ph-word,.g-spot .hge-card__ph-type{display:none}
.g-spot__label{align-self:flex-start;padding:7px 11px;border-radius:999px;background:var(--hg-gold);color:var(--hg-gold-ink);font:700 .7rem/1 var(--hg-body);letter-spacing:.16em;text-transform:uppercase}
.g-count{display:flex;gap:8px;margin:4px 0 6px}
.g-count span{display:grid;place-items:center;min-width:60px;padding:10px 6px 8px;border-radius:12px;background:rgba(8,13,23,.55);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.g-count b{font:400 2rem/1 var(--hg-display);color:#fff;font-variant-numeric:tabular-nums}
.g-count i{font:700 .6rem/1 var(--hg-body);font-style:normal;letter-spacing:.18em;text-transform:uppercase;color:var(--hg-gold);margin-top:5px}
.g-spot__title{font:400 clamp(1.9rem,3vw,2.6rem)/.95 var(--hg-display);letter-spacing:.01em}
.g-spot__meta{color:#cfd6e1;font-weight:500}
.g-spot__go{font:700 .8rem/1 var(--hg-body);letter-spacing:.14em;text-transform:uppercase;color:var(--hg-gold)}
@media (max-width:1023px){.g-spot{aspect-ratio:16/10}}

/* Sections */
.g-sec{padding:clamp(70px,9vw,120px) 0}
.g-sec--tight{padding:clamp(48px,6vw,72px) 0 clamp(70px,8vw,110px)}
.g-sec--deep{padding:clamp(90px,12vw,170px) 0}
.g-sec--alt{background:linear-gradient(180deg,#0d1727,#0a1220);border-block:1px solid var(--hg-line)}
.g-sec__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px}
.g-rail-ctl{display:flex;gap:8px}
.g-rail-ctl button{width:48px;height:48px;border-radius:12px;border:1px solid var(--hg-line);background:var(--hg-surface);color:#fff;font-size:1.1rem;cursor:pointer;transition:border-color .2s,color .2s}
.g-rail-ctl button:hover{border-color:var(--hg-gold);color:var(--hg-gold)}
@media (max-width:700px){.g-rail-ctl{display:none}}

.g-tiles{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.g-tile{position:relative;display:flex;flex-direction:column;gap:12px;padding:28px;border-radius:18px;text-decoration:none;color:var(--hg-text);background:linear-gradient(160deg,var(--hg-surface-2),var(--hg-surface));border:1px solid var(--hg-line);overflow:hidden;transition:transform .45s var(--ease),border-color .3s}
.g-tile::before{content:"";position:absolute;inset:auto -30% -60% auto;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(212,166,58,.18),transparent 65%);transition:transform .6s var(--ease)}
.g-tile:hover{transform:translateY(-6px);border-color:rgba(212,166,58,.5)}.g-tile:hover::before{transform:scale(1.4)}
.g-tile h3{margin:0;font:400 2rem/1 var(--hg-display);letter-spacing:.02em}
.g-tile p{margin:0;color:var(--hg-muted)}
.g-tile .g-link{margin-top:auto}
.g-tile--support{background:linear-gradient(160deg,#2a1418,var(--hg-surface));border-color:rgba(192,51,59,.35)}

.g-cta{position:relative;isolation:isolate;padding:clamp(80px,10vw,140px) 0;text-align:center;overflow:hidden}
.g-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0e1a2d,#0a1220);border-top:1px solid var(--hg-line)}
.g-cta h2{font:400 clamp(2.4rem,5vw,4.2rem)/.95 var(--hg-display);margin:0 0 18px}
.g-cta p{color:#c8d0dc;font-size:1.15rem;margin:0 0 30px}
.g-cta__btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* Footer */
.g-footer{padding:70px 0 calc(28px + env(safe-area-inset-bottom));background:#070d18;border-top:1px solid var(--hg-line);color:var(--hg-muted);font-size:.95rem}
.g-footer__top{display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));padding-bottom:40px;border-bottom:1px solid var(--hg-line)}
.g-footer__brand p{max-width:40ch;margin:16px 0 0}
.g-footer__contact strong{color:#fff}.g-footer__contact p{margin:8px 0 0}
.g-footer__links,.g-footer .g-nav__list{display:grid;gap:12px;list-style:none;margin:0;padding:0}
.g-footer a{color:#cfd6e1;text-decoration:none}.g-footer a:hover{color:var(--hg-gold)}
.g-crisis{padding:20px;border-radius:14px;background:rgba(192,51,59,.1);border:1px solid rgba(192,51,59,.35)}
.g-crisis strong{color:#fff}.g-crisis p{margin:8px 0 0}.g-crisis a{color:#ffb3b7;font-weight:700}
.g-footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;font-size:.85rem}
.g-footer__base p{margin:0}

/* Generic pages */
.g-page__head{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:clamp(340px,52vh,520px);padding:calc(var(--hdr) + 70px) 0 48px;background:#0d1828;border-bottom:1px solid var(--hg-line)}
.g-page__head::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--g-hero,none) center 40%/cover no-repeat}
.g-page__head::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,13,22,.6) 0%,rgba(8,13,22,.55) 40%,rgba(8,13,22,.92) 100%)}

.has-overlay-header .g-page__head{padding-top:calc(var(--hdr) + 70px)}
body:not(.has-overlay-header) .g-page__head{padding-top:70px}
.g-page__lede{max-width:58ch;margin:16px 0 0;font:400 clamp(1.05rem,1.5vw,1.2rem)/1.55 var(--hg-body);color:#d3d9e2}
.g-page__title{font:400 clamp(3rem,8vw,6rem)/.9 var(--hg-display);margin:0}
.g-page__meta{color:var(--hg-muted)}
.g-page__body{padding:54px 0 90px}
.g-page__img{border-radius:18px;margin-bottom:32px}
.g-prose:has(.hge-pricing,.hge-form,.hge-done){max-width:none}
.g-prose{max-width:72ch;font-size:1.08rem;line-height:1.75;color:#d6dce6}
.g-prose h2,.g-prose h3{font-family:var(--hg-display);font-weight:400;letter-spacing:.02em;color:#fff;line-height:1}
.g-prose h2{font-size:2.4rem;margin:1.6em 0 .4em}.g-prose h3{font-size:1.8rem}
.g-prose .alignwide{max-width:none;width:min(1240px,100vw - 32px)}
.g-posts{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.g-post a{display:block;height:100%;padding-bottom:20px;border-radius:16px;overflow:hidden;background:var(--hg-surface);border:1px solid var(--hg-line);color:var(--hg-text);text-decoration:none;transition:transform .4s var(--ease)}
.g-post a:hover{transform:translateY(-4px)}.g-post img{aspect-ratio:16/9;object-fit:cover;width:100%}
.g-post h2,.g-post p,.g-post__date{margin:14px 20px 0}.g-post h2{font-size:1.2rem}.g-post p{color:var(--hg-muted)}
.g-post__date{display:block;font:600 .75rem var(--hg-body);letter-spacing:.14em;text-transform:uppercase;color:var(--hg-gold)}
.g-404{padding:calc(var(--hdr) + 90px) 0 120px}.g-404 .g-search{margin:30px 0}

/* Motion */
.hge-js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.hge-js [data-reveal].is-in{opacity:1;transform:none}
.g-hero [data-reveal]:nth-child(2){transition-delay:.08s}.g-hero [data-reveal]:nth-child(3){transition-delay:.16s}.g-hero [data-reveal]:nth-child(4){transition-delay:.24s}.g-hero [data-reveal]:nth-child(5){transition-delay:.32s}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hge-js [data-reveal]{opacity:1;transform:none}.g-spot{transform:none}}

/* Gold sponsor line under the hero, banner slot, partner organizations row */
.hge-presenting{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:22px;font:600 .72rem/1 var(--hg-body);letter-spacing:.14em;text-transform:uppercase;color:#aeb8c6}
.hge-presenting a{display:inline-flex;align-items:center;height:34px}.hge-presenting img{max-height:34px;width:auto;object-fit:contain}
.g-bannerwrap{padding:12px 0 36px}
.g-porgs{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px}
.g-porgs a{display:grid;place-items:center;width:150px;height:88px;padding:14px;border-radius:14px;background:#fff;text-decoration:none;color:#0a1220;font-weight:600;transition:transform .2s var(--ease)}
.g-porgs a:hover{transform:translateY(-2px)}.g-porgs img{max-width:100%;max-height:100%;object-fit:contain}
