@import url("./tokens.css");

/* Homepage-system compatibility layer.
   Maps older inner-page classes onto the approved design-board rhythm.
   Core typography, cards and buttons now live in base/components/home. */

:root {
  --tv-inner-section: clamp(var(--tv-space-64), 7vw, var(--tv-space-96));
  --tv-inner-section-compact: clamp(var(--tv-space-48), 6vw, var(--tv-space-80));
  --tv-inner-grid-gap: var(--tv-space-20);
  --tv-inner-card-padding: clamp(var(--tv-space-24), 4vw, var(--tv-space-40));
}

/* Page titles: only page heroes use the display treatment. */
.subhero h1 {
  margin-bottom: var(--tv-space-24);
  color: var(--tv-color-verdant-800);
  font-family: var(--tv-font-display);
  font-size: clamp(3rem, 5vw, 4.25rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: var(--tv-leading-heading);
}

/* Section headings: calm institutional hierarchy. */
.sec > .wrap > h2,
.wyr-content > h2,
.product-panel h2,
.philosophy-line,
.closer-line {
  margin-bottom: var(--tv-space-24);
  color: var(--tv-text-primary);
  font-family: var(--tv-font-display);
  font-size: clamp(2.5rem, 5vw, var(--tv-text-4xl));
  font-weight: 400;
  letter-spacing: 0;
  line-height: var(--tv-leading-tight);
}

/* Card headings: one standard weight across legacy and V2 cards. */
.card h3,
.card.card--icon h3,
.card--icon h3,
.usage-card h3,
.product-detail h3,
.partner-card-title,
.document-sheet__title {
  margin-top: 0;
  margin-bottom: var(--tv-space-12);
  color: inherit;
  font-family: var(--tv-font-display);
  font-size: var(--tv-text-lg);
  font-weight: 600;
  letter-spacing: 0;
  line-height: var(--tv-leading-heading);
}

/* Body/system text: older page classes inherit the same reading rhythm. */
.lede,
.card p,
.usage-card p,
.usage-card li,
.product-detail,
.product-detail p,
.product-detail li,
.note-card,
.form,
.form input,
.form select,
.form textarea,
.foot-nav,
.site-links {
  font-family: var(--tv-font-body);
  line-height: var(--tv-leading-body);
}

.lede {
  max-width: 39rem;
  color: var(--tv-text-secondary);
  font-size: var(--tv-text-base);
  line-height: var(--tv-leading-body);
}

.card p,
.usage-card p,
.usage-card li,
.product-detail,
.product-detail p,
.product-detail li,
.note-card {
  color: var(--tv-text-secondary);
  font-size: var(--tv-text-base);
}

.card p + p,
.usage-card p + p,
.product-detail p + p,
.note-card p + p {
  margin-top: var(--tv-space-16);
}

/* Eyebrows and labels: quiet, functional, not over-bold. */
.eyebrow,
.eyebrow--audience,
.card-eyebrow,
.figure-label,
.document-sheet__eyebrow,
.philosophy-eyebrow,
.document-sheet__meta,
.product-detail a {
  margin-bottom: var(--tv-space-20);
  color: var(--tv-color-verdant-600);
  font-family: var(--tv-font-display);
  font-size: var(--tv-text-xs);
  font-weight: 600;
  letter-spacing: 0.13em;
  line-height: var(--tv-leading-ui);
  text-transform: uppercase;
}

/* Inner-page rhythm aligned to the homepage benchmark. */
.sec {
  padding-block: var(--tv-inner-section);
  scroll-margin-top: calc(var(--tv-header-height) + var(--tv-space-24));
}

.subhero {
  padding-block: clamp(var(--tv-space-64), 9vw, var(--tv-space-120)) var(--tv-space-64);
}

.grid,
.grid-2,
.grid-3,
.grid-4,
.usage-grid,
.content-grid,
.criteria-grid,
.partnership-grid {
  gap: var(--tv-inner-grid-gap);
}

.grid,
.grid-2,
.grid-3,
.grid-4,
.usage-grid,
.content-grid {
  margin-top: var(--tv-space-32);
}

.tv-split,
.tv-faq-layout,
.tv-contact__grid,
.tv-dark-split__grid {
  gap: clamp(var(--tv-space-40), 7vw, var(--tv-space-96));
}

/* Older cards inherit the same quiet card system. */
.card,
.usage-card,
.product-panel,
.form {
  height: 100%;
  border-radius: var(--tv-radius-lg);
  padding: var(--tv-inner-card-padding);
}

.note-card,
.product-detail {
  border-radius: var(--tv-radius-lg);
  padding: clamp(var(--tv-space-20), 3vw, var(--tv-space-32));
}

.card p,
.usage-card ul,
.product-detail p,
.product-detail ul {
  margin-top: 0;
}

.product-panel .product-detail,
.product-panel--visual .product-detail,
.wyr-content .product-detail,
.product-detail {
  margin-top: var(--tv-space-24);
}

/* Feature lists keep the square-marker rhythm from the homepage. */
.product-detail ul,
.usage-card ul {
  display: grid;
  gap: var(--tv-space-8);
  padding-left: 0;
  list-style: none;
}

.product-detail li,
.usage-card li {
  display: flex;
  gap: var(--tv-space-12);
  align-items: flex-start;
}

.product-detail li::before,
.usage-card li::before {
  width: 0.45rem;
  height: 0.45rem;
  margin-top: 0.55em;
  background: var(--tv-action-primary);
  content: "";
  flex: 0 0 auto;
}

/* Legacy buttons follow the canonical V2 button rhythm. */
.btn,
.btn-ghost,
.nav-cta,
.home-return,
button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 var(--tv-space-24);
  border-radius: var(--tv-radius-pill);
  font-family: var(--tv-font-display);
  font-size: var(--tv-text-sm);
  font-weight: 600;
  line-height: 1;
  text-align: center;
  text-decoration: none;
}

