/* Website author: Anna Nicole Mercer */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap');

:root{
  --navy:#142a50;
  --navy-deep:#07162d;
  --navy-mid:#1b3764;
  --blue:#4d92dc;
  --blue-bright:#69a3f3;
  --ice:#d7e3f0;
  --paper:#f5f8fb;
  --line:#b7cce6;
  --ink:#101722;
  --muted:#53657a;
  --cyan:#86d9ff;
  --danger:#ef5a64;
  --white:#fff;
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:"Inter",Arial,sans-serif;
  line-height:1.5;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}

.site-header{
  background:var(--navy);
  color:white;
  position:sticky;
  top:0;
  z-index:30;
  border-bottom:1px solid rgba(255,255,255,.03);
}
.navbar{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.brand{
  font-family:"Oswald",Impact,sans-serif;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:23px;
  font-weight:700;
  white-space:nowrap;
}
.brand span{color:var(--blue)}
.nav{
  display:flex;
  align-items:center;
  gap:34px;
  list-style:none;
  margin:0;
  padding:0;
}
.nav a{
  font-family:"Oswald",Impact,sans-serif;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:13px;
  font-weight:600;
  color:#fff;
  opacity:.88;
  padding:28px 0 22px;
  border-bottom:2px solid transparent;
}
.nav a:hover,.nav a.active{color:var(--cyan);border-bottom-color:var(--cyan)}

.hero{
  color:white;
  background:
    linear-gradient(90deg,var(--navy) 0 66.7%,#203f70 66.7% 100%);
  border-bottom:3px solid var(--blue);
}
.hero-grid{
  min-height:465px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:54px 0;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--cyan);
  border:1px solid rgba(134,217,255,.45);
  padding:6px 12px;
  font-family:"Oswald",Impact,sans-serif;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:600;
  font-size:12px;
  margin-bottom:22px;
}
.eyebrow.flat{border:0;padding:0}
.hero h1,.page-hero h1{
  margin:0;
  font-family:"Oswald",Impact,sans-serif;
  font-weight:700;
  letter-spacing:.01em;
  line-height:.93;
  font-size:clamp(58px,8vw,112px);
}
.hero h1 span{display:block;color:var(--blue)}
.hero p{
  max-width:690px;
  font-size:18px;
  margin:26px 0 0;
  color:#f6f8fb;
}
.page-hero{
  background:
    linear-gradient(rgba(20,42,80,.94),rgba(20,42,80,.94)),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:auto,54px 54px,54px 54px;
  color:white;
  border-bottom:3px solid var(--blue);
}
.page-hero .inner{padding:70px 0 76px}
.page-hero h1{font-size:clamp(52px,6.5vw,88px);line-height:1}
.page-hero p{font-size:20px;color:#d8e2ee;max-width:780px;margin:22px 0 0}

.section{padding:70px 0}
.section.white{background:white}
.section.light{background:#eef3f8}
.section.navy{background:var(--navy);color:white}
.section.deep{background:var(--navy-deep);color:white}
.section.blue{background:var(--blue);color:white}
.section h2{
  margin:0 0 18px;
  font:700 clamp(34px,4vw,54px)/1 "Oswald",Impact,sans-serif;
}
.kicker{
  color:var(--blue);
  font-family:"Oswald",Impact,sans-serif;
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:12px;
  font-weight:700;
  margin-bottom:14px;
}
.navy .kicker,.deep .kicker,.blue .kicker{color:var(--cyan)}
.section p{max-width:760px;color:var(--muted)}
.section.navy p,.section.deep p,.section.blue p{color:#e5edf6}
.divider-stars{
  background:#c9d6e5;
  text-align:center;
  color:var(--blue);
  padding:18px;
  letter-spacing:24px;
  font-size:21px;
}
.divider-stars.dark{background:var(--navy-deep)}

.posts{
  background:white;
  padding:105px 0 120px;
}
.post-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.card{
  background:white;
  border:1px solid var(--line);
  border-radius:7px;
  padding:20px;
  min-height:260px;
  display:flex;
  flex-direction:column;
}
.card .date{font-size:11px;color:#66768a;margin-bottom:16px}
.card h3{font:700 19px/1.25 "Oswald",Impact,sans-serif;margin:0 0 12px}
.card p{font-size:12px;color:#5b6778;margin:0 0 22px}
.card .btn{margin-top:auto}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:var(--blue);
  color:white;
  padding:13px 22px;
  min-height:48px;
  border:1px solid var(--blue);
  border-radius:2px;
  font:600 13px/1 "Oswald",Impact,sans-serif;
  text-transform:uppercase;
  letter-spacing:.12em;
  cursor:pointer;
  transition:.18s ease;
}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn.ghost{background:transparent;border-color:#82b9f2;color:#bfe8ff}
.btn.white{background:white;color:var(--navy-deep);border-color:white}
.btn.outline{background:transparent;color:var(--blue);border-color:var(--blue)}

.cta-strip{
  background:#69a1ee;
  color:#07162d;
  padding:28px 0;
}
.cta-strip .row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.cta-strip h3{margin:0;font:700 28px/1 "Oswald",Impact,sans-serif;text-transform:uppercase}
.cta-strip p{margin:8px 0 0}

.footer{
  background:var(--navy-deep);
  color:#78a4c9;
  padding:48px 0 60px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.1fr .7fr 1fr;
  gap:48px;
  align-items:start;
}
.quote{font-style:italic;color:#9cddf2;max-width:330px}
.footer h4{
  color:#83d6f7;
  font:600 11px/1 "Oswald",Impact,sans-serif;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.footer ul{list-style:none;margin:16px 0 0;padding:0}
.footer li{margin:8px 0}

.content-grid{
  display:grid;
  grid-template-columns:2.1fr .9fr;
  gap:46px;
  align-items:start;
}
.contact-form,.rep-form{
  display:grid;
  gap:16px;
}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
input,select,textarea{
  width:100%;
  border:1px solid #9cb8da;
  background:white;
  padding:16px 17px;
  font:16px/1.25 "Inter",Arial,sans-serif;
  color:#26364c;
  outline:none;
}
textarea{min-height:190px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(77,146,220,.14)}
.side-card{
  background:#fff;
  border-top:4px solid var(--blue);
  box-shadow:0 1px 8px rgba(12,35,66,.06);
  padding:26px 28px;
}
.side-card h3{font:700 24px/1 "Oswald",Impact,sans-serif;margin:0 0 16px}

.campaign-card{
  background:white;
  border-top:4px solid var(--blue);
  padding:48px;
  box-shadow:0 1px 5px rgba(10,20,40,.04);
}
.status{
  display:inline-flex;
  align-items:center;
  color:#087a38;
  border:1px solid #6fd596;
  background:#effcf3;
  padding:5px 10px;
  font:700 11px/1 "Oswald",Impact,sans-serif;
  text-transform:uppercase;
  letter-spacing:.14em;
  animation:gtsActivePulse 1.35s ease-in-out infinite;
}
.status:before{content:"";width:7px;height:7px;background:#12a84f;border-radius:50%;margin-right:8px;box-shadow:0 0 0 0 rgba(18,168,79,.55);animation:gtsActiveLight 1.35s ease-out infinite}
@keyframes gtsActivePulse{0%,100%{background:#effcf3}50%{background:#c9f4d8}}
@keyframes gtsActiveLight{0%{opacity:1;box-shadow:0 0 0 0 rgba(18,168,79,.6)}70%{opacity:.75;box-shadow:0 0 0 7px rgba(18,168,79,0)}100%{opacity:1;box-shadow:0 0 0 0 rgba(18,168,79,0)}}
@media (prefers-reduced-motion:reduce){.status,.status:before{animation:none}}
.campaign-card h2{font-size:36px;margin-top:20px}
.note{
  border-left:3px solid var(--blue);
  padding:2px 0 2px 16px;
  color:#53657a;
  margin:22px 0 26px;
}

.shop-hero{text-align:center}
.shop-hero .inner{align-items:center}
.product-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.product-card{background:white;border:1px solid var(--line);display:flex;flex-direction:column}
.product-media{
  aspect-ratio:1/1;
  background:#e8eef5;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.product-media .placeholder{
  width:76%;height:76%;
  border:2px dashed #a9bed8;
  display:grid;place-items:center;
  color:#6b7f98;
  text-align:center;
  padding:20px;
  font-family:"Oswald",Impact,sans-serif;
  text-transform:uppercase;
}
.product-body{padding:22px}
.product-body h3{font:700 20px/1.25 "Oswald",Impact,sans-serif;margin:0 0 10px}
.product-body p{margin:0 0 16px;font-size:14px;color:#59697a}
.text-link{color:var(--blue);font:600 12px "Oswald",Impact,sans-serif;text-transform:uppercase;letter-spacing:.06em}

.rep-shell{
  background:#eaf1f8;
  border-top:1px solid #d7e3ef;
  padding:70px 0;
}
.rep-card{
  background:white;
  border-top:4px solid var(--blue);
  padding:40px;
  max-width:900px;
  margin:0 auto;
  box-shadow:0 8px 30px rgba(13,38,73,.08);
}
.rep-card h2{margin:0 0 8px;font:700 42px/1.1 "Oswald",Impact,sans-serif}
.rep-card .lead{color:#5d6b7a;margin:0 0 28px}
.form-help{font-size:12px;color:#6b7888;margin-top:-8px}
.form-actions{display:flex;gap:12px;flex-wrap:wrap}
.notice{
  margin-top:18px;
  padding:14px 16px;
  background:#f5f8fb;
  border-left:3px solid var(--blue);
  color:#55687c;
  font-size:13px;
}
.success{
  display:none;
  margin-top:15px;
  padding:14px 16px;
  background:#edf8f0;
  border:1px solid #abd4b5;
  color:#235f35;
}

.hero-about{
  background:linear-gradient(90deg,var(--navy) 0 51%,#203f70 51%);
}
.hero-about .hero-grid{min-height:465px}
.hero-about h1{font-size:clamp(60px,7.4vw,96px)}
.hero-about p{color:#8bd9fa}

@media(max-width:900px){
  .nav{gap:16px}
  .post-grid,.product-grid{grid-template-columns:repeat(2,1fr)}
  .content-grid,.footer-grid{grid-template-columns:1fr}
  .hero{background:var(--navy)}
}
@media(max-width:680px){
  .navbar{align-items:flex-start;flex-direction:column;padding:17px 0 10px}
  .nav{width:100%;overflow:auto;gap:22px}
  .nav a{padding:6px 0 12px}
  .hero-grid{min-height:420px}
  .post-grid,.product-grid,.two-col{grid-template-columns:1fr}
  .campaign-card,.rep-card{padding:28px 22px}
  .cta-strip .row{align-items:flex-start;flex-direction:column}
}


/* ===== V2 refinements ===== */
.home-compact .hero-grid{min-height:390px;padding:42px 0 46px}
.home-compact .hero p{margin-top:20px}
.home-compact .posts{padding:58px 0 68px}
.home-compact .card{min-height:235px}

.home-intro-strip{
  background:#edf3f9;
  border-top:1px solid #d5e2ef;
  border-bottom:1px solid #d5e2ef;
  padding:34px 0;
}
.home-intro-grid{
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr;
  gap:28px;
}
.home-intro-grid h3{
  margin:0 0 8px;
  font:700 22px/1.05 "Oswald",Impact,sans-serif;
}
.home-intro-grid p{margin:0;color:#596a7d;font-size:14px}
.page-hero.compact .inner{padding:58px 0 62px}

.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.partner-card{
  background:#fff;
  border:1px solid var(--line);
  border-top:4px solid var(--blue);
  padding:28px;
  min-height:230px;
  display:flex;
  flex-direction:column;
}
.partner-logo{
  min-height:64px;
  display:flex;
  align-items:center;
  margin-bottom:18px;
  font:700 22px/1 "Oswald",Impact,sans-serif;
  color:var(--navy);
}
.partner-card h3{margin:0 0 10px;font:700 24px/1.1 "Oswald",Impact,sans-serif}
.partner-card p{margin:0 0 18px;color:#5a6b7d;font-size:14px}
.partner-card .text-link{margin-top:auto}

.social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.social-card{
  background:#fff;
  border:1px solid var(--line);
  padding:26px;
  display:flex;
  flex-direction:column;
  min-height:205px;
}
.social-card .social-icon{font-size:28px;margin-bottom:14px}
.social-card h3{margin:0 0 8px;font:700 24px/1.1 "Oswald",Impact,sans-serif}
.social-card p{margin:0 0 18px;color:#5b6d80;font-size:14px}
.social-card .btn{margin-top:auto;align-self:flex-start}

@media(max-width:1080px){
  .navbar{align-items:flex-start;flex-direction:column;padding:16px 0 10px}
  .nav{width:100%;overflow-x:auto;gap:24px}
  .nav a{padding:5px 0 12px;white-space:nowrap}
}
@media(max-width:900px){
  .partner-grid,.social-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .home-intro-grid,.partner-grid,.social-grid{grid-template-columns:1fr}
}




/* ===== Footer layout: quote left, legal links right, copyright centered ===== */
.footer{
  background:var(--navy-deep);
  color:#8fb0cf;
  padding:36px 0 18px;
}

.footer .container{
  position:relative;
}

.footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:48px;
  align-items:start;
}

.footer-left{
  text-align:left;
}

.footer-left .quote{
  margin:0;
  max-width:430px;
  color:#9cddf2;
  font-style:italic;
  line-height:1.55;
}

.footer-left .quote-credit{
  margin:10px 0 0;
  color:#82a6c7;
}

.rbg-clover{
  display:inline-block;
  margin-left:4px;
  color:#d62828;
  font-size: 10pt;
  line-height:1;
  vertical-align:middle;
}

.footer-legal{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  padding-top:1px;
  white-space:nowrap;
}

.footer-legal a,
.footer-cookie-link{
  appearance:none;
  border:0;
  background:none;
  padding:0;
  margin:0;
  color:#8fb0cf;
  font:inherit;
  font-size:13px;
  line-height:1.4;
  text-decoration:none;
  cursor:pointer;
}

.footer-legal a:hover,
.footer-cookie-link:hover{
  color:#bfe8ff;
  text-decoration:underline;
  text-underline-offset:3px;
}

.footer-bullet{
  color:#d62828;
  font-size:11px;
  line-height:1;
}

.footer-bottom{
  width:100%;
  margin-top:30px;
  padding-top:15px;
  border-top:1px solid rgba(143,176,207,.16);
  text-align:center;
  color:#6f93b4;
  font-size:12px;
}

@media(max-width:760px){
  .footer-grid{
    grid-template-columns:1fr;
    gap:22px;
  }

  .footer-legal{
    justify-content:flex-start;
    white-space:normal;
  }

  .footer-bottom{
    margin-top:24px;
  }
}


/* ===== Homepage: Organize / Build Coalition / Show Up ===== */
.home-intro-strip{
  padding:42px 0 44px;
}

.home-intro-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:38px;
  align-items:start;
}

.home-intro-item{
  text-align:left;
}

.home-intro-grid h3{
  margin:0 0 14px;
  font:700 29px/1.05 "Oswald",Impact,sans-serif;
  color:var(--navy-deep);
  letter-spacing:.01em;
}

.home-intro-grid p{
  margin:0;
  color:#455a71;
  font-size:15.5px;
  line-height:1.68;
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
}

@media(max-width:900px){
  .home-intro-grid{
    gap:28px;
  }
}

@media(max-width:680px){
  .home-intro-strip{
    padding:34px 0 36px;
  }
  .home-intro-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .home-intro-grid p{
    text-align:left;
  }
}


/* ===== Live Substack feed on homepage ===== */
.substack-posts{
  padding:46px 0 0 !important;
  background:#fff;
}

.substack-feed-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:26px;
}

.substack-feed-heading h2{
  margin:0;
  font:700 36px/1 "Oswald",Impact,sans-serif;
  color:var(--navy-deep);
}

.substack-feed-heading .kicker{
  margin-bottom:8px;
}

.substack-posts .post-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin:0;
  padding:0 0 0;
}

.substack-posts .card{
  min-height:290px;
  border-radius:4px;
  padding:20px;
  margin:0;
}

.substack-posts .card h3{
  font-size:19px;
  line-height:1.24;
}

.substack-posts .post-author{
  font-size:12px;
  color:#6a7889;
  margin:0 0 9px;
}

.substack-posts .post-excerpt{
  font-size:13px;
  line-height:1.5;
  color:#58697b;
  margin:0 0 18px;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.substack-posts .substack-loading{
  grid-column:1 / -1;
  min-height:150px;
}

.substack-posts + .cta-strip{
  margin-top:0 !important;
}

@media(max-width:1050px){
  .substack-posts .post-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:680px){
  .substack-feed-heading{
    align-items:flex-start;
    flex-direction:column;
  }
  .substack-posts .post-grid{
    grid-template-columns:1fr;
  }
}


/* ===== About page: alternating photo + text layout ===== */
.about-photo-hero{
  background:var(--navy);
}

.about-split{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  gap:54px;
  align-items:center;
}

.about-split-hero{
  min-height:500px;
  padding:52px 0;
}

.about-split-reverse .about-copy{
  order:2;
}

.about-split-reverse .about-photo-wrap{
  order:1;
}

.about-copy{
  min-width:0;
}

.about-photo-hero .about-copy h1{
  margin:0;
  font-family:"Oswald",Impact,sans-serif;
  font-weight:700;
  letter-spacing:.01em;
  line-height:.93;
  font-size:clamp(58px,7vw,96px);
  color:#fff;
}

.about-photo-hero .about-copy p{
  margin:24px 0 0;
  max-width:700px;
  color:#8bd9fa;
  font-size:18px;
}

.about-photo-section{
  padding:58px 0;
}

.about-photo-section .about-copy p{
  max-width:none;
}

.about-photo-wrap{
  width:100%;
}

.about-photo{
  width:100%;
  height:330px;
  object-fit:cover;
  object-position:center;
  display:block;
  border:1px solid rgba(109,145,184,.35);
  box-shadow:0 12px 28px rgba(7,22,45,.14);
}

.about-photo-portrait{
  height:390px;
}

.section.navy .about-photo{
  border-color:rgba(134,217,255,.35);
  box-shadow:0 14px 32px rgba(0,0,0,.24);
}

@media(max-width:920px){
  .about-split{
    grid-template-columns:1fr 1fr;
    gap:34px;
  }

  .about-photo{
    height:300px;
  }

  .about-photo-portrait{
    height:350px;
  }
}

@media(max-width:720px){
  .about-split,
  .about-split-reverse{
    grid-template-columns:1fr;
    gap:26px;
  }

  .about-split-hero{
    min-height:0;
    padding:38px 0 42px;
  }

  .about-split-reverse .about-copy,
  .about-split-reverse .about-photo-wrap{
    order:initial;
  }

  .about-photo-hero .about-copy{
    order:1;
  }

  .about-photo-hero .about-photo-wrap{
    order:2;
  }

  .about-photo-section .about-copy{
    order:1;
  }

  .about-photo-section .about-photo-wrap{
    order:2;
  }

  .about-photo,
  .about-photo-portrait{
    height:auto;
    max-height:440px;
    object-fit:cover;
  }
}


/* ===== About page refinements: embedded photos, justified copy, tighter spacing ===== */

.about-photo-hero,
.about-photo-section{
  border-bottom:1px solid rgba(79,126,178,.38);
}

.about-photo-hero{
  min-height:0 !important;
}

.about-split{
  gap:40px !important;
  align-items:center !important;
}

.about-split-hero{
  min-height:0 !important;
  padding:38px 0 40px !important;
}

.about-photo-section{
  padding:40px 0 !important;
}

.about-copy p{
  max-width:none !important;
  margin-top:12px !important;
  margin-bottom:12px !important;
  text-align:justify !important;
  text-justify:inter-word;
  hyphens:auto;
}

.about-photo-hero .about-copy p{
  margin-top:18px !important;
  text-align:justify !important;
}

.about-copy h2{
  margin-bottom:14px !important;
}

.about-copy .kicker,
.about-copy .eyebrow{
  margin-bottom:12px !important;
}

.about-photo-wrap{
  margin:0 !important;
}

.about-photo,
.about-photo-portrait{
  width:100% !important;
  height:320px !important;
  object-fit:cover !important;
  object-position:center !important;
  margin:0 !important;
  display:block !important;
}

.about-photo-portrait{
  height:350px !important;
}

/* Remove obsolete star divider spacing if any remains */
.divider-stars,
.divider-stars.dark{
  display:none !important;
  padding:0 !important;
  margin:0 !important;
  height:0 !important;
}

/* Tighten the CTA on the About page */
.about-photo-section + .section.blue,
.section.blue{
  margin-top:0 !important;
}

@media(max-width:920px){
  .about-split{
    gap:28px !important;
  }

  .about-photo,
  .about-photo-portrait{
    height:300px !important;
  }
}

@media(max-width:720px){
  .about-split,
  .about-split-reverse{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .about-split-hero{
    padding:30px 0 32px !important;
  }

  .about-photo-section{
    padding:32px 0 !important;
  }

  .about-split-reverse .about-copy,
  .about-split-reverse .about-photo-wrap{
    order:initial !important;
  }

  .about-copy{
    order:1 !important;
  }

  .about-photo-wrap{
    order:2 !important;
  }

  .about-photo,
  .about-photo-portrait{
    height:auto !important;
    max-height:420px !important;
  }

  /* Keep mobile readable; justified copy can create awkward gaps on narrow screens */
  .about-copy p,
  .about-photo-hero .about-copy p{
    text-align:left !important;
  }
}




/* ===== About page: swapped first/second photos, no whitespace ===== */
.about-photo-sign{
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent !important;
  padding:0 !important;
  height:420px !important;
  box-sizing:border-box !important;
}

@media(max-width:920px){
  .about-photo-sign{
    height:390px !important;
  }
}

@media(max-width:720px){
  .about-photo-sign{
    height:auto !important;
    max-height:none !important;
    padding:0 !important;
  }
}


/* ===== About hero: stronger Good Trouble Squadron section ===== */
.about-photo-hero{
  position:relative;
  overflow:hidden;
}

.about-photo-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:46px 46px;
}

.about-split-hero{
  position:relative;
  z-index:1;
}

.about-hero-copy{
  max-width:720px;
}

.about-hero-copy .eyebrow{
  margin-bottom:16px !important;
}

.about-hero-copy h1{
  margin-bottom:20px !important;
}

.about-hero-lead{
  margin:0 0 18px !important;
  color:#ffffff !important;
  font:600 clamp(22px,2.4vw,32px)/1.25 "Inter",Arial,sans-serif !important;
  letter-spacing:-.02em;
  text-align:left !important;
}

.about-hero-copy p:not(.about-hero-lead){
  color:#cfe2f5 !important;
  font-size:16px !important;
  line-height:1.68 !important;
  text-align:justify !important;
  text-justify:inter-word;
}

.about-hero-manifesto{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

.about-hero-manifesto span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 12px;
  border:1px solid rgba(134,217,255,.48);
  color:#bfeaff;
  background:rgba(7,22,45,.28);
  font:700 12px/1 "Oswald",Impact,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.about-photo-hero .about-photo-wrap{
  position:relative;
}

.about-photo-hero .about-photo-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(134,217,255,.32);
  pointer-events:none;
}

@media(max-width:720px){
  .about-hero-lead{
    text-align:left !important;
  }

  .about-hero-copy p:not(.about-hero-lead){
    text-align:left !important;
  }
}


/* ===== About hero tweaks: remove photo box + blue lead line ===== */
.about-photo-hero .about-photo,
.about-photo-hero .about-photo-sign,
.about-photo-hero .about-photo-portrait {
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

.about-photo-hero .about-photo-wrap::after {
  display:none !important;
  content:none !important;
}

.about-photo-hero .about-photo-wrap {
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

.about-hero-lead {
  color:#224475 !important;
}


/* ===== About hero cleanup ===== */
.about-photo-hero::before {
  display:none !important;
  content:none !important;
  background:none !important;
}

.about-hero-manifesto {
  display:none !important;
}

.about-hero-lead {
  color:#4d92dd !important;
}

/* Ready to Make Trouble: keep only the campaign button */
.section.blue .container > div[style*="display:flex"] {
  justify-content:center !important;
}


/* ===== LOCKED GTS BOTTOM-OF-PAGE LAYOUT =====
   Keep these elements unless explicitly requested otherwise:
   1) Blue "Get Dispatches from the Field" strip
   2) RBG quote + red shamrock on the left
   3) Privacy Notice • Terms of Service • Cookie Settings on the right
   4) Centered copyright at the very bottom
================================================ */

.cta-strip{
  background:#69a1ee !important;
  color:#07162d !important;
  padding:28px 0 !important;
  margin:0 !important;
}

.cta-strip .row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
}

.cta-strip h3{
  margin:0 !important;
  font:700 28px/1 "Oswald",Impact,sans-serif !important;
  text-transform:uppercase !important;
  color:#07162d !important;
}

.cta-strip p{
  margin:8px 0 0 !important;
  color:#162b46 !important;
}

.cta-strip .btn.white{
  background:#fff !important;
  color:#07162d !important;
  border-color:#fff !important;
  min-width:230px;
}

.footer{
  background:#07162d !important;
  color:#8fb0cf !important;
  padding:36px 0 18px !important;
  margin:0 !important;
}

.footer .container{
  position:relative;
}

.footer-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:48px !important;
  align-items:start !important;
}

.footer-left{
  text-align:left !important;
}

.footer-left .quote{
  margin:0 !important;
  max-width:430px !important;
  color:#9cddf2 !important;
  font-style:italic !important;
  line-height:1.55 !important;
}

.footer-left .quote-credit{
  margin:10px 0 0 !important;
  color:#82a6c7 !important;
}

.rbg-clover{
  display:inline-block !important;
  margin-left:4px !important;
  color:#d62828 !important;
  font-size:10pt !important;
  line-height:1 !important;
  vertical-align:middle !important;
}

.footer-legal{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  padding-top:1px !important;
  white-space:nowrap !important;
}

.footer-legal a,
.footer-cookie-link{
  appearance:none !important;
  border:0 !important;
  background:none !important;
  padding:0 !important;
  margin:0 !important;
  color:#8fb0cf !important;
  font:inherit !important;
  font-size:13px !important;
  line-height:1.4 !important;
  text-decoration:none !important;
  cursor:pointer !important;
}

.footer-legal a:hover,
.footer-cookie-link:hover{
  color:#bfe8ff !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
}

.footer-bullet{
  color:#d62828 !important;
  font-size:11px !important;
  line-height:1 !important;
}

.footer-bottom{
  width:100% !important;
  margin-top:30px !important;
  padding-top:15px !important;
  border-top:1px solid rgba(143,176,207,.16) !important;
  text-align:center !important;
  color:#6f93b4 !important;
  font-size:12px !important;
}

@media(max-width:760px){
  .cta-strip .row{
    align-items:flex-start !important;
    flex-direction:column !important;
  }

  .footer-grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .footer-legal{
    justify-content:flex-start !important;
    white-space:normal !important;
  }

  .footer-bottom{
    margin-top:24px !important;
  }
}


/* ===== Campaigns: separate representative page + calling script modal ===== */

.campaign-list-section{
  padding-top:42px !important;
  padding-bottom:46px !important;
}

.campaign-card-primary{
  max-width:100% !important;
}

.campaign-card-primary p,
.campaign-card-primary .note{
  text-align:justify;
  text-justify:inter-word;
}

.campaign-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}

.campaign-actions .btn{
  margin-top:0 !important;
}

.campaign-modal-overlay{
  position:fixed;
  inset:0;
  z-index:2147482000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(4,16,35,.76);
}

.campaign-modal-overlay.show{
  display:flex;
}

body.modal-open{
  overflow:hidden;
}

.campaign-modal{
  position:relative;
  width:min(680px,100%);
  max-height:88vh;
  overflow:auto;
  background:#fff;
  color:#14233a;
  border-top:5px solid var(--blue);
  box-shadow:0 22px 60px rgba(0,0,0,.36);
  padding:34px 36px 32px;
}

.campaign-modal h2{
  margin:4px 0 22px;
  font:700 38px/1 "Oswald",Impact,sans-serif;
  color:var(--navy-deep);
}

.campaign-modal-close{
  position:absolute;
  top:13px;
  right:16px;
  appearance:none;
  border:0;
  background:transparent;
  color:#607087;
  font-size:32px;
  line-height:1;
  cursor:pointer;
}

.call-script-copy{
  border-left:4px solid var(--blue);
  background:#f2f6fb;
  padding:20px 22px;
}

.call-script-copy p{
  margin:0 0 14px;
  line-height:1.58;
  color:#334b66;
}

.call-script-copy p:last-child{
  margin-bottom:0;
}

.call-script-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:22px;
}

.call-script-status{
  min-height:20px;
  margin-top:12px;
  color:#47729f;
  font-size:13px;
}

.rep-page-shell{
  padding-top:42px !important;
  padding-bottom:46px !important;
}

.rep-page-back{
  margin-bottom:22px;
}

.rep-page-shell .rep-card{
  max-width:930px;
  margin:0 auto;
}

.rep-page-shell .lead,
.rep-page-shell .form-help{
  text-align:justify;
  text-justify:inter-word;
}

@media(max-width:680px){
  .campaign-card-primary p,
  .campaign-card-primary .note,
  .rep-page-shell .lead,
  .rep-page-shell .form-help{
    text-align:left;
  }

  .campaign-modal{
    padding:28px 22px 24px;
  }

  .campaign-actions,
  .call-script-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .campaign-actions .btn,
  .call-script-actions .btn{
    width:100%;
  }
}


/* ===== Home Depot Boycott campaign ===== */
.campaign-card-secondary{
  margin-top:28px !important;
}

.boycott-page{
  padding-top:42px !important;
  padding-bottom:46px !important;
}

.boycott-back{
  margin-bottom:24px;
}

.boycott-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:28px;
  align-items:start;
}

.boycott-panel{
  background:#fff;
  border:1px solid var(--line);
  border-top:4px solid var(--blue);
  padding:30px;
}

.boycott-panel h2{
  margin:10px 0 24px;
  font:700 34px/1.05 "Oswald",Impact,sans-serif;
  color:var(--navy-deep);
}

.boycott-reason{
  padding:18px 0;
  border-top:1px solid #dde6ef;
}

.boycott-reason:first-of-type{
  border-top:0;
  padding-top:0;
}

.boycott-reason h3{
  margin:0 0 8px;
  font:700 21px/1.15 "Oswald",Impact,sans-serif;
  color:var(--navy-deep);
  text-transform:none;
}

.boycott-reason p{
  margin:0;
  color:#4e6176;
  line-height:1.62;
  text-align:justify;
  text-justify:inter-word;
}

.alternative-list{
  list-style:none;
  padding:0;
  margin:0;
}

.alternative-list li{
  padding:15px 0;
  border-top:1px solid #dde6ef;
}

.alternative-list li:first-child{
  border-top:0;
  padding-top:0;
}

.alternative-list strong{
  display:block;
  margin-bottom:4px;
  color:var(--navy-deep);
  font-family:"Oswald",Impact,sans-serif;
  font-size:17px;
}

.alternative-list span{
  display:block;
  color:#5d6f82;
  font-size:13.5px;
  line-height:1.5;
}

.boycott-action-box{
  margin-top:24px;
  padding:20px;
  background:#eef4fa;
  border-left:4px solid var(--blue);
}

.boycott-action-box h3{
  margin:0 0 8px;
  font:700 22px/1.1 "Oswald",Impact,sans-serif;
  color:var(--navy-deep);
}

.boycott-action-box p{
  margin:0 0 18px;
  color:#4f6378;
  line-height:1.55;
}

@media(max-width:900px){
  .boycott-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:680px){
  .boycott-panel{
    padding:22px;
  }

  .boycott-reason p{
    text-align:left;
  }
}


/* ===== Home Depot boycott logo ===== */
.boycott-logo-wrap{
  width:100%;
  max-width:260px;
  margin:24px auto 0;
}

.boycott-logo{
  display:block;
  width:100%;
  height:auto;
  margin:0;
  padding:0;
  border:0;
  box-shadow:none;
  background:transparent;
}


/* ===== Home Depot uploaded boycott logo replacement ===== */
.boycott-logo-wrap{
  width:100%;
  max-width:260px;
  margin:24px auto 0;
}

.boycott-logo{
  display:block;
  width:100%;
  height:auto;
  margin:0;
  padding:0;
  border:0;
  box-shadow:none;
  background:transparent;
}


/* ===== Representative contact form v2 ===== */
.rep-card-v2{
  max-width:980px !important;
}

.rep-delivery-note{
  margin:18px 0 26px;
  padding:15px 17px;
  background:#eef4fa;
  border-left:4px solid var(--blue);
  color:#475d74;
  font-size:13px;
  line-height:1.55;
}

.rep-address-grid{
  display:grid;
  grid-template-columns:1.25fr .8fr .7fr;
  gap:14px;
}

.rep-form select{
  width:100%;
  min-height:50px;
  padding:12px 14px;
  border:1px solid #abc1dc;
  background:#fff;
  color:#263b54;
  font:inherit;
}

.rep-form select:disabled{
  background:#eef2f6;
  color:#7b8999;
}

.rep-lookup-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:-4px;
  margin-bottom:4px;
}

.rep-consent-check{
  display:flex !important;
  align-items:flex-start;
  gap:10px;
  font-size:13px;
  line-height:1.45;
}

.rep-consent-check input{
  width:auto !important;
  margin-top:3px;
}

.rep-copy-note{
  margin-top:10px;
}

.rep-form-status{
  min-height:22px;
  margin-top:12px;
  color:#376f9f;
  font-size:13px;
  font-weight:600;
}

.rep-fallback-link{
  margin-top:6px;
  font-size:13px;
}

.gts-honeypot{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
}

@media(max-width:760px){
  .rep-address-grid{
    grid-template-columns:1fr;
  }

  .rep-lookup-row{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
}


/* ===== Representative letter copy/paste popup ===== */
.campaign-letter-overlay{
  position:fixed;
  inset:0;
  z-index:2147482000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(4,16,35,.78);
}

.campaign-letter-overlay.show{
  display:flex;
}

.campaign-letter-modal{
  position:relative;
  width:min(860px,100%);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  color:#14233a;
  border-top:5px solid var(--blue);
  box-shadow:0 22px 60px rgba(0,0,0,.38);
  padding:32px 34px 30px;
}

.campaign-letter-modal h2{
  margin:4px 0 8px;
  font:700 38px/1 "Oswald",Impact,sans-serif;
  color:var(--navy-deep);
}

.campaign-letter-instructions{
  margin:0 0 18px;
  color:#596d82;
  line-height:1.5;
}

.campaign-letter-close{
  position:absolute;
  top:12px;
  right:15px;
  appearance:none;
  border:0;
  background:transparent;
  color:#617288;
  font-size:32px;
  line-height:1;
  cursor:pointer;
}

.campaign-letter-preview{
  width:100%;
  min-height:390px;
  resize:vertical;
  padding:18px 20px;
  border:1px solid #b8cbe0;
  background:#f7f9fc;
  color:#243850;
  font:14px/1.58 "Inter",Arial,sans-serif;
  white-space:pre-wrap;
}

.campaign-letter-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}

@media(max-width:680px){
  .campaign-letter-modal{
    padding:26px 20px 22px;
  }

  .campaign-letter-preview{
    min-height:330px;
  }

  .campaign-letter-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .campaign-letter-actions .btn{
    width:100%;
  }
}


/* ===== Representative form primary CTA ===== */
#repContactForm .form-actions{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  margin-top:28px !important;
}

#sendCampaignMessage{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:min(100%, 680px) !important;
  min-height:72px !important;
  margin:0 auto !important;
  padding:20px 34px !important;
  font-family:"Oswald",Impact,sans-serif !important;
  font-size:20px !important;
  font-weight:800 !important;
  line-height:1.15 !important;
  letter-spacing:.09em !important;
  text-align:center !important;
  text-transform:uppercase !important;
  box-shadow:0 8px 18px rgba(23,72,125,.16) !important;
}

#sendCampaignMessage:hover{
  transform:translateY(-2px) !important;
}

#sendCampaignMessage:disabled{
  opacity:.68 !important;
  cursor:wait !important;
  transform:none !important;
}

@media(max-width:680px){
  #sendCampaignMessage{
    width:100% !important;
    min-height:66px !important;
    padding:18px 20px !important;
    font-size:17px !important;
  }
}


/* ===== Coalition page: JFK quote + coalition partner logo ===== */
.coalition-quote{
  max-width:900px;
  margin:0 0 38px;
  padding:22px 26px;
  border-left:4px solid var(--blue);
  background:#fff;
}

.coalition-quote p{
  margin:0 0 10px;
  color:var(--navy-deep);
  font:600 20px/1.55 "Inter",Arial,sans-serif;
}

.coalition-quote cite{
  display:block;
  color:#5d7086;
  font-style:normal;
  font-weight:700;
}

.partner-logo-image{
  min-height:0;
  display:block;
  margin:0 auto 20px;
}

.partner-logo-image img{
  display:block;
  width:100%;
  max-width:260px;
  height:auto;
  margin:0 auto;
  border-radius:50%;
}

.partner-card-featured h3 a{
  color:inherit;
  text-decoration:none;
}

.partner-card-featured h3 a:hover{
  color:var(--blue);
}

@media(max-width:680px){
  .coalition-quote{
    padding:18px 20px;
  }

  .coalition-quote p{
    font-size:17px;
  }

  .partner-logo-image img{
    max-width:220px;
  }
}


/* ===== Coalition quote color update ===== */
.coalition-quote p,
.coalition-quote cite{
  color:#4D92DD !important;
}

.removal-coalition-logo img{
  max-width:300px;
  border-radius:0;
}


/* ===== Coalition card alignment refinement ===== */
.partners-grid{
  align-items:stretch !important;
}

.partner-card{
  display:grid !important;
  grid-template-rows: 285px auto 1fr auto !important;
  align-items:start !important;
  height:100% !important;
}

.partner-card .partner-logo,
.partner-card .partner-logo-image{
  width:100% !important;
  height:285px !important;
  min-height:285px !important;
  margin:0 0 20px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}

.partner-card .partner-logo-image img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:260px !important;
  max-height:260px !important;
  margin:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
}

.partner-card .removal-coalition-logo img{
  max-width:260px !important;
  max-height:210px !important;
  border-radius:0 !important;
}

.partner-card h3{
  min-height:58px !important;
  margin:0 0 12px !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  text-align:center !important;
}

.partner-card h3 a{
  display:block !important;
  width:100% !important;
  text-align:center !important;
}

.partner-card p{
  margin-top:0 !important;
}

.partner-card > .text-link{
  align-self:end !important;
}

@media(max-width:900px){
  .partner-card{
    grid-template-rows: 250px auto 1fr auto !important;
  }

  .partner-card .partner-logo,
  .partner-card .partner-logo-image{
    height:250px !important;
    min-height:250px !important;
  }

  .partner-card .partner-logo-image img{
    max-height:225px !important;
  }
}

@media(max-width:680px){
  .partner-card{
    grid-template-rows:auto auto auto auto !important;
  }

  .partner-card .partner-logo,
  .partner-card .partner-logo-image{
    height:auto !important;
    min-height:0 !important;
    padding:10px 0 !important;
  }

  .partner-card h3{
    min-height:0 !important;
  }
}


/* ===== Coalition page: two-member layout ===== */
.partners-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}

@media(max-width:760px){
  .partners-grid{
    grid-template-columns:1fr !important;
    max-width:620px;
  }
}


/* ===== Contact form email + reCAPTCHA update ===== */
.contact-field{
  display:grid;
  gap:7px;
  color:#334b66;
  font-size:13px;
  font-weight:700;
}

.contact-field > span{
  display:block;
}

.contact-field strong{
  color:#d62828;
}

.contact-honeypot{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.contact-recaptcha-wrap{
  margin-top:2px;
  min-height:78px;
}

.contact-submit-row{
  display:flex;
  justify-content:flex-start;
  align-items:center;
}

.contact-submit-button:disabled{
  opacity:.65;
  cursor:wait;
}

.contact-form-status{
  min-height:22px;
  font-size:13px;
  font-weight:700;
  line-height:1.45;
}

.contact-form-status.is-success{
  padding:13px 15px;
  background:#edf8f0;
  border:1px solid #abd4b5;
  color:#235f35;
}

.contact-form-status.is-error{
  padding:13px 15px;
  background:#fff2f2;
  border:1px solid #e6b4b4;
  color:#8a2929;
}

@media(max-width:420px){
  .contact-recaptcha-wrap{
    transform:scale(.9);
    transform-origin:left top;
    margin-bottom:-8px;
  }
}


/* ===== GTS Shop: marquee + live Printify Featured Gear ===== */
.shop-hero.compact .inner{
  padding-top:46px;
  padding-bottom:52px;
}

.shop-marquee-wrap{
  margin-top:24px;
  display:flex;
  justify-content:center;
}

.shop-marquee{
  position:relative;
  display:inline-block;
  min-width:min(92vw,520px);
  padding:30px 42px 26px;
  overflow:hidden;
  text-align:center;
  text-decoration:none;
  background:#8e1515;
  border:5px solid #f0c55a;
  border-radius:10px;
  box-shadow:
    0 10px 24px rgba(0,0,0,.24),
    inset 0 0 24px rgba(255,255,255,.08);
  transition:transform .18s ease;
}

.shop-marquee:hover{
  transform:translateY(-2px);
}

.shop-marquee-title{
  display:block;
  position:relative;
  z-index:2;
  color:#fff9e8;
  font-family:"Oswald",Impact,sans-serif;
  font-size:clamp(38px,7vw,64px);
  font-weight:800;
  line-height:1;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-shadow:0 2px 0 rgba(0,0,0,.18);
}

.shop-marquee-sub{
  display:block;
  position:relative;
  z-index:2;
  margin-top:10px;
  color:#f6d98a;
  font-family:"Oswald",Impact,sans-serif;
  font-size:clamp(14px,2vw,18px);
  letter-spacing:.18em;
  text-transform:uppercase;
}

.shop-marquee-bulbs{
  pointer-events:none;
  position:absolute;
  inset:8px;
}

.shop-marquee-bulbs span{
  position:absolute;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#fff7c8;
  box-shadow:0 0 10px #ffd04d,0 0 18px #ffd04d;
  animation:gtsShopBulb 1s infinite alternate;
}
.shop-marquee-bulbs span:nth-child(even){animation-delay:.5s}
@keyframes gtsShopBulb{
  from{opacity:.45;transform:scale(.95)}
  to{opacity:1;transform:scale(1.08)}
}
.shop-marquee-bulbs span:nth-child(1){top:0;left:5%}
.shop-marquee-bulbs span:nth-child(2){top:0;left:18%}
.shop-marquee-bulbs span:nth-child(3){top:0;left:31%}
.shop-marquee-bulbs span:nth-child(4){top:0;left:44%}
.shop-marquee-bulbs span:nth-child(5){top:0;left:57%}
.shop-marquee-bulbs span:nth-child(6){top:0;left:70%}
.shop-marquee-bulbs span:nth-child(7){top:0;left:83%}
.shop-marquee-bulbs span:nth-child(8){top:40%;right:0}
.shop-marquee-bulbs span:nth-child(9){top:78%;right:0}
.shop-marquee-bulbs span:nth-child(10){bottom:0;left:83%}
.shop-marquee-bulbs span:nth-child(11){bottom:0;left:70%}
.shop-marquee-bulbs span:nth-child(12){bottom:0;left:57%}
.shop-marquee-bulbs span:nth-child(13){bottom:0;left:44%}
.shop-marquee-bulbs span:nth-child(14){bottom:0;left:31%}
.shop-marquee-bulbs span:nth-child(15){bottom:0;left:18%}
.shop-marquee-bulbs span:nth-child(16){bottom:0;left:5%}
.shop-marquee-bulbs span:nth-child(17){top:78%;left:0}
.shop-marquee-bulbs span:nth-child(18){top:40%;left:0}

.featured-gear-heading{
  text-align:center;
  margin-bottom:34px;
}

.featured-gear-heading p{
  margin:8px auto 0;
  max-width:620px;
}

.live-product-card{
  display:flex;
  flex-direction:column;
  height:100%;
}

.live-product-media{
  display:flex !important;
  align-items:center;
  justify-content:center;
  aspect-ratio:1 / 1;
  overflow:hidden;
  background:#fff;
}

.live-product-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

.live-product-card .product-body{
  display:flex;
  flex:1;
  flex-direction:column;
}

.live-product-card .product-body h3{
  margin-bottom:10px;
}

.live-product-card .text-link{
  margin-top:auto;
}

.featured-product-price{
  margin:0 0 16px !important;
  color:var(--blue) !important;
  font-family:"Oswald",Impact,sans-serif;
  font-size:20px !important;
  font-weight:700;
}

.featured-loading-block{
  width:82%;
  height:82%;
  margin:auto;
  border-radius:6px;
  background:linear-gradient(90deg,#eef2f6 25%,#f7f9fb 50%,#eef2f6 75%);
  background-size:200% 100%;
  animation:gtsFeaturedLoading 1.3s infinite linear;
}

@keyframes gtsFeaturedLoading{
  from{background-position:200% 0}
  to{background-position:-200% 0}
}

.featured-loading h3{
  color:#708197;
}

.featured-gear-status{
  min-height:1px;
}

.featured-shop-fallback{
  grid-column:1 / -1;
  max-width:560px;
  margin:0 auto;
  text-align:center;
}

@media(max-width:680px){
  .shop-marquee{
    min-width:0;
    width:100%;
    padding:24px 20px 20px;
  }
}


/* ===== GTS Shop refinement: six products, smaller images, no marquee ===== */
.shop-marquee-wrap,
.shop-marquee{
  display:none !important;
}

#featuredGearGrid.product-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:24px !important;
}

#featuredGearGrid .product-card{
  max-width:100%;
}

#featuredGearGrid .product-media,
#featuredGearGrid .live-product-media{
  aspect-ratio:1 / 1 !important;
  min-height:0 !important;
  padding:24px !important;
  background:#fff !important;
}

#featuredGearGrid .live-product-media img{
  width:82% !important;
  height:82% !important;
  max-width:260px !important;
  max-height:260px !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:auto !important;
}

#featuredGearGrid .featured-loading-block{
  width:70% !important;
  height:70% !important;
}

@media(max-width:900px){
  #featuredGearGrid.product-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:620px){
  #featuredGearGrid.product-grid{
    grid-template-columns:1fr !important;
  }

  #featuredGearGrid .product-media,
  #featuredGearGrid .live-product-media{
    padding:28px !important;
  }

  #featuredGearGrid .live-product-media img{
    width:76% !important;
    height:76% !important;
    max-width:240px !important;
    max-height:240px !important;
  }
}


