.landing { --landing-ink: #132422; --landing-green: #143b34; --landing-mint: #c9f27a; --landing-paper: #f5f5ec; background: var(--landing-paper); color: var(--landing-ink); }
body:has(.landing:not([hidden])) { background: #f5f5ec; }
body:has(.landing:not([hidden])) .topbar { background: #0b1b18; color: #f4f8e9; border-color: #29413b; }
body:has(.landing:not([hidden])) .brand-mark { background: #c9f27a; color: #132422; }
.landing-top-actions { display: flex; align-items: center; gap: 1.5rem; }
.landing-top-actions a { color: inherit; text-decoration: none; font-weight: 650; }
.landing-top-actions a:last-child { padding: 7px 13px; border: 1px solid #59746b; border-radius: 8px; }
.landing-shell { width: min(1200px, calc(100% - 76px)); margin-inline: auto; }
.landing-hero { position: relative; isolation: isolate; background: #0d201c; color: #f2f7e9; overflow: clip; }
.hero-image { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #0d201c 1%, #0d201cf2 34%, #0d201c88 69%, #0d201c35), url('/trade-tools.webp') center 47% / cover; transform: scale(1.02) translateY(var(--hero-offset, 0px)); }
.hero-layout { display: grid; grid-template-columns: 1.18fr .82fr; gap: 38px; align-items: center; min-height: min(650px, 84vh); padding-block: 70px 86px; }
.landing-kicker { letter-spacing: .15em; font-size: .72rem; font-weight: 760; color: #4b665d; }
.hero-copy .landing-kicker, .access-copy .landing-kicker { color: #c9f27a; }
.hero-copy h1 { margin-block: 20px 19px; font-size: clamp(3.4rem, 7.15vw, 7.15rem); line-height: .91; letter-spacing: -.08em; }
.hero-copy > p:not(.landing-kicker) { max-width: 39ch; font-size: clamp(1.06rem, 1.5vw, 1.31rem); color: #e0e9db; }
.landing-actions { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; margin-top: 27px; }
.landing-cta, .landing-link { display: inline-flex; gap: 12px; align-items: center; text-decoration: none; font-weight: 720; }
.landing-cta { background: var(--landing-mint); color: #12271e; border-radius: 8px; padding: 12px 16px; }
.landing-cta:hover { background: #e0ffac; }
.landing-link { color: #eff6e6; padding-block: 8px; }
.landing-link:hover { text-decoration: underline; }
.hero-proof { position: relative; max-width: 400px; width: 100%; margin: 20px auto 0; transform: translateY(var(--proof-offset, 0px)); }
.proof-paper { background: #f9f9ef; color: #17312b; padding: 25px; border-radius: 13px; transform: rotate(-6deg); box-shadow: 0 16px 45px #050b09a0; }
.proof-top, .proof-row, .proof-total { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.proof-top { font-weight: 730; border-bottom: 2px solid #406456; padding-bottom: 13px; }
.proof-top small { color: #416057; font-size: .63rem; text-align: right; letter-spacing: .08em; }
.proof-title { font-size: 1.6rem; font-weight: 750; margin: 15px 0 6px; letter-spacing: -.055em; }
.proof-row { padding: 8px 0; border-bottom: 1px solid #dbe5d7; }
.proof-total { margin-top: 15px; padding: 10px; background: #e2ebd8; border-radius: 5px; }
.proof-chip { position: absolute; right: -11px; bottom: -22px; padding: 8px 13px; background: #c9f27a; color: #142922; border-radius: 5px; font-weight: 720; box-shadow: 0 5px 16px #12231b64; transform: rotate(3deg); }
.trade-strip { background: #1d3a32; color: #eaf2e4; }
.trade-strip .landing-shell { min-height: 68px; display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; justify-content: space-between; padding-block: 12px; }
.trade-strip span { color: #b4c6bc; font-size: .79rem; }
.trade-strip strong { font-size: .85rem; }
.landing-story { padding-block: 92px 65px; }
.story-intro { max-width: 630px; }
.story-intro h2, .access-copy h2 { margin: 12px 0; font-size: clamp(2.65rem, 5.7vw, 5.3rem); line-height: .97; letter-spacing: -.07em; }
.story-intro > p:last-child, .story-text > p:not(.landing-kicker) { color: #466059; }
.story-nav { position: sticky; top: 0; z-index: 3; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 27px; padding-block: 10px; border-bottom: 1px solid #d3ded1; background: #f5f5ec; }
.story-nav a { text-decoration: none; color: #385249; font-size: .83rem; font-weight: 700; border-radius: 7px; padding: 7px 12px; }
.story-nav a[aria-current="step"], .story-nav a:hover { background: #dde8d6; color: #143b34; }
.story-step { display: grid; grid-template-columns: .86fr 1.14fr; gap: clamp(26px, 7vw, 90px); align-items: center; padding-block: 64px; scroll-margin-top: 52px; }
.story-step + .story-step { border-top: 1px solid #d3ded1; }
.story-text h3 { margin: 12px 0 16px; max-width: 16ch; font-size: clamp(2rem, 4.2vw, 4.1rem); line-height: .99; letter-spacing: -.065em; }
.story-text p { max-width: 42ch; font-size: 1.05rem; }
.story-text p.landing-kicker { font-size: .72rem; }
.story-text .formats { margin-top: 15px; font-size: .79rem; font-weight: 700; }
.story-art { display: grid; align-content: center; min-height: 390px; padding: 28px clamp(16px, 6vw, 62px); border-radius: 20px; background: radial-gradient(circle at 75% 0, #416457, #173c34 75%); color: #f1f6ed; overflow: clip; }
.story-art > :is(.source-card,.voice-visual,.visual-card) { transform: translateY(var(--scene-offset, 0px)); }
.story-art small { color: #4b665d; font-size: .68rem; letter-spacing: .1em; font-weight: 750; }
.source-card, .voice-visual, .visual-card { padding: 16px; border-radius: 9px; background: #f9faf1; color: #17352b; }
.source-card { display: grid; gap: 2px; justify-self: start; background: #dce9d8; width: min(100%, 330px); }
.source-card span { font-size: .84rem; }
.story-arrow { justify-self: center; line-height: 1; margin: 6px; color: #c9f27a; font-size: 1.6rem; }
.visual-card { box-shadow: 0 9px 22px #07161148; }
.visual-title { font-weight: 760; letter-spacing: -.035em; font-size: 1.35rem; }
.visual-row, .quantity-control, .demo-total { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-bottom: 1px solid #dbe5d7; padding-block: 8px; }
.visual-row strong { text-align: right; }
.visual-foot { font-size: .78rem; margin-top: 9px; color: #416057; }
.voice-visual { display: flex; gap: 12px; align-items: center; background: #dce9d8; }
.voice-indicator { width: 30px; height: 22px; flex: 0 0 auto; background: repeating-linear-gradient(90deg, #30694f 0 3px, transparent 3px 6px); clip-path: polygon(0 40%, 16% 30%, 27% 0, 40% 35%, 53% 12%, 67% 48%, 85% 23%, 100% 40%, 100% 65%, 85% 78%, 67% 60%, 53% 95%, 40% 63%, 27% 100%, 16% 70%, 0 60%); }
.review-art { background: radial-gradient(circle at 10% 0, #567969, #173c34 75%); }
.quantity-control span { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.quantity-control input { width: 95px; margin: 0; min-height: 36px; background: white; }
.demo-total { border-bottom: 0; margin-top: 10px; padding: 9px 10px; border-radius: 5px; background: #e2ebd8; }
.demo-total output { color: #173c34; font-size: 1.23rem; font-weight: 750; white-space: nowrap; }
.landing-access { color: #f1f7ec; background: #102a24; padding-block: 68px; scroll-margin-top: 12px; }
.access-layout { display: grid; grid-template-columns: 1fr minmax(320px, .75fr); align-items: center; gap: 52px; }
.access-copy p:last-child { max-width: 40ch; color: #ccdcd1; }
.auth-panel { color: #192238; }
.auth-panel .sign-in-heading { padding: 24px 23px 0; }
.auth-panel h2 { font-size: 1.75rem; }
.auth-panel form { padding-bottom: 12px; }
.auth-panel form label + label { margin-top: 12px; }
.auth-panel form .primary { width: 100%; margin-top: 17px; }
.landing-footer { padding-block: 24px; background: #0b1b18; color: #e9f1e7; }
.landing-footer .landing-shell { display: flex; justify-content: space-between; gap: 18px; }
.landing-footer a { color: #c9f27a; text-decoration: none; }
.trial-pricing { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 42px; padding-block: 42px 82px; }
.trial-pricing h2 { font-size: clamp(2.25rem, 5vw, 4.2rem); line-height: 1; }
.trial-pricing p { color: #466059; max-width: 44ch; margin-top: 12px; }
.trial-card { background: #e5ecd9; padding: 23px 26px; border-radius: 14px; }
.trial-card h3 { font-size: 1.45rem; }
.trial-card ul { padding-left: 19px; }
.trial-card li { margin-block: 5px; }
#start-trial { scroll-margin-block-start: 20px; }
.signup-note { font-size: .82rem; color: #525d71; margin-block-start: 10px; }
.signup-note a { color: #243ca1; }
@media (max-width: 850px) {
  .landing-shell { width: calc(100% - 44px); }
  .hero-layout, .story-step, .access-layout { gap: 28px; }
  .proof-paper { padding: 18px; }
  .story-art { min-height: 330px; }
  .landing-story { padding-block: 58px 45px; }
}
@media (max-width: 660px) {
  .landing-top-actions { gap: 10px; font-size: .8rem; }
  .landing-top-actions a:first-child { display: none; }
  .landing-shell { width: calc(100% - 32px); }
  .hero-layout, .story-step, .access-layout { grid-template-columns: 1fr; }
  .hero-layout { padding-block: 45px 60px; min-height: auto; }
  .hero-image { background-position: 63% center; }
  .hero-copy h1 { font-size: clamp(3.15rem, 12vw, 5.4rem); }
  .hero-proof { width: calc(100% - 28px); margin-top: 13px; transform: none; }
  .proof-paper { transform: rotate(-3deg); }
  .proof-chip { right: 0; }
  .trade-strip .landing-shell { justify-content: flex-start; column-gap: 14px; }
  .trade-strip span { flex-basis: 100%; }
  .story-step { padding-block: 37px; }
  .story-art { min-height: 0; padding: 19px; }
  .story-art > :is(.source-card,.voice-visual,.visual-card) { transform: none; }
  .landing-access { padding-block: 46px; }
  .trial-pricing { grid-template-columns: 1fr; gap: 18px; padding-block: 19px 45px; }
  .landing-footer .landing-shell { flex-wrap: wrap; gap: 10px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-image, .hero-proof, .story-art > :is(.source-card,.voice-visual,.visual-card) { transform: none; }
}
@media print { .landing, .landing-top-actions { display: none !important; } }
