body.page-clean {

  --rule: 1px solid var(--line);
}

body.page-clean {
  position: relative;
  overflow-wrap: break-word;
  background: var(--surface-0);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: var(--t-md);
  line-height: var(--lh-body);
  letter-spacing: -0.005em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}

body.page-clean * { box-sizing: border-box; }

body.page-clean::before {
  content: '';
  position: absolute;
  inset: 0 -18%;
  z-index: -1;
  background:
    radial-gradient(30% 15% at 84% 20%, rgba(96, 156, 255, 0.20), transparent 68%),
    radial-gradient(28% 13% at 8% 40%, rgba(10, 132, 255, 0.17), transparent 70%),
    radial-gradient(32% 15% at 80% 62%, rgba(120, 110, 255, 0.13), transparent 68%),
    radial-gradient(28% 12% at 14% 80%, rgba(10, 132, 255, 0.14), transparent 70%),
    radial-gradient(26% 12% at 70% 94%, rgba(96, 156, 255, 0.11), transparent 70%);
  pointer-events: none;
}

body.page-clean::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 2;
  background-image: url('/assets/grain.png');
  background-size: 180px 180px;
  opacity: 0.055;
  mix-blend-mode: overlay;
  pointer-events: none;
}

.sol-inner {
  width: 100%;
  max-width: var(--page-max);
  margin: 0 auto;
  padding: 0 var(--page-inset);
}

.sol-section { padding-block: var(--section-y); }
main > .sol-section:last-child,
main > .sol-cta:last-child { padding-bottom: 0; }

.sol-panel {
  position: relative;
  padding: var(--panel-pad-lg) var(--page-inset);
  margin-inline: calc(var(--page-inset) * -1);
  background: var(--glass);
}

.sol-panel::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: radial-gradient(280px circle at var(--mx, 50%) var(--my, 0%), rgba(150, 190, 255, 0.13), transparent 72%);
  opacity: 0;
  transition: opacity var(--dur-mid) var(--ease-out);
  pointer-events: none;
}

.sol-panel > * { position: relative; z-index: 1; }

@media (hover: hover) {
  .sol-panel:hover::before { opacity: 1; }
}

@media (max-width: 560px) {
  .sol-section:has(> .sol-inner > .sol-panel) {
    padding-block: var(--s-6);
  }
}

@media (min-width: 561px) {
  .sol-panel {
    padding-inline: var(--panel-pad-lg);
    margin-inline: 0;
    border: 1px solid var(--glass-line);
    border-radius: var(--r-card);
    box-shadow: var(--glass-shadow);
  }
}

.sol-section-head {
  max-width: var(--measure);
  margin: 0 0 var(--head-gap);
}

.sol-h2,
.sol-cta-body h2 {
  margin: 0;
  font-size: var(--t-h2);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.028em;
  color: var(--ink);
  text-wrap: balance;
  scroll-margin-top: calc(var(--nav-h) + var(--s-5));
}
.sol-sub {
  margin: var(--s-3) 0 0;
  max-width: var(--measure);
  font-size: var(--t-lg);
  line-height: 1.55;
  color: var(--ink-dim);
}

.sol-hero {
  position: relative;
  padding: clamp(132px, 16vh, 180px) 0 0;
  text-align: left;
  overflow: clip;
}
.sol-hero::before {
  content: '';
  position: absolute;
  inset: -40% -10% auto -10%;
  height: 160%;
  background:
    radial-gradient(55% 60% at 76% 26%, rgba(96, 156, 255, 0.22), transparent 70%),
    radial-gradient(40% 45% at 14% 6%, rgba(20, 40, 88, 0.5), transparent 74%);
  pointer-events: none;
}
.sol-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(140, 178, 255, 0.07) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(140, 178, 255, 0.07) 1px, transparent 1px);
  background-size: 88px 88px;
  -webkit-mask-image: radial-gradient(85% 80% at 70% 28%, #000 6%, transparent 70%);
  mask-image: radial-gradient(85% 80% at 70% 28%, #000 6%, transparent 70%);
  pointer-events: none;
}
.sol-hero > * { position: relative; z-index: 1; }
.seo-crumbs + .sol-hero { padding-top: var(--s-6); }

.sol-title {
  margin: 0;
  max-width: 24ch;
  font-size: var(--t-h1);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.035em;
  color: var(--ink);
  text-wrap: balance;
}
.sol-hero .sol-sub { margin-top: var(--s-5); max-width: 58ch; }
.sol-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-3);
  margin-top: var(--s-6);
}

.sol-hero-media,
.sol-feature-media {
  margin: 0;
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--surface-deep);
  box-shadow: var(--media-shadow);
  transition: box-shadow var(--dur-mid) var(--ease-out), transform var(--dur-mid) var(--ease-out);
}

@media (hover: hover) {
  .sol-hero-media:hover,
  .sol-feature-media:hover {
    transform: translateY(-3px);
  }
}
.sol-hero-media { margin-top: var(--s-7); }
.sol-hero-media video,
.sol-hero-media img,
.sol-hero-media .art,
.sol-feature-media video,
.sol-feature-media img,
.sol-feature-media .art { display: block; width: 100%; height: auto; }

.sol-section-head + .sol-feature-media { margin-top: var(--head-gap); }

.art { font-family: inherit; }

.art-rule {
  fill: none;
  stroke: var(--line);
  stroke-width: 1;
}

.art-rule.is-lit { stroke: var(--accent); }

.art-label {
  font-size: 19px;
  font-weight: 600;
  letter-spacing: 0.14em;
  fill: var(--ink-faint);
}

.art-label.is-lit { fill: var(--ink); }

.art-line { fill: var(--ink-ghost); }
.art-line.is-lit { fill: var(--ink-mid); }

.art-pane { fill: var(--accent-tint); }
.art-card { fill: var(--surface-2); }

.art-field {
  fill: none;
  stroke: var(--line-strong);
}

.art-face {
  stroke: var(--ink-mid);
  stroke-width: 1.5;
  stroke-linejoin: round;
}

.art-face.is-top { fill: var(--surface-elevated); }
.art-face.is-side { fill: var(--surface-2); }
.art-face.is-void { fill: var(--surface-deep); }

.art-edge {
  fill: none;
  stroke: var(--ink-mid);
  stroke-width: 1.5;
}

.art-warn { fill: var(--warning); }

.art-num {
  font-size: 30px;
  font-weight: 600;
  fill: var(--ink-faint);
}

@media (max-width: 700px) {
  .art-label { font-size: 26px; }
}

