:root {
  color-scheme: light;
  --paper: #f7f3eb;
  --paper-deep: #eee7da;
  --ink: #102654;
  --ink-soft: #30446d;
  --muted: #6f7482;
  --line: #d9d1c4;
  --white: #fffdf8;
  --coral: #e95d57;
  --coral-dark: #c84442;
  --blue: #2d67c8;
  --ochre: #c58a2d;
  --mint: #2e8f79;
  --plum: #7c507e;
  --serif: "DM Serif Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --shadow: 0 24px 70px rgba(16, 38, 84, 0.12);
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  margin: 0;
  min-width: 320px;
}

a { color: inherit; }
img, svg { display: block; }
button, input, select, textarea { font: inherit; }

.product-skip-link {
  background: var(--ink);
  border-radius: 0 0 10px 10px;
  color: #fff;
  left: 18px;
  padding: 12px 16px;
  position: fixed;
  text-decoration: none;
  top: -80px;
  z-index: 1000;
}

.product-skip-link:focus { top: 0; }

.site-header {
  background: color-mix(in srgb, var(--paper) 94%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  position: sticky;
  top: 0;
  z-index: 40;
}

.header-inner {
  align-items: center;
  display: flex;
  gap: clamp(18px, 3vw, 42px);
  margin: 0 auto;
  max-width: 1440px;
  min-height: 78px;
  padding: 0 clamp(20px, 4vw, 64px);
}

.product-logo {
  display: inline-flex;
  flex: 0 0 auto;
}

.product-logo img {
  height: auto;
  width: 142px;
}

.product-nav {
  align-items: center;
  display: flex;
  gap: clamp(16px, 2vw, 30px);
  margin-left: auto;
}

.product-nav a {
  color: var(--ink-soft);
  font-size: 0.82rem;
  font-weight: 650;
  text-decoration: none;
}

.product-nav a:hover { color: var(--coral-dark); }

.header-cta,
.product-button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.15;
  min-height: 46px;
  padding: 13px 21px;
  text-decoration: none;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}

.header-cta,
.product-button-primary {
  background: var(--ink);
  color: #fff;
}

.header-cta:hover,
.product-button-primary:hover {
  background: #19396f;
  transform: translateY(-1px);
}

.product-button-paper {
  background: var(--white);
  color: var(--ink);
}

.product-button-paper:hover { transform: translateY(-1px); }

.product-text-link {
  align-items: center;
  color: var(--ink);
  display: inline-flex;
  font-size: 0.86rem;
  font-weight: 700;
  gap: 8px;
  text-decoration-color: color-mix(in srgb, var(--ink) 35%, transparent);
  text-underline-offset: 5px;
}

.product-text-link.light { color: #fff; text-decoration-color: rgba(255,255,255,.45); }

.product-eyebrow {
  color: var(--coral-dark);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  margin: 0 0 18px;
  text-transform: uppercase;
}

.product-eyebrow-light { color: #f5b8ad; }

.product-hero {
  align-items: center;
  display: grid;
  gap: clamp(54px, 8vw, 120px);
  grid-template-columns: minmax(0, .86fr) minmax(520px, 1.14fr);
  margin: 0 auto;
  max-width: 1440px;
  min-height: 760px;
  padding: clamp(70px, 9vw, 130px) clamp(24px, 6vw, 92px);
}

.hero-copy { max-width: 610px; }

.hero-copy h1,
.product-statement h2,
.product-section-heading h2,
.journey-copy h2,
.product-assurance h2,
.product-closing h2,
.manifesto-copy h2,
.control-copy h2,
.join-copy h2,
.provider-faq h2 {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.035em;
  margin: 0;
}

.hero-copy h1 {
  font-size: clamp(3.2rem, 6vw, 6.6rem);
  line-height: .92;
}

.hero-lead {
  color: var(--ink-soft);
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.72;
  margin: 30px 0 0;
  max-width: 590px;
}

.hero-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 24px;
  margin-top: 34px;
}

.hero-facts {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, 1fr);
  margin: 46px 0 0;
  padding-top: 22px;
}

.hero-facts div { display: grid; gap: 4px; }
.hero-facts dt { font-family: var(--serif); font-size: 1.4rem; }
.hero-facts dd { color: var(--muted); font-size: .73rem; line-height: 1.45; margin: 0; }

