:root {
      --navy: #0D1B6A;
      --teal: #7ACED3;
      --crimson: #8F3317;
      --amber: #E8A63D;
      --navy-deep: #091452;
      --navy-mid: #1E2E7A;
      --teal-light: #A8E4E9;
      --teal-dark: #4ABBC4;
      --amber-light: #F2C06A;
      --crimson-light: #B84420;
      --brand-muted: #5E6A8A;
      --brand-soft: #F0F3FF;
      --brand-white: #FAFBFF;
      --brand-line: #D8DEEF;
      --brand-ink: var(--navy);
      --brand-mid: var(--navy-mid);
      --font-head: 'Montserrat', sans-serif;
      --font-body: 'Inter', sans-serif;
      --ease-expo: cubic-bezier(0.16, 1, 0.3, 1);
      --ease-back: cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    *,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0
    }

    html {
      scroll-behavior: smooth
    }

    body {
      font-family: var(--font-body);
      background: var(--brand-white);
      color: var(--navy);
      overflow-x: hidden;
      line-height: 1.7
    }

    h1,
    h2,
    h3,
    h4 {
      font-family: var(--font-head);
      line-height: 1.1
    }

    h1 {
      font-weight: 900
    }

    h2 {
      font-weight: 800
    }

    h3 {
      font-weight: 700
    }

    /* ── Scroll & Cursor ── */
    #scrollBar {
      position: fixed;
      top: 0;
      left: 0;
      height: 3px;
      z-index: 2000;
      background: linear-gradient(90deg, var(--amber), var(--teal-dark));
      width: 0%;
      pointer-events: none
    }

    .cursor-dot {
      width: 8px;
      height: 8px;
      background: var(--amber);
      border-radius: 50%;
      position: fixed;
      pointer-events: none;
      z-index: 9999;
      transform: translate(-50%, -50%);
      transition: width .2s, height .2s
    }

    .cursor-ring {
      width: 36px;
      height: 36px;
      border: 1.5px solid rgba(232, 166, 61, .5);
      border-radius: 50%;
      position: fixed;
      pointer-events: none;
      z-index: 9998;
      transform: translate(-50%, -50%)
    }

    body:has(a:hover) .cursor-dot,
    body:has(button:hover) .cursor-dot {
      width: 14px;
      height: 14px
    }

    /* ── Label tag ── */
    .label-tag {
      font-family: var(--font-head);
      font-size: .7rem;
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--amber);
      display: inline-flex;
      align-items: center;
      gap: 8px
    }

    .label-tag::before {
      content: '';
      width: 20px;
      height: 2px;
      background: var(--amber);
      flex-shrink: 0
    }

    .label-tag.light {
      color: var(--teal-light)
    }

    .label-tag.light::before {
      background: var(--teal-light)
    }

    .label-tag.teal {
      color: var(--teal-dark)
    }

    .label-tag.teal::before {
      background: var(--teal-dark)
    }

    .label-tag.crimson {
      color: var(--crimson-light)
    }

    .label-tag.crimson::before {
      background: var(--crimson-light)
    }

    /* ── Buttons ── */
    .btn-primary-ng {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background: var(--amber);
      color: var(--navy); font-weight: 800;
      font-family: var(--font-head);
      font-weight: 700;
      font-size: .85rem;
      letter-spacing: .06em;
      padding: 16px 32px;
      border-radius: 4px;
      border: none;
      cursor: pointer;
      text-decoration: none;
      transition: all .3s var(--ease-expo);
      position: relative;
      overflow: hidden
    }

    .btn-primary-ng::after {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(255, 255, 255, .12);
      transform: translateX(-110%);
      transition: transform .4s var(--ease-expo)
    }

    .btn-primary-ng:hover::after {
      transform: translateX(0)
    }

    .btn-primary-ng:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 32px rgba(232, 166, 61, .4);
      color: #fff
    }

    .btn-primary-ng.large {
      padding: 20px 44px;
      font-size: .95rem
    }

    .btn-primary-ng .btn-arrow,
    .btn-ghost-ng .btn-arrow {
      width: 18px;
      height: 18px;
      transition: transform .3s var(--ease-expo)
    }

    .btn-primary-ng:hover .btn-arrow,
    .btn-ghost-ng:hover .btn-arrow {
      transform: translateX(4px)
    }

    .btn-ghost-ng {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background: transparent;
      color: var(--brand-ink);
      font-family: var(--font-head);
      font-weight: 700;
      font-size: .85rem;
      letter-spacing: .06em;
      padding: 15px 30px;
      border-radius: 4px;
      border: 1.5px solid var(--brand-line);
      cursor: pointer;
      text-decoration: none;
      transition: all .3s var(--ease-expo)
    }

    .btn-ghost-ng:hover {
      border-color: var(--brand-ink);
      background: var(--brand-ink);
      color: #fff;
      transform: translateY(-2px)
    }

    .btn-ghost-ng.on-dark {
      color: rgba(255, 255, 255, .7);
      border-color: rgba(255, 255, 255, .2)
    }

    .btn-ghost-ng.on-dark:hover {
      border-color: #fff;
      background: rgba(255, 255, 255, .1);
      color: #fff
    }

    /* ── Text underline highlight ── */
    .text-hl {
      position: relative;
      display: inline
    }

    .text-hl::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0;
      height: 3px;
      background: var(--amber);
      border-radius: 2px;
      transition: width .9s var(--ease-expo)
    }

    .text-hl.on::after {
      width: 100%
    }

    /* ── NAV ── */
    .ng-nav {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 1000;
      padding: 0 48px;
      height: 72px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      background: rgba(250, 251, 255, .92);
      backdrop-filter: blur(16px);
      border-bottom: 1px solid transparent;
      transition: border-color .3s, box-shadow .3s
    }

    .ng-nav.scrolled {
      border-color: var(--brand-line);
      box-shadow: 0 4px 24px rgba(0, 0, 0, .05)
    }

    .ng-logo {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
      flex-shrink: 0;
    }

    .ng-logo .logo-wordmark {
      font-family: var(--font-head);
      font-weight: 900;
      font-size: 1.2rem;
      letter-spacing: -0.03em;
      line-height: 1;
      color: #0D1B6A;
    }

    .ng-logo .logo-wordmark span {
      color: #8F3317;
    }

    .footer-logo .logo-wordmark {
      font-family: var(--font-head);
      font-weight: 900;
      font-size: 1.1rem;
      letter-spacing: -0.03em;
      color: #fff;
      line-height: 1;
    }

    .footer-logo .logo-wordmark span {
      color: #E8A63D;
    }

    .ng-logo .logo-tagline {
      font-family: var(--font-head);
      font-size: 0.52rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--teal);
      margin-top: 3px;
      display: block;
    }

    .footer-logo .logo-tagline {
      font-family: var(--font-head);
      font-size: 0.48rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: #7ACED3;
      margin-top: 3px;
      display: block;
    }

    /* ─── Company logo image ─── */
    .ng-logo-img {
      width: 40px;
      height: 40px;
      object-fit: contain;
      flex-shrink: 0;
      border-radius: 6px;
    }

    .footer-logo .ng-logo-img {
      width: 36px;
      height: 36px;
    }

    .ng-nav-links {
      display: flex;
      align-items: center;
      gap: 36px;
      list-style: none
    }

    .ng-nav-links a {
      font-family: var(--font-head);
      font-size: .8rem;
      font-weight: 600;
      letter-spacing: .04em;
      color: var(--brand-mid);
      text-decoration: none;
      transition: color .2s;
      position: relative
    }

    .ng-nav-links a::after {
      content: '';
      position: absolute;
      bottom: -3px;
      left: 0;
      width: 0;
      height: 2px;
      background: var(--amber);
      transition: width .3s var(--ease-expo)
    }

    .ng-nav-links a:hover {
      color: var(--brand-ink)
    }

    .ng-nav-links a:hover::after,
    .ng-nav-links a.active::after {
      width: 100%
    }

    .ng-nav-links a.active {
      color: var(--brand-ink)
    }

    /* ── Hamburger ── */
    .ng-hamburger {
      display: none;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 5px;
      width: 42px;
      height: 42px;
      background: transparent;
      border: 1.5px solid var(--brand-line);
      border-radius: 6px;
      cursor: pointer;
      padding: 0;
      flex-shrink: 0;
      transition: border-color .2s, background .2s;
      z-index: 1001
    }

    .ng-hamburger:hover {
      border-color: var(--navy);
      background: var(--brand-soft)
    }

    .ng-hamburger .bar {
      width: 20px;
      height: 2px;
      background: var(--navy);
      border-radius: 2px;
      transition: transform .35s var(--ease-expo), opacity .25s, width .3s;
      transform-origin: center
    }

    .ng-hamburger.open .bar:nth-child(1) {
      transform: translateY(7px) rotate(45deg)
    }

    .ng-hamburger.open .bar:nth-child(2) {
      opacity: 0;
      width: 0
    }

    .ng-hamburger.open .bar:nth-child(3) {
      transform: translateY(-7px) rotate(-45deg)
    }

    /* ── Mobile menu strip ── */
    .ng-mobile-menu {
      display: none;
      position: fixed;
      top: 72px;
      left: 0;
      width: 100%;
      background: rgba(250, 251, 255, .98);
      backdrop-filter: blur(20px);
      border-bottom: 1px solid var(--brand-line);
      z-index: 999;
      padding: 24px 24px 32px;
      flex-direction: column;
      gap: 0;
      box-shadow: 0 16px 48px rgba(13, 27, 106, .10);
      transform: translateY(-8px);
      opacity: 0;
      transition: transform .35s var(--ease-expo), opacity .3s
    }

    .ng-mobile-menu.open {
      transform: translateY(0);
      opacity: 1
    }

    .ng-mobile-menu a:not(.btn-primary-ng) {
      font-family: var(--font-head);
      font-size: .9rem;
      font-weight: 700;
      letter-spacing: .03em;
      color: var(--navy);
      text-decoration: none;
      padding: 14px 0;
      border-bottom: 1px solid var(--brand-line);
      display: flex;
      align-items: center;
      justify-content: space-between;
      transition: color .2s, padding-left .2s
    }

    .ng-mobile-menu a:not(.btn-primary-ng)::after {
      content: '›';
      font-size: 1.1rem;
      color: var(--amber);
      font-weight: 900
    }

    .ng-mobile-menu a:not(.btn-primary-ng):hover {
      color: var(--amber);
      padding-left: 6px
    }

    .ng-mobile-menu a.active:not(.btn-primary-ng) {
      color: var(--amber)
    }

    .ng-mobile-cta {
      margin-top: 20px;
      width: 100%;
      justify-content: center
    }

    /* ─────────────────────────────────────
       SECTION 1: HERO
    ───────────────────────────────────── */
    .brand-hero {
      min-height: 100vh;
      padding-top: 72px;
      background: var(--navy-deep);
      display: flex;
      align-items: center;
      position: relative;
      overflow: hidden
    }

    .hero-grid-bg {
      position: absolute;
      inset: 0;
      background-image: linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
      background-size: 60px 60px
    }

    .hero-orb-r {
      position: absolute;
      right: -220px;
      top: 30%;
      width: 720px;
      height: 720px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(232, 166, 61, .12), transparent 65%);
      pointer-events: none
    }

    .hero-orb-l {
      position: absolute;
      left: -180px;
      bottom: -120px;
      width: 560px;
      height: 560px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(74, 187, 196, .08), transparent 65%);
      pointer-events: none
    }

    .hero-fade {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 160px;
      background: linear-gradient(to bottom, transparent, var(--navy-deep))
    }

    /* Eyebrow pill */
    .hero-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 7px 18px;
      border-radius: 100px;
      background: rgba(232, 166, 61, .1);
      border: 1px solid rgba(232, 166, 61, .22);
      font-family: var(--font-head);
      font-size: .7rem;
      font-weight: 700;
      color: var(--amber-light);
      letter-spacing: .07em;
      margin-bottom: 28px
    }

    .hero-eyebrow .blink {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--amber);
      animation: blinkPulse 1.4s ease-in-out infinite;
      flex-shrink: 0
    }

    @keyframes blinkPulse {

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

      50% {
        opacity: .3;
        transform: scale(.7)
      }
    }

    .hero-headline {
      font-size: clamp(2.6rem, 5.2vw, 4rem);
      font-weight: 900;
      line-height: 1.0;
      letter-spacing: -.045em;
      color: #fff;
      margin-bottom: 24px
    }

    .hero-headline .hl-amber {
      color: var(--amber-light)
    }

    .hero-headline .hl-teal {
      color: var(--teal-light)
    }

    .hero-sub {
      font-size: 1rem;
      color: rgba(255, 255, 255, .52);
      max-width: 510px;
      line-height: 1.88;
      margin-bottom: 40px
    }

    /* Stat strip */
    .hero-stats {
      display: flex;
      gap: 0;
      border: 1px solid rgba(255, 255, 255, .08);
      border-radius: 12px;
      overflow: hidden;
      margin-top: 32px
    }

    .hs-item {
      flex: 1;
      padding: 20px 22px;
      border-right: 1px solid rgba(255, 255, 255, .08);
      background: rgba(255, 255, 255, .03);
      transition: background .3s
    }

    .hs-item:hover {
      background: rgba(255, 255, 255, .06)
    }

    .hs-item:last-child {
      border-right: none
    }

    .hs-num {
      font-family: var(--font-head);
      font-weight: 900;
      font-size: 1.7rem;
      color: #fff;
      letter-spacing: -.04em;
      line-height: 1;
      margin-bottom: 4px
    }

    .hs-num .hsa {
      color: var(--amber)
    }

    .hs-lbl {
      font-size: .68rem;
      color: rgba(255, 255, 255, .36);
      font-weight: 500;
      line-height: 1.4
    }

    /* Hero right: Split-view transform card */
    .transform-card {
      background: rgba(9, 20, 82, .75);
      backdrop-filter: blur(24px);
      border: 1px solid rgba(255, 255, 255, .1);
      border-radius: 20px;
      overflow: hidden;
      box-shadow: 0 40px 90px rgba(0, 0, 0, .55)
    }

    .tc-topbar {
      background: rgba(255, 255, 255, .04);
      padding: 12px 20px;
      display: flex;
      align-items: center;
      gap: 8px;
      border-bottom: 1px solid rgba(255, 255, 255, .06)
    }

    .tc-dot {
      width: 10px;
      height: 10px;
      border-radius: 50%
    }

    .tc-label {
      font-family: var(--font-head);
      font-size: .66rem;
      font-weight: 700;
      color: rgba(255, 255, 255, .28);
      margin-left: 8px;
      letter-spacing: .05em
    }

    /* Toggle tab bar */
    .tc-tabs {
      display: flex;
      gap: 0;
      border-bottom: 1px solid rgba(255, 255, 255, .07);
      background: rgba(255, 255, 255, .02)
    }

    .tc-tab {
      flex: 1;
      padding: 11px 0;
      text-align: center;
      font-family: var(--font-head);
      font-size: .68rem;
      font-weight: 700;
      color: rgba(255, 255, 255, .3);
      letter-spacing: .06em;
      cursor: pointer;
      border-bottom: 2px solid transparent;
      transition: color .25s, border-color .25s
    }

    .tc-tab.active {
      color: var(--amber);
      border-color: var(--amber)
    }

    /* Panel views */
    .tc-panel-wrap {
      position: relative
    }

    .tc-panel {
      display: none;
      padding: 24px 22px;
      animation: panelIn .35s var(--ease-expo)
    }

    .tc-panel.active {
      display: block
    }

    @keyframes panelIn {
      from {
        opacity: 0;
        transform: translateY(8px)
      }

      to {
        opacity: 1;
        transform: translateY(0)
      }
    }

    /* Wireframe view */
    .wf-nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 10px 14px;
      background: rgba(255, 255, 255, .04);
      border-radius: 8px;
      margin-bottom: 14px;
      border: 1px dashed rgba(255, 255, 255, .09)
    }

    .wf-nav-logo {
      width: 44px;
      height: 8px;
      background: rgba(255, 255, 255, .18);
      border-radius: 3px
    }

    .wf-nav-links {
      display: flex;
      gap: 8px
    }

    .wf-nav-link {
      width: 32px;
      height: 6px;
      background: rgba(255, 255, 255, .09);
      border-radius: 3px
    }

    .wf-hero-area {
      background: rgba(255, 255, 255, .03);
      border: 1px dashed rgba(255, 255, 255, .09);
      border-radius: 8px;
      padding: 18px 14px;
      margin-bottom: 12px
    }

    .wf-line {
      height: 5px;
      border-radius: 3px;
      background: rgba(255, 255, 255, .12);
      margin-bottom: 7px
    }

    .wf-line.w90 {
      width: 90%
    }

    .wf-line.w70 {
      width: 70%
    }

    .wf-line.w55 {
      width: 55%
    }

    .wf-line.w80 {
      width: 80%
    }

    .wf-line.w40 {
      width: 40%
    }

    .wf-cta-row {
      display: flex;
      gap: 8px;
      margin-top: 10px
    }

    .wf-cta-btn {
      height: 22px;
      border-radius: 4px;
      background: rgba(255, 255, 255, .12)
    }

    .wf-cards-row {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 8px;
      margin-bottom: 10px
    }

    .wf-card-box {
      background: rgba(255, 255, 255, .04);
      border: 1px dashed rgba(255, 255, 255, .09);
      border-radius: 7px;
      padding: 10px 9px
    }

    .wf-card-icon-ph {
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background: rgba(255, 255, 255, .09);
      margin-bottom: 7px
    }

    .wf-label-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: rgba(255, 255, 255, .05);
      border: 1px solid rgba(255, 255, 255, .1);
      padding: 4px 10px;
      border-radius: 4px;
      font-family: var(--font-head);
      font-size: .58rem;
      font-weight: 700;
      letter-spacing: .1em;
      color: rgba(255, 255, 255, .3);
      margin-bottom: 12px
    }

    /* Polished view */
    .pl-nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 10px 14px;
      background: rgba(232, 166, 61, .08);
      border: 1px solid rgba(232, 166, 61, .15);
      border-radius: 8px;
      margin-bottom: 14px
    }

    .pl-nav-logo {
      font-family: var(--font-head);
      font-size: .75rem;
      font-weight: 900;
      color: var(--amber-light);
      letter-spacing: -.02em
    }

    .pl-nav-cta {
      background: var(--amber);
      color: #fff;
      font-family: var(--font-head);
      font-size: .58rem;
      font-weight: 700;
      padding: 5px 12px;
      border-radius: 4px
    }

    .pl-hero-area {
      background: linear-gradient(135deg, rgba(74, 187, 196, .08), rgba(232, 166, 61, .06));
      border: 1px solid rgba(232, 166, 61, .15);
      border-radius: 8px;
      padding: 18px 14px;
      margin-bottom: 12px
    }

    .pl-badge-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: rgba(232, 166, 61, .12);
      border: 1px solid rgba(232, 166, 61, .25);
      padding: 4px 10px;
      border-radius: 100px;
      font-family: var(--font-head);
      font-size: .58rem;
      font-weight: 700;
      color: var(--amber-light);
      margin-bottom: 10px
    }

    .pl-headline-line {
      height: 7px;
      border-radius: 3px;
      background: rgba(255, 255, 255, .55);
      margin-bottom: 6px
    }

    .pl-sub-line {
      height: 4px;
      border-radius: 2px;
      background: rgba(255, 255, 255, .2);
      margin-bottom: 5px
    }

    .pl-cta-row {
      display: flex;
      gap: 8px;
      margin-top: 10px
    }

    .pl-cta-filled {
      height: 22px;
      flex: 1.2;
      border-radius: 4px;
      background: var(--amber)
    }

    .pl-cta-ghost {
      height: 22px;
      flex: 1;
      border-radius: 4px;
      border: 1px solid rgba(255, 255, 255, .25)
    }

    .pl-cards-row {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 8px;
      margin-bottom: 10px
    }

    .pl-card-box {
      background: rgba(255, 255, 255, .05);
      border: 1px solid rgba(232, 166, 61, .15);
      border-radius: 8px;
      padding: 10px 9px
    }

    .pl-card-icon-ph {
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background: rgba(232, 166, 61, .2);
      margin-bottom: 7px
    }

    .pl-card-h {
      height: 5px;
      border-radius: 2px;
      background: rgba(255, 255, 255, .45);
      margin-bottom: 5px;
      width: 80%
    }

    .pl-card-b {
      height: 3px;
      border-radius: 2px;
      background: rgba(255, 255, 255, .15);
      width: 95%
    }

    .pl-label-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: rgba(74, 187, 196, .15);
      border: 1px solid rgba(74, 187, 196, .3);
      padding: 4px 10px;
      border-radius: 4px;
      font-family: var(--font-head);
      font-size: .58rem;
      font-weight: 700;
      color: var(--teal-light);
      margin-bottom: 10px
    }

    /* Card metrics bottom strip */
    .tc-metrics {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0;
      border-top: 1px solid rgba(255, 255, 255, .07)
    }

    .tcm-item {
      padding: 14px 16px;
      text-align: center;
      border-right: 1px solid rgba(255, 255, 255, .07)
    }

    .tcm-item:last-child {
      border-right: none
    }

    .tcm-num {
      font-family: var(--font-head);
      font-weight: 900;
      font-size: 1.1rem;
      color: #fff;
      letter-spacing: -.03em
    }

    .tcm-num .tcma {
      color: var(--amber)
    }

    .tcm-lbl {
      font-size: .6rem;
      color: rgba(255, 255, 255, .3);
      margin-top: 2px
    }

    /* ─────────────────────────────────────
       SECTION 2: CORE PHILOSOPHY
    ───────────────────────────────────── */
    .philosophy-section {
      padding: 120px 0;
      background: var(--brand-white);
      position: relative;
      overflow: hidden
    }

    .philosophy-section::before {
      content: '';
      position: absolute;
      top: -200px;
      right: -100px;
      width: 500px;
      height: 500px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(232, 166, 61, .05), transparent 70%);
      pointer-events: none
    }

    .phil-headline {
      font-size: clamp(2rem, 3.5vw, 3.2rem);
      letter-spacing: -.03em;
      color: var(--brand-ink)
    }

    .phil-headline em {
      font-style: normal;
      color: var(--amber)
    }

    /* Commodity vs Authority compare grid */
    .compare-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 3px;
      border-radius: 20px;
      overflow: hidden;
      background: var(--brand-line);
      margin-top: 48px
    }

    .cmp-col {
      padding: 44px 40px
    }

    .cmp-col.trap {
      background: var(--brand-white)
    }

    .cmp-col.win {
      background: var(--navy)
    }

    .cmp-tag {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 6px 14px;
      border-radius: 100px;
      font-family: var(--font-head);
      font-size: .66rem;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
      margin-bottom: 22px
    }

    .cmp-tag.trap {
      background: rgba(239, 68, 68, .07);
      color: #EF4444;
      border: 1px solid rgba(239, 68, 68, .18)
    }

    .cmp-tag.win {
      background: rgba(74, 187, 196, .15);
      color: var(--teal-light);
      border: 1px solid rgba(74, 187, 196, .28)
    }

    .cmp-title {
      font-family: var(--font-head);
      font-size: 1.55rem;
      font-weight: 900;
      letter-spacing: -.03em;
      margin-bottom: 24px
    }

    .cmp-col.trap .cmp-title {
      color: var(--brand-ink)
    }

    .cmp-col.win .cmp-title {
      color: #fff
    }

    .cmp-row {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      margin-bottom: 18px
    }

    .cmp-row:last-child {
      margin-bottom: 0
    }

    .cmp-ico {
      width: 24px;
      height: 24px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .72rem;
      flex-shrink: 0;
      margin-top: 1px;
      font-weight: 700
    }

    .cmp-ico.no {
      background: rgba(239, 68, 68, .1);
      color: #EF4444
    }

    .cmp-ico.yes {
      background: rgba(74, 187, 196, .15);
      color: var(--teal-dark)
    }

    .cmp-text {
      font-size: .875rem;
      line-height: 1.65
    }

    .cmp-col.trap .cmp-text {
      color: var(--brand-muted)
    }

    .cmp-col.win .cmp-text {
      color: rgba(255, 255, 255, .62)
    }

    /* Price bracket cards */
    .price-bracket {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      margin-top: 48px
    }

    .pb-card {
      border-radius: 16px;
      padding: 32px 28px;
      position: relative;
      overflow: hidden
    }

    .pb-card.before {
      background: var(--brand-soft);
      border: 1px solid var(--brand-line)
    }

    .pb-card.after {
      background: var(--navy);
      border: 1px solid rgba(74, 187, 196, .2)
    }

    .pb-status {
      position: absolute;
      top: 16px;
      right: 16px;
      font-family: var(--font-head);
      font-size: .6rem;
      font-weight: 700;
      padding: 4px 10px;
      border-radius: 100px;
      letter-spacing: .08em;
      text-transform: uppercase
    }

    .pb-card.before .pb-status {
      background: rgba(239, 68, 68, .08);
      color: #EF4444;
      border: 1px solid rgba(239, 68, 68, .2)
    }

    .pb-card.after .pb-status {
      background: rgba(74, 187, 196, .15);
      color: var(--teal-light);
      border: 1px solid rgba(74, 187, 196, .3)
    }

    .pb-label {
      font-family: var(--font-head);
      font-size: .62rem;
      font-weight: 700;
      letter-spacing: .16em;
      text-transform: uppercase;
      margin-bottom: 10px
    }

    .pb-card.before .pb-label {
      color: var(--brand-muted)
    }

    .pb-card.after .pb-label {
      color: rgba(255, 255, 255, .4)
    }

    .pb-price {
      font-family: var(--font-head);
      font-weight: 900;
      font-size: 3rem;
      letter-spacing: -.055em;
      line-height: 1
    }

    .pb-card.before .pb-price {
      color: var(--brand-ink);
      opacity: .5;
      text-decoration: line-through;
      text-decoration-color: rgba(239, 68, 68, .4)
    }

    .pb-card.after .pb-price {
      color: #fff
    }

    .pb-unit {
      font-family: var(--font-head);
      font-size: 1rem;
      font-weight: 600;
      opacity: .55
    }

    .pb-desc {
      font-size: .82rem;
      line-height: 1.65;
      margin-top: 10px
    }

    .pb-card.before .pb-desc {
      color: var(--brand-muted)
    }

    .pb-card.after .pb-desc {
      color: rgba(255, 255, 255, .5)
    }

    .pb-multiplier {
      position: absolute;
      bottom: 20px;
      right: 22px;
      font-family: var(--font-head);
      font-weight: 900;
      font-size: 2rem;
      color: var(--teal-light);
      opacity: .25;
      letter-spacing: -.04em
    }

    /* Philosophy insights row */
    .phil-insights {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      margin-top: 32px
    }

    .pi-item {
      background: var(--brand-soft);
      border: 1px solid var(--brand-line);
      border-radius: 12px;
      padding: 22px 18px;
      text-align: center;
      transition: transform .3s var(--ease-expo), box-shadow .3s
    }

    .pi-item:hover {
      transform: translateY(-4px);
      box-shadow: 0 10px 28px rgba(0, 0, 0, .07)
    }

    .pi-num {
      font-family: var(--font-head);
      font-weight: 900;
      font-size: 1.7rem;
      color: var(--brand-ink);
      letter-spacing: -.04em
    }

    .pi-num span {
      color: var(--amber)
    }

    .pi-lbl {
      font-size: .72rem;
      color: var(--brand-muted);
      font-weight: 500;
      margin-top: 4px;
      line-height: 1.4
    }

    /* ─────────────────────────────────────
       SECTION 3: BRAND IDENTITY
    ───────────────────────────────────── */
    .identity-section {
      padding: 120px 0;
      background: var(--navy);
      position: relative;
      overflow: hidden
    }

    .identity-section::before {
      content: '';
      position: absolute;
      top: -200px;
      right: -200px;
      width: 700px;
      height: 700px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(232, 166, 61, .07), transparent 70%)
    }

    .id-headline {
      font-size: clamp(2rem, 3.5vw, 3.2rem);
      color: #fff;
      letter-spacing: -.03em
    }

    .id-headline em {
      font-style: normal;
      color: var(--amber-light)
    }

    /* Deliverable cards */
    .dlv-card {
      background: rgba(255, 255, 255, .04);
      border: 1px solid rgba(255, 255, 255, .08);
      border-radius: 16px;
      padding: 36px;
      height: 100%;
      position: relative;
      overflow: hidden;
      transition: background .3s, border-color .3s, transform .4s var(--ease-expo)
    }

    .dlv-card:hover {
      background: rgba(255, 255, 255, .07);
      border-color: rgba(232, 166, 61, .25);
      transform: translateY(-6px)
    }

    .dlv-card::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: var(--amber);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .4s var(--ease-expo)
    }

    .dlv-card:hover::after {
      transform: scaleX(1)
    }

    .dlv-icon {
      font-size: 2.2rem;
      margin-bottom: 20px;
      display: block
    }

    .dlv-tag {
      font-family: var(--font-head);
      font-size: .62rem;
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--amber);
      margin-bottom: 10px
    }

    .dlv-title {
      font-family: var(--font-head);
      font-size: 1.15rem;
      font-weight: 800;
      color: #fff;
      margin-bottom: 12px;
      letter-spacing: -.02em
    }

    .dlv-body {
      font-size: .875rem;
      color: rgba(255, 255, 255, .5);
      line-height: 1.8;
      margin-bottom: 20px
    }

    .dlv-points {
      display: flex;
      flex-direction: column;
      gap: 9px
    }

    .dlv-point {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: .8rem;
      color: rgba(255, 255, 255, .62);
      font-weight: 500
    }

    .dlv-point::before {
      content: '';
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--teal-dark);
      flex-shrink: 0
    }

    /* Color palette swatch row */
    .palette-row {
      display: flex;
      gap: 5px;
      margin-top: 18px;
      border-radius: 8px;
      overflow: hidden
    }

    .palette-swatch {
      flex: 1;
      height: 24px;
      transition: flex .3s var(--ease-expo)
    }

    .palette-swatch:hover {
      flex: 2
    }

    /* Typography sample */
    .type-preview-block {
      margin-top: 16px;
      border: 1px solid rgba(255, 255, 255, .08);
      border-radius: 8px;
      overflow: hidden
    }

    .tpb-row {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 9px 12px;
      border-bottom: 1px solid rgba(255, 255, 255, .06)
    }

    .tpb-row:last-child {
      border-bottom: none
    }

    .tpb-name {
      font-size: .6rem;
      color: rgba(255, 255, 255, .3);
      font-weight: 600;
      width: 48px;
      flex-shrink: 0;
      text-transform: uppercase;
      letter-spacing: .08em
    }

    .tpb-sample {
      color: rgba(255, 255, 255, .75)
    }

    /* Style guide preview */
    .sg-preview {
      margin-top: 16px;
      background: rgba(255, 255, 255, .03);
      border: 1px solid rgba(255, 255, 255, .07);
      border-radius: 10px;
      padding: 14px
    }

    .sgp-row {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 8px 0;
      border-bottom: 1px solid rgba(255, 255, 255, .06);
      font-size: .75rem
    }

    .sgp-row:last-child {
      border-bottom: none
    }

    .sgp-ico {
      width: 28px;
      height: 28px;
      border-radius: 7px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .85rem;
      flex-shrink: 0
    }

    .sgp-title {
      font-family: var(--font-head);
      font-weight: 700;
      color: rgba(255, 255, 255, .7);
      font-size: .75rem
    }

    .sgp-check {
      margin-left: auto;
      width: 16px;
      height: 16px;
      border-radius: 50%;
      background: rgba(74, 187, 196, .15);
      color: var(--teal-light);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .55rem;
      flex-shrink: 0
    }

    /* ─────────────────────────────────────
       SECTION 4: UI/UX DESIGN
    ───────────────────────────────────── */
    .uiux-section {
      padding: 120px 0;
      background: var(--brand-soft)
    }

    .uiux-headline {
      font-size: clamp(2rem, 3.5vw, 3.2rem);
      letter-spacing: -.03em;
      color: var(--brand-ink)
    }

    .uiux-headline em {
      font-style: normal;
      color: var(--teal-dark)
    }

    /* Principle cards */
    .ux-principle {
      display: flex;
      align-items: flex-start;
      gap: 18px;
      padding: 24px 26px;
      background: var(--brand-white);
      border: 1px solid var(--brand-line);
      border-radius: 14px;
      margin-bottom: 14px;
      transition: transform .3s var(--ease-expo), box-shadow .3s, border-color .3s
    }

    .ux-principle:last-child {
      margin-bottom: 0
    }

    .ux-principle:hover {
      transform: translateX(8px);
      box-shadow: 0 8px 28px rgba(0, 0, 0, .07);
      border-color: var(--teal-dark)
    }

    .uxp-num {
      font-family: var(--font-head);
      font-weight: 900;
      font-size: .62rem;
      color: var(--teal-dark);
      width: 24px;
      flex-shrink: 0;
      padding-top: 3px;
      letter-spacing: .08em
    }

    .uxp-icon-wrap {
      width: 50px;
      height: 50px;
      border-radius: 12px;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.3rem;
      background: rgba(74, 187, 196, .1)
    }

    .uxp-title {
      font-family: var(--font-head);
      font-size: .95rem;
      font-weight: 800;
      color: var(--brand-ink);
      margin-bottom: 5px
    }

    .uxp-body {
      font-size: .85rem;
      color: var(--brand-muted);
      line-height: 1.65
    }

    /* CWV score card */
    .cwv-card {
      background: var(--navy);
      border-radius: 20px;
      padding: 36px;
      position: relative;
      overflow: hidden
    }

    .cwv-card::before {
      content: '';
      position: absolute;
      bottom: -80px;
      right: -80px;
      width: 300px;
      height: 300px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(74, 187, 196, .1), transparent 70%)
    }

    .cwv-label {
      font-family: var(--font-head);
      font-size: .65rem;
      font-weight: 700;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .28);
      margin-bottom: 24px
    }

    /* Circular score */
    .cwv-score-row {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      margin-bottom: 24px
    }

    .cwv-score {
      background: rgba(255, 255, 255, .04);
      border: 1px solid rgba(255, 255, 255, .08);
      border-radius: 12px;
      padding: 18px 12px;
      text-align: center;
      transition: background .3s
    }

    .cwv-score:hover {
      background: rgba(255, 255, 255, .07)
    }

    .cwv-score-num {
      font-family: var(--font-head);
      font-weight: 900;
      font-size: 1.8rem;
      letter-spacing: -.04em;
      line-height: 1
    }

    .cwv-score.green .cwv-score-num {
      color: #4ADE80
    }

    .cwv-score.amber .cwv-score-num {
      color: var(--amber-light)
    }

    .cwv-score.teal .cwv-score-num {
      color: var(--teal-light)
    }

    .cwv-score-lbl {
      font-size: .62rem;
      color: rgba(255, 255, 255, .3);
      font-weight: 500;
      margin-top: 4px;
      letter-spacing: .04em
    }

    /* Metric bars */
    .cwv-bar-row {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 10px
    }

    .cwv-bar-row:last-child {
      margin-bottom: 0
    }

    .cwv-bar-name {
      font-size: .72rem;
      color: rgba(255, 255, 255, .5);
      font-weight: 500;
      width: 100px;
      flex-shrink: 0
    }

    .cwv-bar-track {
      flex: 1;
      height: 6px;
      background: rgba(255, 255, 255, .06);
      border-radius: 3px;
      overflow: hidden
    }

    .cwv-bar-fill {
      height: 100%;
      border-radius: 3px;
      transition: width 1.2s var(--ease-expo)
    }

    .cwv-bar-val {
      font-family: var(--font-head);
      font-size: .7rem;
      font-weight: 700;
      color: rgba(255, 255, 255, .5);
      width: 36px;
      text-align: right
    }

    /* Mobile-first callout */
    .mobile-callout {
      margin-top: 20px;
      padding: 16px 18px;
      background: rgba(232, 166, 61, .08);
      border: 1px solid rgba(232, 166, 61, .2);
      border-radius: 10px;
      display: flex;
      align-items: center;
      gap: 14px;
      position: relative;
      z-index: 1
    }

    .mc-icon {
      font-size: 1.4rem;
      flex-shrink: 0
    }

    .mc-text {
      font-size: .82rem;
      color: rgba(255, 255, 255, .55);
      line-height: 1.6
    }

    .mc-text strong {
      color: var(--amber-light);
      font-family: var(--font-head);
      font-weight: 800
    }

    /* ─────────────────────────────────────
       SECTION 5: CONTENT STRATEGY
    ───────────────────────────────────── */
    .content-section {
      padding: 120px 0;
      background: var(--brand-white)
    }

    .content-headline {
      font-size: clamp(2rem, 3.5vw, 3.2rem);
      letter-spacing: -.03em;
      color: var(--brand-ink)
    }

    .content-headline em {
      font-style: normal;
      color: var(--amber)
    }

    /* Content pillar cards */
    .content-pillar {
      display: flex;
      align-items: flex-start;
      gap: 18px;
      padding: 28px 26px;
      background: var(--brand-soft);
      border: 1px solid var(--brand-line);
      border-radius: 14px;
      margin-bottom: 14px;
      transition: transform .3s var(--ease-expo), box-shadow .3s, border-color .3s
    }

    .content-pillar:last-child {
      margin-bottom: 0
    }

    .content-pillar:hover {
      transform: translateX(8px);
      box-shadow: 0 8px 28px rgba(0, 0, 0, .07);
      border-color: var(--amber)
    }

    .cp-icon {
      width: 52px;
      height: 52px;
      border-radius: 13px;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.3rem;
      background: rgba(232, 166, 61, .1)
    }

    .cp-title {
      font-family: var(--font-head);
      font-size: 1rem;
      font-weight: 800;
      color: var(--brand-ink);
      margin-bottom: 6px
    }

    .cp-body {
      font-size: .875rem;
      color: var(--brand-muted);
      line-height: 1.7
    }

    /* Narrative funnel */
    .funnel-wrap {
      background: var(--navy);
      border-radius: 20px;
      padding: 36px;
      position: relative;
      overflow: hidden
    }

    .funnel-wrap::before {
      content: '';
      position: absolute;
      bottom: -80px;
      right: -80px;
      width: 300px;
      height: 300px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(232, 166, 61, .07), transparent 70%)
    }

    .fw-label {
      font-family: var(--font-head);
      font-size: .65rem;
      font-weight: 700;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .28);
      margin-bottom: 24px
    }

    .funnel-stage {
      text-align: center;
      padding: 16px 14px;
      border-radius: 10px;
      margin: 0 auto 4px;
      border: 1px solid;
      transition: opacity .3s, transform .3s
    }

    .funnel-stage:hover {
      transform: scale(1.02)
    }

    .funnel-stage.fs1 {
      background: rgba(232, 166, 61, .1);
      border-color: rgba(232, 166, 61, .22);
      width: 100%
    }

    .funnel-stage.fs2 {
      background: rgba(74, 187, 196, .08);
      border-color: rgba(74, 187, 196, .18);
      width: 84%
    }

    .funnel-stage.fs3 {
      background: rgba(143, 51, 23, .1);
      border-color: rgba(143, 51, 23, .22);
      width: 65%
    }

    .funnel-stage.fs4 {
      background: rgba(74, 187, 196, .14);
      border-color: rgba(74, 187, 196, .32);
      width: 46%
    }

    .funnel-arrow {
      text-align: center;
      padding: 5px 0;
      font-size: 1rem;
      color: rgba(255, 255, 255, .18)
    }

    .fst-title {
      font-family: var(--font-head);
      font-size: .82rem;
      font-weight: 800;
      color: #fff;
      margin-bottom: 3px
    }

    .fst-sub {
      font-size: .66rem;
      color: rgba(255, 255, 255, .38)
    }

    /* Proof numbers row */
    .funnel-proof {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-top: 20px;
      position: relative;
      z-index: 1
    }

    .fp-item {
      background: rgba(255, 255, 255, .04);
      border: 1px solid rgba(255, 255, 255, .08);
      border-radius: 10px;
      padding: 16px;
      text-align: center
    }

    .fp-num {
      font-family: var(--font-head);
      font-weight: 900;
      font-size: 1.6rem;
      color: #fff;
      letter-spacing: -.04em
    }

    .fp-num span {
      color: var(--amber)
    }

    .fp-lbl {
      font-size: .68rem;
      color: rgba(255, 255, 255, .33);
      margin-top: 3px
    }

    /* ── Sections 6-10 use existing CSS from below ── */
    .media-synergy-section {
      padding: 120px 0;
      background: var(--brand-soft)
    }

    .synergy-headline {
      font-size: clamp(2rem, 3.5vw, 3.2rem);
      letter-spacing: -.03em;
      color: var(--brand-ink)
    }

    .synergy-headline em {
      font-style: normal;
      color: var(--teal-dark)
    }

    .synergy-card {
      background: var(--brand-white);
      border: 1px solid var(--brand-line);
      border-radius: 14px;
      padding: 28px;
      display: flex;
      align-items: flex-start;
      gap: 16px;
      margin-bottom: 14px;
      transition: transform .3s var(--ease-expo), box-shadow .3s
    }

    .synergy-card:hover {
      transform: translateX(8px);
      box-shadow: 0 8px 28px rgba(0, 0, 0, .07)
    }

    .sc-icon {
      width: 50px;
      height: 50px;
      border-radius: 12px;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.2rem;
      background: rgba(74, 187, 196, .1)
    }

    .sc-title {
      font-family: var(--font-head);
      font-size: .95rem;
      font-weight: 800;
      color: var(--brand-ink);
      margin-bottom: 4px
    }

    .sc-body {
      font-size: .85rem;
      color: var(--brand-muted);
      line-height: 1.65
    }

    .ctr-visual {
      background: var(--navy);
      border-radius: 20px;
      padding: 36px;
      height: 100%
    }

    .cv-label {
      font-family: var(--font-head);
      font-size: .65rem;
      font-weight: 700;
      letter-spacing: .15em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .3);
      margin-bottom: 24px
    }

    .cv-row {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 14px
    }

    .cv-row:last-child {
      margin-bottom: 0
    }

    .cv-name {
      font-size: .78rem;
      color: rgba(255, 255, 255, .5);
      font-weight: 500;
      width: 100px;
      flex-shrink: 0
    }

    .cv-bar-track {
      flex: 1;
      height: 28px;
      background: rgba(255, 255, 255, .05);
      border-radius: 8px;
      overflow: hidden
    }

    .cv-bar-fill {
      height: 100%;
      border-radius: 8px;
      display: flex;
      align-items: center;
      padding: 0 12px;
      font-family: var(--font-head);
      font-size: .7rem;
      font-weight: 700;
      color: #fff;
      white-space: nowrap
    }

    .cv-pct {
      font-family: var(--font-head);
      font-size: .78rem;
      font-weight: 700;
      color: rgba(255, 255, 255, .5);
      width: 36px;
      text-align: right
    }

    .tech-synergy-section {
      padding: 120px 0;
      background: var(--brand-white)
    }

    .ts-headline {
      font-size: clamp(2rem, 3.5vw, 3.2rem);
      letter-spacing: -.03em;
      color: var(--brand-ink)
    }

    .ts-headline em {
      font-style: normal;
      color: var(--amber)
    }

    .ts-card {
      background: var(--brand-soft);
      border: 1px solid var(--brand-line);
      border-radius: 14px;
      padding: 28px;
      display: flex;
      align-items: flex-start;
      gap: 16px;
      margin-bottom: 14px;
      transition: transform .3s var(--ease-expo), box-shadow .3s
    }

    .ts-card:hover {
      transform: translateX(8px);
      box-shadow: 0 8px 28px rgba(0, 0, 0, .06)
    }

    .tsc-icon {
      width: 50px;
      height: 50px;
      border-radius: 12px;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.2rem;
      background: rgba(232, 166, 61, .1)
    }

    .tsc-title {
      font-family: var(--font-head);
      font-size: .95rem;
      font-weight: 800;
      color: var(--brand-ink);
      margin-bottom: 4px
    }

    .tsc-body {
      font-size: .85rem;
      color: var(--brand-muted);
      line-height: 1.65
    }

    .template-showcase {
      background: var(--navy);
      border-radius: 20px;
      padding: 28px;
      overflow: hidden
    }

    .tmpl-label {
      font-family: var(--font-head);
      font-size: .65rem;
      font-weight: 700;
      letter-spacing: .15em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .3);
      margin-bottom: 20px
    }

    .tmpl-card {
      background: rgba(255, 255, 255, .04);
      border: 1px solid rgba(255, 255, 255, .08);
      border-radius: 12px;
      padding: 16px;
      margin-bottom: 10px;
      transition: background .3s
    }

    .tmpl-card:hover {
      background: rgba(255, 255, 255, .07)
    }

    .tmpl-topbar {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 12px;
      padding-bottom: 10px;
      border-bottom: 1px solid rgba(255, 255, 255, .07)
    }

    .tmpl-logo-dot {
      width: 24px;
      height: 24px;
      border-radius: 6px;
      background: rgba(232, 166, 61, .2);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .6rem;
      font-weight: 900;
      color: var(--amber)
    }

    .tmpl-brand {
      font-family: var(--font-head);
      font-size: .72rem;
      font-weight: 800;
      color: rgba(255, 255, 255, .6)
    }

    .tmpl-type {
      font-family: var(--font-head);
      font-size: .55rem;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .25);
      margin-left: auto
    }

    .tmpl-line {
      height: 5px;
      border-radius: 3px;
      margin-bottom: 6px
    }

    .tmpl-line.h {
      background: rgba(255, 255, 255, .4);
      width: 60%
    }

    .tmpl-line.s {
      background: rgba(255, 255, 255, .12);
      width: 85%
    }

    .tmpl-line.xs {
      background: rgba(255, 255, 255, .07);
      width: 70%
    }

    .tmpl-cta-strip {
      display: flex;
      justify-content: flex-end;
      margin-top: 10px
    }

    .tmpl-cta-btn {
      background: var(--amber);
      color: #fff;
      font-family: var(--font-head);
      font-size: .6rem;
      font-weight: 700;
      padding: 5px 12px;
      border-radius: 4px
    }

    /* Sections 8-10 */
    .workflow-section {
      padding: 120px 0;
      background: var(--navy);
      position: relative;
      overflow: hidden
    }

    .workflow-section::after {
      content: '';
      position: absolute;
      bottom: -200px;
      left: 50%;
      transform: translateX(-50%);
      width: 800px;
      height: 500px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(232, 166, 61, .07), transparent 70%)
    }

    .wf-headline {
      font-size: clamp(2rem, 3.5vw, 3.2rem);
      color: #fff;
      letter-spacing: -.03em
    }

    .wf-headline em {
      font-style: normal;
      color: var(--amber-light)
    }

    .process-step {
      position: relative;
      padding-left: 56px;
      margin-bottom: 40px
    }

    .process-step:last-child {
      margin-bottom: 0
    }

    .ps-num {
      position: absolute;
      left: 0;
      top: 0;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: rgba(232, 166, 61, .12);
      border: 1px solid rgba(232, 166, 61, .25);
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-head);
      font-size: .72rem;
      font-weight: 900;
      color: var(--amber)
    }

    .ps-connector {
      position: absolute;
      left: 19px;
      top: 40px;
      bottom: -40px;
      width: 2px;
      background: rgba(255, 255, 255, .07)
    }

    .process-step:last-child .ps-connector {
      display: none
    }

    .ps-tag {
      font-family: var(--font-head);
      font-size: .62rem;
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--amber);
      margin-bottom: 6px
    }

    .ps-title {
      font-family: var(--font-head);
      font-size: 1.05rem;
      font-weight: 800;
      color: #fff;
      margin-bottom: 8px;
      letter-spacing: -.01em
    }

    .ps-body {
      font-size: .875rem;
      color: rgba(255, 255, 255, .45);
      line-height: 1.75
    }

    .process-orbit {
      position: relative;
      width: 320px;
      height: 320px;
      margin: 0 auto
    }

    .po-ring {
      position: absolute;
      border-radius: 50%;
      border: 1px dashed rgba(255, 255, 255, .07);
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%)
    }

    .po-ring.r1 {
      width: 200px;
      height: 200px
    }

    .po-ring.r2 {
      width: 280px;
      height: 280px;
      animation: orbitSpin 22s linear infinite
    }

    .po-ring.r3 {
      width: 320px;
      height: 320px;
      animation: orbitSpin 32s linear infinite reverse
    }

    @keyframes orbitSpin {
      from {
        transform: translate(-50%, -50%) rotate(0deg)
      }

      to {
        transform: translate(-50%, -50%) rotate(360deg)
      }
    }

    .po-center {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 110px;
      height: 110px;
      border-radius: 50%;
      background: rgba(232, 166, 61, .1);
      border: 2px solid rgba(232, 166, 61, .25);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      text-align: center
    }

    .po-center-icon {
      font-size: 1.8rem;
      margin-bottom: 4px
    }

    .po-center-label {
      font-family: var(--font-head);
      font-size: .55rem;
      font-weight: 800;
      color: var(--amber);
      letter-spacing: .12em;
      text-transform: uppercase
    }

    .po-node {
      position: absolute;
      width: 52px;
      height: 52px;
      border-radius: 50%;
      background: var(--navy-mid);
      border: 1px solid rgba(255, 255, 255, .12);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.1rem;
      box-shadow: 0 4px 20px rgba(0, 0, 0, .4);
      transition: transform .3s var(--ease-expo)
    }

    .po-node:hover {
      transform: scale(1.2)
    }

    .timeline-metrics {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      margin-top: 40px
    }

    .tm-item {
      background: rgba(255, 255, 255, .04);
      border: 1px solid rgba(255, 255, 255, .08);
      border-radius: 12px;
      padding: 20px;
      text-align: center
    }

    .tm-num {
      font-family: var(--font-head);
      font-weight: 900;
      font-size: 1.8rem;
      color: #fff;
      letter-spacing: -.04em
    }

    .tm-num span {
      color: var(--amber)
    }

    .tm-lbl {
      font-size: .72rem;
      color: rgba(255, 255, 255, .35);
      font-weight: 500;
      margin-top: 4px
    }

    .industry-section {
      padding: 120px 0;
      background: var(--brand-soft)
    }

    .industry-headline {
      font-size: clamp(2rem, 3.5vw, 3.2rem);
      letter-spacing: -.03em;
      color: var(--brand-ink)
    }

    .industry-card {
      background: var(--brand-white);
      border: 1px solid var(--brand-line);
      border-radius: 16px;
      padding: 40px 36px;
      height: 100%;
      transition: transform .4s var(--ease-expo), box-shadow .4s;
      position: relative;
      overflow: hidden
    }

    .industry-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 24px 60px rgba(0, 0, 0, .09)
    }

    .industry-card::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 3px
    }

    .industry-card.ic1::after {
      background: var(--amber)
    }

    .industry-card.ic2::after {
      background: var(--teal-dark)
    }

    .industry-card.ic3::after {
      background: var(--crimson)
    }

    .ic-icon {
      font-size: 2.5rem;
      margin-bottom: 20px;
      display: block
    }

    .ic-tag {
      font-family: var(--font-head);
      font-size: .62rem;
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
      margin-bottom: 8px
    }

    .industry-card.ic1 .ic-tag {
      color: var(--amber)
    }

    .industry-card.ic2 .ic-tag {
      color: var(--teal-dark)
    }

    .industry-card.ic3 .ic-tag {
      color: var(--crimson)
    }

    .ic-title {
      font-family: var(--font-head);
      font-size: 1.2rem;
      font-weight: 800;
      color: var(--brand-ink);
      margin-bottom: 14px;
      letter-spacing: -.02em
    }

    .ic-body {
      font-size: .875rem;
      color: var(--brand-muted);
      line-height: 1.8;
      margin-bottom: 24px
    }

    .ic-results {
      display: flex;
      flex-direction: column;
      gap: 10px
    }

    .ic-result {
      display: flex;
      align-items: center;
      gap: 12px
    }

    .icr-num {
      font-family: var(--font-head);
      font-weight: 900;
      font-size: 1.2rem;
      letter-spacing: -.03em;
      min-width: 56px
    }

    .industry-card.ic1 .icr-num {
      color: var(--amber)
    }

    .industry-card.ic2 .icr-num {
      color: var(--teal-dark)
    }

    .industry-card.ic3 .icr-num {
      color: var(--crimson)
    }

    .icr-lbl {
      font-size: .78rem;
      color: var(--brand-muted);
      font-weight: 500
    }

    .cta-section {
      padding: 140px 0;
      background: var(--navy-deep);
      text-align: center;
      position: relative;
      overflow: hidden
    }

    .cta-bg-grid {
      position: absolute;
      inset: 0;
      background-image: linear-gradient(rgba(255, 255, 255, .02) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .02) 1px, transparent 1px);
      background-size: 48px 48px
    }

    .cta-glow-l {
      position: absolute;
      left: -200px;
      top: 50%;
      transform: translateY(-50%);
      width: 500px;
      height: 500px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(74, 187, 196, .08), transparent 70%)
    }

    .cta-glow-r {
      position: absolute;
      right: -200px;
      top: 50%;
      transform: translateY(-50%);
      width: 500px;
      height: 500px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(232, 166, 61, .08), transparent 70%)
    }

    .cta-headline {
      font-size: clamp(2.2rem, 5vw, 4.2rem);
      color: #fff;
      letter-spacing: -.03em;
      max-width: 780px;
      margin: 0 auto 20px;
      line-height: 1.08
    }

    .cta-headline em {
      font-style: normal;
      color: var(--amber-light)
    }

    .cta-sub {
      font-size: 1rem;
      color: rgba(255, 255, 255, .5);
      margin-bottom: 44px;
      line-height: 1.8;
      max-width: 500px;
      margin-left: auto;
      margin-right: auto
    }

    .cta-checks {
      display: flex;
      gap: 24px;
      justify-content: center;
      flex-wrap: wrap;
      margin-bottom: 44px
    }

    .cta-check {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: .85rem;
      color: rgba(255, 255, 255, .6);
      font-weight: 500
    }

    .cta-check-ico {
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background: rgba(74, 187, 196, .2);
      color: var(--teal-dark);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .65rem;
      flex-shrink: 0
    }

    /* Marquee */
    .marquee-section {
      overflow: hidden;
      background: var(--amber);
      padding: 16px 0
    }

    .marquee-track {
      display: flex;
      width: max-content;
      animation: marqueeScroll 28s linear infinite
    }

    .marquee-track:hover {
      animation-play-state: paused
    }

    @keyframes marqueeScroll {
      from {
        transform: translateX(0)
      }

      to {
        transform: translateX(-50%)
      }
    }

    .marquee-item {
      display: inline-flex;
      align-items: center;
      gap: 16px;
      padding: 0 32px;
      white-space: nowrap;
      font-family: var(--font-head);
      font-size: .78rem;
      font-weight: 700;
      letter-spacing: .06em;
      color: var(--navy);
      text-transform: uppercase
    }

    .marquee-sep {
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: rgba(13, 27, 106, .3);
      flex-shrink: 0
    }

    /* Footer */
    .footer {
      background: var(--navy-deep);
      padding: 40px 0;
      border-top: 1px solid rgba(255, 255, 255, .06)
    }

    .footer-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 16px
    }

    .footer-logo {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      text-decoration: none
    }

    .footer-logo .lw {
      font-family: var(--font-head);
      font-weight: 900;
      font-size: 1.1rem;
      letter-spacing: -.03em;
      color: #fff
    }

    .footer-logo .lw span {
      color: var(--amber)
    }

    .footer-logo .lt {
      font-family: var(--font-head);
      font-size: .48rem;
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--teal);
      margin-top: 3px;
      display: block
    }

    .footer-copy {
      font-size: .78rem;
      color: rgba(255, 255, 255, .25)
    }

    /* ── Responsive ── */
    @media(max-width:1200px) {

      .compare-grid,
      .price-bracket {
        grid-template-columns: 1fr
      }
    }

    @media(max-width:992px) {
      .ng-nav {
        padding: 0 24px
      }

      .ng-nav-links,
      .ng-nav>.btn-primary-ng {
        display: none
      }

      .ng-hamburger {
        display: flex
      }

      .ng-mobile-menu {
        display: flex
      }

      .compare-grid {
        grid-template-columns: 1fr
      }

      .hero-stats {
        flex-direction: column
      }

      .hs-item {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, .08)
      }

      .hs-item:last-child {
        border-bottom: none
      }
    }

    @media(max-width:768px) {
      .brand-hero {
        padding-bottom: 60px;
        min-height: auto
      }

      .hero-headline {
        font-size: 2.2rem
      }

      .price-bracket {
        grid-template-columns: 1fr
      }

      .phil-insights {
        grid-template-columns: 1fr 1fr
      }

      .cwv-score-row {
        grid-template-columns: 1fr 1fr 1fr
      }

      .cta-checks {
        flex-direction: column;
        align-items: center
      }

      .tc-tabs .tc-tab {
        font-size: .6rem;
        padding: 10px 0
      }
    }

    @media(max-width:576px) {
      .ng-nav {
        padding: 0 16px
      }

      .dlv-card,
      .uiux-card,
      .industry-card {
        padding: 28px 22px
      }

      .phil-insights {
        grid-template-columns: 1fr
      }

      .cwv-score-row {
        grid-template-columns: 1fr 1fr
      }
    }

