/* ==========================================================================
   /p/ advertorials and /ws/ work samples.
   ==========================================================================

   Loaded ONLY by layouts/proposal.njk. Every rule is scoped under a .pr-*
   class or .pr-body, so even if this file were accidentally linked from a
   normal GSN page it could not restyle anything. There are no element
   selectors at the top level and no :root block — the design tokens come from
   main.css, which proposal.njk loads first.

   The sales letter brings its own .sl4-* styles inside the fragment the loader
   injects; nothing here targets .sl4-*, so the two never fight.
   ========================================================================== */

/* --- Masthead adaptation ------------------------------------------------- */

/* The masthead (partials/proposal-header.njk) is the same markup as the
   site-wide header.njk — logo, search, primary mega-menu — and is styled
   entirely by main.css. Nothing to add here; the advertisement label is
   stated once, in the hero eyebrow. */

/* --- Hero ---------------------------------------------------------------- */

/* The background is a self-contained SVG data URI (gradient waves + node
   accents), adapted from the SJ advertorial template. It is inlined rather
   than shipped as a file for the same reason the placeholder graphics below
   are: a proposal page must render identically from a cold cache, on a direct
   link, with no second request that could 404 behind the /p/* and /ws/* edge
   Function. The flat navy behind it is the fallback if the data URI is ever
   stripped by a strict image policy. */
.pr-hero {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: var(--color-text-on-navy);
  padding: var(--space-8) var(--space-4);
  background: var(--color-navy-deep) url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201600%20720'%20preserveAspectRatio='xMidYMid%20slice'%3E%3Cdefs%3E%3ClinearGradient%20id='bg'%20x1='0'%20y1='0'%20x2='1'%20y2='1'%3E%3Cstop%20offset='0'%20stop-color='%23050b14'/%3E%3Cstop%20offset='.45'%20stop-color='%230a1e30'/%3E%3Cstop%20offset='1'%20stop-color='%230e3644'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='c'%20x1='0'%20y1='0'%20x2='1'%20y2='0'%3E%3Cstop%20offset='0'%20stop-color='%230affff'%20stop-opacity='0'/%3E%3Cstop%20offset='.5'%20stop-color='%232ee6d6'%20stop-opacity='.6'/%3E%3Cstop%20offset='1'%20stop-color='%23008080'%20stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='g'%20x1='0'%20y1='0'%20x2='1'%20y2='0'%3E%3Cstop%20offset='0'%20stop-color='%23e0ae57'%20stop-opacity='0'/%3E%3Cstop%20offset='.5'%20stop-color='%23e0ae57'%20stop-opacity='.5'/%3E%3Cstop%20offset='1'%20stop-color='%23e0ae57'%20stop-opacity='0'/%3E%3C/linearGradient%3E%3CradialGradient%20id='r1'%3E%3Cstop%20offset='0'%20stop-color='%230affff'%20stop-opacity='.14'/%3E%3Cstop%20offset='1'%20stop-color='%230affff'%20stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient%20id='r2'%3E%3Cstop%20offset='0'%20stop-color='%23e0ae57'%20stop-opacity='.1'/%3E%3Cstop%20offset='1'%20stop-color='%23e0ae57'%20stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect%20width='1600'%20height='720'%20fill='url(%23bg)'/%3E%3Cellipse%20cx='1280'%20cy='120'%20rx='680'%20ry='340'%20fill='url(%23r1)'/%3E%3Cellipse%20cx='240'%20cy='640'%20rx='560'%20ry='300'%20fill='url(%23r2)'/%3E%3Cg%20fill='none'%20stroke-linecap='round'%3E%3Cpath%20d='M-40%20480%20C%20260%20380%20520%20560%20820%20470%20S%201380%20330%201660%20430'%20stroke='url(%23c)'%20stroke-width='2.5'/%3E%3Cpath%20d='M-40%20520%20C%20280%20420%20560%20600%20880%20505%20S%201400%20370%201660%20470'%20stroke='url(%23c)'%20stroke-width='1.8'%20opacity='.7'/%3E%3Cpath%20d='M-40%20560%20C%20300%20470%20600%20640%20940%20545%20S%201420%20415%201660%20515'%20stroke='url(%23c)'%20stroke-width='1.2'%20opacity='.45'/%3E%3Cpath%20d='M-40%20440%20C%20240%20350%20500%20520%20800%20435%20S%201360%20295%201660%20395'%20stroke='url(%23g)'%20stroke-width='1.6'%20opacity='.8'/%3E%3Cpath%20d='M-40%20600%20C%20320%20515%20640%20680%20980%20585%20S%201440%20460%201660%20555'%20stroke='url(%23g)'%20stroke-width='1'%20opacity='.4'/%3E%3C/g%3E%3Cg%20fill='%232ee6d6'%3E%3Ccircle%20cx='820'%20cy='470'%20r='3'%20opacity='.9'/%3E%3Ccircle%20cx='430'%20cy='430'%20r='2.2'%20opacity='.6'/%3E%3Ccircle%20cx='1180'%20cy='392'%20r='2.6'%20opacity='.7'/%3E%3C/g%3E%3Cg%20fill='%23e0ae57'%3E%3Ccircle%20cx='800'%20cy='435'%20r='2.4'%20opacity='.8'/%3E%3Ccircle%20cx='1300'%20cy='352'%20r='2'%20opacity='.5'/%3E%3C/g%3E%3C/svg%3E") center / cover no-repeat;
}

