/* Shared GlassBots header and footer.
   Restores the original light header and the original brand-logo lockup, and
   compacts the footer. Loaded after launch.css on every active page.
   Scope is deliberately limited to .launch-header and .launch-footer so page
   bodies are untouched. */

body[data-launch]{
  --gb-navy:#07345B;
  --gb-night:#050C1E;
  --gb-cyan:#27C1D8;
  --gb-ink:#0B2540;
  --gb-body:#2B4B61;
  --gb-line:#DCE7EE;
  --gb-chrome-sans:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,Inter,"Helvetica Neue",Arial,sans-serif;
}

/* ---------- header ---------- */
body[data-launch] .launch-header{
  background:#fff;border-bottom:1px solid var(--gb-line);
  position:sticky;top:0;z-index:60;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease;
}
/* See the ocean only once the header has scrolled onto it.
   At rest the bar is white, so nav stays dark — never white-on-white. */
body[data-launch] .launch-header.is-scrolled.is-over-sea{
  background:transparent;border-bottom-color:transparent;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
body[data-launch] .launch-header.is-scrolled.is-over-sea .nav>a{
  color:#E8F2FA;
}
body[data-launch] .launch-header.is-scrolled.is-over-sea .nav>a:hover,
body[data-launch] .launch-header.is-scrolled.is-over-sea .nav>a[aria-current="page"]{
  color:#fff;border-bottom-color:var(--gb-cyan);
}
body[data-launch] .launch-header.is-scrolled.is-over-sea .gb-lang-btn{
  background:transparent;border-color:rgba(255,255,255,.35);
}
body[data-launch] .launch-header.is-scrolled.is-over-sea .menu{
  background:transparent;color:#fff;border-color:rgba(255,255,255,.45);
}
body[data-launch] .launch-header:has(.nav.open){
  background:#fff;border-bottom-color:var(--gb-line);
}
body[data-launch] .launch-header:has(.nav.open) .nav>a{color:var(--gb-body)}
body[data-launch] .launch-header>.launch-shell{min-height:76px;gap:28px}
body[data-launch] .launch-brand{align-items:center}
body[data-launch] .launch-brand img{
  width:auto;height:54px;object-fit:contain;display:block;
  border-radius:3px 3px 0 0;
}
body[data-launch] .launch-header .nav{gap:28px}
body[data-launch] .launch-header .nav>a{
  font-family:var(--gb-chrome-sans);font-size:.9rem;font-weight:550;color:var(--gb-body);
  text-decoration:none;padding:4px 0;border-bottom:1.5px solid transparent;white-space:nowrap;
}
body[data-launch] .launch-header .nav>a:hover{color:var(--gb-navy);border-bottom-color:var(--gb-cyan)}
body[data-launch] .launch-header .nav>a[aria-current="page"]{color:var(--gb-navy);font-weight:650;border-bottom-color:var(--gb-cyan)}

/* the one shared button: identical on every page */
body[data-launch] .launch-header .nav>a.gb-cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:9px 18px;border-radius:10px;
  background:var(--gb-navy)!important;border:1px solid var(--gb-navy)!important;color:#fff!important;
  font-size:.9rem;font-weight:650;border-bottom-width:1px;box-shadow:none;
  transition:background-color .16s ease,border-color .16s ease;
}
body[data-launch] .launch-header .nav>a.gb-cta:hover{background:#0B4576!important;border-color:#0B4576!important}

body[data-launch] .launch-header a:focus-visible,
body[data-launch] .launch-header button:focus-visible{outline:3px solid #B4600A;outline-offset:3px;border-radius:8px}

/* ---------- shared ocean top band ----------
   The same evening horizon as the homepage hero, wrapped around the top
   section of every page. hero-sea.jpg is the unmodified original photograph. */
.gb-topsea{
  background-color:var(--gb-navy);
  background-image:
    linear-gradient(180deg,rgba(4,26,48,.78) 0%,rgba(5,34,60,.60) 40%,rgba(4,24,44,.70) 74%,rgba(3,18,34,.88) 100%),
    url("hero-sea.jpg");
  background-position:center, center 42%;
  background-size:cover, cover;
  background-repeat:no-repeat, no-repeat;
  text-align:center;
}
body[data-launch] .gb-topsea>section{padding-top:62px!important;padding-bottom:66px!important}
body[data-launch] .gb-topsea h1,
body[data-launch] .gb-topsea h2,
body[data-launch] .gb-topsea h3{color:#fff;text-shadow:0 2px 18px rgba(2,18,34,.5)}
body[data-launch] .gb-topsea h1{margin-inline:auto;max-width:18em}
body[data-launch] .gb-topsea p,
body[data-launch] .gb-topsea li{color:#E6F1F8;text-shadow:0 1px 12px rgba(2,18,34,.55)}
body[data-launch] .gb-topsea .eyebrow{color:#D2F4FB!important}
/* launch.css forces .page-hero .lead and .hero .intro to a dark muted grey with
   !important, which is invisible on the photograph. */
body[data-launch] .gb-topsea .lead,
body[data-launch] .gb-topsea .intro,
body[data-launch] .gb-topsea .launch-lead,
body[data-launch] .gb-topsea .launch-note,
body[data-launch] .gb-topsea .meta,
body[data-launch] .gb-topsea .other,
body[data-launch] .gb-topsea .privacy-facts{color:#E6F1F8!important}
body[data-launch] .gb-topsea .launch-lead,
body[data-launch] .gb-topsea .lead,
body[data-launch] .gb-topsea .intro,
body[data-launch] .gb-topsea .launch-note,
body[data-launch] .gb-topsea .meta,
body[data-launch] .gb-topsea .other{margin-inline:auto}
body[data-launch] .gb-topsea a:not(.button):not(.primary){color:#D2F4FB}
body[data-launch] .gb-topsea .launch-actions{justify-content:center}
body[data-launch] .gb-topsea .button.primary,
body[data-launch] .gb-topsea a.primary,
body[data-launch] .gb-topsea .button.nav-cta{
  background:var(--gb-cyan);border-color:var(--gb-cyan);color:#04243E;
}
body[data-launch] .gb-topsea .button.secondary{
  background:transparent;border:1px solid rgba(255,255,255,.42);color:#fff;
}
body[data-launch] .gb-topsea .button.secondary:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.75)}
body[data-launch] .gb-topsea a:focus-visible,
body[data-launch] .gb-topsea button:focus-visible{outline:3px solid #8BE6F5;outline-offset:3px;border-radius:8px}
/* Guard mark sits on the photograph with no frame, blur or frosted card. */
body[data-launch] .gb-topsea .launch-visual,
body.page-sentinel .gb-topsea .launch-visual{
  background:transparent;border:0;padding:0;max-width:420px;margin-inline:auto;
  backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;filter:none;
}
body[data-launch] .gb-topsea .launch-visual img{border-radius:0;display:block;margin-inline:auto}
body[data-launch] .gb-topsea .launch-hero{
  grid-template-columns:1fr!important;justify-items:center;text-align:center;gap:36px;
}
/* Guard page: restored larger mark (280px), rounded, tighter gap to the cards. */
body.page-sentinel .gb-topsea .launch-hero{gap:18px}
body.page-sentinel .gb-topsea>section{padding-bottom:33px!important}
body.page-sentinel .gb-topsea .launch-visual{max-width:280px;overflow:hidden;border-radius:18px}
body.page-sentinel .gb-topsea .launch-visual img{
  border-radius:18px;width:280px;max-width:280px;height:auto;max-height:none;
}
body.page-sentinel .launch-section{padding-top:32px}
body[data-launch] .gb-topsea .launch-hero>div{max-width:40em;margin-inline:auto}

/* centred section titles on the light body below the band */
body[data-launch] .gb-centre>h2,
body[data-launch] .gb-centre>h1{text-align:center;margin-inline:auto;max-width:20em}
body[data-launch] .gb-centre>.launch-lead,
body[data-launch] .gb-centre>.launch-note{text-align:center;margin-inline:auto}

/* ---------- evening seafloor: BACKGROUND behind the last content ----------
   Not an extra strip. Lower water only from hero-sea.jpg, same grim overlay
   as the top band, height 1.5× the footer, sitting on the footer. */
body[data-launch]{
  --gb-foot-h:148px;
  --gb-sea-h:calc(var(--gb-foot-h) * 1.5);
}
/* Guard: ocean only covers the lower two-thirds of the evidence cards. */
body.page-sentinel{
  --gb-sea-h:156px;
}
body[data-launch] main{
  position:relative;
  isolation:isolate;
}
body[data-launch] main::after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;
  height:var(--gb-sea-h);
  z-index:0;
  pointer-events:none;
  background-color:var(--gb-navy);
  background-image:
    linear-gradient(180deg,rgba(4,26,48,.78) 0%,rgba(5,34,60,.66) 42%,rgba(3,18,34,.90) 100%),
    url("hero-sea-lower.jpg");
  background-position:center, center bottom;
  background-size:cover, cover;
  background-repeat:no-repeat, no-repeat;
}
body[data-launch] main>*{position:relative;z-index:1}

/* Download: the FAQ block sits on ocean, so every line in it must be light.
   Paint the whole .help section — a short ::after would leave the heading on
   canvas and the answers invisible. */
body[data-launch] main:has(> .help)::after{display:none}
body[data-launch] main > .help{
  max-width:none!important;
  width:100%;
  margin:0!important;
  padding:52px max(32px, calc((100% - 1116px) / 2)) 48px;
  color:#E8F2FA;
  background-color:var(--gb-navy);
  background-image:
    linear-gradient(180deg,rgba(4,26,48,.78) 0%,rgba(5,34,60,.66) 42%,rgba(3,18,34,.90) 100%),
    url("hero-sea-lower.jpg");
  background-position:center, center bottom;
  background-size:cover, cover;
  background-repeat:no-repeat, no-repeat;
}
body[data-launch] main > .help h2,
body[data-launch] main > .help h3,
body[data-launch] main > .help p,
body[data-launch] main > .help .eyebrow,
body[data-launch] main > .help summary,
body[data-launch] main > .help > div > p:last-child,
body[data-launch] main > .help .questions p{
  color:#F3F8FC!important;
  text-shadow:0 1px 12px rgba(2,18,34,.55);
}
body[data-launch] main > .help .eyebrow{color:#D2F4FB!important}
body[data-launch] main > .help a{color:#8BE1EF}
body[data-launch] main > .help .questions details{border-bottom-color:rgba(255,255,255,.22)}

/* Sample reports: honesty line sits on the ocean. */
body[data-launch] .data-honesty-short{
  color:#E6F1F8!important;
  text-shadow:0 1px 12px rgba(2,18,34,.55);
  margin:8px auto 0!important;
  padding-bottom:16px;
}

/* ---------- footer ---------- */
body[data-launch] .launch-footer{
  background:var(--gb-night);border-top:0;color:#D4E6F2;
  margin:0!important;padding:28px 0 22px!important;
  position:relative;z-index:2;
}
body[data-launch] .gb-foot{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px 32px;
}
.gb-foot-brand{display:flex;align-items:center;gap:20px;min-width:0}
body[data-launch] .launch-wordmark{display:inline-block;line-height:0;flex:0 0 auto}
body[data-launch] .launch-wordmark img{height:32px;width:auto;display:block}
body[data-launch] .gb-foot-brand p{
  margin:0;color:#9FBBD2;font-family:var(--gb-chrome-sans);font-size:.9rem;line-height:1.45;
}
body[data-launch] .launch-footer nav{display:flex;flex-wrap:wrap;gap:22px;margin:0;justify-content:flex-end}
body[data-launch] .launch-footer nav a{
  color:#CBDDEB;font-family:var(--gb-chrome-sans);font-size:.86rem;text-decoration:none;
}
body[data-launch] .launch-footer nav a:hover{color:var(--gb-cyan)}
body[data-launch] .gb-foot-legal{
  grid-column:1/-1;display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding-top:16px;border-top:1px solid rgba(255,255,255,.12);
}
body[data-launch] .launch-footer small{color:#8AA6BF;font-family:var(--gb-chrome-sans);font-size:.82rem}
.ssl-seal{display:inline-flex;align-items:center;line-height:0}
.ssl-seal a{border:0;display:inline-flex;cursor:pointer}
.ssl-seal img{display:block;width:90px;height:auto}
body[data-launch] .launch-footer a:focus-visible{outline:3px solid #8BE6F5;outline-offset:3px;border-radius:6px}

@media(max-width:900px){
  body[data-launch] .launch-header>.launch-shell{min-height:70px;gap:16px}
  body[data-launch] .launch-brand img{height:46px}
  body[data-launch] .launch-header .menu{
    background:#fff;border:1px solid #B4C7D2;color:var(--gb-ink);
    border-radius:8px;padding:9px 14px;font:inherit;font-size:.9rem;font-weight:600;
  }
  /* site.css positions .nav.open absolutely with a white panel; keep it, but
     align it to this header and give it a visible edge. */
  body[data-launch] .launch-header .nav.open{
    position:absolute;top:100%;left:0;right:0;gap:4px;padding:12px 28px 20px;
    background:#fff;border-bottom:1px solid var(--gb-line);
    box-shadow:0 22px 36px -26px rgba(7,52,91,.45);z-index:70;
  }
  body[data-launch] .launch-header .nav>a{padding:12px 2px;border-bottom:0}
  body[data-launch] .launch-header .nav>a.gb-cta{margin-top:10px;justify-content:center}
  body[data-launch] .gb-foot{grid-template-columns:1fr;gap:18px}
  body[data-launch] .launch-footer nav{justify-content:flex-start;gap:18px}
}

@media(max-width:600px){
  body.page-sentinel .gb-topsea .launch-hero .launch-visual{display:block}
  body[data-launch] .launch-header .nav.open{padding:10px 18px 18px}
  body[data-launch] .launch-brand img{height:42px}
  .gb-foot-brand{flex-direction:column;align-items:flex-start;gap:12px}
  body[data-launch] .launch-footer{margin-top:0!important;padding:24px 0 20px!important}
  body[data-launch] .launch-footer nav{gap:14px}
}
