:root {
  --bg: #f5fafc;
  --bg-soft: #eef7fa;
  --surface: #ffffff;
  --surface-soft: #eff8f5;
  --surface-muted: #f7fbfd;
  --text: #0f172a;
  --text-soft: #4f6475;
  --line: #d8e6ec;
  --line-strong: #c6d9e2;
  --blue: #0e5e86;
  --blue-deep: #0b2740;
  --teal: #18b097;
  --teal-deep: #10907c;
  --shadow: 0 22px 55px rgba(11, 39, 64, 0.08);
  --shadow-soft: 0 12px 28px rgba(11, 39, 64, 0.06);
  --radius: 28px;
  --radius-sm: 18px;
  --container: min(1400px, calc(100vw - 48px));
  --transition: 180ms ease;
}
* { box-sizing: border-box; }
html { font-size: 90%; scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: linear-gradient(180deg, #fbfdfe 0%, var(--bg) 100%); color: var(--text); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { font: inherit; }
.skip-link { position: absolute; left: -999px; top: 1rem; background: var(--blue-deep); color: white; padding: 0.75rem 1rem; border-radius: 12px; z-index: 999; }
.skip-link:focus { left: 1rem; }
.container { width: var(--container); margin: 0 auto; }
.section { padding: 84px 0; }
.section-tight { padding: 58px 0; }
.section-topless { padding-top: 18px; }
.eyebrow { display: inline-flex; align-items: center; gap: 0.55rem; padding: 0.52rem 0.92rem; border-radius: 999px; background: rgba(24, 176, 151, 0.08); color: var(--teal-deep); font-size: 0.81rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.eyebrow::before,.card-label::before,.tag::before,.mini-tag::before,.aside-badge::before,.dot::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: linear-gradient(135deg, var(--blue), var(--teal)); flex: 0 0 auto; }
.display-title { font-size: clamp(2.75rem, 5vw, 4.9rem); line-height: 0.98; letter-spacing: -0.045em; margin: 1.15rem 0 1rem; max-width: 12.8ch; }
.page-title { font-size: clamp(2.2rem, 4vw, 4rem); line-height: 1.02; letter-spacing: -0.035em; margin: 1rem 0 0.85rem; max-width: 14ch; }
.lead { font-size: clamp(1.05rem, 1.7vw, 1.22rem); line-height: 1.7; color: var(--text-soft); max-width: 60ch; }
.section-heading { font-size: clamp(1.82rem, 2.7vw, 2.8rem); line-height: 1.08; letter-spacing: -0.03em; margin: 0.85rem 0 0.75rem; }
.section-copy { margin: 0; font-size: 1.02rem; line-height: 1.78; color: var(--text-soft); max-width: 62ch; }
.caption,.small-print { color: var(--text-soft); font-size: 0.94rem; line-height: 1.65; }
.stack-sm > * + * { margin-top: 0.85rem; }
.stack-md > * + * { margin-top: 1.15rem; }
.stack-lg > * + * { margin-top: 1.7rem; }
.inline-chips,.tag-row { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.tag,.mini-tag,.dot { display: inline-flex; align-items: center; gap: 0.52rem; padding: 0.72rem 1rem; border-radius: 999px; background: rgba(255, 255, 255, 0.9); border: 1px solid rgba(14, 94, 134, 0.10); color: var(--blue-deep); font-size: 0.92rem; font-weight: 600; box-shadow: var(--shadow-soft); }
.button-row { display: flex; flex-wrap: wrap; gap: 0.95rem; margin-top: 1.7rem; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 0.55rem; padding: 0.96rem 1.35rem; min-height: 52px; border-radius: 15px; font-weight: 650; transition: transform var(--transition), box-shadow var(--transition), background var(--transition), border-color var(--transition); }
.button-primary { background: linear-gradient(135deg, var(--blue), var(--teal)); color: white; box-shadow: 0 16px 34px rgba(14, 94, 134, 0.22); }
.button-secondary { background: rgba(255, 255, 255, 0.92); border: 1px solid var(--line-strong); color: var(--blue-deep); }
.button:hover,.button:focus-visible { transform: translateY(-1px); }
.button-secondary:hover,.button-secondary:focus-visible { border-color: rgba(14, 94, 134, 0.28); }
.utility-bar { border-bottom: 1px solid rgba(14, 94, 134, 0.08); background: rgba(255, 255, 255, 0.9); }
.utility-inner { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-size: 0.93rem; color: var(--text-soft); }
.utility-meta,.utility-links { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.utility-links a:hover { color: var(--blue); }
.site-header { position: sticky; top: 0; z-index: 100; backdrop-filter: blur(18px); background: rgba(251, 253, 254, 0.82); border-bottom: 1px solid rgba(14, 94, 134, 0.08); }
.header-inner { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; align-items: center; gap: 0.95rem; min-width: 0; min-height: 64px; }
.brand img { height: 62px; width: auto; }
.nav-shell { display: flex; align-items: center; gap: 1rem; }
.menu-toggle { display: none; width: 48px; height: 48px; border-radius: 14px; border: 1px solid var(--line); background: rgba(255,255,255,0.92); align-items: center; justify-content: center; color: var(--blue-deep); }
.menu-toggle svg { width: 22px; height: 22px; }
.site-nav { display: flex; align-items: center; gap: 0.42rem; padding: 0.4rem; border-radius: 999px; background: rgba(255,255,255,0.78); border: 1px solid rgba(14, 94, 134, 0.08); box-shadow: var(--shadow-soft); }
.site-nav a { padding: 0.78rem 1.05rem; border-radius: 999px; font-size: 0.93rem; font-weight: 600; color: #334155; }
.site-nav a:hover,.site-nav a:focus-visible { color: var(--blue-deep); background: rgba(14, 94, 134, 0.06); }
.site-nav a.is-active { color: var(--blue-deep); background: linear-gradient(135deg, rgba(14,94,134,0.12), rgba(24,176,151,0.12)); }
.header-cta { padding: 0.9rem 1.2rem; }
.hero-shell,.page-hero-shell { position: relative; overflow: hidden; border: 1px solid rgba(14, 94, 134, 0.08); background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(241,247,250,0.98) 100%); border-radius: 36px; box-shadow: var(--shadow); }
.hero-shell::before,.page-hero-shell::before { content: ''; position: absolute; inset: -20% auto auto -12%; width: 420px; height: 420px; background: radial-gradient(circle, rgba(24,176,151,0.10) 0%, rgba(24,176,151,0) 72%); pointer-events: none; }
.hero-shell::after,.page-hero-shell::after { content: ''; position: absolute; right: -80px; bottom: -120px; width: 400px; height: 400px; background: radial-gradient(circle, rgba(14,94,134,0.10) 0%, rgba(14,94,134,0) 74%); pointer-events: none; }
.hero { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(460px, 0.95fr); gap: 2.2rem; align-items: center; padding: clamp(2rem, 4vw, 4rem); }
.hero-media { display: grid; gap: 1rem; grid-template-columns: 1.05fr 0.95fr; grid-template-rows: 1fr auto; align-self: stretch; }
.hero-media .photo-card:first-child { grid-row: 1 / span 2; min-height: 540px; }
.photo-card,.material-hero-visual,.section-image { position: relative; overflow: hidden; border-radius: 28px; border: 1px solid rgba(14, 94, 134, 0.08); box-shadow: var(--shadow-soft); background: #ffffff; }
.photo-card { min-height: 255px; }
.photo-card img,.material-hero-visual img,.section-image img { width: 100%; height: 100%; object-fit: cover; }
.photo-card figcaption { position: absolute; left: 14px; bottom: 14px; padding: 0.52rem 0.72rem; border-radius: 999px; background: rgba(255,255,255,0.88); color: var(--blue-deep); font-size: 0.82rem; font-weight: 700; backdrop-filter: blur(12px); }
.hero-note { margin-top: 1.4rem; padding: 1rem 1.1rem; border-radius: 18px; background: rgba(255, 255, 255, 0.76); border: 1px solid rgba(14, 94, 134, 0.08); color: var(--text-soft); font-size: 0.96rem; line-height: 1.65; }
.info-panel,.card,.feature-card,.note-panel,.contact-card,.statement-card,.process-card,.market-card,.profile-card,.program-card,.dark-card { background: rgba(255,255,255,0.96); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-soft); padding: 1.45rem; }
.card-label,.aside-badge { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--blue); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.card-title { margin: 0.9rem 0 0.55rem; font-size: 1.25rem; line-height: 1.2; letter-spacing: -0.02em; }
.card-copy { margin: 0; color: var(--text-soft); font-size: 0.98rem; line-height: 1.72; }
.grid-2,.grid-3,.grid-4,.content-grid,.material-grid,.market-grid,.contact-grid,.flow-grid,.value-grid,.download-grid,.support-grid,.program-grid,.hidden-contact-grid { display: grid; gap: 1.2rem; }
.grid-2,.contact-grid,.download-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3,.material-grid,.value-grid,.support-grid,.program-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4,.market-grid,.hidden-contact-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.flow-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.content-grid { grid-template-columns: 1.02fr 0.98fr; align-items: center; }
.contact-row,.contact-list { display: grid; gap: 0.8rem; margin-top: 1rem; }
.contact-row-item,.contact-list a,.contact-list span { display: flex; gap: 0.85rem; align-items: flex-start; color: var(--text-soft); }
.contact-list strong,.contact-row-item strong { color: var(--blue-deep); display: block; }
.bullet-list,.check-list { margin: 0.95rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.72rem; }
.bullet-list li,.check-list li { position: relative; padding-left: 1.35rem; color: var(--text-soft); line-height: 1.68; }
.bullet-list li::before,.check-list li::before { content: ''; position: absolute; left: 0; top: 0.72em; width: 7px; height: 7px; border-radius: 50%; background: linear-gradient(135deg, var(--blue), var(--teal)); transform: translateY(-50%); }
.split-section { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: 1.5rem; align-items: center; }
.split-section-reverse { grid-template-columns: 1.05fr 0.95fr; }
.section-surface { padding: clamp(1.45rem, 3vw, 2.45rem); border-radius: 30px; background: linear-gradient(180deg, rgba(255,255,255,0.97) 0%, rgba(243,248,250,0.97) 100%); border: 1px solid rgba(14, 94, 134, 0.08); box-shadow: var(--shadow-soft); }
.profile-card img { width: 100%; aspect-ratio: 1.12; object-fit: cover; border-radius: 18px; margin-bottom: 1rem; }
.band { background: linear-gradient(180deg, rgba(237,247,244,0.78), rgba(240,246,249,0.78)); border-top: 1px solid rgba(14, 94, 134, 0.07); border-bottom: 1px solid rgba(14, 94, 134, 0.07); }
.diagram-card { padding: 1rem; border-radius: 30px; border: 1px solid var(--line); background: rgba(255,255,255,0.95); box-shadow: var(--shadow-soft); }
.diagram-card img { width: 100%; border-radius: 24px; }
.note-panel { background: linear-gradient(180deg, rgba(14,94,134,0.05), rgba(24,176,151,0.05)); }
.cta-band { padding: 1.9rem; border-radius: 30px; background: linear-gradient(135deg, rgba(14,94,134,0.12), rgba(24,176,151,0.12)); border: 1px solid rgba(14, 94, 134, 0.12); box-shadow: var(--shadow-soft); }
.cta-band .button-row { margin-top: 1.2rem; }
.page-hero { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(340px,0.85fr); gap: 1.6rem; align-items: stretch; padding: clamp(1.7rem, 3vw, 2.9rem); }
.page-hero-copy { display: flex; flex-direction: column; justify-content: center; }
.page-hero-aside { display: flex; flex-direction: column; gap: 1rem; }
.aside-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.9rem; }
.aside-list li { padding: 0.95rem 1rem; border-radius: 18px; background: rgba(255, 255, 255, 0.84); border: 1px solid rgba(14, 94, 134, 0.08); color: var(--text-soft); line-height: 1.65; }
.aside-list strong { display: block; color: var(--blue-deep); margin-bottom: 0.18rem; }
.contact-hero-card { overflow: hidden; border-radius: 28px; border: 1px solid rgba(14,94,134,0.08); background: rgba(255,255,255,0.94); box-shadow: var(--shadow-soft); padding: 1.45rem; }
.contact-hero-card h3 { margin: 0.35rem 0 0.55rem; font-size: 1.35rem; }
.contact-hero-card p { margin: 0; color: var(--text-soft); line-height: 1.68; }
.trust-badge {
  display: inline-grid;
  gap: 0.18rem;
  padding: 0.15rem 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.trust-badge strong {
  display: inline-flex;
  align-items: center;
  gap: 0.52rem;
  color: var(--blue-deep);
  font-size: 0.98rem;
  line-height: 1.18;
}
.trust-badge strong::before {
  content: "";
  width: 14px;
  height: 16px;
  background: linear-gradient(180deg, #8fd1ff 0%, #4f95da 100%);
  clip-path: polygon(50% 0%, 100% 18%, 100% 58%, 50% 100%, 0% 58%, 0% 18%);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.14) inset;
}
.trust-badge span {
  color: var(--blue);
  font-size: 0.84rem;
  line-height: 1.34;
  font-style: italic;
}
.contact-hero-card .trust-badge {
  margin-top: 1rem;
}
.footer-contact .trust-badge {
  margin-top: 0.25rem;
}
.program-card { background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,249,251,0.98)); }
.download-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.download-card img { width: 110px; height: 110px; object-fit: cover; border-radius: 16px; border: 1px solid var(--line); }
.download-card-compact { align-items: flex-start; padding: 1.2rem; }
.download-card-compact img { width: 96px; height: 96px; }
.download-card-compact .button-row { margin-top: 0.95rem; }
.download-symbol {
  width: 96px;
  height: 96px;
  flex: 0 0 auto;
  border-radius: 20px;
  border: 1px solid rgba(14, 94, 134, 0.1);
  background: linear-gradient(180deg, rgba(244, 249, 251, 0.98), rgba(235, 244, 248, 0.98));
  box-shadow: var(--shadow-soft);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.download-symbol svg {
  width: 72px;
  height: 72px;
  display: block;
}
.download-symbol--vcard .symbol-page {
  fill: rgba(255,255,255,0.96);
  stroke: rgba(14, 94, 134, 0.2);
  stroke-width: 1.5;
}
.download-symbol--vcard .symbol-line {
  stroke: rgba(14, 94, 134, 0.56);
  stroke-width: 2.5;
  stroke-linecap: round;
}
.download-symbol--vcard .symbol-chip {
  fill: rgba(24, 176, 151, 0.16);
  stroke: rgba(24, 176, 151, 0.45);
  stroke-width: 1.4;
}
.download-symbol--company .symbol-card {
  fill: rgba(255,255,255,0.96);
  stroke: rgba(14, 94, 134, 0.18);
  stroke-width: 1.5;
}
.download-symbol--company .symbol-mark-ring {
  fill: none;
  stroke: rgba(14, 94, 134, 0.88);
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.download-symbol--company .symbol-line-strong {
  stroke: rgba(14, 94, 134, 0.9);
  stroke-width: 4;
  stroke-linecap: round;
}
.download-symbol--company .symbol-line-soft {
  stroke: rgba(14, 94, 134, 0.48);
  stroke-width: 3;
  stroke-linecap: round;
}
.download-symbol--mobile .symbol-phone {
  fill: rgba(255,255,255,0.96);
  stroke: rgba(14, 94, 134, 0.2);
  stroke-width: 1.5;
}
.download-symbol--mobile .symbol-screen {
  fill: rgba(14, 94, 134, 0.05);
}
.download-symbol--mobile .symbol-mini-card {
  fill: rgba(255,255,255,0.94);
  stroke: rgba(14, 94, 134, 0.18);
  stroke-width: 1.4;
}
.download-symbol--mobile .symbol-qr,
.download-symbol--mobile .symbol-dot {
  fill: rgba(14, 94, 134, 0.88);
}
.download-symbol--mobile .symbol-signal {
  stroke: rgba(24, 176, 151, 0.95);
  stroke-width: 2.5;
  stroke-linecap: round;
  fill: none;
}
.download-symbol--hidden .symbol-page {
  fill: rgba(255,255,255,0.96);
  stroke: rgba(14, 94, 134, 0.18);
  stroke-width: 1.5;
}
.download-symbol--hidden .symbol-qr {
  fill: rgba(14, 94, 134, 0.88);
}
.download-symbol--hidden .symbol-line-soft {
  stroke: rgba(14, 94, 134, 0.48);
  stroke-width: 3;
  stroke-linecap: round;
}
.download-symbol--hidden .symbol-signal {
  stroke: rgba(24, 176, 151, 0.95);
  stroke-width: 2.5;
  stroke-linecap: round;
  fill: none;
}
.site-footer { margin-top: 24px; padding: 0 0 12px; }
.footer-shell { border: 1px solid rgba(14,94,134,0.08); background: linear-gradient(180deg, rgba(255,255,255,0.97), rgba(240,245,248,0.96)); border-radius: 22px; box-shadow: var(--shadow); padding: 0.72rem 0.85rem; }
.footer-grid { display: grid; grid-template-columns: 0.9fr 0.58fr 0.62fr; gap: 0.42rem; align-items: start; }
.footer-brand { display: grid; grid-template-columns: 144px minmax(0, 1fr); gap: 0.78rem; align-items: center; }
.footer-brand img { width: 144px; }
.footer-copy { margin-top: 0; color: var(--text-soft); line-height: 1.26; max-width: 27ch; font-size: 0.82rem; }
.footer-title { margin: 0 0 0.24rem; font-size: 0.8rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--blue); }
.footer-links,.footer-contact { display: grid; gap: 0.28rem; }
.footer-links { gap: 0.42rem; }
.footer-links a,.footer-contact a,.footer-contact span { color: var(--text-soft); line-height: 1.18; font-size: 0.82rem; }
.footer-links a:hover,.footer-contact a:hover { color: var(--blue); }
.footer-bottom { margin-top: 0.42rem; padding-top: 0.38rem; border-top: 1px solid rgba(14,94,134,0.08); display: flex; justify-content: space-between; gap: 0.45rem; flex-wrap: wrap; color: var(--text-soft); font-size: 0.72rem; }
.footer-contact .trust-badge { margin-top: 0.32rem; }
hr.soft { border: 0; border-top: 1px solid rgba(14,94,134,0.08); margin: 1.25rem 0; }
.hidden-page { background: linear-gradient(180deg, #071423 0%, #0a1b2d 100%); color: #F3F8FB; }
.hidden-page .site-header,.hidden-page .utility-bar,.hidden-page .site-footer { display: none; }
.hidden-page main { min-height: 100vh; }
.hidden-wrap { width: min(1120px, calc(100vw - 32px)); margin: 0 auto; padding: 28px 0 44px; }
.is-standalone .hidden-topbar { display: none; }
.is-standalone .hidden-wrap { width: min(1120px, calc(100vw - 16px)); padding-top: 14px; }
.install-note {
  margin-top: 0.95rem;
  padding: 0.95rem 1rem;
  border-radius: 18px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
}
.install-note strong {
  display: block;
  margin-bottom: 0.3rem;
  color: #ffffff;
}
.install-note p {
  margin: 0;
  color: rgba(243,248,251,0.78);
  line-height: 1.6;
}
.install-note code {
  color: #ffffff;
}
.hidden-topbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 16px; }
.hidden-home { display: inline-flex; align-items: center; gap: 0.65rem; color: rgba(255,255,255,0.85); font-weight: 600; }
.hidden-card-shell { overflow: hidden; border-radius: 34px; border: 1px solid rgba(255,255,255,0.18); background: radial-gradient(circle at top left, rgba(33,156,181,0.24) 0%, rgba(33,156,181,0) 34%),radial-gradient(circle at bottom right, rgba(8,52,85,0.30) 0%, rgba(8,52,85,0) 38%),linear-gradient(180deg, rgba(14,28,46,0.98), rgba(8,18,31,0.99)); box-shadow: 0 24px 60px rgba(0,0,0,0.34); padding: clamp(1.25rem, 3vw, 2rem); }
.hidden-hero { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.98fr); gap: 1.3rem; align-items: stretch; }
.hidden-panel,.hidden-contact { border-radius: 28px; border: 1px solid rgba(255,255,255,0.14); backdrop-filter: blur(8px); }
.hidden-panel { padding: 1.4rem; background: linear-gradient(180deg, rgba(79,101,126,0.90), rgba(61,80,101,0.94)); }
.hidden-panel-head { display: grid; grid-template-columns: minmax(0, 1fr) 148px; gap: 1.1rem; align-items: start; }
.hidden-panel-head-copy { min-width: 0; }
.hidden-panel-head-photo { display: flex; justify-content: flex-end; padding-top: 0.2rem; }
.hidden-panel-head-photo img { width: 148px; height: 148px; object-fit: cover; object-position: center 18%; border-radius: 50%; border: 4px solid rgba(255,255,255,0.88); box-shadow: 0 18px 34px rgba(0,0,0,0.22); }
.hidden-panel .eyebrow { background: rgba(24,176,151,0.14); color: #8BE2C8; }
.hidden-panel .display-title,.hidden-panel .page-title { color: white; max-width: 11ch; }
.hidden-panel .lead,.hidden-panel .section-copy,.hidden-contact p,.hidden-card-note { color: rgba(243,248,251,0.84); }
.hidden-actions { display: grid; gap: 0.8rem; margin-top: 1.3rem; }
.hidden-actions .button { justify-content: flex-start; }
.hidden-actions .button-secondary { background: rgba(255,255,255,0.08); color: white; border-color: rgba(255,255,255,0.16); }
.hidden-grid { display: grid; grid-template-columns: 190px 1fr; gap: 1.1rem; align-items: start; margin-top: 1.3rem; }
.hidden-grid-simple { grid-template-columns: 1fr; }
.hidden-qr-wrap { background: white; border-radius: 24px; padding: 16px; }
.hidden-contact { display: grid; gap: 0.35rem; padding: 0.35rem 1.4rem 1.4rem; align-content: start; background: linear-gradient(180deg, rgba(84, 108, 135, 0.96), rgba(73, 95, 119, 0.98) 48%, rgba(61, 80, 101, 0.99) 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,0.10); }
.hidden-logo-wrap { display: flex; align-items: center; justify-content: center; min-height: 96px; }
.hidden-logo-wrap-top { padding-top: 0; margin-top: -0.65rem; }
.hidden-logo-wrap img { width: min(120px, 100%); height: auto; display: block; }
.hidden-logo-wrap-wordmark { min-height: 16px; padding: 0.2rem 0.75rem 0.1rem; align-items: flex-start; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.hidden-logo-wrap-wordmark img { width: min(426px, 100%); max-width: 100%; transform: translateY(-34px); filter: brightness(0.88) contrast(1.08); }
.hidden-contact-list { display: grid; gap: 0.85rem; }
.hidden-contact-item strong { display: block; color: #ffffff; margin-bottom: 0.2rem; }
.hidden-contact-item span,.hidden-contact-item a { color: rgba(243,248,251,0.88); }
.hidden-downloads { margin-top: 1.2rem; }
.hidden-mini { display: inline-flex; align-items: center; gap: 0.5rem; color: rgba(255,255,255,0.7); font-size: 0.93rem; }
.hidden-panel .trust-badge,.hidden-contact .trust-badge { background: transparent; border: 0; box-shadow: none; }
.hidden-panel .trust-badge strong,.hidden-contact .trust-badge strong { color: #ffffff; }
.hidden-panel .trust-badge span,.hidden-contact .trust-badge span { color: rgba(243,248,251,0.8); }
.notice-strip { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; margin-top: 1.2rem; }
.notice-strip .dark-card { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.10); color: white; }
.notice-strip .card-copy { color: rgba(243,248,251,0.76); }
@media (min-width: 1400px) { .hero { grid-template-columns: minmax(0, 1.08fr) minmax(520px, 0.92fr); } .hero-media .photo-card:first-child { min-height: 600px; } }
@media (max-width: 1120px) { .hero,.page-hero,.content-grid,.split-section,.split-section-reverse,.hidden-hero { grid-template-columns: 1fr; } .grid-4,.market-grid,.flow-grid,.hidden-contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .grid-3,.material-grid,.value-grid,.support-grid,.contact-grid,.download-grid,.footer-grid,.program-grid { grid-template-columns: 1fr 1fr; } .hero-media .photo-card:first-child { min-height: 440px; } }
@media (max-width: 900px) { .utility-meta { display: none; } .header-inner { min-height: 74px; } .menu-toggle { display: inline-flex; } .site-nav { position: absolute; right: 16px; top: calc(100% + 10px); min-width: 240px; padding: 0.65rem; border-radius: 22px; flex-direction: column; align-items: stretch; opacity: 0; pointer-events: none; transform: translateY(-8px); transition: opacity var(--transition), transform var(--transition); } .site-nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); } .site-nav a { border-radius: 14px; } .header-cta { display: none; } .brand img { height: 54px; } .notice-strip { grid-template-columns: 1fr; } }
@media (max-width: 760px) { :root { --container: min(100vw - 24px, 1320px); } .section { padding: 66px 0; } .hero,.page-hero { padding: 1.35rem; } .hero-media { grid-template-columns: 1fr; grid-template-rows: auto; } .hero-media .photo-card:first-child { grid-row: auto; min-height: 300px; } .photo-card { min-height: 220px; } .grid-2,.grid-3,.grid-4,.material-grid,.market-grid,.contact-grid,.flow-grid,.value-grid,.download-grid,.support-grid,.footer-grid,.program-grid,.hidden-contact-grid,.hidden-grid { grid-template-columns: 1fr; } .utility-inner { align-items: flex-start; padding: 0.7rem 0; } .utility-links { gap: 0.55rem 1rem; } .footer-shell { padding: 0.95rem; border-radius: 22px; } .hero-shell,.page-hero-shell { border-radius: 28px; } .display-title { max-width: 11ch; } .hidden-wrap { width: min(100vw - 18px, 1120px); padding: 14px 0 24px; } .hidden-card-shell { padding: 1rem; border-radius: 26px; } .hidden-panel .display-title { font-size: clamp(2.3rem, 11vw, 4rem); } }
@media (max-width: 760px) { .hidden-panel-head { grid-template-columns: 1fr; } .hidden-panel-head-photo { justify-content: flex-start; padding-top: 0; } .hidden-panel-head-photo img { width: 132px; height: 132px; } .hidden-logo-wrap-top { padding-top: 0; margin-top: 0; } .hidden-logo-wrap-wordmark { min-height: 96px; padding: 0; align-items: center; } .hidden-logo-wrap-wordmark img { width: min(300px, 100%); transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }


/* --- Homepage S+ refinement --- */
.hero-shell-splus { border-radius: 40px; }
.hero-splus { grid-template-columns: minmax(0, 1.08fr) minmax(460px, 0.92fr); gap: 2rem; align-items: start; }
.hero-copy-splus { justify-content: center; }
.hero-copy-splus .display-title { max-width: 12.2ch; font-size: clamp(2.65rem, 4.2vw, 4.35rem); }
.hero-proof-band { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0.9rem; }
.proof-item { padding: 1rem 1.05rem; border-radius: 20px; background: rgba(255,255,255,0.82); border: 1px solid rgba(14,94,134,0.10); box-shadow: var(--shadow-soft); }
.proof-item strong { display: block; font-size: 0.95rem; color: var(--blue-deep); margin-bottom: 0.32rem; }
.proof-item span { display: block; font-size: 0.92rem; line-height: 1.6; color: var(--text-soft); }
.hero-media-splus { grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.82fr); align-items: stretch; gap: 1rem; }
.hero-side-stack { display: grid; grid-template-rows: minmax(235px, 0.9fr) auto; gap: 1rem; }
.photo-card-wide { min-height: 620px; }
.photo-card-hero-main img { object-position: center center; }
.photo-card-hero-side img { object-position: center center; }
.info-panel-splus { display: grid; align-content: start; gap: 0.65rem; padding: 1.4rem; }
.info-panel-splus .card-title { font-size: 1.18rem; margin-bottom: 0.1rem; }
.info-list-compact { display: grid; gap: 0.88rem; }
.info-list-compact div { padding-top: 0.78rem; border-top: 1px solid rgba(14,94,134,0.08); }
.info-list-compact div:first-child { border-top: 0; padding-top: 0.1rem; }
.info-list-compact strong { display: block; color: var(--blue-deep); margin-bottom: 0.18rem; }
.info-list-compact span { display: block; color: var(--text-soft); line-height: 1.58; }
.compact-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.2rem; }
.feature-card-tight { padding: 1.35rem 1.35rem 1.3rem; }
.feature-card-tight .card-title { font-size: 1.16rem; }
.section-head-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 0.8fr); gap: 1.4rem; align-items: end; }
.loop-board { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr); gap: 1rem; align-items: stretch; }
.loop-rail { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0.9rem; }
.loop-node, .loop-summary { background: rgba(255,255,255,0.95); border: 1px solid var(--line); border-radius: 26px; box-shadow: var(--shadow-soft); }
.loop-node { padding: 1.1rem; min-height: 220px; display: grid; align-content: start; gap: 0.75rem; }
.loop-node span { width: 44px; height: 44px; display: inline-grid; place-items: center; border-radius: 14px; background: linear-gradient(135deg, rgba(14,94,134,0.12), rgba(24,176,151,0.16)); color: var(--blue-deep); font-weight: 800; }
.loop-node strong { font-size: 1.06rem; letter-spacing: -0.02em; }
.loop-node small { font-size: 0.95rem; line-height: 1.6; color: var(--text-soft); }
.loop-summary { padding: 1.35rem; display: grid; align-content: start; }
.program-hero { display: grid; grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr); gap: 1.2rem; align-items: stretch; }
.program-hero-image { min-height: 100%; }
.program-hero-image img { min-height: 100%; object-fit: cover; }
.compact-chips { margin-top: 1.1rem; }
.market-card .card-title { font-size: 1.08rem; }