/* ─── Content Narrative Funnel Sticky & ScrollTrigger Styles ─── */
.sticky-funnel-col {
  position: sticky !important;
  top: 100px !important;
  align-self: flex-start !important;
  z-index: 5;
}

@media (max-width: 991px) {
  .sticky-funnel-col {
    position: relative !important;
    top: auto !important;
  }
}

.content-pillar {
  cursor: pointer;
  border: 1px solid var(--brand-line);
  background: #FFFFFF;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 24px;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
}

.content-pillar:hover {
  border-color: rgba(232, 166, 61, 0.5);
  transform: translateX(4px);
}

.content-pillar.active {
  border-color: var(--amber) !important;
  background: #FFFFFF !important;
  box-shadow: 0 12px 32px rgba(13, 27, 106, 0.09) !important;
  transform: translateX(8px);
}

.content-pillar.active .cp-icon {
  transform: scale(1.18);
  box-shadow: 0 6px 16px rgba(232, 166, 61, 0.3);
}

.content-pillar-badge {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 3px 10px;
  border-radius: 100px;
  background: rgba(232, 166, 61, 0.12);
  color: var(--navy);
  margin-bottom: 8px;
}

.funnel-stage {
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.funnel-stage.active {
  transform: scale(1.04) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.45) !important;
}