/* =========================================================
   HEADER REFINEMENT — NAV LEFT / SUPPORT GTS RIGHT
   ========================================================= */

.site-header .navbar{
  justify-content:flex-start !important;
  gap:22px !important;
}

.site-header .brand{
  flex:0 0 auto;
}

.site-header .nav{
  margin-left:4px !important;
  gap:27px !important;
}

.site-header #gts-support-launcher{
  margin-left:auto !important;
  flex:0 0 auto;
}

@media(max-width:1040px){
  .site-header .navbar{
    gap:18px !important;
  }

  .site-header .nav{
    gap:20px !important;
  }
}

@media(max-width:760px){
  .site-header .navbar{
    position:relative;
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:8px !important;
    padding:16px 0 10px !important;
  }

  .site-header .nav{
    width:100% !important;
    margin-left:0 !important;
    padding-right:0 !important;
    overflow-x:auto !important;
    gap:22px !important;
  }

  .site-header #gts-support-launcher{
    position:absolute !important;
    top:14px !important;
    right:0 !important;
    margin:0 !important;
  }
}


/* =========================================================
   COALITION PAGE — DARK BLUE LINES
   ========================================================= */

/* Use the site's established dark navy for coalition dividers/borders. */
.coalition-page .coalition-quote{
  border-left-color:#142A50 !important;
}