.seo-crumbs {
  max-width: var(--page-max);
  margin: calc(var(--nav-h) + var(--s-5)) auto 0;
  padding: 0 var(--page-inset);
  font-size: var(--t-xs);
  color: var(--ink-faint);
}
.seo-crumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0 var(--s-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.seo-crumbs li + li::before {
  content: '/';
  margin-right: var(--s-2);
  color: var(--ink-ghost);
}
.seo-crumbs a { color: var(--ink-mid); text-decoration: none; }
.seo-crumbs a:hover { color: var(--ink); }

.seo-answer,
.seo-prose { max-width: var(--measure); }
.seo-answer .sol-h2 { margin-bottom: var(--head-gap); }
.sol-lead {
  margin: 0;
  font-size: var(--t-lg);
  line-height: 1.6;
  color: var(--ink-dim);
}
.seo-answer .sol-lead + .sol-lead { margin-top: var(--s-4); }
.seo-prose p {
  margin: 0;
  font-size: var(--t-md);
  line-height: var(--lh-body);
  color: var(--ink-dim);
}
.seo-prose p + p { margin-top: var(--s-4); }
.seo-prose strong,
.seo-answer strong,
.sol-who strong { color: var(--ink); font-weight: 600; }

.seo-prose a,
.seo-answer a,
.sol-feature-text p a,
.sol-points li a,
.sol-who a,
.status-note a,
.doc-note-body a,
.docs-body a,
.legal-page a,
.article-body a,
.sol-card-body a,
.sol-sub a,
.seo-step-text a,
.seo-table td a,
.seo-prompt dd a,
.seo-term dd a,
.blog-meta a {
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid var(--line-strong);
  transition: border-color var(--dur-ui) var(--ease-out);
}
.seo-prose a:hover,
.seo-answer a:hover,
.sol-feature-text p a:hover,
.sol-points li a:hover,
.sol-who a:hover,
.status-note a:hover,
.doc-note-body a:hover,
.docs-body .docs-pager-link,
.docs-body .seo-crumbs a { border-bottom: 0; }
.docs-body a:hover,
.legal-page a:hover,
.article-body a:hover,
.sol-card-body a:hover,
.sol-sub a:hover,
.seo-step-text a:hover,
.seo-table td a:hover,
.seo-prompt dd a:hover,
.seo-term dd a:hover,
.blog-meta a:hover { border-bottom-color: var(--ink-dim); }

.sol-who {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--s-6) var(--s-7);
  margin: 0;
  padding: 0;
  list-style: none;
}
.sol-who li {
  margin: 0;
  padding-top: var(--s-4);
  border-top: 1px solid var(--line);
  font-size: var(--t-md);
  line-height: var(--lh-body);
  color: var(--ink-dim);
}

.sol-feature {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(32px, 4vw, 56px);
  align-items: center;
}
.sol-feature + .sol-feature { margin-top: var(--section-y-lg); }
.sol-feature.is-plain { grid-template-columns: minmax(0, 1fr); }
.sol-feature:not(:has(> .sol-feature-media)) { grid-template-columns: minmax(0, var(--measure)); }
.sol-feature-text { grid-column: 1; grid-row: 1; max-width: var(--measure); }
.sol-feature-media { grid-column: 2; grid-row: 1; }
.sol-feature.is-reverse { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); }
.sol-feature.is-reverse .sol-feature-text { grid-column: 2; }
.sol-feature.is-reverse .sol-feature-media { grid-column: 1; }
.sol-feature.is-reverse:not(:has(> .sol-feature-media)) { grid-template-columns: minmax(0, var(--measure)); }
.sol-feature.is-reverse:not(:has(> .sol-feature-media)) .sol-feature-text { grid-column: 1; }
.sol-feature-text :is(h2, h3) {
  margin: 0 0 var(--s-4);
  font-size: var(--t-xl);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.024em;
  color: var(--ink);
}
.sol-feature-text p {
  margin: 0;
  font-size: var(--t-md);
  line-height: var(--lh-body);
  color: var(--ink-dim);
}

.sol-points {
  list-style: none;
  margin: var(--s-4) 0 0;
  padding: 0;
  display: grid;
  gap: var(--s-3);
}
.sol-points li::before,
.doc-section ul > li::before,
.legal-page ul > li::before,
.article-body ul > li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.66em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--ink-faint);
}
.sol-points li {
  position: relative;
  padding-left: var(--s-4);
  font-size: var(--t-sm);
  line-height: 1.55;
  color: var(--ink-dim);
}

.seo-steps {
  list-style: none;
  margin: 0;
  padding: 0;
}
.seo-steps {
  display: grid;
  gap: var(--s-7);
  max-width: var(--measure);
}
.seo-step {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: start;
  scroll-margin-top: calc(var(--nav-h) + var(--s-5));
}
.seo-step-num {
  grid-row: 1 / span 2;
  font-size: var(--t-sm);
  line-height: 1.45;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}
.seo-step-title {
  grid-column: 2;
  margin: 0 0 var(--s-2);
  font-size: var(--t-lg);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.015em;
  color: var(--ink);
}
.seo-step-text {
  grid-column: 2;
  margin: 0;
  font-size: var(--t-sm);
  line-height: 1.6;
  color: var(--ink-dim);
}

.seo-prompts {
  display: grid;
  gap: var(--s-6);
}
.seo-prompt {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: var(--s-2) var(--s-6);
  align-items: baseline;
}
.seo-prompt dt {
  margin: 0;
  font-size: var(--t-sm);
  font-weight: 500;
  line-height: 1.55;
  color: var(--ink);
}
.seo-prompt dd {
  margin: 0;
  font-size: var(--t-sm);
  line-height: 1.6;
  color: var(--ink-dim);
}

.seo-glossary {
  display: grid;
  gap: var(--s-6);
  margin: 0;
}
.seo-term {
  display: grid;
  grid-template-columns: minmax(0, 220px) minmax(0, 62ch);
  gap: var(--s-2) var(--s-6);
  align-items: baseline;
  scroll-margin-top: calc(var(--nav-h) + var(--s-5));
}
.seo-term dt {
  margin: 0;
  font-size: var(--t-lg);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.015em;
  color: var(--ink);
}
.seo-term dd {
  margin: 0;
  font-size: var(--t-sm);
  line-height: 1.6;
  color: var(--ink-dim);
}

.seo-table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: var(--line-strong) transparent;
}
.seo-table-scroll::-webkit-scrollbar { height: 4px; }
.seo-table-scroll::-webkit-scrollbar-thumb { background: var(--line-strong); border-radius: 2px; }
.seo-table {
  width: 100%;
  min-width: 620px;
  table-layout: fixed;
  border-collapse: collapse;
  text-align: left;
}
.seo-table-caption {
  caption-side: top;
  text-align: left;
  padding: 0 0 var(--s-4);
  font-size: var(--t-sm);
  color: var(--ink-mid);
}
.seo-table th,
.seo-table td {
  padding: var(--s-5) var(--s-5) var(--s-5) 0;
  font-size: var(--t-md);
  line-height: 1.5;
  font-weight: 400;
  vertical-align: top;
  color: var(--ink-dim);
}
.seo-table thead th {
  padding-bottom: var(--s-3);
  font-size: var(--t-sm);
  font-weight: 500;
  color: var(--ink-mid);
}
.seo-table thead tr { border-bottom: var(--rule); }
.seo-table .seo-table-rowhead {
  padding-right: var(--s-6);
  font-weight: 500;
  color: var(--ink);
}

.sol-grid,
.seo-linklist,
.docs-cards,
.blog-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  list-style: none;
  margin: 0;
  padding: 0;
}

