@font-face {
    font-family: "Plus Jakarta Sans";
    src: url("../zentic/css/fonts/plus-jakarta-sans-400.ttf") format("truetype");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Plus Jakarta Sans";
    src: url("../zentic/css/fonts/plus-jakarta-sans-500.ttf") format("truetype");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: "Plus Jakarta Sans";
    src: url("../zentic/css/fonts/plus-jakarta-sans-600.ttf") format("truetype");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "Plus Jakarta Sans";
    src: url("../zentic/css/fonts/plus-jakarta-sans-700.ttf") format("truetype");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "Plus Jakarta Sans";
    src: url("../zentic/css/fonts/plus-jakarta-sans-800.ttf") format("truetype");
    font-style: normal;
    font-weight: 800;
    font-display: swap;
}

:root {
    --ts-font-heading: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
    --ts-font-body: "Montserrat", ui-sans-serif, system-ui, sans-serif;
    --ts-wine-950: #240813;
    --ts-wine-900: #350d1e;
    --ts-wine-850: #431126;
    --ts-wine-800: #54162f;
    --ts-wine-700: #762342;
    --ts-wine-600: #963455;
    --ts-wine-100: #f2e4e9;
    --ts-wine-050: #faf4f6;
    --ts-rose: #cf748e;
    --ts-ink: #20191d;
    --ts-muted: #6d6268;
    --ts-ivory: #fcfaf7;
    --ts-white: #ffffff;
    --ts-gold: #d8b277;
    --ts-border: #e8dde1;
    --ts-shadow-sm: 0 .8rem 2.5rem rgba(54, 18, 35, .07);
    --ts-shadow-lg: 0 2rem 5rem rgba(40, 10, 25, .14);
    --ts-radius-sm: .75rem;
    --ts-radius: 1.2rem;
    --ts-radius-lg: 1.8rem;
}

html {
    scroll-behavior: smooth;
}

body {
    color: var(--ts-ink);
    background: var(--ts-ivory);
    font-family: var(--ts-font-body);
    font-size: 1rem;
    line-height: 1.7;
    text-rendering: optimizeLegibility;
}

body,
.site-header {
    min-width: 20rem;
}

section[id] {
    scroll-margin-top: 6.5rem;
}

a {
    color: inherit;
}

img {
    max-width: 100%;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
    outline: .2rem solid var(--ts-gold);
    outline-offset: .22rem;
}

.skip-link {
    position: fixed;
    z-index: 3000;
    top: .75rem;
    left: .75rem;
    padding: .7rem 1rem;
    color: #fff;
    background: var(--ts-wine-950);
    border-radius: .5rem;
    transform: translateY(-180%);
    transition: transform .2s ease;
}

.skip-link:focus {
    transform: translateY(0);
}

.site-header {
    position: sticky;
    z-index: 1050;
    top: 0;
    color: #fff;
    background: rgba(36, 8, 19, .94);
    border-bottom: 1px solid rgba(255, 255, 255, .09);
    backdrop-filter: blur(1rem);
    transition: box-shadow .2s ease, background-color .2s ease;
}

.site-header.is-scrolled {
    background: rgba(36, 8, 19, .98);
    box-shadow: 0 .6rem 2rem rgba(20, 3, 10, .16);
}

.site-nav,
.site-nav__inner {
    min-height: 5.2rem;
}

.brand-lockup {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    color: #fff;
    text-decoration: none;
}

.brand-lockup:hover,
.brand-lockup:focus {
    color: #fff;
}

.brand-lockup__logo {
    width: 2.7rem;
    height: 2.7rem;
    flex: 0 0 2.7rem;
    object-fit: contain;
}

.brand-lockup__text {
    display: flex;
    flex-direction: column;
    line-height: 1.08;
}

.brand-lockup__name {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -.025em;
}

.brand-lockup__parent {
    margin-top: .3rem;
    color: rgba(255, 255, 255, .55);
    font-size: .6rem;
    font-weight: 600;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.site-nav .nav-link {
    color: rgba(255, 255, 255, .68);
    font-size: .78rem;
    font-weight: 600;
    padding: .62rem .65rem;
    transition: color .2s ease;
}

.site-nav .nav-link:hover,
.site-nav .nav-link:focus {
    color: #fff;
}

.site-nav__toggle {
    width: 2.8rem;
    height: 2.6rem;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: .5rem;
}

.site-nav__toggle-lines {
    display: grid;
    gap: .35rem;
    justify-items: center;
}

.site-nav__toggle-lines span {
    width: 1.15rem;
    height: 1px;
    background: #fff;
    transition: transform .2s ease;
}

.site-nav__toggle[aria-expanded="true"] .site-nav__toggle-lines span:first-child {
    transform: translateY(.18rem) rotate(45deg);
}

.site-nav__toggle[aria-expanded="true"] .site-nav__toggle-lines span:last-child {
    transform: translateY(-.18rem) rotate(-45deg);
}

.btn {
    border-radius: .58rem;
    font-size: .87rem;
    font-weight: 700;
    letter-spacing: -.01em;
    padding: .75rem 1.1rem;
    transition: transform .2s ease, box-shadow .2s ease, color .2s ease, background-color .2s ease, border-color .2s ease;
}

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

.btn-lg {
    padding: .95rem 1.35rem;
    font-size: .92rem;
}

.btn-nav {
    color: var(--ts-wine-950);
    background: #fff;
    border-color: #fff;
    padding: .66rem .9rem;
}

.btn-nav:hover,
.btn-nav:focus {
    color: var(--ts-wine-950);
    background: var(--ts-gold);
    border-color: var(--ts-gold);
}

.btn-wine {
    color: #fff;
    background: var(--ts-wine-700);
    border-color: var(--ts-wine-700);
}

.btn-wine:hover,
.btn-wine:focus {
    color: #fff;
    background: var(--ts-wine-900);
    border-color: var(--ts-wine-900);
    box-shadow: 0 .8rem 2rem rgba(84, 22, 47, .16);
}

.btn-cream {
    color: var(--ts-wine-950);
    background: var(--ts-ivory);
    border-color: var(--ts-ivory);
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .12);
}

.btn-cream:hover,
.btn-cream:focus {
    color: var(--ts-wine-950);
    background: #fff;
    border-color: #fff;
}