/* Overlay (the reference's .hero-overlay, as a pseudo-element so the markup
   stays free of an empty presentational div). Darkens the lower half so the
   title keeps its contrast wherever the wave graphic lands. */
.pr-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4, 12, 22, 0.15) 0%, rgba(4, 12, 22, 0.78) 100%);
}

.pr-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}

.pr-eyebrow {
  display: inline-block;
  font-family: var(--font-sans);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-ink);
  background: var(--color-gold-bright);
  padding: 0.3rem 0.6rem;
  border-radius: 2px;
  margin-bottom: var(--space-4);
}

.pr-hero-title {
  font-family: var(--font-serif);
  font-size: clamp(1.9rem, 4.5vw, 3rem);
  line-height: 1.14;
  margin: 0 0 var(--space-4);
  max-width: 34ch;
  color: inherit;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
}

.pr-hero-sub {
  font-family: var(--font-serif);
  font-size: clamp(1.02rem, 1.9vw, 1.22rem);
  line-height: 1.55;
  margin: 0;
  opacity: 0.92;
  max-width: 62ch;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
}

@media (max-width: 900px) {
  .pr-hero { min-height: 420px; }
  .pr-hero-title { max-width: none; }
}

@media (max-width: 600px) {
  .pr-hero { min-height: 340px; padding: var(--space-7) var(--space-4); }
}

/* --- Sponsor notice ------------------------------------------------------ */

/* Same visual language as the newsroom's .sponsor-notice, kept as its own rule
   so a restyle of editorial sponsored posts can never quietly soften the
   disclosure on a paid page. */
.pr-sponsor-notice {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-4);
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--color-gold-text);
  background: #fdf8ec;
  border-bottom: 1px solid var(--color-line);
}

.pr-sponsor-notice strong { color: inherit; }

/* --- Layout -------------------------------------------------------------- */

.pr-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-7) var(--space-4);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: var(--space-7);
  align-items: start;
}

@media (max-width: 900px) {
  .pr-wrapper { grid-template-columns: minmax(0, 1fr); }
  .pr-sidebar { order: -1; }
}

/* --- Article body -------------------------------------------------------- */

/* Scoped to .pr-article so these element selectors cannot escape the
   advertorial column. The body is generated markdown, so it is plain
   <p>/<h2>/<ul> with no classes to hook. */
.pr-article {
  font-family: var(--font-serif);
  font-size: 1.0625rem;
  line-height: 1.72;
  color: var(--color-text);
  max-width: 72ch;
}

.pr-article p { margin: 0 0 var(--space-5); }

.pr-article h2 {
  font-family: var(--font-serif);
  font-size: clamp(1.35rem, 2.6vw, 1.75rem);
  line-height: 1.25;
  margin: var(--space-7) 0 var(--space-4);
  color: var(--color-heading);
}

