/*
Theme Name: The Grand Jam - Salient Child
Theme URI: https://the-grand-jam.de
Description: Child theme of Salient implementing the "Stadium Anthem" design system from Stitch (project "Modern Website Redesign"). Dark, high-contrast stadium-rock design: Anton display type, Hanken Grotesk body, Stadium Orange #ff6b00 on obsidian #111415, glassmorphic surfaces and glow-state interactions.
Author: Divello
Template: salient
Version: 1.0.1
Text Domain: salient-child
*/
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/Anton-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/Anton-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/HankenGrotesk-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/HankenGrotesk-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/HankenGrotesk-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/HankenGrotesk-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Material Symbols Outlined';font-style:normal;font-weight:400;font-display:block;src:url(assets/fonts/MaterialSymbolsOutlined.woff2) format('woff2');}

/* ==========================================================================
   Stadium Anthem — design tokens
   ========================================================================== */
:root{
  --gj-surface:#111415;
  --gj-surface-lowest:#0c0f10;
  --gj-surface-low:#191c1d;
  --gj-surface-container:#1d2021;
  --gj-surface-high:#282a2b;
  --gj-surface-highest:#323536;
  --gj-on-surface:#e1e3e4;
  --gj-on-surface-variant:#e2bfb0;
  --gj-outline:#a98a7d;
  --gj-outline-variant:#5a4136;
  --gj-primary:#ffb693;
  --gj-primary-container:#ff6b00;
  --gj-on-primary-container:#572000;
  --gj-secondary:#c1c4e8;
  --gj-tertiary:#75d1ff;
  --gj-tertiary-container:#00a5d9;
  --gj-container-max:1440px;
  --gj-gutter:24px;
  --gj-margin:20px;
  --gj-stack-xl:120px;
  --gj-stack-md:64px;
  --gj-stack-sm:32px;
  --gj-radius:4px;
  --gj-radius-lg:8px;
  --gj-radius-xl:12px;
  --gj-glow:0 0 24px rgba(255,107,0,.4);
}
@media (min-width:1000px){ :root{ --gj-margin:80px; } }

/* ==========================================================================
   Base — dark canvas across the whole site
   ========================================================================== */
body.gj,
body.gj #ajax-content-wrap,
body.gj .container-wrap,
body.gj #footer-outer{ background-color:var(--gj-surface); color:var(--gj-on-surface); }
body.gj{ font-family:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; font-size:16px; line-height:24px; -webkit-font-smoothing:antialiased; }
body.gj ::selection{ background:var(--gj-primary-container); color:#fff; }
body.gj h1,body.gj h2,body.gj h3,body.gj h4,body.gj h5,body.gj h6{ color:var(--gj-on-surface); }
body.gj a{ color:var(--gj-primary); }
body.gj .gj-page a:hover{ color:var(--gj-primary-container); }

.gj-icon{ font-family:'Material Symbols Outlined'; font-weight:400; font-style:normal; line-height:1; letter-spacing:normal; text-transform:none; display:inline-block; white-space:nowrap; word-wrap:normal; direction:ltr; -webkit-font-feature-settings:'liga'; -webkit-font-smoothing:antialiased; }
.gj-icon--fill{ font-variation-settings:'FILL' 1; }

/* Typography scale */
.gj-display-xl,.gj-display-lg,.gj-headline-lg{ font-family:'Anton',Impact,sans-serif; font-weight:400; text-transform:uppercase; }
.gj-display-xl{ font-size:clamp(44px,9vw,120px); line-height:.92; letter-spacing:-.02em; }
.gj-display-lg{ font-size:clamp(36px,6.5vw,80px); line-height:1; letter-spacing:.01em; }
.gj-headline-lg{ font-size:clamp(30px,4vw,48px); line-height:1.08; letter-spacing:.02em; }
.gj-headline-md{ font-family:'Hanken Grotesk',sans-serif; font-weight:700; font-size:24px; line-height:32px; }
.gj-body-lg{ font-size:18px; line-height:28px; }
.gj-body-md{ font-size:16px; line-height:24px; }
.gj-label{ font-family:'Hanken Grotesk',sans-serif; font-weight:700; font-size:14px; line-height:20px; letter-spacing:.1em; text-transform:uppercase; }

/* Layout helpers */
.gj-page{ overflow-x:hidden; }
.gj-wrap{ max-width:var(--gj-container-max); margin:0 auto; padding-left:var(--gj-margin); padding-right:var(--gj-margin); }
.gj-section{ padding-top:var(--gj-stack-xl); padding-bottom:var(--gj-stack-xl); }
.gj-muted{ color:var(--gj-on-surface-variant); }
.gj-accent{ color:var(--gj-primary-container); }

/* Surfaces */
.gj-glass{ background:rgba(255,255,255,.05); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.1); }