@media (min-width: 1450px) {
  .hero-splus { grid-template-columns: minmax(0, 1.04fr) minmax(500px, 0.96fr); }
  .photo-card-wide { min-height: 660px; }
}
@media (max-width: 1180px) {
  .hero-splus, .loop-board, .program-hero, .section-head-split { grid-template-columns: 1fr; }
  .hero-media-splus { grid-template-columns: 1fr 1fr; }
  .hero-media-compact { max-width: none; justify-self: stretch; }
  .compact-grid-3, .loop-rail { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .photo-card-wide { min-height: 420px; }
}
@media (max-width: 760px) {
  .hero-proof-band, .compact-grid-3, .loop-rail, .hero-media-splus { grid-template-columns: 1fr; }
  .hero-side-stack { grid-template-rows: auto; }
  .photo-card-wide { min-height: 300px; }
  .hero-copy-splus .display-title { max-width: 11ch; }
  .loop-node { min-height: auto; }
}


/* --- V4 brand and placeholder refinement --- */
.utility-links { align-items: center; }
.utility-location { color: rgba(43,62,77,0.74); font-weight: 600; }
.utility-pill { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0.55rem 0.92rem; border-radius: 999px; font-weight: 800; letter-spacing: -0.01em; box-shadow: 0 10px 24px rgba(11,39,64,0.08); }
.utility-phone { background: rgba(11,39,64,0.06); border: 1px solid rgba(11,39,64,0.10); color: var(--blue-deep); }
.utility-email { background: rgba(24,176,151,0.14); border: 1px solid rgba(24,176,151,0.18); color: var(--blue); }
.brand img { height: 64px; width: auto; }
.site-header { border-bottom-color: rgba(14,94,134,0.10); }
.profile-card img, .section-image img, .material-hero-visual img, .photo-card img { background: linear-gradient(180deg, #F7FAFB, #ECF3F5); }
.photo-card figcaption { background: rgba(255,255,255,0.92); }
.loop-summary .card-title { max-width: 18ch; }
.program-hero .section-heading { max-width: 16ch; }
.hidden-contact { background: linear-gradient(180deg, rgba(84, 108, 135, 0.96), rgba(73, 95, 119, 0.98) 48%, rgba(61, 80, 101, 0.99) 100%); }
@media (max-width: 900px) { .utility-pill { min-height: 34px; padding: 0.48rem 0.76rem; } .brand img { height: 58px; } }


/* --- V5 refinement pass --- */
.split-section, .split-section-reverse, .content-grid { align-items: stretch; }
.split-equal > * { min-height: 100%; }
.media-frame-wide { aspect-ratio: 16 / 10; }
.hero-media-compact { display: grid; grid-template-columns: 1fr; gap: 0.9rem; align-content: start; max-width: 540px; width: 100%; justify-self: end; }
.photo-card-hero-banner { min-height: 0; aspect-ratio: 4 / 3; }
.hero-bottom-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 0.9rem; align-items: stretch; }
.hero-bottom-grid .photo-card-hero-side { min-height: 0; aspect-ratio: 4 / 5; }
.info-panel-compact { min-height: 100%; padding: 1.18rem; }
.loop-board-inline { grid-template-columns: repeat(5, minmax(0,1fr)); gap: 0.9rem; }
.loop-board-inline .loop-summary { min-height: 220px; }
.loop-summary-compact .card-title { max-width: 12ch; }
.loop-summary-compact .card-copy { line-height: 1.62; }
.flow-grid-refined { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.process-card-refined { padding: 1.18rem; display: grid; align-content: start; gap: 0.58rem; }
.process-card-refined .card-title { margin: 0; font-size: 1.05rem; }
.process-card-refined .card-copy { font-size: 0.95rem; line-height: 1.58; }
.step-dot { width: 40px; height: 40px; display: inline-grid; place-items: center; border-radius: 14px; background: linear-gradient(135deg, rgba(14,94,134,0.12), rgba(24,176,151,0.16)); color: var(--blue-deep); font-weight: 800; }
.note-panel-tight .card-title { max-width: 19ch; }
.section-image-program { aspect-ratio: 16 / 11; }
.utility-links { flex-wrap: wrap; }
.utility-email { box-shadow: 0 12px 26px rgba(24,176,151,0.12); }
.utility-phone { box-shadow: 0 12px 26px rgba(11,39,64,0.10); }
.brand img { height: 66px; }
@media (max-width: 1180px) { .loop-board-inline { grid-template-columns: repeat(2, minmax(0,1fr)); } .hero-bottom-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .hero-bottom-grid, .flow-grid-refined, .loop-board-inline { grid-template-columns: 1fr; } .photo-card-hero-banner, .hero-bottom-grid .photo-card-hero-side, .section-image-program, .media-frame-wide { aspect-ratio: auto; } .hero-copy-splus .display-title { max-width: 11.2ch; font-size: clamp(2.5rem, 10vw, 3.65rem); } .brand img { height: 58px; } }


/* --- V8 proportional layout pass --- */
.hero-splus {
  grid-template-columns: minmax(0, 1.16fr) minmax(340px, 0.72fr);
  gap: 1.5rem;
  align-items: start;
}
.hero-copy-splus .display-title {
  max-width: 9.7ch;
  font-size: clamp(2.55rem, 3.9vw, 4rem);
}
.hero-copy-splus .lead { max-width: 54ch; }
.hero-media-compact {
  max-width: 430px;
  width: 100%;
  justify-self: end;
}
.photo-card-hero-banner {
  aspect-ratio: 5 / 4;
}
.hero-bottom-grid {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  align-items: stretch;
}
.hero-bottom-grid .photo-card-hero-side {
  aspect-ratio: 1 / 1;
  min-height: 0;
}
.info-panel-compact {
  padding: 1rem 1rem 1.05rem;
}
.page-hero {
  grid-template-columns: minmax(0,1.12fr) minmax(300px,0.76fr);
  gap: 1.2rem;
  align-items: center;
}
.page-title {
  max-width: 11ch;
  font-size: clamp(2rem, 3.4vw, 3.45rem);
}
.page-hero-copy .lead { max-width: 52ch; }
.page-hero-aside {
  align-items: flex-end;
  justify-content: center;
}
.page-hero-aside > * {
  width: min(100%, 520px);
}
.page-hero-aside .media-frame-wide {
  aspect-ratio: 16 / 9;
}
.media-frame-wide {
  aspect-ratio: 16 / 10;
}
.split-section > .section-image,
.split-section-reverse > .section-image,
.program-hero > .section-image,
.program-hero-image,
.content-grid > .section-image,
.content-grid > .material-hero-visual {
  max-width: 620px;
  width: 100%;
  justify-self: center;
}
.program-hero {
  grid-template-columns: minmax(0,0.84fr) minmax(0,1.16fr);
  gap: 1rem;
  align-items: center;
}
.program-hero-image {
  max-width: 560px;
}
.section-image-program {
  aspect-ratio: 4 / 3;
  max-width: 620px;
}
.section-surface,
.info-panel,
.card,
.feature-card,
.note-panel,
.contact-card,
.statement-card,
.process-card,
.market-card,
.profile-card,
.program-card,
.dark-card {
  padding: clamp(1.25rem, 2.1vw, 2rem);
}
.footer-contact .verified-mark,
.contact-hero-card .verified-mini {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-weight: 700;
  color: var(--blue-deep);
}
.footer-contact .verified-mark::before,
.contact-hero-card .verified-mini::before {
  content: '✓';
  color: var(--teal-deep);
  font-weight: 900;
}
.contact-hero-card .verified-mini {
  margin-top: 0.95rem;
  font-size: 0.95rem;
}
@media (max-width: 1180px) {
  .hero-splus,
  .page-hero,
  .program-hero,
  .split-section,
  .split-section-reverse,
  .content-grid {
    grid-template-columns: 1fr;
  }
  .hero-media-compact,
  .page-hero-aside > *,
  .split-section > .section-image,
  .split-section-reverse > .section-image,
  .program-hero > .section-image,
  .program-hero-image,
  .content-grid > .section-image,
  .content-grid > .material-hero-visual {
    max-width: none;
  }
}
@media (max-width: 760px) {
  .hero-copy-splus .display-title {
    max-width: 10.5ch;
    font-size: clamp(2.3rem, 9.6vw, 3.45rem);
  }
  .page-title {
    max-width: 11.5ch;
    font-size: clamp(1.9rem, 8vw, 3rem);
  }
  .photo-card-hero-banner,
  .hero-bottom-grid .photo-card-hero-side,
  .page-hero-aside .media-frame-wide,
  .section-image-program,
  .media-frame-wide {
    aspect-ratio: auto;
  }
}



/* --- V10 intro module refinement pass --- */
.hero-v10 {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.35rem;
  padding: clamp(1.7rem, 3vw, 2.9rem);
  position: relative;
  z-index: 1;
}
.hero-v10-head {
  max-width: 1080px;
}
.hero-title-v10 {
  max-width: 15.2ch;
  margin: 0.22rem 0 0;
  font-size: clamp(2.8rem, 4.9vw, 5rem);
  line-height: 0.94;
}
.hero-v10-top {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(420px, 0.92fr);
  gap: 1.35rem 1.7rem;
  align-items: center;
}
.hero-v10-copy {
  max-width: 620px;
}
.hero-v10-copy .lead {
  max-width: 54ch;
}
.hero-v10-image-wrap {
  display: flex;
  justify-content: flex-end;
}
.photo-card-hero-v10 {
  width: min(100%, 660px);
  aspect-ratio: 4 / 3;
  min-height: 0;
}
.hero-v10-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr);
  gap: 1rem 1.1rem;
  align-items: stretch;
}
.hero-proof-band-v10 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}
.hero-proof-band-v10 .proof-item { min-height: 100%; }
.hero-info-v10 { max-width: none; }