@media (min-width: 641px) {
  .sol-grid,
  .seo-linklist,
  .docs-cards,
  .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 901px) {
  .sol-grid,
  .seo-linklist,
  .docs-cards,
  .blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  :is(.sol-grid, .seo-linklist, .docs-cards, .blog-grid):has(> :last-child:nth-child(-n + 2)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  :is(.sol-grid, .seo-linklist, .docs-cards, .blog-grid):has(> :only-child) {
    grid-template-columns: minmax(0, 1fr);
  }
}

.sol-grid { gap: var(--s-5); }
.sol-card {
  padding: var(--s-6) var(--s-5);
  border-radius: var(--r-md);
  background: var(--surface-quiet);
  transition: background-color var(--dur-mid) var(--ease-out),
              transform var(--dur-mid) var(--ease-out),
              box-shadow var(--dur-mid) var(--ease-out);
}

@media (hover: hover) {
  .sol-card:hover {
    background: var(--surface-quiet-lit);
    transform: translateY(-2px);
    box-shadow: var(--lift);
  }
}
.sol-card-title {
  margin: 0 0 var(--s-2);
  font-size: var(--t-lg);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: var(--ink);
}
.sol-card-body:empty { display: none; }
.sol-card:has(> .sol-card-body:empty) .sol-card-title { margin-bottom: 0; }
.sol-card-body {
  margin: 0;
  font-size: var(--t-sm);
  line-height: 1.6;
  color: var(--ink-dim);
}

.seo-linklist,
.docs-cards,
.blog-grid { gap: var(--s-2) var(--s-7); }
.seo-linklist a,
.docs-cards a {
  display: grid;
  gap: var(--s-1);
  padding: var(--s-5) var(--s-4);
  margin-inline: calc(var(--s-4) * -1);
  border-radius: var(--r-sm);
  text-decoration: none;
  border: 0;
  transition: background-color var(--dur-ui) var(--ease-out);
}

@media (hover: hover) {
  .seo-linklist a:hover,
  .docs-cards a:hover {
    background: var(--surface-quiet);
  }
}
.seo-linklist-title,
.docs-card-title {
  display: inline-flex;
  align-items: baseline;
  gap: var(--s-2);
}
.seo-linklist-title::after,
.docs-card-title::after {
  content: '\203A';
  color: var(--ink-faint);
  transition: transform var(--dur-ui) var(--ease-out), color var(--dur-ui) var(--ease-out);
}
.seo-linklist a:hover .seo-linklist-title::after,
.docs-cards a:hover .docs-card-title::after {
  transform: translateX(3px);
  color: var(--ink);
}
.seo-linklist-title,
.docs-card-title {
  font-size: var(--t-md);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.015em;
  color: var(--ink);
  transition: color var(--dur-ui) var(--ease-out);
}
.seo-linklist a:hover .seo-linklist-title,
.docs-cards a:hover .docs-card-title { color: var(--ink); }
.seo-linklist-sub,
.docs-card-sub {
  font-size: var(--t-sm);
  line-height: 1.5;
  color: var(--ink-mid);
}

.seo-index-group + .seo-index-group { margin-top: var(--section-y-lg); }


.faq-list {
  display: grid;
  gap: var(--s-1);
  margin: 0;
  max-width: var(--measure);
}
.sol-panel .faq-list { max-width: none; }
.faq-item summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s-5);
  padding: var(--s-4) 0;
  font-size: var(--t-md);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.012em;
  color: var(--ink);
  transition: color var(--dur-ui) var(--ease-out);
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: '+';
  flex: none;
  width: 20px;
  text-align: center;
  font-size: var(--t-lg);
  font-weight: 300;
  color: var(--ink-mid);
  transition: transform var(--dur-mid) var(--ease-out), color var(--dur-ui) var(--ease-out);
}
.faq-item summary:hover::after { color: var(--ink); }
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-answer {
  padding: 0 0 var(--s-5);
  max-width: 68ch;
  font-size: var(--t-sm);
  line-height: 1.65;
  color: var(--ink-dim);
}

.faq-item + .faq-item {
  border-top: 1px solid var(--line);
}

@supports (interpolate-size: allow-keywords) {
  :root { interpolate-size: allow-keywords; }

  .faq-item::details-content {
    block-size: 0;
    overflow: hidden;
    opacity: 0;
    transition: block-size var(--dur-mid) var(--ease-out),
                opacity var(--dur-ui) var(--ease-out),
                content-visibility var(--dur-mid) allow-discrete;
  }

  .faq-item[open]::details-content {
    block-size: auto;
    opacity: 1;
  }
}

.status-overall {
  padding: 0 0 var(--s-5);
}
.status-overall-head {
  margin: 0;
  font-size: var(--t-h2);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--ink-mid);
}
.status-overall[data-state="operational"] .status-overall-head { color: var(--success); }
.status-overall[data-state="degraded"] .status-overall-head { color: var(--warning); }
.status-overall[data-state="outage"] .status-overall-head { color: var(--danger); }
.status-overall-meta {
  margin: var(--s-2) 0 0;
  font-size: var(--t-sm);
  color: var(--ink-faint);
}

.status-list {
  display: grid;
  gap: var(--s-7);
  list-style: none;
  margin: 0;
  padding: 0;
}
.status-item-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s-4);
}
.status-item-name {
  font-size: var(--t-lg);
  letter-spacing: -0.015em;
  color: var(--ink);
}
.status-item-state {
  flex: none;
  font-size: var(--t-sm);
  text-align: right;
  color: var(--ink-mid);
}
.status-item-state[data-state="operational"] { color: var(--success); }
.status-item-state[data-state="degraded"] { color: var(--warning); }
.status-item-state[data-state="outage"] { color: var(--danger); }
.status-item-detail {
  margin: var(--s-1) 0 0;
  max-width: var(--measure);
  font-size: var(--t-sm);
  line-height: 1.5;
  color: var(--ink-mid);
}

.status-track {
  display: flex;
  align-items: stretch;
  gap: 2px;
  height: 30px;
  margin-top: var(--s-4);
  border-radius: var(--r-sm);
  background: var(--surface-quiet);
}
.status-track:empty + .status-scale { visibility: hidden; }
.status-seg {
  flex: 1 1 0;
  min-width: 0;
  border-radius: 2px;
  background: var(--ink-ghost);
  transition: opacity var(--dur-fast) var(--ease-out);
}
.status-seg[data-state="up"] { background: var(--success); opacity: 0.55; }
.status-seg[data-state="partial"] { background: var(--warning); }
.status-seg[data-state="down"] { background: var(--danger); }
.status-track:hover .status-seg { opacity: 0.3; }
.status-track:hover .status-seg:hover { opacity: 1; }

.status-scale {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s-3);
  margin-top: var(--s-2);
  font-size: var(--t-xs);
  color: var(--ink-faint);
}
.status-item-uptime {
  text-align: center;
  color: var(--ink-mid);
}
.status-scale-start,
.status-scale-end { flex: none; }

.status-incidents {
  margin-top: var(--s-6);
}
.status-incidents-head {
  margin: 0 0 var(--s-3);
  font-size: var(--t-md);
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--ink-dim);
}
.status-incident-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--s-3);
}
.status-incident {
  display: flex;
  align-items: baseline;
  gap: var(--s-4);
  font-size: var(--t-sm);
  line-height: 1.5;
}
.status-incident-when {
  flex: none;
  min-width: 11ch;
  color: var(--ink-mid);
}
.status-incident[data-state="down"] .status-incident-when { color: var(--danger); }
.status-incident[data-state="partial"] .status-incident-when { color: var(--warning); }
.status-incident-what { color: var(--ink-dim); }

.status-note {
  margin: var(--s-6) 0 0;
  max-width: var(--measure);
  font-size: var(--t-sm);
  line-height: 1.6;
  color: var(--ink-mid);
}