.coalition-page .partner-card{
  border-color:#142A50 !important;
  border-top-color:#142A50 !important;
}

/* Keep the Kennedy quote itself in the bright GTS blue. */
.coalition-page .coalition-quote p,
.coalition-page .coalition-quote cite{
  color:#4D92DD !important;
}


/* =========================================================
   HEADER — CENTERED MAIN NAVIGATION
   Brand Kit:
   Primary Steel Blue #4A90D9
   Heading font Oswald / Body font Inter
   ========================================================= */

.site-header .navbar{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
}

.site-header .brand{
  flex:0 0 auto !important;
  z-index:2;
}

.site-header .nav{
  position:absolute !important;
  left:calc(50% + 40px) !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:25px !important;
  width:max-content !important;
  max-width:calc(100% - 360px) !important;
  margin:0 !important;
  padding:0 !important;
  font-family:"Inter",Arial,sans-serif !important;
}

.site-header .nav a{
  white-space:nowrap !important;
}

.site-header .nav a:hover,
.site-header .nav a.active{
  color:#4A90D9 !important;
}

.site-header #gts-support-launcher{
  margin-left:auto !important;
  flex:0 0 auto !important;
  z-index:2;
}

/* Featured Gear uses the brand-kit typography and primary blue. */
.featured-gear-heading{
  text-align:center !important;
}