.page-hero-v2 {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.1rem;
  padding: clamp(1.7rem, 3vw, 2.9rem);
}
.page-hero-v2-head {
  max-width: 960px;
}
.page-title-v2 {
  max-width: 15ch;
  margin: 0.22rem 0 0;
  font-size: clamp(2.35rem, 3.6vw, 4rem);
  line-height: 0.96;
}
.page-hero-v2-body {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.88fr);
  gap: 1.2rem 1.5rem;
  align-items: center;
}
.page-hero-v2-copy {
  max-width: 620px;
}
.page-hero-v2-copy .lead {
  max-width: 52ch;
}
.page-hero-v2-media {
  display: flex;
  justify-content: flex-end;
}
.page-hero-v2-media .material-hero-visual {
  width: min(100%, 620px);
  aspect-ratio: 4 / 3;
}

@media (max-width: 1180px) {
  .hero-v10-top,
  .hero-v10-bottom,
  .page-hero-v2-body {
    grid-template-columns: 1fr;
  }
  .hero-v10-image-wrap,
  .page-hero-v2-media {
    justify-content: stretch;
  }
  .photo-card-hero-v10,
  .page-hero-v2-media .material-hero-visual {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 760px) {
  .hero-v10,
  .page-hero-v2 {
    padding: 1.35rem;
  }
  .hero-title-v10 {
    max-width: 10.8ch;
    font-size: clamp(2.35rem, 10vw, 3.85rem);
  }
  .page-title-v2 {
    max-width: 12ch;
    font-size: clamp(2rem, 8.8vw, 3.2rem);
  }
  .hero-proof-band-v10 {
    grid-template-columns: 1fr;
  }
  .photo-card-hero-v10,
  .page-hero-v2-media .material-hero-visual {
    aspect-ratio: auto;
  }
}


/* --- V11 tightened first-module pass --- */
.hero-v11 {
  display: grid;
  gap: 1.1rem;
  padding: clamp(1.55rem, 2.7vw, 2.35rem);
  position: relative;
  z-index: 1;
}
.hero-v11-main {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.88fr);
  gap: 1rem 1.35rem;
  align-items: start;
}
.hero-v11-copy { max-width: 640px; }
.hero-title-v11 {
  max-width: 10.8ch;
  margin: 0.48rem 0 0.9rem;
  font-size: clamp(2.55rem, 4.25vw, 4.55rem);
  line-height: 0.95;
}
.hero-v11-copy .lead { max-width: 52ch; }
.hero-v11-media { display: flex; justify-content: flex-end; align-items: flex-start; }
.photo-card-hero-v11 {
  width: min(100%, 560px);
  aspect-ratio: 4 / 3;
  min-height: 0;
}
.hero-v11-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}
.meta-card {
  background: rgba(255,255,255,0.96);
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow-soft);
  padding: 1rem 1.05rem 1.05rem;
}
.meta-card .card-title {
  margin-top: 0.55rem;
  font-size: 1.06rem;
  line-height: 1.24;
}
.meta-card .card-copy {
  font-size: 0.94rem;
  line-height: 1.6;
}
.meta-card-accent {
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(240,248,247,0.96));
}
.page-hero-v3 {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.88fr);
  gap: 1rem 1.35rem;
  align-items: start;
  padding: clamp(1.55rem, 2.7vw, 2.35rem);
}
.page-hero-v3-copy { max-width: 660px; }
.page-title-v3 {
  max-width: 10.8ch;
  margin: 0.48rem 0 0.9rem;
  font-size: clamp(2.3rem, 3.55vw, 4rem);
  line-height: 0.97;
}
.page-hero-v3-copy .lead { max-width: 50ch; }
.page-hero-v3-media { display: flex; justify-content: flex-end; align-items: flex-start; }
.page-hero-v3-media .material-hero-visual {
  width: min(100%, 560px);
  aspect-ratio: 4 / 3;
}
@media (max-width: 1180px) {
  .hero-v11-main,
  .hero-v11-meta,
  .page-hero-v3 {
    grid-template-columns: 1fr;
  }
  .hero-v11-media,
  .page-hero-v3-media {
    justify-content: stretch;
  }
  .photo-card-hero-v11,
  .page-hero-v3-media .material-hero-visual {
    width: 100%;
    max-width: none;
  }
}
@media (max-width: 760px) {
  .hero-v11,
  .page-hero-v3 {
    padding: 1.25rem;
  }
  .hero-title-v11 {
    max-width: 11ch;
    font-size: clamp(2.2rem, 9.3vw, 3.55rem);
  }
  .page-title-v3 {
    max-width: 11.5ch;
    font-size: clamp(2rem, 8.1vw, 3.1rem);
  }
  .photo-card-hero-v11,
  .page-hero-v3-media .material-hero-visual {
    aspect-ratio: auto;
  }
}