.sol-cta { padding-block: var(--section-y-xl); }
.sol-cta-body {
  position: relative;
  display: grid;
  gap: var(--s-3);
  padding: clamp(56px, 18vw, 96px) var(--s-6);
  overflow: clip;
  border: 1px solid var(--glass-line);
  border-radius: var(--r-card);
  box-shadow: var(--glass-shadow);
  background: var(--glass-lit);
  -webkit-backdrop-filter: blur(20px) saturate(1.2);
  backdrop-filter: blur(20px) saturate(1.2);
  text-align: left;
}
.sol-cta-body::before {
  content: '';
  position: absolute;
  inset: -60% -20% auto -20%;
  height: 220%;
  background:
    radial-gradient(46% 60% at 72% 26%, rgba(96, 156, 255, 0.34), transparent 68%),
    radial-gradient(42% 55% at 16% 86%, rgba(10, 132, 255, 0.20), transparent 70%);
  pointer-events: none;
}
.sol-cta-body::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(140, 178, 255, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(140, 178, 255, 0.05) 1px, transparent 1px);
  background-size: 88px 88px;
  -webkit-mask-image: radial-gradient(80% 150% at 72% 34%, #000 0%, transparent 64%);
  mask-image: radial-gradient(80% 150% at 72% 34%, #000 0%, transparent 64%);
  pointer-events: none;
}
.sol-cta-body > * { position: relative; z-index: 1; }

@media (min-width: 561px) {
  .sol-cta-body {
    padding: clamp(112px, 14vw, 184px) var(--panel-pad-lg);
  }
}
.sol-cta-body h2 { max-width: 22ch; }
.sol-cta-body p {
  margin: 0;
  max-width: 56ch;
  font-size: var(--t-lg);
  line-height: 1.55;
  color: var(--ink-dim);
}
.sol-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-3);
  margin-top: var(--s-4);
}


.docs-shell {
  display: grid;
  grid-template-columns: 216px minmax(0, 1fr) 188px;
  gap: 0 clamp(32px, 4vw, 64px);
  max-width: var(--page-max);
  margin: 0 auto;
  padding: calc(var(--nav-h) + var(--s-6)) var(--page-inset) var(--section-y-lg);
  align-items: start;
}

.docs-nav,
.docs-toc {
  position: sticky;
  top: calc(var(--nav-h) + var(--s-5));
  max-height: calc(100vh - var(--nav-h) - var(--s-7));
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-bottom: var(--s-5);
  font-size: var(--t-sm);
  line-height: 1.5;
  scrollbar-width: thin;
  scrollbar-color: var(--line-strong) transparent;
}
.docs-nav::-webkit-scrollbar,
.docs-toc::-webkit-scrollbar { width: 4px; }
.docs-nav::-webkit-scrollbar-thumb,
.docs-toc::-webkit-scrollbar-thumb { background: var(--line-strong); border-radius: 2px; }

.docs-nav ul { list-style: none; margin: 0; padding: 0; }
.docs-nav > ul > li + li { margin-top: var(--s-4); }
.docs-nav a {
  display: block;
  padding: 3px 0;
  text-decoration: none;
  color: var(--ink-mid);
  transition: color var(--dur-ui) var(--ease-out);
}
.docs-nav a:hover { color: var(--ink); }
.docs-nav-home {
  margin-bottom: var(--s-4);
  color: var(--ink);
  font-weight: 600;
}
.docs-nav-details > ul { overflow: hidden; }
.docs-nav-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-3);
  list-style: none;
  cursor: pointer;
  padding: 5px 0;
  color: var(--ink);
  font-weight: 600;
  letter-spacing: -0.01em;
}
.docs-nav-section::-webkit-details-marker { display: none; }
.docs-nav-section svg {
  flex: none;
  width: 14px;
  height: 14px;
  color: var(--ink-faint);
  transition: transform var(--dur-ui) var(--ease-out);
}
.docs-nav-details[open] > .docs-nav-section svg { transform: rotate(180deg); }
.docs-nav-section:hover svg { color: var(--ink-dim); }
.docs-nav-details > ul > li > a { padding-left: var(--s-3); }
.docs-nav a[aria-current="page"],
.docs-nav a.is-current { color: var(--ink); }

.docs-toc ul { list-style: none; margin: 0; padding: 0; }
.docs-toc a {
  display: block;
  padding: 5px 0;
  color: var(--ink-mid);
  text-decoration: none;
  transition: color var(--dur-ui) var(--ease-out);
}
.docs-toc a:hover { color: var(--ink); }
.docs-toc-label {
  margin: 0 0 var(--s-2);
  font-size: var(--t-sm);
  font-weight: 600;
  color: var(--ink);
}

.docs-body { min-width: 0; max-width: 72ch; }
.docs-body .seo-crumbs { max-width: none; margin: 0; padding: 0 0 var(--s-5); }
.docs-head { margin: 0 0 var(--section-y-lg); }
.docs-head h1 {
  margin: 0;
  font-size: clamp(30px, 3.2vw, 40px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.032em;
  color: var(--ink);
}
.docs-lede {
  margin: var(--s-4) 0 0;
  font-size: var(--t-lg);
  line-height: 1.55;
  color: var(--ink-dim);
}

.doc-section { margin: 0 0 var(--s-8); }
.doc-section:last-of-type { margin-bottom: 0; }
.doc-section h2 {
  margin: 0 0 var(--s-4);
  font-size: var(--t-xl);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: var(--ink);
  scroll-margin-top: calc(var(--nav-h) + var(--s-5));
}
.doc-section h3 {
  margin: var(--s-6) 0 var(--s-3);
  font-size: var(--t-lg);
  font-weight: 600;
  letter-spacing: -0.012em;
  color: var(--ink);
  scroll-margin-top: calc(var(--nav-h) + var(--s-5));
}
.doc-section p {
  margin: 0 0 var(--s-4);
  font-size: var(--t-md);
  line-height: 1.65;
  color: var(--ink-dim);
}
.doc-section p:last-child { margin-bottom: 0; }
.doc-section ul,
.doc-section ol {
  list-style: none;
  margin: 0 0 var(--s-4);
  padding: 0;
  display: grid;
  gap: var(--s-4);
  counter-reset: doc-ol;
}
.doc-section li {
  position: relative;
  padding-left: var(--s-4);
  font-size: var(--t-md);
  line-height: 1.65;
  color: var(--ink-dim);
}
.doc-section ol > li {
  counter-increment: doc-ol;
}
.doc-section ol > li::before {
  content: counter(doc-ol);
  position: absolute;
  left: 0;
  top: 0;
  font-variant-numeric: tabular-nums;
  color: var(--ink-faint);
}
.doc-section strong { color: var(--ink); font-weight: 600; }
.docs-body code {
  font-family: var(--font-mono);
  font-size: 0.94em;
  color: var(--ink);
}

.doc-note {
  margin: 0 0 var(--s-8);
  padding-left: var(--s-5);
  border-left: 2px solid var(--line);
}
.doc-note-warning { border-left-color: var(--warning); }
.doc-note-body p {
  margin: 0 0 var(--s-2);
  font-size: var(--t-sm);
  line-height: 1.6;
  color: var(--ink-dim);
}
.doc-note-body p:last-child { margin: 0; }

.doc-code { margin: 0 0 var(--s-5); }
.doc-code-caption {
  margin: 0 0 var(--s-2);
  font-size: var(--t-xs);
  color: var(--ink-faint);
}
.doc-code pre {
  margin: 0;
  padding: var(--s-4) var(--s-5);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  border-radius: var(--r-sm);
  background: var(--surface-deep-2);
}
.doc-code code {
  padding: 0;
  background: none;
  font-size: var(--t-sm);
  line-height: 1.7;
}

.doc-section .docs-cards { column-gap: var(--s-6); }
.doc-section .docs-cards li { padding-left: 0; }
.doc-section .docs-cards li::before { display: none; }

.docs-pager {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-4);
  margin-top: var(--section-y-lg);
  padding-top: var(--s-6);
  border-top: var(--rule);
}
.docs-pager-link {
  display: grid;
  gap: var(--s-1);
  padding: var(--s-4);
  border-radius: var(--r-sm);
  text-decoration: none;
  border: 0;
  transition: background-color var(--dur-ui) var(--ease-out);
}
.docs-pager-prev { grid-column: 1; }
.docs-pager-next { grid-column: 2; text-align: right; }