.featured-gear-heading h2{
  font-family:"Oswald",Impact,sans-serif !important;
}

.featured-gear-heading p{
  max-width:620px !important;
  margin:8px auto 0 !important;
  text-align:center !important;
  color:#4A5568 !important; /* Brand Kit muted text */
}

#featuredGearGrid .featured-product-price,
#featuredGearGrid .text-link{
  color:#4A90D9 !important; /* Brand Kit primary Steel Blue */
}

/* Brand-kit card and border colors for Featured Gear */
#featuredGearGrid .product-card{
  background:#FFFFFF !important;
  border-color:#B8C8DC !important;
}

@media(max-width:1120px){
  .site-header .nav{
    gap:18px !important;
    max-width:calc(100% - 300px) !important;
  }
}

@media(max-width:920px){
  .site-header .navbar{
    align-items:flex-start !important;
    flex-direction:column !important;
    padding-top:16px !important;
    padding-bottom:10px !important;
  }

  .site-header .nav{
    position:static !important;
    transform:none !important;
    width:100% !important;
    max-width:none !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
    gap:22px !important;
    padding-top:8px !important;
    padding-bottom:4px !important;
  }

  .site-header #gts-support-launcher{
    position:absolute !important;
    top:14px !important;
    right:0 !important;
    margin:0 !important;
  }
}