/* Buttons */
.gj-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:'Hanken Grotesk',sans-serif; font-weight:700; font-size:18px; line-height:1; text-transform:uppercase; padding:18px 40px; border-radius:999px; border:2px solid transparent; text-decoration:none; transition:all .3s ease; cursor:pointer; }
.gj-btn--primary{ background:var(--gj-primary-container); color:#fff!important; box-shadow:var(--gj-glow); }
.gj-btn--primary:hover{ filter:brightness(1.1); transform:translateY(-1px); color:#fff!important; }
.gj-btn--ghost{ border-color:var(--gj-primary-container); color:var(--gj-primary-container)!important; }
.gj-btn--ghost:hover{ background:var(--gj-primary-container); color:#fff!important; }
.gj-btn--cyan{ background:var(--gj-tertiary-container); color:#fff!important; }
.gj-btn--cyan:hover{ background:var(--gj-tertiary); color:#003548!important; }
.gj-btn--light{ background:#fff; color:var(--gj-tertiary-container)!important; }
.gj-btn--light:hover{ background:var(--gj-surface-lowest); color:#fff!important; }
.gj-btn--sm{ font-size:14px; letter-spacing:.1em; padding:14px 28px; }
.gj-btn--block{ width:100%; }

/* ==========================================================================
   Salient header, restyled to the Stadium Anthem nav
   ========================================================================== */
body.gj #header-outer{ background-color:rgba(17,20,21,.8)!important; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border-bottom:1px solid rgba(255,255,255,.1); box-shadow:0 4px 20px rgba(0,0,0,.4); padding-top:0!important; }
body.gj #header-outer[data-transparent-header="true"]{ background-color:rgba(17,20,21,.8)!important; }
body.gj #header-outer #top{ padding:6px 0; }
body.gj #header-outer #top .container{ max-width:var(--gj-container-max); padding-left:var(--gj-margin); padding-right:var(--gj-margin); width:100%; }
body.gj #header-outer #logo,
body.gj #header-outer #logo:hover{ font-family:'Anton',Impact,sans-serif; font-size:22px; line-height:1; letter-spacing:-.01em; text-transform:uppercase; color:var(--gj-on-surface)!important; background:var(--gj-surface-highest); padding:10px 16px; border-radius:var(--gj-radius); }
body.gj #header-outer #top nav > ul > li > a{ font-family:'Hanken Grotesk',sans-serif!important; font-weight:700!important; font-size:14px!important; letter-spacing:.1em; text-transform:uppercase; color:var(--gj-on-surface)!important; padding-top:14px; padding-bottom:14px; }
body.gj #header-outer #top nav > ul > li > a:hover,
body.gj #header-outer #top nav > ul > li.current-menu-item > a{ color:var(--gj-primary)!important; }
body.gj #header-outer #top nav > ul > li.current-menu-item > a{ box-shadow:inset 0 -2px 0 var(--gj-primary-container); }
body.gj #header-outer .sf-menu li ul{ background:var(--gj-surface-container); border:1px solid rgba(255,255,255,.1); }
body.gj #header-outer .slide-out-widget-area-toggle a .lines-button:after,
body.gj #header-outer .slide-out-widget-area-toggle a .lines:before,
body.gj #header-outer .slide-out-widget-area-toggle a .lines:after,
body.gj #header-outer .slide-out-widget-area-toggle a .lines{ background-color:var(--gj-on-surface)!important; }
/* CTA menu item */
body.gj #header-outer #top nav > ul > li.gj-nav-cta > a{ background:var(--gj-primary-container); color:#fff!important; border-radius:999px; padding:12px 24px!important; margin-left:16px; box-shadow:var(--gj-glow); }
body.gj #header-outer #top nav > ul > li.gj-nav-cta > a:hover{ filter:brightness(1.1); color:#fff!important; }
body.gj #header-outer #top nav > ul > li.gj-nav-cta > a:after{ display:none!important; }
body.gj #header-secondary-outer{ display:none; }
body.gj #header-space{ background:var(--gj-surface); }
body.gj-front #header-space{ display:none; }
body.gj #slide-out-widget-area,
body.gj #slide-out-widget-area-bg{ background-color:var(--gj-surface-lowest)!important; }
body.gj #slide-out-widget-area .off-canvas-menu-container li a{ font-family:'Anton',Impact,sans-serif!important; text-transform:uppercase; color:var(--gj-on-surface)!important; }

/* ==========================================================================
   Hero
   ========================================================================== */
.gj-hero{ position:relative; display:flex; align-items:center; min-height:100vh; padding:160px 0 var(--gj-stack-md); overflow:hidden; }
.gj-hero__bg{ position:absolute; inset:0; z-index:0; }
.gj-hero__img{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:.6; }
.gj-hero__scrim{ position:absolute; inset:0; background:linear-gradient(to top,var(--gj-surface) 0%,rgba(17,20,21,.8) 45%,rgba(17,20,21,0) 100%),linear-gradient(to right,rgba(17,20,21,.9) 0%,rgba(17,20,21,.4) 45%,rgba(17,20,21,0) 100%); }
.gj-hero__inner{ position:relative; z-index:1; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--gj-stack-md); }
.gj-hero__copy{ flex:1 1 460px; }
.gj-hero__copy h1{ color:#fff; margin:0 0 24px; text-shadow:0 4px 24px rgba(0,0,0,.6); }
.gj-hero__actions{ display:flex; flex-wrap:wrap; gap:16px; margin-top:48px; }
.gj-hero__panel{ flex:0 1 420px; padding:32px; border-radius:var(--gj-radius-xl); }
.gj-hero__panel h2{ color:var(--gj-primary); margin:0 0 24px; }
.gj-dates{ list-style:none; margin:0; padding:0; }
.gj-dates li{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:16px; margin-bottom:24px; border-bottom:2px solid rgba(255,255,255,.1); }
.gj-dates li:last-child{ margin-bottom:0; }
.gj-dates__city{ display:block; color:#fff; font-family:'Hanken Grotesk',sans-serif; font-weight:700; font-size:18px; }
.gj-dates__venue{ color:var(--gj-on-surface-variant); font-size:16px; }
.gj-dates__date{ font-family:'Hanken Grotesk',sans-serif; font-weight:700; font-size:20px; color:var(--gj-primary-container); white-space:nowrap; }

/* ==========================================================================
   Bento grid
   ========================================================================== */
.gj-bento{ display:grid; grid-template-columns:repeat(1,minmax(0,1fr)); gap:var(--gj-gutter); }
@media (min-width:720px){ .gj-bento{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1100px){ .gj-bento{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.gj-card{ position:relative; display:flex; flex-direction:column; padding:32px; border-radius:var(--gj-radius-xl); overflow:hidden; transition:background .4s ease,border-color .4s ease; }
.gj-card:before{ content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,107,0,.2),transparent 60%); opacity:0; transition:opacity .5s ease; pointer-events:none; }
.gj-card:hover:before{ opacity:1; }
.gj-card--cyan:before{ background:linear-gradient(135deg,rgba(0,165,217,.2),transparent 60%); }
.gj-card .gj-icon{ font-size:36px; margin-bottom:24px; color:var(--gj-primary); position:relative; }
.gj-card--cyan .gj-icon{ color:var(--gj-tertiary); }
.gj-card--violet .gj-icon{ color:var(--gj-secondary); }
.gj-card h3{ margin:0 0 16px; color:#fff; position:relative; }
.gj-card p{ color:var(--gj-on-surface-variant); position:relative; margin:0 0 16px; }
.gj-card__note{ margin-top:auto; padding-top:24px; border-top:1px solid rgba(255,255,255,.1); position:relative; }
.gj-card__note p{ font-family:'Hanken Grotesk',sans-serif; font-weight:700; font-size:14px; line-height:20px; color:var(--gj-primary-container); margin:0; }
.gj-venue{ position:relative; margin:0 0 16px; }
.gj-venue strong{ display:block; color:#fff; font-size:18px; }
.gj-venue span{ color:var(--gj-on-surface-variant); font-size:14px; }
.gj-checklist{ list-style:none; margin:0 0 24px; padding:0; position:relative; }
.gj-checklist li{ display:flex; align-items:flex-start; gap:12px; margin-bottom:12px; color:var(--gj-on-surface-variant); }
.gj-checklist .gj-icon{ font-size:20px; margin:0; color:var(--gj-primary-container); }

/* ==========================================================================
   Parallax band
   ========================================================================== */
.gj-band{ position:relative; display:flex; align-items:center; justify-content:center; min-height:70vh; background-attachment:fixed; background-size:cover; background-position:center; text-align:center; overflow:hidden; }
.gj-band__scrim{ position:absolute; inset:0; background:linear-gradient(to bottom,var(--gj-surface),rgba(17,20,21,.35),var(--gj-surface)); }
.gj-band__inner{ position:relative; z-index:1; padding:var(--gj-stack-xl) var(--gj-margin); }
.gj-band__inner h2{ color:#fff; margin:0; }
.gj-band__inner h2 span{ display:block; color:var(--gj-primary-container); }
.gj-play{ display:inline-flex; align-items:center; justify-content:center; width:96px; height:96px; margin-top:40px; border-radius:999px; border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.1); backdrop-filter:blur(8px); color:#fff; transition:all .3s ease; }
.gj-play:hover{ background:rgba(255,255,255,.2); transform:scale(1.1); color:var(--gj-primary-container); }
.gj-play .gj-icon{ font-size:48px; }

/* ==========================================================================
   Action grid
   ========================================================================== */
.gj-action{ display:flex; flex-wrap:wrap; gap:var(--gj-stack-md); }
.gj-action__lead{ flex:1 1 300px; }
.gj-action__lead h2{ color:#fff; margin:0 0 32px; }
.gj-action__buttons{ display:flex; flex-direction:column; gap:16px; }
.gj-action__grid{ flex:2 1 520px; display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:24px; }
.gj-tile{ position:relative; display:flex; flex-direction:column; padding:32px; border-radius:var(--gj-radius-xl); text-decoration:none; overflow:hidden; transition:background .3s ease; }
.gj-tile:hover{ background:rgba(40,42,43,.5); }
.gj-tile .gj-icon{ font-size:36px; color:var(--gj-on-surface-variant); margin-bottom:16px; transition:color .3s ease; }
.gj-tile:hover .gj-icon{ color:var(--gj-primary-container); }
.gj-tile h3{ font-family:'Hanken Grotesk',sans-serif; font-weight:700; font-size:18px; color:#fff; margin:0 0 8px; }
.gj-tile p{ font-size:14px; line-height:20px; color:var(--gj-on-surface-variant); margin:0 0 16px; }
.gj-tile__badge{ position:absolute; top:0; right:0; background:var(--gj-primary-container); color:#fff; font-size:12px; font-weight:700; padding:4px 12px; border-bottom-left-radius:var(--gj-radius-lg); }
.gj-tile__more{ margin-top:auto; display:inline-flex; align-items:center; gap:6px; color:var(--gj-primary-container); font-weight:700; font-size:14px; letter-spacing:.05em; text-transform:uppercase; }
.gj-tile__more .gj-icon{ font-size:16px; margin:0; color:inherit; }

/* ==========================================================================
   App CTA, sponsors, bottom banner
   ========================================================================== */
.gj-app{ border-top:1px solid rgba(255,255,255,.1); }
.gj-app__panel{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:48px; padding:48px; border-radius:16px; background:linear-gradient(to right,var(--gj-surface-lowest),var(--gj-surface-low)); border:1px solid rgba(255,255,255,.1); }
.gj-app__copy{ flex:1 1 380px; }
.gj-app__copy h2{ color:#fff; margin:0 0 16px; }
.gj-app__copy p{ color:var(--gj-on-surface-variant); font-size:18px; line-height:28px; margin:0 0 32px; }
.gj-store{ display:flex; flex-wrap:wrap; gap:16px; }
.gj-store a{ display:flex; align-items:center; gap:12px; padding:12px 24px; border-radius:var(--gj-radius-lg); background:var(--gj-surface-highest); border:1px solid rgba(255,255,255,.2); color:#fff!important; text-decoration:none; transition:border-color .3s ease; }
.gj-store a:hover{ border-color:rgba(255,255,255,.5); }
.gj-store .gj-icon{ font-size:28px; }
.gj-store small{ display:block; font-size:10px; text-transform:uppercase; color:var(--gj-on-surface-variant); }
.gj-store strong{ display:block; font-weight:700; }
.gj-app__shot{ flex:0 1 380px; height:320px; border-radius:var(--gj-radius-xl); background-size:cover; background-position:center; box-shadow:0 25px 50px -12px rgba(0,0,0,.7); transform:rotate(2deg); transition:transform .5s ease; }
.gj-app__shot:hover{ transform:rotate(0); }

.gj-sponsors{ padding:48px 0; background:var(--gj-surface-lowest); border-top:1px solid rgba(255,255,255,.05); border-bottom:1px solid rgba(255,255,255,.05); }
.gj-sponsors__inner{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:48px; opacity:.5; filter:grayscale(1); transition:all .5s ease; }
.gj-sponsors__inner:hover{ opacity:1; filter:grayscale(0); }
.gj-sponsors span.gj-sponsor{ display:inline-flex; align-items:center; gap:8px; font-family:'Anton',Impact,sans-serif; font-size:24px; text-transform:uppercase; letter-spacing:.15em; }

.gj-banner{ background:var(--gj-tertiary-container); padding:48px var(--gj-margin); text-align:center; }
.gj-banner h2{ color:#fff; margin:0 0 24px; }

/* ==========================================================================
   Footer (custom, injected into Salient's #footer-outer)
   ========================================================================== */
body.gj #footer-outer #footer-widgets,
body.gj #footer-outer #copyright,
body.gj #footer-outer .row.footer-widget{ display:none!important; }
body.gj #footer-outer{ border-top:4px solid var(--gj-primary); background:var(--gj-surface-lowest)!important; padding:0; }
.gj-footer{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--gj-gutter); max-width:var(--gj-container-max); margin:0 auto; padding:var(--gj-stack-sm) var(--gj-margin); }
.gj-footer__brand{ font-family:'Anton',Impact,sans-serif; font-size:24px; text-transform:uppercase; color:var(--gj-on-surface); }
.gj-footer__links{ display:flex; flex-wrap:wrap; justify-content:center; gap:24px; list-style:none; margin:0; padding:0; }
.gj-footer__links a{ color:var(--gj-on-surface-variant)!important; text-decoration:none; }
.gj-footer__links a:hover{ color:var(--gj-primary)!important; }
.gj-footer__meta{ display:flex; flex-direction:column; align-items:flex-end; gap:16px; }
.gj-footer__social{ display:flex; gap:16px; }
.gj-footer__social a{ color:var(--gj-on-surface-variant)!important; }
.gj-footer__social a:hover{ color:var(--gj-primary)!important; }
.gj-footer__copy{ font-size:14px; color:var(--gj-on-surface-variant); }
@media (max-width:768px){ .gj-footer{ justify-content:center; text-align:center; } .gj-footer__meta{ align-items:center; } }

/* ==========================================================================
   Members area — landing
   ========================================================================== */
.gj-members-hero{ position:relative; display:flex; align-items:center; justify-content:center; min-height:88vh; padding:160px 0 var(--gj-stack-md); text-align:center; overflow:hidden; }
.gj-members-hero__img{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:.4; }
.gj-members-hero__scrim{ position:absolute; inset:0; background:radial-gradient(ellipse at 50% 40%,rgba(255,107,0,.18),transparent 60%),linear-gradient(to bottom,rgba(17,20,21,.7),var(--gj-surface)); }
.gj-members-hero__inner{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; }
.gj-pill{ display:inline-block; background:var(--gj-tertiary); color:#003649; padding:6px 16px; border-radius:var(--gj-radius); border:1px solid rgba(117,209,255,.5); box-shadow:0 0 10px rgba(117,209,255,.3); margin-bottom:24px; }
.gj-members-hero h1{ max-width:900px; margin:0 0 var(--gj-stack-sm); color:var(--gj-on-surface); }
.gj-members-hero p{ max-width:640px; margin:0 0 var(--gj-stack-md); color:var(--gj-on-surface-variant); font-size:18px; line-height:28px; }

.gj-section-head{ margin-bottom:var(--gj-stack-md); max-width:66%; }
@media (max-width:768px){ .gj-section-head{ max-width:100%; } }
.gj-section-head h2{ margin:0 0 16px; color:var(--gj-on-surface); }
.gj-rule{ height:4px; width:96px; background:var(--gj-primary-container); box-shadow:var(--gj-glow); }

.gj-perks{ display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:var(--gj-gutter); }
.gj-perks > *{ grid-column:span 12; min-height:320px; }
@media (min-width:900px){
  .gj-perk--wide{ grid-column:span 8; }
  .gj-perk--narrow{ grid-column:span 4; }
}
.gj-perk{ position:relative; border-radius:var(--gj-radius-xl); overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; padding:32px; }
.gj-perk__img{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:.6; transition:transform .7s ease; }
.gj-perk:hover .gj-perk__img{ transform:scale(1.05); }
.gj-perk__scrim{ position:absolute; inset:0; background:linear-gradient(to top,var(--gj-surface-lowest),rgba(12,15,16,.8) 50%,transparent); }
.gj-perk__body{ position:relative; z-index:1; max-width:560px; }
.gj-perk__icon{ display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:999px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); backdrop-filter:blur(12px); color:var(--gj-primary); margin-bottom:16px; }
.gj-perk__icon .gj-icon{ font-size:28px; }
.gj-perk h3{ margin:0 0 8px; color:var(--gj-on-surface); }
.gj-perk p{ color:var(--gj-on-surface-variant); margin:0 0 24px; }
.gj-perk--vip{ border-top:4px solid var(--gj-primary-container); justify-content:space-between; }
.gj-perk__top{ position:relative; z-index:1; display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:32px; }
.gj-perk__top .gj-icon{ font-size:44px; color:var(--gj-tertiary); filter:drop-shadow(0 0 10px rgba(117,209,255,.5)); }
.gj-tag{ background:var(--gj-surface-highest); color:var(--gj-on-surface); padding:4px 12px; border-radius:999px; font-family:'Hanken Grotesk',sans-serif; font-weight:700; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.gj-cta-strip{ text-align:center; padding:var(--gj-stack-xl) var(--gj-margin); border-top:1px solid rgba(255,255,255,.1); }
.gj-cta-strip h2{ margin:0 0 32px; color:var(--gj-on-surface); }

/* ==========================================================================
   Signup — split screen
   ========================================================================== */
body.gj-signup #header-space{ display:none; }
.gj-split{ display:flex; flex-wrap:wrap; min-height:100vh; }
.gj-split__visual{ position:relative; flex:1 1 480px; min-height:420px; }
.gj-split__img{ position:absolute; inset:0; background-size:cover; background-position:center; }
.gj-split__scrim{ position:absolute; inset:0; background:linear-gradient(to top,var(--gj-surface),rgba(17,20,21,.2)); }
@media (min-width:900px){ .gj-split__scrim{ background:linear-gradient(to right,rgba(17,20,21,.15),var(--gj-surface)); } }
.gj-split__caption{ position:absolute; left:0; bottom:0; z-index:1; padding:var(--gj-margin); width:100%; }
.gj-split__caption h2{ margin:0 0 16px; color:var(--gj-on-surface); text-shadow:0 6px 24px rgba(0,0,0,.6); }
.gj-split__caption p{ color:var(--gj-on-surface-variant); font-size:18px; line-height:28px; max-width:24rem; margin:0; }
.gj-split__form{ flex:1 1 480px; display:flex; align-items:center; justify-content:center; padding:var(--gj-margin); padding-top:140px; padding-bottom:80px; }
.gj-form-card{ width:100%; max-width:480px; padding:32px; border-radius:var(--gj-radius-xl); }
.gj-form-card > h1{ color:var(--gj-primary-container); text-align:center; margin:0 0 var(--gj-stack-sm); }
.gj-field{ margin-bottom:24px; }
.gj-field label,.gj-fieldset > legend{ display:block; font-family:'Hanken Grotesk',sans-serif; font-weight:700; font-size:14px; letter-spacing:.1em; text-transform:uppercase; color:var(--gj-on-surface-variant); margin-bottom:8px; padding:0; }
.gj-field input[type=text],.gj-field input[type=email],.gj-field select{ width:100%; background:var(--gj-surface-highest)!important; border:1px solid var(--gj-outline)!important; color:var(--gj-on-surface)!important; border-radius:var(--gj-radius-lg); padding:14px 16px; font-family:'Hanken Grotesk',sans-serif; font-size:16px; transition:all .3s ease; appearance:none; -webkit-appearance:none; }
.gj-field input::placeholder{ color:rgba(226,191,176,.5); }
.gj-field input:focus,.gj-field select:focus{ outline:none; border-color:var(--gj-primary-container)!important; box-shadow:0 0 0 2px rgba(255,107,0,.35); }
.gj-select{ position:relative; }
.gj-select .gj-icon{ position:absolute; right:16px; top:50%; transform:translateY(-50%); pointer-events:none; color:var(--gj-on-surface); }
.gj-fieldset{ border:0; margin:0 0 24px; padding:0; }
.gj-levels{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.gj-levels label{ cursor:pointer; margin:0; }
.gj-levels input{ position:absolute; width:1px; height:1px; opacity:0; }
.gj-levels span{ display:block; text-align:center; padding:14px 8px; border:1px solid var(--gj-outline); border-radius:var(--gj-radius-lg); color:var(--gj-on-surface-variant); font-family:'Hanken Grotesk',sans-serif; font-size:16px; letter-spacing:0; text-transform:none; font-weight:400; transition:all .2s ease; }
.gj-levels label:hover span{ background:var(--gj-surface-highest); }
.gj-levels input:checked + span{ background:var(--gj-primary-container); border-color:var(--gj-primary-container); color:#fff; }
.gj-form-foot{ text-align:center; margin-top:24px; font-size:14px; color:var(--gj-on-surface-variant); }
.gj-form-foot a{ color:var(--gj-primary-container); font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.gj-form-note{ font-size:12px; line-height:18px; color:var(--gj-on-surface-variant); margin:16px 0 0; }
.gj-alert{ padding:14px 16px; border-radius:var(--gj-radius-lg); margin-bottom:24px; font-size:14px; }
.gj-alert--ok{ background:rgba(0,165,217,.15); border:1px solid var(--gj-tertiary-container); color:var(--gj-tertiary); }
.gj-alert--error{ background:rgba(147,0,10,.25); border:1px solid #ffb4ab; color:#ffb4ab; }

/* ==========================================================================
   Inner pages (default Salient page template on the dark canvas)
   ========================================================================== */
body.gj .container-wrap{ padding-top:var(--gj-stack-md); padding-bottom:var(--gj-stack-xl); }
body.gj .main-content p{ color:var(--gj-on-surface-variant); font-size:18px; line-height:28px; }
body.gj .main-content h1,body.gj .main-content h2{ font-family:'Anton',Impact,sans-serif; text-transform:uppercase; letter-spacing:.02em; }
body.gj .main-content ul{ color:var(--gj-on-surface-variant); }
body.gj #page-header-bg,body.gj .page-header-no-bg{ background-color:var(--gj-surface-low)!important; }
body.gj #page-header-bg h1,body.gj .page-header-no-bg h1{ font-family:'Anton',Impact,sans-serif!important; text-transform:uppercase; color:#fff!important; }

/* ==========================================================================
   Overrides for Salient's own form/button styling
   ========================================================================== */
.gj-page button.gj-btn,
.gj-page a.gj-btn,
.gj-page input.gj-btn{ background-image:none!important; box-shadow:none; text-shadow:none; letter-spacing:.03em; }
.gj-page button.gj-btn--primary,
.gj-page a.gj-btn--primary{ background-color:var(--gj-primary-container)!important; color:#fff!important; border-radius:999px!important; box-shadow:var(--gj-glow)!important; }
.gj-page button.gj-btn--primary:hover,
.gj-page a.gj-btn--primary:hover{ background-color:var(--gj-primary-container)!important; filter:brightness(1.1); }
.gj-page a.gj-btn--cyan{ background-color:var(--gj-tertiary-container)!important; color:#fff!important; border-radius:999px!important; }
.gj-page a.gj-btn--light{ background-color:#fff!important; color:var(--gj-tertiary-container)!important; border-radius:999px!important; }
.gj-page a.gj-btn--ghost{ background-color:transparent!important; border-radius:999px!important; }
.gj-page a.gj-btn--ghost:hover{ background-color:var(--gj-primary-container)!important; }
.gj-page .gj-btn--block{ width:100%!important; display:flex!important; }
.gj-page .gj-btn .gj-icon{ font-size:20px; }

/* Salient adds its own input chrome; the signup form keeps the design system */
body.gj-signup .gj-field input,
body.gj-signup .gj-field select{ box-shadow:none!important; height:auto!important; margin:0!important; }
body.gj-signup .gj-levels span{ box-shadow:none!important; }

/* Slightly deeper scrim so the signup headline keeps its contrast */
.gj-split__scrim{ background:linear-gradient(to top,var(--gj-surface),rgba(17,20,21,.45)); }
@media (min-width:900px){ .gj-split__scrim{ background:linear-gradient(to right,rgba(17,20,21,.4),rgba(17,20,21,.65) 55%,var(--gj-surface)); } }

/* Fixed backgrounds misbehave on touch devices */
@media (max-width:1000px){ .gj-band{ background-attachment:scroll; min-height:52vh; } }
@media (max-width:899px){ .gj-split__form{ padding-top:48px; } .gj-split__visual{ min-height:340px; } }
