:root {
  --ct-blue: #2a5298;
  --ct-blue-dark: #1d3969;
  --ct-blue-deep: #10213f;
  --ct-green: #00e542;
  --ct-green-dark: #008231;
  --ct-bg: #f6f8fc;
  --ct-bg-alt: #edf2f8;
  --ct-text: #10213f;
  --ct-muted: #5d6a7e;
  --ct-white: #fff;
  --ct-border: #dce5f0;
  --ct-danger: #b42318;
  --ct-danger-dark: #8f1d15;
  --shadow-sm: 0 12px 34px rgba(29, 57, 105, .08);
  --shadow-lg: 0 28px 70px rgba(15, 38, 74, .15);
  --radius: 20px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 104px; scrollbar-gutter: stable; }
body { margin: 0; overflow-x: hidden; background: var(--ct-white); color: var(--ct-text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.menu-open, body.modal-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; }
button { color: inherit; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px, 1px, 1px, 1px) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 200; transform: translateY(-160%); border: 2px solid var(--ct-blue); border-radius: 8px; padding: 10px 14px; background: var(--ct-white); font-weight: 800; }
.skip-link:focus { transform: none; }
:focus-visible { outline: 3px solid #ffda6a; outline-offset: 2px; box-shadow: 0 0 0 6px var(--ct-blue-deep) !important; }

h1, h2, h3 { margin-top: 0; color: var(--ct-blue-dark); line-height: 1.08; letter-spacing: -.035em; }
h1 { max-width: 13ch; margin-bottom: 24px; font-size: clamp(2.6rem, 4.45vw, 4.55rem); }
h2 { font-size: clamp(2rem, 3.3vw, 3.35rem); }
h3 { font-size: 1.28rem; }
p { margin-top: 0; }
.section { padding: clamp(76px, 9vw, 120px) 0; }
.section-heading { max-width: 790px; margin-bottom: 46px; }
.section-heading.centered { margin-inline: auto; text-align: center; }
.section-heading h2 { margin-bottom: 20px; }
.section-heading p { margin-bottom: 12px; color: var(--ct-muted); }
.section-kicker, .eyebrow { margin: 0 0 15px; color: var(--ct-blue); font-size: .76rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.section-kicker.light { color: #bcd0f2; }
.danger-kicker { color: var(--ct-danger); }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 12px; padding: 12px 22px; font: inherit; font-size: .86rem; font-weight: 820; letter-spacing: .025em; text-align: center; text-decoration: none; text-transform: uppercase; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button:disabled { opacity: .68; cursor: wait; transform: none; }
.button-small { min-height: 44px; padding: 10px 17px; background: var(--ct-blue); color: var(--ct-white); text-transform: none; white-space: nowrap; }
.button-primary { background: linear-gradient(135deg, #006f29, var(--ct-green-dark)); color: #fff; box-shadow: 0 12px 24px rgba(0, 111, 41, .22); }
.text-link { display: inline-flex; gap: 8px; align-items: center; color: var(--ct-blue); font-weight: 800; text-underline-offset: 3px; }

.site-header { position: sticky; top: 0; z-index: 50; min-height: 96px; border-bottom: 1px solid rgba(220, 229, 240, .86); background: rgba(255, 255, 255, .95); backdrop-filter: blur(12px); }
.site-header.scrolled { box-shadow: 0 8px 26px rgba(29, 57, 105, .08); }
.header-inner { min-height: 96px; display: flex; align-items: center; gap: 26px; }
.brand { display: inline-flex; flex: 0 0 auto; text-decoration: none; }
.brand img { width: 58px; height: 58px; border-radius: 12px; object-fit: cover; }
.site-header .brand { align-items: center; }
.site-header .brand img { display: block; width: 86px; max-width: 100%; height: auto; max-height: none; object-fit: contain; }
.desktop-nav { display: flex; align-items: center; justify-content: center; gap: clamp(13px, 1.45vw, 22px); margin-left: auto; }
.desktop-nav a { min-height: 44px; display: inline-flex; align-items: center; color: #33435e; font-size: .88rem; font-weight: 680; text-decoration: none; }
.desktop-nav a:hover { color: var(--ct-blue); }
.menu-toggle { width: 46px; height: 46px; display: none; place-items: center; border: 1px solid var(--ct-border); border-radius: 12px; background: #fff; cursor: pointer; }
.menu-toggle span { grid-area: 1 / 1; width: 22px; height: 2px; border-radius: 2px; background: var(--ct-blue-dark); transition: transform .2s ease, opacity .2s ease; }
.menu-toggle span:first-child { transform: translateY(-7px); }
.menu-toggle span:last-child { transform: translateY(7px); }
.menu-toggle[aria-expanded="true"] span:first-child { transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:last-child { transform: rotate(-45deg); }
.mobile-nav { position: absolute; top: 100%; inset-inline: 0; max-height: calc(100dvh - 96px); overflow-y: auto; overscroll-behavior: contain; border-top: 1px solid var(--ct-border); border-bottom: 1px solid var(--ct-border); background: #fff; box-shadow: 0 20px 40px rgba(16, 33, 63, .12); }
.mobile-nav[hidden] { display: none; }
.mobile-nav .container { display: grid; padding-block: 12px 22px; }
.mobile-nav a:not(.button) { min-height: 48px; display: flex; align-items: center; border-bottom: 1px solid var(--ct-border); color: var(--ct-blue-dark); font-weight: 750; text-decoration: none; }
.mobile-nav .button { margin-top: 16px; }

.hero { position: relative; overflow: hidden; padding: clamp(58px, 7vw, 96px) 0 62px; background: radial-gradient(circle at 92% 12%, rgba(0, 229, 66, .08), transparent 22rem), linear-gradient(180deg, #f9fbff 0%, #fff 78%); }
.hero::before { content: ""; position: absolute; width: 430px; height: 430px; left: -280px; top: -210px; border: 88px solid rgba(42, 82, 152, .04); border-radius: 50%; }
.hero-grid { width: min(1280px, calc(100% - 40px)); display: grid; grid-template-columns: minmax(400px, .72fr) minmax(0, 1.28fr); align-items: start; gap: clamp(32px, 4vw, 58px); }
.hero-copy, .indicator-figure, .indicator-intro > *, .split-heading > *, .story-grid > *, .progression-grid > *, .contact-grid > *, .waitlist-card > * { min-width: 0; }
.eyebrow { display: flex; align-items: center; gap: 9px; }
.eyebrow span { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: var(--ct-green); box-shadow: 0 0 0 5px rgba(0, 229, 66, .12); }
h1 em { display: block; color: var(--ct-blue); font-style: normal; }
.hero-slogan { display: flex; flex-wrap: wrap; gap: .25em .48em; margin: -5px 0 24px; color: var(--ct-blue-dark); font-size: clamp(1.02rem, 1.55vw, 1.38rem); font-weight: 950; letter-spacing: .055em; line-height: 1.25; text-transform: uppercase; }
.hero-slogan span:nth-child(2) { color: var(--ct-blue); }
.hero-slogan span:nth-child(3) { color: var(--ct-green-dark); }
.hero-intro { max-width: 60ch; margin-bottom: 28px; color: #46556d; font-size: clamp(1rem, 1.2vw, 1.13rem); }
.offer { display: flex; gap: 9px; max-width: 50ch; margin: 21px 0 3px; color: var(--ct-blue-dark); font-size: .91rem; font-weight: 730; }
.offer span { color: var(--ct-green-dark); }
.microcopy { margin: 7px 0 0; color: var(--ct-muted); font-size: .78rem; }
.indicator-figure { width: 100%; max-width: 820px; justify-self: end; margin: 0; }
.indicator-frame { position: relative; overflow: hidden; border: 9px solid #fff; border-radius: 22px; background: #18211b; box-shadow: var(--shadow-lg); }
.indicator-frame img { width: 100%; height: auto; }
.indicator-figure figcaption { padding: 17px 14px 0; color: var(--ct-muted); text-align: center; }
.indicator-figure figcaption strong { display: block; color: var(--ct-blue-dark); font-size: .8rem; }
.indicator-figure figcaption span { display: block; margin-top: 5px; font-size: .73rem; line-height: 1.45; }

.trust-strip { position: relative; z-index: 3; border-block: 1px solid var(--ct-border); background: #fff; }
.trust-list { display: grid; grid-template-columns: minmax(0, 1.65fr) repeat(3, minmax(0, 1fr)); align-items: stretch; }
.trust-item { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 0 10px; min-width: 0; margin: 0; padding: 20px clamp(11px, 1.6vw, 22px); border-right: 1px solid var(--ct-border); line-height: 1.25; }
.trust-item:last-child { border-right: 0; }
.trust-item > span { color: var(--ct-green-dark); font-size: 1.25rem; }
.trust-item > div { min-width: 0; }
.trust-item strong { display: block; overflow-wrap: anywhere; color: var(--ct-blue-dark); font-size: .88rem; }
.trust-item small { display: grid; gap: 2px; margin-top: 4px; color: var(--ct-muted); font-size: .7rem; }
.trust-item small b { font-weight: 720; }
.trust-item a { display: inline-flex; gap: 5px; align-items: center; margin-top: 7px; color: var(--ct-blue); font-size: .68rem; font-weight: 850; text-underline-offset: 3px; }
.trust-featured { box-shadow: inset 4px 0 0 var(--ct-green-dark); background: linear-gradient(135deg, rgba(42, 82, 152, .08), rgba(0, 229, 66, .04)); }
.trust-featured > span { font-size: 1.5rem; }
.trust-featured strong { font-size: .96rem; }
.trust-featured small { color: #43536c; }

.philosophy { background: var(--ct-bg); }
.principles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.principles-grid article { display: flex; min-width: 0; gap: 18px; padding: 28px; border: 1px solid var(--ct-border); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.principles-grid article > span { width: 48px; height: 48px; display: grid; flex: 0 0 48px; place-items: center; border-radius: 14px; background: rgba(42, 82, 152, .09); color: var(--ct-blue); font-size: .75rem; font-weight: 900; }
.principles-grid h3 { margin-bottom: 8px; }
.principles-grid p { margin: 0; color: var(--ct-muted); font-size: .92rem; }

.split-heading { max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .82fr); align-items: end; gap: clamp(40px, 7vw, 95px); }
.split-heading h2 { max-width: 14ch; margin-bottom: 0; }
.split-heading p { margin-bottom: 12px; }
.training-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.training-card { position: relative; overflow: hidden; min-width: 0; min-height: 230px; padding: 27px; border: 1px solid var(--ct-border); border-radius: var(--radius); background: #fff; box-shadow: 0 8px 26px rgba(29, 57, 105, .06); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.training-card:hover { transform: translateY(-4px); border-color: #b8c9e0; box-shadow: var(--shadow-sm); }
.training-card > span { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 22px; border-radius: 14px; background: var(--ct-bg-alt); font-size: 1.45rem; }
.training-card h3 { margin-bottom: 10px; }
.training-card p { margin: 0; color: var(--ct-muted); font-size: .9rem; }
.training-card.featured { border-color: rgba(0, 169, 52, .35); background: linear-gradient(145deg, #fff, #f2fff6); }

.indicator-section { position: relative; overflow: hidden; color: #dbe7fb; background: radial-gradient(circle at 15% 15%, rgba(0, 229, 66, .12), transparent 25rem), linear-gradient(145deg, #10213f, #1d3969 58%, #254a88); }
.indicator-section::after { content: ""; position: absolute; inset: auto -160px -240px auto; width: 510px; height: 510px; border: 90px solid rgba(255, 255, 255, .035); border-radius: 50%; pointer-events: none; }
.indicator-section h2, .indicator-section h3 { color: #fff; }
.indicator-section h2 em { display: block; color: #89f6a8; font-style: normal; }
.indicator-intro { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(42px, 7vw, 100px); align-items: start; margin-bottom: 55px; }
.indicator-intro h2 { max-width: 13ch; }
.indicator-intro p { color: #c4d4ed; }
.crop-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; max-width: 800px; margin: 0 auto 26px; }
.crop-card { box-sizing: content-box; width: min(calc(100% - 2px), 640px); min-width: 0; margin-inline: auto; overflow: hidden; border: 1px solid rgba(255, 255, 255, .16); border-radius: 20px; background: rgba(255, 255, 255, .07); box-shadow: 0 18px 46px rgba(0, 0, 0, .18); }
.chart-crop { position: relative; overflow: hidden; width: 100%; aspect-ratio: 4 / 3; background: #132416; }
.chart-crop img { width: 100%; height: auto; }
.crop-card > div:last-child { padding: 23px 25px 25px; }
.crop-card h3 { margin: 10px 0 8px; }
.crop-card p { margin: 0; color: #c4d4ed; }
.signal-pill { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 10px; font-size: .72rem; font-weight: 900; letter-spacing: .08em; }
.signal-pill.buy { color: #8cf6aa; background: rgba(0, 229, 66, .12); }
.signal-pill.sell { color: #ffaaa4; background: rgba(255, 85, 75, .12); }
.markets-panel { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: clamp(34px, 6vw, 78px); margin-top: 26px; padding: clamp(28px, 5vw, 54px); border: 1px solid rgba(255, 255, 255, .16); border-radius: 24px; background: rgba(255, 255, 255, .07); }
.markets-panel p { color: #c4d4ed; }
.check-list, .cross-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.check-list li, .cross-list li { position: relative; padding-left: 30px; }
.check-list li::before, .cross-list li::before { position: absolute; left: 0; top: .1em; width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; font-size: .74rem; font-weight: 900; }
.check-list li::before { content: "✓"; color: #fff; background: var(--ct-green-dark); }
.cross-list li::before { content: "×"; color: #fff; background: var(--ct-danger); }
.light-list { align-content: start; grid-template-columns: repeat(2, minmax(0, 1fr)); color: #fff; }
.light-list li:last-child { grid-column: 1 / -1; }
.why-panel { position: relative; z-index: 2; display: grid; grid-template-columns: auto 1fr; gap: 22px; margin-top: 26px; padding: clamp(27px, 4vw, 46px); border-radius: 24px; color: var(--ct-text); background: #fff; box-shadow: 0 24px 60px rgba(0, 0, 0, .17); }
.why-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; color: var(--ct-blue); background: var(--ct-bg-alt); font-size: 1.2rem; font-weight: 900; }
.why-panel h3 { margin-bottom: 17px; color: var(--ct-blue-dark); font-size: clamp(1.5rem, 2.3vw, 2rem); }
.why-panel p { max-width: 78ch; color: var(--ct-muted); }
.why-panel .button { margin-top: 7px; }

.practical { background: var(--ct-bg); }
.practical-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.practical-grid article { min-width: 0; padding: 27px 24px; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.practical-grid article > span { font-size: 1.65rem; }
.practical-grid h3 { margin: 18px 0 10px; }
.practical-grid p { margin: 0; color: var(--ct-muted); font-size: .9rem; }

.story { background: #fff; }
.story-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr); gap: clamp(40px, 7vw, 90px); align-items: start; }
.story-main h2 { max-width: 14ch; }
.story-main p { max-width: 72ch; color: var(--ct-muted); }
.about-card { position: relative; overflow: hidden; padding: 34px; border: 1px solid var(--ct-border); border-radius: 24px; background: linear-gradient(145deg, #eef4fc, #fff); box-shadow: var(--shadow-sm); }
.about-card > img { width: 78px; height: 78px; margin-bottom: 25px; border-radius: 20px; }
.about-card h3 { margin-bottom: 16px; font-size: 1.7rem; }
.about-card p { color: var(--ct-muted); font-size: .93rem; }

.proofs { background: var(--ct-bg); }
.proofs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.proof-card { min-width: 0; overflow: hidden; border: 1px solid var(--ct-border); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.proof-featured { grid-column: span 2; display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr); }
.proof-image-button { position: relative; width: 100%; min-height: 250px; display: flex; align-items: stretch; justify-content: stretch; overflow: hidden; border: 0; padding: 0; background: #161819; cursor: zoom-in; }
.proof-image-button img { width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.proof-featured .proof-image-button img { aspect-ratio: auto; }
.proof-image-button.landscape img { object-position: center; }
.proof-image-button[data-lightbox-image="assets/img/proof-tradeify-public.webp"] img { object-position: 10% center; }
.proof-image-button > span { position: absolute; right: 12px; bottom: 12px; border-radius: 999px; padding: 6px 10px; color: #fff; background: rgba(8, 19, 37, .8); font-size: .72rem; font-weight: 800; }
.proof-body { padding: 24px; }
.proof-featured .proof-body { display: flex; flex-direction: column; justify-content: center; padding: clamp(26px, 4vw, 45px); }
.proof-brand { margin-bottom: 5px; color: var(--ct-blue); font-size: .74rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.proof-card h3 { margin-bottom: 9px; }
.proof-result { margin: 0; color: var(--ct-muted); font-size: .9rem; font-weight: 700; }
.proof-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 10px 0 22px; }
.proof-stats div { padding: 14px; border-radius: 13px; background: var(--ct-bg); }
.proof-stats dt { color: var(--ct-muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.proof-stats dd { margin: 3px 0 0; color: var(--ct-blue-dark); font-weight: 900; }
.proofs-privacy-note { max-width: 820px; margin: 24px auto 0; color: var(--ct-muted); font-size: .86rem; line-height: 1.65; text-align: center; }

.audience { background: #fff; }
.audience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.audience-card { min-width: 0; padding: clamp(28px, 4vw, 47px); border: 1px solid var(--ct-border); border-radius: 24px; }
.audience-card.yes { background: linear-gradient(145deg, #f3fff6, #fff); }
.audience-card.no { background: linear-gradient(145deg, #fff6f5, #fff); }
.audience-card h3 { margin-bottom: 26px; font-size: clamp(1.55rem, 2.5vw, 2.15rem); }
.audience-card li { color: #46556d; }

.progression { background: var(--ct-blue-deep); color: #c9d8ef; }
.progression-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(330px, .8fr); gap: clamp(44px, 8vw, 105px); align-items: start; }
.progression h2 { color: #fff; }
.progression h2 em { display: block; margin-top: 8px; color: #9fc0f1; font-style: normal; }
.progression p { color: #c9d8ef; }
.progression-side { padding: 30px; border: 1px solid rgba(255, 255, 255, .13); border-radius: 22px; background: rgba(255, 255, 255, .055); }
.compact { gap: 9px; color: #e6eefb; }
.progression blockquote { margin: 26px 0 0; border-left: 4px solid var(--ct-green); padding: 2px 0 2px 20px; }
.progression blockquote strong, .progression blockquote span { display: block; }
.progression blockquote strong { color: #fff; }
.progression blockquote span { margin-top: 10px; color: #9cf0b4; }

.feedback { background: var(--ct-bg-alt); }
.feedback-card { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(24px, 4vw, 50px); padding: clamp(32px, 6vw, 70px); border-radius: 28px; background: #fff; box-shadow: var(--shadow-sm); }
.feedback-mark { color: var(--ct-green-dark); font-family: Georgia, serif; font-size: clamp(5rem, 10vw, 9rem); line-height: .7; }
.feedback-card h2 { margin-bottom: 24px; }
.feedback-card p { max-width: 82ch; color: var(--ct-muted); }

.security { padding: clamp(70px, 8vw, 106px) 0; color: #fff; background: linear-gradient(145deg, var(--ct-danger-dark), var(--ct-danger) 60%, #c33428); }
.security h2, .security h3 { color: #fff; }
.security-alert { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 24px; align-items: start; }
.security-symbol { width: 74px; height: 74px; display: grid; place-items: center; border: 4px solid #fff; border-radius: 50%; font-size: 2.5rem; font-weight: 900; line-height: 1; }
.security-kicker { margin: 0 0 8px; color: #ffd4d0; font-size: .76rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.security-alert h2 { max-width: 18ch; margin-bottom: 22px; font-size: clamp(2.3rem, 4.5vw, 4.7rem); text-transform: uppercase; }
.security-lead { max-width: 72ch; margin: 7px 0; font-size: clamp(1.05rem, 1.6vw, 1.35rem); font-weight: 850; text-transform: uppercase; }
.security-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr); gap: clamp(35px, 7vw, 90px); margin-top: 48px; }
.security-grid p { color: #ffe9e7; }
.security-grid ul { display: grid; gap: 9px; padding-left: 23px; }
.security-card { padding: clamp(25px, 4vw, 40px); border: 1px solid rgba(255, 255, 255, .22); border-radius: 20px; background: rgba(112, 11, 5, .27); }
.security-card a { text-underline-offset: 3px; overflow-wrap: anywhere; }
.security-final { margin: 48px 0 0; border: 2px solid #fff; border-radius: 14px; padding: 18px 22px; background: rgba(74, 3, 0, .25); color: #fff; font-size: clamp(1.05rem, 1.8vw, 1.4rem); font-weight: 950; letter-spacing: .025em; text-align: center; text-transform: uppercase; }

.faq { background: #fff; }
.faq-grid { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: clamp(42px, 8vw, 110px); align-items: start; }
.faq-heading { position: sticky; top: 116px; }
.faq-heading p { color: var(--ct-muted); }
.faq-list { display: grid; gap: 12px; }
.faq-item { border: 1px solid var(--ct-border); border-radius: 16px; background: #fff; box-shadow: 0 7px 20px rgba(29, 57, 105, .05); }
.faq-item h3 { margin: 0; }
.faq-item button { width: 100%; min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 22px; border: 0; border-radius: 16px; padding: 18px 20px; background: transparent; color: var(--ct-blue-dark); font-weight: 780; text-align: left; cursor: pointer; }
.faq-item button span { width: 30px; height: 30px; display: grid; flex: 0 0 30px; place-items: center; border-radius: 50%; color: var(--ct-blue); background: var(--ct-bg-alt); font-size: 1.3rem; transition: transform .2s ease; }
.faq-item button[aria-expanded="true"] span { transform: rotate(45deg); }
.faq-answer { padding: 0 20px 20px; color: var(--ct-muted); }
.faq-answer p { margin: 0; }

.waitlist { background: var(--ct-bg); }
.waitlist-card { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); align-items: center; gap: clamp(36px, 7vw, 90px); padding: clamp(34px, 6vw, 72px); border-radius: 28px; color: #fff; background: radial-gradient(circle at 85% 25%, rgba(0, 229, 66, .14), transparent 22rem), linear-gradient(135deg, #1d3969, #2a5298); box-shadow: var(--shadow-lg); }
.waitlist-card h2 { color: #fff; }
.waitlist-copy > p { color: #dfe9fb; }
.waitlist-promise { margin-bottom: 0; font-size: .82rem; }
.waitlist-form { min-width: 0; padding: clamp(24px, 4vw, 38px); border-radius: 20px; color: var(--ct-text); background: #fff; box-shadow: 0 20px 50px rgba(0, 0, 0, .16); }
.form-field label { display: block; margin-bottom: 7px; font-size: .88rem; font-weight: 800; }
.form-field input { width: 100%; min-width: 0; min-height: 52px; border: 2px solid var(--ct-border); border-radius: 12px; padding: 0 15px; color: var(--ct-text); background: #fff; }
.form-field input:focus { border-color: var(--ct-blue); outline: 3px solid rgba(42, 82, 152, .13); }
.form-field input[aria-invalid="true"] { border-color: var(--ct-danger); }
.form-field > span { display: block; margin-top: 6px; color: var(--ct-muted); font-size: .73rem; }
.form-field > .field-error, .field-error { min-height: 1.2em; display: block; margin-top: 6px; color: var(--ct-danger); font-size: .75rem; font-weight: 750; }
.honeypot { position: fixed !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.consent { display: flex; align-items: flex-start; gap: 11px; margin: 17px 0; color: #46556d; font-size: .78rem; line-height: 1.45; cursor: pointer; }
.consent input { width: 19px; height: 19px; flex: 0 0 19px; margin-top: 1px; accent-color: var(--ct-green-dark); }
.consent input[aria-invalid="true"] { outline: 3px solid rgba(180, 35, 24, .28); outline-offset: 2px; }
.consent + .field-error { margin-top: -10px; margin-bottom: 14px; }
.submit-button { width: 100%; }
.spinner { display: none; width: 18px; height: 18px; margin-left: 10px; border: 2px solid rgba(255, 255, 255, .45); border-top-color: #fff; border-radius: 50%; animation: spin .75s linear infinite; }
.submit-button.is-loading .spinner { display: inline-block; }
.form-status { min-height: 24px; margin: 13px 0 0; font-size: .82rem; font-weight: 750; }
.form-status.success { color: #087d2b; }
.form-status.error { color: var(--ct-danger); }
.privacy-note { margin: 8px 0 0; color: var(--ct-muted); font-size: .7rem; }
.privacy-note a { color: var(--ct-blue); }

.contact { padding: clamp(68px, 8vw, 100px) 0; color: #d9e6fa; background: #172b4d; }
.contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr); gap: clamp(40px, 8vw, 110px); align-items: end; }
.contact h2 { color: #fff; }
.contact p { max-width: 65ch; }
.contact-email { color: #8ff1aa; font-size: clamp(1.05rem, 2vw, 1.35rem); font-weight: 800; overflow-wrap: anywhere; text-underline-offset: 4px; }
.social-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.social-links a { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 13px; padding: 12px 15px; color: #fff; text-decoration: none; }
.social-links a:hover { border-color: #8ff1aa; background: rgba(255, 255, 255, .05); }

.site-footer { padding: 36px 0 24px; color: #aebfd8; background: #0c192e; }
.footer-top { display: flex; align-items: center; justify-content: space-between; gap: 30px; border-bottom: 1px solid rgba(255, 255, 255, .1); padding-bottom: 28px; }
.footer-brand { display: inline-flex; flex: 0 0 auto; align-items: center; }
.footer-brand img { display: block; width: 132px; max-width: 100%; height: auto; max-height: none; border-radius: 13px; object-fit: contain; }
.footer-top nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px 24px; }
.footer-top nav a { min-height: 44px; display: inline-flex; align-items: center; color: #e0e8f4; font-size: .82rem; }
.risk-summary { padding-block: 28px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.risk-summary p { margin: 0 0 10px; font-size: .72rem; line-height: 1.65; }
.risk-summary p:last-child { margin-bottom: 0; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 23px; font-size: .75rem; }
.footer-bottom p { margin: 0; }
.footer-bottom strong { color: #e6f0ff; font-weight: 850; letter-spacing: .045em; }

.lightbox { width: min(1100px, calc(100% - 32px)); max-width: none; max-height: calc(100dvh - 32px); overflow: hidden; border: 0; border-radius: 18px; padding: 0; color: var(--ct-text); background: #fff; box-shadow: 0 28px 90px rgba(0, 0, 0, .4); }
.lightbox::backdrop { background: rgba(5, 12, 24, .88); backdrop-filter: blur(3px); }
.lightbox-panel { max-height: calc(100dvh - 32px); display: grid; grid-template-rows: auto minmax(0, 1fr); }
.lightbox-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--ct-border); padding: 12px 16px 12px 22px; }
.lightbox-header h2 { margin: 0; font-size: 1.1rem; }
.lightbox-close { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--ct-border); border-radius: 12px; background: #fff; font-size: 2rem; line-height: 1; cursor: pointer; }
.lightbox-body { min-height: 0; overflow: auto; padding: 16px; background: #0e1725; }
.lightbox-body img { width: auto; max-width: 100%; height: auto; max-height: calc(100dvh - 115px); margin: auto; object-fit: contain; }

.subpage { min-height: 100dvh; display: flex; flex-direction: column; background: var(--ct-bg); }
.subpage main { flex: 1; }
.subpage-header { border-bottom: 1px solid var(--ct-border); background: #fff; }
.subpage-header .container { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.back-link { min-height: 44px; display: inline-flex; align-items: center; color: var(--ct-blue); font-weight: 800; text-decoration: none; }
.legal-hero { padding: clamp(60px, 8vw, 95px) 0 40px; background: #fff; }
.legal-hero h1 { max-width: 18ch; }
.legal-hero p { max-width: 70ch; color: var(--ct-muted); }
.legal-content { width: min(820px, calc(100% - 40px)); margin: 0 auto; padding: 54px 0 90px; }
.legal-content section { margin-bottom: 42px; }
.legal-content h2 { margin-bottom: 14px; font-size: clamp(1.5rem, 2.7vw, 2.15rem); }
.legal-content h3 { margin: 25px 0 9px; }
.legal-content p, .legal-content li { color: #46556d; }
.legal-content a { color: var(--ct-blue); }
.legal-note { border-left: 4px solid var(--ct-blue); border-radius: 0 14px 14px 0; padding: 17px 20px; background: #fff; }
.legal-warning { border-left-color: var(--ct-danger); background: #fff5f4; }
.unsubscribe-card { padding: clamp(26px, 5vw, 48px); border: 1px solid var(--ct-border); border-radius: var(--radius); background: var(--ct-white); box-shadow: var(--shadow-sm); }
.unsubscribe-card p { margin-bottom: 0; color: #46556d; font-size: 1.04rem; }
.unsubscribe-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.unsubscribe-actions form { margin: 0; }
.unsubscribe-actions .button { color: #fff; }
.error-page { min-height: 70dvh; display: grid; place-items: center; padding: 70px 0; text-align: center; }
.error-page h1 { max-width: none; margin-inline: auto; }

html.reveal-ready .reveal { opacity: 0; transform: translateY(10px); transition: opacity .55s ease, transform .55s ease; }
html.reveal-ready .reveal.is-visible { opacity: 1; transform: none; }
@keyframes spin { to { transform: rotate(360deg); } }

@media (max-width: 1180px) {
  .hero-grid { grid-template-columns: 1fr; gap: clamp(36px, 5vw, 54px); }
  .hero-copy { max-width: 780px; margin-inline: auto; text-align: center; }
  .eyebrow, .offer, .hero-slogan { justify-content: center; margin-inline: auto; }
  .hero-intro, h1 { margin-inline: auto; }
  h1 { max-width: 15ch; }
  .indicator-figure { width: min(100%, 930px); max-width: none; justify-self: center; margin-inline: auto; }
}

@media (min-width: 1101px) {
  .mobile-nav { display: none !important; }
  .indicator-section > .container { width: min(1306px, calc(100% - 40px)); }
  .indicator-intro, .markets-panel, .why-panel { max-width: 1180px; margin-inline: auto; }
  .crop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
}

@media (max-width: 1100px) {
  .desktop-nav { display: none; }
  .header-cta { margin-left: auto; }
  .menu-toggle { display: grid; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-copy { max-width: 780px; margin-inline: auto; text-align: center; }
  .eyebrow, .offer, .hero-slogan { justify-content: center; margin-inline: auto; }
  .hero-intro { margin-inline: auto; }
  h1 { max-width: 15ch; margin-inline: auto; }
  .indicator-figure { max-width: 930px; margin-inline: auto; }
  .training-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .practical-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .proofs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .proof-featured { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .trust-list { grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
  .trust-item { border-bottom: 1px solid var(--ct-border); }
  .trust-featured, .trust-item:last-child { grid-column: 1 / -1; border-right: 0; }
  .trust-item:nth-child(3) { border-right: 0; }
  .trust-item:last-child { border-bottom: 0; }
  .split-heading, .indicator-intro, .story-grid, .progression-grid, .faq-grid, .waitlist-card, .contact-grid { grid-template-columns: 1fr; }
  .split-heading { align-items: start; }
  .split-heading h2 { max-width: 18ch; }
  .principles-grid { grid-template-columns: 1fr; max-width: 740px; margin-inline: auto; }
  .indicator-intro h2 { max-width: 17ch; }
  .markets-panel { grid-template-columns: 1fr; }
  .story-grid { gap: 36px; }
  .about-card { max-width: 680px; }
  .audience-grid, .security-grid { grid-template-columns: 1fr; }
  .faq-heading { position: static; }
  .waitlist-card { align-items: start; }
  .waitlist-form { width: 100%; max-width: 700px; }
}

@media (max-width: 720px) {
  .container { width: min(100% - 36px, 1180px); }
  .site-header, .header-inner { min-height: 94px; }
  .mobile-nav { max-height: calc(100dvh - 94px); }
  .brand img { width: 50px; height: 50px; }
  .site-header .brand img { width: 82px; height: auto; }
  .header-cta { display: none; }
  .menu-toggle { margin-left: auto; }
  .hero { padding-top: 50px; }
  .hero-grid { gap: 30px; }
  .indicator-figure { width: 100%; justify-self: stretch; margin: 0; }
  .indicator-figure figcaption { padding: 12px 4px 0; }
  .indicator-frame { border-width: 5px; border-radius: 14px; }
  .trust-list { width: 100%; margin-inline: 0; padding-inline: 0; }
  .training-grid, .crop-grid, .practical-grid, .proofs-grid, .audience-grid { grid-template-columns: 1fr; }
  .training-card { min-height: 0; }
  .light-list { grid-template-columns: 1fr; }
  .light-list li:last-child { grid-column: auto; }
  .why-panel { grid-template-columns: 1fr; }
  .proof-featured { grid-column: auto; display: block; }
  .proof-image-button { min-height: 0; }
  .proof-image-button img, .proof-featured .proof-image-button img { aspect-ratio: 1 / 1; }
  .proof-featured .proof-image-button img { object-fit: cover; object-position: center 35%; }
  .proof-stats { grid-template-columns: 1fr; }
  .feedback-card { grid-template-columns: 1fr; }
  .feedback-mark { height: 44px; }
  .security-alert { grid-template-columns: 1fr; }
  .security-symbol { width: 58px; height: 58px; font-size: 2rem; }
  .security-alert h2 { font-size: 2.45rem; }
  .social-links { grid-template-columns: 1fr; }
  .footer-top, .footer-bottom { align-items: flex-start; flex-direction: column; }
  .footer-top nav { justify-content: flex-start; }
}

@media (max-width: 430px) {
  h1 { font-size: 2.28rem; }
  .hero-copy .button, .why-panel .button { width: 100%; }
  .why-panel .button, .submit-button { padding-inline: 12px; font-size: .78rem; letter-spacing: .01em; text-transform: none; }
  .principles-grid article { padding: 22px; }
  .crop-card > div:last-child, .proof-body { padding: 20px; }
  .markets-panel, .audience-card, .about-card, .progression-side, .waitlist-card, .waitlist-form { padding: 24px; }
  .lightbox { width: calc(100% - 18px); max-height: calc(100dvh - 18px); }
  .unsubscribe-actions, .unsubscribe-actions form, .unsubscribe-actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  html.reveal-ready .reveal { opacity: 1; transform: none; }
}