/* ===== Homepage coalition photo + favicon update ===== */
.home-intro-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr);
  gap:34px;
  align-items:start;
}

.home-intro-layout .home-intro-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
}

.home-feature-photo-wrap{
  align-self:stretch;
}

.home-feature-photo{
  display:block;
  width:100%;
  height:100%;
  max-height:640px;
  object-fit:cover;
  object-position:center center;
  border:1px solid #b8c8dc;
}

@media(max-width:900px){
  .home-intro-layout{
    grid-template-columns:1fr;
    gap:26px;
  }

  .home-feature-photo{
    max-height:460px;
  }
}


/* =========================================================
   FOOTER — RBG QUOTE REFINEMENT
   ========================================================= */

.footer-grid{
  align-items:start !important;
}

.footer-left{
  width:100% !important;
  max-width:760px !important;
}

.footer-left .quote{
  max-width:none !important;
  margin:0 !important;
  white-space:nowrap !important;
  font-size:13px !important;
  line-height:1.35 !important;
}

.footer-left .quote-credit{
  width:100% !important;
  margin:7px 0 0 !important;
  text-align:right !important;
}

.footer-bottom{
  margin-top:12px !important;
  padding-top:11px !important;
}

.footer{
  padding-bottom:14px !important;
}

@media(max-width:1000px){
  .footer-left .quote{
    white-space:normal !important;
  }
}

@media(max-width:760px){
  .footer-left{
    max-width:none !important;
  }

  .footer-left .quote-credit{
    text-align:right !important;
  }

  .footer-bottom{
    margin-top:10px !important;
  }
}


/* =========================================================
   FOOTER — ALIGN RBG CREDIT TO QUOTE END
   ========================================================= */

@media(min-width:1001px){
  .footer-left{
    width:max-content !important;
    max-width:100% !important;
  }

  .footer-left .quote{
    width:max-content !important;
    max-width:none !important;
  }

  .footer-left .quote-credit{
    width:100% !important;
    text-align:right !important;
  }
}

@media(max-width:1000px){
  .footer-left{
    width:100% !important;
    max-width:760px !important;
  }

  .footer-left .quote{
    width:auto !important;
    max-width:100% !important;
  }

  .footer-left .quote-credit{
    width:100% !important;
    text-align:right !important;
  }
}


/* ===== Substack feed: author only ===== */
.substack-card .post-author{
  margin:10px 0 18px !important;
  color:#4A5568 !important;
  font-size:13px !important;
  font-weight:600 !important;
}


/* ===== Substack feed: actual author + excerpt ===== */
.substack-card .post-author{
  margin:10px 0 8px !important;
  color:#4A5568 !important;
  font-size:13px !important;
  font-weight:600 !important;
}

.substack-card .post-excerpt{
  margin:0 0 18px !important;
  color:#4A5568 !important;
  font-size:14px !important;
  line-height:1.55 !important;
}


/* =========================================================
   RESPONSIVE SITE NAVIGATION
   Desktop / Tablet / Mobile
   ========================================================= */

.menu-toggle{
  display:none;
  appearance:none;
  border:1px solid rgba(255,255,255,.28);
  background:transparent;
  color:#fff;
  min-height:42px;
  padding:9px 13px;
  border-radius:5px;
  font-family:"Oswald",Impact,sans-serif;
  font-size:13px;
  font-weight:700;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}

.menu-toggle:hover,
.menu-toggle:focus-visible{
  border-color:#4A90D9;
  color:#87CEEB;
}

.menu-toggle:focus-visible{
  outline:3px solid rgba(74,144,217,.35);
  outline-offset:3px;
}

.menu-toggle-icon{
  width:20px;
  height:15px;
  display:inline-flex;
  flex-direction:column;
  justify-content:space-between;
  vertical-align:middle;
  margin-right:8px;
}

.menu-toggle-icon span{
  display:block;
  width:100%;
  height:2px;
  background:currentColor;
  border-radius:2px;
  transition:transform .18s ease, opacity .18s ease;
}

