:root { --ink:#101713; --muted:#607067; --green:#116b46; --green-dark:#0b4932; --green-soft:#e7f4ec; --line:#dce5df; --soft:#f3f6f4; --warm:#fbfaf5; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:#e7ece9; }
body { margin:0; color:var(--ink); background:#e7ece9; 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:0; overflow:hidden; }
.site-header { height:66px; padding:0 22px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #edf1ee; 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:#718077; font-size:11px; font-weight:800; letter-spacing:.16em; }
.hero { padding:38px 22px 30px; background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%); }
.eyebrow,.section-kicker { color:var(--green); 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(--green); font-style:normal; }
.highlight-orange { color:#d9720f; }
.hero-copy { margin-bottom:23px; color:#34423a; 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:#9aa6a0; 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 #91d3ae; 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:#7a867e; font-size:11px; line-height:1.5; }
/* Hero proof: stats + logos above the fold; Clarity 2026-10-30 showed most ad visitors never scroll past the hero */
.hero-proof { margin:20px 0 0; padding:14px 0 0; border-top:1px solid var(--line); text-align:center; }
.hero-proof__stats { display:grid; grid-template-columns:1fr 1fr; }
.hero-proof__stats p { display:flex; flex-direction:column; gap:4px; margin:0; padding:2px 12px; }
.hero-proof__stats p+p { border-left:1px solid var(--line); }
.hero-proof__stats strong { color:var(--green-dark); font-size:24px; font-weight:850; line-height:1; letter-spacing:-.03em; }
.hero-proof__stats span { color:var(--muted); font-size:11.5px; line-height:1.4; text-wrap:balance; }
.hero-proof__logos { display:flex; justify-content:space-between; align-items:center; gap:8px; margin:18px 0 0; padding:0; list-style:none; }
.hero-proof__logos img { width:auto; height:auto; max-width:54px; max-height:22px; opacity:.5; filter:brightness(0); } /* logos are white (made for the dark about section) */
.hero .hero-copy { margin:20px 0 0; }
.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(--green-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:#9cdbb7; color:var(--green-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:#d6ebe0; font-size:11.5px; line-height:1.6; }
.section { padding:54px 22px; border-top:1px solid #edf1ee; }
.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):not(.offer-sub):not(.solution-trial-note) { 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(--green-soft); color:var(--green); 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(--green); 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(--green); background:var(--green-soft); }
.status-pill--soon { color:#a15b0a; background:#fdecd2; }
.status-pill--tba { color:#6b7670; 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(--green); font-weight:750; }
.relief-section { color:white; background:var(--green-dark); }
.section-kicker.light { color:#94d2af; }
.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:#c8ddd1!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:#f1f7f3; 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(--green-dark); background:#9cdbb7; 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:#d6e7dd!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(--green); 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 #bcdac9; }
.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(--green); 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(--green); 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(--green); }
.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(--green); background:var(--green-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:#536159; 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,#0f6440,#0b442e); 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:#cbe0d3; 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:#e9f5ee; font-size:11px; line-height:1.5; }
.offer-card>ul span { color:#9ce0b9; 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:#bcd8c7; 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:#8fb3a0; }
.light-button { color:var(--green-dark); background:white; }
.offer-note { margin:9px 0 0; text-align:center; color:#bcd8c7; 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(--green); }
.faq-list details p { margin:10px 0 0; color:#536159; font-size:13.5px; line-height:1.65; }
.faq-list details p strong { color:var(--ink); }
.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:#7c8881; font-size:11px; line-height:1.65; display:grid; gap:7px; }
footer { padding:22px; text-align:center; color:#89928d; background:white; border-top:1px solid #edf1ee; font-size:11px; 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;
  }
}
.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(19,43,29,.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(--green); 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(--green); }
.progress-section { background:var(--warm); }
.progress-section h2 { max-width:400px; }
.progress-section .relief-list { display:grid; gap:11px; margin:26px 0 20px; padding:0; list-style:none; }
.progress-section .relief-list li { display:grid; grid-template-columns:27px 1fr; gap:10px; align-items:start; padding:13px 14px; border:1px solid #b7dcc6; border-radius:12px; background:var(--green-soft); color:var(--ink); font-size:12.5px; line-height:1.55; }
.progress-section .relief-list span { width:22px; height:22px; border-radius:50%; display:grid; place-items:center; color:white; background:var(--green); font-size:11px; font-weight:900; }
.progress-section .relief-list strong { display:block; margin-bottom:3px; color:var(--ink); font-size:13.5px; }
.progress-section .relief-list div { color:#2c3a32; }
/* 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(26px,7.85vw,36px); line-height:1.3; letter-spacing:-.035em; text-align:center; margin-inline:auto; }
.hero h1 em { display:inline; margin:0; color:#a3151f; }
.hero .hero-copy { font-size:15.5px; text-align:center; }
.about-title { margin:26px 0 12px; color:white; font-size:15px; font-weight:800; letter-spacing:-.01em; }
.about-caption { margin:22px 0 0!important; font-size:12px!important; line-height:1.55!important; }
.about-team { --s:min(56px,calc((min(100vw,480px) - 44px) / 5.6)); display:flex; margin:0; padding:0; list-style:none; }
.about-team li { overflow:hidden; flex-shrink:0; width:var(--s); height:var(--s); margin-left:calc(var(--s) * -.25); border-radius:50%; box-shadow:0 0 0 2px var(--green-dark); background:var(--green-dark); }
.about-team li:first-child { margin-left:0; }
.about-team img { display:block; width:100%; height:100%; border-radius:50%; object-fit:cover; }
.about-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:26px 0 0; }
.about-stat { position:relative; display:flex; flex-direction:column; gap:6px; padding:14px 10px; border:1px solid rgba(255,255,255,.14); border-radius:12px; background:rgba(255,255,255,.06); text-align:center; }
.about-stat strong { color:white; font-size:26px; font-weight:850; line-height:1; letter-spacing:-.03em; }
.about-stat span,.about-stat__tip { color:#c8ddd1; font-size:11px; line-height:1.4; }
.about-stat__tip { padding:0; border:0; background:none; font:inherit; font-size:11px; line-height:1.4; text-decoration:underline dotted; text-underline-offset:3px; cursor:pointer; }
.about-stat__tip:focus-visible { outline:2px solid #9cdbb7; outline-offset:3px; border-radius:3px; }
.about-tooltip { position:absolute; z-index:2; top:calc(100% + 8px); left:50%; width:210px; padding:10px 12px; border-radius:10px; transform:translateX(-50%); background:white; box-shadow:0 12px 28px rgba(0,0,0,.28); color:var(--ink)!important; font-size:12px!important; font-weight:650; line-height:1.45!important; text-align:left; }
.about-tooltip[hidden] { display:none; }
.about-logos { margin:18px -22px 0; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); }
.about-logos ul { display:flex; align-items:center; width:max-content; margin:0; padding:0; list-style:none; animation:about-scroll 28s linear infinite; }
.about-logos li { flex-shrink:0; display:grid; place-items:center; height:44px; padding:0 22px; }
.about-logos img { width:auto; height:auto; max-width:96px; max-height:30px; opacity:.8; }
@keyframes about-scroll { to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce) { .about-logos ul { animation:none; flex-wrap:wrap; width:auto; justify-content:center; } .about-logos li[aria-hidden] { display:none; } }
.about-copy strong { color:white; font-weight:750; }
.secret-section h2 { font-size:22px; line-height:1.3; }
.secret-list { display:grid; gap:10px; margin:22px 0 0; padding:0; list-style:none; counter-reset:secret; }
.secret-list li { position:relative; counter-increment:secret; padding:14px 16px 14px 52px; border:1px solid var(--line); border-radius:16px; background:white; box-shadow:0 6px 18px rgba(24,47,34,.05); color:#34423a; font-size:13px; line-height:1.6; }
.secret-list li::before { content:counter(secret); position:absolute; left:14px; top:14px; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; color:white; background:var(--green); font-size:12px; font-weight:800; }
.secret-list strong { display:block; margin-bottom:3px; color:var(--ink); font-size:14px; line-height:1.4; }
.hero .eyebrow { max-width:none; margin-inline:auto; text-align:center; white-space:nowrap; font-size:min(11px,calc((min(100vw,480px) - 32px) / 34)); }
.hero .hero-lead { max-width:430px; margin:0 auto 12px; color:var(--green-dark); font-size:13px; font-weight:700; line-height:1.5; text-align:center; }
@media (max-width:359px) { .hero h1 { font-size:7.6vw; } }
.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(24,47,34,.05); color:#34423a; font-size:13px; font-style:italic; line-height:1.6; }
.question-list li::before { content:"\201C"; position:absolute; left:15px; top:9px; color:var(--green); 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(--green-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:#9cdbb7; }
.question-close p { margin:0; color:#d6ebe0; font-size:13px; line-height:1.65; }
.solution-segments { margin:0; color:var(--ink); font-size:14.5px; font-weight:750; }
.solution-video { margin:22px 0 24px; }
.solution-video video { aspect-ratio:1084/696; display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:14px; background:white; }
.solution-video figcaption { margin-top:8px; color:var(--muted); font-size:11.5px; line-height:1.5; text-align:center; }
.solution-video--map video { aspect-ratio:750/476; }
.solution-trial { margin:0 0 10px; }
.solution-trial-note { margin:0 0 26px; color:var(--muted); font-size:11.5px; line-height:1.5; text-align:center; }
.deliverable-tag { display:inline-block; margin-top:7px; padding:3px 8px; border-radius:999px; color:var(--green); background:var(--green-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:var(--ink); font-weight:750; }
.progress-section .relief-list span { font-size:11px; }
.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(--green); 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; }
.section.offer-section>.section-kicker,.section.offer-section>h2,.section.offer-section>.offer-sub,.section.offer-section>.offer-lead { text-align:center; }
.offer-section>p.offer-sub { margin:0 0 14px; color:#000; font-size:20px; font-weight:800; line-height:1.3; letter-spacing:-.02em; }
.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(17,43,31,.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 { display:flex; align-items:baseline; gap:10px; padding:14px 0; border-top:1px solid var(--line); }
.plan-card__price strong { color:#ce1126; font-size:30px; letter-spacing:-.04em; }
.quota { margin:0 0 18px; padding:16px; border:1px solid #f1c3c3; border-radius:16px; background:white; text-align:center; box-shadow:0 6px 18px rgba(24,47,34,.05); }
.quota__title { margin:0 0 10px; color:var(--ink); font-size:clamp(12px,3.7vw,15px); line-height:1.35; white-space:nowrap; }
.quota__title strong { color:#a3151f; font-size:19px; font-weight:850; }
.quota__bar { display:block; width:100%; height:12px; border:0; border-radius:999px; background:#f4e3e3; overflow:hidden; appearance:none; -webkit-appearance:none; }
.quota__bar::-webkit-progress-bar { background:#f4e3e3; border-radius:999px; }
.quota__bar::-webkit-progress-value { background:linear-gradient(90deg,#f28c28,#d9261c); border-radius:999px; }
.quota__bar::-moz-progress-bar { background:linear-gradient(90deg,#f28c28,#d9261c); border-radius:999px; }
.quota__note { margin:10px 0 0; color:var(--muted); font-size:clamp(11px,3.3vw,12.5px); line-height:1.55; white-space:nowrap; }
.quota__note strong { color:#a3151f; }
.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(--green); font-weight:900; }
.plan-card__list li.has-tip { position:relative; cursor:help; }
.has-tip { text-decoration:underline dashed; text-decoration-color:rgba(17,43,31,.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,#0f6440,#0b442e); box-shadow:0 20px 40px rgba(10,70,44,.25); }
.plan-card--plus .plan-card__fit { color:#cbe0d3; }
.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:#8fb3a0; }
.plan-card--plus .plan-card__list li > span { color:#9ce0b9; }
.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; }
.offer-help { max-width:380px; margin:26px auto 0; text-align:center; }
.offer-help__title { margin:0 0 14px; color:var(--ink); font-size:15px; font-weight:750; line-height:1.4; }
.offer-help__actions { display:grid; gap:10px; }
.offer-help__btn { display:flex; align-items:center; justify-content:center; gap:8px; min-height:50px; padding:0 16px; border-radius:12px; font-size:14px; font-weight:800; transition:transform .15s,background .15s; }
.offer-help__btn:active { transform:translateY(1px); }
.offer-help__btn--trial { color:white; background:var(--green); }
.offer-help__btn--trial:hover { background:var(--green-dark); }
.offer-help__btn--wa { border:1px solid #9fdcb6; color:#0b5d36; background:#e9f8ef; }
.offer-help__btn--wa:hover { background:#dcf3e5; }
.offer-help__btn--wa svg { flex-shrink:0; color:#1faa53; }
.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(--green); }
.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(--green-soft); }
.compare-yes { color:var(--green); font-weight:900; }
.compare-no { color:#b4bdb7; }
.compare-price s { display:block; color:#9aa6a0; 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(--green); font-weight:900; }
.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:var(--ink)!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:#bcdac9; }
.works-number { position:relative; z-index:1; border-radius:50%; border:2px solid var(--green); background:var(--warm); }
.works-item:last-child .works-number { color:#fff; background:var(--green); }
.works-tag { display:inline-block; margin:-2px 0 7px; padding:2px 8px; border-radius:999px; color:var(--muted); background:var(--green-soft); font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.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(17,43,31,.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(--green-dark); background:var(--green-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(10,18,14,.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 #bcdac9; border-radius:16px; background:var(--green-soft); }
.proof-more__icon { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; color:white; background:var(--green); }
.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(--green); 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 #91d3ae; 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; }

/* alur program: click-through mockup of the Desk journey */
.button[hidden],.pv-demo[hidden],.pv-panel[hidden] { display:none; }
.preview-section { background:var(--warm); }
.preview-section .pv-open { margin-top:22px; }
.pv-demo { margin-top:26px; }
.pv-steps { display:flex; justify-content:center; gap:8px; margin:0 0 16px; padding:0; list-style:none; }
.pv-steps button { width:40px; height:40px; border:1px solid #c6d3cb; border-radius:50%; background:white; color:var(--muted); font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.pv-steps button[aria-current] { border-color:#f5b52e; background:#f5b52e; color:#14243f; }
.pv-steps button:focus-visible { outline:3px solid #9cdbb7; outline-offset:2px; }
.pv { width:min(100%,310px); margin:0 auto; padding:16px 16px 18px; border:6px solid #07281c; border-radius:30px; background:#f3f7fb; color:#14243f; box-shadow:0 18px 40px rgba(16,23,19,.14); }
.pv-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.pv-brand { display:inline-flex; align-items:center; gap:3px; font-size:15px; font-weight:850; letter-spacing:-.02em; }
.pv-brand i { width:5px; height:5px; border-radius:50%; background:#e5484d; }
.pv-brand i+i { margin-right:4px; background:var(--green); }
.pv-program { color:#5b6b82; font-size:10.5px; font-weight:700; }
.pv-route { display:flex; align-items:center; gap:8px; margin:14px 0 16px; color:#5b6b82; font-size:10px; font-weight:800; letter-spacing:.08em; }
.pv-track { position:relative; flex:1; margin:0 6px; height:2px; background:repeating-linear-gradient(90deg,#b9c6d6 0 4px,transparent 4px 8px); }
.pv-plane { position:absolute; top:50%; left:0; width:12px; height:12px; border-radius:50%; background:#f5b52e; box-shadow:0 0 0 3px #f3f7fb; transform:translate(-50%,-50%); transition:left .3s; }
.pv[data-step="2"] .pv-plane { left:20%; }
.pv[data-step="3"] .pv-plane { left:40%; }
.pv[data-step="4"] .pv-plane { left:60%; }
.pv[data-step="5"] .pv-plane { left:80%; }
.pv[data-step="6"] .pv-plane { left:100%; }
.pv-panel { padding-top:14px; border-top:1px dashed #b9c6d6; font-size:12px; line-height:1.55; }
.pv-panel p { margin:0 0 10px; color:#5b6b82; }
.pv-panel h3 { margin:0 0 6px; font-size:16px; line-height:1.25; letter-spacing:-.02em; }
.pv-panel .pv-label { margin:0 0 6px; color:#8895a8; font-size:10px; font-weight:800; letter-spacing:.12em; }
.pv-panel .pv-small { font-size:11px; }
.pv-checks,.pv-notes { display:grid; gap:7px; margin:0 0 14px; padding:0; list-style:none; }
.pv-checks li { position:relative; padding:8px 10px 8px 32px; border:1px solid #dbe4ee; border-radius:10px; background:white; font-size:11.5px; }
.pv-checks li::before { content:""; position:absolute; top:50%; left:10px; width:14px; height:14px; border:1.5px solid #b9c6d6; border-radius:50%; transform:translateY(-50%); }
.pv-checks li.is-done::before { border-color:var(--green); background:var(--green); }
.pv-checks li.is-done::after { content:""; position:absolute; top:50%; left:15px; width:4px; height:7px; border:solid white; border-width:0 1.5px 1.5px 0; transform:translateY(-62%) rotate(45deg); }
.pv-file { display:flex; justify-content:space-between; gap:8px; margin-bottom:10px; padding:9px 10px; border:1px dashed #b9c6d6; border-radius:10px; background:white; font-size:11.5px; font-weight:700; }
.pv-file span { color:var(--green); font-weight:600; }
.pv-score { display:flex; align-items:center; gap:12px; margin-bottom:10px; padding:11px 12px; border-radius:12px; background:#fff3d6; }
.pv-score strong { font-size:26px; font-weight:850; line-height:1; letter-spacing:-.03em; }
.pv-score span { display:grid; gap:1px; color:#5b6b82; font-size:11px; }
.pv-score em { color:#a15b0a; font-style:normal; font-weight:800; }
.pv-score--up { background:var(--green-soft); }
.pv-score--up em { color:var(--green); }
.pv-notes li { position:relative; padding-left:14px; color:#14243f; font-size:11.5px; }
.pv-notes li::before { content:""; position:absolute; top:.6em; left:2px; width:5px; height:5px; border-radius:50%; background:#f5b52e; }
.pv-panel .pv-confirm { display:flex; align-items:center; gap:8px; margin-bottom:10px; color:#14243f; font-size:11.5px; font-weight:650; }
.pv-confirm b { flex:none; width:16px; height:16px; border-radius:4px; display:grid; place-items:center; color:white; background:var(--green); font-size:11px; }
.pv-stats { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:10px; }
.pv-stats div { padding:10px; border:1px solid #dbe4ee; border-radius:10px; background:white; color:#5b6b82; font-size:10.5px; line-height:1.4; }
.pv-stats strong { display:block; color:#14243f; font-size:22px; line-height:1.1; }
.pv-weeks { display:flex; gap:6px; margin-bottom:10px; }
.pv-weeks i { flex:1; height:8px; border-radius:4px; background:#dbe4ee; }
.pv-weeks i.on { background:var(--green); }
.pv-chat { margin-bottom:10px; }
.pv-chat span { display:block; padding:9px 11px; border-radius:12px 12px 2px 12px; background:#dcf8c6; color:#14243f; font-size:11.5px; line-height:1.5; }
.pv-goal { margin-bottom:14px; padding:14px; border-radius:12px; background:#fff3d6; color:#5b6b82; font-size:11.5px; text-align:center; }
.pv-goal strong { display:block; margin-bottom:2px; color:#14243f; font-size:14px; }
.pv-action { width:100%; min-height:44px; border:0; border-radius:12px; background:#f5b52e; box-shadow:0 3px 0 #c98f12; color:#14243f; font:inherit; font-size:13px; font-weight:850; cursor:pointer; }
.pv-action:active { transform:translateY(2px); box-shadow:0 1px 0 #c98f12; }
.pv-action:focus-visible { outline:3px solid #14243f; outline-offset:2px; }
.pv-action--ghost { border:1px solid #b9c6d6; background:white; box-shadow:none; }
.pv-action--ghost:active { transform:none; }
.pv-note { margin:14px 0 0; color:var(--muted); font-size:11px; line-height:1.5; text-align:center; }
@media (prefers-reduced-motion:reduce) { .pv-plane { transition:none; } }

/* benefit cards: slow, faint glow, staggered */
@keyframes benefit-glow { 0%,100% { box-shadow:0 0 0 0 rgba(17,107,70,0); } 50% { box-shadow:0 0 16px 1px rgba(17,107,70,.2); } }
.progress-section .relief-list li { animation:benefit-glow 4s ease-in-out infinite; }
.progress-section .relief-list li:nth-child(2) { animation-delay:.9s; }
.progress-section .relief-list li:nth-child(3) { animation-delay:1.8s; }
.progress-section .relief-list li:nth-child(4) { animation-delay:2.7s; }
@media (prefers-reduced-motion:reduce) { .progress-section .relief-list li { animation:none; } }
/* Hero CTA copy is long; shared minergi-menu.css sets .button nowrap, so let it wrap on narrow phones */
.hero .button { white-space:normal; text-wrap:balance; line-height:1.3; padding-block:10px; }