.btn-wine-bright {
    color: #fff;
    background: linear-gradient(135deg, #a62f55, #7e183c);
    border-color: #b83c62;
    box-shadow: 0 .8rem 2rem rgba(126, 24, 60, .28);
}

.btn-wine-bright:hover,
.btn-wine-bright:focus {
    color: #fff;
    background: linear-gradient(135deg, #bd3d65, #941f47);
    border-color: #d05a7d;
    box-shadow: 0 1rem 2.2rem rgba(126, 24, 60, .4);
}

.hero-section {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(115deg, #08070a 0%, #10090e 58%, #210d18 100%);
    isolation: isolate;
}

.hero-section::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: linear-gradient(rgba(255, 255, 255, .018) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .018) 1px, transparent 1px);
    background-size: 4.5rem 4.5rem;
    content: "";
    mask-image: linear-gradient(90deg, transparent, #000 65%, transparent);
}

.hero-section__inner {
    position: relative;
    z-index: 2;
    min-height: min(46rem, calc(100svh - 4.5rem));
    display: flex;
    align-items: center;
    padding-top: clamp(4.5rem, 7vw, 6.5rem);
    padding-bottom: clamp(4rem, 6vw, 5.5rem);
}

.hero-orb {
    position: absolute;
    z-index: 0;
    border-radius: 50%;
    filter: blur(.2rem);
    opacity: .65;
}

.hero-orb--one {
    top: -14rem;
    right: -10rem;
    width: 34rem;
    height: 34rem;
    background: radial-gradient(circle, rgba(207, 116, 142, .3), transparent 68%);
    animation: ambient-float 10s ease-in-out infinite alternate;
}

.hero-orb--two {
    bottom: -16rem;
    left: 24%;
    width: 28rem;
    height: 28rem;
    background: radial-gradient(circle, rgba(166, 47, 85, .18), transparent 68%);
    animation: ambient-float 13s ease-in-out infinite alternate-reverse;
}

.eyebrow {
    margin-bottom: 1rem;
    color: var(--ts-wine-700);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .18em;
    line-height: 1.4;
    text-transform: uppercase;
}

.eyebrow--light {
    color: var(--ts-gold);
}

.hero-title {
    max-width: 39rem;
    margin-bottom: 1.45rem;
    font-size: clamp(2.55rem, 3.8vw, 4.35rem);
    font-family: var(--ts-font-heading);
    font-weight: 400;
    letter-spacing: -.055em;
    line-height: .98;
}

.hero-title span {
    color: #d52358;
}

.hero-lead {
    max-width: 35rem;
    margin-bottom: 2rem;
    color: rgba(255, 255, 255, .72);
    font-size: clamp(.95rem, 1.25vw, 1.08rem);
    line-height: 1.7;
}

.hero-actions {
    margin-bottom: 1.8rem;
}

.hero-slogan {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin: 0;
    color: rgba(255, 255, 255, .56);
    font-size: .78rem;
    font-weight: 600;
}

.hero-slogan span {
    width: 1.6rem;
    height: 1px;
    background: var(--ts-gold);
}

.hero-curves { position: absolute; inset: 5% 0 0; z-index: -1; opacity: .6; pointer-events: none; }
.hero-curves svg { width: 100%; height: 100%; }
.hero-curves__path { fill: none; stroke: rgba(176, 43, 84, .28); stroke-width: 1.2; }
.hero-curves__path--two { stroke: rgba(216, 111, 139, .22); stroke-width: .7; }

.data-story { position: relative; min-height: 34rem; padding: 1rem 0 1rem; }
.data-story::before { position: absolute; inset: 24% -4% 8%; z-index: -1; background-image: radial-gradient(circle, rgba(228, 56, 103, .48) 0 1px, transparent 1.5px), radial-gradient(circle, rgba(196, 71, 111, .28) 0 1px, transparent 1.5px); background-position: 0 0, 8px 11px; background-size: 18px 18px, 27px 27px; content: ""; opacity: .18; mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent); pointer-events: none; }
.data-story::after { position: absolute; inset: 8% -10% 4%; z-index: -1; background: radial-gradient(ellipse at 50% 70%, rgba(171, 27, 73, .22), transparent 62%); content: ""; filter: blur(1rem); pointer-events: none; }
.data-story__connector { position: absolute; z-index: 0; top: 30%; left: -8%; width: 116%; height: 44%; overflow: visible; }
.data-story__route, .data-story__route-glow { fill: none; stroke: #d1265b; stroke-linecap: round; stroke-width: 2.2; stroke-dasharray: 1; stroke-dashoffset: 1; animation: data-route-draw 2.4s ease .7s forwards; }
.data-story__route-glow { stroke: #ed4c7a; stroke-width: 10; opacity: .22; filter: blur(6px); }
.data-story__route--fine { stroke-width: .8; opacity: .55; animation-delay: .95s; }
.data-story__panels { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; align-items: end; perspective: 1100px; perspective-origin: 50% 48%; }
.data-panel { --glow-duration: 7s; --glow-delay: 1.6s; --card-y: 0deg; --card-z: -1.35deg; min-width: 0; min-height: 30rem; padding: 1.3rem; color: #fff; background: linear-gradient(160deg, rgba(39, 13, 27, .84), rgba(12, 8, 12, .76)); border: 1px solid rgba(238, 91, 127, .55); border-radius: 1rem; box-shadow: 0 1.8rem 3.5rem rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .1), 0 0 1.5rem rgba(181, 27, 76, .08); backdrop-filter: blur(16px); opacity: 0; translate: 0 1.4rem; transform: rotateY(var(--card-y)) rotateZ(var(--card-z)); transform-style: preserve-3d; will-change: transform, translate, box-shadow; animation: data-panel-enter .75s cubic-bezier(.2, .8, .2, 1) forwards, panel-glow var(--glow-duration) ease-in-out var(--glow-delay) infinite; transition: border-color .25s ease, background .25s ease, transform .35s cubic-bezier(.2, .8, .2, 1), translate .35s cubic-bezier(.2, .8, .2, 1), box-shadow .25s ease; }
.data-panel:nth-child(1) { --glow-duration: 6.3s; --glow-delay: 1.2s; --card-y: -3.2deg; --card-z: -1.25deg; animation-delay: .35s, var(--glow-delay); }
.data-panel:nth-child(2) { --glow-duration: 7.1s; --glow-delay: 2.4s; --card-y: .4deg; --card-z: -1.55deg; position: relative; top: -1.1rem; animation-delay: .55s, var(--glow-delay); }
.data-panel:nth-child(3) { --glow-duration: 8.2s; --glow-delay: 3.1s; --card-y: 3.2deg; --card-z: -1.75deg; position: relative; top: -2.2rem; animation-delay: .75s, var(--glow-delay); }
.data-panel:hover, .data-panel:focus-within { background: linear-gradient(160deg, rgba(78, 28, 49, .86), rgba(25, 13, 21, .84)); border-color: rgba(232, 104, 142, .65); box-shadow: 0 1.8rem 3.2rem rgba(0, 0, 0, .32), 0 0 2rem rgba(165, 39, 83, .14); translate: 0 -.35rem; transform: rotateY(0deg) rotateZ(calc(var(--card-z) * .35)); }
.data-panel header { display: flex; align-items: center; justify-content: flex-start; gap: .85rem; padding-bottom: .9rem; border-bottom: 1px solid rgba(255, 255, 255, .14); }
.data-panel__index { color: #f22b62; font-size: .85rem; font-weight: 800; letter-spacing: .08em; }
.data-panel__label { color: #fff; font-size: 1.2rem; font-weight: 700; letter-spacing: -.03em; text-transform: uppercase; }
.data-panel p { margin: 1.25rem 0 .4rem; font-size: 1rem; font-weight: 600; }
.data-panel small { display: block; min-height: 2.2rem; color: rgba(255, 255, 255, .58); font-size: .62rem; line-height: 1.5; }
.data-panel svg { display: block; width: 100%; height: auto; margin: 1.3rem 0 .7rem; overflow: visible; }
.chart-grid { stroke: rgba(255, 255, 255, .1); stroke-width: 1; }
.data-panel text { fill: rgba(255, 255, 255, .52); font-size: 8px; font-family: inherit; }
.history-bar { fill: rgba(216, 111, 139, .78); transform-box: fill-box; transform-origin: bottom; animation: bar-rise .8s cubic-bezier(.2, .8, .2, 1) 1.2s both; }
.history-bar:nth-of-type(2) { animation-delay: 1.32s; }.history-bar:nth-of-type(3) { animation-delay: 1.44s; }.history-bar:nth-of-type(4) { animation-delay: 1.56s; }
.data-panel__line, .scenario-line { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.4; stroke-dasharray: 1; stroke-dashoffset: 1; animation: chart-draw 1.4s ease 1.15s forwards; }
.data-panel__line { stroke: #e4a0b4; }.current-dot { fill: #fff; stroke: #bc476d; stroke-width: 2; animation: marker-pulse 4.8s ease-in-out 2.2s infinite; transform-box: fill-box; transform-origin: center; }
.scenario-line--bull { stroke: #f05b83; }.scenario-line--base { stroke: #b7acbf; animation-delay: 1.28s; }.scenario-line--stress { stroke: #4c9bd2; animation-delay: 1.41s; }.scenario-line--tail { stroke: #8c3c5e; animation-delay: 1.54s; }
.data-panel__list { display: grid; gap: .5rem; margin: .8rem 0 0; padding: 0; list-style: none; }
.data-panel__list li { display: flex; align-items: center; gap: .55rem; color: rgba(255, 255, 255, .78); font-size: .68rem; line-height: 1.4; }
.data-panel__list li span { display: inline-grid; width: 1.45rem; height: 1.45rem; flex: 0 0 1.45rem; place-items: center; color: #ffd4df; background: linear-gradient(135deg, rgba(191, 35, 82, .9), rgba(92, 17, 46, .9)); border: 1px solid rgba(255, 159, 183, .24); border-radius: .35rem; font-size: .75rem; }
.data-panel__list li span { animation: icon-pulse 6.8s ease-in-out 2s infinite; }
.data-panel__list li:nth-child(2) span { animation-delay: 3.4s; }.data-panel__list li:nth-child(3) span { animation-delay: 4.7s; }
.data-panel__note { display: block; padding-top: .8rem; color: rgba(255, 255, 255, .55); border-top: 1px solid rgba(255, 255, 255, .1); font-size: .61rem; line-height: 1.45; }
.data-story__legend { display: flex; justify-content: space-between; gap: .75rem; margin-top: 1.2rem; color: rgba(255, 255, 255, .45); font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; }
.data-story__caption { margin: .65rem 0 0; color: rgba(255, 255, 255, .38); font-size: .6rem; text-align: right; }

.principle-strip {
    color: #fff;
    background: #08070a;
    border-top: 1px solid rgba(238, 91, 127, .16);
}

@media (min-width: 992px) {
    .hero-data-story .row { align-items: flex-start !important; }
    .hero-data-story + .principle-strip { position: relative; z-index: 3; margin-top: -6rem; }
    .hero-data-story .hero-section__inner { padding-top: clamp(4rem, 5vw, 5.25rem); }
    .hero-data-story .data-story { top: -1rem; }
    .hero-data-story + .principle-strip { padding-bottom: 4rem; }
}

.principle-strip__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.principle-strip__grid > span {
    display: flex;
    align-items: center;
    min-height: 6.2rem;
    gap: .7rem;
    padding: 0 1rem;
    border-right: 1px solid rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .74);
    font-size: .76rem;
    font-weight: 600;
}

.principle-icon {
    display: grid;
    width: 2.7rem;
    height: 2.7rem;
    flex: 0 0 2.7rem;
    place-items: center;
    color: #f2a0b7;
    background: linear-gradient(145deg, rgba(142, 24, 61, .48), rgba(38, 9, 22, .68));
    border: 1px solid rgba(216, 111, 139, .45);
    border-radius: .85rem;
    font-size: 1.25rem;
}

.principle-strip__grid > span > span { display: grid; gap: .12rem; }
.principle-strip strong { color: #fff; font-size: .82rem; }
.principle-strip small { color: rgba(255, 255, 255, .55); font-size: .68rem; font-weight: 400; }
.principle-strip b { display: none;
}

.principle-strip__grid > span:first-child {
    padding-left: 0;
}

.principle-strip__grid > span:last-child {
    border-right: 0;
}


.section-space {
    padding: clamp(5.5rem, 9vw, 8.5rem) 0;
}

.section-soft {
    background: var(--ts-wine-050);
}

.section-title {
    max-width: 48rem;
    margin-bottom: 1.25rem;
    font-size: clamp(1.8rem, 2.8vw, 2.75rem);
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: 1.15;
}

.section-title--light {
    color: #fff;
}

.section-copy {
    max-width: 41rem;
    color: var(--ts-muted);
    font-size: 1.04rem;
    line-height: 1.65;
}

.section-copy--light {
    color: rgba(255, 255, 255, .72);
}

.section-heading-centered {
    max-width: 49rem;
    margin: 0 auto;
    text-align: center;
}

@media (min-width: 992px) {
    .markets-section .section-heading-centered {
        max-width: none;
    }

    .markets-section__title {
        max-width: none;
        font-size: clamp(2.15rem, 2.8vw, 2.5rem);
        white-space: nowrap;
    }
}

.section-lead {
    margin-bottom: 3rem;
}

.problem-section {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: #fff;
}

.problem-section::before {
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: linear-gradient(rgba(118, 35, 66, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(118, 35, 66, .035) 1px, transparent 1px);
    background-size: 4.5rem 4.5rem;
    content: "";
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
}

.problem-section::after {
    position: absolute;
    top: 16%;
    right: -12rem;
    z-index: -1;
    width: 34rem;
    height: 34rem;
    background: radial-gradient(circle, rgba(207, 116, 142, .13), transparent 68%);
    content: "";
    filter: blur(1rem);
    animation: problem-ambient-drift 12s ease-in-out infinite alternate;
    pointer-events: none;
}

.problem-section > .container {
    position: relative;
    z-index: 1;
}

.problem-list {
    display: grid;
    gap: .8rem;
    margin-top: 2rem;
}

.problem-list span {
    position: relative;
    padding-left: 1.5rem;
    color: var(--ts-ink);
    font-size: .9rem;
    font-weight: 600;
    transition: color .25s ease, transform .25s ease;
}

.problem-list span::before {
    position: absolute;
    top: .65rem;
    left: 0;
    width: .55rem;
    height: .55rem;
    border: 2px solid var(--ts-wine-600);
    border-radius: 50%;
    content: "";
    transition: background-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

@media (hover: hover) {
    .problem-list span:hover {
        color: var(--ts-wine-700);
        transform: translateX(.25rem);
    }

    .problem-list span:hover::before {
        background: var(--ts-wine-600);
        box-shadow: 0 0 .7rem rgba(150, 52, 85, .28);
        transform: scale(1.15);
    }
}

.clarity-panel {
    position: relative;
    overflow: hidden;
    padding: clamp(1.5rem, 4vw, 2.6rem);
    background: var(--ts-ivory);
    border: 1px solid var(--ts-border);
    border-radius: var(--ts-radius-lg);
    box-shadow: var(--ts-shadow-lg);
}

.clarity-panel::before {
    position: absolute;
    top: 0;
    left: -30%;
    width: 42%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--ts-rose), transparent);
    content: "";
    opacity: .7;
    animation: clarity-panel-scan 8s ease-in-out infinite;
    pointer-events: none;
}

.clarity-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.clarity-panel__status {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: var(--ts-muted);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    white-space: nowrap;
}

.clarity-panel__status i {
    width: .4rem;
    height: .4rem;
    background: var(--ts-rose);
    border-radius: 50%;
    box-shadow: 0 0 0 rgba(207, 116, 142, 0);
    animation: clarity-status-pulse 2.8s ease-in-out infinite;
}

.clarity-panel__route {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin: 1.2rem 0 .15rem;
    color: var(--ts-muted);
    font-size: .57rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.clarity-panel__route i {
    display: block;
    height: 1px;
    flex: 1;
    background: var(--ts-border);
    transform-origin: left center;
}

.clarity-panel__label,
.comparison-panel__overline {
    color: var(--ts-wine-700);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.clarity-panel__item {
    display: grid;
    grid-template-columns: 2.4rem 1fr;
    gap: 1rem;
    padding: 1.4rem 0;
    border-bottom: 1px solid var(--ts-border);
}

.has-motion .reveal.is-visible .problem-list span,
.has-motion .reveal.is-visible .clarity-panel__item {
    opacity: 0;
    animation: clarity-content-in .65s cubic-bezier(.2, .8, .2, 1) forwards;
}

.has-motion .reveal.is-visible .problem-list span:nth-child(1),
.has-motion .reveal.is-visible .clarity-panel__item:nth-of-type(3) { animation-delay: .12s; }

.has-motion .reveal.is-visible .problem-list span:nth-child(2),
.has-motion .reveal.is-visible .clarity-panel__item:nth-of-type(4) { animation-delay: .24s; }

.has-motion .reveal.is-visible .problem-list span:nth-child(3),
.has-motion .reveal.is-visible .clarity-panel__item:nth-of-type(5) { animation-delay: .36s; }

.has-motion .reveal.is-visible .clarity-panel__route i {
    animation: clarity-route-in .8s cubic-bezier(.2, .8, .2, 1) forwards;
}

.has-motion .reveal.is-visible .clarity-panel__route i:nth-of-type(2) { animation-delay: .16s; }

.clarity-panel__item > span {
    color: var(--ts-wine-600);
    font-size: .68rem;
    font-weight: 700;
}

.clarity-panel__item h3 {
    margin: -.2rem 0 .3rem;
    font-size: 1.05rem;
    font-weight: 700;
}

.clarity-panel__item p,
.clarity-panel__result {
    margin: 0;
    color: var(--ts-muted);
    font-size: .85rem;
}

.clarity-panel__result {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1.4rem;
}

.clarity-panel__result span {
    color: var(--ts-wine-700);
    font-weight: 700;
}

.clarity-panel__result strong {
    color: var(--ts-ink);
    text-align: right;
}

.framework-section {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: var(--ts-wine-950);
}

.framework-section::before {
    position: absolute;
    inset: -25%;
    z-index: 0;
    background-image: radial-gradient(ellipse 4.2rem .11rem at 50% 50%, rgba(255, 255, 255, .78) 0 5%, rgba(216, 178, 119, .55) 18%, transparent 72%), radial-gradient(ellipse 2.6rem .08rem at 50% 50%, rgba(207, 116, 142, .72) 0 7%, rgba(255, 255, 255, .2) 28%, transparent 74%), radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .8) 0 .08rem, transparent .13rem);
    background-position: 0 0, 8rem 3rem, 2rem 1rem;
    background-size: 16rem 11rem, 24rem 16rem, 11rem 8rem;
    background-repeat: repeat;
    content: "";
    opacity: .46;
    transform: translate3d(-6%, 0, 0) rotate(-12deg);
    mix-blend-mode: screen;
    animation: framework-signal-field 13s linear infinite;
    pointer-events: none;
}

.framework-section::after {
    position: absolute;
    top: -17rem;
    right: -12rem;
    width: 40rem;
    height: 40rem;
    background: radial-gradient(circle, rgba(207, 116, 142, .16), transparent 68%);
    border-radius: 50%;
    content: "";
    animation: framework-ambient-drift 14s ease-in-out infinite alternate;
}

.framework-section .container {
    position: relative;
    z-index: 1;
}

.framework-section__heading {
    margin-bottom: 3.6rem;
}

.framework-flow {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.framework-flow::before {
    position: absolute;
    top: 2.2rem;
    right: 16.66%;
    left: 16.66%;
    height: 1px;
    background: linear-gradient(90deg, var(--ts-gold), var(--ts-rose), var(--ts-gold));
    content: "";
    transform: scaleX(0);
    transform-origin: left center;
}

.has-motion .framework-flow.is-visible::before {
    animation: framework-line-draw 1.2s cubic-bezier(.2, .8, .2, 1) .15s forwards;
}

.framework-stage {
    position: relative;
    min-height: 25rem;
    margin: 0 .55rem;
    padding: 1.8rem;
    background: linear-gradient(145deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .012));
    border: 1px solid rgba(216, 178, 119, .2);
    border-radius: 1.4rem;
    box-shadow: 0 1.2rem 3.2rem rgba(0, 0, 0, .12), inset 0 1px 0 rgba(255, 255, 255, .05);
    translate: var(--framework-parallax-x, 0) 0;
    transition: border-color .3s ease, background-color .3s ease, box-shadow .3s ease, transform .3s ease;
    will-change: transform, translate;
}

.has-motion .framework-flow.is-visible .framework-stage {
    opacity: 0;
    animation: framework-stage-in .75s cubic-bezier(.2, .8, .2, 1) forwards, framework-stage-glow 8s ease-in-out 1.8s infinite;
}

.has-motion .framework-flow.is-visible .framework-stage:nth-child(1) { animation-delay: .25s; }
.has-motion .framework-flow.is-visible .framework-stage:nth-child(2) { animation-delay: .45s; }
.has-motion .framework-flow.is-visible .framework-stage:nth-child(3) { animation-delay: .65s; }

.framework-stage:first-child {
    margin-left: 0;
}

.framework-stage:last-child {
    margin-right: 0;
}

.framework-stage--focus {
    background: linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .018));
    border-color: rgba(216, 178, 119, .46);
    box-shadow: 0 1.4rem 3.5rem rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .08), 0 0 2rem rgba(216, 178, 119, .06);
}

@media (hover: hover) {
    .framework-stage:hover {
        background: linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .025));
        border-color: rgba(216, 178, 119, .55);
        box-shadow: 0 1.6rem 3.8rem rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .09), 0 0 1.8rem rgba(207, 116, 142, .08);
        transform: translateY(-.35rem);
    }
}

.framework-stage--focus::after {
    position: absolute;
    inset: 0;
    border: 1px solid rgba(216, 178, 119, .18);
    content: "";
    opacity: 0;
    pointer-events: none;
}

.has-motion .framework-flow.is-visible .framework-stage--focus::after {
    animation: framework-focus-glow 4.8s ease-in-out 1.1s infinite;
}

.framework-stage__top {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
    color: var(--ts-gold);
    font-size: .65rem;
    font-weight: 700;
}

.framework-stage__dot {
    width: .8rem;
    height: .8rem;
    background: var(--ts-wine-950);
    border: 2px solid var(--ts-gold);
    border-radius: 50%;
}

.has-motion .framework-flow.is-visible .framework-stage__dot {
    animation: framework-dot-pulse 3.6s ease-in-out 1.1s infinite;
}

.framework-stage__label {
    margin: 0 0 .8rem;
    color: var(--ts-rose);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.framework-stage h3 {
    max-width: 18rem;
    margin-bottom: .8rem;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -.03em;
    line-height: 1.3;
}

.framework-stage > p:not(.framework-stage__label) {
    color: rgba(255, 255, 255, .58);
    font-size: .97rem;
    line-height: 1.6;
}

.framework-stage ul {
    display: grid;
    gap: .4rem;
    margin: 1.5rem 0 0;
    padding: 0;
    color: rgba(255, 255, 255, .76);
    font-size: .86rem;
    line-height: 1.5;
    list-style: none;
}

.framework-stage li::before {
    margin-right: .5rem;
    color: var(--ts-gold);
    content: "—";
}

.framework-bridge {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
    padding: 1rem 1.15rem;
    color: rgba(255, 255, 255, .7);
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(216, 178, 119, .2);
    border-radius: var(--ts-radius-sm);
}

.framework-bridge > span {
    color: var(--ts-gold);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.framework-bridge p {
    margin: 0;
    font-size: .9rem;
    line-height: 1.5;
}

.text-link--light {
    color: #fff;
    white-space: nowrap;
}

.text-link--light:hover,
.text-link--light:focus-visible {
    color: var(--ts-gold);
}

.framework-note {
    max-width: 42rem;
    margin: 2rem auto 0;
    padding: .8rem 1rem;
    color: rgba(255, 255, 255, .65);
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 3rem;
    font-size: .8rem;
    text-align: center;
}

.framework-note span {
    margin-right: .45rem;
    color: var(--ts-gold);
}

.has-motion .framework-note.is-visible {
    animation: framework-note-in .8s cubic-bezier(.2, .8, .2, 1) .35s both;
}

.markets-section {
    background: #fff;
}

.markets-section__roadmap {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    max-width: 42rem;
    margin: 1.5rem auto 0;
    padding: .75rem 1rem;
    color: var(--ts-muted);
    background: linear-gradient(90deg, rgba(118, 35, 66, .035), rgba(255, 255, 255, .9), rgba(118, 35, 66, .035));
    border: 1px solid var(--ts-border);
    border-radius: 3rem;
    font-size: .72rem;
    text-align: center;
}

.markets-section__roadmap::after {
    position: absolute;
    top: -80%;
    bottom: -80%;
    left: -30%;
    width: 18%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .72), transparent);
    content: "";
    opacity: 0;
    pointer-events: none;
    transform: skewX(-18deg);
}

.markets-section__roadmap > * {
    position: relative;
    z-index: 1;
}

.has-motion .markets-section__roadmap.is-visible::after {
    animation: markets-roadmap-sheen 7s ease-in-out 1s infinite;
}

.has-motion .markets-section .row > .reveal:nth-child(1) { transition-delay: .08s; }
.has-motion .markets-section .row > .reveal:nth-child(2) { transition-delay: .22s; }
.has-motion .markets-section .row > .reveal:nth-child(3) { transition-delay: .36s; }

.has-motion .markets-section .row > .reveal.is-visible .market-panel {
    animation: markets-panel-in .8s cubic-bezier(.2, .8, .2, 1) both;
}

.has-motion .markets-section .row > .reveal:nth-child(1).is-visible .market-panel { animation-delay: .08s; }
.has-motion .markets-section .row > .reveal:nth-child(2).is-visible .market-panel { animation-delay: .22s; }
.has-motion .markets-section .row > .reveal:nth-child(3).is-visible .market-panel { animation-delay: .36s; }

.has-motion .markets-section .row > .reveal.is-visible .market-panel__marker {
    animation: markets-marker-in .7s cubic-bezier(.2, .8, .2, 1) both;
}

.has-motion .markets-section .row > .reveal:nth-child(1).is-visible .market-panel__marker { animation-delay: .32s; }
.has-motion .markets-section .row > .reveal:nth-child(2).is-visible .market-panel__marker { animation-delay: .46s; }
.has-motion .markets-section .row > .reveal:nth-child(3).is-visible .market-panel__marker { animation-delay: .6s; }

.market-panel--featured {
    position: relative;
    overflow: hidden;
}

.market-panel--featured::after {
    position: absolute;
    inset: 0;
    border: 1px solid rgba(150, 52, 85, .22);
    border-radius: inherit;
    content: "";
    opacity: 0;
    pointer-events: none;
}

.has-motion .markets-section .market-panel--featured::after {
    animation: markets-feature-pulse 5.5s ease-in-out 1.5s infinite;
}

.markets-section__roadmap-kicker,
.markets-section__roadmap-more {
    color: var(--ts-wine-700);
    font-weight: 800;
}

.markets-section__roadmap-kicker {
    letter-spacing: .12em;
    text-transform: uppercase;
}

.markets-section__roadmap-divider {
    width: 2.5rem;
    height: 1px;
    background: var(--ts-border);
}

.markets-section__roadmap-arrow {
    color: var(--ts-rose);
    font-size: .95rem;
}

.market-panel {
    height: 100%;
    min-height: 21rem;
    display: flex;
    flex-direction: column;
    padding: 1.8rem;
    background: var(--ts-ivory);
    border: 1px solid var(--ts-border);
    border-radius: var(--ts-radius);
    transition: transform .25s ease, box-shadow .25s ease;
}

.market-panel:hover {
    transform: translateY(-5px);
    box-shadow: var(--ts-shadow-sm);
}

.market-panel--featured {
    background: var(--ts-wine-050);
    border-color: rgba(118, 35, 66, .3);
}

.market-panel__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 3.2rem;
}

.market-panel__code {
    color: var(--ts-wine-700);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.market-panel__marker {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    color: var(--ts-wine-600);
    background: #fff;
    border: 1px solid var(--ts-border);
    border-radius: 50%;
}

.market-panel h3 {
    margin-bottom: .7rem;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -.035em;
}

.market-panel > p {
    color: var(--ts-muted);
    font-size: .97rem;
    line-height: 1.6;
}

.market-panel__footer {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: auto;
}

.market-panel__footer span {
    padding: .35rem .55rem;
    color: var(--ts-muted);
    background: #fff;
    border: 1px solid var(--ts-border);
    border-radius: 2rem;
    font-size: .66rem;
    font-weight: 600;
}

.markets-section__note {
    max-width: 50rem;
    margin: 2rem auto 0;
    color: var(--ts-muted);
    font-size: .73rem;
    text-align: center;
}

@keyframes markets-roadmap-sheen {
    0%, 18% { left: -30%; opacity: 0; }
    32% { opacity: .72; }
    52%, 100% { left: 112%; opacity: 0; }
}

@keyframes markets-panel-in {
    from { opacity: .25; transform: translateY(.8rem) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes markets-marker-in {
    from { opacity: 0; transform: scale(.72) rotate(-16deg); }
    to { opacity: 1; transform: scale(1) rotate(0); }
}

@keyframes markets-feature-pulse {
    0%, 100% { opacity: 0; box-shadow: inset 0 0 0 rgba(150, 52, 85, 0); }
    50% { opacity: 1; box-shadow: inset 0 0 1.6rem rgba(150, 52, 85, .06); }
}

.text-link {
    display: inline-flex;
    gap: .5rem;
    margin-top: 1.2rem;
    color: var(--ts-wine-700);
    font-size: .86rem;
    font-weight: 800;
    text-decoration: none;
}

.text-link:hover {
    color: var(--ts-wine-950);
}

.how-it-works__media {
    position: relative;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #160b12;
    border: 1px solid rgba(118, 35, 66, .32);
    border-radius: var(--ts-radius-lg);
    box-shadow: 0 1.5rem 3.5rem rgba(54, 18, 35, .13), inset 0 1px 0 rgba(255, 255, 255, .22);
    isolation: isolate;
}

.how-it-works__video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 100% center;
    filter: saturate(.92) contrast(1.02);
}

.how-it-works__media::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(36, 8, 19, .42), transparent 30%, rgba(36, 8, 19, .3) 72%, rgba(22, 11, 18, .96) 90%);
    content: "";
    pointer-events: none;
}

.how-it-works__video-overlay {
    position: absolute;
    z-index: 2;
    top: 1rem;
    right: 1rem;
    left: 1rem;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    color: #fff;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .35);
    text-transform: uppercase;
}

.how-it-works__video-overlay span {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}

.how-it-works__video-overlay i {
    width: .46rem;
    height: .46rem;
    background: #f04479;
    border-radius: 50%;
    box-shadow: 0 0 0 .22rem rgba(240, 68, 121, .18);
}

.how-it-works__video-overlay small {
    color: rgba(255, 255, 255, .7);
    font-size: inherit;
    font-weight: 600;
}

.how-it-works__caption {
    position: absolute;
    z-index: 2;
    right: 1.2rem;
    bottom: 1rem;
    left: 1.2rem;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem .15rem .15rem;
    color: rgba(255, 255, 255, .92);
    background: linear-gradient(180deg, transparent, rgba(22, 11, 18, .9) 42%);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.4;
    text-shadow: 0 1px 10px rgba(0, 0, 0, .65);
    text-transform: uppercase;
}

.how-it-works__caption small {
    color: rgba(255, 255, 255, .7);
    font-size: .65rem;
    font-weight: 500;
    letter-spacing: .02em;
    text-transform: none;
}

.how-it-works__caption::before {
    position: absolute;
    right: -1.2rem;
    bottom: 100%;
    left: -1.2rem;
    height: 2rem;
    background: rgba(22, 11, 18, .84);
    content: "";
    pointer-events: none;
}

#how-it-works {
    padding-block: clamp(4rem, 6vw, 6rem);
}

#how-it-works > .container > .row:first-child {
    --bs-gutter-y: 2rem;
}

#how-it-works .journey-grid {
    margin-top: 2.25rem !important;
}

#how-it-works .journey-grid li {
    min-height: 10.5rem;
    padding: 1.25rem;
}

#how-it-works .journey-grid h3 {
    margin-top: 1.65rem;
}

.journey-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--ts-border);
    list-style: none;
}

.journey-grid li {
    min-height: 13rem;
    padding: 1.5rem;
    border-right: 1px solid var(--ts-border);
}

.journey-grid li:last-child {
    border-right: 0;
}

.journey-grid li > span {
    color: var(--ts-wine-600);
    font-size: .66rem;
    font-weight: 700;
}

.journey-grid h3 {
    margin: 2.2rem 0 .5rem;
    font-size: 1rem;
    font-weight: 700;
}

