.page-pnl.site-refresh {
  margin: 0;
  background: #090f1b;
  color: #f4f6fa;
  font: 16px/1.6 var(--font-body);
  -webkit-font-smoothing: antialiased;
}

@media (min-width: 1101px) {
  .page-pnl.site-refresh { zoom: .8; }
}

.site-refresh > .shell { width: 100%; max-width: none; padding: 0; }
.site-refresh .nav {
  margin: 0;
  padding: 16px max(32px, calc((100% - 1320px) / 2));
  min-height: 92px;
  background: var(--brand-navy);
}
.site-refresh .nav .brand-name { font-size: 19px; }
.site-refresh .nav-links { gap: 8px; }
.site-refresh .nav-links a { font-size: 14px; }
.site-refresh a { text-decoration: none; }
.site-refresh a:focus-visible, .site-refresh button:focus-visible {
  outline: 2px solid var(--brand-blue-bright);
  outline-offset: 6px;
}
.site-refresh #page-content:focus { outline: none; }
.site-refresh .sr-skip {
  position: fixed;
  top: -100px;
  left: 20px;
  z-index: 100;
  padding: 12px 18px;
  color: var(--brand-navy);
  background: var(--brand-gold);
}
.site-refresh .sr-skip:focus { top: 10px; }
.site-refresh .footer { margin: 0; padding: 40px max(32px, calc((100% - 1320px) / 2)) 25px; width: 100%; }
.site-refresh .footer-top { padding: 0 0 25px; }
.site-refresh .footer-mark { font-size: 19px; }
.site-refresh .footer-branding > span { font-size: 14px; line-height: 1.7; }
.site-refresh .footer-nav a, .site-refresh .footer-support-cta { font-size: 14px; }
.site-refresh .footer-meta { margin: 0; padding-top: 20px; font-size: 12px; }
.site-refresh #page-content { --text-main: #eef3fb; --text-muted: #a8b8ce; --text-soft: #97abc6; --border: #30415b; --surface: #101c2d; --bg-tint: #0d1726; }
.site-refresh #page-content :is(h1,h2,h3) { font-family: var(--font-display); color: #f1f5fb; }
.site-refresh #page-content .eyebrow { color: #a9c1de; font: 12px/1.6 var(--font-mono); letter-spacing: 1.5px; }
.site-refresh .subhero { display: block; margin: 0; padding: 85px max(32px,calc((100% - 1320px) / 2)) 76px; background: radial-gradient(ellipse at 80% 5%,#18385f55,transparent 65%),#070d17; border-bottom: 1px solid #ffffff13; }
.site-refresh .subhero-copy { max-width: 980px; margin: 0; text-align: left; }
.site-refresh .subhero-copy h1 { margin: 23px 0 0; font-size: clamp(46px,4.8vw,66px); line-height: 1.1; letter-spacing: -2.7px; font-weight: 600; background: none; -webkit-text-fill-color: initial; }
.site-refresh .subhero-copy h1 > span { color: var(--brand-blue-bright); }
.site-refresh .subhero-copy > p:not(.eyebrow) { max-width: 720px; margin: 25px 0 0; font-size: 18px; line-height: 1.85; color: #afc0d7; }
.site-refresh #page-content > .page-section, .site-refresh .portfolio-section { width: min(1320px,calc(100% - 112px)); margin: 0 auto; padding-block: 65px; }
.site-refresh .section-heading { text-align: left; margin: 0 0 32px; max-width: none; }
.site-refresh .section-heading h2 { font-size: 38px; letter-spacing: -1.2px; line-height: 1.2; font-weight: 500; margin: 16px 0 0; }
.site-refresh .section-heading > p:not(.eyebrow) { max-width: 720px; font-size: 16px; line-height: 1.8; margin-top: 20px; color: #a8b8ce; }
.site-refresh .panel { color: #eaf1fb; background: #101b2c; border: 1px solid #30415b; box-shadow: none; border-radius: 18px 3px 18px 3px; }
.site-refresh .panel::before, .site-refresh .panel::after { display: none; }
.site-refresh .panel-kicker, .site-refresh .partner-tag { color: #9cbee8; font: 11px/1.7 var(--font-mono); letter-spacing: 1px; }
.site-refresh .text-link { display: inline-flex; min-height: 44px; align-items: center; color: #bfdafa; font-size: 14px; }
.site-refresh a:focus-visible, .site-refresh button:focus-visible, .site-refresh input:focus-visible { outline: 2px solid var(--brand-blue-bright); outline-offset: 5px; }
.site-refresh .tag-row { gap: 9px; margin-top: 20px; }
.site-refresh .tag, .site-refresh .partner-services li { border: 1px solid #3a4d66; border-radius: 4px; padding: 5px 9px; color: #aec2dc; background: transparent; font: 11px/1.5 var(--font-mono); letter-spacing: 0; }
.site-refresh .btn-primary, .site-refresh .cta-primary { background: linear-gradient(135deg,var(--brand-gold),#ffe08f); color: #111824; border: 0; border-radius: 12px 3px 12px 3px; min-height: 55px; padding: 15px 24px; box-shadow: none; font-size: 15px; }
.site-refresh .btn-secondary, .site-refresh .cta-secondary { color: #c5d7ef; border: 1px solid #435873; background: transparent; border-radius: 10px 3px 10px 3px; padding: 14px 23px; font-size: 15px; }
.site-refresh .contact-band { padding: 42px; background: radial-gradient(ellipse at right,#1d3a6255,transparent 65%),#101b2c; }
.site-refresh .contact-copy h2 { font-size: 32px; font-weight: 500; letter-spacing: -1px; line-height: 1.2; }
.site-refresh .contact-copy p { color: #adc0d8; font-size: 16px; line-height: 1.8; }
.site-refresh .contact-actions { flex-shrink: 0; }
.site-refresh .sr-directory-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.site-refresh .sr-directory-heading h2 { font-size: 35px; font-weight: 500; margin: 13px 0 0; letter-spacing: -1px; }
.site-refresh .partner-search { max-width: none; width: 100%; margin: 0 0 36px; border: 1px solid #3a4e6d; background: #0e1a2b; border-radius: 8px 2px 8px 2px; padding: 0 20px; }
.site-refresh .partner-search input { height: 60px; font: 16px var(--font-body); color: #f0f5fc; background: transparent; }
.site-refresh .partner-search input::placeholder { color: #8fa7c5; }
.site-refresh .partner-search-icon, .site-refresh .partner-search-clear { color: #9db9dd; }
.site-refresh .partner-empty { color: #bbcce1; font-size: 17px; }
.site-refresh .partner-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
.site-refresh .partner-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.site-refresh .partner-card.is-hidden { display: none; }
.site-refresh .partner-preview { height: auto; aspect-ratio: 2.1; background: #18243a; margin: 0; border-radius: 0; }
.site-refresh .partner-preview img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.site-refresh .partner-card-body { padding: 28px 30px; }
.site-refresh .partner-card-body h3 { font-size: 29px; font-weight: 500; letter-spacing: -.8px; line-height: 1.25; margin: 13px 0; }
.site-refresh .partner-card-body p { color: #a4b6cd; font-size: 15px; line-height: 1.8; }
.site-refresh .partner-card-body .partner-card-lede { color: #d0dcec; font-size: 17px; line-height: 1.7; }
.site-refresh .partner-services { flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.site-refresh .partner-card > .partner-cta { margin-top: auto; background: #142338; padding: 18px 30px; border-top: 1px solid #344965; color: #c0dbff; font-size: 14px; }
.site-refresh .jump-band { width: min(1320px,calc(100% - 112px)); margin: 0 auto; padding: 22px 0; border: 0; border-bottom: 1px solid #33435c; background: none; border-radius: 0; gap: 12px 28px; justify-content: flex-start; }
.site-refresh .jump-band a { border: 0; background: none; color: #b3c7e1; font: 14px var(--font-body); letter-spacing: 0; padding: 12px 0; min-height: 44px; }
.site-refresh .jump-band a:hover { color: #fff; }
.site-refresh .suite-hero { padding: 36px; gap: 42px; grid-template-columns: .85fr 1.15fr; }
.site-refresh .suite-hero-copy h3 { font-size: 43px; font-weight: 600; letter-spacing: -1.5px; margin: 18px 0; }
.site-refresh .suite-hero-lede { font-size: 17px; color: #bfcee1; line-height: 1.8; }
.site-refresh .suite-feature-list { margin-top: 24px; }
.site-refresh .suite-feature-list li { color: #a8bdd6; font-size: 14px; line-height: 1.8; }
.site-refresh .suite-feature-list strong { color: #e1ebf9; }
.site-refresh .suite-hero-media { min-width: 0; align-self: center; }
.site-refresh .suite-shot { margin: 0; border: 1px solid #3d526d; background: #16253a; border-radius: 8px 2px 8px 2px; }
.site-refresh .suite-shot img { width: 100%; height: auto; }
.site-refresh .suite-shot figcaption { color: #b4c8e3; font: 11px/1.6 var(--font-mono); padding: 9px 12px; background: #16253a; }
.site-refresh .suite-hero-thumbs { gap: 12px; margin-top: 14px; }
.site-refresh .suite-apps { display: block; margin-top: 28px; }
.site-refresh .suite-apps > .suite-app { display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.site-refresh .suite-apps .showcase-image { height: auto; width: 100%; object-fit: contain; }
.site-refresh .portfolio-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.site-refresh .showcase-card, .site-refresh .project-tile { min-width: 0; overflow: hidden; }
.site-refresh .showcase-card .showcase-image, .site-refresh .project-tile .showcase-image { width: 100%; height: auto; aspect-ratio: 1.95; object-fit: cover; object-position: top; border-radius: 0; margin: 0; }
.site-refresh .showcase-body { padding: 28px 30px; }
.site-refresh .showcase-body h3 { font-size: 28px; letter-spacing: -.8px; font-weight: 500; margin: 12px 0; }
.site-refresh .showcase-body p { font-size: 15px; line-height: 1.85; color: #aabdd5; }
.site-refresh #coming-soon, .site-refresh #lab, .site-refresh #live-sites { border-top: 1px solid #ffffff18; }
.site-refresh .suite-soon-media { background: #15233a; }
.site-refresh .suite-app--soon .showcase-body h3 { color: #e8f0fc; }
.site-refresh .coming-soon-grid { max-width: none; }
.site-refresh .lab-section { background: none; }
.site-refresh .lab-grid { grid-template-columns: 1fr; }
.site-refresh .lab-grid .showcase-card { display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.site-refresh .sr-policy-layout { display: grid; grid-template-columns: 240px minmax(0,850px); justify-content: space-between; gap: 65px; align-items: start; }
.site-refresh .sr-policy-nav { display: grid; gap: 8px; position: sticky; top: 35px; }
.site-refresh .sr-policy-nav a { display: block; color: #b1c8e5; padding: 10px 0; font-size: 15px; min-height: 44px; }
.site-refresh .privacy-content { max-width: none; display: block; }
.site-refresh .privacy-section.panel { background: none; border: 0; border-bottom: 1px solid #34455d; border-radius: 0; padding: 0 0 35px; margin: 0 0 35px; scroll-margin-top: 30px; }
.site-refresh .privacy-section h2 { font-size: 27px; font-weight: 500; margin: 0 0 20px; letter-spacing: -.5px; }
.site-refresh .privacy-section p, .site-refresh .privacy-section li { font-size: 17px; color: #b8c7db; line-height: 1.85; }
.site-refresh .privacy-section a { color: #8dbdff; overflow-wrap: anywhere; }
.site-refresh .subhero .privacy-updated, .site-refresh .subhero .terms-updated { font-size: 13px; color: #91a7c4; margin-top: 18px; }
.site-refresh .terms-content, .site-refresh .terms-offline-content { width: 100%; max-width: 930px; margin-inline: auto; }
.site-refresh .terms-section.panel { background: none; border: 0; border-bottom: 1px solid #34455d; border-radius: 0; padding: 0 0 35px; margin-bottom: 35px; }
.site-refresh .terms-section h2 { font-size: 30px; font-weight: 500; letter-spacing: -.6px; }
.site-refresh .terms-section p, .site-refresh .terms-section li { color: #b8c7db; font-size: 17px; line-height: 1.85; }
.site-refresh .terms-section strong { color: #eef4fc; }
.site-refresh .terms-section a:not(.btn) { color: #9dc7ff; }
.site-refresh .terms-section .terms-subhead { color: #e6eefb; font-size: 22px; }
.site-refresh .terms-section.terms-callout { background: #12233b; padding: 32px; border: 1px solid #3a5271; border-radius: 14px 3px 14px 3px; }
.site-refresh .terms-steps li { padding-left: 30px; }
.site-refresh .terms-steps li::before { background: none; border: 0; color: #93bbf1; }
.site-refresh .promo-intake { background: #0a1423; padding: 28px; border: 1px solid #314a6a; border-radius: 12px 3px 12px 3px; }
.site-refresh .promo-intake :is(.form-input,.form-select) { color: #eef4fc; background: #101e33; border-color: #446080; font-size: 16px; }
.site-refresh .promo-intake .form-input::placeholder { color: #9bb0ce; }
.site-refresh .promo-intake .form-label { color: #d2dfef; font: 14px/1.6 var(--font-body); letter-spacing: 0; text-transform: none; }
.site-refresh .promo-intake .form-label-optional, .site-refresh .promo-intake .form-hint, .site-refresh .promo-intake .intake-note { color: #a6bad6; font-size: 13px; }
.site-refresh .promo-ack-block { color: #c3d5ee; background: #152740; border-color: #3c5679; }
.site-refresh .promo-intake .intake-error { color: #ffb4ac; }
.site-refresh.page-404 .subhero { min-height: 65vh; display: grid; align-items: center; }
.site-refresh.page-404 .cta-row { display: flex; flex-wrap: wrap; gap: 16px; }
@media (max-width: 1150px) {
  .site-refresh #page-content > .page-section, .site-refresh .portfolio-section, .site-refresh .jump-band { width: calc(100% - 64px); }
  .site-refresh .suite-hero { grid-template-columns: 1fr; }
  .site-refresh .suite-hero-media { max-width: 800px; width: 100%; }
  .site-refresh .sr-policy-layout { gap: 35px; grid-template-columns: 200px 1fr; }
}
@media (max-width: 900px) {
  .site-refresh .nav { padding: 14px 28px; flex-wrap: wrap; gap: 10px; }
  .site-refresh .nav-links { margin-left: auto; }
  .site-refresh .nav-links a { padding: 10px; }
  .site-refresh .subhero { padding: 60px 32px; }
  .site-refresh .subhero-copy h1 { font-size: 52px; }
  .site-refresh .partner-grid, .site-refresh .portfolio-grid { gap: 22px; }
  .site-refresh .partner-card-body, .site-refresh .showcase-body { padding: 24px; }
  .site-refresh .partner-card-body h3, .site-refresh .showcase-body h3 { font-size: 25px; }
  .site-refresh .contact-band { display: flex; flex-direction: column; align-items: flex-start; gap: 25px; padding: 30px; }
  .site-refresh .sr-policy-layout { grid-template-columns: 1fr; }
  .site-refresh .sr-policy-nav { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px 20px; padding-bottom: 25px; border-bottom: 1px solid #34455d; }
  .site-refresh .sr-policy-nav .eyebrow { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .site-refresh .nav { padding: 12px 20px; justify-content: center; }
  .site-refresh .nav .brand-name { font-size: 18px; }
  .site-refresh .nav-brand-mark { width: 40px; height: 40px; }
  .site-refresh .nav-links { margin: 0; justify-content: center; width: 100%; gap: 1px; }
  .site-refresh .nav-links a { font-size: 12px; min-height: 44px; padding: 10px 8px; }
  .site-refresh .subhero { padding: 44px 20px; }
  .site-refresh .subhero-copy h1 { font-size: clamp(36px,9vw,48px); letter-spacing: -1.6px; }
  .site-refresh .subhero-copy > p:not(.eyebrow) { font-size: 17px; }
  .site-refresh #page-content > .page-section, .site-refresh .portfolio-section, .site-refresh .jump-band { width: calc(100% - 40px); }
  .site-refresh #page-content > .page-section, .site-refresh .portfolio-section { padding-block: 42px; }
  .site-refresh .section-heading h2 { font-size: 30px; }
  .site-refresh .sr-directory-heading { display: block; }
  .site-refresh .sr-directory-heading .text-link { margin-top: 12px; }
  .site-refresh .partner-grid, .site-refresh .portfolio-grid { grid-template-columns: 1fr; }
  .site-refresh .partner-search { padding-inline: 12px; }
  .site-refresh .partner-search input { font-size: 16px; min-width: 0; }
  .site-refresh .partner-card-body, .site-refresh .showcase-body { padding: 24px; }
  .site-refresh .partner-card > .partner-cta { padding: 16px 24px; font-size: 12px; overflow-wrap: anywhere; }
  .site-refresh .jump-band { gap: 4px 24px; }
  .site-refresh .suite-hero { padding: 24px; gap: 25px; }
  .site-refresh .suite-hero-copy h3 { font-size: 34px; }
  .site-refresh .suite-hero-thumbs { grid-template-columns: 1fr; }
  .site-refresh .suite-apps > .suite-app, .site-refresh .lab-grid .showcase-card { grid-template-columns: 1fr; }
  .site-refresh .contact-band { padding: 25px; }
  .site-refresh .contact-copy h2 { font-size: 29px; }
  .site-refresh .terms-section.terms-callout, .site-refresh .promo-intake { padding: 22px; }
  .site-refresh .terms-section p, .site-refresh .terms-section li, .site-refresh .privacy-section p, .site-refresh .privacy-section li { font-size: 16px; }
  .site-refresh .terms-section h2 { font-size: 27px; }
  .site-refresh .footer { padding: 30px 20px 25px; }
  .site-refresh .footer-meta { gap: 14px; }
}
@media (max-width: 360px) { .site-refresh .nav-links a { font-size: 11px; padding-inline: 6px; } }

/* Contrast repairs for the dark /promo intake panel.
   style.css pins .promo-ack / .promo-ack span / strong to --ink-980 (navy) because
   on the live light panel that is correct. This stylesheet darkens the panel, so
   those rules render the legal acknowledgement navy-on-navy (measured 1.13:1).
   These selectors are deliberately more specific than the style.css ones rather
   than relying on source order. Verified by rendering, not by reading the cascade. */
.site-refresh .promo-intake .promo-ack-block :is(.promo-ack, .promo-ack span, strong) {
  color: #e6eefb;
}

.site-refresh .promo-intake .promo-ack-block a {
  color: #9dc7ff;
}

/* --brand-blue on the dark panel is 3.57:1; below AA for this 11px mono label. */
.site-refresh .promo-intake .form-label-required {
  color: #8fb9ff;
}

/* Partner search: one outline, not two.
   This stylesheet moved the field's chrome (border, ground, radius) onto the
   .partner-search WRAPPER, but the input underneath still carried its own
   border and radius from style.css. That left two nested rounded rectangles,
   and because the wrapper is padded, the input's left edge landed on top of
   the absolutely positioned search icon and cut straight through it.
   The wrapper owns the chrome now; the input is just the text surface.
   Padding is dropped so the input spans the full wrapper and the icon sits
   back inside the field where its 14px offset was designed for, and overflow
   is clipped so the square-cornered input cannot poke past the wrapper's
   asymmetric radius. */
.site-refresh .partner-search {
  padding: 0;
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.site-refresh .partner-search input {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

/* The focus ring moves to the wrapper with the rest of the chrome, or focusing
   the field would draw the second outline all over again. */
.site-refresh .partner-search:focus-within {
  border-color: rgba(89, 175, 240, 0.55);
  box-shadow: 0 0 0 3px rgba(89, 175, 240, 0.12);
}

@media (max-width: 1099px) {
  .site-refresh .partner-search { padding-inline: 0; }
}

/* style.css has `.partner-search input:focus` at the same specificity as the
   rule above, so which one wins is decided by source order alone. This repo has
   been bitten by exactly that before, so state it at a specificity that cannot
   tie instead of relying on file order. */
.site-refresh .partner-search input:focus {
  border-color: transparent;
  box-shadow: none;
}