.portal-illustration,
.provider-illustration {
  min-height: 570px;
  position: relative;
}

.portal-frame,
.provider-desk {
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  overflow: hidden;
  position: absolute;
}

.portal-frame {
  border-radius: 8px 8px 76px 8px;
  inset: 20px 0 30px 18px;
  transform: rotate(1.4deg);
}

.portal-topbar,
.provider-desk-head {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  min-height: 54px;
  padding: 0 20px;
}

.portal-topbar strong,
.provider-desk-head strong { font-size: .76rem; text-align: center; }

.portal-topbar small,
.provider-desk-head small { color: var(--mint); font-size: .64rem; font-weight: 700; text-align: right; }

.window-dots { display: flex; gap: 5px; }
.window-dots i { background: var(--line); border-radius: 50%; height: 7px; width: 7px; }
.window-dots i:first-child { background: var(--coral); }

.portal-body {
  display: grid;
  grid-template-columns: 66px 1fr;
  min-height: 486px;
}

.portal-body aside {
  background: var(--ink);
  display: grid;
  gap: 20px;
  justify-items: center;
  padding: 34px 0;
}

.portal-body aside span {
  background: rgba(255,255,255,.28);
  border-radius: 3px;
  height: 9px;
  width: 22px;
}

.portal-body aside span.active { background: var(--coral); width: 31px; }

.portal-canvas { padding: 36px 34px; }

.portal-welcome {
  align-items: baseline;
  display: grid;
  grid-template-columns: 1fr auto;
}

.portal-welcome small { color: var(--muted); font-size: .7rem; grid-column: 1 / -1; }
.portal-welcome strong { font-family: var(--serif); font-size: 1.85rem; font-weight: 400; }
.portal-welcome > span { background: var(--paper-deep); border-radius: 999px; font-size: .64rem; font-weight: 700; padding: 7px 10px; }

.portal-metrics {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 28px;
}

.portal-metrics article {
  border: 1px solid var(--line);
  border-radius: 6px;
  display: grid;
  gap: 5px;
  padding: 15px;
}

.portal-metrics small { color: var(--muted); font-size: .59rem; }
.portal-metrics strong { font-family: var(--serif); font-size: 1.75rem; font-weight: 400; }
.portal-metrics span { color: var(--muted); font-size: .55rem; }
.portal-metrics span.positive { color: var(--mint); }

.portal-chart {
  border: 1px solid var(--line);
  border-radius: 6px;
  margin-top: 12px;
  padding: 20px;
}

.portal-chart > div { display: flex; justify-content: space-between; }
.portal-chart strong { font-size: .74rem; }
.portal-chart small { color: var(--muted); font-size: .58rem; }
.portal-chart svg { height: 128px; margin-top: 15px; width: 100%; }
.portal-chart path { fill: none; stroke: var(--coral); stroke-width: 3; }
.portal-chart path.area { fill: color-mix(in srgb, var(--coral) 12%, transparent); stroke: none; }

.floating-note {
  align-items: center;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: 0 18px 40px rgba(16,38,84,.14);
  display: flex;
  gap: 11px;
  padding: 13px 16px;
  position: absolute;
  z-index: 2;
}

.floating-note b {
  align-items: center;
  background: var(--coral);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: .7rem;
  height: 30px;
  justify-content: center;
  width: 30px;
}

.floating-note span { display: grid; gap: 2px; }
.floating-note strong { font-size: .68rem; }
.floating-note small { color: var(--muted); font-size: .56rem; }
.note-rsvp { left: -14px; top: 98px; }
.note-published { bottom: 0; right: -20px; }
.note-published b { background: var(--mint); }

.product-statement {
  background: var(--ink);
  color: #fff;
  padding: clamp(80px, 10vw, 150px) max(24px, calc((100vw - 1250px) / 2));
}

.product-statement h2 {
  font-size: clamp(2.8rem, 5vw, 5.5rem);
  line-height: 1;
  max-width: 1040px;
}

.statement-ledger {
  border-bottom: 1px solid rgba(255,255,255,.24);
  border-top: 1px solid rgba(255,255,255,.24);
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  margin-top: 60px;
}

.statement-ledger span {
  border-right: 1px solid rgba(255,255,255,.18);
  font-size: .72rem;
  font-weight: 700;
  padding: 24px 12px;
  text-align: center;
}