.journey-grid p {
    margin: 0;
    color: var(--ts-muted);
    font-size: .9rem;
    line-height: 1.55;
}

@keyframes plans-abstract-drift {
    from { transform: rotate(-4deg) translate3d(-1%, 0, 0) scale(1); }
    to { transform: rotate(-2deg) translate3d(2%, 1.5%, 0) scale(1.04); }
}

.plans-section {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: #fff;
}

.plans-section::before {
    position: absolute;
    inset: -18%;
    z-index: 0;
    background-image: repeating-radial-gradient(ellipse at 12% 28%, transparent 0 3.2rem, rgba(118, 35, 66, .045) 3.25rem 3.32rem, transparent 3.38rem 7.4rem), repeating-linear-gradient(125deg, transparent 0 8rem, rgba(207, 116, 142, .04) 8.05rem 8.1rem, transparent 8.16rem 15rem);
    content: "";
    opacity: .72;
    transform: rotate(-4deg) translate3d(-1%, 0, 0);
    animation: plans-abstract-drift 18s ease-in-out infinite alternate;
    pointer-events: none;
}

.plans-section::after {
    position: absolute;
    top: 8%;
    right: -12rem;
    width: 34rem;
    height: 34rem;
    background: radial-gradient(circle, rgba(207, 116, 142, .1), transparent 68%);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.plans-section > .container {
    position: relative;
    z-index: 1;
}

@media (min-width: 992px) {
    .plans-section .section-heading-centered {
        max-width: none;
    }

    .plans-section__title {
        max-width: none;
        font-size: clamp(2.05rem, 2.8vw, 2.5rem);
        white-space: nowrap;
    }
}

.comparison-panel {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    max-width: 67rem;
    margin: 3.2rem auto 0;
    overflow: hidden;
    border: 1px solid var(--ts-border);
    border-radius: var(--ts-radius-lg);
    box-shadow: var(--ts-shadow-lg);
}

.comparison-panel__plan {
    min-height: 34rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(1.7rem, 4vw, 2.7rem);
    background: var(--ts-ivory);
}

.comparison-panel__plan--future {
    color: #fff;
    background: var(--ts-wine-900);
}

.plan-badge {
    display: inline-block;
    margin-bottom: 2.2rem;
    padding: .4rem .65rem;
    color: var(--ts-wine-700);
    background: var(--ts-wine-100);
    border-radius: 2rem;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.plan-badge--future {
    color: var(--ts-gold);
    background: rgba(216, 178, 119, .11);
    border: 1px solid rgba(216, 178, 119, .22);
}

.comparison-panel__plan--future .comparison-panel__overline {
    color: var(--ts-gold);
}

.comparison-panel__plan h3 {
    max-width: 25rem;
    margin-bottom: .7rem;
    font-size: clamp(1.3rem, 2vw, 1.65rem);
    font-weight: 700;
    letter-spacing: -.04em;
    line-height: 1.2;
}

.comparison-panel__plan p:not(.comparison-panel__overline),
.comparison-panel__plan li {
    color: var(--ts-muted);
    font-size: .9rem;
    line-height: 1.6;
}

.comparison-panel__plan--future p:not(.comparison-panel__overline),
.comparison-panel__plan--future li {
    color: rgba(255, 255, 255, .64);
}

.comparison-panel__plan ul {
    display: grid;
    gap: .75rem;
    margin: 1.8rem 0;
    padding: 0;
    list-style: none;
}

.comparison-panel__plan li::before {
    margin-right: .55rem;
    color: var(--ts-wine-600);
    content: "✓";
    font-weight: 800;
}

.comparison-panel__plan--future li::before {
    color: var(--ts-gold);
}

.comparison-panel__plan .btn {
    align-self: flex-start;
}

.future-status {
    align-self: flex-start;
    padding: .65rem .8rem;
    color: var(--ts-gold);
    border: 1px solid rgba(216, 178, 119, .28);
    border-radius: .5rem;
    font-size: .69rem;
    font-weight: 700;
}

.trust-section {
    color: #fff;
    background: var(--ts-wine-850);
}

.integrity-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid rgba(255, 255, 255, .13);
    border-left: 1px solid rgba(255, 255, 255, .13);
}

.integrity-grid article {
    min-height: 13rem;
    padding: 1.5rem;
    border-right: 1px solid rgba(255, 255, 255, .13);
    border-bottom: 1px solid rgba(255, 255, 255, .13);
}

.integrity-grid span {
    color: var(--ts-gold);
    font-size: .63rem;
    font-weight: 700;
}

.integrity-grid h3 {
    margin: 1.6rem 0 .45rem;
    font-size: 1.05rem;
    font-weight: 700;
}

.integrity-grid p {
    margin: 0;
    color: rgba(255, 255, 255, .59);
    font-size: .92rem;
    line-height: 1.55;
}

.research-disclosure {
    display: grid;
    grid-template-columns: 6rem 1fr auto;
    align-items: start;
    gap: 1.5rem;
    margin-top: 3.5rem;
    padding: 1.4rem;
    background: rgba(0, 0, 0, .13);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--ts-radius-sm);
}

.research-disclosure strong {
    color: var(--ts-gold);
    font-size: .66rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.research-disclosure p,
.research-disclosure span {
    margin: 0;
    color: rgba(255, 255, 255, .6);
    font-size: .84rem;
    line-height: 1.55;
}

.research-disclosure span {
    color: #fff;
    font-weight: 700;
    text-align: right;
}

.faq-section {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(135deg, #faf2f5 0%, #fffdfa 52%, #f7eef2 100%);
}

.faq-section::before {
    position: absolute;
    inset: -24%;
    z-index: 0;
    background-image: linear-gradient(rgba(118, 35, 66, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(118, 35, 66, .035) 1px, transparent 1px), linear-gradient(146deg, transparent 0 57%, rgba(150, 52, 85, .1) 57.2% 57.35%, transparent 57.55% 100%), radial-gradient(circle at 50% 50%, rgba(207, 116, 142, .25) 0 .11rem, transparent .17rem);
    background-position: 0 0, 0 0, 0 0, 2rem 1rem;
    background-size: 4.5rem 4.5rem, 4.5rem 4.5rem, 28rem 16rem, 18rem 12rem;
    background-repeat: repeat;
    content: "";
    opacity: .62;
    animation: faq-graph-drift 24s linear infinite;
    pointer-events: none;
}

.faq-section::after {
    position: absolute;
    bottom: -18rem;
    left: -12rem;
    width: 34rem;
    height: 34rem;
    background: radial-gradient(circle, rgba(216, 178, 119, .1), transparent 68%);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.faq-section > .container {
    position: relative;
    z-index: 1;
}

@keyframes faq-graph-drift {
    from { background-position: 0 0, 0 0, 0 0, 2rem 1rem; }
    to { background-position: 4.5rem 2.25rem, -2.25rem 4.5rem, 28rem -16rem, -16rem 10rem; }
}

.faq-list {
    border-top: 1px solid var(--ts-border);
}

.faq-list details {
    position: relative;
    border-bottom: 1px solid var(--ts-border);
    transition: background-color .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.faq-list details[open] {
    background: rgba(255, 255, 255, .46);
    border-color: rgba(150, 52, 85, .18);
    border-radius: 1rem;
    box-shadow: 0 .7rem 1.8rem rgba(80, 25, 45, .055), inset 0 1px 0 rgba(255, 255, 255, .65);
}

.faq-list summary {
    position: relative;
    padding: 1.35rem 3rem 1.35rem 0;
    color: var(--ts-ink);
    cursor: pointer;
    font-size: .95rem;
    font-weight: 700;
    list-style: none;
    transition: color .3s ease, padding-inline .3s ease;
}

.faq-list details[open] summary {
    color: var(--ts-wine-700);
    padding-inline: 1rem 3rem;
}

.faq-list summary::-webkit-details-marker {
    display: none;
}

.faq-list summary::after {
    position: absolute;
    top: 1.15rem;
    right: .2rem;
    display: grid;
    width: 1.9rem;
    height: 1.9rem;
    place-items: center;
    color: var(--ts-wine-700);
    background: var(--ts-wine-100);
    border-radius: 50%;
    content: "+";
    font-size: 1.05rem;
    font-weight: 500;
    transition: color .35s ease, background-color .35s ease, box-shadow .35s ease, transform .35s cubic-bezier(.2, .8, .2, 1);
}

.faq-list details[open] summary::after {
    color: var(--ts-wine-700);
    background: rgba(207, 116, 142, .18);
    box-shadow: 0 0 0 .35rem rgba(207, 116, 142, .07);
    transform: rotate(45deg);
}

.faq-list details > .faq-answer {
    display: block !important;
    max-height: 0;
    overflow: hidden;
    transition: max-height .45s cubic-bezier(.2, .8, .2, 1);
}

.faq-list details[open] > .faq-answer {
    max-height: 24rem;
}

.faq-list details > .faq-answer > p {
    min-height: 0;
    overflow: hidden;
    max-width: 45rem;
    margin: 0 3rem 0 0;
    padding: 0;
    color: var(--ts-muted);
    font-size: .92rem;
    line-height: 1.65;
    opacity: 0;
    transform: translateY(-.5rem);
    transition: opacity .35s ease .05s, transform .45s cubic-bezier(.2, .8, .2, 1) .05s, padding .45s ease;
}

.faq-list details[open] > .faq-answer > p {
    padding: 0 1rem 1.4rem;
    opacity: 1;
    transform: translateY(0);
}

.faq-list details[data-faq-closing] > .faq-answer > p {
    padding-bottom: 0;
    opacity: 0;
    transform: translateY(-.5rem);
}

.final-cta {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    color: #fff;
    background: linear-gradient(130deg, var(--ts-wine-950), var(--ts-wine-700));
}

.final-cta::before {
    position: absolute;
    inset: -30%;
    z-index: 0;
    background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(118deg, transparent 0 52%, rgba(216, 178, 119, .18) 52.2% 52.35%, transparent 52.55% 100%), radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .8) 0 .08rem, transparent .14rem);
    background-position: 0 0, 0 0, 0 0, 1rem 2rem;
    background-size: 5rem 5rem, 5rem 5rem, 30rem 18rem, 16rem 11rem;
    background-repeat: repeat;
    content: "";
    opacity: .36;
    animation: final-cta-graph-drift 19s linear infinite;
    pointer-events: none;
}

.final-cta::after {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(120deg, transparent 20%, rgba(255, 255, 255, .04) 50%, transparent 80%);
    content: "";
    opacity: .7;
    transform: translateX(-40%);
    animation: final-cta-sheen 11s ease-in-out infinite;
    pointer-events: none;
}

.final-cta__glow {
    position: absolute;
    top: -12rem;
    right: -5rem;
    width: 31rem;
    height: 31rem;
    background: radial-gradient(circle, rgba(216, 178, 119, .2), transparent 67%);
    border-radius: 50%;
    animation: final-cta-glow-drift 12s ease-in-out infinite alternate;
}

.final-cta__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-top: clamp(5rem, 8vw, 7rem);
    padding-right: clamp(1.25rem, 8vw, 8rem);
    padding-bottom: clamp(5rem, 8vw, 7rem);
    padding-left: clamp(1.25rem, 8vw, 8rem);
    background: linear-gradient(145deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .035));
    border-top: 1px solid rgba(255, 255, 255, .16);
    border-bottom: 1px solid rgba(255, 255, 255, .16);
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .13);
    backdrop-filter: blur(14px);
    text-align: center;
}

@keyframes final-cta-graph-drift {
    from { background-position: 0 0, 0 0, 0 0, 1rem 2rem; }
    to { background-position: 5rem 2.5rem, -2.5rem 5rem, 30rem -18rem, -15rem 11rem; }
}

@keyframes final-cta-sheen {
    0%, 18% { opacity: 0; transform: translateX(-40%); }
    38% { opacity: .7; }
    62%, 100% { opacity: 0; transform: translateX(40%); }
}

@keyframes final-cta-glow-drift {
    from { transform: translate3d(0, 0, 0) scale(.94); opacity: .65; }
    to { transform: translate3d(-1.5rem, 1rem, 0) scale(1.08); opacity: 1; }
}

.final-cta h2 {
    margin-bottom: 1rem;
    font-size: clamp(2rem, 3.6vw, 3.2rem);
    font-weight: 700;
    letter-spacing: -.06em;
    line-height: 1.05;
}

.final-cta p:not(.eyebrow) {
    max-width: 39rem;
    margin: 0 auto 2rem;
    color: rgba(255, 255, 255, .68);
    font-size: 1rem;
}

.site-footer {
    color: rgba(255, 255, 255, .67);
    background: #17050d;
}

.brand-lockup--footer {
    margin-bottom: 1.4rem;
}

.site-footer__slogan {
    margin-bottom: .5rem;
    color: #fff;
    font-size: .86rem;
    font-weight: 600;
}

.site-footer__copy,
.site-footer__small {
    max-width: 23rem;
    color: rgba(255, 255, 255, .48);
    font-size: .77rem;
}

