/* Stage 4U-R global scale recovery. Corporate shell only; checkout stays enclosed. */
:root {
  --fidelity-content: 1360px;
  --fidelity-wide: 1520px;
  --fidelity-gutter: 64px;
  --fidelity-hero: clamp(72px, 6.4vw, 104px);
  --fidelity-heading: clamp(44px, 4vw, 64px);
  --fidelity-body: 18px;
  --fidelity-secondary: 16px;
  --fidelity-meta: 13px;
}
.skip-link {
  position: fixed;
  inset-inline-start: 1rem;
  top: -6rem;
  z-index: 10000;
  transform: none;
  min-height: 48px;
  padding: 12px 20px;
  color: #04111c;
  background: #72edff;
  font-size: 16px;
  font-weight: 700;
}
.skip-link:focus-visible {
  top: 1rem;
  transform: none;
  outline: 3px solid #f6fbff;
  outline-offset: 4px;
}
.site-header .nav-shell {
  width: min(calc(100% - 2 * var(--fidelity-gutter)), var(--fidelity-content));
  max-width: var(--fidelity-content);
  height: 88px;
  min-height: 88px;
  gap: 24px;
}
.site-header .brand img { width: 190px !important; }
.site-header .main-nav > a { font-size: 16px !important; }
.site-header .main-nav > a[aria-current="page"] {
  color: var(--text-1);
  text-decoration-color: var(--cyan);
}
.site-header .mobile-toggle { min-width: 48px; min-height: 48px; }
.u-page .u-container,
.u-contact .contact-shell {
  width: min(calc(100% - 2 * var(--fidelity-gutter)), var(--fidelity-content));
  max-width: var(--fidelity-content);
}
.u-page h1,
.u-page .u-home-hero h1,
.u-contact .u-hero h1 {
  font-size: var(--fidelity-hero);
  line-height: 1.04;
}
.u-page h2 { font-size: var(--fidelity-heading); line-height: 1.15; }
.u-page h3 { font-size: clamp(24px, 2.2vw, 34px); line-height: 1.25; }
.u-page p { font-size: var(--fidelity-body); line-height: 1.65; max-width: 68ch; }
.u-page .u-lead { font-size: 19px; line-height: 1.6; }
.u-page .u-card h3 { font-size: 24px; }
.u-page .u-card p,
.u-page .store-proof p,
.u-page .store-proof-flow p,
.u-page .store-proof-flow dd,
.u-page .store-proof-modes span,
.u-page .u-arch-detail p { font-size: var(--fidelity-secondary); line-height: 1.6; }
.u-page .u-btn,
.u-page .u-card footer a,
.u-page .u-product-card .u-status { font-size: 16px; }
.u-page .u-eyebrow { font-size: var(--fidelity-meta); letter-spacing: .12em; }
.u-page .u-section { padding-block: 104px; }
.u-page .u-hero { min-height: 680px; }
.u-page .u-section-heading { gap: 32px; }
.site-footer .footer-main,
.site-footer .footer-bottom {
  width: min(calc(100% - 2 * var(--fidelity-gutter)), var(--fidelity-content));
  max-width: var(--fidelity-content);
}
.site-footer .footer-main { padding-block: 72px 48px; gap: 32px; }
.site-footer .footer-brand img { width: 190px; }
.site-footer .footer-column a { font-size: 16px; min-height: 36px; line-height: 1.5; }
.site-footer .footer-column strong { font-size: 16px; }
.site-footer .footer-brand-block p { font-size: 16px; line-height: 1.6; }
.site-footer .footer-brand-block > span,
.site-footer .footer-bottom { font-size: 14px; line-height: 1.6; color: var(--text-2); }
@media (min-width: 1920px) {
  :root { --fidelity-gutter: 80px; }
}
@media (max-width: 1280px) {
  :root { --fidelity-gutter: 48px; }
}
@media (max-width: 1100px) {
  :root { --fidelity-gutter: 28px; }
  .site-header .main-nav { top: 88px; }
  .u-page .u-hero { min-height: 0; }
}
@media (max-width: 760px) {
  :root {
    --fidelity-gutter: 20px;
    --fidelity-hero: clamp(46px, 12vw, 58px);
    --fidelity-heading: clamp(34px, 9vw, 44px);
    --fidelity-body: 17px;
  }
  .site-header { height: 76px; min-height: 76px; }
  .site-header .nav-shell { height: 76px; min-height: 76px; }
  .site-header .brand img { width: 144px !important; }
  .site-header .main-nav { top: 76px; }
  .u-page .u-section { padding-block: 72px; }
  .u-page .u-hero { padding-block: 64px; }
  .u-page .u-lead { font-size: 17px; }
  .u-page h3 { font-size: 26px; }
  .u-page .u-card h3 { font-size: 22px; }
  .u-page .u-card p,
  .u-page .store-proof p { font-size: 16px; }
  .site-footer .footer-main { padding-block: 56px 32px; gap: 24px; }
  .site-footer .footer-brand img { width: 160px; }
}
@media (max-width: 360px) {
  :root { --fidelity-gutter: 18px; }
}

/* Text enlargement must reflow within the existing corporate grid. */
body:has(.u-page) .u-page,
body:has(.brand-page) .brand-page,
body:has(.editorial-article) .editorial-article,
body:has(.u-page) .site-footer,
body:has(.brand-page) .site-footer,
body:has(.editorial-article) .site-footer { overflow-wrap: anywhere; }
.u-page .u-btn { max-width: 100%; white-space: normal; }
.site-footer .footer-column { min-width: 0; }
.site-footer .footer-column a { overflow-wrap: anywhere; }