@media (hover: hover) {
  .docs-pager-link:hover { background: var(--surface-quiet); }
}
.docs-pager-rel { font-size: var(--t-xs); color: var(--ink-faint); }
.docs-pager-title {
  font-size: var(--t-md);
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--ink);
  transition: color var(--dur-ui) var(--ease-out);
}
.docs-pager-link:hover .docs-pager-title { color: var(--ink); }

.docs-body .sol-section { padding: 0; margin: 0 0 var(--s-8); }
.docs-body .sol-inner { padding: 0; max-width: none; }
.docs-body .sol-section-head { margin: 0 0 var(--s-4); max-width: none; }
.docs-body .sol-h2 { font-size: var(--t-xl); line-height: 1.3; letter-spacing: -0.02em; }
.docs-body .sol-section-head .sol-sub { margin-top: var(--s-2); font-size: var(--t-md); }
.docs-body .seo-answer,
.docs-body .seo-prose,
.docs-body .sol-feature-text,
.docs-body .seo-step-text { max-width: none; }
.docs-body .seo-steps,
.docs-body .seo-prompts,
.docs-body .status-board { max-width: none; }
.docs-body .seo-table { min-width: 480px; }
.docs-body .faq-list { max-width: none; }
.docs-body .sol-card { padding: var(--s-5); }

.legal-page {
  max-width: 820px;
  margin: 0 auto;
  padding: calc(var(--nav-h) + var(--s-6)) var(--page-inset) var(--section-y-lg);
}
.legal-page h1 {
  margin: 0 0 var(--s-3);
  font-size: clamp(30px, 3.2vw, 40px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.032em;
  color: var(--ink);
}
.legal-page .legal-meta {
  margin: 0 0 var(--section-y-lg);
  font-size: var(--t-xs);
  color: var(--ink-faint);
}
.legal-page h2 {
  margin: var(--s-8) 0 var(--s-4);
  font-size: var(--t-xl);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: var(--ink);
  scroll-margin-top: calc(var(--nav-h) + var(--s-5));
}
.legal-page h3 {
  margin: var(--s-6) 0 var(--s-3);
  font-size: var(--t-lg);
  font-weight: 600;
  letter-spacing: -0.012em;
  color: var(--ink);
}
.legal-page p {
  margin: 0 0 var(--s-4);
  font-size: var(--t-md);
  line-height: 1.7;
  color: var(--ink-dim);
}
.legal-page ul,
.legal-page ol {
  list-style: none;
  margin: 0 0 var(--s-4);
  padding: 0;
  display: grid;
  gap: var(--s-2);
  counter-reset: legal-ol;
}
.legal-page li {
  position: relative;
  padding-left: var(--s-4);
  font-size: var(--t-md);
  line-height: 1.7;
  color: var(--ink-dim);
}
.legal-page ol > li { counter-increment: legal-ol; }
.legal-page ol > li::before {
  content: counter(legal-ol);
  position: absolute;
  left: 0;
  top: 0;
  font-variant-numeric: tabular-nums;
  color: var(--ink-faint);
}
.legal-page strong { color: var(--ink); font-weight: 600; }
.legal-page .legal-toc {
  margin: 0 0 var(--section-y-lg);
  padding: var(--s-5) 0 0;
  border-top: var(--rule);
}
.legal-page .legal-toc-heading {
  margin: 0 0 var(--s-3);
  font-size: var(--t-sm);
  font-weight: 600;
  color: var(--ink);
}
.legal-page .legal-toc ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px var(--s-6);
  margin: 0;
  counter-reset: none;
}
.legal-page .legal-toc li { padding-left: 0; font-size: var(--t-sm); line-height: 1.5; }
.legal-page .legal-toc li::before { display: none; }
.legal-page .legal-toc a { color: var(--ink-mid); border-bottom: 0; }
.legal-page .legal-toc a:hover { color: var(--ink); }
.legal-page .legal-callout,
.legal-page .legal-warn {
  margin: var(--s-6) 0;
  padding: 0 0 0 var(--s-5);
  border-left: 2px solid var(--line-strong);
}
.legal-page .legal-callout p:last-child,
.legal-page .legal-warn p:last-child { margin-bottom: 0; }
.legal-page .legal-contact {
  margin: var(--section-y-lg) 0 0;
  padding-top: var(--s-6);
  border-top: var(--rule);
}
.legal-page h2 + .legal-contact {
  margin-top: var(--s-4);
  padding-top: 0;
  border-top: 0;
}
.legal-page .legal-contact p { margin: 0 0 4px; font-size: var(--t-sm); color: var(--ink-mid); }
.legal-page .legal-caps { font-size: var(--t-sm); letter-spacing: 0; color: var(--ink-mid); }
.legal-page .sol-inner { padding: 0; max-width: none; }

.blog-page { padding: 0; }
.blog-article {
  max-width: var(--page-max);
  margin: 0 auto;
  padding: calc(var(--nav-h) + var(--s-6)) var(--page-inset) var(--section-y-lg);
}
.blog-article > .seo-crumbs { margin: 0; padding: 0 0 var(--s-5); }
.blog-article > article { margin-bottom: var(--section-y-lg); }
.blog-card {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: var(--s-2);
  padding: var(--s-5) var(--s-4);
  margin-inline: calc(var(--s-4) * -1);
  border-radius: var(--r-sm);
  transition: background-color var(--dur-ui) var(--ease-out);
}

@media (hover: hover) {
  .blog-card:hover {
    background: var(--surface-quiet);
  }
}
.blog-card h3::after {
  content: '\203A';
  margin-left: var(--s-2);
  color: var(--ink-faint);
  transition: transform var(--dur-ui) var(--ease-out), color var(--dur-ui) var(--ease-out);
  display: inline-block;
}

@media (hover: hover) {
  .blog-card:hover h3::after {
    transform: translateX(3px);
    color: var(--ink);
  }
}