.footer-heading {
    margin-bottom: 1rem;
    color: var(--ts-gold);
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.site-footer a:not(.brand-lockup) {
    display: block;
    width: fit-content;
    margin-bottom: .5rem;
    color: rgba(255, 255, 255, .61);
    font-size: .77rem;
    text-decoration: none;
}

.site-footer a:not(.brand-lockup):hover,
.site-footer a:not(.brand-lockup):focus {
    color: #fff;
}

.site-footer .footer-launch {
    margin-top: 1.1rem;
    color: #fff !important;
    font-weight: 700;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 1rem 2rem;
    margin-top: 4rem;
    padding-top: 1.2rem;
    border-top: 1px solid rgba(255, 255, 255, .11);
    color: rgba(255, 255, 255, .62);
    font-size: .67rem;
}

.footer-bottom a {
    margin: 0 !important;
    font-size: inherit !important;
}

.has-motion .reveal {
    opacity: 0;
    transform: translateY(1.5rem);
    transition: opacity .7s ease, transform .7s cubic-bezier(.2, .8, .2, 1);
}

.has-motion .reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.hero-reveal {
    animation: hero-enter .75s cubic-bezier(.2, .8, .2, 1) both;
}

.hero-reveal:nth-child(2) { animation-delay: .08s; }
.hero-reveal:nth-child(3) { animation-delay: .16s; }
.hero-reveal:nth-child(4) { animation-delay: .24s; }
.hero-reveal:nth-child(5) { animation-delay: .32s; }

@keyframes hero-enter {
    from { opacity: 0; transform: translateY(1.25rem); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes ambient-float {
    from { transform: translate3d(0, 0, 0) scale(1); }
    to { transform: translate3d(-1.5rem, 1rem, 0) scale(1.06); }
}

@keyframes problem-ambient-drift {
    from { transform: translate3d(0, 0, 0) scale(.94); opacity: .55; }
    to { transform: translate3d(-2rem, 1.5rem, 0) scale(1.08); opacity: 1; }
}

@keyframes clarity-panel-scan {
    0%, 100% { left: -30%; opacity: 0; }
    18%, 74% { opacity: .7; }
    86% { left: 92%; opacity: 0; }
}

@keyframes clarity-status-pulse {
    0%, 100% { box-shadow: 0 0 0 rgba(207, 116, 142, 0); }
    50% { box-shadow: 0 0 .65rem rgba(207, 116, 142, .58); }
}

@keyframes clarity-content-in {
    from { opacity: 0; transform: translate3d(0, .7rem, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes clarity-route-in {
    from { opacity: .35; transform: scaleX(0); }
    to { opacity: 1; transform: scaleX(1); }
}

@keyframes framework-ambient-drift {
    from { transform: translate3d(0, 0, 0) scale(.94); opacity: .65; }
    to { transform: translate3d(-1.5rem, 1rem, 0) scale(1.08); opacity: 1; }
}

@keyframes framework-signal-field {
    from { transform: translate3d(-6%, 0, 0) rotate(-12deg); }
    to { transform: translate3d(6%, 2%, 0) rotate(-12deg); }
}

@keyframes framework-line-draw {
    from { transform: scaleX(0); opacity: .35; }
    to { transform: scaleX(1); opacity: 1; }
}

@keyframes framework-stage-in {
    from { opacity: 0; transform: translate3d(0, 1rem, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes framework-stage-glow {
    0%, 100% { box-shadow: 0 1.2rem 3.2rem rgba(0, 0, 0, .12), inset 0 1px 0 rgba(255, 255, 255, .05); }
    50% { box-shadow: 0 1.5rem 3.8rem rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .08), 0 0 1.6rem rgba(207, 116, 142, .07); }
}

@keyframes framework-dot-pulse {
    0%, 100% { box-shadow: 0 0 0 rgba(216, 178, 119, 0); transform: scale(1); }
    50% { box-shadow: 0 0 0 .35rem rgba(216, 178, 119, .12); transform: scale(1.12); }
}

@keyframes framework-focus-glow {
    0%, 100% { opacity: 0; }
    42%, 62% { opacity: 1; }
}

@keyframes framework-note-in {
    from { opacity: 0; transform: translateY(.7rem); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes data-route-draw { to { stroke-dashoffset: 0; } }
@keyframes chart-draw { to { stroke-dashoffset: 0; } }
@keyframes bar-rise { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes data-panel-enter { to { opacity: 1; translate: 0 0; } }
@keyframes panel-glow { 0%, 100% { border-color: rgba(238, 91, 127, .48); box-shadow: 0 1.8rem 3.5rem rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .1), 0 0 1.5rem rgba(181, 27, 76, .08); } 50% { border-color: rgba(244, 111, 145, .82); box-shadow: 0 1.9rem 3.8rem rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .13), 0 0 2.6rem rgba(208, 37, 91, .24); } }
@keyframes marker-pulse { 0%, 100% { transform: scale(1); filter: drop-shadow(0 0 .1rem rgba(255, 93, 137, .35)); } 50% { transform: scale(1.25); filter: drop-shadow(0 0 .45rem rgba(255, 93, 137, .9)); } }
@keyframes icon-pulse { 0%, 100% { box-shadow: 0 0 0 rgba(235, 72, 119, 0); } 50% { box-shadow: 0 0 .9rem rgba(235, 72, 119, .48); } }

@media (max-width: 1199.98px) {
    .site-nav .nav-link { padding-inline: .46rem; font-size: .73rem; }
    .btn-nav { font-size: .73rem; }
}

@media (min-width: 992px) {
    .hero-section__inner { align-items: flex-start; }
}

@media (min-width: 1200px) {
    .hero-section__inner { max-width: calc(100% - 136px); }
}

@media (min-width: 1600px) {
    .site-nav__inner { max-width: calc(100% - 136px); }
    .hero-section__inner { min-height: min(55rem, calc(100svh - 4.5rem)); }
    .data-story { min-height: 40rem; }
    .data-panel { min-height: 36rem; }
    .hero-data-story + .principle-strip { margin-top: -7rem; }
}

@media (min-width: 1800px) {
    .site-nav, .site-nav__inner { min-height: 9.5rem; }
    .site-nav__inner { max-width: calc(100% - 200px); }
    .hero-section__inner { min-height: min(60rem, calc(100svh - 4.5rem)); }
    .data-story { min-height: 44rem; }
    .data-panel { min-height: 40rem; }
    .hero-data-story + .principle-strip { margin-top: -8rem; padding-bottom: 5rem; }
}

@media (max-width: 991.98px) {
    .site-nav .navbar-collapse {
        max-height: calc(100vh - 5.2rem);
        overflow-y: auto;
        padding: 1rem 0 1.4rem;
        border-top: 1px solid rgba(255, 255, 255, .1);
    }

    .site-nav .navbar-nav { align-items: stretch !important; }
    .site-nav .nav-link { padding: .65rem 0; font-size: .85rem; }
    .btn-nav { width: 100%; padding: .8rem; }
    .hero-section__inner { min-height: auto; }
    .data-story { max-width: 46rem; margin: 0 auto; }
    .principle-strip__grid { grid-template-columns: repeat(2, 1fr); }
    .principle-strip__grid > span:nth-child(2) { border-right: 0; }
    .framework-stage { padding-inline: 1.2rem; }
    .framework-bridge { grid-template-columns: 1fr; gap: .55rem; }
    .framework-bridge .text-link { justify-self: start; }
    .research-disclosure { grid-template-columns: 5rem 1fr; }
    .research-disclosure span { grid-column: 2; text-align: left; }
}

@media (min-width: 1200px) and (max-width: 1499.98px) {
    .site-nav__inner { width: calc(100% - 80px); }
    .site-nav .navbar-collapse { top: 0; right: 0; left: 330px; height: 92px; }
    .site-nav .navbar-nav { gap: 16px !important; }
    .site-nav .nav-link { font-size: 14px; }
    .btn-nav { min-width: 216px; padding: 14px 18px; font-size: 14px; }
    .strict-hero { height: 748px; min-height: 0; padding: 0; }
    .strict-hero__content { position: absolute; top: 160px; left: 40px; width: 43%; max-width: 620px; }
    .strict-title { font-size: clamp(52px, 4.7vw, 72px); letter-spacing: -3.8px; }
    .strict-lead { width: 100%; font-size: clamp(15px, 1.35vw, 20px); }
    .strict-actions { gap: 12px; }
    .strict-button--primary, .strict-button--outline { width: calc((100% - 12px) / 2); font-size: clamp(13px, 1.15vw, 17px); }
    .strict-button--outline i { width: 25px; height: 25px; margin-left: 8px; }
    .strict-panels { position: absolute; top: 0; right: 10px; left: 45%; width: auto; height: 100%; margin-top: 0; gap: 14px; }
    .strict-card { padding: 18px 15px 16px; }
    .strict-card header { gap: 10px; }
    .strict-card__index { font-size: 18px; }
    .strict-card h2 { font-size: 15px; }
    .strict-card__description { margin-top: 13px; font-size: 12px; }
    .strict-chart { margin-top: 17px; }
    .strict-card__list { gap: 5px; margin-top: 12px; }
    .strict-card__list li { gap: 6px; font-size: 10px; }
    .strict-card__list b { width: 25px; height: 25px; flex-basis: 25px; border-radius: 6px; font-size: 12px; }
    .strict-wave { top: 320px; left: 37%; width: 70%; }
    .strict-feature-strip { height: 116px; min-height: 116px; }
    .strict-feature-strip__inner { width: calc(100% - 80px); grid-template-columns: repeat(4, 1fr); }
    .strict-feature { gap: 14px; }
    .strict-feature__icon { width: 60px; height: 60px; flex-basis: 60px; }
    .strict-feature strong { font-size: 14px; }
    .strict-feature small { font-size: 12px; }

}

/* Keep the analytical cards beside the copy at medium desktop widths. */
@media (min-width: 1200px) and (max-width: 1499.98px) {
    .strict-hero { height: 748px; min-height: 0; padding: 0; }
    .strict-hero__content { position: absolute; top: 160px; left: 40px; width: 43%; max-width: 620px; }
    .strict-title { font-size: clamp(52px, 4.7vw, 72px); letter-spacing: -3.8px; }
    .strict-lead { width: 100%; font-size: clamp(15px, 1.35vw, 20px); }
    .strict-actions { gap: 12px; }
    .strict-button--primary, .strict-button--outline { width: calc((100% - 12px) / 2); font-size: clamp(13px, 1.15vw, 17px); }
    .strict-button--outline i { width: 25px; height: 25px; margin-left: 8px; }
    .strict-panels { position: absolute; top: 0; right: 10px; left: 45%; width: auto; height: 100%; margin-top: 0; gap: 14px; }
    .strict-card { padding: 18px 15px 16px; }
    .strict-card header { gap: 10px; }
    .strict-card__index { font-size: 18px; }
    .strict-card h2 { font-size: 15px; }
    .strict-card__description { margin-top: 13px; font-size: 12px; }
    .strict-chart { margin-top: 17px; }
    .strict-card__list { gap: 5px; margin-top: 12px; }
    .strict-card__list li { gap: 6px; font-size: 10px; }
    .strict-card__list b { width: 25px; height: 25px; flex-basis: 25px; border-radius: 6px; font-size: 12px; }
    .strict-wave { top: 320px; left: 37%; width: 70%; }
}

@media (max-width: 767.98px) {
    .hero-curves { inset: 35% 0 0; opacity: .25; }
    .data-story { min-height: auto; padding-top: 0; }
    .data-story::before { display: none; }
    .data-story__connector { display: none; }
    .data-story__panels { grid-template-columns: 1fr; gap: 1rem; }
    .data-panel, .data-panel:nth-child(1), .data-panel:nth-child(2), .data-panel:nth-child(3) { --card-y: 0deg; --card-z: 0deg; min-height: 19rem; top: 0; margin-top: 0; translate: 0 1.4rem; transform: rotateY(0deg) rotateZ(0deg); }
    .data-panel svg { max-width: 24rem; margin-inline: auto; margin-top: 1rem; }
    .data-story__legend { margin-top: 1.4rem; }
    .principle-strip__grid { grid-template-columns: 1fr; padding-block: .5rem; }
    .principle-strip__grid > span { min-height: 3.3rem; padding: 0; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .1); }
    .principle-strip__grid > span:last-child { border-bottom: 0; }
    .framework-flow { grid-template-columns: 1fr; gap: 0; }
    .framework-flow::before { top: 0; bottom: 0; left: .35rem; right: auto; width: 1px; height: auto; }
    .framework-stage, .framework-stage:first-child, .framework-stage:last-child { min-height: 0; margin: 0 0 1rem; padding: 1.4rem 1.2rem 1.6rem 2.2rem; background: linear-gradient(145deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .018)); border: 1px solid rgba(216, 178, 119, .18); border-radius: 1rem; box-shadow: 0 .8rem 2rem rgba(0, 0, 0, .12), inset 0 1px 0 rgba(255, 255, 255, .05); }
    .framework-stage:last-child { margin-bottom: 0; }
    .framework-stage__top { position: absolute; top: .15rem; left: 0; }
    .framework-stage__top > span:first-child { display: none; }
    .framework-stage__dot { background: var(--ts-wine-950); }
    .framework-stage--focus { background: linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .025)); }
    .journey-grid { grid-template-columns: repeat(2, 1fr); }
    .journey-grid li:nth-child(2) { border-right: 0; }
    .journey-grid li:nth-child(-n+2) { border-bottom: 1px solid var(--ts-border); }
    .comparison-panel { grid-template-columns: 1fr; }
    .comparison-panel__plan { min-height: 31rem; }
    .integrity-grid { grid-template-columns: 1fr; }
    .research-disclosure { grid-template-columns: 1fr; }
    .research-disclosure span { grid-column: auto; }
    .footer-bottom { display: grid; justify-content: start; }
}

@media (min-width: 1200px) {
    .hero-title span { white-space: nowrap; }
}

@media (max-width: 575.98px) {
    .row.g-5 { --bs-gutter-x: 1.5rem; }
    .brand-lockup__logo { width: 2.45rem; height: 2.45rem; flex-basis: 2.45rem; }
    .brand-lockup__name { font-size: .92rem; }
    .hero-title { font-size: clamp(2.2rem, 10.5vw, 2.8rem); }
    .hero-actions .btn { width: 100%; }
    .data-panel { padding: .95rem; }
    .data-panel__label { font-size: 1.05rem; }
    .data-story__legend { display: grid; gap: .35rem; }
    .data-story__caption { text-align: left; }
    .hero-data-story + .principle-strip { margin-top: 0; }
    .hero-data-story + .principle-strip { padding-bottom: 0; }
    .section-title { font-size: clamp(1.75rem, 8vw, 2.3rem); }
    .clarity-panel__result { display: grid; }
    .clarity-panel__result strong { text-align: left; }
    .framework-note { border-radius: .8rem; }
    .how-it-works__video-overlay { top: .75rem; right: .75rem; left: .75rem; align-items: flex-start; flex-direction: column; gap: .35rem; font-size: .55rem; }
    .how-it-works__media { aspect-ratio: 16 / 10; }
    .how-it-works__video { object-position: center; }
    .how-it-works__caption { display: none; }
    .journey-grid { grid-template-columns: 1fr; }
    .journey-grid li { min-height: auto; border-right: 0; border-bottom: 1px solid var(--ts-border); }
    .journey-grid li:last-child { border-bottom: 0; }
    .journey-grid h3 { margin-top: 1.2rem; }
    .comparison-panel__plan { min-height: auto; gap: 1.5rem; }
    .faq-list summary { padding-right: 2.6rem; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
    .has-motion .reveal { opacity: 1; transform: none; }
    .hero-reveal { opacity: 1; transform: none; }
    .data-story__route, .data-story__route-glow, .data-panel, .history-bar, .data-panel__line, .scenario-line, .current-dot, .data-panel__list li span { animation: none; }
    .data-story__route, .data-story__route-glow, .data-panel__line, .scenario-line { stroke-dashoffset: 0; }
    .data-panel, .data-panel:nth-child(1), .data-panel:nth-child(2), .data-panel:nth-child(3) { opacity: 1; translate: none; transform: none; }
    .history-bar { transform: none; }
    .problem-section::after, .clarity-panel::before, .clarity-panel__status i { animation: none; }
    .has-motion .reveal.is-visible .problem-list span,
    .has-motion .reveal.is-visible .clarity-panel__item { opacity: 1; animation: none; transform: none; }
    .has-motion .reveal.is-visible .clarity-panel__route i { animation: none; transform: none; }
    .framework-section::before,
    .framework-section::after,
    .has-motion .framework-flow.is-visible::before,
    .has-motion .framework-flow.is-visible .framework-stage,
    .has-motion .framework-flow.is-visible .framework-stage__dot,
    .has-motion .framework-flow.is-visible .framework-stage--focus::after,
    .has-motion .framework-note.is-visible { animation: none; }
    .has-motion .framework-flow.is-visible::before { opacity: 1; transform: none; }
    .has-motion .framework-flow.is-visible .framework-stage,
    .has-motion .framework-note.is-visible { opacity: 1; transform: none; }
    .has-motion .framework-flow.is-visible .framework-stage--focus::after { opacity: 0; }
    .markets-section__roadmap::after,
    .has-motion .markets-section .row > .reveal.is-visible .market-panel,
    .has-motion .markets-section .row > .reveal.is-visible .market-panel__marker,
    .has-motion .markets-section .market-panel--featured::after { animation: none; }
    .plans-section::before,
    .plans-section::after { animation: none; }
    .faq-section::before,
    .faq-section::after { animation: none; }
    .faq-list details,
    .faq-list summary,
    .faq-list summary::after,
    .faq-list details > .faq-answer,
    .faq-list details > .faq-answer > p { transition: none !important; }
    .final-cta::before,
    .final-cta::after,
    .final-cta__glow { animation: none; }
}

/* Reference reconstruction: Tehilah Stocks hero concept 6 */
.site-header {
    position: absolute;
    inset: 0 0 auto;
    z-index: 1050;
    color: #fff;
    background: transparent;
    border-bottom: 0;
    backdrop-filter: none;
}
.brand-lockup { position: relative; z-index: 10001; }

.site-header.is-scrolled {
    background: rgba(7, 3, 6, .92);
    box-shadow: 0 .5rem 1.6rem rgba(0, 0, 0, .25);
}

.site-nav,
.site-nav__inner {
    min-height: 106px;
}

.site-nav__inner {
    position: relative;
    width: calc(100% - 160px);
    max-width: none !important;
    padding: 0;
}

.brand-lockup { gap: 14px; }
.brand-lockup__logo { width: 50px; height: 50px; flex-basis: 50px; }
.brand-lockup__name { font-size: 27px; font-weight: 500; letter-spacing: -.04em; }
.brand-lockup__parent { margin-top: 2px; color: rgba(255, 255, 255, .77); font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.site-nav .navbar-collapse { position: absolute; top: -3px; right: -64px; left: 392px; display: flex !important; align-items: center; height: 106px; }
.site-nav .navbar-nav { width: 100%; gap: 42px !important; }
.site-nav .navbar-nav .nav-item:last-child { margin-left: auto !important; }
.site-nav .nav-link { padding: 0; color: rgba(255, 255, 255, .92); font-size: 16px; font-weight: 400; letter-spacing: -.02em; }
.site-nav .nav-link:hover, .site-nav .nav-link:focus { color: #fff; }
.btn-nav { min-width: 256px; padding: 16px 27px; color: #fff; background: linear-gradient(135deg, #ad0d3a, #c3174c); border: 0; border-radius: 30px; font-size: 16px; font-weight: 600; transform: translateY(-3px); }
.btn-nav:hover, .btn-nav:focus { color: #fff; background: linear-gradient(135deg, #c5164a, #dc285d); }

.strict-hero {
    position: relative;
    height: 748px;
    overflow: hidden;
    color: #fff;
    background: #060406;
    isolation: isolate;
}

.strict-hero::before {
    position: absolute;
    inset: 0;
    z-index: -4;
    background: radial-gradient(ellipse at 94% 50%, rgba(83, 9, 31, .45), transparent 37%), radial-gradient(ellipse at 49% 75%, rgba(72, 7, 27, .18), transparent 30%), linear-gradient(108deg, #050405 0%, #090508 52%, #10070a 100%);
    content: "";
}

.strict-hero::after {
    position: absolute;
    inset: 0;
    z-index: -3;
    background: linear-gradient(90deg, rgba(0, 0, 0, .13), transparent 32%, rgba(113, 13, 43, .11) 100%);
    content: "";
    pointer-events: none;
}

.strict-hero__glow { position: absolute; z-index: -2; width: 700px; height: 250px; border-radius: 50%; filter: blur(38px); opacity: .27; pointer-events: none; }
.strict-hero__glow--left { left: 20%; bottom: 7px; background: radial-gradient(ellipse, rgba(213, 35, 84, .76), transparent 70%); }
.strict-hero__glow--right { right: -80px; top: 275px; background: radial-gradient(ellipse, rgba(181, 13, 58, .65), transparent 70%); }

.strict-hero__content { position: absolute; top: 181px; left: 80px; z-index: 3; width: 700px; }
.strict-eyebrow { margin: 0 0 29px; color: rgba(255, 255, 255, .73); font-size: 15px; font-weight: 500; letter-spacing: 6px; line-height: 1; }
.strict-eyebrow span { margin: 0 8px; color: rgba(255, 255, 255, .62); }
.strict-title { max-width: 700px; margin: 0; color: #faf9f8; font-family: var(--ts-font-heading); font-size: clamp(58px, 3.8vw, 66px); font-weight: 600; letter-spacing: -3.4px; line-height: .96; }
.strict-title em { color: #d52457; font-style: normal; }
.strict-lead { width: 535px; margin: 13px 0 35px; color: rgba(255, 255, 255, .88); font-size: 20px; font-weight: 400; letter-spacing: -.35px; line-height: 1.58; }
.strict-actions { display: flex; gap: 22px; align-items: center; }
.strict-button { display: inline-flex; height: 62px; align-items: center; justify-content: center; border-radius: 31px; font-size: 17px; font-weight: 600; text-decoration: none; transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease; }
.strict-button:hover, .strict-button:focus { color: #fff; transform: translateY(-2px); }
.strict-button--primary { width: 301px; color: #fff; background: linear-gradient(135deg, #bf1648, #a70d3d); box-shadow: 0 12px 28px rgba(160, 9, 57, .24); }
.strict-button--primary span { margin-left: 12px; font-size: 21px; }
.strict-button--outline { width: 295px; color: #fff; border: 1px solid rgba(231, 127, 153, .72); background: rgba(5, 3, 5, .25); }
.strict-button--outline i { display: grid; width: 31px; height: 31px; margin-left: 15px; place-items: center; color: #fff; background: #c41c4e; border-radius: 50%; font-size: 11px; font-style: normal; }
.strict-slogan { margin: 28px 0 0; color: rgba(255, 255, 255, .66); font-size: 15px; font-weight: 500; letter-spacing: 4px; line-height: 1; }
.strict-disclosure { display: block; margin-top: 13px; color: rgba(255, 255, 255, .48); font-size: 12px; letter-spacing: .02em; }

.strict-wave { position: absolute; top: 300px; left: 520px; z-index: -1; width: calc(100% - 520px); height: 390px; overflow: visible; opacity: 1; pointer-events: none; }
.strict-wave__fill { fill: url(#strict-wave-fill); filter: url(#strict-wave-soft); }
.strict-wave__line { fill: none; stroke: url(#strict-wave-line); stroke-linecap: round; stroke-width: 2.2; }
.strict-wave__line--thin { stroke-width: 1.15; opacity: .74; }
.strict-wave__line--fine { stroke-width: .65; opacity: .45; }
.strict-wave__blur { fill: none; stroke: #e92d67; stroke-linecap: round; stroke-width: 18; opacity: .34; filter: url(#strict-wave-blur); }
.strict-wave__blur--lower { stroke-width: 12; opacity: .2; }
.strict-wave__line--lower { opacity: .58; stroke-width: 1; }
.strict-wave__particles { opacity: .58; filter: url(#strict-wave-soft); }

.strict-panels { position: absolute; top: 0; right: 25px; left: 43.85%; z-index: 2; display: grid; grid-template-columns: .9fr .95fr 1fr; gap: 36px; align-items: start; height: 100%; }
.strict-card { position: relative; min-width: 0; padding: 25px 24px 23px; color: #fff; background: linear-gradient(145deg, rgba(36, 12, 25, .87), rgba(16, 6, 13, .77)); border: 1px solid rgba(225, 100, 131, .7); border-radius: 15px; box-shadow: 0 23px 34px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 217, 226, .14), 0 0 22px rgba(173, 14, 62, .16); backdrop-filter: blur(13px); transform-origin: 50% 50%; }
.strict-card--past { top: 184px; height: 482px; transform: rotate(-1.2deg); }
.strict-card--present { top: 169px; height: 518px; transform: rotate(-1.15deg); }
.strict-card--predictive { top: 148px; height: 548px; transform: rotate(-1.65deg); }
.strict-card header { display: flex; align-items: center; gap: 20px; height: 28px; }
.strict-card__index { color: #ef1d52; font-size: 24px; font-weight: 700; line-height: 1; }
.strict-card h2 { margin: 0; color: #fff; font-size: 21px; font-weight: 700; letter-spacing: -.45px; line-height: 1; }
.strict-card__description { margin: 9px 0 0; color: rgba(255, 255, 255, .9); font-size: 16px; line-height: 1.48; }
.strict-chart { display: block; width: 100%; height: auto; margin-top: 25px; overflow: visible; }
.strict-chart__grid line { stroke: rgba(255, 255, 255, .12); stroke-width: 1; }
.strict-chart__axis text { fill: rgba(255, 255, 255, .58); font-family: "Plus Jakarta Sans", sans-serif; font-size: 9px; }
.strict-chart__years text { font-size: 9px; }
.strict-bars rect { fill: url(#strict-wave-line); opacity: .9; filter: drop-shadow(0 0 4px rgba(241, 50, 100, .5)); }
.strict-present-line, .strict-scenario { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.5; filter: drop-shadow(0 0 3px rgba(236, 40, 94, .55)); }
.strict-present-line { stroke: #e8376a; }
.strict-present-dot { fill: #fff; stroke: #e63769; stroke-width: 3; filter: drop-shadow(0 0 5px #ee3569); }
.strict-scenario--bull { stroke: #ef3d6c; }
.strict-scenario--base { stroke: #a9a0ae; }
.strict-scenario--stress { stroke: #2492c8; }
.strict-scenario-dot { fill: #ffedf2; stroke: #df3a68; stroke-width: 2; filter: drop-shadow(0 0 3px #f03d6c); }
.strict-scenario-labels rect { fill: #ca1f50; opacity: .94; }
.strict-scenario-labels rect:nth-of-type(2) { fill: #7c6d83; }
.strict-scenario-labels rect:nth-of-type(3) { fill: #164a73; }
.strict-scenario-labels text { fill: #fff; font-family: "Plus Jakarta Sans", sans-serif; font-size: 12px; font-weight: 700; }
.strict-card__list { display: grid; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.strict-card__list li { display: flex; align-items: center; gap: 12px; color: rgba(255, 255, 255, .9); font-size: 15px; line-height: 1.25; }
.strict-card__list b { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; color: #ffe2e9; background: linear-gradient(145deg, rgba(181, 21, 67, .85), rgba(74, 9, 30, .95)); border: 1px solid rgba(248, 110, 146, .3); border-radius: 8px; font-size: 17px; font-weight: 400; }

.strict-feature-strip { height: 116px; color: #fff; background: #050405; }
.strict-feature-strip__inner { display: grid; grid-template-columns: 440px 460px 374px 1fr; width: calc(100% - 160px); height: 100%; margin: 0 auto; }
.strict-feature { position: relative; display: flex; align-items: center; gap: 28px; transform: translateY(-20px); }
.strict-feature + .strict-feature::before { position: absolute; top: 29px; bottom: 29px; left: -59px; width: 1px; background: rgba(235, 131, 154, .47); content: ""; }
.strict-feature__icon { position: relative; display: block; width: 74px; height: 74px; flex: 0 0 74px; background: linear-gradient(145deg, rgba(102, 15, 44, .55), rgba(22, 6, 13, .7)); border: 1px solid rgba(222, 68, 108, .65); border-radius: 17px; }
.strict-feature__icon::before, .strict-feature__icon::after { position: absolute; content: ""; }
.strict-feature__icon--search::before { top: 20px; left: 20px; width: 21px; height: 21px; border: 4px solid #f2a1b5; border-radius: 50%; }
.strict-feature__icon--search::after { top: 42px; left: 42px; width: 17px; height: 4px; background: #f2a1b5; transform: rotate(47deg); transform-origin: left center; }
.strict-feature__icon--layers::before { top: 22px; left: 17px; width: 38px; height: 20px; border-top: 7px solid #f2a1b5; border-bottom: 7px solid #f2a1b5; transform: skewY(-28deg); }
.strict-feature__icon--layers::after { top: 31px; left: 17px; width: 38px; border-top: 7px solid #f2a1b5; transform: skewY(-28deg); }
.strict-feature__icon--bars::before { left: 20px; bottom: 19px; width: 8px; height: 23px; background: #f2a1b5; box-shadow: 14px -13px #f2a1b5, 28px -5px #f2a1b5; }
.strict-feature__icon--shield::before { top: 18px; left: 20px; width: 32px; height: 37px; border: 4px solid #f2a1b5; border-radius: 5px 5px 17px 17px; clip-path: polygon(0 0, 100% 0, 100% 58%, 50% 100%, 0 58%); }
.strict-feature__icon--shield::after { top: 30px; left: 28px; width: 16px; height: 9px; border-left: 3px solid #f2a1b5; border-bottom: 3px solid #f2a1b5; transform: rotate(-45deg); }
.strict-feature strong, .strict-feature small { display: block; }
.strict-feature strong { color: #fff; font-size: 18px; font-weight: 600; line-height: 1.2; }
.strict-feature small { margin-top: 7px; color: rgba(255, 255, 255, .66); font-size: 16px; line-height: 1.2; }
.strict-feature > span:last-child { transform: translateY(-3px); }

@media (max-width: 1199.98px) {
    .site-nav__inner, .strict-feature-strip__inner { width: calc(100% - 80px); }
    .site-nav .navbar-collapse { position: static; display: none !important; height: auto; }
    .site-nav .navbar-collapse.show { display: block !important; }
    .site-nav .navbar-nav { gap: 12px !important; }
    .strict-hero { height: auto; min-height: 748px; padding: 160px 40px 60px; }
    .strict-hero__content { position: relative; top: auto; left: auto; width: min(100%, 700px); }
    .strict-panels { position: relative; top: auto; right: auto; left: auto; width: 100%; height: auto; margin-top: 48px; gap: 26px; }
    .strict-wave { left: 32%; width: 78%; }
    .strict-feature-strip__inner { grid-template-columns: repeat(4, 1fr); }
    .strict-feature { gap: 14px; }
    .strict-feature__icon { width: 60px; height: 60px; flex-basis: 60px; }
    .strict-feature strong { font-size: 14px; }
    .strict-feature small { font-size: 12px; }

}

@media (max-width: 767.98px) {
    .site-header { position: absolute; }
    .site-nav, .site-nav__inner { min-height: 82px; }
    .site-nav__inner { width: calc(100% - 40px); }
    .brand-lockup__logo { width: 42px; height: 42px; flex-basis: 42px; }
    .brand-lockup__name { font-size: 19px; }
    .brand-lockup__parent { font-size: 11px; }
    .strict-hero { padding: 125px 20px 46px; }
    .strict-eyebrow { font-size: 10px; letter-spacing: 3px; }
    .strict-title { font-size: clamp(42px, 12vw, 60px); letter-spacing: -2.5px; }
    .strict-lead { width: 100%; font-size: 16px; }
    .strict-actions { flex-direction: column; align-items: stretch; gap: 12px; }
    .strict-button--primary, .strict-button--outline { width: 100%; }
    .strict-slogan { font-size: 10px; letter-spacing: 2px; line-height: 1.4; }
    .strict-panels { grid-template-columns: 1fr; gap: 18px; }
    .strict-card, .strict-card--past, .strict-card--present, .strict-card--predictive { top: auto; height: auto; min-height: 480px; transform: none; }
    .strict-wave { top: 430px; left: -20%; width: 150%; opacity: .55; }
    .strict-feature-strip { height: auto; }
    .strict-feature-strip__inner { width: calc(100% - 40px); grid-template-columns: 1fr; padding: 12px 0; }
    .strict-feature { min-height: 82px; transform: none; }
    .strict-feature > span:last-child { transform: none; }
    .strict-feature + .strict-feature::before { top: 0; right: 0; bottom: auto; left: 0; width: auto; height: 1px; }
}

@media (prefers-reduced-motion: reduce) {
    .strict-button { transition: none; }
}

/* Compact medium-desktop hero scale */
@media (min-width: 1200px) and (max-width: 1499.98px) {
    .site-nav__inner { width: calc(100% - 80px); }
    .site-nav .navbar-collapse { top: 0; right: 0; left: 330px; height: 92px; }
    .site-nav .navbar-nav { gap: 16px !important; }
    .site-nav .nav-link { font-size: 14px; }
    .btn-nav { min-width: 216px; padding: 14px 18px; font-size: 14px; }
    .strict-hero { height: 748px; min-height: 0; padding: 0; }
    .strict-hero__content { position: absolute; top: 160px; left: 40px; width: 43%; max-width: 620px; }
    .strict-title { font-size: clamp(52px, 4.7vw, 72px); letter-spacing: -3.8px; }
    .strict-lead { width: 100%; font-size: clamp(15px, 1.35vw, 20px); }
    .strict-actions { gap: 12px; }
    .strict-button--primary, .strict-button--outline { width: calc((100% - 12px) / 2); font-size: clamp(13px, 1.15vw, 17px); }
    .strict-button--outline i { width: 25px; height: 25px; margin-left: 8px; }
    .strict-panels { position: absolute; top: 0; right: 10px; left: 45%; width: auto; height: 100%; margin-top: 0; gap: 14px; }
    .strict-card { padding: 18px 15px 16px; }
    .strict-card header { gap: 10px; }
    .strict-card__index { font-size: 18px; }
    .strict-card h2 { font-size: 15px; }
    .strict-card__description { margin-top: 13px; font-size: 12px; }
    .strict-chart { margin-top: 17px; }
    .strict-card__list { gap: 5px; margin-top: 12px; }
    .strict-card__list li { gap: 6px; font-size: 10px; }
    .strict-card__list b { width: 25px; height: 25px; flex-basis: 25px; border-radius: 6px; font-size: 12px; }
    .strict-wave { top: 320px; left: 37%; width: 70%; }
    .strict-feature-strip { height: auto; min-height: 116px; }
    .strict-feature-strip__inner { width: calc(100% - 80px); grid-template-columns: repeat(4, 1fr); }
    .strict-feature { gap: 14px; transform: none; }
    .strict-feature__icon { width: 60px; height: 60px; flex-basis: 60px; }
    .strict-feature strong { font-size: 14px; }
    .strict-feature small { font-size: 12px; }

    .site-nav, .site-nav__inner { min-height: 88px; }
    .brand-lockup__logo { width: 42px; height: 42px; flex-basis: 42px; }
    .brand-lockup__name { font-size: 22px; }
    .brand-lockup__parent { font-size: 12px; }
    .site-nav .navbar-collapse { height: 88px; }
    .strict-hero__content { top: 145px; left: 36px; width: 42%; }
    .strict-title { font-size: clamp(46px, 4vw, 62px); letter-spacing: -3px; line-height: .96; }
    .strict-lead { margin-top: 12px; margin-bottom: 24px; font-size: 16px; line-height: 1.5; }
    .strict-button { height: 52px; border-radius: 26px; font-size: 14px; }
    .strict-button--primary span { margin-left: 7px; font-size: 17px; }
    .strict-panels { left: 46%; right: 8px; gap: 10px; }
    .strict-card { padding: 15px 12px 13px; }
    .strict-card--past { top: 171px; height: 440px; }
    .strict-card--present { top: 157px; height: 470px; }
    .strict-card--predictive { top: 138px; height: 500px; }
    .strict-card__index { font-size: 16px; }
    .strict-card h2 { font-size: 13px; }
    .strict-card__description { margin-top: 10px; font-size: 10px; }
    .strict-chart { margin-top: 12px; }
    .strict-card__list { margin-top: 8px; }
    .strict-card__list li { font-size: 9px; }
    .strict-card__list b { width: 22px; height: 22px; flex-basis: 22px; font-size: 10px; }
    .strict-feature-strip__inner { width: calc(100% - 72px); }
    .strict-feature { gap: 10px; }
    .strict-feature__icon { width: 52px; height: 52px; flex-basis: 52px; }
    .strict-feature strong { font-size: 12px; }
    .strict-feature small { font-size: 10px; }
}

/* Editorial evidence hero concept */
.concept-hero {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    isolation: isolate;
    color: #fff;
    background:
        radial-gradient(circle at 82% 42%, rgba(142, 17, 61, .28), transparent 32%),
        radial-gradient(circle at 18% 100%, rgba(97, 11, 42, .22), transparent 36%),
        #050305;
}

.concept-hero__ambient {
    position: absolute;
    z-index: -2;
    width: 34rem;
    height: 34rem;
    border-radius: 50%;
    filter: blur(90px);
    opacity: .22;
    pointer-events: none;
}

.concept-hero__ambient--one { top: 10%; right: -10rem; background: #9e164f; }
.concept-hero__ambient--two { bottom: -20rem; left: 18%; background: #520e32; }

.concept-hero__wave {
    position: absolute;
    z-index: -1;
    top: 170px;
    right: -4%;
    width: 70%;
    height: 400px;
    overflow: visible;
    opacity: .75;
    pointer-events: none;
}

.concept-hero__wave-line,
.concept-hero__wave-glow {
    fill: none;
    stroke: url(#concept-line);
    stroke-linecap: round;
}

.concept-hero__wave-line { stroke-width: 1.3; }
.concept-hero__wave-line--fine { stroke-width: .65; opacity: .55; }
.concept-hero__wave-glow { stroke: #ed3e74; stroke-width: 18; opacity: .17; filter: url(#concept-glow); }

.concept-hero__copy {
    position: absolute;
    z-index: 2;
    top: 158px;
    left: max(40px, calc((100vw - 1568px) / 2));
    width: min(540px, 40vw);
}

.concept-eyebrow {
    margin: 0 0 24px;
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .28em;
    line-height: 1.3;
}

.concept-title {
    margin: 0;
    color: #fbf8f7;
    font-family: var(--ts-font-heading);
    font-size: clamp(52px, 4.15vw, 72px);
    font-weight: 400;
    letter-spacing: -.06em;
    line-height: .98;
}

.concept-title em { color: #e3346b; font-style: normal; }

.concept-lead {
    max-width: 500px;
    margin: 24px 0 30px;
    color: rgba(255, 255, 255, .78);
    font-size: 16px;
    line-height: 1.65;
}

.concept-actions { display: flex; flex-wrap: wrap; gap: 12px; }

.concept-button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease;
}

.concept-button:hover,
.concept-button:focus { color: #fff; transform: translateY(-2px); }

.concept-button--primary {
    color: #fff;
    background: linear-gradient(135deg, #ce1e52, #a80f3e);
    box-shadow: 0 12px 26px rgba(175, 17, 65, .24);
}

.concept-button--primary span { margin-left: 10px; font-size: 18px; }

.concept-button--ghost {
    color: rgba(255, 255, 255, .86);
    border: 1px solid rgba(234, 112, 145, .52);
    background: rgba(21, 7, 16, .3);
}

.concept-button--ghost span { margin-left: 10px; color: #ef507e; font-size: 18px; }

.concept-note {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 25px 0 0;
    color: rgba(255, 255, 255, .52);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .17em;
    line-height: 1.4;
    text-transform: uppercase;
}

.concept-note span { display: block; width: 24px; height: 1px; background: #e9346c; }

.concept-hero__visual.data-story {
    position: absolute;
    z-index: 1;
    top: 145px;
    right: max(40px, calc((100vw - 1568px) / 2));
    width: min(760px, 47vw);
    min-height: 0;
    padding: 0;
}

.concept-hero__visual.data-story::before,
.concept-hero__visual.data-story::after { display: none; }

.concept-dashboard {
    position: relative;
    padding: 22px 24px 19px;
    border: 1px solid rgba(231, 104, 138, .52);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(35, 10, 24, .88), rgba(14, 6, 13, .92));
    box-shadow: 0 28px 60px rgba(0, 0, 0, .3), 0 0 36px rgba(165, 17, 61, .18), inset 0 1px 0 rgba(255, 224, 232, .11);
    backdrop-filter: blur(18px);
}

.concept-dashboard::before {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(115deg, rgba(255, 255, 255, .08), transparent 24%, transparent 72%, rgba(232, 48, 104, .08));
    content: "";
    pointer-events: none;
}

.concept-dashboard__topline,
.concept-dashboard__intro,
.concept-dashboard__body,
.concept-dashboard__footer { position: relative; z-index: 1; }

.concept-dashboard__topline,
.concept-dashboard__footer { display: flex; align-items: center; justify-content: space-between; }

.concept-dashboard__topline { padding-bottom: 17px; border-bottom: 1px solid rgba(255, 255, 255, .09); }

.concept-dashboard__brand,
.concept-dashboard__status,
.concept-dashboard__label,
.concept-dashboard__date,
.concept-signals__heading { color: rgba(255, 255, 255, .55); font-size: 9px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }

.concept-dashboard__brand { display: inline-flex; align-items: center; gap: 8px; color: rgba(255, 255, 255, .82); }
.concept-dashboard__brand i { display: block; width: 8px; height: 8px; border-radius: 50%; background: #e7356d; box-shadow: 0 0 11px rgba(236, 51, 108, .8); }
.concept-dashboard__status { display: inline-flex; align-items: center; gap: 7px; letter-spacing: .08em; }
.concept-dashboard__status b { display: block; width: 6px; height: 6px; border-radius: 50%; background: #d9a26d; }

.concept-dashboard__intro { display: flex; align-items: end; justify-content: space-between; gap: 16px; padding: 22px 0 17px; }
.concept-dashboard__label { color: #e74976; letter-spacing: .2em; }
.concept-dashboard__intro h2 { margin: 7px 0 3px; color: #fff; font-size: 23px; font-weight: 500; letter-spacing: -.045em; line-height: 1.2; }
.concept-dashboard__intro p { margin: 0; color: rgba(255, 255, 255, .55); font-size: 11px; line-height: 1.45; }
.concept-dashboard__date { text-align: right; line-height: 1.65; white-space: nowrap; }
.concept-dashboard__date strong { color: rgba(255, 255, 255, .84); font-size: 11px; font-weight: 600; letter-spacing: .09em; }

.concept-dashboard__body { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(150px, .8fr); gap: 22px; padding: 17px 0 20px; border-top: 1px solid rgba(255, 255, 255, .08); border-bottom: 1px solid rgba(255, 255, 255, .08); }
.concept-chart__legend { display: flex; gap: 16px; color: rgba(255, 255, 255, .52); font-size: 10px; }
.concept-chart__legend span { display: inline-flex; align-items: center; gap: 6px; }
.concept-dot { display: block; width: 6px; height: 6px; border-radius: 50%; }
.concept-dot--rose { background: #e83c72; box-shadow: 0 0 8px rgba(232, 60, 114, .7); }
.concept-dot--muted { background: #a98c9b; }
.concept-chart svg { display: block; width: 100%; margin-top: 5px; }
.concept-chart__grid line { stroke: rgba(255, 255, 255, .12); stroke-width: 1; }
.concept-chart__area { fill: url(#concept-chart-fill); }
.concept-chart__range { fill: none; stroke: rgba(198, 163, 177, .72); stroke-width: 1.5; stroke-dasharray: 5 5; }
.concept-chart__line { fill: none; stroke: #e74778; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; filter: drop-shadow(0 0 5px rgba(231, 71, 120, .5)); }
.concept-chart__marker { fill: #fff; stroke: #e74778; stroke-width: 4; filter: drop-shadow(0 0 6px rgba(231, 71, 120, .9)); }
.concept-chart__labels text { fill: rgba(255, 255, 255, .4); font-family: "Plus Jakarta Sans", sans-serif; font-size: 10px; letter-spacing: .08em; }

.concept-signals { padding: 3px 0 0 18px; border-left: 1px solid rgba(255, 255, 255, .1); }
.concept-signals__heading { display: block; margin-bottom: 12px; color: rgba(255, 255, 255, .7); letter-spacing: .18em; }
.concept-signal { position: relative; display: grid; grid-template-columns: 22px 1fr; column-gap: 9px; padding: 12px 0 13px; border-top: 1px solid rgba(255, 255, 255, .09); }
.concept-signal > span { color: #e23b70; font-size: 10px; font-weight: 700; }
.concept-signal strong { color: rgba(255, 255, 255, .9); font-size: 12px; font-weight: 600; line-height: 1.2; }
.concept-signal small { grid-column: 2; margin-top: 3px; color: rgba(255, 255, 255, .47); font-size: 10px; line-height: 1.2; }
.concept-signal__bar { position: absolute; right: 0; bottom: 4px; left: 31px; height: 2px; overflow: hidden; background: rgba(255, 255, 255, .1); }
.concept-signal__bar::after { display: block; height: 100%; background: #e44576; box-shadow: 0 0 7px rgba(228, 69, 118, .7); content: ""; }
.concept-signal__bar--high::after { width: 82%; }
.concept-signal__bar--mid::after { width: 62%; background: #c897a9; box-shadow: none; }
.concept-signal__bar--low::after { width: 38%; background: #d49b7b; box-shadow: none; }

.concept-dashboard__footer { gap: 16px; padding-top: 15px; color: rgba(255, 255, 255, .53); font-size: 10px; }
.concept-dashboard__footer span { display: inline-flex; align-items: center; gap: 7px; }
.concept-dashboard__footer b { color: #e23b70; font-size: 10px; }

.concept-proof {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-height: 102px;
    padding: 0 max(40px, calc((100vw - 1568px) / 2));
    color: #fff;
    background: #060406;
    border-top: 1px solid rgba(230, 85, 121, .2);
}

.concept-proof__item { position: relative; display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-content: center; padding: 0 28px; }
.concept-proof__item + .concept-proof__item { border-left: 1px solid rgba(230, 85, 121, .24); }
.concept-proof__number { grid-row: 1 / span 2; display: grid; width: 34px; height: 34px; place-items: center; color: #f07a9d; border: 1px solid rgba(229, 72, 117, .55); border-radius: 50%; font-size: 10px; font-weight: 700; }
.concept-proof strong { color: rgba(255, 255, 255, .9); font-size: 13px; font-weight: 600; line-height: 1.3; }
.concept-proof small { margin-top: 3px; color: rgba(255, 255, 255, .47); font-size: 10px; line-height: 1.3; }

@media (max-width: 1199.98px) {
    .concept-hero { min-height: 0; padding: 136px 40px 54px; }
    .concept-hero__copy,
    .concept-hero__visual.data-story { position: relative; top: auto; right: auto; left: auto; width: 100%; }
    .concept-hero__copy { max-width: 620px; }
    .concept-hero__visual.data-story { margin-top: 45px; }
    .concept-hero__wave { top: 260px; right: -14%; width: 82%; }
    .concept-proof { padding: 0 40px; }
    .concept-proof__item { padding: 0 16px; }
}

@media (max-width: 767.98px) {
    .concept-hero { padding: 112px 20px 42px; }
    .concept-eyebrow { margin-bottom: 18px; font-size: 10px; letter-spacing: .18em; }
    .concept-title { font-size: clamp(44px, 13vw, 58px); letter-spacing: -.055em; }
    .concept-lead { margin: 20px 0 24px; font-size: 15px; }
    .concept-actions { flex-direction: column; align-items: stretch; }
    .concept-button { width: 100%; }
    .concept-note { font-size: 9px; letter-spacing: .1em; }
    .concept-hero__visual.data-story { margin-top: 34px; }
    .concept-dashboard { padding: 17px 15px 15px; border-radius: 17px; }
    .concept-dashboard__topline { padding-bottom: 13px; }
    .concept-dashboard__intro { display: block; padding: 17px 0 15px; }
    .concept-dashboard__intro h2 { font-size: 20px; }
    .concept-dashboard__date { margin-top: 10px; text-align: left; }
    .concept-dashboard__body { grid-template-columns: 1fr; gap: 18px; }
    .concept-signals { padding: 16px 0 0; border-top: 1px solid rgba(255, 255, 255, .1); border-left: 0; }
    .concept-dashboard__footer { display: grid; gap: 7px; }
    .concept-proof { grid-template-columns: 1fr; padding: 10px 20px; }
    .concept-proof__item { min-height: 68px; padding: 10px 0; }
    .concept-proof__item + .concept-proof__item { border-top: 1px solid rgba(230, 85, 121, .24); border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .concept-button { transition: none; }
}

/* Signal compass hero concept */
.compass-hero {
    position: relative;
    min-height: 640px;
    overflow: hidden;
    isolation: isolate;
    color: #fff;
    background:
        radial-gradient(circle at 88% 42%, rgba(135, 13, 57, .28), transparent 28%),
        radial-gradient(circle at 12% 90%, rgba(83, 11, 42, .24), transparent 32%),
        #050305;
}

.compass-hero__glow { position: absolute; z-index: -2; width: 34rem; height: 34rem; border-radius: 50%; filter: blur(95px); opacity: .2; pointer-events: none; }
.compass-hero__glow--left { bottom: -23rem; left: -10rem; background: #6c123d; }
.compass-hero__glow--right { top: -18rem; right: -8rem; background: #ab164f; }

.compass-hero__trace { position: absolute; z-index: -1; top: 105px; right: -2%; width: 66%; height: 500px; overflow: visible; opacity: .65; pointer-events: none; }
.compass-hero__trace-line,
.compass-hero__trace-glow { fill: none; stroke: url(#compass-trace); stroke-linecap: round; }
.compass-hero__trace-line { stroke-width: 1.2; }
.compass-hero__trace-line--fine { stroke-width: .6; opacity: .48; }
.compass-hero__trace-glow { stroke: #e33770; stroke-width: 18; opacity: .15; filter: url(#compass-trace-blur); }

.compass-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .86fr) minmax(540px, 1.14fr); gap: 28px; align-items: center; width: min(1568px, calc(100% - 160px)); min-height: 640px; margin: 0 auto; padding: 116px 0 34px; }
.compass-hero__copy { max-width: 590px; }
.compass-hero__eyebrow { margin: 0 0 24px; color: rgba(255, 255, 255, .56); font-size: 11px; font-weight: 600; letter-spacing: .22em; line-height: 1.35; }
.compass-hero__eyebrow span { color: #ef4778; }
.compass-hero__title { margin: 0; color: #fbf8f7; font-family: var(--ts-font-heading); font-size: clamp(55px, 4.7vw, 82px); font-weight: 400; letter-spacing: -.065em; line-height: .94; }
.compass-hero__title em { color: #e2326a; font-style: normal; }
.compass-hero__lead { max-width: 510px; margin: 25px 0 29px; color: rgba(255, 255, 255, .76); font-size: 16px; line-height: 1.68; }
.compass-hero__actions { display: flex; align-items: center; gap: 24px; }
.compass-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; border-radius: 999px; font-size: 14px; font-weight: 600; text-decoration: none; transition: transform .2s ease, color .2s ease, background-color .2s ease; }
.compass-button:hover, .compass-button:focus { color: #fff; transform: translateY(-2px); }
.compass-button--primary { padding: 0 21px; color: #fff; background: linear-gradient(135deg, #d21d54, #a50e3d); box-shadow: 0 12px 25px rgba(173, 13, 61, .24); }
.compass-button--primary span { margin-left: 10px; font-size: 18px; }
.compass-button--text { color: rgba(255, 255, 255, .82); }
.compass-button--text span { margin-left: 10px; color: #ed3d72; font-size: 19px; }
.compass-hero__microcopy { display: flex; align-items: center; gap: 11px; margin-top: 27px; color: rgba(255, 255, 255, .48); font-size: 10px; font-weight: 500; letter-spacing: .15em; line-height: 1.4; text-transform: uppercase; }
.compass-hero__microline { display: block; width: 26px; height: 1px; flex: 0 0 26px; background: #e63870; }

.compass-hero__visual.data-story { position: relative; min-height: 0; padding: 0; }
.compass-hero__visual.data-story::before, .compass-hero__visual.data-story::after { display: none; }
.signal-compass { position: relative; padding: 21px 23px 18px; border: 1px solid rgba(226, 88, 124, .45); border-radius: 24px; background: linear-gradient(145deg, rgba(33, 10, 23, .65), rgba(8, 5, 9, .26)); box-shadow: 0 28px 60px rgba(0, 0, 0, .26), inset 0 1px 0 rgba(255, 227, 233, .1); backdrop-filter: blur(14px); }
.signal-compass::after { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(120deg, rgba(255, 255, 255, .07), transparent 24%, transparent 75%, rgba(235, 45, 104, .08)); content: ""; pointer-events: none; }
.signal-compass__topline, .signal-compass__bottomline { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; color: rgba(255, 255, 255, .57); font-size: 9px; font-weight: 600; letter-spacing: .17em; line-height: 1.4; text-transform: uppercase; }
.signal-compass__topline { padding-bottom: 16px; border-bottom: 1px solid rgba(255, 255, 255, .09); }
.signal-compass__topline span:last-child { display: inline-flex; align-items: center; gap: 7px; letter-spacing: .09em; }
.signal-compass__topline i { display: block; width: 6px; height: 6px; border-radius: 50%; background: #dca06e; }
.signal-compass__stage { position: relative; z-index: 1; height: 382px; overflow: hidden; }
.signal-compass__stage::before { position: absolute; inset: 15% 13%; background: radial-gradient(circle, rgba(195, 22, 77, .19), transparent 63%); content: ""; filter: blur(13px); }
.signal-compass__orbit { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(223, 86, 124, .32); border-radius: 50%; transform: translate(-50%, -50%); }
.signal-compass__orbit--outer { width: 345px; height: 345px; border-color: rgba(223, 86, 124, .22); }
.signal-compass__orbit--middle { width: 255px; height: 255px; border-color: rgba(239, 89, 130, .34); box-shadow: 0 0 27px rgba(208, 35, 94, .1); }
.signal-compass__orbit--inner { width: 166px; height: 166px; border-color: rgba(241, 99, 137, .52); }
.signal-compass__axis { position: absolute; top: 50%; left: 50%; width: 73%; height: 1px; background: linear-gradient(90deg, transparent, rgba(232, 82, 126, .5), transparent); transform: translate(-50%, -50%); }
.signal-compass__axis--vertical { width: 1px; height: 73%; background: linear-gradient(180deg, transparent, rgba(232, 82, 126, .5), transparent); }
.signal-compass__center { position: absolute; top: 50%; left: 50%; display: grid; width: 116px; height: 116px; place-content: center; justify-items: center; border: 1px solid rgba(248, 123, 156, .73); border-radius: 50%; background: radial-gradient(circle at 40% 30%, rgba(194, 31, 87, .68), rgba(46, 8, 27, .95) 68%); box-shadow: 0 0 26px rgba(218, 35, 95, .38), 0 0 0 8px rgba(179, 25, 76, .08); transform: translate(-50%, -50%); }
.signal-compass__center-ring { position: absolute; inset: 9px; border: 1px solid rgba(255, 190, 205, .3); border-radius: 50%; }
.signal-compass__center strong { position: relative; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .12em; line-height: 1; }
.signal-compass__center small { position: relative; margin-top: 7px; color: rgba(255, 255, 255, .55); font-size: 9px; line-height: 1; }
.signal-compass__node { position: absolute; display: grid; grid-template-columns: auto 1fr; column-gap: 8px; align-items: center; min-width: 113px; padding: 10px 12px; border: 1px solid rgba(232, 86, 126, .4); border-radius: 9px; background: rgba(24, 7, 17, .88); box-shadow: 0 9px 20px rgba(0, 0, 0, .2); }
.signal-compass__node b { grid-row: 1 / span 2; color: #ef3d72; font-size: 11px; }
.signal-compass__node strong { color: rgba(255, 255, 255, .92); font-size: 11px; font-weight: 700; letter-spacing: .08em; line-height: 1; }
.signal-compass__node small { margin-top: 4px; color: rgba(255, 255, 255, .5); font-size: 9px; line-height: 1; }
.signal-compass__node--past { top: 19%; left: 5%; }
.signal-compass__node--now { top: 12%; right: 5%; }
.signal-compass__node--next { bottom: 11%; left: 50%; transform: translateX(-50%); }
.signal-compass__spark { position: absolute; display: block; width: 5px; height: 5px; border-radius: 50%; background: #f05a88; box-shadow: 0 0 12px rgba(239, 79, 126, .9); }
.signal-compass__spark--one { top: 22%; left: 29%; }
.signal-compass__spark--two { top: 67%; right: 22%; background: #dda06e; box-shadow: none; }
.signal-compass__spark--three { bottom: 25%; left: 18%; width: 3px; height: 3px; }
.signal-compass__bottomline { padding-top: 15px; border-top: 1px solid rgba(255, 255, 255, .09); letter-spacing: .08em; }
.signal-compass__bottomline b { margin-left: auto; margin-right: 14px; color: rgba(255, 255, 255, .83); font-size: 9px; font-weight: 600; letter-spacing: .06em; }
.signal-compass__meter { display: block; width: 84px; height: 3px; background: rgba(255, 255, 255, .12); }
.signal-compass__meter i { display: block; width: 71%; height: 100%; background: #e44375; box-shadow: 0 0 8px rgba(229, 66, 117, .6); }

.compass-proof { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); min-height: 100px; padding: 0 max(40px, calc((100vw - 1568px) / 2)); color: #fff; background: #060406; border-top: 1px solid rgba(230, 85, 121, .2); }
.compass-proof__item { display: flex; align-items: center; gap: 13px; padding: 0 28px; }
.compass-proof__item + .compass-proof__item { border-left: 1px solid rgba(230, 85, 121, .22); }
.compass-proof__index { display: grid; width: 33px; height: 33px; flex: 0 0 33px; place-items: center; color: #ef7197; border: 1px solid rgba(232, 74, 119, .54); border-radius: 50%; font-size: 10px; font-weight: 700; }
.compass-proof strong, .compass-proof small { display: block; }
.compass-proof strong { color: rgba(255, 255, 255, .89); font-size: 13px; font-weight: 600; line-height: 1.3; }
.compass-proof small { margin-top: 4px; color: rgba(255, 255, 255, .46); font-size: 10px; line-height: 1.3; }

@media (max-width: 1199.98px) {
    .compass-hero { min-height: 0; }
    .compass-hero__inner { display: block; width: calc(100% - 80px); min-height: 0; padding: 134px 0 52px; }
    .compass-hero__copy { max-width: 620px; }
    .compass-hero__visual.data-story { margin-top: 48px; }
    .compass-hero__trace { top: 290px; right: -12%; width: 82%; }
    .compass-proof { padding: 0 40px; }
    .compass-proof__item { padding: 0 16px; }
}

@media (max-width: 767.98px) {
    .compass-hero__inner { width: calc(100% - 40px); padding: 112px 0 42px; }
    .compass-hero__eyebrow { margin-bottom: 18px; font-size: 9px; letter-spacing: .13em; }
    .compass-hero__title { font-size: clamp(48px, 14vw, 61px); }
    .compass-hero__lead { margin: 20px 0 24px; font-size: 15px; }
    .compass-hero__actions { align-items: stretch; flex-direction: column; gap: 7px; }
    .compass-button--primary { width: 100%; }
    .compass-button--text { min-height: 40px; }
    .compass-hero__microcopy { font-size: 8px; letter-spacing: .08em; }
    .signal-compass { padding: 16px 14px 15px; border-radius: 18px; }
    .signal-compass__topline { padding-bottom: 13px; font-size: 8px; letter-spacing: .1em; }
    .signal-compass__stage { height: 335px; }
    .signal-compass__orbit--outer { width: 280px; height: 280px; }
    .signal-compass__orbit--middle { width: 205px; height: 205px; }
    .signal-compass__orbit--inner { width: 132px; height: 132px; }
    .signal-compass__center { width: 96px; height: 96px; }
    .signal-compass__center strong { font-size: 10px; }
    .signal-compass__center small { font-size: 8px; }
    .signal-compass__node { min-width: 94px; padding: 8px 9px; column-gap: 6px; }
    .signal-compass__node strong { font-size: 9px; }
    .signal-compass__node small { font-size: 8px; }
    .signal-compass__node--past { top: 14%; left: 0; }
    .signal-compass__node--now { top: 9%; right: 0; }
    .signal-compass__node--next { bottom: 7%; }
    .signal-compass__bottomline { display: grid; grid-template-columns: 1fr auto; gap: 7px; font-size: 8px; }
    .signal-compass__bottomline b { grid-row: 2; margin: 0; font-size: 8px; }
    .signal-compass__meter { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
    .compass-proof { grid-template-columns: 1fr; padding: 10px 20px; }
    .compass-proof__item { min-height: 65px; padding: 10px 0; }
    .compass-proof__item + .compass-proof__item { border-top: 1px solid rgba(230, 85, 121, .22); border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .compass-button { transition: none; }
}

/* Concept 8 light hero: editorial finance scene */
.light-header { color: #241a1c; }
.light-header .brand-lockup__name { color: #1c1719; }
.light-header .brand-lockup__parent { color: rgba(36, 26, 28, .65); }
.light-header .site-nav .nav-link { color: rgba(36, 26, 28, .82); }
.light-header .site-nav .nav-link:hover, .light-header .site-nav .nav-link:focus { color: #7b1634; }
.light-header .site-nav__toggle { border-color: rgba(74, 25, 39, .25); }
.light-header .site-nav__toggle-lines span { background: #4f1b2d; }
.light-header.is-scrolled { background: rgba(250, 247, 242, .92); box-shadow: 0 .5rem 1.6rem rgba(61, 29, 36, .1); }
.light-header .btn-nav { color: #fff; background: linear-gradient(135deg, #8d1233, #b31644); }
.light-header .btn-nav:hover, .light-header .btn-nav:focus { color: #fff; background: linear-gradient(135deg, #a4153d, #ca1d4f); }

.light-hero { position: relative; min-height: max(900px, 100vh); overflow: hidden; color: #161317; background: #f7f2ec; isolation: isolate; }
.light-hero__scene { position: absolute; inset: 0; z-index: -3; overflow: hidden; background: #f7f2ec url('../images/tehilah-stocks-evidence-lens-scene.png') center center / cover no-repeat; }
.light-hero__video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.light-hero__veil { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(255, 252, 247, .98) 0%, rgba(255, 252, 247, .94) 34%, rgba(255, 252, 247, .49) 52%, rgba(255, 252, 247, .03) 71%), linear-gradient(0deg, rgba(255, 252, 247, .22), transparent 35%, rgba(255, 252, 247, .12)); pointer-events: none; }
.light-hero__inner { position: relative; min-height: max(900px, 100vh); width: min(1490px, calc(100% - 184px)); margin: 0 auto; padding-top: 174px; }
.light-hero__copy { position: relative; z-index: 2; width: min(820px, 61%); }
.light-hero__eyebrow { margin: 0 0 27px; color: #2d2529; font-size: 15px; font-weight: 500; letter-spacing: .22em; line-height: 1.35; }
.light-hero__eyebrow span { padding: 0 9px; color: #a9163f; }
.light-hero__title { max-width: 850px; margin: 0; color: #111015; font-family: var(--ts-font-heading); font-size: clamp(58px, 5.55vw, 94px); font-weight: 400; letter-spacing: -.065em; line-height: .96; }
.light-hero__title em { color: #8b1735; font-style: normal; }
.light-hero__lead { max-width: 775px; margin: 28px 0 37px; color: #242025; font-size: 21px; line-height: 1.42; }
.light-hero__actions { display: flex; align-items: center; gap: 19px; }
.light-button { display: inline-flex; min-height: 68px; align-items: center; justify-content: center; border-radius: 999px; font-size: 18px; font-weight: 600; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.light-button:hover, .light-button:focus { color: inherit; transform: translateY(-3px); }
.light-button--primary { min-width: 351px; padding: 0 29px; color: #fff; background: linear-gradient(135deg, #941437, #b11645); box-shadow: 0 13px 25px rgba(111, 16, 42, .2); }
.light-button--primary:hover, .light-button--primary:focus { color: #fff; box-shadow: 0 17px 31px rgba(111, 16, 42, .27); }
.light-button--primary span { margin-left: 14px; font-size: 25px; line-height: 1; }
.light-button--secondary { min-width: 308px; padding: 0 28px; color: #201b1e; background: rgba(255, 255, 255, .58); border: 1px solid rgba(127, 82, 91, .16); box-shadow: 0 8px 24px rgba(88, 41, 46, .07); backdrop-filter: blur(8px); }
.light-button--secondary:hover, .light-button--secondary:focus { color: #6d1530; background: rgba(255, 255, 255, .82); }
.light-button__play { display: grid; width: 32px; height: 32px; margin-right: 15px; place-items: center; color: #fff; background: #a71542; border-radius: 50%; font-size: 11px; }

.light-hero__services { position: absolute; z-index: 3; top: 202px; right: 0; display: grid; width: 315px; gap: 12px; }
.light-service-card { display: flex; min-height: 80px; align-items: center; gap: 16px; padding: 10px 17px; border: 1px solid rgba(128, 90, 91, .12); border-radius: 17px; background: rgba(255, 253, 249, .78); box-shadow: 0 13px 26px rgba(82, 41, 42, .1), inset 0 1px 0 rgba(255, 255, 255, .72); backdrop-filter: blur(12px); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; animation: light-card-in .7s ease both; }
.light-service-card:nth-child(2) { animation-delay: .1s; }
.light-service-card:nth-child(3) { animation-delay: .2s; }
.light-service-card:nth-child(4) { animation-delay: .3s; }
.light-service-card:hover, .light-service-card:focus-within { border-color: rgba(149, 20, 58, .34); box-shadow: 0 18px 31px rgba(82, 41, 42, .15), 0 0 0 4px rgba(161, 22, 65, .05); transform: translateY(-4px); }
.light-service-card__icon { display: grid; width: 50px; height: 50px; flex: 0 0 50px; place-items: center; color: #fff; background: linear-gradient(145deg, #8c1237, #b51a49); border-radius: 12px; box-shadow: 0 6px 12px rgba(124, 15, 48, .18); transition: box-shadow .22s ease, transform .22s ease; }
.light-service-card:hover .light-service-card__icon { box-shadow: 0 8px 17px rgba(124, 15, 48, .3); transform: scale(1.04); }
.light-service-card__icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; }
.light-service-card strong, .light-service-card small { display: block; }
.light-service-card strong { color: #21191d; font-size: 16px; font-weight: 700; line-height: 1.25; }
.light-service-card small { margin-top: 5px; color: #5f5658; font-size: 13px; line-height: 1.25; }

.light-hero__features { position: absolute; z-index: 2; right: auto; bottom: 61px; left: 0; display: grid; grid-template-columns: repeat(3, auto); gap: 0; width: min(760px, 58%); padding-top: 22px; border-top: 1px solid rgba(87, 50, 55, .18); }
.light-feature { display: flex; min-width: 0; align-items: center; gap: 15px; padding: 0 28px; }
.light-feature:first-child { padding-left: 0; }
.light-feature + .light-feature { border-left: 1px solid rgba(87, 50, 55, .2); }
.light-feature__icon { position: relative; display: block; width: 38px; height: 38px; flex: 0 0 38px; color: #8d1739; }
.light-feature__icon--bars { display: flex; align-items: end; gap: 4px; padding: 6px 3px; }
.light-feature__icon--bars i { display: block; width: 7px; background: currentColor; border-radius: 1px 1px 0 0; }
.light-feature__icon--bars i:nth-child(1) { height: 14px; }.light-feature__icon--bars i:nth-child(2) { height: 22px; }.light-feature__icon--bars i:nth-child(3) { height: 29px; }
.light-feature__icon--layers i { position: absolute; left: 4px; width: 29px; height: 11px; border: 3px solid currentColor; transform: skewY(-27deg); }
.light-feature__icon--layers i:nth-child(1) { top: 6px; }.light-feature__icon--layers i:nth-child(2) { top: 14px; }.light-feature__icon--layers i:nth-child(3) { top: 22px; }
.light-feature__icon--target { border: 3px solid currentColor; border-radius: 50%; }.light-feature__icon--target::before, .light-feature__icon--target::after { position: absolute; border-radius: 50%; content: ""; }.light-feature__icon--target::before { inset: 6px; border: 2px solid currentColor; }.light-feature__icon--target::after { top: 14px; left: 14px; width: 5px; height: 5px; background: currentColor; }.light-feature__icon--target i { position: absolute; top: -7px; right: -7px; width: 15px; height: 15px; border-top: 3px solid currentColor; border-right: 3px solid currentColor; }
.light-feature strong, .light-feature small { display: block; }
.light-feature strong { color: #221b1e; font-size: 16px; font-weight: 700; line-height: 1.25; }
.light-feature small { margin-top: 4px; color: #6c6365; font-size: 13px; line-height: 1.25; }

@keyframes light-card-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1499.98px) {
    .light-hero__inner { width: calc(100% - 96px); }
    .light-hero__copy { width: min(700px, 59%); }
    .light-hero__title { font-size: clamp(54px, 5.3vw, 78px); }
    .light-hero__lead { max-width: 640px; font-size: 18px; }
    .light-hero__services { width: 284px; }
    .light-service-card { min-height: 72px; padding: 8px 13px; gap: 12px; }
    .light-service-card__icon { width: 44px; height: 44px; flex-basis: 44px; }
    .light-service-card strong { font-size: 14px; }.light-service-card small { font-size: 12px; }
    .light-button { min-height: 58px; font-size: 16px; }.light-button--primary { min-width: 300px; }.light-button--secondary { min-width: 270px; }
}

@media (max-width: 1199.98px) {
    .light-header .site-nav__inner { width: calc(100% - 80px); }
    .light-hero { min-height: 820px; }
    .light-hero__inner { min-height: 820px; padding-top: 152px; }
    .light-hero__copy { width: 58%; }
    .light-hero__title { font-size: clamp(49px, 5.4vw, 68px); }
    .light-hero__lead { font-size: 16px; }
    .light-hero__services { top: 190px; width: 33%; }
    .light-hero__features { bottom: 45px; width: 63%; }
    .light-feature { gap: 9px; padding: 0 14px; }.light-feature strong { font-size: 13px; }.light-feature small { font-size: 11px; }
}

@media (max-width: 899.98px) {
    .light-hero { min-height: 0; }
    .light-hero__scene { background-position: 62% center; }
    .light-hero__veil { background: linear-gradient(90deg, rgba(255, 252, 247, .97) 0%, rgba(255, 252, 247, .9) 42%, rgba(255, 252, 247, .3) 76%), linear-gradient(0deg, rgba(255, 252, 247, .2), transparent 50%); }
    .light-hero__inner { display: flex; width: calc(100% - 64px); min-height: 0; flex-direction: column; align-items: stretch; padding: 145px 0 48px; }
    .light-hero__copy { width: min(100%, 690px); }
    .light-hero__services { position: relative; top: auto; right: auto; width: min(100%, 650px); grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 46px; }
    .light-hero__features { position: relative; bottom: auto; width: min(100%, 650px); margin-top: 42px; }
}

@media (max-width: 575.98px) {
    .light-header .site-nav__inner { width: calc(100% - 40px); }
    .light-hero__scene { background-position: 67% bottom; background-size: auto 76%; }
    .light-hero__veil { background: linear-gradient(180deg, rgba(255, 252, 247, .99) 0%, rgba(255, 252, 247, .96) 52%, rgba(255, 252, 247, .26) 83%, rgba(255, 252, 247, .12) 100%); }
    .light-hero__inner { width: calc(100% - 40px); padding: 116px 0 33px; }
    .light-hero__eyebrow { margin-bottom: 18px; font-size: 9px; letter-spacing: .12em; }.light-hero__eyebrow span { padding: 0 4px; }
    .light-hero__title { font-size: clamp(45px, 12.7vw, 58px); line-height: .98; }
    .light-hero__lead { margin: 19px 0 25px; font-size: 15px; line-height: 1.52; }
    .light-hero__actions { align-items: stretch; flex-direction: column; gap: 10px; }.light-button { min-height: 54px; font-size: 15px; }.light-button--primary, .light-button--secondary { min-width: 0; width: 100%; }
    .light-hero__services { grid-template-columns: 1fr; gap: 10px; margin-top: 35px; }
    .light-service-card { min-height: 70px; }.light-service-card__icon { width: 42px; height: 42px; flex-basis: 42px; }
    .light-hero__features { grid-template-columns: 1fr; gap: 0; margin-top: 33px; padding-top: 9px; }
    .light-feature, .light-feature:first-child { min-height: 62px; padding: 10px 0; }.light-feature + .light-feature { border-top: 1px solid rgba(87, 50, 55, .16); border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .light-button, .light-service-card, .light-service-card__icon { transition: none; animation: none; }
}

/* Refined hero motion and lighter navigation CTA */
.light-header { animation: light-header-in .65s cubic-bezier(.2, .75, .25, 1) both; }
.light-header .btn-nav { min-width: 178px; min-height: 42px; padding: 10px 15px; font-size: 12px; }
.light-hero__scene { animation: light-scene-drift 20s ease-in-out infinite alternate; transform: scale(1.025); transform-origin: 67% 48%; }
.light-hero__copy { animation: light-copy-in .85s cubic-bezier(.2, .75, .25, 1) .08s both; }
.light-hero__features { animation: light-features-in .8s cubic-bezier(.2, .75, .25, 1) .42s both; }
.light-button--primary span, .light-button--text span { display: inline-block; transition: transform .22s ease; }
.light-button--primary:hover span, .light-button--primary:focus span, .light-button--text:hover span, .light-button--text:focus span { transform: translateX(4px); }
.light-service-card { animation-duration: .72s; animation-timing-function: cubic-bezier(.2, .75, .25, 1); }

@keyframes light-header-in {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes light-scene-drift {
    from { transform: scale(1.025) translate3d(0, 0, 0); }
    to { transform: scale(1.06) translate3d(-.5%, -.35%, 0); }
}

@keyframes light-copy-in {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes light-features-in {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1499.98px) {
    .light-header .btn-nav { min-width: 166px; min-height: 39px; padding: 9px 13px; font-size: 11px; }
}

@media (max-width: 767.98px) {
    .light-header .btn-nav { min-width: 0; }
    .light-hero__scene { transform-origin: 67% 72%; }
}

@media (prefers-reduced-motion: reduce) {
    .light-header, .light-hero__scene, .light-hero__copy, .light-hero__features, .light-service-card { animation: none; }
    .light-button--primary span, .light-button--text span { transition: none; }
}

/* Premium motion layer: light sweep, depth cues, and coordinated element movement */
.light-hero__scene::after {
    position: absolute;
    inset: -12% -35%;
    z-index: 1;
    background: linear-gradient(108deg, transparent 38%, rgba(255, 249, 232, .16) 48%, rgba(255, 255, 255, .06) 53%, transparent 64%);
    content: "";
    mix-blend-mode: screen;
    opacity: .7;
    pointer-events: none;
    transform: translateX(-52%);
    animation: light-scene-sheen 15s cubic-bezier(.45, .08, .55, .92) infinite;
}

.light-hero__eyebrow { position: relative; overflow: hidden; }
.light-hero__eyebrow::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -18%;
    width: 9%;
    background: rgba(169, 22, 63, .18);
    content: "";
    transform: skewX(-20deg);
    animation: light-eyebrow-glint 8s ease-in-out 1.2s infinite;
}

.light-service-card { position: relative; overflow: hidden; }
.light-service-card::after {
    position: absolute;
    top: -30%;
    bottom: -30%;
    left: -45%;
    width: 26%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .45), transparent);
    content: "";
    pointer-events: none;
    transform: skewX(-18deg);
    animation: light-card-sheen 9s ease-in-out 2.2s infinite;
}

.light-service-card:nth-child(2)::after { animation-delay: 3.1s; }
.light-service-card:nth-child(3)::after { animation-delay: 4s; }
.light-service-card:nth-child(4)::after { animation-delay: 4.9s; }
.light-service-card__icon { animation: light-icon-breathe 5.5s ease-in-out infinite; }
.light-service-card:nth-child(2) .light-service-card__icon { animation-delay: .8s; }
.light-service-card:nth-child(3) .light-service-card__icon { animation-delay: 1.6s; }
.light-service-card:nth-child(4) .light-service-card__icon { animation-delay: 2.4s; }
.light-feature__icon { animation: light-feature-breathe 6s ease-in-out infinite; }
.light-feature:nth-child(2) .light-feature__icon { animation-delay: .75s; }
.light-feature:nth-child(3) .light-feature__icon { animation-delay: 1.5s; }
.light-button--primary { animation: light-cta-breathe 6s ease-in-out 1.5s infinite; }

@keyframes light-scene-sheen {
    0%, 12% { transform: translateX(-52%); opacity: 0; }
    23% { opacity: .7; }
    43%, 100% { transform: translateX(52%); opacity: 0; }
}

@keyframes light-eyebrow-glint {
    0%, 18% { left: -18%; opacity: 0; }
    30% { opacity: 1; }
    48%, 100% { left: 118%; opacity: 0; }
}

@keyframes light-card-sheen {
    0%, 20% { left: -45%; opacity: 0; }
    31% { opacity: .55; }
    48%, 100% { left: 135%; opacity: 0; }
}

@keyframes light-icon-breathe {
    0%, 100% { box-shadow: 0 6px 12px rgba(124, 15, 48, .18); filter: saturate(1); }
    50% { box-shadow: 0 9px 19px rgba(124, 15, 48, .32), 0 0 0 4px rgba(161, 22, 65, .06); filter: saturate(1.08); }
}

@keyframes light-feature-breathe {
    0%, 100% { opacity: .82; transform: translateY(0); }
    50% { opacity: 1; transform: translateY(-3px); }
}

@keyframes light-cta-breathe {
    0%, 100% { box-shadow: 0 13px 25px rgba(111, 16, 42, .2); }
    50% { box-shadow: 0 17px 31px rgba(111, 16, 42, .29), 0 0 0 5px rgba(161, 22, 65, .045); }
}

@media (prefers-reduced-motion: reduce) {
    .light-hero__scene::after,
    .light-hero__eyebrow::after,
    .light-service-card::after,
    .light-service-card__icon,
    .light-feature__icon,
    .light-button--primary { animation: none; }
}

/* Plus Jakarta Sans headings + Montserrat body typography */
body,
button,
input,
textarea,
select { font-family: var(--ts-font-body); }

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 { font-family: var(--ts-font-heading); }

.public-page,
.light-header,
.light-hero { font-family: var(--ts-font-body); }
.light-hero__title { color: #572735; font-family: var(--ts-font-heading); }
.light-hero__title em { color: #572735; }
.light-hero__lead { color: #34302d; }
.light-service-card strong,
.light-feature strong { color: #34302d; }

.light-header .site-nav,
.light-header .site-nav__inner { min-height: 78px; }
.light-header .site-nav__inner { width: calc(100% - 128px); }
.light-header .brand-lockup { gap: 10px; }
.light-header .brand-lockup__logo { width: 42px; height: 42px; flex-basis: 42px; }
.light-header .brand-lockup__name { font-size: 22px; letter-spacing: -.04em; }
.light-header .brand-lockup__parent { margin-top: 1px; font-size: 11px; }
.light-header .site-nav .navbar-collapse { top: 0; right: -34px; left: 330px; height: 78px; }
.light-header .site-nav .navbar-nav { gap: 30px !important; }
.light-header .site-nav .nav-link { font-size: 14px; }
.light-header .btn-nav { min-width: 178px; min-height: 42px; padding: 10px 15px; font-size: 12px; transform: none; }

@media (max-width: 1499.98px) {
    .light-header .site-nav__inner { width: calc(100% - 80px); }
    .light-header .site-nav .navbar-collapse { left: 290px; right: -22px; }
    .light-header .site-nav .navbar-nav { gap: 20px !important; }
    .light-header .site-nav .nav-link { font-size: 13px; }
    .light-header .btn-nav { min-width: 166px; min-height: 39px; padding: 9px 13px; font-size: 11px; }
}

@media (max-width: 767.98px) {
    .light-header .site-nav,
    .light-header .site-nav__inner { min-height: 68px; }
    .light-header .site-nav__inner { width: calc(100% - 40px); }
    .light-header .brand-lockup__logo { width: 38px; height: 38px; flex-basis: 38px; }
    .light-header .brand-lockup__name { font-size: 18px; }
    .light-header .brand-lockup__parent { font-size: 9px; }
    .light-header .site-nav__toggle { width: 2.45rem; height: 2.3rem; }
}

/* Motion analysis hero: cinematic market-reading background with right-aligned message */
.motion-hero {
    position: relative;
    min-height: max(760px, 100svh);
    overflow: hidden;
    isolation: isolate;
    color: #fff;
    background: #060307;
}

.motion-hero__media,
.motion-hero__video,
.motion-hero__tint,
.motion-hero__grid,
.motion-hero__scanline { position: absolute; inset: 0; }
.motion-hero__media { z-index: -3; overflow: hidden; background: #08050a url('../images/tehilah-stocks-strategic-path-scene.webp') center / cover no-repeat; }
.motion-hero__video { width: 100%; height: 100%; object-fit: cover; object-position: 42% center; opacity: .64; filter: saturate(.78) contrast(1.08) brightness(.7); transform: scale(1.055); animation: motion-video-drift 22s ease-in-out infinite alternate; will-change: transform; }
.motion-hero__tint { background: linear-gradient(90deg, rgba(3, 1, 5, .06) 0%, rgba(5, 2, 8, .2) 28%, rgba(6, 2, 9, .78) 58%, rgba(5, 2, 8, .98) 100%), linear-gradient(0deg, rgba(3, 1, 5, .95) 0%, rgba(3, 1, 5, .08) 36%, rgba(3, 1, 5, .42) 100%); pointer-events: none; }
.motion-hero__grid { opacity: .09; background-image: linear-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px); background-size: 68px 68px; mask-image: linear-gradient(90deg, #000, transparent 82%); transform: perspective(700px) rotateX(58deg) translateY(24%); transform-origin: bottom left; animation: motion-grid-drift 18s linear infinite; pointer-events: none; }
.motion-hero__scanline { right: auto; width: 2px; background: linear-gradient(180deg, transparent, rgba(242, 53, 112, .92), transparent); box-shadow: 0 0 18px rgba(237, 38, 103, .6); opacity: .3; animation: motion-scan 8s ease-in-out infinite; pointer-events: none; }
.motion-hero__ambient { position: absolute; width: 30rem; height: 30rem; border-radius: 50%; filter: blur(92px); opacity: .16; pointer-events: none; }
.motion-hero__ambient--one { top: 25%; left: 17%; background: #b51453; animation: motion-ambient-one 12s ease-in-out infinite alternate; }
.motion-hero__ambient--two { right: -12rem; bottom: -13rem; background: #6f113c; animation: motion-ambient-two 15s ease-in-out infinite alternate; }

.motion-market-overlay { position: absolute; top: 43%; right: 1%; z-index: 0; width: min(54vw, 820px); height: 30%; opacity: .18; pointer-events: none; mask-image: linear-gradient(90deg, transparent 0%, #000 16%, #000 72%, transparent 100%); }
.motion-market-overlay svg { display: block; width: 100%; height: 100%; overflow: visible; }
.motion-market-overlay__grid line { stroke: rgba(255, 255, 255, .12); stroke-width: 1; stroke-dasharray: 3 9; }
.motion-market-overlay__candles path { fill: rgba(241, 57, 118, .23); stroke: rgba(255, 133, 164, .58); stroke-width: 1.25; animation: motion-market-candle 5.5s ease-in-out infinite; transform-origin: 50% 50%; }
.motion-market-overlay__candles path:nth-child(2) { animation-delay: .25s; }.motion-market-overlay__candles path:nth-child(3) { animation-delay: .5s; }.motion-market-overlay__candles path:nth-child(4) { animation-delay: .75s; }.motion-market-overlay__candles path:nth-child(5) { animation-delay: 1s; }.motion-market-overlay__candles path:nth-child(6) { animation-delay: 1.25s; }.motion-market-overlay__candles path:nth-child(7) { animation-delay: 1.5s; }.motion-market-overlay__candles path:nth-child(8) { animation-delay: 1.75s; }
.motion-market-overlay__trace { fill: none; stroke-linecap: round; stroke-width: 1.4; stroke-dasharray: 1; stroke-dashoffset: 1; animation: motion-market-trace 3.6s cubic-bezier(.2, .75, .25, 1) .6s forwards, motion-market-trace-pulse 7s ease-in-out 4.5s infinite; }
.motion-market-overlay__trace--bull { stroke: #f04479; filter: drop-shadow(0 0 3px rgba(240, 68, 121, .45)); }
.motion-market-overlay__trace--base { stroke: rgba(255, 255, 255, .68); stroke-width: 1.3; animation-delay: 1s, 4.9s; }
.motion-market-overlay__trace--stress { stroke: #42bfe8; stroke-width: 1.4; animation-delay: 1.35s, 5.2s; }
.motion-market-overlay__point { fill: #fff; stroke: #f04479; stroke-width: 2; filter: drop-shadow(0 0 4px #f04479); animation: motion-market-point 3.4s ease-in-out 3s infinite; }

.motion-background-labels { position: absolute; inset: 0; z-index: 4; pointer-events: none; }
.motion-background-label { position: absolute; display: inline-flex; align-items: center; gap: 8px; color: rgba(255, 255, 255, .58); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-shadow: 0 2px 12px rgba(0, 0, 0, .5); white-space: nowrap; animation: motion-background-label-bounce 7s ease-in-out both infinite; }
.motion-background-label::after { width: 28px; height: 1px; background: rgba(239, 62, 117, .56); box-shadow: 0 0 7px rgba(239, 62, 117, .35); content: ""; }
.motion-background-label b { color: #f04479; font-size: 12px; letter-spacing: .08em; }
.motion-background-label--past { top: 18%; left: 4%; animation-delay: .35s; }
.motion-background-label--present { top: 14%; left: 28%; animation-delay: .85s; }
.motion-background-label--predictive { top: 18%; left: 42%; z-index: 3; animation-delay: 1.35s; }

.motion-hero__signal-path { position: absolute; top: 18%; left: 2%; z-index: 1; width: 55%; height: 68%; overflow: visible; opacity: .52; pointer-events: none; will-change: opacity; }
.motion-signal-path__line,
.motion-signal-path__glow { fill: none; stroke: url(#motion-signal-line); stroke-linecap: round; stroke-linejoin: round; }
.motion-signal-path__line { stroke-width: 1.5; stroke-dasharray: 1; stroke-dashoffset: 1; animation: motion-path-draw 3.8s cubic-bezier(.2, .7, .25, 1) .4s forwards, motion-path-pulse 8s ease-in-out 4.2s infinite; }
.motion-signal-path__line--fine { stroke-width: .7; opacity: .56; animation-delay: .7s, 4.5s; }
.motion-signal-path__glow { stroke: #e9326d; stroke-width: 15; opacity: .13; filter: url(#motion-signal-glow); animation: motion-path-draw 3.8s cubic-bezier(.2, .7, .25, 1) .4s forwards, motion-path-pulse 8s ease-in-out 4.2s infinite; }
.motion-signal-path__node { fill: #fff; stroke: #ed326c; stroke-width: 2; filter: drop-shadow(0 0 4px #f03e75); animation: motion-node-ping 3s ease-in-out 2.8s infinite; }
.motion-signal-path__node--two { animation-delay: 3.5s; }

.motion-hero__inner { position: relative; z-index: 3; display: grid; grid-template-columns: minmax(420px, 1fr) minmax(520px, 680px); gap: 7%; align-items: center; width: min(1520px, calc(100% - 160px)); min-height: max(760px, 100svh); margin: 0 auto; padding-top: 52px; }
.motion-hero__copy { grid-column: 2; max-width: 680px; justify-self: end; }
.motion-hero__eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 28px; color: rgba(255, 255, 255, .68); font-size: 12px; font-weight: 700; letter-spacing: .14em; line-height: 1.3; text-wrap: balance; animation: motion-hero-line-in .7s cubic-bezier(.2, .75, .25, 1) .08s both; }
.motion-hero__eyebrow > span { display: inline-block; max-width: 0; overflow: hidden; border-right: 1px solid rgba(239, 62, 117, .9); white-space: nowrap; animation: motion-eyebrow-type 2.25s steps(52, end) .16s forwards, motion-eyebrow-cursor .85s step-end .16s 3 forwards; }
.motion-hero__title { max-width: 680px; margin: 0; color: #fff; font-family: var(--ts-font-heading); font-size: clamp(52px, 4.7vw, 78px); font-weight: 600; letter-spacing: -.07em; line-height: .94; text-wrap: balance; }
.motion-hero__title-line { display: block; opacity: 0; animation: motion-hero-line-in .85s cubic-bezier(.2, .75, .25, 1) both; }
.motion-hero__title-line--one { animation-delay: .32s; }
.motion-hero__title-line--two { animation-delay: .5s; }
.motion-hero__title em { color: #e62c68; font-style: normal; text-shadow: 0 0 14px rgba(225, 34, 100, .12); }
.motion-hero__lead { max-width: 610px; margin: 25px 0 32px; color: rgba(255, 255, 255, .8); font-size: 19px; line-height: 1.55; opacity: 0; animation: motion-hero-line-in .75s cubic-bezier(.2, .75, .25, 1) .9s both; }
.motion-hero__slogan { display: flex; align-items: center; gap: 10px; margin: -9px 0 25px; color: rgba(255, 255, 255, .64); font-size: 12px; font-weight: 600; letter-spacing: .08em; line-height: 1.4; opacity: 0; animation: motion-hero-line-in .7s cubic-bezier(.2, .75, .25, 1) 1.02s both; }
.motion-hero__slogan::before { width: 24px; height: 1px; flex: 0 0 auto; background: #e83b70; box-shadow: 0 0 9px rgba(232, 59, 112, .55); content: ""; }
.motion-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }
.motion-hero__actions .motion-button { opacity: 0; animation: motion-hero-line-in .7s cubic-bezier(.2, .75, .25, 1) 1.1s both; }
.motion-hero__actions .motion-button:nth-child(2) { animation-delay: 1.23s; }
.motion-button { display: inline-flex; min-height: 58px; align-items: center; justify-content: center; padding: 0 24px; border-radius: 999px; font-size: 15px; font-weight: 700; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, border-color .25s ease; }
.motion-button:hover, .motion-button:focus-visible { color: #fff; transform: translateY(-4px); }
.motion-button:active { transform: translateY(-1px) scale(.985); }
.motion-button--primary { min-width: 320px; color: #fff; background: linear-gradient(135deg, #c3164c, #8c1037); box-shadow: 0 15px 35px rgba(177, 17, 70, .22); }
.motion-button--primary:hover, .motion-button--primary:focus-visible { box-shadow: 0 21px 42px rgba(224, 31, 99, .36), 0 0 0 4px rgba(237, 54, 116, .13); }
.motion-button--primary span { margin-left: 12px; font-size: 20px; transition: transform .25s ease; }
.motion-button--primary:hover span, .motion-button--primary:focus-visible span { transform: translateX(5px); }
.motion-button--secondary { min-width: 245px; color: #fff; border: 1px solid rgba(255, 149, 178, .48); background: rgba(16, 6, 14, .4); box-shadow: 0 10px 25px rgba(0, 0, 0, .16); backdrop-filter: blur(10px); }
.motion-button--secondary:hover, .motion-button--secondary:focus-visible { border-color: #ed5785; background: rgba(100, 13, 50, .45); }
.motion-button--secondary i { display: grid; width: 27px; height: 27px; margin-left: 12px; place-items: center; color: #fff; background: #c71950; border-radius: 50%; font-size: 9px; font-style: normal; transition: transform .25s ease; }
.motion-button--secondary:hover i, .motion-button--secondary:focus-visible i { transform: rotate(90deg) scale(1.08); }
.motion-hero__meta { display: flex; align-items: center; gap: 17px; margin-top: 25px; color: rgba(255, 255, 255, .6); font-size: 11px; font-weight: 700; letter-spacing: .2em; opacity: 0; animation: motion-hero-line-in .7s cubic-bezier(.2, .75, .25, 1) 1.42s both; }
.motion-hero__meta > span { position: relative; }.motion-hero__meta > span + span::before { position: absolute; top: 50%; left: -11px; width: 3px; height: 3px; border-radius: 50%; background: #e6316d; content: ""; transform: translateY(-50%); }.motion-hero__meta small { margin-left: 10px; color: rgba(255, 255, 255, .45); font-size: 11px; font-weight: 400; letter-spacing: .02em; }

.motion-insight-card { position: absolute; top: 30%; left: 2%; width: min(430px, 37vw); padding: 21px 22px 19px; border: 1px solid rgba(245, 108, 146, .35); border-radius: 18px; background: linear-gradient(145deg, rgba(22, 8, 18, .86), rgba(8, 3, 9, .68)); box-shadow: 0 28px 70px rgba(0, 0, 0, .32), inset 0 1px 0 rgba(255, 255, 255, .08), 0 0 24px rgba(182, 19, 76, .08); backdrop-filter: blur(16px); transform: translate3d(calc(var(--motion-pointer-x, 0) * -10px), calc(var(--motion-pointer-y, 0) * -7px), 0) rotate(-1.4deg); animation: motion-card-in .9s cubic-bezier(.2, .75, .25, 1) .45s both; transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; will-change: transform; }
.motion-insight-card:hover { border-color: rgba(255, 129, 160, .82); box-shadow: 0 35px 85px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .13), 0 0 45px rgba(212, 27, 91, .24); transform: translate3d(calc(var(--motion-pointer-x, 0) * -10px), calc(var(--motion-pointer-y, 0) * -7px - 8px), 0) rotate(0deg) scale(1.015); }
.motion-insight-card::after { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(112deg, transparent 30%, rgba(255, 255, 255, .13) 48%, transparent 64%); content: ""; opacity: 0; transform: translateX(-120%); transition: opacity .25s ease, transform .7s ease; pointer-events: none; }.motion-insight-card:hover::after { opacity: 1; transform: translateX(120%); }
.motion-insight-card__topline, .motion-insight-card__heading, .motion-insight-card__status, .motion-insight-card__footer { display: flex; align-items: center; justify-content: space-between; }
.motion-insight-card__topline { color: rgba(255, 255, 255, .6); font-size: 9px; font-weight: 700; letter-spacing: .18em; }.motion-insight-card__topline span { display: inline-flex; align-items: center; gap: 7px; }.motion-insight-card__topline i { width: 6px; height: 6px; border-radius: 50%; background: #f13c74; box-shadow: 0 0 12px #f13c74; animation: motion-dot-blink 1.8s ease-in-out infinite; }.motion-insight-card__topline small { color: #e9809f; font-size: 9px; letter-spacing: .08em; }
.motion-insight-card__heading { margin-top: 20px; color: rgba(255, 255, 255, .72); font-size: 14px; }.motion-insight-card__heading strong { color: #fff; font-size: 17px; }
.motion-insight-card__chart { display: block; width: 100%; height: auto; margin-top: 14px; overflow: visible; }.motion-chart__grid line { stroke: rgba(255, 255, 255, .1); stroke-width: 1; }.motion-chart__fill { fill: url(#motion-chart-fill); opacity: .5; }.motion-chart__line { fill: none; stroke: #f04478; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.1; stroke-dasharray: 1; stroke-dashoffset: 1; filter: drop-shadow(0 0 3px rgba(240, 68, 120, .48)); animation: motion-chart-draw 2.6s cubic-bezier(.2, .75, .25, 1) 1s forwards, motion-chart-pulse 6s ease-in-out 3.8s infinite; }.motion-chart__point { fill: #fff; stroke: #f04478; stroke-width: 2; filter: drop-shadow(0 0 4px #f04478); animation: motion-chart-point 3s ease-in-out 3s infinite; }.motion-chart__labels text { fill: rgba(255, 255, 255, .58); font-size: 9px; letter-spacing: .16em; }
.motion-insight-card__disclaimer { margin: 5px 0 0; color: rgba(255, 255, 255, .58); font-size: 9px; letter-spacing: .02em; line-height: 1.35; }
.motion-insight-card__status { margin-top: 7px; padding-top: 13px; border-top: 1px solid rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .63); font-size: 10px; }.motion-insight-card__status span { display: inline-flex; align-items: center; gap: 6px; }.motion-insight-card__status i { width: 5px; height: 5px; border-radius: 50%; background: #ef5d88; }
.motion-insight-card__footer { margin-top: 17px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .5); font-size: 10px; }.motion-insight-card__footer strong { color: #fff; font-size: 11px; }.motion-insight-card__footer b { margin: 0 4px; color: #ed4b7c; }

@keyframes motion-video-drift { 0% { transform: scale(1.055) translate3d(-1%, -1%, 0); } 100% { transform: scale(1.095) translate3d(2%, 1%, 0); } }
@keyframes motion-grid-drift { from { background-position: 0 0; } to { background-position: 68px 68px; } }
@keyframes motion-scan { 0%, 100% { left: 14%; opacity: 0; } 12%, 58% { opacity: .55; } 72% { left: 53%; opacity: 0; } }
@keyframes motion-ambient-one { from { transform: translate3d(-10px, 8px, 0) scale(.9); } to { transform: translate3d(90px, -34px, 0) scale(1.16); } }
@keyframes motion-ambient-two { from { transform: translate3d(20px, 20px, 0) scale(.85); } to { transform: translate3d(-80px, -50px, 0) scale(1.15); } }
@keyframes motion-path-draw { to { stroke-dashoffset: 0; } }
@keyframes motion-path-pulse { 0%, 100% { opacity: .72; } 50% { opacity: 1; } }
@keyframes motion-node-ping { 0%, 100% { transform: scale(1); opacity: .9; } 50% { transform: scale(1.45); opacity: .48; } }
@keyframes motion-dot-blink { 0%, 100% { opacity: .5; } 50% { opacity: 1; } }
@keyframes motion-hero-line-in { from { opacity: 0; transform: translate3d(0, 22px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
@keyframes motion-eyebrow-type { from { max-width: 0; } to { max-width: 100%; } }
@keyframes motion-eyebrow-cursor { 0%, 100% { border-color: transparent; } 50% { border-color: rgba(239, 62, 117, .9); } }
@keyframes motion-card-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes motion-chart-draw { to { stroke-dashoffset: 0; } }
@keyframes motion-chart-pulse { 0%, 100% { opacity: .9; } 50% { opacity: 1; } }
@keyframes motion-chart-point { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.35); } }
@keyframes motion-mobile-card-float { 0%, 100% { transform: translate3d(0, 0, 0) rotate(-.6deg); } 50% { transform: translate3d(0, -6px, 0) rotate(-.25deg); } }
@keyframes motion-background-label-bounce { 0% { opacity: 0; transform: translateY(16px); } 12% { opacity: 1; transform: translateY(0); } 28% { transform: translateY(-7px); } 44% { transform: translateY(0); } 61% { transform: translateY(-4px); } 76%, 100% { opacity: 1; transform: translateY(0); } }
@keyframes motion-market-candle { 0%, 100% { opacity: .65; transform: scaleY(.94); } 50% { opacity: 1; transform: scaleY(1.06); } }
@keyframes motion-market-trace { to { stroke-dashoffset: 0; } }
@keyframes motion-market-trace-pulse { 0%, 100% { opacity: .68; } 50% { opacity: 1; } }
@keyframes motion-market-point { 0%, 100% { transform: scale(1); opacity: .82; } 50% { transform: scale(1.35); opacity: 1; } }

@media (max-width: 1199.98px) {
    .motion-hero__inner { grid-template-columns: minmax(300px, .85fr) minmax(430px, 1.15fr); gap: 4%; width: calc(100% - 80px); }
    .motion-hero__title { font-size: clamp(48px, 4.7vw, 68px); }
    .motion-hero__lead { font-size: 16px; }
    .motion-insight-card { left: 0; width: min(370px, 35vw); padding: 17px; }
}

@media (max-width: 899.98px) {
    .motion-hero { min-height: 0; }
    .motion-hero__media { background-position: 62% center; }
    .motion-hero__video { object-position: 62% center; opacity: .42; filter: saturate(.78) contrast(1.08) brightness(.7); }
    .motion-hero__tint { background: linear-gradient(180deg, rgba(4, 1, 6, .94) 0%, rgba(5, 2, 8, .91) 43%, rgba(5, 2, 8, .72) 72%, rgba(4, 1, 6, .97) 100%); }
    .motion-hero__grid { opacity: .07; mask-image: linear-gradient(180deg, #000, transparent 80%); transform: perspective(700px) rotateX(58deg) translateY(18%); }
    .motion-market-overlay { top: 52%; right: -20%; width: 125%; height: 25%; opacity: .12; mask-image: linear-gradient(90deg, transparent, #000 25%, #000 78%, transparent); }
    .motion-hero__signal-path { top: 38%; left: -18%; width: 132%; height: 45%; opacity: .36; }
    .motion-background-labels { display: none; }
    .motion-hero__inner { display: flex; width: calc(100% - 40px); min-height: 0; flex-direction: column; align-items: stretch; padding: 116px 0 42px; }
    .motion-hero__copy { width: 100%; max-width: 680px; text-shadow: 0 2px 18px rgba(0, 0, 0, .56); }
    .motion-hero__eyebrow { margin-bottom: 19px; font-size: 9px; letter-spacing: .14em; }
    .motion-hero__eyebrow > span { max-width: 100%; border-right: 0; white-space: normal; animation: none; }
    .motion-hero__title { max-width: 620px; font-size: clamp(36px, 9.5vw, 48px); letter-spacing: -.06em; }
    .motion-hero__title-line { white-space: nowrap; }
    .motion-hero__lead { margin: 20px 0 25px; color: rgba(255, 255, 255, .9); font-size: 15px; line-height: 1.5; }
    .motion-hero__slogan { margin: -7px 0 23px; font-size: 10px; letter-spacing: .06em; }
    .motion-hero__actions { flex-direction: column; gap: 10px; }
    .motion-button, .motion-button--primary, .motion-button--secondary { width: 100%; min-width: 0; min-height: 55px; }
    .motion-hero__meta { flex-wrap: wrap; gap: 13px; margin-top: 21px; font-size: 10px; }
    .motion-hero__meta small { width: 100%; margin: 1px 0 0; }
    .motion-insight-card { position: relative; top: auto; left: auto; width: 100%; max-width: 500px; margin-top: 42px; padding: 18px; transform: rotate(-.6deg); animation: motion-card-in .9s cubic-bezier(.2, .75, .25, 1) .45s both, motion-mobile-card-float 8s ease-in-out 1.5s infinite; }
    .motion-insight-card:hover { transform: translateY(-5px) rotate(0deg) scale(1.01); }
}

@media (prefers-reduced-motion: reduce) {
    .motion-hero *, .motion-hero::before, .motion-hero::after { animation: none !important; transition: none !important; }
    .motion-hero__video { transform: none; }
    .motion-hero__eyebrow > span { max-width: none; border-right: 0; }
    .motion-hero__copy, .motion-hero__eyebrow, .motion-hero__title-line, .motion-hero__lead, .motion-hero__slogan, .motion-hero__actions .motion-button, .motion-hero__meta, .motion-insight-card { opacity: 1; transform: none; }
}