.pr-article h2::after {
  content: "";
  display: block;
  width: 54px;
  height: 2px;
  background: var(--color-gold);
  margin-top: var(--space-3);
}

.pr-article ol,
.pr-article ul { margin: 0 0 var(--space-5); padding-left: 1.35rem; }

.pr-article li { margin-bottom: var(--space-3); }

.pr-article a { color: var(--color-link); }

.pr-article img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: var(--space-6) 0 var(--space-3);
}

.pr-section-heading h2 { margin-top: var(--space-7); }

/* --- Inline image placeholders ------------------------------------------- */

/* Injected between article sections by the `prImagePlaceholders` filter (see
   .eleventy.js), which is called from layouts/proposal.njk and nowhere else.
   The four graphics are self-contained SVG data URIs copied from the SJ
   advertorial template. They live here rather than in the filter so the
   Eleventy config stays free of six kilobytes of encoded SVG, and so swapping
   a placeholder for real client artwork is a one-line CSS edit (or a per-page
   override) rather than a config change and a rebuild of every proposal.

   The graphic is a background on an empty element with role="img" + an
   aria-label supplied by the filter: it is decorative stand-in art, so there
   is nothing to caption inside the image itself, but a screen reader still
   hears what would be there in a live campaign. */
.pr-image-block { margin: var(--space-6) 0 var(--space-5); }