.blog-card h3 {
  margin: 0;
  font-size: var(--t-lg);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.018em;
  color: var(--ink);
  transition: color var(--dur-ui) var(--ease-out);
}
.blog-card:hover h3 { color: var(--ink); }
.blog-card p {
  margin: 0;
  max-width: 52ch;
  font-size: var(--t-sm);
  line-height: 1.55;
  color: var(--ink-dim);
}
.blog-card-link { color: inherit; text-decoration: none; border: 0; }
.blog-card-link::after { content: ''; position: absolute; inset: 0; }
.blog-meta {
  margin: 0;
  font-size: var(--t-xs);
  color: var(--ink-faint);
}
.blog-article { max-width: 760px; }
.article-header { margin: 0 0 var(--section-y-lg); }
.blog-article h1 {
  margin: 0;
  font-size: clamp(30px, 3.4vw, 42px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.032em;
  color: var(--ink);
}
.article-meta {
  margin: var(--s-4) 0 0;
  font-size: var(--t-xs);
  color: var(--ink-faint);
}
.article-body { font-size: var(--t-md); line-height: 1.75; color: var(--ink-dim); }
.article-body .article-lede {
  margin: 0 0 var(--s-6);
  font-size: var(--t-lg);
  line-height: 1.6;
  color: var(--ink);
}
.article-body h2 {
  margin: var(--s-8) 0 var(--s-4);
  font-size: var(--t-xl);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: var(--ink);
  scroll-margin-top: calc(var(--nav-h) + var(--s-5));
}
.article-body h3 {
  margin: var(--s-6) 0 var(--s-3);
  font-size: var(--t-lg);
  font-weight: 600;
  letter-spacing: -0.012em;
  color: var(--ink);
}
.article-body p { margin: 0 0 var(--s-4); }
.article-body ul,
.article-body ol {
  list-style: none;
  margin: 0 0 var(--s-4);
  padding: 0;
  display: grid;
  gap: var(--s-2);
  counter-reset: article-ol;
}
.article-body li { position: relative; padding-left: var(--s-4); }
.article-body ol > li { counter-increment: article-ol; }
.article-body ol > li::before {
  content: counter(article-ol);
  position: absolute;
  left: 0;
  top: 0;
  font-variant-numeric: tabular-nums;
  color: var(--ink-faint);
}
.article-body strong { color: var(--ink); font-weight: 600; }
.article-body em { color: var(--ink); font-style: italic; }
.article-body code {
  font-family: var(--font-mono);
  font-size: 0.94em;
  color: var(--ink);
}
.article-body .article-quote {
  margin: var(--s-6) 0;
  padding-left: var(--s-5);
  border-left: 2px solid var(--line-strong);
  color: var(--ink);
}
.article-body .article-quote p { margin: 0; }
.article-cta {
  margin: var(--section-y-lg) 0 0;
  padding-top: var(--s-6);
  border-top: var(--rule);
}
.article-cta h3 {
  margin: 0 0 var(--s-3);
  font-size: var(--t-xl);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.article-cta p { margin: 0; max-width: 56ch; font-size: var(--t-sm); color: var(--ink-dim); }
.article-cta-actions { display: flex; flex-wrap: wrap; gap: var(--s-3); margin-top: var(--s-5); }

.billing-row {
  display: flex;
  align-items: center;
  gap: var(--s-4);
  flex-wrap: wrap;
  margin: 0 0 var(--s-5);
}
.billing-switch,
.home-mode-tabs {
  display: inline-flex;
  gap: var(--s-1);
  padding: var(--s-1);
  border: 1px solid var(--glass-line);
  border-radius: var(--r-pill);
  background: var(--glass);
  -webkit-backdrop-filter: blur(20px) saturate(1.2);
  backdrop-filter: blur(20px) saturate(1.2);
}
.billing-opt,
.home-mode-tab {
  height: var(--ctl-md);
  min-height: var(--ctl-md);
  padding: 0 var(--s-5);
  border: 0;
  border-radius: var(--r-pill);
  background: transparent;
  color: var(--ink-mid);
  font: inherit;
  font-size: var(--seg-size, var(--t-sm));
  line-height: 1;
  cursor: pointer;
  transition: background-color var(--dur-ui) var(--ease-out),
              color var(--dur-ui) var(--ease-out);
}
.billing-opt.is-active,
.home-mode-tab.is-active {
  background: var(--btn-quiet);
  color: var(--ink);
}

.billing-save {
  display: inline-flex;
  align-items: center;
  height: var(--ctl-md);
  margin: 0;
  padding: 0 var(--s-4);
  border-radius: var(--r-pill);
  background: var(--success-tint);
  font-size: var(--t-sm);
  color: var(--success);
}

:root[data-billing-interval="month"] .billing-save { display: none; }

.plans-aside {
  margin: var(--s-4) 0 0;
}

.tiers-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: auto auto auto auto 1fr auto auto;
  gap: var(--s-3);
}
.tiers-solo {
  grid-template-columns: minmax(0, 420px);
  justify-content: center;
}
.billing-row-solo { justify-content: center; }
.tier {
  position: relative;
  transition: background-color var(--dur-mid) var(--ease-out),
              border-color var(--dur-mid) var(--ease-out),
              transform var(--dur-mid) var(--ease-out),
              box-shadow var(--dur-mid) var(--ease-out);
  display: grid;
  grid-row: 1 / -1;
  grid-template-rows: subgrid;
  align-content: start;
  padding: var(--s-5);
  border: var(--rule);
  border-radius: var(--r-card);
  background: var(--surface-quiet-lit);
}
.tier-featured { border-color: var(--line-strong); background: var(--btn-quiet); }

@media (hover: hover) {
  .tier:hover {
    border-color: var(--line-strong);
    transform: translateY(-3px);
    box-shadow: var(--lift);
  }
}
.tier-header { margin-bottom: var(--s-4); }
.tier > .tier-header    { grid-row: 1; }
.tier > .tier-price     { grid-row: 2; }
.tier > .tier-billed    { grid-row: 3; }
.tier > .tier-allowance { grid-row: 4; }
.tier > .tier-features  { grid-row: 5; }
.tier > .tier-cta       { grid-row: 6; }
.tier > .tier-note      { grid-row: 7; }
.tier-flag {
  display: inline-flex;
  align-items: center;
  margin: 0 0 var(--s-2);
  padding: 3px 10px;
  border-radius: var(--r-pill);
  background: rgba(10,132,255,.20);
  border: 1px solid rgba(109,195,255,.46);
  font-size: var(--t-xs);
  font-weight: 600;
  letter-spacing: .01em;
  line-height: 1.2;
  color: var(--ink);
  white-space: nowrap;
}
.tier-name {
  margin: 0;
  font-size: var(--t-md);
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--ink);
}
.tier-tag {
  margin: var(--s-1) 0 0;
  font-size: var(--t-sm);
  line-height: 1.5;
  color: var(--ink-mid);
}
.tier-price { display: flex; align-items: baseline; gap: 6px; margin: 0; }
.tier-price-amt {
  font-size: var(--t-h2);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.032em;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.tier-price-amt[data-year] { color: var(--ink); }
:root[data-billing-interval="month"] .tier-price-amt[data-year] { color: var(--ink); }
.tier-price-period { font-size: var(--t-sm); color: var(--ink-mid); }
.tier-billed {
  margin: var(--s-2) 0 0;
  min-height: 1.35em;
  font-size: var(--t-xs);
  line-height: 1.35;
  color: var(--ink-mid);
}

.tier-allowance {
  margin: var(--s-3) 0 0;
  font-size: var(--t-sm);
  color: var(--ink-dim);
}
.tier-allowance strong { color: var(--ink); font-weight: 600; }
.tier-features {
  list-style: none;
  margin: var(--s-4) 0 0;
  padding: 0;
  display: grid;
  gap: var(--s-2);
  align-content: start;
}
.tier-features li {
  position: relative;
  padding-left: 22px;
  font-size: var(--t-sm);
  line-height: 1.5;
  color: var(--ink-dim);
}
.tier-features .check {
  position: absolute;
  left: 0;
  top: 0;
  font-size: var(--t-sm);
  line-height: 1.5;
  color: var(--ink-mid);
}
.tier-featured .tier-features .check { color: var(--ink-dim); }
.tier-cta { width: 100%; margin-top: var(--s-5); }
.tier-note {
  margin: var(--s-3) 0 0;
  font-size: var(--t-xs);
  line-height: 1.5;
  color: var(--ink-mid);
}

.plan-student {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: var(--s-5) var(--s-6);
  padding: var(--s-5) var(--s-6);
  border: var(--rule);
  border-radius: var(--r-card);
  background: var(--surface-quiet-lit);
  transition: border-color var(--dur-mid) var(--ease-out);
}

@media (hover: hover) {
  .plan-student:hover { border-color: var(--line-strong); }
}

.plan-student-name {
  margin: 0;
  font-size: var(--t-md);
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--ink);
}

