:root { --ink:#10161d; --muted:#5c6875; --green:#17324d; --green-dark:#0f2537; --green-soft:#e8eef5; --line:#e3ded2; --soft:#f7f3ea; --warm:#faf7f0; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:#ece7dd; }
body { margin:0; color:var(--ink); background:#ece7dd; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
p,h1,h2,h3 { margin-top:0; }
img { display:block; max-width:100%; }
.page-shell { width:100%; max-width:480px; margin:0 auto; min-height:100vh; background:white; box-shadow:0 0 50px rgba(21,38,29,.08); padding-bottom:108px; overflow:hidden; }
.site-header { height:66px; padding:0 22px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #eee9de; background:rgba(255,255,255,.96); }
.brand { display:inline-flex; align-items:center; gap:10px; }
.brand-mark { display:inline-flex; gap:2px; flex:0 0 auto; }
.brand-mark span { width:10px; height:10px; border-radius:999px; }
.brand-mark span:nth-child(1) { background:#ef3340; }
.brand-mark span:nth-child(2) { background:#009a44; }
.brand-name { font-size:16px; font-weight:700; letter-spacing:-.03em; line-height:1; text-transform:lowercase; color:var(--ink); }
.edition { color:#767e88; font-size:9px; font-weight:800; letter-spacing:.16em; }
.hero { padding:38px 22px 30px; background:linear-gradient(180deg,#fff 0%,#fcfaf6 100%); }
.eyebrow,.section-kicker { color:var(--green); font-size:10px; font-weight:800; letter-spacing:.14em; line-height:1.5; }
.eyebrow { max-width:330px; margin-bottom:17px; }
h1 { max-width:430px; margin-bottom:18px; font-size:clamp(34px,9.5vw,45px); line-height:1.06; letter-spacing:-.045em; font-weight:780; }
h1 em { display:block; margin-top:8px; color:var(--green); font-style:normal; }
.highlight-orange { color:#d9720f; }
.hero-copy { margin-bottom:23px; color:#5a5f66; font-size:14.5px; line-height:1.7; }
.hero-copy strong { color:var(--ink); }
.price-row { display:flex; align-items:flex-end; justify-content:space-between; padding:17px 0; border-top:1px solid var(--line); }
.price-row div { display:grid; gap:3px; }
.price-label { color:#7d7566; font-size:9px; font-weight:800; letter-spacing:.13em; }
.price-row strong { font-size:27px; letter-spacing:-.04em; }
.price-old { color:#a09784; font-size:14px; font-weight:600; text-decoration:line-through; }
.button { min-height:54px; border-radius:12px; display:flex; align-items:center; justify-content:center; gap:10px; padding:0 18px; font-size:14px; font-weight:800; transition:transform .15s,background .15s; }
.button:active { transform:translateY(1px); }
.button:focus-visible,a:focus-visible { outline:3px solid #9fc4e6; outline-offset:3px; }
.primary { color:white; background:var(--green); box-shadow:0 9px 24px rgba(18,108,69,.2); }
.primary:hover { background:var(--green-dark); }
.button span { font-size:20px; line-height:1; }
.microcopy { margin:10px 0 0; text-align:center; color:#7f7768; font-size:10px; line-height:1.5; }
.hero-highlight { display:inline-block; margin-top:2px; padding:11px 14px; border-radius:12px; color:var(--green-dark); background:var(--green-soft); font-size:12.5px; line-height:1.6; }
.hero-highlight strong { color:var(--green); font-weight:850; }
.section { padding:54px 22px; border-top:1px solid #eee9de; }
.section-kicker { margin-bottom:10px; }
.section h2 { margin-bottom:16px; font-size:29px; line-height:1.15; letter-spacing:-.035em; }
.section>p:not(.section-kicker):not(.section-lead):not(.preview-note):not(.promo-badge):not(.signal-pulse) { color:var(--muted); font-size:14px; line-height:1.72; }
.market-bridge { margin-top:28px; padding:19px; border-left:3px solid var(--green); background:white; box-shadow:0 10px 28px rgba(24,47,34,.06); }
.market-bridge span { display:block; margin-bottom:8px; color:var(--muted); font-size:11px; line-height:1.55; }
.market-bridge strong { display:block; font-size:15px; line-height:1.5; letter-spacing:-.01em; }
.relief-section { color:white; background:var(--green-dark); }
.section-kicker.light { color:#9fc4e6; }
.relief-section h2 { max-width:400px; }
.relief-lead { color:#c9d6e4!important; }
.relief-list { display:grid; gap:11px; margin:26px 0 20px; padding:0; list-style:none; }
.relief-list li { position:relative; padding:13px 14px 13px 46px; border:1px solid rgba(255,255,255,.12); border-radius:12px; background:rgba(255,255,255,.055); color:#f1f5fa; font-size:12.5px; line-height:1.55; }
.relief-list span { position:absolute; left:14px; top:14px; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; color:var(--green-dark); background:#a8c8e8; font-size:11px; font-weight:900; }
.relief-close { margin:0!important; padding-top:19px; border-top:1px solid rgba(255,255,255,.14); color:white!important; font-weight:750; }
.fit-section { background:white; }
.fit-list { display:grid; gap:11px; margin:24px 0 0; padding:0; list-style:none; }
.fit-list + .fit-list { margin-top:11px; }
.fit-list li { position:relative; padding:13px 14px 13px 46px; border:1px solid var(--line); border-radius:12px; background:var(--soft); color:var(--ink); font-size:12.5px; line-height:1.55; }
.fit-list span { position:absolute; left:14px; top:14px; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font-size:11px; font-weight:900; }
.fit-list--yes li span { color:white; background:var(--green); }
.fit-list--no li { background:#fdf1f1; border-color:#f3cfcf; color:#7c5252; }
.fit-list--no li span { color:#fff; background:#c9302c; }
.section-lead { color:var(--muted); font-size:13px; line-height:1.68; }
.offer-section { padding:30px 16px; background:var(--soft); }
.offer-card { padding:27px 22px; border-radius:22px; color:white; background:linear-gradient(145deg,#17324d,#0d2133); box-shadow:0 20px 40px rgba(10,70,44,.22); }
.offer-card h2 { margin-bottom:10px; font-size:30px; }
.offer-card>p:not(.section-kicker):not(.offer-note):not(.discount-badge) { color:#ccd8e6; font-size:12px; line-height:1.6; }
.offer-card>ul { display:grid; gap:11px; margin:22px 0; padding:0; list-style:none; }
.offer-card>ul li { position:relative; padding-left:20px; color:#e9eff6; font-size:11px; line-height:1.5; }
.offer-card>ul span { position:absolute; left:0; top:0; color:#9fc4e6; font-weight:900; }
.offer-price { display:flex; align-items:flex-end; justify-content:space-between; padding:18px 0; border-top:1px solid rgba(255,255,255,.15); }
.offer-price > span { color:#bdcfe2; font-size:10px; }
.offer-price strong { font-size:27px; letter-spacing:-.04em; }
.offer-price__amount { display:flex; align-items:baseline; gap:8px; }
.offer-price__amount .price-old { color:#93a8bd; font-size:15px; text-decoration:line-through; }
.price-row__note s { color:var(--muted); font-weight:700; text-decoration:line-through; }
.light-button { color:var(--green-dark); background:white; }
.offer-note { margin:9px 0 0; text-align:center; color:#bdcfe2; font-size:9px; }
.faq-section { background:white; }
.faq-list { display:grid; gap:9px; margin-top:22px; }
.faq-list details { padding:15px 16px; border:1px solid var(--line); border-radius:12px; }
.faq-list summary { font-size:13.5px; font-weight:750; cursor:pointer; }
.faq-list summary::marker { color:var(--green); }
.faq-list details p { margin-top:10px; color:var(--muted); font-size:12px; line-height:1.6; }
.faq-list details a { color:var(--green); font-weight:700; }
.disclaimer-section { padding-top:34px; padding-bottom:34px; background:var(--soft); }
.disclaimer-list { margin:14px 0 0; padding-left:18px; color:#807869; font-size:10px; line-height:1.65; display:grid; gap:7px; }
footer { padding:22px; text-align:center; color:#89928d; background:white; border-top:1px solid #eee9de; font-size:9px; line-height:1.6; }
footer p { margin:0; letter-spacing:0; text-transform:none; }
footer a { color:#89928d; font-weight:700; text-decoration:underline; }
.site-footer__brand {
  width: 100%;
  margin-top: 24px;
  color: rgba(17, 24, 39, 0.06);
  font-size: clamp(4.5rem, 16vw, 14rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 0.78;
  text-transform: lowercase;
  white-space: nowrap;
  text-align: center;
  transform: translateY(0);
}
@media (max-width: 768px) {
  .site-footer__brand {
    margin-top: 17px;
    font-size: clamp(3.2rem, 15vw, 5rem);
    line-height: 0.82;
    transform: translateY(0);
    letter-spacing: -0.03em;
  }
}
.sticky-cta { position:fixed; z-index:50; left:50%; bottom:0; transform:translateX(-50%); width:min(480px,100%); display:flex; flex-direction:column; background:rgba(255,255,255,.96); backdrop-filter:blur(14px); border-top:1px solid var(--line); box-shadow:0 -8px 28px rgba(19,43,29,.09); }
.sticky-cta__row { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px 10px 18px; }
.sticky-cta__row>div { display:grid; gap:2px; }
.sticky-cta__row>div span { color:var(--muted); font-size:8px; }
.sticky-cta__row>div strong { font-size:16px; white-space:nowrap; }
.sticky-cta__row>div strong .price-old { font-size:11px; margin-right:3px; }
.sticky-button { min-height:50px; padding:0 15px; color:white; background:var(--green); font-size:11px; }
.sticky-button span { font-size:16px; }
@media (max-width:340px) { .hero,.section { padding-left:17px; padding-right:17px; } .sticky-cta__row>div { display:none; } .sticky-button { width:100%; } }
@media (min-width:481px) { .page-shell { margin-top:18px; margin-bottom:18px; border-radius:18px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }

/* --- CV DeepReview 360 --- */
.price-row__note { margin:0; text-align:right; color:var(--green); font-size:14px; font-weight:800; letter-spacing:-.02em; line-height:1.3; }
.price-row__note small { display:block; color:var(--muted); font-size:9px; font-weight:700; letter-spacing:0; }
.problem-section { background:var(--warm); }
.problem-list { display:grid; gap:12px; margin:24px 0 0; padding:0; list-style:none; }
.problem-list li { padding:16px; border:1px solid var(--line); border-radius:14px; background:white; box-shadow:0 8px 22px rgba(24,47,34,.05); }
.problem-list__tag { display:inline-block; margin-bottom:9px; padding:4px 8px; border-radius:6px; color:var(--green); background:var(--green-soft); font-size:8px; font-weight:850; letter-spacing:.12em; }
.problem-list h3 { margin:0 0 7px; font-size:15px; line-height:1.3; letter-spacing:-.02em; }
.problem-list p { margin:0; color:var(--muted); font-size:11.5px; line-height:1.62; }
.preview-section { background:white; }
.report-media { margin:24px 0 0; }
.report-media video { display:block; width:100%; height:auto; border:1px solid #d5cec0; border-radius:15px; background:var(--soft); box-shadow:0 16px 32px rgba(24,47,34,.1); }
.report-media figcaption { margin-top:9px; text-align:center; color:#88806f; font-size:9px; line-height:1.5; }
.report-reel { margin:24px 0 0; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:white; }
.report-reel__frame { position:relative; height:520px; overflow:hidden; background:repeating-linear-gradient(180deg, #f4f4f2 0 14px, #fafaf8 14px 30px); }
.report-reel__frame img { display:block; width:100%; height:auto; animation:reel 12s linear infinite; }
@keyframes reel { 0%,3% { transform:translateY(0); } 97%,100% { transform:translateY(calc(-100% + 520px)); } }
.report-reel__frame::after { content:""; position:absolute; inset:auto 0 0 0; height:72px; background:linear-gradient(180deg,rgba(255,255,255,0),white 82%); pointer-events:none; }
.report-reel figcaption { padding:9px 14px; border-top:1px solid var(--line); background:white; color:var(--muted); font-size:10px; line-height:1.5; }
@media (prefers-reduced-motion:reduce) { .report-reel__frame img { animation:none; } }
.report-rail { margin-top:24px; padding:18px 16px; border:1px solid var(--line); border-radius:16px; background:var(--soft); }
.report-rail__head { margin:0 0 4px; color:var(--green); font-size:9.5px; font-weight:850; letter-spacing:.12em; }
.report-rail__list { display:grid; margin:0; padding:0; list-style:none; }
.report-rail__list li { display:grid; grid-template-columns:30px 1fr; gap:11px; padding:13px 0; border-bottom:1px solid var(--line); }
.report-rail__list li:last-child { border-bottom:0; padding-bottom:0; }
.report-rail__list li>span { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; color:var(--green); background:var(--green-soft); font-size:9px; font-weight:850; letter-spacing:.06em; }
.report-rail__list strong { display:block; margin-bottom:4px; font-size:13.5px; line-height:1.3; letter-spacing:-.02em; }
.report-rail__list small { display:block; color:var(--muted); font-size:11px; line-height:1.6; }
.boundary-section { background:white; }
.fit-list strong { font-weight:800; }
.fit-list--no li strong { color:#63403f; }
.offer-note a { color:#eaf1f8; font-weight:800; text-decoration:underline; }

/* v2 short page: FAQ folded under the offer */
.faq-list--compact { margin-top:26px; }
.faq-list details p+p { margin-top:9px; }

/* shared nav: this page renders inside a 480px shell, so the desktop row never fits */
.nav__links,
.nav .button--join,
.nav > .lang-switch { display:none; }
.mobile-menu { display:block; }
/* menu ships its own cream bar; the shell under it is white, so match the shell */
.nav { background:rgba(255,255,255,.96); border-bottom-color:var(--line); }
/* toggle is built for a dark hero: white lines on a glass button. Both vanish
   on this white bar, so give it ink lines and a visible edge. */
.mobile-menu__toggle { border-color:var(--line); background:var(--soft); }
.mobile-menu__toggle span { background:var(--ink); }