.statement-ledger span:last-child { border-right: 0; }

.module-section,
.provider-tools,
.join-section,
.provider-faq {
  margin: 0 auto;
  max-width: 1350px;
  padding: clamp(80px, 10vw, 150px) clamp(24px, 5vw, 70px);
}

.product-section-heading {
  align-items: end;
  display: grid;
  gap: 40px;
  grid-template-columns: 1.1fr .7fr;
  margin-bottom: 64px;
}

.product-section-heading h2,
.manifesto-copy h2,
.join-copy h2,
.provider-faq h2 {
  font-size: clamp(2.6rem, 4.4vw, 5rem);
  line-height: 1;
}

.product-section-heading > p,
.join-copy > p {
  color: var(--muted);
  line-height: 1.75;
  margin: 0;
}

.module-list { border-top: 1px solid var(--line); }

.module-row {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 26px;
  grid-template-columns: 46px 58px minmax(0, 1fr) minmax(220px, .58fr);
  padding: 32px 8px;
}

.module-index,
.tool-step {
  color: var(--muted);
  font-family: var(--serif);
  font-size: 1.05rem;
}

.module-icon {
  align-items: center;
  background: var(--ink);
  border-radius: 50%;
  color: #fff;
  display: flex;
  height: 52px;
  justify-content: center;
  width: 52px;
}

.module-icon svg {
  fill: none;
  height: 24px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
  width: 24px;
}

.module-icon.coral { background: var(--coral); }
.module-icon.blue { background: var(--blue); }
.module-icon.ochre { background: var(--ochre); }
.module-icon.mint { background: var(--mint); }
.module-icon.plum { background: var(--plum); }

.module-kicker {
  color: var(--coral-dark);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .11em;
  margin: 0 0 7px;
  text-transform: uppercase;
}

.module-copy h3,
.advantage-stack h3,
.tool-flow h3,
.join-steps h3 {
  font-family: var(--serif);
  font-size: clamp(1.55rem, 2vw, 2.15rem);
  font-weight: 400;
  letter-spacing: -.02em;
  margin: 0;
}

.module-copy > p:last-child {
  color: var(--muted);
  line-height: 1.65;
  margin: 9px 0 0;
  max-width: 610px;
}

.module-row ul {
  color: var(--ink-soft);
  display: grid;
  font-size: .74rem;
  font-weight: 600;
  gap: 7px;
  line-height: 1.5;
  list-style: none;
  margin: 0;
  padding: 0;
}

.module-row li::before { color: var(--coral); content: "—"; margin-right: 8px; }

.journey-section,
.provider-control {
  background: var(--coral);
  color: #fff;
  display: grid;
  gap: clamp(50px, 8vw, 110px);
  grid-template-columns: .72fr 1.28fr;
  padding: clamp(80px, 10vw, 140px) max(24px, calc((100vw - 1250px) / 2));
}

.journey-copy h2,
.control-copy h2 {
  font-size: clamp(3rem, 5vw, 5.4rem);
  line-height: .96;
}

.journey-copy > p:last-child,
.control-copy > p:last-child { color: rgba(255,255,255,.82); line-height: 1.75; }

.journey-steps { border-top: 1px solid rgba(255,255,255,.3); list-style: none; margin: 0; padding: 0; }

.journey-steps li {
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,.3);
  display: grid;
  gap: 24px;
  grid-template-columns: 48px 1fr;
  padding: 24px 0;
}

.journey-steps > li > span { font-family: var(--serif); font-size: 1.2rem; opacity: .7; }
.journey-steps h3 { font-size: 1rem; margin: 0; }
.journey-steps p { color: rgba(255,255,255,.78); font-size: .82rem; margin: 5px 0 0; }

.product-assurance {
  display: grid;
  gap: 80px;
  grid-template-columns: .85fr 1.15fr;
  margin: 0 auto;
  max-width: 1350px;
  padding: clamp(80px, 10vw, 150px) clamp(24px, 5vw, 70px);
}

.product-assurance h2 { font-size: clamp(2.7rem, 4.5vw, 5rem); line-height: 1; }