.plan-student-line {
  margin: var(--s-1) 0 0;
  font-size: var(--t-sm);
  line-height: 1.5;
  color: var(--ink-mid);
}

.plan-student-cta { width: auto; }

@media (max-width: 720px) {
  .plan-student {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .plan-student-cta { width: 100%; }
}

.compare-table { width: 100%; min-width: 760px; }
.compare-yes { color: var(--ink); }
.compare-no { color: var(--ink-faint); }
.compare-note,
.download-help {
  margin: var(--s-5) 0 0;
  max-width: var(--measure);
  font-size: var(--t-sm);
  line-height: 1.6;
  color: var(--ink-dim);
}

.download-page,
.form-page { padding: 0; }
.form-page .sol-inner > * {
  max-width: var(--measure);
  margin-inline: auto;
}
.form-page .sol-hero .sol-title,
.form-page .sol-hero .sol-sub { max-width: none; text-align: center; }
.download-actions { align-items: center; margin-top: var(--s-7); }
.download-reqs {
  display: grid;
  gap: var(--s-4);
  max-width: var(--measure);
  margin: 0;
}
.download-reqs > div {
  display: grid;
  grid-template-columns: minmax(0, 180px) minmax(0, 1fr);
  align-items: baseline;
  gap: var(--s-2) var(--s-5);
  font-size: var(--t-sm);
}
.download-reqs dt { color: var(--ink-mid); }
.download-reqs dd { margin: 0; color: var(--ink); overflow-wrap: anywhere; }
.download-sum { font-family: var(--font-mono); font-size: var(--t-xs); word-break: break-all; }
.compare-note code { overflow-wrap: anywhere; }
.form-note a,
.download-help a {
  display: inline-block;
  color: var(--ink-mid);
  text-decoration: none;
  border-bottom: 1px solid var(--line-strong);
  transition: color var(--dur-ui) var(--ease-out), border-color var(--dur-ui) var(--ease-out);
}
.form-note a:hover,
.download-help a:hover { color: var(--ink); border-bottom-color: var(--ink-dim); }


@media (max-width: 560px) {
  .status-track { height: 24px; gap: 1px; }
  .status-incident { display: grid; gap: var(--s-1); }
  .status-incident-when { min-width: 0; }
}

@media (max-width: 1180px) {
  .docs-shell { grid-template-columns: 200px minmax(0, 1fr); }
  .docs-toc { display: none; }
}

@media (min-width: 641px) and (max-width: 1080px) {
  .tiers-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, auto auto auto auto 1fr auto auto);
  }
  .tier { grid-row: 1 / span 7; }
  .tier:nth-child(n + 3) { grid-row: 8 / span 7; }
  .tiers-solo {
    grid-template-columns: minmax(0, 420px);
    grid-template-rows: auto auto auto auto 1fr auto auto;
  }
}

@media (max-width: 900px) {
  .seo-crumbs { margin-top: calc(var(--nav-h) + var(--s-5)); }
  .sol-hero { padding-top: calc(var(--nav-h) + var(--s-7)); }
  .legal-page,
  .blog-article { padding-top: calc(var(--nav-h) + var(--s-5)); }

  .sol-feature,
  .sol-feature.is-reverse { grid-template-columns: minmax(0, 1fr); gap: var(--s-6); }
  .sol-feature-text,
  .sol-feature-media,
  .sol-feature.is-reverse .sol-feature-text,
  .sol-feature.is-reverse .sol-feature-media { grid-column: 1; grid-row: auto; }

  .docs-shell { grid-template-columns: 1fr; padding-top: calc(var(--nav-h) + var(--s-5)); }
  .docs-nav {
    order: 1;
    position: static;
    max-height: none;
    margin: 0 0 var(--s-6);
    padding: 0 0 var(--s-5);
    border-bottom: var(--rule);
  }
  .docs-body { order: 2; max-width: none; }
  .docs-nav-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-4);
    width: 100%;
    min-height: var(--tap);
    padding: 0;
    background: none;
    border: 0;
    color: var(--ink);
    font-family: var(--font-sans);
    font-size: var(--t-md);
    font-weight: 600;
    letter-spacing: -0.015em;
    cursor: pointer;
  }
  .docs-nav-toggle-chev svg { width: 16px; height: 16px; transition: transform var(--dur-ui) var(--ease-out); }
  .docs-nav.is-open .docs-nav-toggle-chev svg { transform: rotate(180deg); }
  .docs-nav-panel { display: none; padding-top: var(--s-4); }
  .docs-nav.is-open .docs-nav-panel { display: block; }
  .docs-nav a,
  .docs-toc a { min-height: var(--tap); display: flex; align-items: center; }
  .docs-nav-section { min-height: var(--tap); }
  .docs-pager { grid-template-columns: 1fr; gap: var(--s-4); }
  .docs-pager-next { grid-column: 1; text-align: left; }

  .legal-page .legal-toc ol { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 901px) {
  .docs-nav-toggle { display: none; }
  .docs-nav-panel { display: block; }
}

@media (max-width: 900px) {
  .seo-table-scroll {
    -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent);
    mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent);
  }
  .seo-table .seo-table-rowhead {
    position: sticky;
    left: 0;
    z-index: 1;
    background: var(--surface-0);
    padding-right: var(--s-4);
  }
}

@media (max-width: 760px) {
  .seo-prompt,
  .seo-term { grid-template-columns: 1fr; gap: var(--s-2); }
  .seo-table { min-width: 520px; }
  .seo-table th,
  .seo-table td { padding: var(--s-3) var(--s-4) var(--s-3) 0; }
}

@media (max-width: 640px) {
  .sol-actions,
  .sol-cta-actions,
  .article-cta-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .sol-actions > *,
  .sol-cta-actions > *,
  .article-cta-actions > * {
    width: 100%;
    justify-content: center;
  }

  .seo-table-scroll {
    overflow-x: visible;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .seo-table,
  .docs-body .seo-table,
  .seo-table caption,
  .seo-table tbody,
  .seo-table tr,
  .seo-table th,
  .seo-table td { display: block; min-width: 0; }
  .seo-table,
  .docs-body .seo-table { width: 100%; table-layout: auto; }
  .seo-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .seo-table .seo-table-rowhead {
    position: static;
    padding: 0 0 var(--s-2);
    font-size: var(--t-md);
    font-weight: 600;
    color: var(--ink);
  }
  .seo-table tbody tr + tr { margin-top: var(--s-6); }
  .seo-table td {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    align-items: baseline;
    gap: var(--s-4);
    padding: var(--s-2) 0;
  }
  .seo-table td::before {
    content: attr(data-col);
    color: var(--ink-faint);
  }
  .seo-table td:empty { display: none; }
  .seo-table td a {
    display: inline-flex;
    align-items: center;
    min-height: var(--tap);
  }
  .tiers-grid { grid-template-columns: 1fr; }
  .tier { grid-row: auto; grid-template-rows: none; }
  .sol-actions,
  .sol-cta-actions,
  .article-cta-actions { flex-direction: column; align-items: stretch; }
  .sol-actions .btn,
  .sol-cta-actions .btn,
  .article-cta-actions .btn { width: 100%; }
  .seo-step { grid-template-columns: 28px minmax(0, 1fr); }
  .faq-answer { padding-right: 0; }
  .download-reqs > div {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s-1);
  }
}