/* --- V12 balanced first-module reset --- */
.hero-v12,
.page-hero-v4 {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 1.15rem;
  padding: clamp(1.55rem, 2.5vw, 2.3rem);
}
.hero-v12 > .eyebrow,
.page-hero-v4 > .eyebrow {
  justify-self: start;
  margin-bottom: 0.05rem;
}
.hero-title-v12,
.page-title-v4 {
  margin: 0;
  max-width: 13.8ch;
  line-height: 0.96;
  letter-spacing: -0.04em;
  text-wrap: balance;
}
.hero-title-v12 {
  font-size: clamp(2.65rem, 4vw, 4.45rem);
}
.page-title-v4 {
  font-size: clamp(2.35rem, 3.2vw, 3.7rem);
}
.hero-v12-main,
.page-hero-v4-main {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.9fr);
  gap: 1.35rem 1.5rem;
  align-items: center;
}
.hero-v12-copy,
.page-hero-v4-copy {
  max-width: 640px;
}
.hero-v12-copy .lead,
.page-hero-v4-copy .lead {
  max-width: 52ch;
  margin-top: 0;
}
.hero-v12-media,
.page-hero-v4-media {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.photo-card-hero-v12,
.material-hero-visual-v4 {
  width: min(100%, 560px);
  min-height: 0;
  aspect-ratio: 4 / 3;
}
.hero-v12-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.95rem;
}
.hero-v12 .inline-chips {
  margin-top: 1rem;
}
.hero-v12 .button-row {
  margin-top: 1rem;
}
.hero-v12 .meta-card {
  min-height: 100%;
  padding: 1rem 1rem 1.05rem;
}
.hero-v12 .meta-card .card-title {
  font-size: 1.02rem;
  line-height: 1.28;
}
.hero-v12 .meta-card .card-copy {
  font-size: 0.93rem;
  line-height: 1.58;
}
@media (max-width: 1180px) {
  .hero-v12-main,
  .page-hero-v4-main,
  .hero-v12-meta {
    grid-template-columns: 1fr;
  }
  .hero-v12-media,
  .page-hero-v4-media {
    justify-content: stretch;
  }
  .photo-card-hero-v12,
  .material-hero-visual-v4 {
    width: 100%;
    max-width: none;
  }
}
@media (max-width: 760px) {
  .hero-title-v12 {
    max-width: 11.2ch;
    font-size: clamp(2.2rem, 9vw, 3.55rem);
  }
  .page-title-v4 {
    max-width: 11.8ch;
    font-size: clamp(2rem, 7.8vw, 3rem);
  }
  .photo-card-hero-v12,
  .material-hero-visual-v4 {
    aspect-ratio: auto;
  }
}