/* Turn hamburger into an X while open. */
.site-header .navbar.menu-open .menu-toggle-icon span:nth-child(1){
  transform:translateY(6.5px) rotate(45deg);
}
.site-header .navbar.menu-open .menu-toggle-icon span:nth-child(2){
  opacity:0;
}
.site-header .navbar.menu-open .menu-toggle-icon span:nth-child(3){
  transform:translateY(-6.5px) rotate(-45deg);
}

/* Tablet navigation */
@media(max-width:1120px){
  .site-header .navbar{
    position:relative !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
    grid-template-areas:
      "brand toggle support"
      "nav nav nav" !important;
    align-items:center !important;
    gap:12px 14px !important;
    min-height:70px !important;
    padding:12px 0 !important;
  }

  .site-header .brand{
    grid-area:brand;
    min-width:0;
  }

  .site-header .menu-toggle{
    display:inline-flex;
    grid-area:toggle;
    align-items:center;
    justify-content:center;
    justify-self:end;
  }

  .site-header #gts-support-launcher{
    grid-area:support;
    position:static !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    margin:0 !important;
    justify-self:end;
  }

  .site-header .nav{
    grid-area:nav;
    position:static !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    display:none !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:10px 0 2px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    max-height:calc(100dvh - 92px);
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:6px 12px !important;
    border-top:1px solid rgba(255,255,255,.14);
  }

  .site-header .navbar.menu-open .nav{
    display:grid !important;
  }

  .site-header .nav li{
    width:100%;
  }

  .site-header .nav a{
    display:flex !important;
    align-items:center;
    min-height:46px;
    width:100%;
    padding:10px 12px !important;
    border:1px solid transparent !important;
    border-radius:4px;
    font-size:14px !important;
    letter-spacing:.08em !important;
    touch-action:manipulation;
  }

  .site-header .nav a:hover,
  .site-header .nav a.active{
    background:rgba(74,144,217,.14);
    border-color:rgba(135,206,235,.32) !important;
  }
}

/* Phone navigation */
@media(max-width:640px){
  .site-header .navbar{
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:
      "brand support"
      "toggle toggle"
      "nav nav" !important;
    gap:9px 12px !important;
    padding:11px 0 10px !important;
  }

  .site-header .brand{
    font-size:19px !important;
    line-height:1.05;
  }

  .site-header .menu-toggle{
    width:100%;
    min-height:43px;
    justify-self:stretch;
    border-color:rgba(255,255,255,.22);
    touch-action:manipulation;
  }

  .site-header #gts-support-launcher{
    padding:10px 13px !important;
    font-size:12px !important;
    letter-spacing:.06em !important;
    white-space:nowrap;
  }

  .site-header .nav{
    grid-template-columns:1fr !important;
    gap:4px !important;
    padding-top:8px !important;
  }

  .site-header .nav a{
    min-height:44px;
    padding:9px 12px !important;
  }
}

/* Very small phones */
@media(max-width:390px){
  .site-header .brand{
    font-size:17px !important;
    letter-spacing:.025em !important;
  }

  .site-header #gts-support-launcher{
    padding:9px 10px !important;
    font-size:11px !important;
  }
}


/* =========================================================
   GOOD TROUBLE IN ACTION — GRAFFITI PHOTO WALL
   ========================================================= */

.action-page{
  background:#F0F4F8;
}

.action-hero{
  position:relative;
  overflow:hidden;
  background:#07162d;
  color:#fff;
  border-bottom:5px solid #4A90D9;
}

.action-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.14;
  background:
    radial-gradient(circle at 13% 24%, rgba(135,206,235,.9) 0 2px, transparent 3px),
    radial-gradient(circle at 76% 68%, rgba(255,255,255,.85) 0 1px, transparent 2px),
    radial-gradient(circle at 89% 19%, rgba(74,144,217,.9) 0 3px, transparent 4px);
  background-size:43px 47px, 59px 61px, 79px 73px;
}

.action-hero-inner{
  position:relative;
  z-index:1;
  padding:66px 0 62px;
}

