:root { --ink:#0f1623; --muted:#5b6678; --navy:#14325c; --navy-dark:#0c2142; --navy-soft:#e8eef7; --line:#dde3ec; --soft:#f3f5f9; --warm:#fbfaf5; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:#e8ebf0; }
body { margin:0; color:var(--ink); background:#e8ebf0; 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(15,22,40,.08); padding-bottom:0; overflow:hidden; }
.site-header { height:66px; padding:0 22px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #edf0f5; 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:#6f7a8c; font-size:11px; font-weight:800; letter-spacing:.16em; }
.hero { padding:38px 22px 30px; background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%); }
.eyebrow,.section-kicker { color:var(--navy); font-size:11px; 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(--navy); font-style:normal; }
.highlight-orange { color:#d9720f; }
.hero-copy { margin-bottom:23px; color:#2f3a4e; font-size:15.5px; line-height:1.7; }
.hero-copy strong { color:var(--ink); }
.discount-badge { display:inline-flex; align-items:center; gap:6px; margin-bottom:14px; padding:5px 10px 5px 5px; border-radius:6px; color:#fff; background:#CE1126; font-size:11px; font-weight:800; letter-spacing:.02em; }
.discount-badge::before { content:"17%"; display:inline-flex; align-items:center; justify-content:center; height:100%; padding:3px 6px; border-radius:4px; background:#fff; color:#CE1126; font-size:11px; font-weight:900; }
.discount-badge--dark { background:#fff; color:#CE1126; }
.discount-badge--dark::before { background:#CE1126; color:#fff; }
.promo-badge { display:inline-block; margin-bottom:10px; padding:5px 10px; border-radius:6px; color:#fff; background:#CE1126; font-size:11px; font-weight:800; letter-spacing:.02em; }
.price-old { color:#9aa3b3; 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 #a9c2e8; outline-offset:3px; }
.primary { color:white; background:var(--navy); box-shadow:0 9px 24px rgba(20,50,92,.22); }
.primary:hover { background:var(--navy-dark); }
.button span { font-size:20px; line-height:1; }
.microcopy { margin:10px 0 0; text-align:center; color:#7a8497; font-size:11px; line-height:1.5; }
.hero-proof { display:flex; align-items:center; gap:9px; margin-top:16px; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:var(--soft); }
.hero-proof__stat { flex-shrink:0; display:grid; place-items:center; width:44px; height:44px; border-radius:10px; color:white; background:var(--navy); font-size:13px; font-weight:900; letter-spacing:-.02em; line-height:1.1; text-align:center; }
.hero-proof__text { color:var(--muted); font-size:11px; line-height:1.5; }
.hero-proof__text strong { color:var(--ink); }
.signal-card { padding:16px 16px 14px; border-radius:14px; border:1px solid #f3cfcf; background:#fdf1f1; }
.signal-card__kicker { margin:0 0 12px; color:#b23a3a; font-size:11px; font-weight:800; letter-spacing:.12em; text-align:center; }
.signal-chart { display:block; width:100%; height:64px; }
.signal-chart__labels { display:flex; justify-content:space-between; margin-top:4px; color:#8a5555; font-size:11px; font-weight:700; }
.signal-card__note { margin:12px 0 0; text-align:center; color:#8a2f2f; font-size:11px; font-weight:700; line-height:1.4; }
.guarantee-section { padding:34px 16px; background:var(--navy-dark); }
.guarantee-card { display:flex; gap:14px; align-items:flex-start; padding:20px; border-radius:16px; color:white; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); }
.guarantee-card__icon { flex-shrink:0; width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:#a9c2e8; color:var(--navy-dark); font-size:16px; font-weight:900; }
.guarantee-card__body h3 { margin:0 0 6px; font-size:15px; letter-spacing:-.015em; }
.guarantee-card__tos { color:inherit; opacity:.7; text-decoration:none; }
.guarantee-card__body p { margin:0; color:#d3deef; font-size:11.5px; line-height:1.6; }
.section { padding:54px 22px; border-top:1px solid #edf0f5; }
.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(.promo-badge):not(.hero-copy):not(.solution-segments) { color:var(--muted); font-size:14px; line-height:1.72; }
.market-section { background:var(--warm); }
.market-section>p { margin-bottom:21px; }
.project-table-wrap { margin-top:20px; overflow-x:auto; border:1px solid var(--line); border-radius:12px; }
.project-table { width:100%; border-collapse:collapse; font-size:11px; white-space:nowrap; }
.project-table th { padding:8px 10px; border-bottom:1px solid var(--line); background:var(--navy-soft); color:var(--navy); font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; text-align:left; }
.project-table td { padding:8px 10px; border-top:1px solid var(--line); color:var(--muted); }
.project-table td:first-child { color:var(--ink); font-weight:700; }
.project-check { display:inline-flex; align-items:center; justify-content:center; width:15px; height:15px; margin-right:5px; border-radius:50%; color:white; background:var(--navy); font-size:11px; font-weight:900; }
.status-pill { display:inline-flex; padding:3px 8px; border-radius:999px; font-size:11px; font-weight:800; letter-spacing:.02em; white-space:nowrap; }
.status-pill--hiring { color:var(--navy); background:var(--navy-soft); }
.status-pill--soon { color:#a15b0a; background:#fdecd2; }
.status-pill--tba { color:#6b7587; background:var(--soft); border:1px solid var(--line); }
.project-table-note { margin:10px 0 0; text-align:left; color:var(--muted); font-size:11px; line-height:1.5; }
.project-table-note a { color:var(--navy); font-weight:750; }
.relief-section { color:white; background:var(--navy-dark); }
.section-kicker.light { color:#a9c2e8; }
.section-kicker.highlight { display:inline-block; padding:3px 8px; border-radius:3px; color:var(--ink); background:#ffe94d; }
.relief-section h2 { max-width:400px; }
.relief-lead { color:#c8d4e8!important; }
.relief-list { display:grid; gap:11px; margin:26px 0 20px; padding:0; list-style:none; }
.relief-list li { display:grid; grid-template-columns:27px 1fr; gap:10px; align-items:start; padding:13px 14px; 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 { width:22px; height:22px; border-radius:50%; display:grid; place-items:center; color:var(--navy-dark); background:#a9c2e8; 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; }
.offer-recap { margin:0 0 4px; color:#d3deef!important; font-size:13px!important; line-height:1.7!important; }
.offer-recap-link { margin:0 0 4px!important; font-size:13px!important; line-height:1.7!important; }
.offer-recap-link a { color:white; font-weight:650; text-decoration:underline; text-underline-offset:3px; }
.deliverables { display:grid; gap:14px; margin-top:26px; }
.deliverable-group { padding:16px 15px; border:1px solid var(--line); border-radius:14px; background:var(--soft); }
.deliverable-group__label { display:flex; align-items:center; gap:8px; margin:0 0 12px!important; color:var(--muted)!important; font-size:11px!important; font-weight:700; line-height:1.4!important; }
.deliverable-group__label span { padding:4px 7px; border-radius:5px; color:white; background:var(--navy); font-size:11px; font-weight:850; letter-spacing:.1em; white-space:nowrap; }
.deliverable-list { display:grid; gap:11px; margin:0; padding:0; list-style:none; }
.deliverable-list li { padding-left:15px; border-left:2px solid #c3d0e4; }
.deliverable-list strong { display:block; margin-bottom:3px; color:var(--ink); font-size:13.5px; line-height:1.35; letter-spacing:-.015em; }
.deliverable-list small { display:block; color:var(--muted); font-size:11.5px; line-height:1.62; }
.deliverable-details { margin-top:9px; }
.deliverable-details summary { color:var(--navy); font-size:11px; font-weight:750; cursor:pointer; }
.deliverable-details__label { margin:12px 0 8px!important; color:var(--ink)!important; font-weight:700; font-size:11.5px!important; }
.deliverable-syllabus { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.deliverable-syllabus li { display:grid; grid-template-columns:20px 1fr; gap:8px; align-items:start; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:white; color:var(--ink); font-size:11px; line-height:1.55; }
.deliverable-syllabus li span { width:18px; height:18px; border-radius:50%; display:grid; place-items:center; color:white; background:var(--navy); font-size:11px; font-weight:900; }
.fit-section { background:white; }
.fit-list { display:grid; gap:11px; margin:24px 0 0; padding:0; list-style:none; }
.fit-list li { display:grid; grid-template-columns:27px 1fr; gap:10px; align-items:start; padding:13px 14px; 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 { 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(--navy); }
.works-section { background:var(--warm); }
.works-list { display:grid; margin-top:27px; border-top:1px solid var(--line); padding:0; list-style:none; }
.works-item { display:grid; grid-template-columns:35px 1fr; gap:13px; padding:19px 0; border-bottom:1px solid var(--line); }
.works-number { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; color:var(--navy); background:var(--navy-soft); font-size:11px; font-weight:850; letter-spacing:.08em; }
.works-item h3 { margin:1px 0 7px; font-size:15px; line-height:1.35; letter-spacing:-.015em; }
.works-item p { margin:0; color:var(--muted); font-size:11.5px; line-height:1.62; }
.section-lead { color:#4f5a6d; font-size:14.5px; line-height:1.7; }
.testi-section { background:white; }
.offer-section { padding:30px 16px; background:var(--soft); }
.offer-card { padding:27px 22px; border-radius:22px; color:white; background:linear-gradient(145deg,#1a3d70,#0c2142); box-shadow:0 20px 40px rgba(12,33,66,.25); }
.offer-card h2 { margin-bottom:10px; font-size:30px; }
.offer-card>p:not(.section-kicker):not(.offer-note):not(.discount-badge) { color:#c3d0e4; 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 { display:flex; gap:10px; align-items:flex-start; color:#eaf0f8; font-size:11px; line-height:1.5; }
.offer-card>ul span { color:#a9c2e8; 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:#bccbe3; font-size:11px; }
.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:#8ea6c9; }
.light-button { color:var(--navy-dark); background:white; }
.offer-note { margin:9px 0 0; text-align:center; color:#bccbe3; font-size:11px; }
.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(--navy); }
.faq-list details p { margin:10px 0 0; color:#4f5a6d; font-size:13.5px; line-height:1.65; }
.faq-list details p strong { color:var(--ink); }
.faq-list details a { color:var(--navy); font-weight:700; }
.disclaimer-section { padding-top:34px; padding-bottom:34px; background:var(--soft); }
.disclaimer-list { margin:14px 0 0; padding-left:18px; color:#7c869a; font-size:11px; line-height:1.65; display:grid; gap:7px; }
footer { padding:22px; text-align:center; color:#8a93a4; background:white; border-top:1px solid #edf0f5; font-size:11px; line-height:1.6; }
footer p { margin:0; letter-spacing:0; text-transform:none; }
footer a { color:#8a93a4; 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;
  }
}
.offer-countdown { margin:0 0 16px; text-align:center; }
.offer-countdown__label { margin:0 0 8px; color:#ffd9a8; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.offer-countdown__grid { display:flex; gap:7px; justify-content:center; animation:countdownAttn 1.6s ease-in-out infinite; }
.offer-countdown__unit { display:flex; flex-direction:column; align-items:center; gap:3px; min-width:46px; padding:8px 4px; border-radius:10px; background:#CE1126; box-shadow:0 6px 14px rgba(0,0,0,.25); }
.offer-countdown__unit span { font-size:19px; font-weight:900; line-height:1; color:#fff; font-variant-numeric:tabular-nums; }
.offer-countdown__unit small { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.85); }
@keyframes countdownAttn { 0%,100% { transform:scale(1); } 50% { transform:scale(1.04); } }
.social-proof-toast { position:fixed; z-index:60; left:50%; bottom:16px; transform:translate(-50%,16px); width:min(440px,calc(100% - 24px)); display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:14px; background:white; border:1px solid var(--line); box-shadow:0 14px 32px rgba(15,22,40,.14); opacity:0; pointer-events:none; transition:opacity .25s ease,transform .25s ease; }
.social-proof-toast.is-visible { opacity:1; transform:translate(-50%,0); pointer-events:auto; }
.social-proof-toast__avatar { flex-shrink:0; width:32px; height:32px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--navy); font-size:13px; font-weight:800; }
.social-proof-toast__text { flex:1; color:var(--ink); font-size:11.5px; line-height:1.4; }
.social-proof-toast__text strong { font-weight:750; }
.social-proof-toast__close { flex-shrink:0; width:22px; height:22px; border:0; border-radius:50%; background:var(--soft); color:var(--muted); font-size:14px; line-height:1; cursor:pointer; }
@media (max-width:340px) { .hero,.section { padding-left:17px; padding-right:17px; } }
@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; } }

/* 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); }
.hero-secondary { margin:14px 0 0; text-align:center; font-size:12px; font-weight:700; }
.hero-secondary a { color:var(--navy); }
.progress-section .relief-list strong { display:block; margin-bottom:3px; color:white; font-size:13.5px; }
.progress-section .relief-list div { color:#c8d4e8; }
/* v8: headline fixed at 3 lines, so em flows inline and font scales with width.
   ponytail: 5.2vw + 16px hero gutter measured against SF Pro bold at 320-480px; a longer headline needs re-measuring */
.hero { padding-left:16px; padding-right:16px; }
.hero h1 { font-size:clamp(20px,6.41vw,30px); line-height:1.2; letter-spacing:-.04em; }
.hero h1 em { display:inline; margin:0; }
@media (max-width:359px) { .hero h1 { font-size:6.25vw; } }
.question-section { background:var(--warm); }
.question-list { display:grid; gap:10px; margin:26px 0 0; padding:0; list-style:none; }
.question-list li { position:relative; padding:14px 16px 14px 44px; border:1px solid var(--line); border-radius:16px 16px 16px 4px; background:white; box-shadow:0 6px 18px rgba(15,22,40,.05); color:#2f3a4e; font-size:13px; font-style:italic; line-height:1.6; }
.question-list li::before { content:"\201C"; position:absolute; left:15px; top:9px; color:var(--navy); font-size:30px; font-style:normal; font-weight:900; line-height:1; opacity:.35; }
.question-close { margin-top:28px; padding:20px; border-radius:16px; background:var(--navy-dark); color:white; }
.question-close strong { display:block; margin-bottom:6px; font-size:20px; letter-spacing:-.025em; line-height:1.25; }
.question-close strong em { color:#a9c2e8; }
.question-close p { margin:0; color:#d3deef; font-size:13px; line-height:1.65; }
.solution-segments { margin:0; color:var(--ink); font-size:14.5px; font-weight:750; }
.solution-recap { margin-top:22px; padding:22px 20px; border-radius:18px; color:white; background:var(--navy-dark); }
.solution-recap__kicker { margin:0 0 8px; color:#a9c2e8; font-size:11px; font-weight:800; letter-spacing:.14em; }
.solution-recap__title { margin:0 0 18px; font-size:19px; font-weight:780; line-height:1.3; letter-spacing:-.025em; }
.solution-recap__title em { color:#a9c2e8; font-style:normal; }
.solution-recap__list { display:grid; gap:0; margin:0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.14); }
.solution-recap__list li { display:grid; grid-template-columns:44px 1fr; align-items:center; gap:10px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.solution-recap__list b { color:#a9c2e8; font-size:20px; font-weight:850; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.solution-recap__list span { color:#dbe5f5; font-size:13px; line-height:1.4; }
.solution-recap__button { margin-top:18px; }
.deliverable-tag { display:inline-block; margin-top:7px; padding:3px 8px; border-radius:999px; color:var(--navy); background:var(--navy-soft); font-size:11px; font-weight:800; letter-spacing:.02em; }
.deliverable-group__note { margin:14px 0 0; padding-top:12px; border-top:1px dashed var(--line); color:var(--muted); font-size:11px; line-height:1.6; }
.works-item p strong { color:var(--ink); font-weight:750; }
.progress-section .relief-list b { color:white; font-weight:750; }
.progress-section .relief-list span { font-size:11px; }
.progress-section .relief-close { color:#c8d4e8!important; font-weight:400; line-height:1.65; }
.progress-section .relief-close strong { color:white; font-weight:750; }
.market-section .signal-card { margin-top:26px; }
.progress-cta { margin-top:24px; }
.market-cta { margin-top:22px; }
/* v8: the one button that goes to checkout gets its own colour; scroll CTAs stay white/green */
.checkout-button { color:var(--ink); background:#f28c28; box-shadow:0 10px 26px rgba(242,140,40,.35); }
.checkout-button:hover { background:#f59e45; }
.offer-price__amount strong { color:#ff8f85; }

/* v9: one program, two plans. Plan cards + comparison table replace the single offer card. */
.plan-tag { display:inline-block; margin-left:4px; padding:2px 7px; border-radius:999px; color:#fff; background:var(--navy); font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; vertical-align:2px; }
.offer-section h2 { margin-bottom:10px; font-size:28px; line-height:1.15; letter-spacing:-.035em; }
.offer-lead { margin:0 0 20px; color:var(--muted); font-size:13px; line-height:1.65; }
.plan-grid { display:grid; gap:14px; }
.plan-card { position:relative; padding:24px 20px; border-radius:20px; border:1px solid var(--line); background:white; box-shadow:0 14px 30px rgba(15,22,40,.07); }
.plan-card h3 { margin:0 0 4px; font-size:24px; font-weight:800; letter-spacing:-.03em; }
.plan-card__fit { margin:0 0 14px; color:var(--muted); font-size:13px; line-height:1.5; }
.plan-card__price { --w:calc(min(100vw,480px) - 76px); display:flex; flex-wrap:nowrap; align-items:baseline; gap:0 .4em; padding:14px 0; border-top:1px solid var(--line); font-size:calc(var(--w) / 36); white-space:nowrap; }
.plan-card__price small { color:var(--muted); font-size:1em; font-weight:700; }
.plan-card--plus .plan-card__price small { color:#cfdcf1; }
.plan-card__price strong { color:#ce1126; font-size:min(30px,calc(var(--w) / 14.5)); letter-spacing:-.04em; }
.plan-card__list { display:grid; gap:10px; margin:0 0 20px; padding:14px 0 0; border-top:1px solid var(--line); list-style:none; }
.plan-card__list li { display:flex; gap:10px; align-items:flex-start; font-size:13px; line-height:1.5; }
.plan-card__list li > span { color:var(--navy); font-weight:900; }
.plan-card__list li.has-tip { position:relative; cursor:help; }
.has-tip { text-decoration:underline dashed; text-decoration-color:rgba(15,22,40,.35); text-underline-offset:5px; }
.has-tip::after { content:attr(data-tip); position:absolute; left:24px; right:0; bottom:calc(100% + 6px); z-index:5; padding:9px 12px; border-radius:10px; color:white; background:var(--ink); font-size:12px; line-height:1.45; text-decoration:none; opacity:0; visibility:hidden; transform:translateY(4px); transition:opacity .15s,transform .15s,visibility .15s; pointer-events:none; }
.has-tip:hover::after,.has-tip:focus::after { opacity:1; visibility:visible; transform:none; }
.plan-card--plus { color:white; border-color:transparent; background:linear-gradient(145deg,#1a3d70,#0c2142); box-shadow:0 20px 40px rgba(12,33,66,.28); }
.plan-card--plus .plan-card__fit { color:#c3d0e4; }
.plan-card--plus .plan-card__price,.plan-card--plus .plan-card__list { border-top-color:rgba(255,255,255,.18); }
.plan-card--plus .plan-card__price strong { color:#ff8f85; }
.plan-card--plus .price-old { color:#8ea6c9; }
.plan-card--plus .plan-card__list li > span { color:#a9c2e8; }
.plan-card__badge { position:absolute; top:-11px; right:18px; margin:0; padding:5px 11px; border-radius:999px; color:var(--ink); background:#f28c28; font-size:11px; font-weight:850; letter-spacing:.08em; }
.compare-wrap { margin-top:24px; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:white; }
.compare-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:12px; line-height:1.45; }
.compare-table th,.compare-table td { padding:11px 9px; border-top:1px solid var(--line); text-align:center; vertical-align:middle; }
.compare-table thead th { border-top:0; background:var(--soft); color:var(--ink); font-size:11px; font-weight:800; }
.compare-table thead th:first-child { width:42%; text-align:left; }
.compare-table thead th.is-current { color:var(--navy); }
.compare-table tbody th { color:var(--ink); font-weight:650; text-align:left; }
.compare-table td { color:var(--muted); font-weight:700; }
.compare-table td:nth-child(3) { background:var(--navy-soft); }
.compare-yes { color:var(--navy); font-weight:900; }
.compare-no { color:#b4bbc8; }
.compare-price s { display:block; color:#9aa3b3; font-size:11px; font-weight:600; }
.compare-price strong { display:block; color:var(--ink); font-size:14px; }
.compare-price td:nth-child(3) strong { color:#ce1126; }
.hero-checks { display:flex; flex-wrap:wrap; gap:.4em .9em; margin:0 0 20px; padding:0; list-style:none; color:var(--ink); font-size:min(13px,calc((min(100vw,480px) - 32px) / 33)); font-weight:700; }
.hero-checks li::before { content:"\2713"; margin-right:.4em; color:var(--navy); font-weight:900; }
.recap-plan { padding:14px 0; border-top:1px solid rgba(255,255,255,.14); }
.recap-plan__name { margin:0 0 10px; color:#a9c2e8; font-size:11px; font-weight:850; letter-spacing:.14em; }
.recap-plan__lead { margin:0 0 8px; color:#fff; font-size:12.5px; font-weight:750; }
.recap-plan__list { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.recap-plan__list li { position:relative; padding-left:20px; color:#dbe5f5; font-size:13px; line-height:1.45; }
.recap-plan__list li::before { content:"\2713"; position:absolute; left:0; color:#a9c2e8; font-weight:900; }
.recap-guarantee { margin:0; padding:12px 0 0; border-top:1px solid rgba(255,255,255,.14); color:#dbe5f5; font-size:12.5px; font-weight:700; }
.recap-plan__fit { margin:-4px 0 10px; color:#c3d0e4; font-size:12.5px; line-height:1.5; }
.deliverable-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 8px; margin-bottom:3px; font-size:clamp(11px,3.15vw,13.5px); }
.deliverable-head strong { display:inline; margin:0; font-size:1em; }
.deliverable-head .plan-tag { margin-left:0; font-size:.68em; }
.item-price { color:#ce1126; font-size:.92em; font-weight:700; text-decoration-color:#ce1126; white-space:nowrap; }
.progress-section .progress-proof { margin:-4px 0 22px; color:#fff!important; font-size:13px!important; font-weight:600; line-height:1.5!important; }
.progress-section .progress-proof b { font-weight:inherit; }

/* v9 timeline: numbers become nodes on one vertical line, last step is the goal */
.works-list { margin-top:27px; border-top:0; }
.works-item { position:relative; padding:0 0 28px; border-bottom:0; }
.works-item:last-child { padding-bottom:0; }
.works-item:not(:last-child)::before { content:""; position:absolute; left:15px; top:32px; bottom:0; width:2px; background:#c3d0e4; }
.works-number { position:relative; z-index:1; border-radius:50%; border:2px solid var(--navy); background:var(--warm); }
.works-item:last-child .works-number { color:#fff; background:var(--navy); }
.works-tag { display:inline-block; margin:-2px 0 7px; padding:2px 8px; border-radius:999px; color:var(--muted); background:var(--navy-soft); font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.hero-tags { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; padding:0; list-style:none; }
.hero-tags li { padding:5px 12px; border:1px solid #c3d0e4; border-radius:999px; color:var(--navy-dark); background:var(--navy-soft); font-size:12px; font-weight:700; letter-spacing:.01em; }
.hero-tags { align-items:center; }
.hero-tags .hero-tags__label { padding:0 2px 0 0; border:0; background:none; color:var(--muted); font-size:12px; font-weight:800; }
/* hero tags: one line at any phone width; type scales down, capped at 12px */
.hero-tags { flex-wrap:nowrap; gap:.4em; font-size:min(12px,calc((min(100vw,480px) - 32px) / 40)); white-space:nowrap; }
.hero-tags li,.hero-tags .hero-tags__label { font-size:1em; }
.hero-tags li { padding:.4em .6em; }
.hero-tags .hero-tags__label { padding:0 .15em 0 0; }
.hero-tags li { border-color:#eadfbf; color:#4a3300; background:var(--warm); }
.hero-tags li.hero-tags__label { border:0; background:none; color:var(--muted); }
.plan-card--plus .has-tip { text-decoration-color:rgba(255,255,255,.45); }
.plan-card--plus .has-tip::after { color:var(--ink); background:white; box-shadow:0 8px 20px rgba(0,0,0,.25); }

/* testimonial screenshots: scroll-snap rail */
.proof-rail { display:flex; gap:14px; margin:22px -22px 0; padding:4px 22px 14px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-left:22px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.proof-rail::-webkit-scrollbar { display:none; }
.proof-card { flex:0 0 min(72%,280px); margin:0; scroll-snap-align:start; display:flex; flex-direction:column; gap:10px; padding:12px; border:1px solid var(--line); border-radius:18px; background:var(--soft); box-shadow:0 12px 26px rgba(15,22,40,.08); }
.proof-card__head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0; }
.proof-card__head span { padding:3px 9px; border-radius:999px; color:var(--navy-dark); background:var(--navy-soft); font-size:11px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.proof-card__head strong { font-size:12.5px; letter-spacing:-.01em; }
.proof-card__shot { display:block; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:white; }
.proof-card__shot img { display:block; width:100%; height:auto; }
.proof-card figcaption { color:var(--muted); font-size:12px; line-height:1.5; }
.proof-hint { margin:0 0 6px; color:var(--muted); font-size:11px; text-align:center; }
.proof-box { max-width:94vw; max-height:94vh; padding:0; border:0; background:transparent; overflow:visible; }
.proof-box::backdrop { background:rgba(8,13,24,.82); }
.proof-box img { display:block; max-width:94vw; max-height:90vh; width:auto; height:auto; margin:0 auto; border-radius:14px; background:white; }
.proof-box__close { position:absolute; top:-14px; right:-6px; z-index:1; width:34px; height:34px; border:0; border-radius:50%; color:var(--ink); background:white; font-size:22px; line-height:1; cursor:pointer; box-shadow:0 4px 14px rgba(0,0,0,.35); }


.proof-more { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:14px; margin:18px 0 0; padding:14px 16px; border:1px solid #c3d0e4; border-radius:16px; background:var(--navy-soft); }
.proof-more__icon { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; color:white; background:var(--navy); }
.proof-more__text { display:grid; gap:2px; }
.proof-more__text strong { color:var(--ink); font-size:14.5px; letter-spacing:-.01em; }
.proof-more__text span { color:var(--muted); font-size:12.5px; line-height:1.45; }
.proof-more__text a { color:var(--navy); font-weight:800; text-decoration:underline; text-underline-offset:3px; }

.sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.has-tip:focus-visible { outline:2px solid #a9c2e8; outline-offset:3px; border-radius:6px; }
.skip-link { position:absolute; left:12px; top:-60px; z-index:100; padding:10px 14px; border-radius:10px; color:white; background:var(--ink); font-size:14px; font-weight:700; }
.skip-link:focus { top:12px; }
#main:focus { outline:none; }
.mark-soft { padding:.04em .22em; border-radius:6px; background:#fff1b8; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
/* ponytail: 3-plan compare table, highlight the last column (Campaign) instead of the 3rd cell */
.compare-table td:nth-child(3) { background:transparent; }
.compare-table td:nth-child(4) { background:var(--navy-soft); }
.compare-table thead th:first-child { width:34%; }
.compare-price td:nth-child(3) strong { color:var(--ink); }
.compare-price td:nth-child(4) strong { color:#ce1126; }
.compare-table td small { display:block; color:var(--muted); font-size:10.5px; font-weight:600; }

/* recap: 5 highlights per paket, the rest behind a toggle */
.recap-more { margin-top:10px; }
.recap-more summary { display:inline-flex; align-items:center; gap:6px; color:#a9c2e8; font-size:12.5px; font-weight:750; cursor:pointer; list-style:none; }
.recap-more summary::-webkit-details-marker { display:none; }
.recap-more summary::after { content:"\25BE"; font-size:11px; transition:transform .2s; }
.recap-more[open] summary::after { transform:rotate(180deg); }
.recap-more[open] summary { margin-bottom:10px; }