/* --- V13 cohesive first-module reset --- */
.hero-v13,
.page-hero-v5 {
  position: relative;
  z-index: 1;
  padding: clamp(1.8rem, 2.8vw, 2.6rem);
}
.hero-v13-grid,
.page-hero-v5-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(360px, 0.94fr);
  gap: clamp(1.5rem, 2.6vw, 3rem);
  align-items: center;
}
.hero-v13-copy,
.page-hero-v5-copy {
  max-width: 620px;
}
.hero-v13 .eyebrow,
.page-hero-v5 .eyebrow {
  display: inline-flex;
  margin-bottom: 1rem;
}
.hero-title-v13,
.page-title-v5 {
  margin: 0 0 1rem;
  line-height: 0.96;
  letter-spacing: -0.045em;
  text-wrap: balance;
}
.hero-title-v13 {
  max-width: 10.4ch;
  font-size: clamp(2.95rem, 4.3vw, 4.9rem);
}
.page-title-v5 {
  max-width: 11.2ch;
  font-size: clamp(2.45rem, 3.55vw, 4rem);
}
.hero-v13-copy .lead,
.page-hero-v5-copy .lead {
  max-width: 39ch;
  margin: 0;
}
.hero-v13 .button-row {
  margin-top: 1.1rem;
}
.hero-v13-chips {
  margin-top: 1rem;
}
.hero-v13-media,
.page-hero-v5-media {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.photo-card-hero-v13,
.material-hero-visual-v5 {
  width: min(100%, 540px);
  min-height: 0;
  aspect-ratio: 4 / 3;
  border-radius: 28px;
}
.photo-card-hero-v13 img,
.material-hero-visual-v5 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-v13 .tag,
.page-hero-v5 .mini-tag {
  white-space: nowrap;
}
@media (max-width: 1180px) {
  .hero-v13-grid,
  .page-hero-v5-grid {
    grid-template-columns: 1fr;
    gap: 1.35rem;
  }
  .hero-v13-media,
  .page-hero-v5-media {
    justify-content: stretch;
  }
  .photo-card-hero-v13,
  .material-hero-visual-v5 {
    width: 100%;
    max-width: none;
  }
}
@media (max-width: 760px) {
  .hero-v13,
  .page-hero-v5 {
    padding: 1.35rem;
  }
  .hero-title-v13 {
    max-width: 10.8ch;
    font-size: clamp(2.2rem, 8.9vw, 3.6rem);
  }
  .page-title-v5 {
    max-width: 11.8ch;
    font-size: clamp(2.15rem, 7.6vw, 3.15rem);
  }
  .photo-card-hero-v13,
  .material-hero-visual-v5 {
    aspect-ratio: auto;
  }
}



/* --- V14 first-module rebalance --- */
.hero-v14,
.page-hero-v6 {
  position: relative;
  z-index: 1;
  padding: clamp(1.85rem, 3vw, 2.9rem);
}
.hero-v14 > .eyebrow,
.page-hero-v6 > .eyebrow {
  display: inline-flex;
  margin-bottom: 1rem;
}
.hero-v14 > .display-title,
.page-hero-v6 > .page-title {
  margin: 0 0 1.2rem;
  line-height: 0.96;
  letter-spacing: -0.045em;
  text-wrap: balance;
}
.hero-v14 > .display-title {
  max-width: 13ch;
  font-size: clamp(2.8rem, 4.7vw, 4.55rem);
}
.page-hero-v6 > .page-title {
  max-width: 13ch;
  font-size: clamp(2.45rem, 3.85vw, 3.95rem);
}
.hero-v14-body,
.page-hero-v6-body {
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) minmax(360px, 0.92fr);
  gap: clamp(1.4rem, 2.6vw, 2.8rem);
  align-items: center;
}
.hero-v14-copy,
.page-hero-v6-copy {
  max-width: 540px;
}
.hero-v14-copy .lead,
.page-hero-v6-copy .lead {
  max-width: 41ch;
  margin: 0;
}
.hero-v14-copy .button-row {
  margin-top: 1.1rem;
}
.hero-v14-copy .inline-chips,
.page-hero-v6-copy .tag-row {
  margin-top: 1rem;
}
.hero-v14-media,
.page-hero-v6-media {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.photo-card-hero-v14,
.material-hero-visual-v6 {
  width: min(100%, 520px);
  aspect-ratio: 4 / 3;
  min-height: 0;
  border-radius: 28px;
}
.photo-card-hero-v14 img,
.material-hero-visual-v6 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-v14 .tag,
.page-hero-v6 .mini-tag {
  white-space: nowrap;
}
@media (max-width: 1180px) {
  .hero-v14-body,
  .page-hero-v6-body {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .hero-v14-media,
  .page-hero-v6-media {
    justify-content: stretch;
  }
  .photo-card-hero-v14,
  .material-hero-visual-v6 {
    width: 100%;
    max-width: none;
  }
}
@media (max-width: 760px) {
  .hero-v14,
  .page-hero-v6 {
    padding: 1.35rem;
  }
  .hero-v14 > .display-title {
    max-width: 11.3ch;
    font-size: clamp(2.25rem, 8.9vw, 3.55rem);
  }
  .page-hero-v6 > .page-title {
    max-width: 11.7ch;
    font-size: clamp(2.1rem, 7.8vw, 3.05rem);
  }
  .photo-card-hero-v14,
  .material-hero-visual-v6 {
    aspect-ratio: auto;
  }
}


/* --- V16 first-module balance pass --- */
.hero-shell-v15,
.page-hero-shell-v7 {
  border-radius: 38px;
}
.hero-v15,
.page-hero-v7 {
  position: relative;
  z-index: 1;
  padding: clamp(2.05rem, 3vw, 3rem);
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, 0.82fr);
  gap: clamp(2rem, 3.2vw, 3.25rem);
  align-items: start;
}
.hero-v15-content,
.page-hero-v7-content {
  max-width: 700px;
}
.hero-v15 .eyebrow,
.page-hero-v7 .eyebrow {
  display: inline-flex;
  margin-bottom: 1rem;
}
.hero-v15 .display-title,
.page-hero-v7 .page-title {
  margin: 0 0 1rem;
  max-width: none;
  line-height: 0.95;
  letter-spacing: -0.048em;
  text-wrap: balance;
}
.hero-v15 .display-title {
  font-size: clamp(2.8rem, 4.3vw, 4.15rem);
}
.page-hero-v7 .page-title {
  font-size: clamp(2.35rem, 3.6vw, 3.45rem);
}
.hero-v15 .lead,
.page-hero-v7 .lead {
  margin: 0;
  max-width: 44ch;
}
.hero-v15 .button-row {
  margin-top: 1.2rem;
}
.hero-v15 .inline-chips,
.page-hero-v7 .tag-row {
  margin-top: 1rem;
}
.hero-v15-media,
.page-hero-v7-media {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}
.photo-card-hero-v15 {
  width: min(100%, 470px);
  aspect-ratio: 1.12 / 1;
  min-height: 0;
  border-radius: 26px;
  border: 1px solid rgba(14, 94, 134, 0.08);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  background: #ffffff;
}
.material-hero-visual-v7 {
  width: min(100%, 500px);
  aspect-ratio: 16 / 10;
  min-height: 0;
  border-radius: 26px;
  border: 1px solid rgba(14, 94, 134, 0.08);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  background: #ffffff;
}
.photo-card-hero-v15 img,
.material-hero-visual-v7 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero-v15 .tag,
.page-hero-v7 .mini-tag {
  white-space: nowrap;
}
@media (max-width: 1240px) {
  .hero-v15,
  .page-hero-v7 {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.85fr);
    gap: 1.6rem;
  }
  .hero-v15 .display-title {
    font-size: clamp(2.7rem, 4.2vw, 3.8rem);
  }
  .page-hero-v7 .page-title {
    font-size: clamp(2.2rem, 3.4vw, 3.15rem);
  }
}
@media (max-width: 1120px) {
  .hero-v15,
  .page-hero-v7 {
    grid-template-columns: 1fr;
    gap: 1.35rem;
  }
  .hero-v15-content,
  .page-hero-v7-content {
    max-width: none;
  }
  .hero-v15-media,
  .page-hero-v7-media {
    justify-content: stretch;
  }
  .photo-card-hero-v15,
  .material-hero-visual-v7 {
    width: 100%;
    max-width: none;
  }
}
@media (max-width: 760px) {
  .hero-v15,
  .page-hero-v7 {
    padding: 1.35rem;
  }
  .hero-v15 .display-title {
    font-size: clamp(2.25rem, 8.2vw, 3.25rem);
  }
  .page-hero-v7 .page-title {
    font-size: clamp(2.1rem, 7.4vw, 2.85rem);
  }
  .photo-card-hero-v15,
  .material-hero-visual-v7 {
    aspect-ratio: auto;
  }
}


