:root {
  --orange-50: #fff8f1;
  --orange-100: #ffead7;
  --orange-200: #ffd0aa;
  --orange-400: #f58a42;
  --orange-500: #e96a1f;
  --orange-600: #c94e14;
  --orange-700: #9f3610;
  --brown-900: #2f1b12;
  --brown-800: #4b2819;
  --brown-600: #795140;
  --paper: #fffdf9;
  --white: #ffffff;
  --line: rgba(104, 57, 32, .13);
  --shadow: 0 24px 70px rgba(87, 38, 14, .12);
  --radius-lg: 30px;
  --radius-md: 20px;
  --page: min(1180px, calc(100% - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--brown-900); background: var(--paper); font-family: "PingFang SC", "Microsoft YaHei", Inter, system-ui, sans-serif; font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.modal-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; display: block; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 999; padding: 10px 16px; background: #fff; border-radius: 10px; box-shadow: var(--shadow); }
.skip-link:focus { top: 16px; }
.page-shell { width: var(--page); margin-inline: auto; }

.site-header { position: sticky; top: 0; z-index: 100; background: rgba(255,253,249,.86); border-bottom: 1px solid transparent; backdrop-filter: blur(18px); transition: border-color .2s, box-shadow .2s; }
.site-header.scrolled { border-color: var(--line); box-shadow: 0 10px 30px rgba(72, 31, 12, .06); }
.nav-shell { width: var(--page); height: 76px; margin: auto; display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 11px; flex: 0 0 auto; }
.brand img { width: 45px; height: 45px; object-fit: cover; border-radius: 13px; box-shadow: 0 6px 14px rgba(112, 49, 16, .16); }
.brand-copy { display: grid; line-height: 1.2; }
.brand-copy strong { font-size: 19px; letter-spacing: .08em; }
.brand-copy small { margin-top: 4px; color: var(--brown-600); font-size: 11px; letter-spacing: .04em; }
.site-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.site-nav a { position: relative; font-size: 15px; font-weight: 700; color: #543426; }
.site-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 2px; border-radius: 2px; background: var(--orange-500); transition: right .2s; }
.site-nav a:hover::after, .site-nav a:focus-visible::after { right: 0; }
.nav-cta { padding: 10px 17px; border: 1px solid var(--brown-900); border-radius: 999px; font-size: 14px; font-weight: 800; transition: .2s; }
.nav-cta:hover { color: #fff; background: var(--brown-900); }
.menu-toggle { display: none; padding: 7px; margin-left: auto; border: 0; background: transparent; cursor: pointer; }
.menu-toggle > span:not(.sr-only) { display: block; width: 23px; height: 2px; margin: 5px 0; border-radius: 2px; background: var(--brown-900); transition: .2s; }

.hero { position: relative; min-height: 720px; display: grid; align-items: center; overflow: hidden; background: radial-gradient(circle at 78% 22%, #ffe2c5 0, transparent 28%), linear-gradient(145deg, #fffdf8 0%, #fff2e5 52%, #ffe8d3 100%); }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(130,62,27,.18), transparent); }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(1px); opacity: .6; }
.hero-glow-one { width: 420px; height: 420px; right: -180px; top: -180px; border: 70px solid rgba(240,122,42,.12); }
.hero-glow-two { width: 160px; height: 160px; left: 5%; bottom: -100px; border: 38px solid rgba(240,122,42,.1); }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.02fr .98fr; gap: 52px; align-items: center; padding-block: 78px 86px; }
.eyebrow, .section-kicker { display: inline-flex; align-items: center; gap: 9px; color: var(--orange-600); font-size: 13px; font-weight: 900; letter-spacing: .15em; }
.eyebrow span { width: 24px; height: 2px; background: var(--orange-500); }
.hero h1 { margin: 24px 0 24px; max-width: 680px; font-size: clamp(44px, 5.4vw, 72px); line-height: 1.1; letter-spacing: -.055em; }
.hero h1 em, .referral-copy h2 em { color: var(--orange-500); font-style: normal; position: relative; }
.hero h1 em::after { content: ""; position: absolute; left: 0; right: 0; bottom: -7px; height: 8px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='8' viewBox='0 0 160 8'%3E%3Cpath d='M2 6C38 2 100 1 158 3' fill='none' stroke='%23e96a1f' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
.hero-lead { max-width: 600px; margin: 0; color: #654638; font-size: 18px; line-height: 1.85; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 12px 24px; border: 1px solid transparent; border-radius: 999px; font-weight: 900; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #fff; background: linear-gradient(135deg, var(--orange-600), var(--orange-500)); box-shadow: 0 12px 28px rgba(201,78,20,.28); }
.button-primary:hover { box-shadow: 0 16px 34px rgba(201,78,20,.34); }
.button-ghost { color: var(--brown-900); border-color: rgba(47,27,18,.24); background: rgba(255,255,255,.48); }
.button-ghost:hover { background: #fff; }
.hero-promise { display: flex; flex-wrap: wrap; gap: 14px 22px; margin-top: 31px; color: #72503f; font-size: 13px; font-weight: 700; }
.hero-promise span::before { content: "✓"; margin-right: 6px; color: var(--orange-500); font-weight: 900; }
.hero-visual { position: relative; min-height: 540px; }
.mascot-stage { position: absolute; inset: 23px 20px 2px 40px; overflow: hidden; border: 1px solid rgba(131,62,24,.12); border-radius: 48% 48% 34px 34px; background: linear-gradient(155deg, rgba(255,255,255,.96), rgba(255,229,203,.82)); box-shadow: 0 40px 80px rgba(120,51,16,.14); }
.mascot-stage::before { content: ""; position: absolute; width: 330px; height: 330px; right: -70px; top: -95px; border-radius: 50%; background: rgba(237,111,34,.15); }
.mascot-stage img { position: absolute; left: 50%; bottom: -110px; width: 112%; max-width: none; transform: translateX(-50%); filter: drop-shadow(0 16px 18px rgba(75,31,11,.16)); }
.stage-label { position: absolute; z-index: 2; left: 25px; top: 22px; padding: 8px 14px; border-radius: 999px; color: var(--orange-700); background: rgba(255,255,255,.8); font-size: 12px; font-weight: 800; }
.word-chip { position: absolute; z-index: 4; min-width: 140px; padding: 12px 16px; border: 1px solid rgba(96,45,22,.12); border-radius: 16px; background: rgba(255,255,255,.92); box-shadow: 0 16px 32px rgba(77,35,16,.12); color: var(--brown-900); font-weight: 900; backdrop-filter: blur(12px); animation: float 5s ease-in-out infinite; }
.word-chip small { display: block; color: var(--orange-600); font-size: 11px; font-weight: 800; }
.chip-one { left: 0; top: 110px; transform: rotate(-4deg); }
.chip-two { right: -20px; top: 172px; transform: rotate(4deg); animation-delay: -2s; }
.chip-three { left: 28px; bottom: 80px; transform: rotate(2deg); animation-delay: -3.2s; }
.daily-card { position: absolute; z-index: 3; right: 20px; bottom: 20px; width: 190px; display: flex; align-items: center; justify-content: space-between; padding: 15px; border: 1px solid rgba(88,42,20,.1); border-radius: 18px; background: rgba(255,255,255,.92); box-shadow: 0 18px 38px rgba(74,29,10,.16); }
.daily-card > div:first-child { display: grid; line-height: 1.15; }
.daily-card span { color: var(--brown-600); font-size: 11px; }
.daily-card strong { margin: 3px 0; font-size: 30px; }
.daily-card small { color: var(--brown-600); font-size: 11px; }
.ring { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--orange-500) 96%, #f3dfd2 0); }
.ring::after { content: ""; grid-area: 1/1; width: 44px; height: 44px; border-radius: 50%; background: #fff; }
.ring span { z-index: 1; grid-area: 1/1; color: var(--brown-900); font-size: 11px; font-weight: 900; }
@keyframes float { 0%,100% { translate: 0 0; } 50% { translate: 0 -10px; } }

.proof-bar { position: relative; z-index: 2; background: var(--brown-900); color: #fff; }
.proof-grid { display: grid; grid-template-columns: repeat(4,1fr); padding-block: 29px; }
.proof-grid > div { display: grid; justify-items: center; border-right: 1px solid rgba(255,255,255,.15); }
.proof-grid > div:last-child { border: 0; }
.proof-grid strong { color: #ffb16d; font-size: 26px; letter-spacing: -.03em; }
.proof-grid span { color: rgba(255,255,255,.62); font-size: 12px; }

.section { padding-block: 108px; }
.section-light { background: #fffdf9; }
.section-heading { max-width: 760px; margin: 0 auto 54px; text-align: center; }
.section-heading h2, .system-copy h2, .referral-copy h2, .faq-intro h2 { margin: 16px 0 18px; font-size: clamp(34px, 4vw, 50px); line-height: 1.2; letter-spacing: -.04em; }
.section-heading p, .system-copy > p, .referral-copy > p, .faq-intro > p { margin: 0; color: var(--brown-600); font-size: 17px; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.feature-card { position: relative; min-height: 295px; overflow: hidden; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; transition: transform .25s, box-shadow .25s, border-color .25s; }
.feature-card:hover { transform: translateY(-6px); border-color: rgba(231,103,30,.28); box-shadow: var(--shadow); }
.feature-card-main { grid-row: span 2; min-height: 608px; color: #fff; background: linear-gradient(160deg, #d85a1b, #9d310f); }
.feature-number { position: absolute; right: 24px; top: 20px; color: rgba(87,42,22,.15); font-size: 48px; font-weight: 900; }
.feature-card-main .feature-number { color: rgba(255,255,255,.16); }
.feature-icon { width: 62px; height: 62px; display: grid; place-items: center; margin-bottom: 34px; border-radius: 19px; color: var(--orange-600); background: var(--orange-100); font-size: 34px; font-weight: 300; }
.feature-card-main .feature-icon { color: #fff; background: rgba(255,255,255,.16); }
.feature-card h3 { margin: 0 0 12px; font-size: 23px; }
.feature-card p { margin: 0; color: var(--brown-600); }
.feature-card-main p { color: rgba(255,255,255,.72); font-size: 17px; }
.icon-sound span { width: 20px; height: 28px; border-radius: 11px; border: 3px solid currentColor; position: relative; }
.icon-sound span::after { content: ""; position: absolute; left: 50%; bottom: -11px; width: 30px; height: 15px; border-bottom: 3px solid currentColor; border-radius: 0 0 20px 20px; transform: translateX(-50%); }
.icon-eye { position: relative; }
.icon-eye::before { content: ""; width: 34px; height: 23px; border: 3px solid currentColor; border-radius: 50% 0 50% 0; transform: rotate(45deg); }
.icon-eye::after { content: ""; position: absolute; width: 10px; height: 10px; border-radius: 50%; background: currentColor; }
.icon-chart { grid-template-columns: repeat(3, 7px); align-items: end; gap: 4px; padding: 16px; }
.icon-chart i { display: block; width: 7px; border-radius: 5px; background: currentColor; }.icon-chart i:nth-child(1){height:16px}.icon-chart i:nth-child(2){height:26px}.icon-chart i:nth-child(3){height:36px}
.sound-wave { position: absolute; left: 30px; right: 30px; bottom: 42px; height: 150px; display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.sound-wave i { flex: 1; border-radius: 999px; background: rgba(255,255,255,.22); }.sound-wave i:nth-child(1){height:28%}.sound-wave i:nth-child(2){height:60%}.sound-wave i:nth-child(3){height:88%}.sound-wave i:nth-child(4){height:48%}.sound-wave i:nth-child(5){height:76%}.sound-wave i:nth-child(6){height:38%}.sound-wave i:nth-child(7){height:62%}

.system-section { background: #f7eee5; }
.system-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 82px; align-items: center; }
.check-list { display: grid; gap: 18px; margin: 34px 0 0; padding: 0; list-style: none; }
.check-list li { display: flex; align-items: center; gap: 15px; }
.check-list li > span { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #fff; background: var(--brown-900); font-size: 13px; font-weight: 900; }
.check-list div { display: grid; }.check-list strong { font-size: 16px; }.check-list small { color: var(--brown-600); font-size: 13px; }
.system-board { padding: 30px; border: 1px solid rgba(82,41,20,.1); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow); }
.board-head { display: flex; justify-content: space-between; align-items: flex-start; }
.board-head div { display: grid; }.board-head small { color: var(--brown-600); }.board-head strong { margin-top: 4px; font-size: 22px; }.board-head > span { padding: 7px 11px; border-radius: 9px; color: var(--orange-700); background: var(--orange-100); font-size: 12px; font-weight: 900; }
.chart { position: relative; height: 270px; margin: 26px 0 18px; }
.chart-grid { position: absolute; inset: 0; background: repeating-linear-gradient(to bottom, transparent 0, transparent 57px, rgba(89,48,27,.08) 58px); }
.chart svg { position: relative; width: 100%; height: 100%; overflow: visible; }.chart-area { fill: url(#area); }.chart-line { fill: none; stroke: var(--orange-500); stroke-width: 5; stroke-linecap: round; }.chart circle { fill: #fff; stroke: var(--orange-500); stroke-width: 5; }
.chart-start, .chart-end { position: absolute; padding: 5px 8px; border-radius: 8px; background: var(--brown-900); color: #fff; font-size: 11px; font-weight: 800; }.chart-start{left:4px;bottom:25px}.chart-end{right:0;top:7px}
.report-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.report-stats div { display: grid; gap: 4px; padding: 13px; border-radius: 13px; background: #fff8f1; }
.report-stats span { color: var(--brown-600); font-size: 11px; }.report-stats strong { font-size: 18px; }

.pricing-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; align-items: stretch; }
.pricing-content { width: min(920px, 100%); margin-inline: auto; }
.pay-as-you-go { width: fit-content; max-width: 100%; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 11px; margin: -25px auto 38px; padding: 12px 20px; border: 1px solid #ffd0aa; border-radius: 999px; color: var(--brown-600); background: #fff8f1; font-size: 13px; }
.pay-as-you-go strong { padding: 5px 11px; border-radius: 999px; color: #fff; background: var(--orange-600); font-size: 14px; }
.pay-as-you-go i { width: 4px; height: 4px; border-radius: 50%; background: var(--orange-400); }
.training-price-grid { grid-template-columns: repeat(2, minmax(0, 430px)); justify-content: center; gap: 24px; }
.price-card { position: relative; display: flex; flex-direction: column; min-height: 480px; padding: 28px 24px 24px; border: 1px solid var(--line); border-radius: 24px; background: #fff; transition: transform .25s, box-shadow .25s; }
.price-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
.price-top { display: flex; justify-content: space-between; align-items: center; color: var(--orange-600); font-size: 12px; font-weight: 900; letter-spacing: .06em; }.price-top small { color: var(--brown-600); font-weight: 700; letter-spacing: 0; }
.price-card h3 { margin: 24px 0 8px; font-size: 22px; }.price { display: flex; align-items: flex-end; min-height: 67px; line-height: 1; }.price sup { align-self: flex-start; margin-top: 11px; font-size: 18px; }.price strong { font-size: 46px; letter-spacing: -.05em; }.price span { margin: 0 0 7px 6px; color: var(--brown-600); font-size: 12px; }
.monthly-equivalent { display: inline-block; align-self: flex-start; margin-top: 4px; padding: 5px 8px; border-radius: 7px; color: #873510; background: #ffe1c6; font-size: 11px; font-weight: 800; }
.price-card > p { color: var(--brown-600); font-size: 13px; }
.price-card ul { display: grid; gap: 9px; margin: 16px 0 26px; padding: 0; list-style: none; color: #5d4033; font-size: 13px; }.price-card li::before { content: "✓"; margin-right: 8px; color: var(--orange-500); font-weight: 900; }
.plan-button { width: 100%; display: inline-flex; align-items: center; justify-content: center; margin-top: auto; padding: 11px 16px; border: 1px solid var(--brown-900); border-radius: 999px; color: var(--brown-900); background: transparent; font-weight: 900; cursor: pointer; transition: .2s; }.plan-button:hover { color: #fff; background: var(--brown-900); }
.training-card { min-height: 430px; padding: 34px 30px 28px; }
.training-card .price strong { font-size: 64px; }
.price-compare { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin: 12px 0 5px; padding: 11px 13px; border-radius: 12px; background: var(--orange-50); font-size: 12px; }
.price-compare span { color: var(--brown-600); }
.price-compare del { margin-left: 4px; color: #8b6d5f; text-decoration-line: line-through; text-decoration-color: #d14f24; text-decoration-thickness: 2px; }
.price-compare strong { color: var(--orange-600); font-size: 12px; }
.training-card-featured { border: 2px solid var(--orange-500); background: linear-gradient(180deg, #fff8f0, #fff); box-shadow: 0 22px 55px rgba(167,66,17,.14); }
.training-card-featured .plan-button { color: #fff; border-color: var(--orange-600); background: var(--orange-600); }
.price-card-featured { z-index: 2; border: 2px solid var(--orange-500); background: linear-gradient(180deg, #fff8f0, #fff); transform: translateY(-10px); box-shadow: 0 22px 55px rgba(167,66,17,.14); }.price-card-featured:hover { transform: translateY(-17px); }.price-card-featured .plan-button { border-color: var(--orange-600); color: #fff; background: var(--orange-600); }
.popular { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); padding: 5px 15px; border-radius: 999px; color: #fff; background: var(--orange-600); font-size: 11px; font-weight: 900; white-space: nowrap; }
.price-card-dark { color: #fff; border-color: var(--brown-900); background: var(--brown-900); }.price-card-dark .price-top, .price-card-dark .price-top small, .price-card-dark .price span, .price-card-dark > p, .price-card-dark ul { color: rgba(255,255,255,.65); }.price-card-dark .price-top span { color: #ffad69; }.price-card-dark .plan-button { color: var(--brown-900); border-color: #fff; background: #fff; }
.pricing-note { margin: 30px auto 0; color: #8b6d5f; font-size: 12px; text-align: center; }

.referral-section { position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 10% 10%, rgba(255,154,79,.28), transparent 28%), linear-gradient(145deg, #3b1f14 0%, #632b15 48%, #9d3b13 100%); }
.referral-section::before { content: "邀请"; position: absolute; right: -20px; bottom: -130px; color: rgba(255,255,255,.035); font-size: 340px; font-weight: 900; line-height: 1; }
.referral-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .9fr 1.1fr; gap: 92px; align-items: center; }
.section-kicker-light { color: #ffb77c; }.referral-copy h2 { font-size: clamp(40px,5vw,62px); }.referral-copy h2 em { color: #ffad69; }.referral-copy > p { max-width: 510px; margin-bottom: 34px; color: rgba(255,255,255,.68); }.button-light { color: var(--brown-900); background: #fff; box-shadow: 0 14px 30px rgba(25,9,3,.22); }
.referral-card { padding: 34px; border: 1px solid rgba(255,255,255,.16); border-radius: 28px; background: rgba(255,255,255,.09); box-shadow: 0 30px 70px rgba(20,7,2,.25); backdrop-filter: blur(16px); }
.referral-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 30px; }.referral-card-head span { font-size: 20px; font-weight: 900; }.referral-card-head small { color: rgba(255,255,255,.58); }
.referral-card label { display: block; margin-bottom: 12px; color: rgba(255,255,255,.72); }.referral-card label strong { color: #ffba82; font-size: 24px; }
input[type="range"] { width: 100%; height: 6px; appearance: none; border-radius: 999px; background: linear-gradient(to right, #ffad69 0%, #ffad69 10.5%, rgba(255,255,255,.22) 10.5%, rgba(255,255,255,.22) 100%); outline: none; }
input[type="range"]::-webkit-slider-thumb { width: 24px; height: 24px; appearance: none; border: 5px solid #fff; border-radius: 50%; background: var(--orange-500); box-shadow: 0 2px 10px rgba(0,0,0,.3); cursor: pointer; }
input[type="range"]::-moz-range-thumb { width: 15px; height: 15px; border: 5px solid #fff; border-radius: 50%; background: var(--orange-500); cursor: pointer; }
.referral-result { display: flex; align-items: center; justify-content: space-between; margin: 28px 0; padding: 22px; border-radius: 20px; color: var(--brown-900); background: #fff; }.referral-result > div:first-child { display: grid; }.referral-result small { color: var(--brown-600); }.referral-result strong { margin: 4px 0; color: var(--orange-600); font-size: 34px; }.referral-result p { margin: 0; color: var(--brown-600); font-size: 12px; }
.gift-mark { position: relative; width: 68px; height: 56px; border-radius: 7px; background: var(--orange-500); }.gift-mark::before { content: ""; position: absolute; left: -5px; right: -5px; top: -9px; height: 15px; border-radius: 5px; background: var(--orange-600); }.gift-mark::after { content: ""; position: absolute; left: 29px; top: -9px; bottom: 0; width: 10px; background: #ffd1ae; }.gift-mark span::before, .gift-mark span::after { content: ""; position: absolute; top: -28px; width: 28px; height: 22px; border: 6px solid var(--orange-500); }.gift-mark span::before { left: 7px; border-radius: 50% 50% 0 50%; transform: rotate(12deg); }.gift-mark span::after { right: 7px; border-radius: 50% 50% 50% 0; transform: rotate(-12deg); }
.referral-rules { display: grid; gap: 13px; }.referral-rules div { display: grid; grid-template-columns: 140px 1fr; gap: 16px; padding-top: 13px; border-top: 1px solid rgba(255,255,255,.12); }.referral-rules b { color: #ffbd88; font-size: 13px; }.referral-rules span { color: rgba(255,255,255,.62); font-size: 12px; }

.journeys-section { background: #fff; }
.journey-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.journey-card { min-height: 260px; display: flex; flex-direction: column; padding: 27px; border: 1px solid var(--line); border-radius: var(--radius-md); background: linear-gradient(145deg,#fff,#fff8f1); transition: .25s; }.journey-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }.journey-card > span { color: var(--orange-400); font-size: 13px; font-weight: 900; }.journey-card h3 { margin: 34px 0 10px; font-size: 22px; }.journey-card p { margin: 0; color: var(--brown-600); font-size: 14px; }.journey-card small { margin-top: auto; padding-top: 20px; color: var(--orange-600); font-weight: 800; }

.faq-section { background: #f7eee5; }
.faq-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; align-items: start; }
.faq-intro { position: sticky; top: 118px; }
.faq-list details { border-bottom: 1px solid rgba(79,37,17,.16); }.faq-list details:first-child { border-top: 1px solid rgba(79,37,17,.16); }.faq-list summary { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; list-style: none; font-size: 17px; font-weight: 900; cursor: pointer; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary span { font-size: 28px; font-weight: 300; transition: transform .25s; }.faq-list details[open] summary span { transform: rotate(45deg); }.faq-list details p { margin: -3px 48px 23px 0; color: var(--brown-600); }

.final-cta { padding-block: 70px; color: #fff; background: var(--orange-600); }
.final-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }.final-cta span { color: rgba(255,255,255,.72); font-size: 13px; font-weight: 800; letter-spacing: .12em; }.final-cta h2 { margin: 7px 0 0; font-size: clamp(27px,3.5vw,42px); line-height: 1.25; }.final-actions { display: grid; justify-items: center; gap: 12px; flex: 0 0 auto; }.text-link { color: rgba(255,255,255,.82); font-size: 13px; font-weight: 700; }
.site-footer { padding: 54px 0 24px; color: rgba(255,255,255,.7); background: var(--brown-900); }.footer-grid { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; }.footer-brand .brand-copy strong { color: #fff; }.footer-brand .brand-copy small { color: rgba(255,255,255,.5); }.footer-grid > p { margin: 0; font-size: 13px; }.footer-links { display: flex; justify-content: flex-end; gap: 24px; font-size: 13px; }.footer-links a:hover { color: #fff; }.footer-bottom { display: flex; justify-content: space-between; margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.42); font-size: 11px; }

.modal[hidden] { display: none; }.modal { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 20px; }.modal-backdrop { position: absolute; inset: 0; background: rgba(36,18,10,.72); backdrop-filter: blur(5px); }.modal-card { position: relative; z-index: 1; width: min(430px,100%); padding: 36px; border-radius: 28px; background: #fff; box-shadow: 0 30px 80px rgba(22,8,2,.35); text-align: center; animation: modalIn .25s ease-out; }.modal-close { position: absolute; top: 13px; right: 16px; width: 36px; height: 36px; border: 0; border-radius: 50%; color: var(--brown-600); background: #fff6ef; font-size: 25px; cursor: pointer; }.modal-kicker { color: var(--orange-600); font-size: 12px; font-weight: 900; letter-spacing: .15em; }.modal-card h2 { margin: 10px 0 4px; font-size: 29px; }.modal-price { color: var(--orange-600); font-size: 24px; }.modal-price strong { font-size: 56px; letter-spacing: -.05em; }.modal-card > p { margin: 15px 0 24px; color: var(--brown-600); font-size: 14px; }.button-block { width: 100%; }.modal-secondary { margin-top: 14px; border: 0; color: var(--brown-600); background: transparent; font-size: 13px; cursor: pointer; }
@keyframes modalIn { from { opacity: 0; transform: translateY(16px) scale(.98); } }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }.reveal.is-visible { opacity: 1; transform: none; }
:focus-visible { outline: 3px solid rgba(233,106,31,.42); outline-offset: 3px; }

@media (max-width: 1020px) {
  .site-nav { gap: 17px; }.site-nav a { font-size: 13px; }.nav-cta { display: none; }
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 20px; }.hero-visual { min-height: 480px; }.mascot-stage { inset: 24px 0 10px 15px; }
  .feature-grid { grid-template-columns: 1fr 1fr; }.feature-card-main { grid-row: span 1; min-height: 340px; }.sound-wave { display: none; }
  .system-grid, .referral-grid { gap: 44px; }.pricing-grid, .training-price-grid { grid-template-columns: 1fr 1fr; gap: 20px; }.price-card { min-height: 430px; }.price-card-featured { transform: none; }.price-card-featured:hover { transform: translateY(-7px); }.journey-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  :root { --page: min(100% - 28px, 640px); }
  .nav-shell { height: 66px; }.brand img { width: 40px; height: 40px; }.brand-copy strong { font-size: 17px; }.brand-copy small { display: none; }
  .menu-toggle { display: block; }.site-nav { position: absolute; left: 14px; right: 14px; top: 72px; display: none; align-items: stretch; flex-direction: column; gap: 0; padding: 12px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,253,249,.98); box-shadow: var(--shadow); }.site-nav.open { display: flex; }.site-nav a { padding: 12px 10px; font-size: 15px; }.site-nav a::after { display: none; }
  .hero { min-height: auto; }.hero-grid { grid-template-columns: 1fr; padding-block: 60px 48px; }.hero-copy { text-align: center; }.eyebrow { justify-content: center; }.hero h1 { margin-top: 19px; font-size: clamp(41px,13vw,58px); }.hero-lead { font-size: 16px; }.hero-actions, .hero-promise { justify-content: center; }.hero-actions .button { width: 100%; }.hero-visual { min-height: 480px; margin-top: 16px; }.mascot-stage { inset: 10px 0 5px; }.mascot-stage img { bottom: -85px; width: 104%; }.chip-two { right: -6px; }.chip-three { left: 6px; }.daily-card { right: 12px; bottom: 14px; }
  .proof-grid { grid-template-columns: 1fr 1fr; gap: 0; padding-block: 18px; }.proof-grid > div { padding: 14px 4px; }.proof-grid > div:nth-child(2) { border-right: 0; }.proof-grid strong { font-size: 22px; }
  .section { padding-block: 78px; }.section-heading { margin-bottom: 38px; }.section-heading h2, .system-copy h2, .referral-copy h2, .faq-intro h2 { font-size: 34px; }
  .feature-grid, .system-grid, .pricing-grid, .referral-grid, .faq-grid { grid-template-columns: 1fr; }.feature-card, .feature-card-main { min-height: 280px; }.system-grid { gap: 42px; }.system-board { padding: 20px; }.chart { height: 220px; }.report-stats { grid-template-columns: 1fr; }
  .pricing-grid, .training-price-grid { grid-template-columns: 1fr; gap: 18px; }.price-card { min-height: 0; }.price-card-featured { order: -1; }.training-card { min-height: 410px; }.referral-grid { gap: 45px; }.referral-card { padding: 24px 20px; }.referral-rules div { grid-template-columns: 1fr; gap: 2px; }.journey-grid { grid-template-columns: 1fr; }.journey-card { min-height: 220px; }.journey-card h3 { margin-top: 24px; }
  .pay-as-you-go { border-radius: 18px; margin-top: -14px; }
  .faq-grid { gap: 30px; }.faq-intro { position: static; }.faq-list summary { font-size: 15px; }.faq-list details p { margin-right: 20px; font-size: 14px; }
  .final-cta-inner { display: grid; text-align: center; }.final-actions { width: 100%; }.final-actions .button { width: 100%; }.footer-grid { grid-template-columns: 1fr; justify-items: center; text-align: center; }.footer-links { justify-content: center; }.footer-bottom { display: grid; gap: 5px; text-align: center; }.modal-card { padding: 34px 24px 26px; }
}

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