:root {
      color-scheme: dark;
      --bg: #1a1e24;
      --bg-alt: #171b21;
      --surface: rgba(33, 38, 45, .84);
      --surface-alt: rgba(39, 45, 53, .78);
      --surface-hover: rgba(42, 48, 56, .92);
      --surface-strong: #0f1318;
      --text: #f8f5ee;
      --text-muted: rgba(222, 228, 233, .74);
      --text-soft: rgba(166, 173, 181, .70);
      --text-faint: rgba(166, 173, 181, .46);
      --border: rgba(166, 173, 181, .10);
      --border-strong: rgba(42, 170, 142, .18);
      --accent: #174f42;
      --accent-hover: #1a6152;
      --accent-glow: #22836e;
      --accent-bright: #2aaa8e;
      --accent-soft: rgba(23, 79, 66, .10);
      --accent-line: rgba(42, 170, 142, .48);
      --nav-bg: rgba(26, 30, 36, .94);
      --chip-bg: rgba(23, 79, 66, .08);
      --chip-border: rgba(42, 170, 142, .16);
      --ivory: #f8f5ee;
      --shadow: 0 18px 60px rgba(0, 0, 0, .22);
      --nav-h: 72px;
    }

    [data-theme="light"] {
      color-scheme: light;
      --bg: #f4efe6;
      --bg-alt: #ede6db;
      --surface: rgba(251, 247, 240, .88);
      --surface-alt: rgba(241, 234, 223, .84);
      --surface-hover: rgba(240, 231, 219, .96);
      --surface-strong: #e5ddd0;
      --text: #18211d;
      --text-muted: rgba(24, 33, 29, .76);
      --text-soft: rgba(24, 33, 29, .68);
      --text-faint: rgba(24, 33, 29, .54);
      --border: rgba(23, 79, 66, .12);
      --border-strong: rgba(23, 79, 66, .22);
      --accent: #174f42;
      --accent-hover: #1a6152;
      --accent-glow: #22836e;
      --accent-bright: #2aaa8e;
      --accent-soft: rgba(23, 79, 66, .08);
      --accent-line: rgba(23, 79, 66, .42);
      --nav-bg: rgba(244, 239, 230, .94);
      --chip-bg: rgba(23, 79, 66, .07);
      --chip-border: rgba(23, 79, 66, .18);
      --ivory: #f8f5ee;
      --shadow: 0 18px 50px rgba(24, 33, 29, .10);
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: Inter, sans-serif;
      color: var(--text);
      background:
        radial-gradient(circle at 78% 12%, var(--accent-soft), transparent 34%),
        radial-gradient(circle at 12% 32%, rgba(23, 79, 66, .22), transparent 38%),
        linear-gradient(135deg, var(--bg) 0%, var(--bg-alt) 100%);
      line-height: 1.6;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    a:focus-visible,
    button:focus-visible,
    video:focus-visible {
      outline: 2px solid var(--accent-hover);
      outline-offset: 4px;
    }

    .skip-link {
      position: absolute;
      left: -999px;
      top: 16px;
      z-index: 999;
      padding: 10px 14px;
      background: var(--accent);
      color: var(--ivory);
      border-radius: 2px;
    }

    .skip-link:focus {
      left: 16px;
    }

    header {
      position: sticky;
      top: 0;
      z-index: 100;
      height: var(--nav-h);
      border-bottom: 1px solid var(--border);
      background: var(--nav-bg);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }

    nav {
      width: min(1180px, calc(100% - 40px));
      height: 100%;
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 22px;
    }

    .nav-logo {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      min-width: 0;
    }

    .nav-logo img {
      width: 74px;
      height: 50px;
      object-fit: contain;
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, .9);
      padding: 4px;
    }

    .nav-logo span {
      display: block;
      font-size: 11px;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--text-soft);
      white-space: nowrap;
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 22px;
      font-size: 12px;
      font-weight: 500;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--text-soft);
    }

    .nav-links a:hover {
      color: var(--text);
    }

    .theme-toggle {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 38px;
      border: 1px solid var(--chip-border);
      background: var(--chip-bg);
      color: var(--text);
      border-radius: 2px;
      padding: 8px 12px;
      cursor: pointer;
      font: inherit;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
      transition: border-color .2s, background .2s, color .2s, transform .15s;
    }

    .theme-toggle::before {
      content: '';
      width: 9px;
      height: 9px;
      border-radius: 50%;
      border: 1px solid var(--accent-bright);
      box-shadow: 0 0 0 3px var(--accent-soft);
    }

    .theme-toggle:hover,
    .theme-toggle:focus-visible {
      border-color: var(--border-strong);
      background: var(--accent-soft);
      transform: translateY(-1px);
    }

    main {
      overflow: hidden;
    }

    .section {
      position: relative;
      padding: 104px 0;
      border-bottom: 1px solid var(--border);
    }

    .section-wrap {
      width: min(1180px, calc(100% - 40px));
      margin: 0 auto;
    }

    .section-label {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 18px;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--accent-bright);
      padding: 8px 14px;
      border: 1px solid var(--chip-border);
      border-radius: 999px;
      background: var(--chip-bg);
    }

    .section-label::before {
      content: '';
      display: block;
      width: 22px;
      height: 1px;
      background: currentColor;
      opacity: .6;
    }

    h1,
    h2,
    h3 {
      margin: 0;
      font-family: 'Playfair Display', serif;
      line-height: 1.04;
      letter-spacing: -.035em;
    }

    h1 {
      max-width: 820px;
      font-size: clamp(3.4rem, 8vw, 7.4rem);
    }

    h2 {
      max-width: 820px;
      font-size: clamp(2.5rem, 5vw, 5rem);
    }

    h3 {
      font-size: clamp(1.55rem, 2.4vw, 2.35rem);
    }

    h4 {
      margin: 0 0 10px;
      font-size: 1rem;
      color: var(--text);
    }

    p {
      margin: 0;
    }

    .lead {
      max-width: 770px;
      margin-top: 28px;
      color: var(--text-muted);
      font-size: clamp(1rem, 1.4vw, 1.18rem);
      line-height: 1.85;
    }

    .rule {
      width: 72px;
      height: 1px;
      margin-top: 26px;
      background: linear-gradient(90deg, var(--accent), transparent);
    }

    .btn-row {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-top: 34px;
    }

    .hero-pricing-note {
      margin: 14px 0 0;
      color: var(--text-soft);
      font-size: 13px;
      line-height: 1.6;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 46px;
      padding: 13px 18px;
      border-radius: 2px;
      font-size: 13px;
      font-weight: 750;
      letter-spacing: .08em;
      text-transform: uppercase;
      border: 1px solid var(--border-strong);
      transition: transform .22s ease, background .22s ease, border-color .22s ease;
    }

    .btn:hover {
      transform: translateY(-2px);
    }

    .btn-primary {
      color: #f8f5ee;
      background: var(--accent);
      border-color: transparent;
      box-shadow: 0 16px 38px rgba(23, 79, 66, .22);
    }

    .btn-ghost {
      background: var(--surface);
      color: var(--text);
    }

    .hero {
      position: relative;
      min-height: calc(100vh - var(--nav-h));
      display: grid;
      align-items: center;
      padding: 88px 0 96px;
      overflow: hidden;
    }

    .offer-bg-grid {
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(166, 173, 181, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(166, 173, 181, .035) 1px, transparent 1px);
      background-size: 80px 80px;
      opacity: .72;
      pointer-events: none;
    }

    [data-theme="light"] .offer-bg-grid {
      background-image:
        linear-gradient(rgba(24, 33, 29, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(24, 33, 29, .06) 1px, transparent 1px);
      opacity: .78;
    }

    .offer-hero-fade {
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, color-mix(in srgb, var(--bg) 92%, transparent) 0%, color-mix(in srgb, var(--bg) 48%, transparent) 44%, transparent 68%);
      pointer-events: none;
    }

    .offer-orb-wrap {
      position: absolute;
      right: -8%;
      top: 52%;
      width: min(56vw, 760px);
      height: min(56vw, 760px);
      transform: translateY(-50%);
      pointer-events: none;
      opacity: .82;
    }

    .offer-orb {
      position: relative;
      width: 100%;
      height: 100%;
      animation: offerOrbFloat 10s ease-in-out infinite;
    }

    @keyframes offerOrbFloat {

      0%,
      100% {
        transform: translateY(0) scale(1);
      }

      50% {
        transform: translateY(-14px) scale(1.012);
      }
    }

    .offer-orb::before {
      content: '';
      position: absolute;
      inset: -8%;
      border-radius: 50%;
      background: radial-gradient(ellipse at center, rgba(34, 131, 110, .08) 0%, rgba(23, 79, 66, .10) 36%, transparent 72%);
    }

    .offer-orb-sphere {
      position: absolute;
      inset: 10%;
      border-radius: 50%;
      background:
        radial-gradient(ellipse at 33% 28%, rgba(42, 170, 142, .36) 0%, rgba(34, 131, 110, .20) 24%, rgba(23, 79, 66, .13) 48%, rgba(15, 19, 24, .72) 72%, rgba(10, 13, 18, .92) 100%),
        radial-gradient(ellipse at 72% 72%, rgba(23, 79, 66, .28) 0%, transparent 48%);
      box-shadow:
        0 0 55px rgba(34, 131, 110, .16),
        0 0 110px rgba(23, 79, 66, .12),
        inset 0 0 75px rgba(0, 0, 0, .44),
        inset 20px 20px 55px rgba(42, 170, 142, .09);
    }

    .offer-orb-ring,
    .offer-orb-rim {
      position: absolute;
      border-radius: 50%;
      border: 1px solid rgba(42, 170, 142, .10);
    }

    .offer-orb-ring {
      inset: 4%;
      transform: rotateX(68deg);
      animation: offerRingSpin 16s linear infinite;
    }

    .offer-orb-rim {
      inset: 10%;
    }

    @keyframes offerRingSpin {
      0% {
        transform: rotateX(68deg) rotateZ(0deg);
      }

      100% {
        transform: rotateX(68deg) rotateZ(360deg);
      }
    }

    [data-theme="light"] .offer-orb-wrap {
      opacity: .62;
    }

    [data-theme="light"] .offer-orb-sphere {
      background:
        radial-gradient(ellipse at 33% 28%, rgba(42, 170, 142, .30) 0%, rgba(114, 178, 158, .22) 28%, rgba(105, 124, 116, .18) 52%, rgba(35, 48, 48, .50) 78%, rgba(17, 24, 25, .74) 100%),
        radial-gradient(ellipse at 72% 72%, rgba(23, 79, 66, .14) 0%, transparent 48%);
      box-shadow:
        0 0 45px rgba(34, 131, 110, .10),
        0 0 95px rgba(23, 79, 66, .08),
        inset 0 0 55px rgba(255, 252, 244, .18),
        inset 18px 18px 42px rgba(42, 170, 142, .07);
    }

    [data-theme="light"] .offer-orb-ring,
    [data-theme="light"] .offer-orb-rim {
      border-color: rgba(23, 79, 66, .15);
    }

    .hero-grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
      gap: 58px;
      align-items: center;
    }

    .hero-kicker {
      margin-bottom: 22px;
      color: var(--accent-bright);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .22em;
      text-transform: uppercase;
    }

    .hero-card,
    .panel,
    .metric-card,
    .case-card,
    .video-card {
      position: relative;
      background:
        radial-gradient(circle at top right, var(--accent-soft), transparent 42%),
        linear-gradient(135deg, var(--surface), color-mix(in srgb, var(--surface), transparent 20%));
      border: 1px solid var(--border);
      box-shadow: var(--shadow);
    }

    .hero-card {
      padding: 22px;
    }

    .hero-video {
      width: 100%;
      aspect-ratio: 16 / 10;
      display: block;
      object-fit: cover;
      border: 1px solid var(--border);
      background: #050808;
    }

    .hero-stats {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      margin-top: 14px;
    }

    .hero-stat {
      padding: 14px;
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, .035);
    }

    .hero-stat strong {
      display: block;
      color: var(--accent-bright);
      font-size: 1.25rem;
      line-height: 1;
    }

    .hero-stat span {
      display: block;
      margin-top: 7px;
      color: var(--text-soft);
      font-size: 12px;
      line-height: 1.45;
    }

    .strip {
      padding: 28px 0;
      border-block: 1px solid var(--border);
      background: color-mix(in srgb, var(--surface-alt) 64%, transparent);
    }

    .chip-row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 16px;
    }

    .chip {
      display: inline-flex;
      align-items: center;
      min-height: 34px;
      padding: 8px 12px;
      border: 1px solid var(--chip-border);
      background: var(--chip-bg);
      color: var(--text);
      font-size: 12px;
      font-weight: 650;
      letter-spacing: .03em;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
      gap: 34px;
      align-items: start;
      margin-top: 42px;
    }

    .grid-3 {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
      margin-top: 40px;
    }

    .panel,
    .metric-card,
    .case-card,
    .video-card {
      padding: 26px;
    }

    .panel p,
    .case-card p,
    .video-card p {
      color: var(--text-muted);
      font-size: .95rem;
      line-height: 1.75;
    }

    .summary-list {
      display: grid;
      gap: 14px;
      margin-top: 28px;
      padding: 0;
      list-style: none;
    }

    .summary-list li {
      display: grid;
      grid-template-columns: 34px 1fr;
      gap: 14px;
      align-items: start;
      color: var(--text-muted);
    }

    .summary-list b {
      display: inline-grid;
      place-items: center;
      width: 30px;
      height: 30px;
      border: 1px solid var(--border-strong);
      color: var(--accent-bright);
      font-size: 11px;
    }

    .timeline {
      position: relative;
      display: grid;
      gap: 14px;
      margin-top: 30px;
    }

    .timeline::before {
      content: '';
      position: absolute;
      left: 17px;
      top: 18px;
      bottom: 18px;
      width: 1px;
      background: linear-gradient(180deg, var(--accent-line), transparent);
    }

    .step {
      position: relative;
      display: grid;
      grid-template-columns: 34px 1fr;
      gap: 16px;
      align-items: start;
    }

    .step-num {
      position: relative;
      z-index: 1;
      display: grid;
      place-items: center;
      width: 34px;
      height: 34px;
      border-radius: 50%;
      border: 1px solid var(--border-strong);
      background: color-mix(in srgb, var(--bg) 72%, var(--accent) 28%);
      color: var(--text);
      font-weight: 800;
      font-size: 12px;
    }

    .step-card {
      padding: 18px;
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, .035);
    }

    .deliverable-grid,
    .metrics-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
      margin-top: 30px;
    }

    .deliverable {
      padding: 14px;
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, .035);
      color: var(--text);
      font-size: 13px;
      font-weight: 650;
    }

    .metric-card strong {
      display: block;
      color: var(--accent-bright);
      font-family: 'Playfair Display', serif;
      font-size: clamp(1.8rem, 4vw, 3rem);
      line-height: 1;
    }

    .metric-card span {
      display: block;
      margin-top: 10px;
      color: var(--text-muted);
      font-size: .9rem;
    }

    .case-card {
      display: flex;
      min-height: 100%;
      flex-direction: column;
      gap: 16px;
    }

    .case-meta {
      display: flex;
      justify-content: space-between;
      gap: 14px;
      color: var(--accent-bright);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .case-card ul {
      display: grid;
      gap: 8px;
      margin: 0;
      padding-left: 18px;
      color: var(--text-muted);
      font-size: .9rem;
    }

    .comparison {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin-top: 26px;
    }

    .comparison div {
      padding: 16px;
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, .035);
    }

    .comparison strong {
      display: block;
      margin-bottom: 8px;
      color: var(--accent-bright);
      font-size: 12px;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .framework-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 24px;
      margin-top: 42px;
    }

    .score-bars {
      display: grid;
      gap: 14px;
      margin-top: 28px;
    }

    .score-row {
      display: grid;
      grid-template-columns: 112px 1fr;
      gap: 14px;
      align-items: center;
      color: var(--text-soft);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .score-track {
      display: grid;
      grid-template-columns: var(--score) 1fr;
      height: 10px;
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, .04);
    }

    .score-track span {
      background: linear-gradient(90deg, var(--accent), var(--accent-hover));
    }

    .video-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
      margin-top: 42px;
    }

    .video-card video {
      width: 100%;
      aspect-ratio: 16 / 10;
      object-fit: cover;
      display: block;
      margin-bottom: 16px;
      border: 1px solid var(--border);
      background: #050808;
    }

    .cta-box {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 30px;
      align-items: center;
      padding: 34px;
      border: 1px solid var(--border-strong);
      background:
        radial-gradient(circle at top right, rgba(42, 170, 142, .18), transparent 42%),
        var(--surface);
      box-shadow: var(--shadow);
    }

    .footer {
      padding: 46px 0;
      color: var(--text-soft);
      font-size: 13px;
    }

    .footer-inner {
      width: min(1180px, calc(100% - 40px));
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      gap: 22px;
      flex-wrap: wrap;
      border-top: 1px solid var(--border);
      padding-top: 24px;
    }

    @media (max-width: 980px) {
      .nav-links {
        display: none;
      }

      .hero-grid,
      .grid-2,
      .framework-grid,
      .cta-box {
        grid-template-columns: 1fr;
      }

      .grid-3,
      .video-grid,
      .metrics-grid,
      .deliverable-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

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

    @media (max-width: 640px) {
      .section {
        padding: 72px 0;
      }

      nav,
      .section-wrap,
      .footer-inner {
        width: min(100% - 28px, 1180px);
      }

      .nav-logo span {
        display: none;
      }

      .grid-3,
      .video-grid,
      .metrics-grid,
      .deliverable-grid,
      .hero-stats {
        grid-template-columns: 1fr;
      }

      h1 {
        font-size: clamp(3rem, 15vw, 4.6rem);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }

      *,
      *::before,
      *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
      }
    }