.form label {
  display: grid;
  gap: var(--tv-space-8);
}

.form-row {
  gap: var(--tv-space-20);
}

/* Footer compatibility for legacy footer class names. */
.foot-top {
  gap: clamp(var(--tv-space-32), 5vw, var(--tv-space-80));
}

.foot-nav {
  gap: var(--tv-space-12);
}

.legal {
  line-height: 1.6;
}

.philosophy,
.closer,
.founder-section {
  padding-block: var(--tv-inner-section);
}

.founder-section {
  padding-top: var(--tv-inner-section);
}

/* Programme Record blend: keep the artefact paper-like on the photographic hero. */
.tv-home-hero__image {
  isolation: isolate;
}

.tv-record-card--evidence {
  z-index: 1;
  border-color: rgba(196, 184, 160, 0.82);
  background: rgba(255, 252, 244, 0.9);
  box-shadow: 0 18px 48px rgba(6, 28, 20, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.52);
}

.tv-record-card--evidence .tv-record-card__label,
.tv-record-card--evidence .tv-mini-label,
.tv-record-card__reference span {
  color: rgba(20, 53, 40, 0.74);
}

.tv-record-card--evidence .tv-record-card__title,
.tv-record-card__reference strong,
.tv-record-card__meta--evidence p {
  color: var(--tv-color-verdant-700);
}

.tv-record-card__reference,
.tv-record-card__meta--evidence > div {
  border-color: rgba(20, 53, 40, 0.14);
}

@media (max-width: 760px) {
  .subhero {
    padding-block: var(--tv-space-48);
  }

  .subhero h1 {
    font-size: clamp(2rem, 8.5vw, 2.45rem);
    line-height: var(--tv-leading-tight);
  }

  .sec {
    padding-block: var(--tv-space-48);
  }

  .sec > .wrap > h2,
  .wyr-content > h2,
  .product-panel h2,
  .philosophy-line,
  .closer-line {
    font-size: clamp(2.25rem, 10vw, 2.8rem);
  }

  .card,
  .usage-card,
  .product-panel,
  .form,
  .product-panel .product-detail,
  .product-panel--visual .product-detail,
  .wyr-content .product-detail,
  .product-detail {
    padding: var(--tv-space-24);
  }

  .philosophy,
  .closer,
  .founder-section {
    padding-block: var(--tv-space-48);
  }
}

/* Design-system scoped authority layer.
   The approved board supersedes older visual rules, but only through page/component classes.
   No blanket h1/h2/p/a/span overrides. */
:root {
  --paper: var(--tv-surface-page);
  --paper-soft: var(--tv-surface-page-soft);
  --white: var(--tv-surface-card);
  --ink: var(--tv-text-primary);
  --muted: var(--tv-text-muted);
  --green: var(--tv-action-primary);
  --green-deep: var(--tv-surface-dark);
  --mint: var(--tv-color-forest-300);
  --line: var(--tv-border-soft);
}

.tv-page,
.site,
.site-header,
.page-wrap,
.wrap,
.sec,
.subhero,
.about-section,
.notfound-section,
.legal-content {
  color: var(--tv-text-primary);
  font-family: var(--tv-font-body);
}