/* --- V16 small alignment touch-ups --- */
.compact-grid-3 { align-items: stretch; }
.feature-card-tight { min-height: 100%; }
.program-hero { align-items: center; }
.program-hero-image { max-width: 520px; }
.market-grid { align-items: stretch; }
.market-card { min-height: 100%; }


/* --- 2026 rebuild pass --- */
body {
  font-family: "Segoe UI Variable Text", "Segoe UI", "Aptos", "Trebuchet MS", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.display-title,
.page-title,
.section-heading,
.card-title {
  font-family: "Segoe UI Variable Display", "Segoe UI", "Aptos Display", "Trebuchet MS", sans-serif;
}

.utility-bar {
  background: rgba(247, 251, 253, 0.95);
}

.brand img {
  height: 64px;
  width: auto;
}

.brand-logo-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  transform: translateY(-19px);
}

.brand-logo-wrap img {
  width: min(268px, 30vw);
  height: auto;
  display: block;
}

.hero-shell,
.page-hero-shell,
.opening-shell {
  border-radius: 40px;
}

.opening-shell {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(14, 94, 134, 0.09);
  background:
    radial-gradient(circle at top left, rgba(24, 176, 151, 0.12) 0%, rgba(24, 176, 151, 0) 28%),
    radial-gradient(circle at right center, rgba(14, 94, 134, 0.08) 0%, rgba(14, 94, 134, 0) 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(241, 247, 250, 0.98) 100%);
  box-shadow: var(--shadow);
}