.funnel-stage.fs1.active {
  background: rgba(232, 166, 61, 0.28) !important;
  border-color: #E8A63D !important;
  box-shadow: 0 0 28px rgba(232, 166, 61, 0.35) !important;
}

.funnel-stage.fs2.active {
  background: rgba(74, 187, 196, 0.25) !important;
  border-color: #4ABBC4 !important;
  box-shadow: 0 0 28px rgba(74, 187, 196, 0.35) !important;
}

.funnel-stage.fs3.active {
  background: rgba(143, 51, 23, 0.32) !important;
  border-color: #F45B35 !important;
  box-shadow: 0 0 28px rgba(143, 51, 23, 0.45) !important;
}

.funnel-stage.fs4.active {
  background: rgba(74, 187, 196, 0.32) !important;
  border-color: #5DD87A !important;
  box-shadow: 0 0 28px rgba(93, 216, 122, 0.45) !important;
}

.funnel-stage.completed {
  opacity: 0.85;
  border-color: rgba(255, 255, 255, 0.3);
}

.funnel-arrow {
  transition: all 0.35s ease;
}

.funnel-arrow.active {
  color: var(--amber) !important;
  transform: translateY(3px) scale(1.3);
  text-shadow: 0 0 12px rgba(232, 166, 61, 0.7);
}