.assurance-grid { border-top: 1px solid var(--line); }
.assurance-grid article { border-bottom: 1px solid var(--line); display: grid; gap: 24px; grid-template-columns: 150px 1fr; padding: 24px 0; }
.assurance-grid strong { font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.assurance-grid p { color: var(--muted); line-height: 1.65; margin: 0; }

.product-closing {
  background: var(--ink);
  color: #fff;
  display: grid;
  gap: 70px;
  grid-template-columns: 1fr .55fr;
  padding: clamp(80px, 10vw, 140px) max(24px, calc((100vw - 1250px) / 2));
}

.product-closing h2 { font-size: clamp(3rem, 5vw, 5.7rem); line-height: .96; }
.product-closing > div:last-child { align-self: end; }
.product-closing > div:last-child > p { color: rgba(255,255,255,.75); line-height: 1.7; }

.product-footer {
  align-items: start;
  background: #0b1c41;
  border-top: 1px solid rgba(255,255,255,.15);
  color: #fff;
  display: grid;
  gap: 36px;
  grid-template-columns: 160px minmax(200px, 1fr) auto;
  padding: 52px max(24px, calc((100vw - 1250px) / 2)) 36px;
}

.product-footer .product-logo img { filter: brightness(0) invert(1); }
.product-footer > p { color: rgba(255,255,255,.65); line-height: 1.6; margin: 0; max-width: 470px; }
.product-footer nav { display: grid; gap: 8px; }
.product-footer nav a { color: rgba(255,255,255,.75); font-size: .76rem; text-decoration: none; }
.product-footer nav a:hover { color: #fff; }
.product-footer > small { color: rgba(255,255,255,.45); font-size: .66rem; grid-column: 1 / -1; }

/* Página para prestadores */
.provider-hero { min-height: 720px; }

.hero-fineprint {
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.5;
  margin: 22px 0 0;
}

.provider-desk {
  border-radius: 42px 8px 8px 8px;
  inset: 26px 0 30px 18px;
  transform: rotate(-1deg);
}

.provider-desk-body { padding: 32px; }

.provider-profile-chip {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 13px;
  grid-template-columns: 46px 1fr auto;
  padding-bottom: 22px;
}

.provider-profile-chip > span,
.lead-avatar {
  align-items: center;
  background: var(--ink);
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-size: .67rem;
  font-weight: 700;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.provider-profile-chip div { display: grid; gap: 3px; }
.provider-profile-chip strong { font-size: .78rem; }
.provider-profile-chip small { color: var(--muted); font-size: .61rem; }
.provider-profile-chip > i { background: rgba(46,143,121,.12); border-radius: 999px; color: var(--mint); font-size: .57rem; font-style: normal; font-weight: 700; padding: 7px 10px; }

.provider-metric-strip {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr 1fr;
  margin-top: 22px;
}

.provider-metric-strip article { background: var(--paper); display: grid; gap: 5px; padding: 18px; }
.provider-metric-strip small { color: var(--muted); font-size: .58rem; }
.provider-metric-strip strong { font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.provider-metric-strip span { color: var(--ink-soft); font-size: .58rem; }

.provider-pipeline { border: 1px solid var(--line); margin-top: 14px; padding: 18px; }
.provider-pipeline > div { display: flex; justify-content: space-between; margin-bottom: 8px; }
.provider-pipeline > div strong { font-size: .7rem; }
.provider-pipeline > div small { color: var(--coral-dark); font-size: .57rem; font-weight: 700; }
.provider-pipeline article {
  align-items: center;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 10px;
  grid-template-columns: 36px 1fr auto;
  padding: 12px 0;
}
.provider-pipeline .lead-avatar { background: var(--coral); height: 34px; width: 34px; }
.provider-pipeline .lead-avatar.ochre { background: var(--ochre); }
.provider-pipeline .lead-avatar.mint { background: var(--mint); }
.provider-pipeline article > div { display: grid; gap: 2px; }
.provider-pipeline article strong { font-size: .65rem; }
.provider-pipeline article small { color: var(--muted); font-size: .55rem; }
.provider-pipeline article b { color: var(--coral-dark); font-size: .53rem; }
.provider-pipeline article b.proposal { color: var(--ochre); }
.provider-pipeline article b.chatting { color: var(--mint); }
.provider-note { bottom: 2px; right: -18px; }

.provider-manifesto {
  align-items: start;
  background: var(--white);
  display: grid;
  gap: clamp(60px, 9vw, 140px);
  grid-template-columns: .82fr 1.18fr;
  padding: clamp(90px, 11vw, 160px) max(24px, calc((100vw - 1250px) / 2));
}

.manifesto-copy { position: sticky; top: 120px; }
.advantage-stack { border-top: 1px solid var(--line); }
.advantage-stack article {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 24px;
  grid-template-columns: 44px 1fr;
  padding: 28px 0;
}
.advantage-stack > article > span { color: var(--coral-dark); font-family: var(--serif); font-size: 1.2rem; }
.advantage-stack h3 { font-size: 2rem; }
.advantage-stack p { color: var(--muted); line-height: 1.7; margin: 8px 0 0; }

.tool-flow {
  border-bottom: 1px solid var(--line);
  border-right: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.tool-flow article {
  border-left: 1px solid var(--line);
  border-top: 1px solid var(--line);
  min-height: 330px;
  padding: 28px;
  position: relative;
}

.tool-flow .tool-step { position: absolute; right: 24px; top: 24px; }
.tool-flow .module-icon { margin-bottom: 52px; }
.tool-flow p { color: var(--muted); line-height: 1.7; margin: 13px 0 0; }

.provider-control { background: var(--ink); }

.control-ledger { border-top: 1px solid rgba(255,255,255,.25); margin: 0; }
.control-ledger div { border-bottom: 1px solid rgba(255,255,255,.25); display: grid; gap: 24px; grid-template-columns: 150px 1fr; padding: 23px 0; }
.control-ledger dt { font-family: var(--serif); font-size: 1.35rem; }
.control-ledger dd { color: rgba(255,255,255,.7); font-size: .78rem; line-height: 1.55; margin: 0; }

.join-section { display: grid; gap: 65px; grid-template-columns: .9fr 1.1fr; }
.join-copy { grid-row: 1 / span 2; }
.join-steps { border-top: 1px solid var(--line); list-style: none; margin: 0; padding: 0; }
.join-steps li { border-bottom: 1px solid var(--line); display: grid; gap: 18px; grid-template-columns: 42px 1fr; padding: 24px 0; }
.join-steps > li > span { align-items: center; border: 1px solid var(--coral); border-radius: 50%; color: var(--coral-dark); display: flex; font-size: .7rem; height: 30px; justify-content: center; width: 30px; }
.join-steps h3 { font-size: 1.45rem; }
.join-steps p { color: var(--muted); font-size: .82rem; line-height: 1.6; margin: 6px 0 0; }
.join-action { align-items: center; background: var(--paper-deep); display: grid; gap: 24px; grid-template-columns: 1fr auto; padding: 24px; }
.join-action p { color: var(--ink-soft); font-size: .76rem; line-height: 1.6; margin: 0; }
.join-action p strong { display: block; }

.provider-faq {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 70px;
  grid-template-columns: .65fr 1.35fr;
}

.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { cursor: pointer; font-family: var(--serif); font-size: 1.35rem; list-style: none; padding: 24px 42px 24px 0; position: relative; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; font-family: var(--sans); font-weight: 400; position: absolute; right: 8px; top: 24px; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list p { color: var(--muted); line-height: 1.75; margin: -6px 0 24px; max-width: 700px; }

:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--coral) 78%, white);
  outline-offset: 4px;
}

@media (max-width: 1120px) {
  .product-nav { display: none; }
  .header-inner { justify-content: space-between; }
  .header-cta { margin-left: auto; }
  .product-hero { grid-template-columns: 1fr; padding-top: 80px; }
  .hero-copy { max-width: 820px; }
  .portal-illustration, .provider-illustration { margin: 0 auto; max-width: 780px; min-height: 570px; width: 100%; }
  .product-section-heading { grid-template-columns: 1fr; }
  .module-row { grid-template-columns: 42px 56px 1fr; }
  .module-row ul { grid-column: 3; }
  .journey-section, .provider-control { grid-template-columns: 1fr; }
  .product-assurance { grid-template-columns: 1fr; }
  .provider-manifesto { grid-template-columns: 1fr; }
  .manifesto-copy { position: static; }
  .tool-flow { grid-template-columns: repeat(2, 1fr); }
  .join-section { grid-template-columns: 1fr; }
  .join-copy { grid-row: auto; }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 72px; }
  .header-inner { min-height: 68px; padding: 0 18px; }
  .product-logo img { width: 118px; }
  .header-cta { font-size: .7rem; min-height: 40px; padding: 10px 14px; }
  .celebrax-language-switcher { transform: scale(.92); transform-origin: right center; }
  .product-hero { gap: 44px; min-height: auto; padding: 58px 20px 76px; }
  .hero-copy h1 { font-size: clamp(3rem, 15vw, 4.7rem); }
  .hero-lead { font-size: .98rem; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .product-button { width: 100%; }
  .product-text-link { justify-content: center; }
  .hero-facts { gap: 10px; }
  .hero-facts dt { font-size: 1.05rem; }
  .hero-facts dd { font-size: .62rem; }
  .portal-illustration, .provider-illustration { min-height: 410px; }
  .portal-frame, .provider-desk { inset: 10px 0 30px; }
  .portal-frame { border-radius: 6px 6px 42px 6px; }
  .portal-body { grid-template-columns: 36px 1fr; min-height: 340px; }
  .portal-body aside { gap: 14px; padding-top: 24px; }
  .portal-body aside span { width: 14px; }
  .portal-body aside span.active { width: 20px; }
  .portal-canvas { padding: 22px 16px; }
  .portal-welcome strong { font-size: 1.3rem; }
  .portal-welcome > span { display: none; }
  .portal-metrics article { padding: 10px 8px; }
  .portal-metrics strong { font-size: 1.2rem; }
  .portal-metrics span { display: none; }
  .portal-chart svg { height: 90px; }
  .floating-note { display: none; }
  .product-statement { padding-left: 22px; padding-right: 22px; }
  .statement-ledger { grid-template-columns: repeat(2, 1fr); }
  .statement-ledger span { border-bottom: 1px solid rgba(255,255,255,.18); }
  .module-section, .provider-tools, .join-section, .provider-faq { padding-left: 20px; padding-right: 20px; }
  .module-row { align-items: start; gap: 16px; grid-template-columns: 38px 1fr; padding: 28px 0; }
  .module-index { padding-top: 14px; }
  .module-icon { grid-column: 2; grid-row: 1; }
  .module-copy { grid-column: 1 / -1; }
  .module-row ul { grid-column: 1 / -1; padding-left: 54px; }
  .journey-section, .provider-control, .product-closing { padding-left: 22px; padding-right: 22px; }
  .product-assurance { gap: 45px; padding-left: 20px; padding-right: 20px; }
  .assurance-grid article { grid-template-columns: 1fr; gap: 8px; }
  .product-closing { grid-template-columns: 1fr; }
  .product-footer { grid-template-columns: 1fr; padding-left: 22px; padding-right: 22px; }
  .product-footer > small { grid-column: auto; }
  .provider-desk { border-radius: 26px 6px 6px; }
  .provider-desk-body { padding: 20px 14px; }
  .provider-profile-chip > i { display: none; }
  .provider-metric-strip article { padding: 13px; }
  .provider-pipeline article { grid-template-columns: 34px 1fr; }
  .provider-pipeline article > b { display: none; }
  .provider-manifesto { padding-left: 22px; padding-right: 22px; }
  .tool-flow { grid-template-columns: 1fr; }
  .tool-flow article { min-height: auto; }
  .control-ledger div { grid-template-columns: 1fr; gap: 5px; }
  .join-action { grid-template-columns: 1fr; }
  .provider-faq { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

html[data-theme="dark"] {
  color-scheme: dark;
  --paper: #0a142a;
  --paper-deep: #14213a;
  --ink: #f5f0e8;
  --ink-soft: #c3c9d5;
  --muted: #9fa9bb;
  --line: #293954;
  --white: #101d35;
  --coral: #f07269;
  --coral-dark: #ff9188;
  --blue: #4f83dc;
  --ochre: #d5a350;
  --mint: #45a98f;
  --plum: #9c70a0;
  --shadow: 0 24px 70px rgba(0,0,0,.35);
}

html[data-theme="dark"] .site-header { background: color-mix(in srgb, var(--paper) 94%, transparent); }
html[data-theme="dark"] .provider-metric-strip article { background: #16243d; }
html[data-theme="dark"] .product-footer { background: #071020; }