.action-kicker{
  display:inline-block;
  margin-bottom:10px;
  color:#87CEEB;
  font-family:"Oswald",Impact,sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.action-hero h1{
  margin:0;
  max-width:900px;
  font-family:"Oswald",Impact,sans-serif;
  font-size:clamp(48px,8vw,92px);
  line-height:.92;
  text-transform:uppercase;
  letter-spacing:-.025em;
}

.action-hero h1 span{
  color:#6495ED;
}

.action-hero p{
  max-width:720px;
  margin:22px 0 0;
  color:#d8e7f6;
  font-size:18px;
  line-height:1.6;
}

.action-wall-section{
  position:relative;
  overflow:hidden;
  min-height:520px;
  padding:60px 0 78px;
  background:
    linear-gradient(rgba(240,244,248,.93),rgba(240,244,248,.93)),
    repeating-linear-gradient(
      0deg,
      rgba(7,22,45,.05) 0,
      rgba(7,22,45,.05) 1px,
      transparent 1px,
      transparent 6px
    );
}

.action-wall-noise{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.35;
  background:
    radial-gradient(ellipse at 8% 20%, rgba(74,144,217,.15) 0 3%, transparent 3.4%),
    radial-gradient(ellipse at 91% 76%, rgba(7,22,45,.08) 0 5%, transparent 5.6%),
    radial-gradient(ellipse at 48% 48%, rgba(239,68,68,.06) 0 2.5%, transparent 2.9%);
  filter:blur(.2px);
}

.action-graffiti{
  position:absolute;
  z-index:0;
  color:rgba(7,22,45,.055);
  font-family:"Oswald",Impact,sans-serif;
  font-weight:700;
  line-height:.8;
  letter-spacing:-.05em;
  text-transform:uppercase;
  white-space:nowrap;
  user-select:none;
  pointer-events:none;
}

.action-graffiti-one{
  top:42px;
  left:-28px;
  font-size:clamp(80px,14vw,190px);
  transform:rotate(-8deg);
}

.action-graffiti-two{
  top:44%;
  right:-42px;
  color:rgba(74,144,217,.07);
  font-size:clamp(88px,15vw,210px);
  transform:rotate(7deg);
}

.action-graffiti-three{
  bottom:20px;
  left:9%;
  color:rgba(239,68,68,.055);
  font-size:clamp(70px,12vw,160px);
  transform:rotate(-3deg);
}

.action-wall-wrap{
  position:relative;
  z-index:1;
}

.action-wall{
  column-count:4;
  column-gap:18px;
}

.action-photo{
  position:relative;
  display:block;
  width:100%;
  margin:0 0 18px;
  padding:0;
  break-inside:avoid;
  border:0;
  background:#fff;
  box-shadow:
    0 3px 0 rgba(7,22,45,.12),
    0 14px 28px rgba(7,22,45,.14);
  cursor:zoom-in;
  transform:
    translateY(var(--lift,0))
    rotate(var(--tilt,0deg))
    scale(var(--scale,1));
  transform-origin:center;
  transition:
    transform .22s ease,
    box-shadow .22s ease;
}

.action-photo::before,
.action-photo::after{
  content:"";
  position:absolute;
  z-index:2;
  width:54px;
  height:16px;
  background:rgba(255,255,255,.62);
  box-shadow:0 1px 1px rgba(7,22,45,.1);
  pointer-events:none;
}

.action-photo::before{
  top:-7px;
  left:16%;
  transform:rotate(-4deg);
}

.action-photo::after{
  right:14%;
  bottom:-6px;
  transform:rotate(3deg);
}

.action-photo img{
  display:block;
  width:100%;
  height:auto;
  border:6px solid #fff;
}

.action-photo:hover,
.action-photo:focus-visible{
  z-index:5;
  transform:translateY(-5px) rotate(0deg) scale(1.025);
  box-shadow:
    0 3px 0 rgba(7,22,45,.10),
    0 22px 40px rgba(7,22,45,.23);
}

.action-photo:focus-visible{
  outline:4px solid #4A90D9;
  outline-offset:5px;
}

.action-empty{
  max-width:780px;
  margin:40px auto;
  padding:62px 30px;
  text-align:center;
  border:3px dashed rgba(20,42,80,.28);
  background:rgba(255,255,255,.55);
  transform:rotate(-1deg);
}

.action-empty-stamp{
  color:#142A50;
  font-family:"Oswald",Impact,sans-serif;
  font-size:clamp(38px,7vw,74px);
  font-weight:700;
  line-height:.95;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.action-empty p{
  margin:20px auto 0;
  color:#4A5568;
  font-size:17px;
  line-height:1.6;
}

/* Full-screen viewer — no captions by design. */
.action-lightbox[hidden]{
  display:none !important;
}

.action-lightbox{
  position:fixed;
  z-index:10000;
  inset:0;
  display:grid;
  grid-template-columns:76px minmax(0,1fr) 76px;
  align-items:center;
  background:rgba(3,10,22,.96);
  backdrop-filter:blur(8px);
}

.action-lightbox-stage{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:0;
  height:100vh;
  padding:52px 22px;
}

.action-lightbox-stage img{
  display:block;
  max-width:min(1200px,100%);
  max-height:calc(100vh - 104px);
  width:auto;
  height:auto;
  object-fit:contain;
  box-shadow:0 22px 70px rgba(0,0,0,.42);
}

.action-lightbox-count{
  position:absolute;
  bottom:17px;
  left:50%;
  transform:translateX(-50%);
  color:#d8e7f6;
  font-family:"Inter",Arial,sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:.12em;
}

.action-lightbox-close,
.action-lightbox-arrow{
  appearance:none;
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  transition:color .16s ease, transform .16s ease;
}

.action-lightbox-close:hover,
.action-lightbox-arrow:hover{
  color:#87CEEB;
}

.action-lightbox-close{
  position:absolute;
  z-index:2;
  top:15px;
  right:20px;
  width:48px;
  height:48px;
  font-size:42px;
  font-weight:300;
  line-height:1;
}

.action-lightbox-arrow{
  width:64px;
  height:84px;
  font-size:62px;
  font-weight:300;
  line-height:1;
}

.action-lightbox-prev{
  justify-self:end;
}

.action-lightbox-next{
  justify-self:start;
}

body.action-lightbox-open{
  overflow:hidden;
}

@media(max-width:1100px){
  .action-wall{
    column-count:3;
  }
}

@media(max-width:780px){
  .action-hero-inner{
    padding:50px 0 48px;
  }

  .action-hero p{
    font-size:16px;
  }

  .action-wall-section{
    padding:42px 0 58px;
  }

  .action-wall{
    column-count:2;
    column-gap:14px;
  }

  .action-photo{
    margin-bottom:14px;
  }

  .action-photo img{
    border-width:5px;
  }

  .action-lightbox{
    grid-template-columns:48px minmax(0,1fr) 48px;
  }

  .action-lightbox-arrow{
    width:44px;
    font-size:48px;
  }
}

@media(max-width:480px){
  .action-hero h1{
    font-size:48px;
  }

  .action-wall{
    column-count:1;
  }

  .action-photo{
    width:94%;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:22px;
  }

  .action-lightbox{
    grid-template-columns:38px minmax(0,1fr) 38px;
  }

  .action-lightbox-stage{
    padding:52px 4px;
  }

  .action-lightbox-arrow{
    width:36px;
    font-size:42px;
  }
}




/* News • Major Watson — red text only, left of Home */
.site-header .nav a.nav-major-news,
.site-header .nav a.nav-major-news:visited{
  color:#e51d2a !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.site-header .nav a.nav-major-news:hover,
.site-header .nav a.nav-major-news.active{
  color:#c91420 !important;
  background:transparent !important;
  border:0 !important;
}


/* FINAL: unified Major Watson news link styling */
.site-header .nav a.nav-major-news,
.site-header .nav a.nav-major-news:link,
.site-header .nav a.nav-major-news:visited,
.site-header .nav a.nav-major-news:hover,
.site-header .nav a.nav-major-news:active,
.site-header .nav a.nav-major-news.active{
  color:#e51d2a !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;
}


/* =========================================================
   GTS LIVE — retro TV "ON AIR" navigation badge + live page
   Toggle live state in script.js: window.GTS_STREAM_IS_LIVE
   ========================================================= */
.site-header .nav a.nav-live,
.site-header .nav a.nav-live:link,
.site-header .nav a.nav-live:visited{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:-2px;
  padding:7px 12px 6px;
  border:2px solid #7f8792 !important;
  border-radius:5px;
  background:#15191f !important;
  color:#d7dbe0 !important;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  font-weight:900;
  letter-spacing:1.5px;
  line-height:1;
  text-transform:uppercase;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 2px 6px rgba(0,0,0,.22) !important;
  text-decoration:none !important;
}
.site-header .nav a.nav-live:hover{
  color:#fff !important;
  border-color:#aab1ba !important;
  background:#20262d !important;
}
.live-led{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:#6c727b;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.15);
}
.site-header .nav a.nav-live.is-live{
  color:#fff !important;
  background:#a80712 !important;
  border-color:#ff4c57 !important;
  box-shadow:0 0 10px rgba(229,29,42,.75),0 0 22px rgba(229,29,42,.35),inset 0 0 0 1px rgba(255,255,255,.16) !important;
}
.site-header .nav a.nav-live.is-live .live-led{
  background:#fff;
  box-shadow:0 0 5px #fff,0 0 11px #fff;
  animation:gts-live-pulse 1.2s ease-in-out infinite;
}
@keyframes gts-live-pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.45;transform:scale(.82)}
}

.live-page{
  background:#06152c;
  color:#fff;
  min-height:65vh;
  padding:54px 0 68px;
  position:relative;
  overflow:hidden;
}
.live-page:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0,rgba(255,255,255,.08) 1px,transparent 1px,transparent 4px);
}
.live-shell{position:relative;z-index:1;}
.live-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  color:#f4f7fb;
  font-size:13px;
  font-weight:900;
  letter-spacing:2px;
  text-transform:uppercase;
}
.live-kicker .live-led{width:10px;height:10px;flex-basis:10px;background:#e51d2a;box-shadow:0 0 10px rgba(229,29,42,.85);}
.live-page h1{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(42px,7vw,82px);
  line-height:.95;
  letter-spacing:-2px;
  text-transform:uppercase;
}
.live-deck{
  max-width:760px;
  margin:0 0 28px;
  color:#c9d5e5;
  font-size:18px;
  line-height:1.55;
}
.live-tv-frame{
  position:relative;
  max-width:1100px;
  margin:0 auto;
  padding:15px;
  border:3px solid #8c929a;
  border-radius:18px;
  background:linear-gradient(145deg,#282d33,#111519);
  box-shadow:0 24px 65px rgba(0,0,0,.45),inset 0 0 0 2px rgba(255,255,255,.07);
}
.live-tv-bezel{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  border:3px solid #080a0d;
  border-radius:10px;
  background:#000;
  box-shadow:inset 0 0 25px rgba(0,0,0,.9);
}
.live-tv-bezel iframe{width:100%;height:100%;border:0;display:block;}
.live-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:30px;
  text-align:center;
  background:radial-gradient(circle at center,#12325d 0,#07182f 58%,#020913 100%);
}
.live-placeholder .on-air-sign{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 18px;
  border:2px solid #ff6770;
  border-radius:6px;
  background:#a80712;
  color:#fff;
  font-size:18px;
  font-weight:900;
  letter-spacing:2px;
  box-shadow:0 0 18px rgba(229,29,42,.55);
}
.live-placeholder h2{margin:4px 0 0;color:#fff;font-size:clamp(26px,4vw,44px);}
.live-placeholder p{max-width:640px;margin:0;color:#cbd6e5;}
.live-controls{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  margin-top:24px;
}
.live-controls .btn{min-width:190px;text-align:center;}
.live-controls .btn.live-youtube{background:#e51d2a;border-color:#e51d2a;}
.live-controls .btn.live-youtube:hover{background:#c91420;border-color:#c91420;}
.live-note{
  max-width:820px;
  margin:20px auto 0;
  color:#9fb0c5;
  font-size:14px;
  line-height:1.5;
  text-align:center;
}
@media(max-width:1120px){
  .site-header .nav a.nav-live{margin:0;padding:10px 12px;justify-content:center;}
  .live-page{padding-top:38px;}
}

/* =========================================================
   GTS LIVE — automatic YouTube archive
   ========================================================= */
.live-archive{margin-top:54px;text-align:left;}
.live-archive-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.22);}
.live-archive-heading h2{margin:3px 0 0;color:#fff;font-size:clamp(1.7rem,3vw,2.6rem);}
.live-archive-heading a{color:#fff;font-weight:800;text-decoration:none;white-space:nowrap;}
.live-archive-heading a:hover{text-decoration:underline;}
.live-archive-eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#ff3b3b;font-weight:900;}
.live-archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.live-archive-card{display:block;color:#fff;text-decoration:none;background:rgba(7,17,35,.78);border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 30px rgba(0,0,0,.18);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;overflow:hidden;}
.live-archive-card:hover{transform:translateY(-4px);border-color:rgba(255,59,59,.72);box-shadow:0 18px 38px rgba(0,0,0,.28);}
.live-archive-thumb{position:relative;display:block;aspect-ratio:16/9;background:#050b16;overflow:hidden;}
.live-archive-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.live-play{position:absolute;left:14px;bottom:12px;width:42px;height:30px;border-radius:8px;display:grid;place-items:center;background:#e11616;color:#fff;font-size:.84rem;box-shadow:0 4px 16px rgba(0,0,0,.35);}
.live-archive-copy{display:block;padding:14px 15px 16px;}
.live-archive-copy strong{display:block;line-height:1.3;font-size:.98rem;}
.live-archive-copy small{display:block;margin-top:8px;color:rgba(255,255,255,.68);font-size:.78rem;}
.live-archive-empty{padding:26px;border:1px dashed rgba(255,255,255,.28);color:rgba(255,255,255,.78);background:rgba(7,17,35,.56);}
@media(max-width:1050px){.live-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.live-archive-heading{align-items:flex-start;flex-direction:column;}.live-archive-grid{grid-template-columns:1fr;}}


/* =========================================================
   GTS FINAL NAV — LIVE first, Home right, More dropdown
   ========================================================= */
.site-header .nav{
  align-items:center;
  gap:14px !important;
}
.site-header .nav > li{
  position:relative;
  flex:0 0 auto;
}
.site-header .nav > li > a,
.site-header .nav-more-toggle{
  white-space:nowrap;
}

/* Keep the two public-service tools visible and visually prominent. */
.site-header .nav > li > a.nav-priority,
.site-header .nav > li > a.nav-priority:link,
.site-header .nav > li > a.nav-priority:visited{
  padding:9px 10px !important;
  color:#fff !important;
  background:rgba(74,144,217,.18);
  border:1px solid rgba(135,206,235,.55) !important;
  border-radius:4px;
}

.site-header .nav > li > a.nav-priority:hover,
.site-header .nav > li > a.nav-priority:focus-visible,
.site-header .nav > li > a.nav-priority.active{
  color:#07162d !important;
  background:#87ceeb;
  border-color:#87ceeb !important;
}

@media(min-width:1121px) and (max-width:1240px){
  .site-header .nav{gap:9px !important}
  .site-header .nav > li > a,
  .site-header .nav-more-toggle{font-size:12px !important;letter-spacing:.055em !important}
  .site-header .nav > li > a.nav-priority{padding:8px 7px !important}
}
.site-header .nav-more-toggle{
  appearance:none;
  border:0;
  border-bottom:2px solid transparent;
  background:transparent;
  color:#fff;
  font:inherit;
  font-weight:700;
  letter-spacing:inherit;
  text-transform:inherit;
  cursor:pointer;
  padding:8px 0;
}
.site-header .nav-more-toggle:hover,
.site-header .nav-more-toggle.active,
.site-header .nav-more.is-open > .nav-more-toggle{
  color:var(--cyan);
  border-bottom-color:var(--cyan);
}
.site-header .nav-dropdown{
  position:absolute;
  z-index:1000;
  top:calc(100% + 8px);
  left:50%;
  transform:translateX(-50%) translateY(-4px);
  min-width:230px;
  margin:0;
  padding:8px;
  list-style:none;
  background:#07162d;
  border:1px solid rgba(255,255,255,.18);
  border-radius:7px;
  box-shadow:0 16px 32px rgba(0,0,0,.32);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.site-header .nav-more.is-open > .nav-dropdown,
.site-header .nav-more:focus-within > .nav-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.site-header .nav-dropdown li{width:100%;}
.site-header .nav-dropdown a,
.site-header .nav-dropdown a:link,
.site-header .nav-dropdown a:visited{
  display:block !important;
  width:100%;
  padding:10px 12px !important;
  border:0 !important;
  border-radius:4px;
  color:#fff !important;
  text-decoration:none;
  font-size:13px !important;
  letter-spacing:.055em !important;
}
.site-header .nav-dropdown a:hover,
.site-header .nav-dropdown a.active{
  background:rgba(74,144,217,.18) !important;
  color:var(--cyan) !important;
}

/* The retro live lamp blinks only while YouTube reports that GTS is live. */
.site-header .nav a.nav-live.is-live .live-led{
  animation:gts-live-lamp 1.05s steps(1,end) infinite;
}
@keyframes gts-live-lamp{
  0%,48%{background:#fff;opacity:1;box-shadow:0 0 5px #fff,0 0 12px #fff,0 0 20px rgba(255,255,255,.65)}
  49%,100%{background:#5b0a0f;opacity:.38;box-shadow:none}
}

/* Archive selections play in the main TV. */
.live-archive-card{cursor:pointer;}
.live-archive-card.is-playing{
  outline:2px solid #e51d2a;
  outline-offset:3px;
}

@media(max-width:1120px){
  .site-header .nav-more{width:100%;}
  .site-header .nav-more-toggle{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:46px;
    padding:10px 12px !important;
    border:1px solid transparent;
    border-radius:4px;
    font-size:14px !important;
    letter-spacing:.08em !important;
    color:#fff;
  }
  .site-header .nav-more-toggle:hover,
  .site-header .nav-more-toggle.active,
  .site-header .nav-more.is-open > .nav-more-toggle{
    background:rgba(74,144,217,.14);
    border-color:rgba(135,206,235,.32) !important;
  }
  .site-header .nav-dropdown{
    position:static;
    transform:none !important;
    display:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    min-width:0;
    width:100%;
    margin:4px 0 0;
    padding:4px 0 4px 12px;
    background:rgba(0,0,0,.16);
    border:0;
    border-left:2px solid rgba(135,206,235,.35);
    border-radius:0;
    box-shadow:none;
  }
  .site-header .nav-more.is-open > .nav-dropdown{display:block;}
  .site-header .nav-dropdown a{min-height:42px !important;}
}


/* =========================================================
   GTS NAV DROPDOWN FIX — real flyout, never an exposed list
   ========================================================= */
@media (min-width: 1121px){
  .site-header .nav-more{position:relative !important;}
  .site-header .nav-more > .nav-dropdown{
    display:block !important;
    position:absolute !important;
    top:100% !important;
    left:50% !important;
    width:245px !important;
    min-width:245px !important;
    margin:10px 0 0 !important;
    padding:8px !important;
    list-style:none !important;
    background:#07162d !important;
    border:1px solid rgba(255,255,255,.20) !important;
    border-radius:8px !important;
    box-shadow:0 16px 34px rgba(0,0,0,.40) !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translate(-50%,-6px) !important;
    transition:opacity .16s ease, transform .16s ease, visibility .16s ease !important;
  }
  .site-header .nav-more.is-open > .nav-dropdown,
  .site-header .nav-more:hover > .nav-dropdown,
  .site-header .nav-more:focus-within > .nav-dropdown{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translate(-50%,0) !important;
  }
  .site-header .nav-more > .nav-dropdown > li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
  .site-header .nav-more > .nav-dropdown > li > a{
    display:block !important;
    width:100% !important;
    padding:11px 13px !important;
    border:0 !important;
    border-radius:5px !important;
  }
}

@media (max-width:1120px){
  .site-header .nav-more > .nav-dropdown{display:none !important;}
  .site-header .nav-more.is-open > .nav-dropdown,
  .site-header .nav-more-toggle[aria-expanded="true"] + .nav-dropdown{display:block !important;}
  .site-header .nav-more-toggle{touch-action:manipulation;}
}


/* ===== LIVE NAV CLICK-AFFORDANCE + ALWAYS-VISIBLE BEACON ===== */
.site-header .nav a.nav-live,
.site-header .nav a.nav-live:link,
.site-header .nav a.nav-live:visited{
  position:relative;
  cursor:pointer;
  padding-left:11px;
  padding-right:11px;
}

/* The lamp gently blinks even when off-air so visitors notice the control. */
.site-header .nav a.nav-live .live-led{
  background:#d21825;
  box-shadow:0 0 5px rgba(229,29,42,.55), inset 0 0 0 1px rgba(255,255,255,.16);
  animation:gts-live-beacon 1.8s steps(2,end) infinite;
}

/* Stronger, faster ON AIR signal. */
.site-header .nav a.nav-live.is-live .live-led{
  background:#fff;
  box-shadow:0 0 6px #fff,0 0 14px #fff,0 0 20px rgba(255,40,52,.9);
  animation:gts-live-onair-blink .75s steps(2,end) infinite;
}
.site-header .nav a.nav-live.is-live{
  animation:gts-live-sign-glow 1.5s ease-in-out infinite;
}

@keyframes gts-live-beacon{
  0%,49%{opacity:1;filter:brightness(1.2)}
  50%,100%{opacity:.22;filter:brightness(.55)}
}
@keyframes gts-live-onair-blink{
  0%,49%{opacity:1;transform:scale(1)}
  50%,100%{opacity:.12;transform:scale(.78)}
}
@keyframes gts-live-sign-glow{
  0%,100%{box-shadow:0 0 10px rgba(229,29,42,.75),0 0 22px rgba(229,29,42,.35),inset 0 0 0 1px rgba(255,255,255,.16)!important}
  50%{box-shadow:0 0 18px rgba(229,29,42,1),0 0 34px rgba(229,29,42,.62),inset 0 0 0 1px rgba(255,255,255,.22)!important}
}

/* Desktop cue: appears on hover/focus without taking permanent menu space. */
@media (hover:hover) and (pointer:fine){
  .site-header .nav a.nav-live::after{
    content:'CLICK TO WATCH';
    position:absolute;
    left:50%;
    top:calc(100% + 8px);
    transform:translateX(-50%) translateY(-3px);
    z-index:10000;
    white-space:nowrap;
    padding:5px 8px;
    border-radius:4px;
    background:#08162c;
    color:#fff;
    border:1px solid rgba(255,255,255,.25);
    font-size:10px;
    font-weight:800;
    letter-spacing:.8px;
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease,transform .18s ease;
  }
  .site-header .nav a.nav-live:hover::after,
  .site-header .nav a.nav-live:focus-visible::after{
    opacity:1;
    transform:translateX(-50%) translateY(0);
  }
}

@media (prefers-reduced-motion:reduce){
  .site-header .nav a.nav-live .live-led,
  .site-header .nav a.nav-live.is-live,
  .site-header .nav a.nav-live.is-live .live-led{animation:none!important}
}

/* =========================================================
   GTS NAVIGATION HARDENING — desktop / tablet / phone
   2026-09-01
   Keeps the desktop bar intact and turns it into a reliable
   touch-friendly hamburger menu on tablets and phones.
   ========================================================= */
@media (min-width:1121px){
  .site-header .menu-toggle{display:none !important;}
  .site-header .navbar{overflow:visible !important;}
  .site-header .nav{overflow:visible !important;}
}

@media (max-width:1120px){
  .site-header{z-index:10000 !important;}
  .site-header .navbar{
    position:relative !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:
      "brand support"
      "toggle toggle"
      "nav nav" !important;
    align-items:center !important;
    width:100% !important;
    min-height:0 !important;
    gap:9px 12px !important;
    padding:11px 0 !important;
    overflow:visible !important;
  }

  .site-header .brand{
    grid-area:brand !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  .site-header .menu-toggle{
    grid-area:toggle !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:46px !important;
    margin:0 !important;
    padding:10px 14px !important;
    touch-action:manipulation;
  }

  .site-header #gts-support-launcher{
    grid-area:support !important;
    position:static !important;
    inset:auto !important;
    justify-self:end !important;
    margin:0 !important;
  }

  .site-header .nav{
    grid-area:nav !important;
    position:static !important;
    inset:auto !important;
    transform:none !important;
    display:none !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:stretch !important;
    justify-content:stretch !important;
    width:100% !important;
    max-width:none !important;
    max-height:calc(100dvh - 120px) !important;
    margin:0 !important;
    padding:9px 0 3px !important;
    gap:6px 10px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    border-top:1px solid rgba(255,255,255,.16) !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }

  .site-header .navbar.menu-open .nav{display:grid !important;}
  .site-header .nav > li{width:100% !important;min-width:0 !important;}

  .site-header .nav > li > a,
  .site-header .nav-more-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:46px !important;
    padding:10px 12px !important;
    border:1px solid transparent !important;
    border-radius:5px !important;
    white-space:normal !important;
    line-height:1.2 !important;
    touch-action:manipulation;
  }

  .site-header .nav-more{position:relative !important;}
  .site-header .nav-more > .nav-dropdown{
    position:static !important;
    inset:auto !important;
    transform:none !important;
    display:none !important;
    width:100% !important;
    min-width:0 !important;
    margin:4px 0 0 !important;
    padding:4px 0 4px 10px !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    background:rgba(0,0,0,.17) !important;
    border:0 !important;
    border-left:2px solid rgba(135,206,235,.38) !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }

  .site-header .nav-more.is-open > .nav-dropdown,
  .site-header .nav-more-toggle[aria-expanded="true"] + .nav-dropdown{
    display:block !important;
  }

  .site-header .nav-dropdown a{
    min-height:44px !important;
    padding:10px 12px !important;
    white-space:normal !important;
  }
}

@media (max-width:640px){
  .container{width:min(var(--max),calc(100% - 24px));}
  .site-header .nav{grid-template-columns:1fr !important;}
  .site-header .brand{font-size:18px !important;white-space:normal !important;}
}

@media (max-width:390px){
  .site-header .navbar{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "brand"
      "support"
      "toggle"
      "nav" !important;
  }
  .site-header #gts-support-launcher{justify-self:stretch !important;width:100% !important;}
}

/* =========================================================
   GTS MOBILE NAV — ONE HAMBURGER, FLAT MENU
   2026-09-05
   On tablet/phone widths, submenu toggles disappear and all
   submenu links become ordinary items in the main hamburger.
   Desktop dropdown behavior is unchanged.
   ========================================================= */
@media (max-width:1120px){
  .site-header .nav-more{
    display:contents !important;
  }

  .site-header .nav-more > .nav-more-toggle{
    display:none !important;
  }

  .site-header .nav-more > .nav-dropdown{
    display:contents !important;
    position:static !important;
    inset:auto !important;
    transform:none !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .site-header .nav-more > .nav-dropdown > li{
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  .site-header .nav-more > .nav-dropdown > li > a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:46px !important;
    margin:0 !important;
    padding:10px 12px !important;
    border:1px solid transparent !important;
    border-radius:5px !important;
    background:transparent !important;
    white-space:normal !important;
    line-height:1.2 !important;
  }
}


/* =========================================================
   GTS DEFINITIVE MOBILE HAMBURGER — FLAT LINKS ONLY
   2026-09-05
   Mobile uses .gts-mobile-flat-nav generated by script.js.
   Desktop continues to use the original .nav dropdowns.
   ========================================================= */
.gts-mobile-flat-nav{display:none;}

@media (max-width:1120px){
  /* Never expose the nested desktop nav on mobile. */
  .site-header .nav{display:none !important;}
  .site-header .navbar.menu-open .nav{display:none !important;}

  .site-header .gts-mobile-flat-nav{
    grid-area:nav !important;
    list-style:none !important;
    position:static !important;
    display:none !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    width:100% !important;
    max-height:calc(100dvh - 120px) !important;
    margin:0 !important;
    padding:9px 0 3px !important;
    gap:6px 10px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    border-top:1px solid rgba(255,255,255,.16) !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }

  .site-header .navbar.menu-open .gts-mobile-flat-nav{
    display:grid !important;
  }

  .site-header .gts-mobile-flat-nav > li{
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  .site-header .gts-mobile-flat-nav a,
  .site-header .gts-mobile-flat-nav a:link,
  .site-header .gts-mobile-flat-nav a:visited{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    min-height:46px !important;
    margin:0 !important;
    padding:10px 12px !important;
    border:1px solid transparent !important;
    border-radius:5px !important;
    background:transparent !important;
    white-space:normal !important;
    line-height:1.2 !important;
    text-decoration:none !important;
    touch-action:manipulation;
  }
}

@media (max-width:640px){
  .site-header .gts-mobile-flat-nav{
    grid-template-columns:1fr !important;
  }
}

@media (min-width:1121px){
  .site-header .gts-mobile-flat-nav{display:none !important;}
}