.opening-shell::before {
  content: "";
  position: absolute;
  inset: auto auto -110px -80px;
  width: 290px;
  height: 290px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(24, 176, 151, 0.14) 0%, rgba(24, 176, 151, 0) 74%);
  pointer-events: none;
}

.opening-shell::after {
  content: "";
  position: absolute;
  inset: -80px -50px auto auto;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(14, 94, 134, 0.12) 0%, rgba(14, 94, 134, 0) 76%);
  pointer-events: none;
}

.opening-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(1rem, 2vw, 1.45rem);
  align-items: stretch;
  padding: clamp(1.25rem, 2.6vw, 2.2rem);
}

.opening-copy {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.15rem;
  min-height: 100%;
  padding: clamp(1.15rem, 2vw, 1.6rem);
  border-radius: 32px;
  border: 1px solid rgba(14, 94, 134, 0.08);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: var(--shadow-soft);
}

.opening-copy-top,
.opening-copy-bottom {
  display: grid;
  gap: 0.95rem;
}

.opening-title {
  margin: 0;
  font-size: clamp(2.5rem, 4.1vw, 4.15rem);
  line-height: 0.95;
  letter-spacing: -0.05em;
  text-wrap: balance;
  max-width: 10.8ch;
}

.opening-shell .lead {
  margin: 0;
  max-width: 34ch;
}