.tv-heading,
.tv-heading--xl,
.tv-heading--lg,
.tv-heading--md,
.tv-heading--sm,
.tv-heading--editorial,
.tv-section-header .tv-heading,
.tv-contact .tv-heading,
.subhero h1,
.notfound-section h1,
.sec > .wrap > h2,
.wyr-content > h2,
.product-panel h2,
.philosophy-line,
.closer-line {
  color: var(--tv-text-primary) !important;
  font-family: var(--tv-font-display) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.tv-heading--xl,
.tv-home-hero__copy .tv-heading,
.subhero h1,
.notfound-section h1 {
  color: var(--tv-color-verdant-800) !important;
  font-size: clamp(3rem, 5vw, 4.25rem) !important;
  line-height: var(--tv-leading-heading) !important;
}

.tv-heading--lg,
.tv-section-header .tv-heading--lg,
.sec > .wrap > h2,
.wyr-content > h2,
.product-panel h2,
.philosophy-line,
.closer-line {
  font-size: clamp(2.5rem, 5vw, var(--tv-text-4xl)) !important;
  line-height: var(--tv-leading-tight) !important;
}

.tv-heading--md,
.tv-section-header .tv-heading--md,
.tv-contact .tv-heading {
  font-size: clamp(2rem, 4vw, var(--tv-text-3xl)) !important;
  line-height: var(--tv-leading-heading) !important;
}

.tv-body,
.tv-card__body,
.tv-price span,
.tv-faq__panel,
.tv-field__hint,
.tv-field__error,
.tv-footer__link,
.tv-record-card__meta--evidence p,
.tv-home-hero__proof li,
.tv-check-list li,
.tv-process__item p,
.lede,
.card p,
.usage-card p,
.usage-card li,
.product-detail,
.product-detail p,
.product-detail li,
.note-card,
.legal,
.legal-content p,
.legal-content li,
.form-note,
.card-main,
.identity-desc,
.track-detail,
.partner-pending,
.principle-text {
  color: var(--tv-text-secondary) !important;
  font-family: var(--tv-font-body) !important;
  font-size: var(--tv-text-base) !important;
  font-weight: 400 !important;
  line-height: var(--tv-leading-body) !important;
}

.tv-body--large,
.tv-home-hero__intro,
.subhero p,
.subhero .lede,
.notfound-section p {
  max-width: 39rem;
  font-size: clamp(var(--tv-text-base), 1.5vw, var(--tv-text-md)) !important;
  line-height: var(--tv-leading-body) !important;
}

.tv-eyebrow,
.tv-card__eyebrow,
.tv-mini-label,
.tv-record-card__label,
.tv-record-card__reference span,
.tv-label,
.tv-footer__heading,
.tv-card__number,
.tv-process__num,
.eyebrow,
.eyebrow--audience,
.card-eyebrow,
.figure-label,
.partner-eyebrow,
.track-eyebrow,
.document-sheet__eyebrow,
.document-sheet__meta,
.notfound-eyebrow,
.philosophy-eyebrow,
.stat-label,
.founding-badge {
  color: var(--tv-color-verdant-600) !important;
  font-family: var(--tv-font-display) !important;
  font-size: var(--tv-text-xs) !important;
  font-weight: 600 !important;
  letter-spacing: 0.13em !important;
  line-height: var(--tv-leading-ui) !important;
  text-transform: uppercase !important;
}

.tv-card__title,
.tv-faq__button,
.tv-price,
.tv-record-card__reference strong,
.tv-artefact-list li,
.card h3,
.card-heading,
.card-status,
.usage-card h3,
.product-detail h3,
.partner-card-title,
.document-sheet__title,
.track-name,
.identity-name,
.principle-check,
.stat-value,
.figure-value {
  color: var(--tv-text-primary) !important;
  font-family: var(--tv-font-display) !important;
  font-size: var(--tv-text-lg) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: var(--tv-leading-heading) !important;
}

.tv-price {
  color: var(--tv-action-primary) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
}

.tv-price--dark,
.tv-card--dark .tv-price,
.tv-card--dark .tv-card__title,
.tv-card--dark .tv-card__body,
.tv-card--dark .tv-price span {
  color: var(--tv-text-on-dark) !important;
}

.wrap,
.page-wrap {
  width: min(100% - (var(--tv-container-pad) * 2), var(--tv-container-lg));
  max-width: var(--tv-container-lg);
  margin-inline: auto;
}

.site,
.site-header,
.site.scrolled,
.site-header.scrolled {
  min-height: var(--tv-header-height);
  border-bottom: 1px solid var(--tv-border-soft);
  background: rgba(244, 239, 228, 0.94) !important;
  backdrop-filter: blur(18px);
  box-shadow: none !important;
}

.site-links a,
.nav-cta,
.header-back,
.home-return,
.about-cta,
.tv-nav__link,
.tv-button,
.tv-menu-toggle,
.btn,
.btn-ghost,
.subhero-cta,
button[type="submit"] {
  font-family: var(--tv-font-display) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.tv-button,
.btn,
.btn-ghost,
.nav-cta,
.home-return,
.header-back,
.about-cta,
.subhero-cta,
button[type="submit"] {
  min-height: 44px !important;
  border-radius: var(--tv-radius-pill) !important;
  box-shadow: none !important;
}

.tv-button--primary,
.btn,
button[type="submit"] {
  border-color: var(--tv-action-primary) !important;
  background: var(--tv-action-primary) !important;
  color: var(--tv-text-on-dark) !important;
}

.tv-button--secondary,
.tv-button--ghost,
.btn-ghost,
.nav-cta,
.home-return,
.header-back,
.about-cta,
.subhero-cta {
  border-color: var(--tv-border-medium) !important;
  background: transparent !important;
  color: var(--tv-action-primary) !important;
}

.tv-button--primary:hover,
.btn:hover,
button[type="submit"]:hover {
  background: var(--tv-action-primary-hover) !important;
  color: var(--tv-text-on-dark) !important;
  transform: translateY(-1px);
}

.tv-button--secondary:hover,
.tv-button--ghost:hover,
.btn-ghost:hover,
.nav-cta:hover,
.home-return:hover,
.header-back:hover,
.about-cta:hover,
.subhero-cta:hover {
  border-color: var(--tv-action-primary) !important;
  background: var(--tv-action-secondary-hover) !important;
}

.tv-card,
.tv-product-card,
.tv-form-card,
.tv-faq,
.card,
.usage-card,
.note-card,
.product-panel,
.product-panel--visual,
.product-detail,
.form,
.contribution-card,
.track-card,
.partner-card,
.principle-item,
.identity-block,
.stat-item,
.document-sheet {
  border: 1px solid var(--tv-border-soft) !important;
  border-radius: var(--tv-radius-lg) !important;
  background: var(--tv-surface-card) !important;
  color: var(--tv-text-primary) !important;
  box-shadow: var(--tv-shadow-subtle) !important;
}

.tv-card--elevated,
.tv-product-card--documentation,
.tv-contact .tv-form-card {
  box-shadow: var(--tv-shadow-subtle) !important;
}

.tv-product-card:hover,
.tv-card:hover,
.card:hover,
.usage-card:hover,
.note-card:hover,
.contribution-card:hover,
.track-card:hover,
.partner-card:hover,
.product-panel:hover,
.product-detail:hover {
  border-color: rgba(29, 77, 58, 0.18) !important;
  box-shadow: var(--tv-shadow-card) !important;
  transform: translateY(-1px);
}

.tv-card--dark,
.tv-pricing-grid .tv-card--dark {
  border-color: var(--tv-border-on-dark) !important;
  background: var(--tv-surface-dark) !important;
  color: var(--tv-text-on-dark) !important;
  box-shadow: var(--tv-shadow-subtle) !important;
}

.tv-card--dark .tv-card__eyebrow {
  color: var(--tv-color-forest-300) !important;
}

.product-detail ul,
.usage-card ul,
.documentation-artefacts,
.tv-artefact-list {
  display: grid;
  gap: var(--tv-space-8) !important;
  padding-left: 0 !important;
  list-style: none !important;
}

.product-detail li,
.usage-card li,
.documentation-artefacts li,
.tv-artefact-list li {
  display: flex !important;
  gap: var(--tv-space-12) !important;
  align-items: flex-start !important;
}

.product-detail li::before,
.usage-card li::before,
.documentation-artefacts li::before,
.tv-artefact-list li::before,
.tv-home-hero__proof li::before,
.tv-check-list li::before {
  width: 0.45rem !important;
  height: 0.45rem !important;
  margin-top: 0.55em !important;
  border-radius: 0 !important;
  background: var(--tv-action-primary) !important;
  content: "" !important;
  flex: 0 0 auto !important;
}

.tv-record-card,
.tv-record-card--evidence {
  border: 1px solid rgba(196, 184, 160, 0.82) !important;
  border-radius: var(--tv-radius-lg) !important;
  background: linear-gradient(180deg, rgba(255, 254, 250, 0.96), rgba(249, 245, 235, 0.92)) !important;
  box-shadow: 0 16px 40px rgba(6, 28, 20, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
  color: var(--tv-color-verdant-700) !important;
}

.tv-record-card__title,
.tv-record-card--evidence .tv-record-card__title {
  color: var(--tv-color-verdant-700) !important;
  font-family: var(--tv-font-display) !important;
  font-size: clamp(1.8rem, 2.7vw, 2.45rem) !important;
  font-weight: 400 !important;
  line-height: 1.02 !important;
}

.tv-input,
.tv-select,
.tv-textarea,
.form input,
.form select,
.form textarea {
  border: 1px solid var(--tv-border-medium) !important;
  border-radius: var(--tv-radius-md) !important;
  background: #fff !important;
  color: var(--tv-text-primary) !important;
  box-shadow: none !important;
}

.tv-input:focus,
.tv-select:focus,
.tv-textarea:focus,
.form input:focus,
.form select:focus,
.form textarea:focus {
  border-color: var(--tv-action-primary) !important;
  box-shadow: 0 0 0 4px rgba(119, 184, 148, 0.28) !important;
}

.philosophy,
.closer,
.legal-cta,
.site-foot,
.site-footer,
.tv-footer {
  background: var(--tv-surface-dark) !important;
  color: var(--tv-text-on-dark) !important;
}

.philosophy p,
.philosophy-support,
.closer p,
.legal-cta p,
.foot-brand,
.footer-compliance,
.footer-line,
.site-foot p,
.site-footer p,
.tv-footer .tv-brand__sub,
.tv-footer__link,
.tv-footer__meta {
  color: var(--tv-text-on-dark-muted) !important;
}

.philosophy-line,
.closer-line,
.closer-brand,
.legal-cta h2,
.tv-footer,
.tv-footer .tv-brand,
.foot-brand strong,
.footer-nav strong {
  color: var(--tv-text-on-dark) !important;
}

:focus-visible {
  outline: 3px solid var(--tv-focus-ring) !important;
  outline-offset: 4px !important;
}

@media (max-width: 760px) {
  .wrap,
  .page-wrap {
    width: min(100% - 2rem, var(--tv-container-lg));
  }

  .tv-heading--xl,
  .tv-home-hero__copy .tv-heading,
  .subhero h1,
  .notfound-section h1 {
    font-size: clamp(2rem, 8.5vw, 2.45rem) !important;
    line-height: var(--tv-leading-tight) !important;
  }

  .tv-heading--lg,
  .tv-section-header .tv-heading--lg,
  .sec > .wrap > h2,
  .wyr-content > h2,
  .product-panel h2,
  .philosophy-line,
  .closer-line {
    font-size: clamp(2.25rem, 10vw, 2.8rem) !important;
  }

  .subhero,
  .sec,
  .about-section,
  .notfound-section,
  .philosophy,
  .closer,
  .legal-cta {
    padding-block: var(--tv-space-48) !important;
  }

  .card,
  .usage-card,
  .product-panel,
  .form,
  .contribution-card,
  .track-card,
  .partner-card,
  .principle-item,
  .identity-block,
  .stat-item,
  .product-detail,
  .note-card {
    padding: var(--tv-space-24) !important;
  }

  .btn,
  .btn-ghost,
  .home-return,
  .about-cta,
  .subhero-cta,
  button[type="submit"] {
    width: 100%;
  }
}

/* Figma V2 homepage visual target layer.
   Source: Terevia V2 Homepage Desktop 1440px export.
   The black in the reference is the design canvas, not the website background. */
:root {
  --figma-parchment: #F3EDDF;
  --figma-parchment-soft: #F4EFE4;
  --figma-surface: #FDFCF8;
  --figma-panel: #ECE5D6;
  --figma-line: #DCD3C0;
  --figma-line-strong: #C5BAA5;
  --figma-ink: #23302A;
  --figma-ink-soft: #3C4A42;
  --figma-muted: #56645C;
  --figma-subtle: #A89A85;
  --figma-green: #1D4D3A;
  --figma-green-deep: #143528;
  --figma-dark: #0E0E07;
  --figma-hero-copy: 800px;
  --figma-hero-photo: 640px;
  --figma-max: 1440px;
  --figma-pad: 72px;
}

html,
body,
.tv-page,
.tv-main,
main,
.page-wrap,
.site,
.subhero,
.sec,
.tv-section,
.tv-home-hero,
.notfound-section,
.legal-content,
.about-section {
  background: var(--figma-parchment) !important;
  color: var(--figma-ink) !important;
}

body::before { display: none !important; }

.tv-header,
.site-header,
.site.scrolled,
.site-header.scrolled {
  width: 100% !important;
  max-width: none !important;
  min-height: 72px !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(220, 211, 192, 0.72) !important;
  border-radius: 0 !important;
  background: rgba(236, 229, 214, 0.92) !important;
  color: var(--figma-ink) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) !important;
}

.tv-header__inner,
.site .wrap,
.site-header .wrap {
  width: min(100%, var(--figma-max)) !important;
  max-width: var(--figma-max) !important;
  min-height: 72px !important;
  margin-inline: auto !important;
  padding-inline: var(--figma-pad) !important;
}

.tv-container,
.wrap,
.page-wrap {
  width: min(100% - 144px, 1296px) !important;
  max-width: 1296px !important;
  margin-inline: auto !important;
}

.tv-brand__name,
.brand .name,
.header-programme {
  color: var(--figma-ink) !important;
  font-family: var(--tv-font-display) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 17px !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

.tv-brand__sub,
.header-name {
  color: var(--figma-muted) !important;
  font-family: var(--tv-font-body) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 13px !important;
}

.tv-nav { gap: 32px !important; }

.tv-nav__link,
.site-links a {
  color: var(--figma-ink) !important;
  font-family: var(--tv-font-display) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 17px !important;
}

.tv-header .tv-button,
.nav-cta {
  min-height: 36px !important;
  padding-inline: 18px !important;
  font-size: 13px !important;
  line-height: 17px !important;
}

.tv-home-hero {
  width: 100% !important;
  max-width: none !important;
  min-height: 780px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

.tv-home-hero > .tv-container,
.tv-container.tv-home-hero__grid {
  width: min(100%, var(--figma-max)) !important;
  max-width: var(--figma-max) !important;
  margin-inline: auto !important;
  padding: 0 !important;
}

.tv-home-hero__grid {
  display: grid !important;
  grid-template-columns: minmax(0, var(--figma-hero-copy)) minmax(0, var(--figma-hero-photo)) !important;
  min-height: 780px !important;
  gap: 0 !important;
  align-items: stretch !important;
}

.tv-home-hero__copy {
  max-width: none !important;
  padding: 168px 80px 0 var(--figma-pad) !important;
  background: var(--figma-parchment) !important;
  border: 0 !important;
}

.tv-home-hero__copy .tv-eyebrow,
.tv-eyebrow,
.eyebrow,
.eyebrow--audience,
.card-eyebrow,
.figure-label,
.partner-eyebrow,
.track-eyebrow,
.document-sheet__eyebrow,
.document-sheet__meta,
.notfound-eyebrow,
.philosophy-eyebrow,
.stat-label,
.founding-badge,
.tv-card__eyebrow,
.tv-mini-label,
.tv-record-card__label,
.tv-record-card__reference span,
.tv-label,
.tv-footer__heading,
.tv-card__number,
.tv-process__num {
  color: var(--figma-green) !important;
  font-family: var(--tv-font-display) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 14px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.tv-home-hero__copy .tv-heading,
.tv-heading--xl {
  max-width: 640px !important;
  color: #1A1814 !important;
  font-family: var(--tv-font-editorial) !important;
  font-size: clamp(4.25rem, 5vw, 72px) !important;
  font-weight: 400 !important;
  line-height: 1.01 !important;
  letter-spacing: 0 !important;
  margin-top: 20px !important;
}

.tv-home-hero__intro {
  max-width: 540px !important;
  margin-top: 20px !important;
  color: var(--figma-ink-soft) !important;
  font-family: var(--tv-font-body) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.68 !important;
}

.tv-home-hero__actions {
  margin-top: 40px !important;
  gap: 16px !important;
}

.tv-home-hero__actions .tv-button {
  min-height: 48px !important;
  padding-inline: 28px !important;
  font-size: 14px !important;
}

.tv-home-hero__proof {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 28px !important;
  margin-top: 56px !important;
  padding: 0 !important;
}

.tv-home-hero__proof li {
  color: var(--figma-muted) !important;
  font-family: var(--tv-font-display) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 18px !important;
}

.tv-home-hero__proof li::before {
  width: 6px !important;
  height: 6px !important;
  margin-top: 0.45em !important;
  border-radius: 0 !important;
  background: var(--figma-green) !important;
}

.tv-home-hero__image {
  position: relative !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  min-height: 780px !important;
  padding: 40px !important;
  background-color: var(--figma-parchment) !important;
  background-image: linear-gradient(90deg, var(--figma-parchment) 0%, rgba(243, 237, 223, 0) 10%), var(--tv-hero-image, none) !important;
  background-size: cover !important;
  background-position: center !important;
}

.tv-home-hero__image::before,
.tv-home-hero__image::after { display: none !important; }

.tv-record-card,
.tv-record-card--evidence {
  width: 180px !important;
  min-height: 74px !important;
  padding: 12px 16px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  box-shadow: 0 8px 20px rgba(20, 53, 40, 0.15) !important;
  transform: none !important;
}

.tv-record-card::after,
.tv-record-card--evidence::after,
.tv-record-card__seal,
.tv-record-card__meta--evidence { display: none !important; }

.tv-record-card__header {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

.tv-record-card__label {
  margin: 0 0 4px !important;
  font-size: 9px !important;
  line-height: 12px !important;
}

.tv-record-card__title,
.tv-record-card--evidence .tv-record-card__title {
  color: var(--figma-ink) !important;
  font-family: var(--tv-font-display) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 17px !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

.tv-record-card__reference {
  display: block !important;
  padding: 0 !important;
  margin-top: 4px !important;
  border: 0 !important;
}

.tv-record-card__reference span,
.tv-record-card__reference strong:not(:first-child) { display: none !important; }

.tv-record-card__reference strong:first-of-type {
  display: block !important;
  color: var(--figma-muted) !important;
  font-family: var(--tv-font-body) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 13px !important;
}

.tv-section,
.sec {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 72px var(--figma-pad) !important;
  overflow: visible !important;
}

.tv-section > .tv-container,
.sec > .wrap {
  width: min(100%, 1296px) !important;
  max-width: 1296px !important;
  margin-inline: auto !important;
}

.tv-section-header,
.subhero .wrap {
  border: 0 !important;
  padding-top: 0 !important;
}

.tv-section-header .tv-heading--lg,
.tv-heading--lg,
.sec > .wrap > h2,
.wyr-content > h2,
.product-panel h2 {
  max-width: 680px !important;
  color: var(--figma-ink) !important;
  font-family: var(--tv-font-display) !important;
  font-size: clamp(2.25rem, 3vw, 40px) !important;
  font-weight: 700 !important;
  line-height: 1.06 !important;
  letter-spacing: 0 !important;
}

.tv-section-header .tv-body,
.tv-section-header .tv-body--large,
.lede {
  max-width: 540px !important;
  color: var(--figma-muted) !important;
  font-family: var(--tv-font-body) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

.tv-home-section--receive {
  min-height: 640px !important;
  background: var(--figma-parchment) !important;
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

.tv-product-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin-top: 60px !important;
}

.tv-card,
.tv-product-card,
.card,
.usage-card,
.note-card,
.product-panel,
.product-detail,
.form,
.contribution-card,
.track-card,
.partner-card,
.principle-item,
.identity-block,
.stat-item {
  border: 1px solid rgba(220, 211, 192, 0.9) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.82) !important;
  box-shadow: none !important;
}

.tv-product-card,
.tv-card--padded {
  min-height: 268px !important;
  padding: 32px 28px !important;
}

.tv-card__number {
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 16px auto !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--figma-line) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 14px !important;
}

.tv-card__title,
.card h3,
.card-heading,
.usage-card h3,
.product-detail h3,
.partner-card-title,
.track-name,
.identity-name,
.principle-check,
.stat-value,
.figure-value {
  color: var(--figma-ink) !important;
  font-family: var(--tv-font-display) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 22px !important;
}

.tv-card__body,
.card p,
.usage-card p,
.product-detail p,
.product-detail li,
.note-card {
  color: var(--figma-ink-soft) !important;
  font-family: var(--tv-font-body) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.tv-home-section--how,
.tv-pricing-section,
.tv-section:has(.tv-pricing-grid) {
  background: var(--figma-panel) !important;
}

.tv-pricing-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  margin-top: 52px !important;
}

.tv-pricing-grid .tv-card {
  min-height: 419px !important;
  padding: 28px 24px !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.7) !important;
}

.tv-pricing-grid .tv-card--dark {
  background: var(--figma-green-deep) !important;
  border-color: rgba(29, 77, 58, 0.5) !important;
  color: var(--figma-panel) !important;
}

.tv-price {
  color: var(--figma-green) !important;
  font-family: var(--tv-font-display) !important;
  font-size: 48px !important;
  font-weight: 700 !important;
  line-height: 0.95 !important;
}

.tv-price span {
  color: var(--figma-muted) !important;
  font-family: var(--tv-font-body) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

.tv-button,
.btn,
.btn-ghost,
.nav-cta,
.home-return,
.header-back,
.about-cta,
.subhero-cta,
button[type="submit"] {
  min-height: 42px !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
  font-family: var(--tv-font-display) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
  box-shadow: none !important;
}

.tv-button--primary,
.btn,
button[type="submit"] {
  border-color: var(--figma-green) !important;
  background: var(--figma-green) !important;
  color: var(--figma-panel) !important;
}

.tv-button--secondary,
.tv-button--ghost,
.btn-ghost,
.nav-cta,
.home-return,
.header-back,
.about-cta,
.subhero-cta {
  border: 1px solid rgba(29, 77, 58, 0.22) !important;
  background: transparent !important;
  color: var(--figma-green) !important;
}

.tv-dark-split,
.philosophy,
.closer,
.legal-cta,
.site-foot,
.site-footer,
.tv-footer {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--figma-green-deep) !important;
  color: var(--figma-panel) !important;
}

.tv-footer .tv-container,
.site-foot .wrap,
.site-footer .wrap,
.tv-dark-split .tv-container,
.philosophy .wrap,
.closer .wrap {
  width: min(100% - 144px, 1296px) !important;
  max-width: 1296px !important;
}

.tv-dark-split .tv-heading,
.tv-card--dark .tv-card__title,
.tv-card--dark .tv-price,
.tv-card--dark .tv-price span,
.philosophy-line,
.closer-line,
.closer-brand,
.legal-cta h2,
.tv-footer,
.tv-footer .tv-brand,
.foot-brand strong,
.footer-nav strong {
  color: var(--figma-panel) !important;
}

.tv-dark-split .tv-body,
.tv-card--dark .tv-card__body,
.philosophy p,
.philosophy-support,
.closer p,
.legal-cta p,
.foot-brand,
.footer-compliance,
.footer-line,
.site-foot p,
.site-footer p,
.tv-footer .tv-brand__sub,
.tv-footer__link,
.tv-footer__meta,
.legal {
  color: rgba(236, 229, 214, 0.74) !important;
}

.philosophy-line,
.closer-line,
.closer-brand,
.document-sheet__title {
  font-family: var(--tv-font-editorial) !important;
  font-weight: 400 !important;
}

.product-detail ul,
.usage-card ul,
.documentation-artefacts,
.tv-artefact-list,
.tv-home-hero__proof {
  list-style: none !important;
  padding-left: 0 !important;
}

.product-detail li::before,
.usage-card li::before,
.documentation-artefacts li::before,
.tv-artefact-list li::before,
.tv-check-list li::before {
  width: 4px !important;
  height: 4px !important;
  margin-top: 0.65em !important;
  border-radius: 2px !important;
  background: var(--figma-green) !important;
}

@media (max-width: 1100px) {
  :root { --figma-pad: 40px; }
  .tv-header__inner,
  .site .wrap,
  .site-header .wrap { padding-inline: var(--figma-pad) !important; }
  .tv-container,
  .wrap,
  .page-wrap,
  .tv-footer .tv-container,
  .site-foot .wrap,
  .site-footer .wrap { width: min(100% - 80px, 1296px) !important; }
  .tv-home-hero__grid { grid-template-columns: 1fr !important; min-height: auto !important; }
  .tv-home-hero__copy { padding: 112px var(--figma-pad) 40px !important; }
  .tv-home-hero__image { min-height: 520px !important; }
  .tv-product-grid,
  .tv-pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 760px) {
  :root { --figma-pad: 24px; }
  .tv-header__inner,
  .site .wrap,
  .site-header .wrap { padding-inline: var(--figma-pad) !important; }
  .tv-container,
  .wrap,
  .page-wrap,
  .tv-footer .tv-container,
  .site-foot .wrap,
  .site-footer .wrap { width: min(100% - 32px, 1296px) !important; }
  .tv-section,
  .sec { padding: 56px 0 !important; }
  .tv-home-hero__copy { padding: 72px var(--figma-pad) 28px !important; }
  .tv-home-hero__copy .tv-heading,
  .tv-heading--xl { font-size: clamp(3.2rem, 15vw, 4.3rem) !important; }
  .tv-home-hero__image { min-height: 420px !important; padding: 24px !important; }
  .tv-product-grid,
  .tv-pricing-grid { grid-template-columns: 1fr !important; }
  .tv-home-hero__proof { display: grid !important; gap: 12px !important; }
}