@media (min-width: 641px) {
  .compare-table { table-layout: fixed; }
  .compare-table th:first-child,
  .compare-table td:first-child { width: 30%; }
  .compare-table th:not(:first-child),
  .compare-table td:not(:first-child) { width: 17.5%; }
}

.sol-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: var(--s-7) var(--s-8);
  align-items: start;
}

.sol-features-grid > .sol-feature {
  margin: 0;
  padding-top: var(--s-5);
  border-top: 1px solid var(--line);
  align-items: start;
}

.sol-features-grid .sol-feature-text { max-width: none; }

.home-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--s-7) var(--s-6);
}

.home-stat-num {
  display: block;
  font-size: var(--t-figure);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  color: var(--ink);
}

.home-stat-lbl {
  margin: var(--s-4) 0 0;
  max-width: 30ch;
  font-size: var(--t-sm);
  line-height: 1.5;
  color: var(--ink-mid);
}

@media (max-width: 700px) {
  .home-stats {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s-6);
  }
}

.levels {
  display: grid;
  gap: var(--s-3);
  margin: var(--s-6) 0 0;
  max-width: var(--measure);
}

.level-row {
  display: grid;
  grid-template-columns: 7ch minmax(0, 1fr);
  gap: var(--s-5);
  align-items: baseline;
}

.level-name,
.level-model {
  margin: 0;
  font-size: var(--t-sm);
  line-height: 1.5;
}

.level-name { color: var(--ink-dim); }
.level-model { color: var(--ink); }

.edu-step {
  display: grid;
  gap: var(--s-5);
}

.edu-step-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.35fr);
  gap: var(--s-4) var(--s-6);
  align-items: baseline;
}

.edu-step-label,
.edu-step-free,
.edu-step-paid {
  margin: 0;
  font-size: var(--t-sm);
  line-height: 1.5;
}

.edu-step-label { color: var(--ink-dim); }
.edu-step-free { color: var(--ink-mid); }
.edu-step-paid { color: var(--ink); font-weight: 600; }

.edu-step-head .edu-step-free,
.edu-step-head .edu-step-paid {
  color: var(--ink-faint);
  font-weight: 400;
}

@media (max-width: 560px) {
  .edu-step-row {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s-1);
  }
  .edu-step-head { display: none; }
  .edu-step-free::before { content: 'Free: '; color: var(--ink-faint); }
  .edu-step-paid::before { content: 'Student: '; color: var(--ink-faint); font-weight: 400; }
}
.edu-hero { text-align: center; }

.edu-hero .sol-title {
  max-width: 18ch;
  margin-inline: auto;
}

.edu-hero .billing-row { margin: var(--s-7) 0 var(--s-5); }

.edu-hero .tier { text-align: left; }

.sol-icon { display: block; width: 32px; height: 32px; flex: none; color: var(--ink); }
.sol-card > .sol-icon, .sol-feature-text > .sol-icon { margin-bottom: var(--s-5); }
.sol-feature-icon {
  display: grid;
  place-items: center;
  min-height: clamp(220px, 28vw, 340px);
  background: var(--surface-quiet);
  border: 1px solid var(--line);
  box-shadow: none;
}
.sol-feature-icon > .sol-icon { width: clamp(88px, 13vw, 152px); height: clamp(88px, 13vw, 152px); }

.student-lesson {
  display: flex;
  align-items: center;
  gap: var(--s-6);
  padding: var(--s-6);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--surface-quiet);
}
.student-lesson-icon {
  display: grid;
  place-items: center;
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  color: var(--ink);
}
.student-lesson-icon .sol-icon { width: 36px; height: 36px; }
.student-lesson h3 {
  margin: 0 0 var(--s-2);
  font-size: var(--t-lg);
  line-height: 1.3;
  color: var(--ink);
}
.student-lesson p {
  margin: 0;
  font-size: var(--t-sm);
  line-height: 1.6;
  color: var(--ink-dim);
}
.student-learning-grid { margin-top: var(--s-7); }
@media (min-width: 901px) {
  .student-learning-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .student-lesson { align-items: flex-start; gap: var(--s-4); padding: var(--s-5); }
  .student-lesson-icon { flex-basis: 48px; width: 48px; height: 48px; }
  .student-lesson-icon .sol-icon { width: 27px; height: 27px; }
}


/* Pricing: brighter plan surfaces and brand-blue savings. */
#plans .tier {
  background: linear-gradient(155deg, rgba(42,72,137,.74), rgba(17,32,67,.96));
  border: 1px solid rgba(151,184,239,.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 18px 38px -24px rgba(0,0,0,.7);
}
#plans .tier-featured {
  background: linear-gradient(155deg, rgba(39,92,176,.88), rgba(19,49,106,.96));
  border-color: rgba(109,195,255,.64);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 22px 44px -24px rgba(10,132,255,.48);
}
#plans .tier:hover {
  border-color: rgba(157,204,255,.66);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 26px 48px -24px rgba(10,132,255,.42);
}
#plans .tier-price-amt[data-year] { color: var(--ink); }
:root[data-billing-interval="month"] #plans .tier-price-amt[data-year] { color: var(--ink); }
#plans .billing-save {
  background: rgba(10,132,255,.18);
  border: 1px solid rgba(109,195,255,.42);
  color: var(--ink);
  font-weight: 600;
}
#plans .tier-billed[data-year] { color: var(--ink-dim); }
#plans .tier-cta.btn-ghost, #plans .plan-student-cta {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.18);
}
#plans .plan-student {
  background: linear-gradient(120deg, rgba(38,75,146,.76), rgba(17,34,73,.96));
  border-color: rgba(151,184,239,.30);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}

/* Show the monthly rate beside the discounted yearly equivalent. */
.tier-price-regular {
  color: var(--ink-mid);
  font-size: clamp(18px, 1.7vw, 24px);
  font-weight: 500;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  text-decoration-color: var(--ink-mid);
  text-decoration-thickness: 1.5px;
  white-space: nowrap;
}
:root[data-billing-interval="month"] .tier-price-regular { display: none; }

#plans .tier-billed { text-wrap: pretty; }

#plans :is(.tier-flag, .billing-save) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--ink);
  background: linear-gradient(120deg, #174e91, #287fd0 48%, #164780);
  border-color: rgba(146, 214, 255, .7);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 3px 14px rgba(10, 132, 255, .22);
}
#plans :is(.tier-flag, .billing-save)::after {
  content: "";
  position: absolute;
  inset: -20% -60%;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, .28) 50%, transparent 65%);
  transform: translateX(-65%);
  animation: pricing-badge-sheen 7s ease-in-out infinite;
}
@keyframes pricing-badge-sheen {
  0%, 55% { transform: translateX(-65%); }
  85%, 100% { transform: translateX(65%); }
}
@media (prefers-reduced-motion: reduce) {
  #plans :is(.tier-flag, .billing-save)::after { animation: none; transform: translateX(0); opacity: .4; }
}