.pr-image-block .pr-image {
  width: 100%;
  aspect-ratio: 800 / 450;
  border-radius: 4px;
  background-color: var(--color-navy-deep);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.pr-image-caption {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-style: italic;
  line-height: 1.5;
  color: var(--color-text-muted);
  margin: var(--space-3) 0 0;
}

.pr-image--1 { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20800%20450'%20preserveAspectRatio='xMidYMid%20slice'%3E%3Cdefs%3E%3ClinearGradient%20id='bg1'%20x1='0'%20y1='0'%20x2='1'%20y2='1'%3E%3Cstop%20offset='0'%20stop-color='%230a1e30'/%3E%3Cstop%20offset='1'%20stop-color='%230e3644'/%3E%3C/linearGradient%3E%3CradialGradient%20id='glow1'%3E%3Cstop%20offset='0'%20stop-color='%232ee6d6'%20stop-opacity='.25'/%3E%3Cstop%20offset='1'%20stop-color='%232ee6d6'%20stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect%20width='800'%20height='450'%20fill='url(%23bg1)'/%3E%3Cellipse%20cx='600'%20cy='120'%20rx='320'%20ry='200'%20fill='url(%23glow1)'/%3E%3Cg%20stroke='%232ee6d6'%20stroke-width='1'%20opacity='.55'%3E%3Cline%20x1='120'%20y1='340'%20x2='260'%20y2='210'/%3E%3Cline%20x1='260'%20y1='210'%20x2='430'%20y2='260'/%3E%3Cline%20x1='430'%20y1='260'%20x2='600'%20y2='150'/%3E%3Cline%20x1='260'%20y1='210'%20x2='340'%20y2='100'/%3E%3Cline%20x1='600'%20y1='150'%20x2='700'%20y2='260'/%3E%3Cline%20x1='430'%20y1='260'%20x2='520'%20y2='370'/%3E%3Cline%20x1='120'%20y1='340'%20x2='90'%20y2='180'/%3E%3C/g%3E%3Cg%20fill='%23e0ae57'%20opacity='.9'%3E%3Ccircle%20cx='120'%20cy='340'%20r='5'/%3E%3Ccircle%20cx='600'%20cy='150'%20r='6'/%3E%3C/g%3E%3Cg%20fill='%232ee6d6'%3E%3Ccircle%20cx='260'%20cy='210'%20r='4'/%3E%3Ccircle%20cx='430'%20cy='260'%20r='4.5'/%3E%3Ccircle%20cx='340'%20cy='100'%20r='3.5'/%3E%3Ccircle%20cx='700'%20cy='260'%20r='4'/%3E%3Ccircle%20cx='520'%20cy='370'%20r='3.5'/%3E%3Ccircle%20cx='90'%20cy='180'%20r='3'/%3E%3C/g%3E%3C/svg%3E"); }
.pr-image--2 { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20800%20450'%20preserveAspectRatio='xMidYMid%20slice'%3E%3Cdefs%3E%3ClinearGradient%20id='bg2'%20x1='0'%20y1='0'%20x2='1'%20y2='1'%3E%3Cstop%20offset='0'%20stop-color='%230d0d0d'/%3E%3Cstop%20offset='1'%20stop-color='%23143b3b'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='blk1'%20x1='0'%20y1='0'%20x2='1'%20y2='1'%3E%3Cstop%20offset='0'%20stop-color='%23e0ae57'%20stop-opacity='.85'/%3E%3Cstop%20offset='1'%20stop-color='%23e0ae57'%20stop-opacity='.35'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='blk2'%20x1='0'%20y1='0'%20x2='1'%20y2='1'%3E%3Cstop%20offset='0'%20stop-color='%232ee6d6'%20stop-opacity='.6'/%3E%3Cstop%20offset='1'%20stop-color='%232ee6d6'%20stop-opacity='.15'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect%20width='800'%20height='450'%20fill='url(%23bg2)'/%3E%3Cg%20opacity='.9'%3E%3Crect%20x='90'%20y='230'%20width='140'%20height='160'%20fill='url(%23blk2)'%20rx='4'/%3E%3Crect%20x='250'%20y='170'%20width='140'%20height='220'%20fill='url(%23blk1)'%20rx='4'/%3E%3Crect%20x='410'%20y='260'%20width='140'%20height='130'%20fill='url(%23blk2)'%20rx='4'/%3E%3Crect%20x='570'%20y='120'%20width='140'%20height='270'%20fill='url(%23blk1)'%20rx='4'/%3E%3C/g%3E%3Cg%20stroke='%23e0ae57'%20stroke-width='1.5'%20opacity='.5'%20fill='none'%3E%3Cpath%20d='M90%20230%20L%20640%20120'/%3E%3C/g%3E%3C/svg%3E"); }
.pr-image--3 { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20800%20450'%20preserveAspectRatio='xMidYMid%20slice'%3E%3Cdefs%3E%3ClinearGradient%20id='bg3'%20x1='0'%20y1='1'%20x2='1'%20y2='0'%3E%3Cstop%20offset='0'%20stop-color='%23050b14'/%3E%3Cstop%20offset='1'%20stop-color='%230a1e30'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect%20width='800'%20height='450'%20fill='url(%23bg3)'/%3E%3Cg%20fill='none'%20stroke-linecap='round'%3E%3Cpath%20d='M-20%20340%20L%20160%20340%20L%20210%20290%20L%20340%20290%20L%20380%20250%20L%20560%20250%20L%20610%20200%20L%20820%20200'%20stroke='%232ee6d6'%20stroke-width='2'%20opacity='.8'/%3E%3Cpath%20d='M-20%20400%20L%20120%20400%20L%20170%20350%20L%20300%20350%20L%20350%20310%20L%20500%20310%20L%20550%20260%20L%20820%20260'%20stroke='%23e0ae57'%20stroke-width='1.5'%20opacity='.55'/%3E%3Cpath%20d='M-20%20160%20L%20200%20160%20L%20250%20120%20L%20450%20120%20L%20500%2090%20L%20820%2090'%20stroke='%232ee6d6'%20stroke-width='1.2'%20opacity='.4'/%3E%3C/g%3E%3Cg%20fill='%23e0ae57'%3E%3Ccircle%20cx='210'%20cy='290'%20r='4'/%3E%3Ccircle%20cx='560'%20cy='250'%20r='4'/%3E%3C/g%3E%3Cg%20fill='%232ee6d6'%3E%3Ccircle%20cx='340'%20cy='290'%20r='3'/%3E%3Ccircle%20cx='610'%20cy='200'%20r='4'/%3E%3Ccircle%20cx='250'%20cy='120'%20r='3'/%3E%3C/g%3E%3C/svg%3E"); }
.pr-image--4 { background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20800%20450'%20preserveAspectRatio='xMidYMid%20slice'%3E%3Cdefs%3E%3ClinearGradient%20id='bg4'%20x1='0'%20y1='0'%20x2='0'%20y2='1'%3E%3Cstop%20offset='0'%20stop-color='%230a1e30'/%3E%3Cstop%20offset='1'%20stop-color='%23050b14'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='bar'%20x1='0'%20y1='1'%20x2='0'%20y2='0'%3E%3Cstop%20offset='0'%20stop-color='%23e0ae57'%20stop-opacity='.15'/%3E%3Cstop%20offset='1'%20stop-color='%23e0ae57'%20stop-opacity='.75'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect%20width='800'%20height='450'%20fill='url(%23bg4)'/%3E%3Cg%20fill='url(%23bar)'%3E%3Crect%20x='80'%20y='300'%20width='60'%20height='110'/%3E%3Crect%20x='170'%20y='250'%20width='60'%20height='160'/%3E%3Crect%20x='260'%20y='320'%20width='60'%20height='90'/%3E%3Crect%20x='350'%20y='210'%20width='60'%20height='200'/%3E%3Crect%20x='440'%20y='260'%20width='60'%20height='150'/%3E%3Crect%20x='530'%20y='170'%20width='60'%20height='240'/%3E%3Crect%20x='620'%20y='230'%20width='60'%20height='180'/%3E%3C/g%3E%3Cpath%20d='M80%20260%20L%20200%20300%20L%20290%20200%20L%20380%20240%20L%20470%20150%20L%20560%20190%20L%20650%20110'%20fill='none'%20stroke='%232ee6d6'%20stroke-width='2.5'%20opacity='.85'/%3E%3Cg%20fill='%232ee6d6'%3E%3Ccircle%20cx='80'%20cy='260'%20r='4'/%3E%3Ccircle%20cx='290'%20cy='200'%20r='4'/%3E%3Ccircle%20cx='470'%20cy='150'%20r='4'/%3E%3Ccircle%20cx='650'%20cy='110'%20r='4'/%3E%3C/g%3E%3C/svg%3E"); }

/* --- References ---------------------------------------------------------- */

.pr-references {
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  line-height: 1.65;
  color: var(--color-text-muted);
  padding-left: 1.25rem;
}

.pr-references li { margin-bottom: var(--space-3); }
.pr-references a { color: var(--color-link); word-break: break-word; }

/* --- Sidebar ------------------------------------------------------------- */

/* The site header is itself sticky (main.css, ~7rem masthead + nav), so
   the offset has to clear it or the top of the box pins underneath the nav. */
.pr-sidebar { position: sticky; top: 7.5rem; }

@media (max-width: 900px) {
  .pr-sidebar { position: static; }
}

.pr-stock-box {
  border: 1px solid var(--color-line);
  border-top: 3px solid var(--color-gold);
  background: var(--color-paper-dim);
  padding: var(--space-4);
  font-family: var(--font-sans);
}

.pr-stock-company {
  font-family: var(--font-serif);
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-heading);
  margin-bottom: var(--space-3);
}

.pr-ticker-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-2) 0;
  border-top: 1px solid var(--color-line);
}

.pr-ticker-label {
  font-size: 0.875rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
}

.pr-copy-btn {
  font: inherit;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.3rem 0.6rem;
  border: 1px solid var(--color-line);
  background: transparent;
  color: var(--color-text-muted);
  cursor: pointer;
  border-radius: 2px;
}

.pr-copy-btn:hover { border-color: var(--color-gold); color: var(--color-gold-text); }
.pr-copy-btn[data-copied="true"] { border-color: var(--color-gold); color: var(--color-gold-text); }

/* Rows are deliberately tight: the box is sticky, and at seven facts plus the
   filing button and brokerage block it must fit inside a ~800px viewport or
   the bottom is pinned off-screen. 0.75rem row padding put it at 783px. */
.pr-facts { margin: var(--space-2) 0 0; }

.pr-fact {
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  padding: 0.4rem 0;
  border-top: 1px solid var(--color-line);
  font-size: 0.8125rem;
  line-height: 1.35;
}

.pr-fact dt { color: var(--color-text-muted); }
.pr-fact dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }

/* Sector / published metadata. Rows are emitted only when their value exists,
   so a proposal with an empty `sector` simply has one row fewer rather than a
   dangling "Sector:" label. */
.pr-stock-meta {
  margin-top: var(--space-2);
  padding-top: var(--space-2);
  border-top: 1px solid var(--color-line);
  font-size: 0.75rem;
  line-height: 1.6;
  color: var(--color-text-muted);
}

.pr-stock-meta strong { color: var(--color-text); }

/* Newsletter block. Deliberately NOT a <form>: there is no endpoint behind it
   and there must not be one on a sample page, so the markup has no action to
   submit to and the button is type="button". */
.pr-newsletter {
  margin-top: var(--space-4);
  padding: var(--space-4);
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  border-radius: 3px;
}

.pr-newsletter-text {
  font-size: 0.8125rem;
  line-height: 1.5;
  margin: 0 0 var(--space-3);
  color: var(--color-text);
}

.pr-newsletter-input {
  width: 100%;
  box-sizing: border-box;
  font: inherit;
  font-size: 0.8125rem;
  padding: 0.55rem 0.65rem;
  margin-bottom: var(--space-2);
  border: 1px solid var(--color-line);
  border-radius: 3px;
  background: var(--color-paper-dim);
  color: var(--color-text);
}

.pr-newsletter-submit {
  width: 100%;
  font: inherit;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.6rem 0.9rem;
  border: 1px solid var(--color-gold);
  border-radius: 3px;
  background: var(--color-gold);
  color: #14202e;
  cursor: pointer;
}

.pr-newsletter-submit:hover { background: var(--color-gold-bright); }

.pr-newsletter-note,
.pr-brokerage-note {
  margin: var(--space-2) 0 0;
  font-size: 0.6875rem;
  line-height: 1.5;
  color: var(--color-text-muted);
}

.pr-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* The prominent primary action of the box (the reference's "Investor
   Presentation (PDF)" button). GSN has no client deck to link, so the button
   carries the page's own primary-source link — the SEC filing — unchanged. */
.pr-filing-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  margin-top: var(--space-3);
  padding: 0.6rem 0.9rem;
  border-radius: 3px;
  background: var(--color-navy);
  color: var(--color-text-on-navy);
  font-size: 0.8125rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  word-break: break-word;
}

.pr-filing-link:hover { background: var(--color-navy-deep); }

/* Brokerage tiles. Plain <span>s, not links: naming a broker is orientation
   for the reader, not a referral, and an <a> here would imply a relationship
   with the broker that does not exist. */
.pr-brokerage {
  margin-top: var(--space-3);
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-line);
}