.opening-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.opening-list li {
  padding: 0.9rem 0.95rem;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(14, 94, 134, 0.08);
  box-shadow: var(--shadow-soft);
  color: var(--text-soft);
  line-height: 1.6;
  min-height: 100%;
}

.opening-list strong {
  display: block;
  margin-bottom: 0.2rem;
  color: var(--blue-deep);
  font-size: 0.98rem;
}

.opening-note {
  margin-top: 1rem;
  padding: 0.9rem 1rem;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(14, 94, 134, 0.08), rgba(24, 176, 151, 0.08));
  border: 1px solid rgba(14, 94, 134, 0.1);
  color: var(--blue-deep);
  font-weight: 600;
  line-height: 1.6;
}

.opening-note strong {
  color: var(--blue-deep);
}

.opening-media {
  display: flex;
}

.opening-figure {
  width: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(14, 94, 134, 0.08);
  background: linear-gradient(180deg, rgba(246, 250, 252, 1) 0%, rgba(238, 246, 249, 1) 100%);
  box-shadow: var(--shadow-soft);
}

.opening-figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.opening-visual-panel {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 0.8rem;
  min-height: 100%;
  width: 100%;
  padding: 0.95rem;
  border-radius: 32px;
  border: 1px solid rgba(14, 94, 134, 0.08);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--shadow-soft);
}

.opening-figure-panel {
  aspect-ratio: auto;
  min-height: 400px;
  height: 100%;
}

.opening-figure-panel-wide {
  min-height: 360px;
}

.opening-figure-panel-story {
  min-height: 400px;
}

.opening-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
}

.opening-strip-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.opening-strip-item {
  display: grid;
  gap: 0.35rem;
  min-height: 100%;
  padding: 0.8rem 0.85rem;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(14, 94, 134, 0.08);
  box-shadow: var(--shadow-soft);
}

.opening-strip-item strong {
  color: var(--blue-deep);
  font-size: 0.95rem;
}

.opening-strip-item span {
  color: var(--text-soft);
  font-size: 0.88rem;
  line-height: 1.45;
}

.opening-mini-card {
  display: grid;
  gap: 0.65rem;
  align-content: start;
  padding: 1rem 1.05rem;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(14, 94, 134, 0.08);
  box-shadow: var(--shadow-soft);
}

.opening-mini-card p {
  margin: 0;
  color: var(--text-soft);
  line-height: 1.55;
}

.proof-grid,
.signal-grid,
.story-grid {
  display: grid;
  gap: 1rem;
}

.proof-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.signal-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.story-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.proof-card {
  min-height: 100%;
}

.proof-card .card-title {
  font-size: 1.08rem;
}

.proof-card .card-copy {
  font-size: 0.95rem;
  line-height: 1.65;
}

.section-head-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
  gap: 1rem 2rem;
  align-items: end;
}

.story-card {
  min-height: 100%;
}

.economics-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
  gap: 1.2rem;
  align-items: center;
}

.economics-panel .section-image {
  max-width: 620px;
  width: 100%;
  justify-self: center;
}

.matched-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: stretch;
}

.matched-panel-copy,
.matched-panel-media {
  min-height: 100%;
  border-radius: 32px;
  border: 1px solid rgba(14, 94, 134, 0.08);
  box-shadow: var(--shadow-soft);
}

.matched-panel-copy {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
  padding: clamp(1.15rem, 2vw, 1.6rem);
  background: rgba(255, 255, 255, 0.84);
}

.matched-panel-copy .section-copy {
  max-width: 40ch;
}

.matched-panel-copy .check-list,
.matched-panel-copy .flow-grid,
.matched-panel-copy .note-panel {
  margin-top: 0;
}

.matched-panel-media {
  display: flex;
  padding: 0.95rem;
  background: rgba(255, 255, 255, 0.82);
}

.matched-panel-media .section-image {
  max-width: none;
  width: 100%;
  min-height: 100%;
  border-radius: 24px;
}

.matched-panel-media .section-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.matched-panel-media-wide .section-image {
  aspect-ratio: auto;
  min-height: 100%;
}

.matched-panel-program {
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
}

.matched-panel-program .matched-panel-copy {
  gap: 1.15rem;
}

.stat-callout {
  padding: 1.2rem 1.25rem;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(14, 94, 134, 0.08);
  box-shadow: var(--shadow-soft);
}

.stat-callout strong {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--blue-deep);
}

.footer-brand img {
  width: min(330px, 100%);
}

.footer-contact .verified-mark::before,
.contact-hero-card .verified-mini::before {
  content: "\2713";
  color: var(--teal-deep);
  font-weight: 900;
}

@media (max-width: 1180px) {
  .opening-grid,
  .section-head-split,
  .economics-panel,
  .matched-panel {
    grid-template-columns: 1fr;
  }

  .opening-media {
    justify-content: stretch;
  }

  .opening-figure {
    width: 100%;
    max-width: none;
  }

  .opening-visual-panel {
    min-height: auto;
  }

  .matched-panel-media .section-image {
    min-height: 320px;
  }

  .signal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .proof-grid,
  .story-grid {
    grid-template-columns: 1fr;
  }

  .opening-copy {
    padding: 1.3rem;
  }

  .opening-copy-top,
  .opening-copy-bottom {
    max-width: 34rem;
  }
}

@media (max-width: 760px) {
  .brand img {
    height: 56px;
  }

  .brand-logo-wrap img {
    width: auto;
    max-width: min(252px, 68vw);
    max-height: 58px;
  }

  .brand-logo-wrap {
    transform: translateY(0);
  }

  .header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.7rem;
  }

  .brand {
    min-width: 0;
    max-width: 100%;
  }

  .brand-logo-wrap {
    width: 100%;
    justify-content: flex-start;
  }

  .nav-shell {
    justify-self: end;
    gap: 0.7rem;
  }

  .opening-grid {
    padding: 1.35rem;
  }

  .opening-title {
    font-size: clamp(2.25rem, 9vw, 3.5rem);
  }

  .opening-copy,
  .opening-visual-panel,
  .matched-panel-copy,
  .matched-panel-media {
    padding: 1.2rem;
    border-radius: 24px;
  }

  .opening-list {
    grid-template-columns: 1fr;
  }

  .opening-figure-panel,
  .opening-figure-panel-wide,
  .opening-figure-panel-story {
    min-height: 280px;
  }

  .matched-panel-media .section-image {
    min-height: 260px;
  }

  .opening-strip,
  .opening-strip-4 {
    grid-template-columns: 1fr;
  }

  .signal-grid {
    grid-template-columns: 1fr;
  }

  .download-card-compact img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
  }

  .footer-shell {
    padding: 1rem;
  }

  .footer-grid,
  .footer-brand,
  .footer-links,
  .footer-contact {
    justify-items: center;
    text-align: center;
  }

  .footer-brand {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .footer-brand img {
    width: min(220px, 72vw);
    margin: 0 auto;
  }

  .footer-copy {
    max-width: 30ch;
    margin: 0 auto;
  }

  .footer-links,
  .footer-contact {
    gap: 0.5rem;
  }

  .footer-bottom {
    justify-content: center;
    text-align: center;
  }

  .footer-contact .trust-badge {
    justify-items: center;
    text-align: center;
  }
}
