:root {
  --sg-navy: #0d102b;
  --sg-indigo: #4338ca;
  --sg-gold: #d4af37;
  --sg-action-gold: #facc15;
  --sg-action-gold-hover: #fde047;
  --sg-paper: #f8fafc;
  --sg-midnight: #0f102f;
  --sg-violet: #2d1b69;
  --sg-ink: #181a22;
  --sg-body: #474a54;
  --sg-muted: #656876;
  --sg-rule: #dedbd2;
  --sg-wash: #eeecf9;
  --sg-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

#main-content:has(.sg-page), #main-content:has(.policy-cover) { background: var(--sg-paper); }
.sg-page { min-height: 70vh; background: var(--sg-paper); color: var(--sg-ink); }
/* Flat navy (not the old diagonal gradient) to match the site header
   (bg-softDark) and .hero-gradient on the auth/marketing pages — see the
   note on .hero-gradient in public.css. */
.sg-cover { position: relative; overflow: hidden; padding: 4rem clamp(1.25rem, 6vw, 6rem) 8rem; background: var(--sg-midnight); color: white; }
.sg-cover::before, .sg-cover::after { content: ""; position: absolute; border: 1px solid rgba(212,175,55,.2); border-radius: 50%; pointer-events: none; }
.sg-cover::before { top: 2rem; right: -8rem; width: 26rem; height: 26rem; box-shadow: 0 0 0 4.5rem rgba(212,175,55,.035), 0 0 0 9rem rgba(212,175,55,.02); }
.sg-cover::after { right: 8%; bottom: -7rem; width: 13rem; height: 13rem; box-shadow: 0 0 0 2.5rem rgba(212,175,55,.035); }
.sg-cover__inner { position: relative; z-index: 1; max-width: 78.75rem; margin: 0 auto; }
.sg-cover__inner > div:first-child { max-width: 52rem; margin: 0 auto; text-align: center; }
.sg-breadcrumb { margin-bottom: 1.75rem; color: #b9bbc8; font-size: .75rem; }
.sg-breadcrumb span { color: var(--sg-gold); font-weight: 700; }
.sg-cover h1 { max-width: 52rem; margin: 0 auto 1.25rem; font-family: var(--font-display); text-transform: uppercase; font-size: clamp(2.75rem, 5vw, 4.25rem); font-weight: 800; line-height: 1.02; letter-spacing: -.035em; text-wrap: balance; }
.sg-cover__lede { max-width: 44rem; margin: 0 auto; color: #d5d6e2; font-size: 1.0625rem; line-height: 1.65; text-wrap: pretty; }
.sg-cover__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: .625rem 1.25rem; margin-top: 1.75rem; color: #e0e1ea; font-size: .8125rem; }
.sg-seal { display: inline-flex; align-items: center; gap: .5rem; padding: .4375rem .75rem; border: 1px solid rgba(212,175,55,.5); border-radius: 999px; color: #f4dd8b; }
.sg-seal svg { width: .875rem; height: .875rem; }
.sg-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 1.5rem; margin-top: 3rem; padding: 1rem 0 .8125rem; border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.12); }
.sg-label { margin: 0 0 .875rem; color: #b7b9ca; font-family: var(--sg-mono); font-size: .625rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.sg-facts > .sg-label,
.policy-facts > h2 {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.sg-fact { display: grid; grid-template-columns: 1.25rem 1fr; gap: .75rem; padding: .8125rem 0; }
.sg-fact svg { width: 1rem; height: 1rem; margin-top: .125rem; color: var(--sg-gold); }
.sg-fact strong { display: block; font-size: .875rem; }
.sg-fact span { display: block; color: #aeb1c3; font-size: .75rem; line-height: 1.5; }

.sg-shell { position: relative; z-index: 2; max-width: 78.75rem; margin: -4rem auto 7rem; padding: 3.5rem clamp(1.125rem, 4vw, 4rem) 4.5rem; border-radius: 1rem; background: #fff; box-shadow: 0 1.5625rem 3.125rem -.75rem rgba(30,27,75,.12); }
.sg-intro-rule { max-width: 48rem; margin: 0 0 3rem; padding: 1.125rem 0; border-top: 1px solid var(--sg-gold); border-bottom: 1px solid var(--sg-rule); color: var(--sg-body); line-height: 1.65; }
.sg-layout { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: start; }
.sg-layout--rail { grid-template-columns: 13rem minmax(0, 44rem) 15rem; justify-content: center; }
.sg-index { position: sticky; top: 6.5rem; }
.sg-index h2 { margin: 0 0 .875rem; color: #858791; font-family: var(--sg-mono); font-size: .625rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.sg-index a { display: grid; grid-template-columns: 1.4rem 1fr; gap: .25rem; padding: .625rem 0; border-bottom: 1px solid var(--sg-rule); color: #5d606b; font-size: .8125rem; text-decoration: none; }
.sg-index a span:first-child { color: #92949d; font-family: var(--sg-mono); font-size: .625rem; }
.sg-index a:hover, .sg-index a:focus-visible { color: var(--sg-indigo); }
.sg-content { min-width: 0; }
.sg-section { margin-bottom: 3.5rem; padding-bottom: 3.5rem; border-bottom: 1px solid var(--sg-rule); scroll-margin-top: 7rem; }
.sg-section__heading { display: grid; grid-template-columns: 2.625rem 1fr; gap: 1.125rem; align-items: start; margin-bottom: 1.5rem; }
.sg-section__number { min-height: 2rem; padding-top: .5rem; border-top: 2px solid var(--sg-indigo); color: var(--sg-indigo); font-family: var(--sg-mono); font-size: .75rem; font-weight: 700; }
.sg-section h2 { margin: 0; color: var(--sg-ink); font-size: 1.875rem; font-weight: 750; line-height: 1.15; letter-spacing: -.025em; }
.sg-prose { margin-left: 3.75rem; }
.sg-prose p, .sg-prose li { max-width: 70ch; color: var(--sg-body); font-size: 1rem; line-height: 1.65; }
.sg-prose p + p, .sg-prose ul + p, .sg-prose p + ul { margin-top: 1rem; }
.sg-prose ul { margin: 1rem 0; padding-left: 1.25rem; list-style: disc; }
.sg-ruled-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); margin-top: 1.25rem; border-top: 1px solid var(--sg-rule); }
.sg-ruled-item { padding: 1rem 1rem 1rem 0; border-bottom: 1px solid var(--sg-rule); color: var(--sg-body); font-size: .9375rem; line-height: 1.55; }
.sg-ruled-item strong { display: block; margin-bottom: .25rem; color: var(--sg-ink); }
.sg-callout { margin-top: 1.25rem; padding: 1.125rem 1.25rem; border-radius: .75rem; background: var(--sg-wash); color: var(--sg-body); font-size: .9375rem; line-height: 1.6; }
.sg-dark-panel { padding: 1.5rem; border-radius: .875rem; background: var(--sg-navy); color: white; }
.sg-dark-panel p { color: #d2d4df; }

.sg-rail { position: sticky; top: 6.5rem; }
.sg-rail__group { margin-bottom: 1.5rem; padding-top: 1rem; border-top: 1px solid #bbb8ae; }
.sg-rail h2 { margin: 0 0 .5rem; font-size: 1.125rem; font-weight: 750; line-height: 1.3; }
.sg-rail p { margin: 0 0 1rem; color: var(--sg-muted); font-size: .8125rem; line-height: 1.55; }
.sg-link-row { display: flex; align-items: center; justify-content: space-between; min-height: 2.75rem; padding: .625rem 0; border-top: 1px solid var(--sg-rule); color: #343640; font-size: .8125rem; font-weight: 700; text-decoration: none; }
.sg-link-row svg { width: .875rem; height: .875rem; color: var(--sg-indigo); transition: transform .18s ease; }
.sg-link-row:hover svg, .sg-link-row:focus-visible svg { transform: translate(.125rem,-.125rem); }
.sg-support-card { padding: 1.25rem; border-radius: .875rem; background: linear-gradient(145deg, var(--sg-navy), #25265e); color: white; box-shadow: 0 1rem 2rem -1.4rem rgba(13,16,43,.8); }
.sg-support-card h2 { color: white; }
.sg-support-card p { color: #dedcf8; }
.sg-support-card a { color: white; font-size: .8125rem; font-weight: 750; }

.sg-contact { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(17rem, .65fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: start; }
.sg-form-panel { padding-top: 1.25rem; border-top: 1px solid var(--sg-gold); }
.sg-form-panel h2 { margin: 0; font-size: 1.875rem; letter-spacing: -.025em; }
.sg-form-panel h3 { margin: 0; color: var(--sg-ink); font-size: 1.375rem; letter-spacing: -.02em; }
.sg-form-panel > p { margin: .5rem 0 2rem; color: var(--sg-muted); }
.sg-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; }
.sg-field--wide { grid-column: 1 / -1; }
.sg-form-panel label { display: block; margin-bottom: .5rem; color: var(--sg-ink); font-size: .8125rem; font-weight: 700; }
.sg-form-panel input, .sg-form-panel select, .sg-form-panel textarea { width: 100%; border: 1px solid #8f8b80 !important; border-radius: .5625rem !important; background: #fff !important; color: var(--sg-ink) !important; }
.sg-form-panel input::placeholder, .sg-form-panel textarea::placeholder { color: #666873 !important; opacity: 1; }
.sg-form-panel input:focus, .sg-form-panel select:focus, .sg-form-panel textarea:focus { border-color: var(--sg-indigo) !important; outline: 2px solid rgba(67,56,202,.16); outline-offset: 1px; box-shadow: none !important; }
.sg-error { margin-top: .375rem; color: #b42318; font-size: .75rem; }
.sg-field-help { margin: .375rem 0 0; color: var(--sg-muted); font-size: .75rem; line-height: 1.45; }
.sg-form-alert { grid-column: 1 / -1; margin-bottom: 1.25rem; padding: .875rem 1rem; border-radius: .75rem; background: #fef3f2; color: #912018; font-size: .8125rem; }
.sg-form-alert p { margin: 0 0 .375rem; }
.sg-form-alert ul { margin: 0; padding-left: 1.125rem; }
.sg-form-alert a { color: inherit; }
.sg-form-alert:focus { outline: 2px solid #912018; outline-offset: 2px; }
.sg-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--sg-rule); }
.sg-form-actions p { margin: 0; color: var(--sg-muted); font-size: .75rem; }
.sg-button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .7rem 1.125rem; border-radius: .75rem; background: var(--sg-action-gold); color: #11152d; font-size: .875rem; font-weight: 750; text-decoration: none; box-shadow: 0 .625rem .9375rem -.5rem rgba(120,53,15,.3); transition: transform .18s ease, background-color .18s ease; }
.sg-button:hover { background: var(--sg-action-gold-hover); transform: translateY(-1px); }
.sg-button--secondary { border: 1px solid #bbb8ae; background: transparent; color: var(--sg-ink); }
.sg-button--secondary:hover { background: #f1f5f9; transform: none; }
.sg-channel { display: grid; grid-template-columns: 1.5rem 1fr; gap: .75rem; padding: 1rem 0; border-top: 1px solid var(--sg-rule); }
.sg-channel svg { width: 1.125rem; height: 1.125rem; color: var(--sg-indigo); }
.sg-channel h3 { margin: 0 0 .25rem; font-size: .875rem; }
.sg-channel a, .sg-channel p { color: var(--sg-muted); font-size: .8125rem; line-height: 1.5; }
.sg-channel__num { padding-top: .0625rem; color: var(--sg-indigo); font-family: var(--sg-mono); font-size: .6875rem; font-weight: 700; letter-spacing: .06em; }
.sg-research-application .sg-form-panel { margin: 2.25rem 0 0 3.75rem; }
.sg-research-success { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; margin: 2.25rem 0 0 3.75rem; padding: 1.5rem; border-radius: .875rem; background: var(--sg-navy); color: white; }
.sg-research-success > svg { width: 2.5rem; height: 2.5rem; padding: .55rem; border: 1px solid rgba(212,175,55,.55); border-radius: 50%; color: var(--sg-gold); }
.sg-research-success h3 { margin: 0 0 .375rem; font-size: 1.125rem; }
.sg-research-success p { margin: 0 0 .75rem; color: #d2d4df; font-size: .875rem; line-height: 1.55; }
.sg-research-success a { color: #f4dd8b; font-size: .8125rem; font-weight: 750; }

.sg-search { position: relative; max-width: 42rem; margin: 1.75rem auto 0; text-align: left; }
.sg-search svg { position: absolute; top: 50%; left: 1rem; width: 1.125rem; height: 1.125rem; color: #777985; transform: translateY(-50%); }
.sg-search input { width: 100%; min-height: 3.25rem; padding: .75rem 1rem .75rem 3rem; border: 1px solid rgba(255,255,255,.25); border-radius: .75rem; background: rgba(255,255,255,.08); color: white; }
.sg-search input::placeholder { color: #aeb1c3; }
.sg-search input:focus { border-color: var(--sg-gold); outline: none; }
.sg-help-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--sg-rule); }
.sg-help-card { min-height: 10rem; padding: 1.5rem 1.5rem 1.5rem 0; border-bottom: 1px solid var(--sg-rule); color: var(--sg-body); text-decoration: none; }
.sg-help-card:nth-child(odd) { border-right: 1px solid var(--sg-rule); }
.sg-help-card:nth-child(even) { padding-left: 1.5rem; }
.sg-help-card span { color: var(--sg-indigo); font-family: var(--sg-mono); font-size: .625rem; font-weight: 700; letter-spacing: .1em; }
.sg-help-card h2, .sg-help-card h3 { margin: .75rem 0 .5rem; color: var(--sg-ink); font-size: 1.25rem; font-weight: 750; }
.sg-help-card p { margin: 0; font-size: .875rem; line-height: 1.6; }
.sg-help-card:hover h2, .sg-help-card:hover h3 { color: var(--sg-indigo); }
.sg-empty { margin-bottom: 2.5rem; padding: 1.25rem; border: 1px solid var(--sg-rule); border-radius: .75rem; background: #fff; color: var(--sg-body); font-size: .9375rem; line-height: 1.6; }
.sg-empty strong { display: block; color: var(--sg-ink); }
.sg-mobile-jump { display: none; margin-bottom: 2rem; }
.sg-mobile-jump label { display: block; margin-bottom: .5rem; font-size: .8125rem; font-weight: 700; }
.sg-mobile-jump select { width: 100%; min-height: 2.75rem; border: 1px solid #cbc8bf; border-radius: .5625rem; background: transparent; }

.sg-filter-bar { display: grid; grid-template-columns: minmax(16rem,3fr) minmax(10rem,1fr) minmax(10rem,1fr) auto; gap: .75rem; padding: 0 0 1.5rem; border-bottom: 1px solid var(--sg-rule); }
.sg-filter-field { position: relative; }
.sg-filter-field svg { position: absolute; top: 50%; left: .875rem; width: 1rem; height: 1rem; color: #666873; transform: translateY(-50%); }
.sg-filter-bar input, .sg-filter-bar select { width: 100%; min-height: 2.75rem; border: 1px solid #8f8b80; border-radius: .5625rem; background: #fff; color: var(--sg-ink); font-size: .875rem; }
.sg-filter-bar input { padding-left: 2.625rem; }
.sg-filter-bar input::placeholder { color: #666873; opacity: 1; }
.sg-filter-bar input:focus, .sg-filter-bar select:focus { border-color: var(--sg-indigo); outline: 2px solid rgba(67,56,202,.16); outline-offset: 1px; }
.sg-hubs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 2.75rem; border-top: 1px solid var(--sg-rule); }
.sg-hub { display: grid; grid-template-columns: 2rem 1fr auto; gap: .75rem; align-items: center; min-height: 6rem; padding: 1.25rem 1.25rem 1.25rem 0; border-right: 1px solid var(--sg-rule); border-bottom: 1px solid var(--sg-rule); color: var(--sg-body); text-decoration: none; }
.sg-hub + .sg-hub { padding-left: 1.25rem; }
.sg-hub:last-child { border-right: 0; }
.sg-hub svg { width: 1.25rem; height: 1.25rem; color: var(--sg-indigo); }
.sg-hub > svg:last-child { width: .875rem; height: .875rem; transition: transform .18s ease; }
.sg-hub strong { display: block; color: var(--sg-ink); font-size: .9375rem; }
.sg-hub small { color: var(--sg-muted); font-size: .75rem; }
.sg-hub:hover strong { color: var(--sg-indigo); }
.sg-hub:hover > svg:last-child, .sg-hub:focus-visible > svg:last-child { transform: translate(.125rem,-.125rem); }
.sg-feature { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(15rem,.5fr); margin-top: 3rem; border-top: 1px solid var(--sg-gold); border-bottom: 1px solid var(--sg-rule); }
.sg-feature__copy { padding: 2rem 2rem 2rem 0; }
.sg-feature__copy h2 { margin: 0 0 .75rem; font-size: 1.75rem; line-height: 1.2; letter-spacing: -.025em; }
.sg-feature__copy .sg-label { margin: 0 0 .75rem; color: var(--sg-muted); }
.sg-feature__copy p { max-width: 62ch; color: var(--sg-body); line-height: 1.65; }
.sg-feature__art { position: relative; overflow: hidden; min-height: 15rem; background: var(--sg-navy); }
.sg-feature__art::before, .sg-feature__art::after { content: ""; position: absolute; top: 50%; left: 50%; border: 1px solid rgba(212,175,55,.38); border-radius: 50%; transform: translate(-50%,-50%); }
.sg-feature__art::before { width: 10rem; height: 10rem; }
.sg-feature__art::after { width: 4rem; height: 4rem; background: rgba(212,175,55,.14); }
.sg-resource-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin: 3.5rem 0 1rem; }
.sg-resource-heading h2 { margin: 0; font-size: 1.875rem; letter-spacing: -.025em; }
.sg-resource-heading p, .sg-resource-heading span { color: var(--sg-muted); font-size: .8125rem; }
.sg-resource-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--sg-rule); }
.sg-resource-card { min-width: 0; padding: 1.5rem 1.5rem 1.75rem 0; border-right: 1px solid var(--sg-rule); border-bottom: 1px solid var(--sg-rule); }
.sg-resource-card:nth-child(3n+2), .sg-resource-card:nth-child(3n+3) { padding-left: 1.5rem; }
.sg-resource-card:nth-child(3n) { border-right: 0; }
.sg-resource-card__meta { display: flex; justify-content: space-between; gap: .75rem; color: var(--sg-muted); font-family: var(--sg-mono); font-size: .625rem; letter-spacing: .08em; text-transform: uppercase; }
.sg-resource-card h3 { margin: 1rem 0 .625rem; color: var(--sg-ink); font-size: 1.125rem; line-height: 1.35; }
.sg-resource-card p { margin: 0; color: var(--sg-body); font-size: .875rem; line-height: 1.6; }
.sg-resource-card a { display: inline-flex; align-items: center; gap: .35rem; margin-top: 1rem; color: var(--sg-indigo); font-size: .8125rem; font-weight: 750; text-decoration: none; }
.sg-resource-card a svg { width: .875rem; height: .875rem; transition: transform .18s ease; }
.sg-resource-card a:hover svg, .sg-resource-card a:focus-visible svg { transform: translate(.125rem,-.125rem); }
.sg-pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 2rem; }
.sg-pagination span { color: var(--sg-muted); font-size: .8125rem; }
.sg-empty-library { grid-column: 1 / -1; padding: 3rem 1rem; border-bottom: 1px solid var(--sg-rule); color: var(--sg-muted); text-align: center; }
.sg-cta-band { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 4rem; padding: 2rem; border-radius: .875rem; background: linear-gradient(135deg, var(--sg-midnight), var(--sg-violet)); color: white; }
.sg-cta-band h2 { margin: 0 0 .375rem; font-size: 1.5rem; }
.sg-cta-band p { margin: 0; color: #d2d4df; }

.sg-role-list { border-top: 1px solid var(--sg-rule); }
.sg-role { display: grid; grid-template-columns: 1fr auto; gap: 1rem; padding: 1.35rem 0; border-bottom: 1px solid var(--sg-rule); }
.sg-role h3 { margin: 0 0 .375rem; font-size: 1.125rem; }
.sg-role p { margin: 0; color: var(--sg-muted); font-size: .875rem; line-height: 1.55; }
.sg-role__type { align-self: start; padding-top: .25rem; color: var(--sg-indigo); font-family: var(--sg-mono); font-size: .625rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.sg-conference { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--sg-rule); }
.sg-conference img { width: 100%; height: auto; border-radius: .5625rem; }
.sg-conference p { margin-top: .75rem; color: var(--sg-muted); font-size: .8125rem; line-height: 1.55; }

@media (max-width: 1180px) {
  .sg-layout--rail { grid-template-columns: 13rem minmax(0, 44rem); }
  .sg-rail { position: static; grid-column: 2; grid-row: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
  .sg-content { grid-column: 2; grid-row: 2; }
}
@media (max-width: 1023px) {
  .sg-cover__inner { grid-template-columns: 1fr; gap: 2rem; }
  .sg-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
  .sg-facts .sg-label { grid-column: 1 / -1; }
  .sg-fact { border: 0; }
  .sg-layout, .sg-layout--rail { grid-template-columns: minmax(0,44rem); justify-content: center; }
  .sg-index { display: none; }
  .sg-rail, .sg-content { grid-column: 1; }
  .sg-contact .sg-rail { grid-row: auto; }
  .sg-mobile-jump { display: block; }
  .sg-filter-bar { grid-template-columns: 2fr 1fr 1fr; }
  .sg-filter-bar .sg-button { grid-column: 1 / -1; }
  .sg-resource-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sg-resource-card:nth-child(n) { padding-left: 0; padding-right: 1.5rem; border-right: 1px solid var(--sg-rule); }
  .sg-resource-card:nth-child(even) { padding-left: 1.5rem; padding-right: 0; border-right: 0; }
}
@media (max-width: 720px) {
  .sg-cover { padding: 1.75rem 1.25rem 2rem; }
  .sg-cover::after { right: -7rem; bottom: -4rem; width: 20rem; height: 20rem; box-shadow: 0 0 0 3.5rem rgba(212,175,55,.03); }
  .sg-cover h1 { font-size: 2.375rem; }
  .sg-cover__lede { font-size: .9375rem; }
  .sg-facts { grid-template-columns: repeat(3,1fr); gap: 0; }
  .sg-fact { display: block; padding: .75rem .45rem 0; }
  .sg-fact svg { margin-bottom: .375rem; }
  .sg-fact strong { font-size: .75rem; line-height: 1.3; }
  .sg-fact span { display: none; }
  .sg-shell { padding: 2rem 1.125rem 4.5rem; }
  .sg-rail { grid-template-columns: 1fr; gap: .75rem; }
  .sg-section { margin-bottom: 2.625rem; padding-bottom: 2.625rem; }
  .sg-section__heading { grid-template-columns: 2.125rem 1fr; gap: .875rem; }
  .sg-section h2, .sg-form-panel h2 { font-size: 1.625rem; }
  .sg-prose { margin-left: 0; }
  .sg-research-application .sg-form-panel, .sg-research-success { margin-left: 0; }
  .sg-prose p, .sg-prose li { font-size: .9375rem; }
  .sg-ruled-list, .sg-form-grid, .sg-contact, .sg-help-grid { grid-template-columns: 1fr; }
  .sg-help-card:nth-child(odd) { border-right: 0; }
  .sg-help-card:nth-child(even) { padding-left: 0; }
  .sg-form-actions { align-items: stretch; flex-direction: column; }
  .sg-button { width: 100%; }
  .sg-filter-bar, .sg-hubs, .sg-feature, .sg-resource-grid { grid-template-columns: 1fr; }
  .sg-filter-bar .sg-button { grid-column: auto; }
  .sg-hub, .sg-hub + .sg-hub { padding: 1rem 0; border-right: 0; }
  .sg-feature__copy { padding-right: 0; }
  .sg-feature__art { min-height: 10rem; }
  .sg-resource-heading { align-items: start; flex-direction: column; }
  .sg-resource-card:nth-child(n) { padding: 1.35rem 0; border-right: 0; }
  .sg-cta-band { align-items: stretch; flex-direction: column; }
  .sg-role { grid-template-columns: 1fr; gap: .5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .sg-link-row svg, .sg-hub > svg:last-child, .sg-resource-card a svg { transition: none; }
  .sg-link-row:hover svg, .sg-link-row:focus-visible svg, .sg-hub:hover > svg:last-child, .sg-hub:focus-visible > svg:last-child, .sg-resource-card a:hover svg, .sg-resource-card a:focus-visible svg { transform: none; }
}

@media print {
  .sg-cover, .sg-index, .sg-rail, .sg-mobile-jump { display: none !important; }
  .sg-shell, .sg-layout, .sg-content { display: block; max-width: none; padding: 0; }
}

/* Landing-continuation treatment for the long-form legal surfaces. Flat navy
   (not the old diagonal gradient) to match the header and .hero-gradient —
   see the note on .hero-gradient in public.css. */
.policy-cover {
  padding: 4rem clamp(1.25rem, 6vw, 6rem) 8rem !important;
  background: #0f102f !important;
}
.policy-cover::before,
.policy-cover::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(212,175,55,.2);
  border-radius: 50%;
  pointer-events: none;
}
.policy-cover::before {
  top: 2rem;
  right: -8rem;
  width: 26rem;
  height: 26rem;
  box-shadow: 0 0 0 4.5rem rgba(212,175,55,.035), 0 0 0 9rem rgba(212,175,55,.02);
}
.policy-cover::after {
  right: 8%;
  bottom: -7rem;
  width: 13rem;
  height: 13rem;
  box-shadow: 0 0 0 2.5rem rgba(212,175,55,.035);
}
.policy-cover-inner {
  display: block !important;
  max-width: 78.75rem !important;
}
.policy-cover-inner > div:first-child {
  max-width: 52rem;
  margin: 0 auto;
  text-align: center;
}
.policy-cover h1 {
  max-width: 52rem !important;
  margin-right: auto !important;
  margin-left: auto !important;
  font-family: var(--font-display) !important;
  text-transform: uppercase;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
  text-wrap: balance;
}
.policy-cover-lede {
  max-width: 44rem !important;
  margin-right: auto !important;
  margin-left: auto !important;
  color: #d5d6e2 !important;
  text-wrap: pretty;
}
.policy-meta { justify-content: center; color: #e0e1ea !important; }
.policy-facts {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 0 1.5rem !important;
  margin-top: 3rem;
  padding: 1rem 0 .8125rem !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
}
.policy-facts > h2 { grid-column: 1 / -1; }
.policy-fact { border: 0 !important; }
.policy-shell {
  position: relative;
  z-index: 2;
  max-width: 86rem !important;
  margin: -4rem auto 7rem !important;
  padding: 3.5rem clamp(1.25rem,4vw,4rem) 4.5rem !important;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 1.5625rem 3.125rem -.75rem rgba(30,27,75,.12);
}
.policy-article section,
.policy-related > h3,
.policy-index .toc-link,
.policy-action-link { border-color: #e2e8f0 !important; }
.policy-support {
  background: linear-gradient(145deg, #0d102b, #25265e) !important;
  box-shadow: 0 1rem 2rem -1.4rem rgba(13,16,43,.8) !important;
}
.policy-mobile-toc select { background: #f8fafc !important; }
.policy-action-link:focus-visible,
.policy-index .toc-link:focus-visible,
.policy-mobile-toc select:focus-visible {
  outline: 2px solid #6366f1 !important;
  outline-offset: 3px;
}

@media (max-width: 1023px) {
  .policy-facts { gap: 0 1rem !important; }
  .policy-shell { max-width: calc(100% - 2rem) !important; }
}

@media (max-width: 720px) {
  .sg-cover { padding: 2.75rem 1.25rem 6rem; }
  .sg-cover::before { top: 2rem; right: -9rem; width: 20rem; height: 20rem; box-shadow: 0 0 0 3rem rgba(212,175,55,.03); }
  .sg-cover::after { display: none; }
  .sg-cover h1 { font-size: clamp(2.25rem,11vw,3.25rem); }
  .sg-facts { margin-top: 2.25rem; }
  .sg-shell { max-width: calc(100% - 2rem); margin: -2.5rem auto 4.5rem; padding: 2rem 1.125rem 3.25rem; }

  .policy-cover { padding: 2.75rem 1.25rem 6rem !important; }
  .policy-cover::before { top: 2rem; right: -9rem; width: 20rem; height: 20rem; box-shadow: 0 0 0 3rem rgba(212,175,55,.03); }
  .policy-cover::after { display: none; }
  .policy-cover h1 { font-size: clamp(2.25rem,11vw,3.25rem) !important; }
  .policy-meta { justify-content: center; }
  .policy-facts { margin-top: 2.25rem; }
  .policy-shell { max-width: calc(100% - 2rem) !important; margin: -2.5rem auto 4.5rem !important; padding: 2rem 1.125rem 3.25rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  .sg-button { transition: none; }
  .sg-button:hover { transform: none; }
}

@media print {
  .policy-shell { margin: 0 !important; padding: 0 !important; border-radius: 0; box-shadow: none; }
}