/* ─── CWV, CTR & Template Sticky ScrollTrigger Sync Styles ─── */
.ux-principle {
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  border-radius: 12px;
  padding: 16px 14px;
}
.ux-principle.active {
  background: rgba(74, 187, 196, 0.08);
  transform: translateX(6px);
}
.ux-principle.active .uxp-icon-wrap {
  transform: scale(1.15);
}

.cwv-score.active {
  transform: scale(1.08);
  box-shadow: 0 4px 16px rgba(74, 187, 196, 0.25);
}
.cwv-bar-row.active .cwv-bar-fill {
  filter: brightness(1.25);
  box-shadow: 0 0 10px rgba(74, 187, 196, 0.5);
}

.synergy-card {
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  border-radius: 12px;
  padding: 16px 14px;
}
.synergy-card.active {
  background: rgba(232, 166, 61, 0.08);
  transform: translateX(6px);
}
.cv-row {
  transition: all 0.35s ease;
  padding: 8px 10px;
  border-radius: 8px;
}
.cv-row.active {
  background: rgba(255, 255, 255, 0.08);
  transform: scale(1.02);
}
.cv-row.active .cv-bar-fill {
  box-shadow: 0 0 14px rgba(232, 166, 61, 0.5);
}

.ts-card {
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  border-radius: 12px;
  padding: 16px 14px;
}
.ts-card.active {
  background: rgba(74, 187, 196, 0.08);
  transform: translateX(6px);
}
.tmpl-card {
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.tmpl-card.active {
  border-color: var(--amber) !important;
  background: rgba(255, 255, 255, 0.12) !important;
  transform: scale(1.04) translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}