.pr-brokerage-label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin-bottom: var(--space-2);
}

.pr-brokerage-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.pr-brokerage-card {
  border: 1px solid var(--color-line);
  border-radius: 3px;
  background: var(--color-paper);
  padding: 0.35rem 0.55rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--color-text);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

/* --- Disclaimer ---------------------------------------------------------- */

.pr-disclaimer {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-7) var(--space-4);
  border-top: 1px solid var(--color-line);
  font-family: var(--font-sans);
  font-size: 0.75rem;
  line-height: 1.7;
  color: var(--color-text-muted);
}

.pr-disclaimer h2 {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin: 0 0 var(--space-4);
}

.pr-disclaimer p { margin: 0 0 var(--space-4); max-width: 90ch; }
.pr-disclaimer strong { color: var(--color-text); }

/* --- Footer -------------------------------------------------------------- */

.pr-footer {
  border-top: 1px solid var(--color-line);
  padding: var(--space-5) var(--space-4);
  font-family: var(--font-sans);
  font-size: 0.75rem;
  color: var(--color-text-muted);
  text-align: center;
}

.pr-footer a { color: var(--color-text-muted); }

/* --- Sales letter slot --------------------------------------------------- */

/* Before the loader resolves, the slot is empty and collapsed; afterwards the
   letter supplies its own full-bleed styling. This only guards the gap. */
[data-sales-letter]:empty { display: block; min-height: 0; }
