/* Our Model uses the shared Home typography and site chrome. */
.model-page {
  --model-ink: #14213d;
  --model-blue: #4568ec;
  --model-muted: #586782;
  --model-line: #dfe7f3;
  overflow: clip;
}
.model-page .section-inner { padding-block: clamp(72px, 8vw, 112px); }
.model-page .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 18px;
  color: #4866dc;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.model-page .eyebrow::before { content: ""; width: 18px; height: 2px; background: currentColor; }
.model-page .model-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.model-page .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 21px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.model-page .btn:hover { transform: translateY(-2px); }
.model-page .btn.primary { color: #fff; background: var(--model-blue); box-shadow: 0 12px 25px rgba(69, 104, 236, .22); }
.model-page .btn.primary:hover { color: #fff; background: #3653d4; }
.model-page .btn.ghost { color: #3151bb; background: #fff; border-color: #d4def2; }
.model-page .btn.ghost:hover { color: #2545a9; border-color: #9db0ef; }
.model-page .model-section a:not(.btn),
.model-page .model-panel a:not(.btn) { color: #3659cf; font-weight: 700; text-underline-offset: 4px; }

/* The hero places the explanation beside a focused action panel. */
.model-page .hero {
  position: relative;
  isolation: isolate;
  color: #fff;
  background: radial-gradient(ellipse at 83% 12%, #29418e 0%, transparent 38%),
              radial-gradient(ellipse at 5% 89%, #153371 0%, transparent 42%),
              #0b1734;
}
.model-page .hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .23;
  background-image: linear-gradient(rgba(215, 225, 255, .09) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(215, 225, 255, .09) 1px, transparent 1px);
  background-size: 70px 70px;
  mask-image: linear-gradient(90deg, transparent, #000);
}
.model-page .hero .section-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  align-items: center;
  gap: clamp(42px, 6vw, 82px);
  padding-block: clamp(85px, 10vw, 140px);
}
.model-page .model-hero-copy,
.model-page .model-hero-panel { min-width: 0; }
.model-page .hero .eyebrow { color: #adbeff; }
.model-page .hero h1 { max-width: 680px; margin-bottom: 23px; color: #fff; }
.model-page .hero .model-hero-copy .lead-header { max-width: 610px; margin: 0; color: #c7d3ec; font-size: 17px; line-height: 1.85; }
.model-page .model-hero-panel {
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 4vw, 46px);
  border: 1px solid rgba(229, 236, 255, .8);
  border-radius: 20px;
  color: #20345b;
  background: radial-gradient(circle at 100% 0, #e8eeff, transparent 40%), #fff;
  box-shadow: 0 28px 72px rgba(2, 10, 37, .28), 0 0 0 8px rgba(255, 255, 255, .045);
}
.model-page .model-hero-panel::before { content: ""; display: block; width: 38px; height: 4px; margin-bottom: 24px; border-radius: 4px; background: #5d7ceb; }
.model-page .model-hero-panel .lead-header { margin: 0 0 28px; color: #475c80; font-size: 17px; line-height: 1.85; }

/* The free and supported routes use contrasting offer cards. */
.model-page .model-offer-section { background: #f4f7fc; }
.model-page .model-offer-section .section-inner { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 18px; align-items: stretch; }
.model-page .model-offer-section .info-card { min-width: 0; padding: clamp(28px, 4vw, 43px); border: 1px solid #dfe6f2; border-radius: 18px; background: #fff; box-shadow: 0 15px 38px rgba(21, 40, 84, .045); }
.model-page .model-offer-section .info-card:first-child { border-color: #bdccfa; background: radial-gradient(circle at 100% 0, #eaf0ff, transparent 41%), #fff; box-shadow: 0 18px 42px rgba(69, 104, 236, .09); }
.model-page .model-offer-section h2 { margin-bottom: 19px; }
.model-page .model-offer-section p { color: #5b6a83; font-size: 16px; line-height: 1.85; }
.model-page .model-offer-section p:last-child { margin-bottom: 0; }
.model-page .model-offer-section strong { color: #23385f; }
.model-page .model-offer-section ul { display: grid; gap: 10px; margin: 22px 0; padding: 0; list-style: none; }
.model-page .model-offer-section li { position: relative; padding-left: 27px; color: #455b7a; font-size: 15px; line-height: 1.75; }
.model-page .model-offer-section li::before { content: "✓"; position: absolute; left: 0; color: #5474db; font-weight: 800; }

/* An uncluttered data table makes the three choices comparable. */
.model-page .model-panel:not(.model-faq):not(.cta-dark) { background: #fff; }
.model-page .model-panel:not(.model-faq):not(.cta-dark) .eyebrow { margin-bottom: 14px; }
.model-page .model-panel:not(.model-faq):not(.cta-dark) h2 { margin-bottom: 18px; }
.model-page .model-panel:not(.model-faq):not(.cta-dark) .section-inner > p { max-width: 750px; margin-bottom: 24px; color: #596a84; font-size: 16px; line-height: 1.85; }
.model-page .model-table-wrap { overflow-x: auto; border: 1px solid #dce4f0; border-radius: 17px; box-shadow: 0 14px 38px rgba(21, 40, 84, .045); }
.model-page .model-table-wrap:focus-visible { outline: 3px solid #86a2ff; outline-offset: 4px; }
.model-page .model-plan-table { width: 100%; min-width: 660px; border-collapse: collapse; text-align: left; }
.model-page .model-plan-table caption { padding: 0; height: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.model-page .model-plan-table thead { background: #142957; }
.model-page .model-plan-table th,
.model-page .model-plan-table td { padding: 18px 20px; border-bottom: 1px solid #e6ecf4; font-size: 14px; line-height: 1.55; }
.model-page .model-plan-table thead th { color: #fff; font-size: 13px; font-weight: 800; }
.model-page .model-plan-table thead th:nth-child(2) { background: #3d5dcb; }
.model-page .model-plan-table tbody th { width: 31%; color: #263b62; font-weight: 700; }
.model-page .model-plan-table tbody td { color: #5b6c86; }
.model-page .model-plan-table tbody td:nth-child(2) { color: #3555bd; background: #f0f4ff; font-weight: 700; }
.model-page .model-plan-table tbody tr:nth-child(even) { background: #f9fbff; }
.model-page .model-plan-table tbody tr:last-child th,
.model-page .model-plan-table tbody tr:last-child td { border-bottom: 0; }
.model-page .model-panel:not(.model-faq):not(.cta-dark) .section-inner > p:last-child { margin: 24px 0 0; font-size: 15px; }

/* The service explanation becomes an editorial split on a dark band. */
.model-page .model-story-section { color: #fff; background: radial-gradient(ellipse at 93% 9%, #263f88, transparent 43%), #101f40; }
.model-page .model-story-section .section-inner { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; gap: clamp(45px, 7vw, 100px); }
.model-page .model-story-section .info-card:first-child { max-width: 620px; }
.model-page .model-story-section h2 { color: #fff; margin-bottom: 20px; }
.model-page .model-story-section p { color: #c1cee5; font-size: 16px; line-height: 1.85; }
.model-page .model-story-section p:last-child { margin-bottom: 0; }
.model-page .model-story-section a:not(.btn) { color: #bfd0ff; }
.model-page .model-story-section a:not(.btn):hover { color: #fff; }
.model-page .model-story-section .info-card:last-child { padding: clamp(27px, 4vw, 42px); border: 1px solid rgba(217, 228, 255, .24); border-radius: 18px; background: rgba(255, 255, 255, .075); box-shadow: 0 23px 55px rgba(1, 9, 35, .12); }
.model-page .model-story-section .info-card:last-child h2 { font-size: clamp(2rem, 3.5vw, 3rem); }

/* The FAQ uses a quiet reading column. */
.model-page .model-faq { background: #fff; }
.model-page .model-faq .section-inner { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); align-items: start; gap: clamp(45px, 7vw, 100px); }
.model-page .model-faq h2 { position: sticky; top: 115px; margin: 0; }
.model-page .model-faq-list { border-top: 1px solid #dce4f0; }
.model-page .model-faq details { border-bottom: 1px solid #dce4f0; }
.model-page .model-faq summary { position: relative; padding: 23px 36px 23px 0; color: #1c3056; font-size: 1.2rem; font-weight: 750; line-height: 1.35; cursor: pointer; list-style: none; }
.model-page .model-faq summary::-webkit-details-marker { display: none; }
.model-page .model-faq summary::after { content: "+"; position: absolute; right: 3px; top: 18px; color: #5472da; font-size: 24px; font-weight: 400; }
.model-page .model-faq details[open] summary::after { content: "−"; }
.model-page .model-faq details p { margin: 0 0 23px; color: #5d6d86; font-size: 15px; line-height: 1.85; }

/* A focused, full-width ending invites the free starting point. */
.model-page .cta-dark { position: relative; overflow: hidden; color: #fff; background: radial-gradient(ellipse at 50% -40%, #778dff 0%, transparent 66%), linear-gradient(125deg, #28439e, #1c2d6e); }
.model-page .cta-dark::before { content: ""; position: absolute; inset: 0; opacity: .11; background-image: radial-gradient(#fff 1px, transparent 1px); background-size: 20px 20px; }
.model-page .cta-dark .section-inner { position: relative; text-align: center; }
.model-page .cta-dark h2 { max-width: 840px; margin: 0 auto 20px; color: #fff; }
.model-page .cta-dark p { max-width: 730px; margin: 0 auto; color: #dce6ff; font-size: 17px; line-height: 1.85; }
.model-page .cta-dark .model-actions { justify-content: center; margin-top: 31px; }
.model-page .cta-dark .btn.primary { color: #213b8a; background: #fff; box-shadow: 0 14px 30px rgba(8, 19, 57, .2); }
.model-page .cta-dark .btn.primary:hover { color: #172d74; background: #eef2ff; }
.model-page .cta-dark .btn.ghost { color: #fff; background: rgba(255, 255, 255, .09); border-color: rgba(235, 241, 255, .46); }
.model-page .cta-dark .btn.ghost:hover { color: #fff; background: rgba(255, 255, 255, .17); }

.custom-footer .footer-link-group a[aria-current="page"] { color: #fff; font-weight: 800; }

@media (max-width: 950px) {
  .model-page .hero .section-inner,
  .model-page .model-story-section .section-inner,
  .model-page .model-faq .section-inner { grid-template-columns: 1fr; }
  .model-page .model-hero-panel { max-width: 660px; }
  .model-page .model-story-section .info-card:first-child { max-width: none; }
  .model-page .model-faq .section-inner { gap: 35px; }
  .model-page .model-faq h2 { position: static; }
}
@media (max-width: 700px) {
  .model-page .section-inner { padding-block: 65px; }
  .model-page .model-offer-section .section-inner { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .model-page .hero .section-inner { gap: 45px; }
  .model-page .hero .model-hero-copy .lead-header,
  .model-page .model-hero-panel .lead-header,
  .model-page .cta-dark p { font-size: 16px; }
  .model-page .model-actions { flex-direction: column; align-items: stretch; }
  .model-page .model-actions .btn { width: 100%; }
  .model-page .model-hero-panel { padding: 26px; }
}
