
:root { --paper:#FBF7EF; --card:#FFFFFF; --ink:#1D2230; --muted:#5E6472; --red:#C4161C; --red-dark:#A11117; --line:#E9E1D2; --blue:#DCE6F2; }
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:'Inter',system-ui,sans-serif; color:var(--ink); background:var(--paper); line-height:1.6; font-size:17px; -webkit-font-smoothing:antialiased; }
body::before { content:''; position:fixed; top:0; bottom:0; left:max(14px, calc(50% - 600px)); width:3px; background:var(--red); opacity:.85; z-index:0; pointer-events:none; }
a { color:inherit; }
.wrap { max-width:1120px; margin:0 auto; padding:0 24px 0 40px; position:relative; z-index:1; }
h1,h2,h3 { font-family:'Newsreader',Georgia,serif; line-height:1.12; letter-spacing:-.4px; }
h2 { font-size:clamp(30px,4.2vw,44px); margin-bottom:14px; }
.lead { color:var(--muted); font-size:19px; max-width:640px; }
section { padding:72px 0; }
.eyebrow { font-size:13px; letter-spacing:2.4px; text-transform:uppercase; color:var(--red); font-weight:700; margin-bottom:14px; }

/* header */
header { position:sticky; top:0; z-index:20; background:var(--hdr); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.nav { display:flex; align-items:center; gap:22px; height:66px; }
.brand { font-family:'Newsreader',serif; font-weight:700; font-size:24px; text-decoration:none; white-space:nowrap; }
.brand .wm > span { color:var(--red); font-style:italic; font-weight:400; }
.brand { display:flex; align-items:center; gap:10px; } .brand .mark { width:40px; height:40px; flex:none; }
.chat-head .avatar { width:42px; height:42px; flex:none; border-radius:50%; background:#F3DCD6; box-shadow:0 0 0 2px rgba(255,255,255,.85); } .chat-head > div { display:flex; gap:10px; align-items:center; }
@media (max-width:480px) { .brand .mark { width:32px; height:32px; } }
.nav nav { display:flex; gap:22px; margin-left:auto; }
.nav nav a { text-decoration:none; color:var(--muted); font-size:15px; font-weight:500; white-space:nowrap; }
header .lang, header .btn { flex:none; }
.nav nav { gap:15px; } .nav nav a { font-size:14px; }

.nav nav a:hover { color:var(--ink); }
.lang { display:flex; border:1px solid var(--line); border-radius:999px; overflow:hidden; background:var(--card); }
.lang button, .lang a { border:0; background:none; padding:6px 11px; font:600 13px 'Inter'; color:var(--muted); cursor:pointer; text-decoration:none; }
.lang button.on, .lang a.on { background:var(--ink); color:#fff; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:var(--red); color:#fff; text-decoration:none; font-weight:600; border-radius:12px; padding:15px 24px; font-size:17px; border:0; cursor:pointer; transition:background .15s; }
.btn:hover { background:var(--red-dark); }
.btn.ghost { background:transparent; color:var(--ink); border:1.5px solid var(--ink); }
.btn.ghost:hover { background:var(--ink); color:#fff; }
.btn.sm { padding:9px 16px; font-size:15px; border-radius:10px; }

@media (max-width: 480px) { .nav { gap:10px; } .brand { font-size:20px; } .lang button, .lang a { padding:5px 8px; font-size:12px; } .btn.sm { padding:8px 12px; font-size:14px; } .wrap { padding:0 18px 0 30px; } }

/* hero */
.hero { padding:56px 0 40px; }
.hero-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:48px; align-items:center; }
.hero h1 { font-size:clamp(40px,5.6vw,64px); margin-bottom:20px; }
.hero h1 em { color:var(--red); font-weight:400; }
.hero .lead { margin-bottom:26px; }
.ctas { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:22px; }
.spots { display:inline-flex; align-items:center; gap:10px; background:var(--card); border:1px solid var(--line); border-radius:999px; padding:8px 16px; font-size:15px; }
.spots b { color:var(--red); }
.dot { width:9px; height:9px; border-radius:50%; background:var(--red); box-shadow:0 0 0 0 rgba(196,22,28,.5); animation:pulse 2s infinite; }
@keyframes pulse { 70% { box-shadow:0 0 0 9px rgba(196,22,28,0); } 100% { box-shadow:0 0 0 0 rgba(196,22,28,0); } }
.video { border-radius:16px; overflow:hidden; box-shadow:0 24px 60px rgba(29,34,48,.16); background:var(--card); aspect-ratio:16/9; }
.video video { width:100%; height:100%; display:block; object-fit:cover; }
@media (max-width: 860px) { .hero-grid { grid-template-columns:1fr; gap:32px; } }

/* trust */
.trust { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding:8px 0 0; }
.trust div { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px 18px; font-size:15px; color:var(--muted); }
.trust b { display:block; font-family:'Newsreader',serif; font-size:24px; color:var(--ink); }
@media (max-width: 860px) { .trust { grid-template-columns:1fr 1fr; } }

/* steps */
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:34px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:26px; }
.step .n { font-family:'Newsreader',serif; font-size:44px; color:var(--red); font-weight:700; line-height:1; }
.step h3 { font-size:24px; margin:12px 0 8px; }
.step p { color:var(--muted); }
@media (max-width: 860px) { .steps { grid-template-columns:1fr; } }

/* sample */
.split { display:grid; grid-template-columns:1.25fr 1fr; gap:44px; align-items:center; }
.split img { width:100%; border-radius:14px; box-shadow:0 18px 50px rgba(29,34,48,.12); display:block; }
.ticks { list-style:none; margin-top:20px; }
.ticks li { padding:9px 0 9px 34px; position:relative; border-bottom:1px dashed var(--line); }
.ticks li::before { content:'✓'; position:absolute; left:4px; color:var(--red); font-weight:700; }
@media (max-width: 860px) { .split { grid-template-columns:1fr; } }

/* quiz */
.quiz { max-width:760px; margin-top:28px; }
.q-progress { height:6px; background:var(--line); border-radius:99px; overflow:hidden; margin-bottom:22px; }
.q-progress div { height:100%; background:var(--red); width:0; transition:width .3s; }
.q-count { font-size:14px; color:var(--muted); margin-bottom:6px; }
.q-text { font-family:'Newsreader',serif; font-size:26px; line-height:1.3; margin-bottom:20px; }
.q-opts { display:grid; gap:10px; }
.q-opts button { text-align:left; background:var(--paper); border:1.5px solid var(--line); border-radius:12px; padding:14px 18px; font:500 18px 'Inter'; color:var(--ink); cursor:pointer; }
.q-opts button:hover:not(:disabled) { border-color:var(--ink); }
.q-opts button.right { border-color:#2E7D4F; background:#EAF5EE; }
.q-opts button.wrong { border-color:var(--red); background:#FBECEC; }
.q-opts button:disabled { cursor:default; }
.q-expl { margin-top:16px; padding:14px 18px; border-left:3px solid var(--red); background:var(--paper); border-radius:0 10px 10px 0; display:none; }
.q-next { margin-top:18px; display:none; }
.q-result h3 { font-size:34px; margin-bottom:10px; }
.q-result .score { font-family:'Newsreader',serif; font-size:72px; color:var(--red); font-weight:700; line-height:1; margin-bottom:12px; }
.q-result p { color:var(--muted); margin-bottom:20px; }
.small { font-size:14px; color:var(--muted); }

/* pricing */
.prices { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:34px; }
.price { display:flex; flex-direction:column; position:relative; }
.price.best { border:2px solid var(--red); }
.price .tag { position:absolute; top:-13px; left:24px; background:var(--red); color:#fff; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:4px 10px; border-radius:99px; }
.price h3 { font-size:24px; }
.price .amount { font-family:'Newsreader',serif; font-size:52px; font-weight:700; margin:8px 0 2px; }
.price .amount small { font-family:'Inter'; font-size:15px; color:var(--muted); font-weight:500; margin-left:6px; }
.price ul { list-style:none; margin:16px 0 22px; flex:1; }
.price li { padding:7px 0 7px 26px; position:relative; color:var(--muted); font-size:16px; }
.price li::before { content:'✓'; position:absolute; left:0; color:var(--red); font-weight:700; }
.fee { margin-top:18px; }
@media (max-width: 860px) { .prices { grid-template-columns:1fr; } }
.price li.kitli { color:var(--ink); font-weight:600; } .price li.kitli::before { content:'🎁'; font-weight:400; }
.shop { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:34px; } .prod .trycourse { margin-top:10px; } @media (max-width:1100px) { .shop { grid-template-columns:1fr 1fr; } }
.prod { padding:0; overflow:hidden; display:flex; flex-direction:column; } .prod img { width:100%; aspect-ratio:1200/860; object-fit:cover; display:block; background:#F1EBDF; border-bottom:1px solid var(--line); }
.prod .pb { padding:22px 24px 24px; display:flex; flex-direction:column; flex:1; position:relative; } .prod h3 { font-size:24px; margin:8px 0 4px; } .prod .pdesc { color:var(--muted); }
.prod ul { list-style:none; margin:14px 0 20px; flex:1; } .prod li { padding:5px 0 5px 26px; position:relative; color:var(--muted); } .prod li::before { content:'✓'; position:absolute; left:0; color:var(--red); font-weight:700; }
.prod .tag { position:static; align-self:flex-start; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:4px 10px; border-radius:999px; } .prod .tag.free { background:#E7F4EC; color:#1F5C38; } .prod .tag.new { background:var(--red); color:#fff; }
.btn.buy[aria-disabled="true"] { background:#D9D3C7; border-color:#D9D3C7; color:#5E6472; pointer-events:none; }
@media (max-width: 860px) { .shop { grid-template-columns:1fr; } }
.live { display:grid; grid-template-columns:1.25fr 1fr; gap:24px; margin-top:34px; align-items:start; }
.lsteps ol { list-style:none; counter-reset:l; margin-top:14px; } .lsteps li { counter-increment:l; position:relative; padding:10px 0 10px 46px; border-bottom:1px dashed var(--line); }
.lsteps li::before { content:counter(l); position:absolute; left:0; top:12px; width:30px; height:30px; border-radius:50%; background:var(--red); color:#fff; font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center; }
.lsteps li b { display:block; } .lsteps li span { color:var(--muted); font-size:15.5px; } .lnote { margin-top:16px; font-size:14.5px; color:var(--muted); }
.lprices { display:grid; gap:12px; } .lp { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:18px 22px; } .lp b { display:block; font-size:17px; } .lp span { color:var(--muted); font-size:14.5px; }
.lp .amount { font-family:'Newsreader',serif; font-weight:700; font-size:34px; white-space:nowrap; } .lp .amount small { font-family:'Inter'; font-size:13px; color:var(--muted); font-weight:500; margin-left:4px; }
.lp.best { border:2px solid var(--red); } .livebtn { justify-content:center; text-align:center; }
@media (max-width: 860px) { .live { grid-template-columns:1fr; } }
.legal-links { display:flex; gap:18px; flex-wrap:wrap; margin-top:10px; } .legal-links a { color:var(--muted); }

/* about */
.about-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:44px; align-items:center; }
.about-grid p { margin-bottom:14px; }
.proof { background:var(--card); border-radius:14px; padding:14px; box-shadow:0 18px 50px rgba(29,34,48,.12); }
.proof img { width:100%; display:block; border-radius:6px; }
.proof figcaption { font-size:13px; color:var(--muted); margin-top:10px; }
@media (max-width: 860px) { .about-grid { grid-template-columns:1fr; } }

/* faq */
.faq { max-width:820px; margin-top:26px; }
.faq details { background:var(--card); border:1px solid var(--line); border-radius:14px; margin-bottom:12px; }
.faq summary { cursor:pointer; padding:18px 22px; font-weight:600; list-style:none; display:flex; justify-content:space-between; gap:16px; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:'+'; color:var(--red); font-size:22px; line-height:1; }
.faq details[open] summary::after { content:'−'; }
.faq details p { padding:0 22px 18px; color:var(--muted); }

/* final cta */
.final { text-align:center; }
.final h2 { max-width:720px; margin:0 auto 14px; }
.final .lead { margin:0 auto 26px; }

footer { border-top:1px solid var(--line); padding:34px 0 120px; font-size:14px; color:var(--muted); }
footer .row { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
footer a { color:var(--ink); }

/* video sound */
.video { position:relative; }
.sound { position:absolute; left:14px; bottom:14px; background:rgba(29,34,48,.85); color:#fff; border:0; border-radius:999px; padding:9px 14px; font:600 14px 'Inter'; display:flex; gap:8px; align-items:center; cursor:pointer; }
.sound svg { width:18px; height:18px; }

/* journey */
.journey { background:linear-gradient(180deg, transparent, rgba(196,22,28,.04)); }
.map { margin-top:28px; background:var(--card); border:1px solid var(--line); border-radius:20px; padding:10px; overflow:hidden; }
.map svg { width:100%; height:auto; display:block; } .map { padding:22px 10px 10px; }
.route { fill:none; stroke:var(--red); stroke-width:1.8; stroke-dasharray:5 7; opacity:.75; animation:flow 2.2s linear infinite; }
@keyframes flow { to { stroke-dashoffset:-24; } }
.city circle { fill:var(--ink); } .city text { font:500 13px 'Inter'; fill:var(--ink); }
.facts { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:18px; }
.facts div { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px 18px; font-size:15px; color:var(--muted); }
.facts b { display:block; font-family:'Newsreader',serif; font-size:26px; color:var(--red); }
@media (max-width: 860px) { .facts { grid-template-columns:1fr; } .map svg { min-width:0; } }


.flow { display:grid; grid-template-columns:1fr 34px 1fr 34px 1fr; align-items:center; margin-top:30px; }
.fcard { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:18px; box-shadow:0 14px 40px rgba(29,34,48,.07); height:100%; }
.fhead { display:flex; align-items:center; gap:10px; margin-bottom:14px; font-size:15px; }
.fnum { width:26px; height:26px; border-radius:50%; background:var(--red); color:#fff; font:700 13px/26px 'Inter'; text-align:center; }
.farrow { height:2px; border-top:2px dashed var(--red); position:relative; opacity:.7; }
.farrow::after { content:''; position:absolute; right:-2px; top:-7px; border:6px solid transparent; border-left:8px solid var(--red); }
.paper { background:var(--paper); border-radius:10px; padding:10px 14px 10px 26px; position:relative; font-family:'Newsreader',serif; font-size:15px; line-height:2; background-image:repeating-linear-gradient(to bottom, transparent 0 29px, var(--blue) 29px 30px); }
.paper::before { content:''; position:absolute; left:14px; top:0; bottom:0; width:2px; background:var(--red); }
.paper p { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.paper s { text-decoration-color:var(--red); text-decoration-thickness:2px; color:var(--muted); }
.paper em { color:var(--red); }
.scorecard { background:var(--ink); color:#fff; border-radius:12px; padding:14px 16px; }
.sc-row { display:flex; justify-content:space-between; align-items:baseline; font-size:14px; opacity:.95; }
.sc-row b { font-family:'Newsreader',serif; font-size:26px; } .sc-row b.red { color:#FF7A7A; }
.bar { height:8px; background:rgba(255,255,255,.15); border-radius:9px; margin:8px 0 12px; overflow:hidden; } .bar i { display:block; height:100%; background:#FF7A7A; border-radius:9px; }
.chipsr { display:flex; gap:6px; flex-wrap:wrap; margin-top:10px; } .chipsr span { font-size:12px; background:rgba(255,255,255,.12); padding:4px 9px; border-radius:99px; }
.pass { display:flex; border-radius:12px; overflow:hidden; border:1px solid var(--line); }
.pass-l { flex:1; padding:12px 14px; background:var(--paper); }
.pass-l small { display:block; font-size:10.5px; letter-spacing:1.6px; color:var(--muted); }
.pass .route { display:flex; align-items:center; gap:10px; margin:6px 0 10px; font-family:'Newsreader',serif; font-size:22px; }
.pass .route span { color:var(--red); font-size:18px; }
.pass-meta { display:flex; gap:22px; } .pass-meta b { font-size:15px; }
.pass-r { width:74px; background:var(--card); border-left:2px dashed var(--line); display:flex; align-items:center; justify-content:center; }
.pass-r svg { width:42px; height:42px; }
@media (max-width: 960px) { .flow { grid-template-columns:1fr; gap:0; } .farrow { width:0; height:30px; border-top:0; border-left:2px dashed var(--red); margin:0 auto; } .farrow::after { left:-7px; right:auto; top:auto; bottom:-10px; border:6px solid transparent; border-top:8px solid var(--red); } }


/* support form */
.support { display:grid; grid-template-columns:1fr 1.1fr; gap:40px; align-items:start; }
.cform { display:grid; gap:14px; } .cform[hidden] { display:none; }
.cform label { display:grid; gap:6px; font-size:14px; font-weight:600; }
.cform input, .cform select, .cform textarea { font:400 16px 'Inter'; color:var(--ink); border:1.5px solid var(--line); border-radius:12px; padding:11px 13px; background:var(--card); outline:none; width:100%; }
.cform input:focus, .cform select:focus, .cform textarea:focus { border-color:var(--ink); }
.row2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.cstatus { font-size:15px; min-height:1.2em; } .cstatus.ok { color:#2E7D4F; } .cstatus.err { color:var(--red); }
.csent { text-align:center; padding:40px 30px; display:flex; flex-direction:column; align-items:center; gap:10px; } .csent[hidden] { display:none; }
.csent-ic { width:64px; height:64px; border-radius:50%; background:#E7F4EC; color:#2E7D4F; display:flex; align-items:center; justify-content:center; margin-bottom:6px; } .csent-ic svg { width:34px; height:34px; }
.csent h3 { font-size:28px; } .csent p { color:var(--muted); max-width:420px; } .csent .btn { margin-top:8px; }
@media (max-width: 860px) { .support, .row2 { grid-template-columns:1fr; } }
/* compare */
.cmp { width:100%; border-collapse:separate; border-spacing:0; margin-top:28px; background:var(--card); border:1px solid var(--line); border-radius:18px; overflow:hidden; font-size:16px; }
.cmp th, .cmp td { padding:15px 18px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }
.cmp tr:last-child td { border-bottom:0; }
.cmp thead th { font-family:'Newsreader',serif; font-size:19px; background:var(--paper); }
.cmp th.mr, .cmp td.mr { background:#FDF0F0; border-left:2px solid var(--red); border-right:2px solid var(--red); }
.cmp thead th.mr { color:var(--red); border-top:2px solid var(--red); }
.cmp tr:last-child td.mr { border-bottom:2px solid var(--red); border-bottom-right-radius:17px; }
.cmp thead th.mr { border-top-right-radius:17px; }
.cmp th.mr, .cmp td.mr { border-right:0 !important; }
.cmp { border-color:var(--red); }
.cmp td:first-child { font-weight:600; width:30%; }
.yes { color:#2E7D4F; font-weight:700; } .no { color:#9AA0AA; } .mid { color:var(--muted); }
.cmp-wrap { overflow-x:auto; }
@media (max-width: 700px) {
  .cmp thead { display:none; }
  .cmp, .cmp tbody, .cmp tr, .cmp td { display:block; width:100%; }
  .cmp tr { border-bottom:1px solid var(--line); padding:12px 14px; }
  .cmp td { border:0 !important; padding:4px 0 !important; background:none !important; width:auto !important; }
  .cmp td:first-child { font-family:'Newsreader',serif; font-size:17px; padding-bottom:6px !important; }
  .cmp td[data-l]::before { content:attr(data-l) ': '; color:var(--muted); font-weight:500; }
  .cmp td.mr { color:var(--ink); font-weight:600; } .cmp td.mr::before { color:var(--red) !important; font-weight:700 !important; }
}

/* socials */
.socials { display:flex; gap:10px; }
.socials a { width:40px; height:40px; border-radius:12px; background:var(--card); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--ink); }
.socials a:hover { color:var(--red); border-color:var(--red); }
.socials svg { width:20px; height:20px; }

/* chatbot */
.chat-btn { position:fixed; right:20px; bottom:80px; z-index:40; width:60px; height:60px; border-radius:50%; border:0; background:var(--red); color:#fff; cursor:pointer; box-shadow:0 10px 30px rgba(196,22,28,.35); display:flex; align-items:center; justify-content:center; }
.chat-btn svg { width:28px; height:28px; }
.chat { position:fixed; right:20px; bottom:152px; z-index:40; width:min(380px, calc(100vw - 40px)); max-height:min(560px, calc(100vh - 180px)); background:var(--card); border-radius:18px; box-shadow:0 24px 70px rgba(29,34,48,.25); display:none; flex-direction:column; overflow:hidden; }
.chat.open { display:flex; }
.chat-head { background:var(--ink); color:#fff; padding:16px 18px; display:flex; justify-content:space-between; align-items:center; }
.chat-head b { font-family:'Newsreader',serif; font-size:19px; }
.chat-head button { background:none; border:0; color:#fff; font-size:24px; cursor:pointer; line-height:1; }
.chat-body { padding:16px; overflow-y:auto; display:flex; flex-direction:column; gap:10px; flex:1; }
.msg { max-width:88%; padding:10px 14px; border-radius:14px; font-size:15px; line-height:1.45; }
.msg.bot { background:var(--paper); align-self:flex-start; border-bottom-left-radius:4px; }
.msg .sugg { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.msg .sugg button { font:500 13px 'Inter',sans-serif; background:var(--card); border:1px solid var(--line); color:var(--ink); border-radius:999px; padding:6px 11px; cursor:pointer; text-align:left; }
.msg .sugg button:hover { border-color:var(--red); color:var(--red); }
.msg.me { background:var(--red); color:#fff; align-self:flex-end; border-bottom-right-radius:4px; }
.typing span { display:inline-block; width:7px; height:7px; margin:0 2px; border-radius:50%; background:var(--muted); animation:bounce 1s infinite; }
.typing span:nth-child(2) { animation-delay:.15s; } .typing span:nth-child(3) { animation-delay:.3s; }
@keyframes bounce { 0%,60%,100% { transform:translateY(0); opacity:.5; } 30% { transform:translateY(-4px); opacity:1; } }
.chat-form { display:flex; gap:8px; padding:10px 12px 12px; border-top:1px solid var(--line); }
.chat-form input { flex:1; border:1.5px solid var(--line); border-radius:12px; padding:10px 12px; font:400 15px 'Inter'; color:var(--ink); outline:none; }
.chat-form input:focus { border-color:var(--ink); }
.chat-form button { border:0; background:var(--red); color:#fff; border-radius:12px; width:44px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.chat-form button svg { width:20px; height:20px; }
.chat-head small { display:block; font:400 12px 'Inter'; opacity:.75; }
.chips { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:8px; padding:10px 12px 4px; border-top:1px solid var(--line); max-height:none; overflow-y:auto; flex:none; }
.chat-body { min-height:160px; }
.chips button, .chiplink { white-space:nowrap; flex:none; }
.chips button { background:var(--card); border:1.5px solid var(--line); border-radius:999px; padding:7px 12px; font:500 14px 'Inter'; cursor:pointer; color:var(--ink); }
.chips button:hover { border-color:var(--red); color:var(--red); }
.chiplink { background:var(--red); color:#fff; border-radius:999px; padding:7px 12px; font:600 14px 'Inter'; text-decoration:none; }

/* ================= v2: multi-page layout ================= */
:root { --hdr:rgba(251,247,239,.94); --soft:#F4EEE2; --ok:#1E7A46; --focus:#2F6FDB; }
html.dark { --paper:#14161C; --card:#1D2029; --ink:#ECE7DD; --muted:#A9AEB9; --red:#E5484D; --red-dark:#C83A3F; --line:#2E323D; --blue:#22324A; --hdr:rgba(20,22,28,.94); --soft:#1A1D25; --ok:#5FD18F; }
html.dark img:not(.keep) { filter:brightness(.92); }
html.dark .paper, html.dark .pass, html.dark .scorecard { color:#1D2230; }
html.a-contrast { --muted:#2A2F3A; --line:#8C8577; }
html.dark.a-contrast { --muted:#D9DCE2; --line:#7C8292; --ink:#FFFFFF; }
html[data-size="2"] { font-size:112.5%; } html[data-size="2"] body { font-size:19px; }
html[data-size="3"] { font-size:125%; } html[data-size="3"] body { font-size:21px; }
html.a-font body, html.a-font h1, html.a-font h2, html.a-font h3, html.a-font button, html.a-font input, html.a-font textarea, html.a-font select { font-family:'Atkinson Hyperlegible', Verdana, sans-serif !important; letter-spacing:.2px; }
html.a-spacing body { line-height:1.95; } html.a-spacing p, html.a-spacing li { word-spacing:.12em; }
html.a-links main a:not(.btn), html.a-links footer a { text-decoration:underline !important; text-underline-offset:3px; }
html.a-motion *, html.a-motion *::before, html.a-motion *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; } }
:focus-visible { outline:3px solid var(--focus); outline-offset:2px; border-radius:6px; }
.skip { position:absolute; left:12px; top:-60px; background:var(--ink); color:var(--paper); padding:10px 16px; border-radius:10px; z-index:100; text-decoration:none; font-weight:600; }
.skip:focus { top:10px; }
main:focus { outline:none; }
.center { text-align:center; } .muted { color:var(--muted); }
section.tight { padding:26px 0 8px; }

/* header */
header { background:var(--hdr); }
.nav { gap:14px; }
.mainnav { display:flex; align-items:center; gap:2px; margin-left:8px; flex:1; }
.mainnav .top { font:inherit; font-size:15px; font-weight:600; color:var(--ink); background:none; border:0; padding:9px 11px; border-radius:10px; text-decoration:none; cursor:pointer; display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
.mainnav .top:hover, .mainnav .dd.open > .top { background:var(--soft); }
.mainnav .top[aria-current] { color:var(--red); }
.mainnav .chev { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; transition:transform .15s; }
.dd { position:relative; }
.dd.open .chev { transform:rotate(180deg); }
.ddm { position:absolute; top:calc(100% + 8px); left:-6px; min-width:300px; background:var(--card); border:1px solid var(--line); border-radius:16px; box-shadow:0 18px 50px rgba(29,34,48,.16); padding:8px; display:none; z-index:40; }
.dd.open .ddm { display:block; }
.dd:hover .ddm { display:block; }
.ddm::before { content:''; position:absolute; left:0; right:0; top:-10px; height:10px; }
.ddm a, .mpanel a:not(.btn) { display:block; text-decoration:none; padding:10px 12px; border-radius:11px; }
.ddm a:hover, .mpanel a:not(.btn):hover { background:var(--soft); }
.ddm b, .mpanel a b { display:block; font-size:15px; } .ddm small, .mpanel a small { display:block; color:var(--muted); font-size:13px; line-height:1.4; }
.nb { display:inline-block; margin-left:6px; font-size:10.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:var(--ok); background:rgba(30,122,70,.12); padding:2px 6px; border-radius:6px; vertical-align:2px; }
.tools { display:flex; align-items:center; gap:6px; margin-left:auto; }
.ic { width:40px; height:40px; border-radius:12px; border:1px solid var(--line); background:var(--card); color:var(--ink); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; flex:none; }
.ic svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ic:hover { border-color:var(--red); color:var(--red); }
.mobonly { display:none; }
.lang a[aria-current] { background:var(--ink); color:var(--paper); }
.mpanel { border-top:1px solid var(--line); background:var(--paper); max-height:calc(100vh - 66px); overflow:auto; }
.mgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px 24px; padding-top:16px; padding-bottom:18px; }
.mh { font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--red); font-weight:700; margin:6px 12px; }
.mfoot { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid var(--line); padding-top:14px; }
@media (max-width:1180px) { .mainnav .top { padding:9px 8px; font-size:14.5px; } .mainnav .nb { display:none; } }
@media (max-width:1080px) { .mainnav, .deskonly { display:none !important; } .mobonly { display:inline-flex; } }
@media (max-width:700px) { .mgrid { grid-template-columns:1fr; } .ic { width:38px; height:38px; } }
header .lang, header .btn { flex:none; }

/* modals */
.modal { position:fixed; inset:0; z-index:90; background:rgba(15,17,22,.55); display:flex; align-items:flex-start; justify-content:center; padding:6vh 16px; overflow:auto; }
.modal[hidden] { display:none; }
.mbox { background:var(--card); color:var(--ink); border-radius:20px; width:min(460px,100%); padding:22px 24px 24px; box-shadow:0 30px 80px rgba(0,0,0,.3); }
.mbox.wide { width:min(720px,100%); }
.mhead { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:10px; }
.mhead h2 { font-size:24px; margin:0; }
.x { font-size:28px; line-height:1; background:none; border:0; color:var(--muted); cursor:pointer; width:40px; height:40px; border-radius:10px; }
.x:hover { background:var(--soft); color:var(--ink); }
.mlabel { font-weight:700; font-size:14px; margin:12px 0 6px; }
.seg { display:flex; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.seg button { flex:1; font:inherit; font-size:14px; padding:9px 6px; background:var(--card); color:var(--ink); border:0; border-right:1px solid var(--line); cursor:pointer; }
.seg button:last-child { border-right:0; }
.seg button[aria-checked="true"] { background:var(--ink); color:var(--paper); font-weight:700; }
.tog { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); cursor:pointer; }
.tog b { display:block; font-size:15px; } .tog small { color:var(--muted); font-size:13px; }
.tog input { position:absolute; opacity:0; width:1px; height:1px; }
.tog i { width:44px; height:26px; border-radius:20px; background:var(--line); position:relative; flex:none; transition:background .15s; }
.tog i::after { content:''; position:absolute; left:3px; top:3px; width:20px; height:20px; border-radius:50%; background:#fff; transition:left .15s; box-shadow:0 1px 3px rgba(0,0,0,.25); }
.tog input:checked + i { background:var(--ok); } .tog input:checked + i::after { left:21px; }
.tog input:focus-visible + i { outline:3px solid var(--focus); outline-offset:2px; }
.mnote { margin:14px 0 12px; }
#searchIn { width:100%; font:inherit; font-size:18px; padding:13px 16px; border-radius:14px; border:1.5px solid var(--line); background:var(--paper); color:var(--ink); }
#searchIn:focus { border-color:var(--red); outline:none; }
.sres { list-style:none; margin:12px 0; max-height:55vh; overflow:auto; }
.sres li a { display:block; padding:11px 12px; border-radius:12px; text-decoration:none; }
.sres li a:hover, .sres li a:focus { background:var(--soft); }
.sres b { display:block; } .sres small { color:var(--muted); display:block; font-size:13.5px; line-height:1.45; }
.sres mark { background:rgba(196,22,28,.15); color:inherit; border-radius:3px; }
.buyframe { min-height:120px; margin:10px 0; }
.buyframe iframe { width:100%; border:0; }
.vidlink { margin-top:18px; display:inline-flex; align-items:center; gap:10px; background:none; border:0; font:inherit; font-weight:600; color:var(--ink); cursor:pointer; padding:6px 0; }
.vidlink .play { width:34px; height:34px; border-radius:50%; background:var(--red); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:12px; }
#vid { width:100%; border-radius:14px; background:#000; }
.transcript { margin-top:10px; } .transcript summary { cursor:pointer; font-weight:600; } .transcript p { margin-top:8px; color:var(--muted); font-size:15px; }

/* hero with cover image */
.hero.cover { position:relative; padding:64px 0 70px; background:linear-gradient(120deg, var(--paper) 0%, var(--paper) 38%, rgba(251,247,239,.55) 62%, rgba(251,247,239,.15) 100%), var(--cover, none) center/cover no-repeat, repeating-linear-gradient(0deg, transparent 0 35px, rgba(110,150,200,.13) 35px 36px); }
html.dark .hero.cover { background:linear-gradient(120deg, var(--paper) 0%, var(--paper) 40%, rgba(20,22,28,.6) 70%, rgba(20,22,28,.3) 100%), var(--cover, none) center/cover no-repeat, var(--paper); }
.hero.cover .hero-grid { grid-template-columns:minmax(0,640px) 1fr; }
.hero-card h1 { font-size:clamp(36px,5.2vw,60px); margin:6px 0 16px; }
.hero-card h1 em { color:var(--red); }
@media (max-width:860px) { .hero.cover.has-cover { padding-top:180px; } .hero.cover { padding-top:36px; background:linear-gradient(180deg, rgba(251,247,239,.25) 0%, var(--paper) 46%), var(--cover-tall, var(--cover, none)) top center/cover no-repeat, var(--paper); } html.dark .hero.cover { background:linear-gradient(180deg, rgba(20,22,28,.3) 0%, var(--paper) 46%), var(--cover-tall, var(--cover, none)) top center/cover no-repeat, var(--paper); } .hero.cover .hero-grid { grid-template-columns:1fr; } }
.phero { padding:56px 0 30px; }
.phero h1 { font-size:clamp(32px,4.6vw,52px); max-width:860px; margin:4px 0 14px; }
.phero .lead { max-width:760px; }
.phero .ctas { margin-top:22px; }
.trust.six { grid-template-columns:repeat(3,1fr); margin-top:22px; }
@media (max-width:860px) { .trust.six { grid-template-columns:1fr 1fr; } }

/* service cards */
.svcs { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:30px; }
.svc { text-decoration:none; display:flex; flex-direction:column; gap:8px; transition:transform .15s, border-color .15s; }
.svc:hover { transform:translateY(-3px); border-color:var(--red); }
.svc h3 { font-size:23px; } .svc p { color:var(--muted); font-size:15.5px; flex:1; }
.sic { font-size:28px; line-height:1; }
.sprice { font-weight:700; color:var(--red); display:flex; justify-content:space-between; }
@media (max-width:1000px) { .svcs { grid-template-columns:1fr 1fr; } } @media (max-width:560px) { .svcs { grid-template-columns:1fr; } }
.guar { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:26px 0 12px; }
.gcard { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:18px; }
.gcard b { display:block; margin:8px 0 4px; font-size:16.5px; } .gcard p { color:var(--muted); font-size:14.5px; }
.gic { font-size:24px; }
@media (max-width:1000px) { .guar { grid-template-columns:1fr 1fr; } } @media (max-width:560px) { .guar { grid-template-columns:1fr; } }
.band { background:var(--ink); color:var(--paper); }
.band .lead { color:rgba(251,247,239,.78); } .band .eyebrow { color:#FF9AA0; }
html.dark .band { background:#0E1015; color:var(--ink); } html.dark .band .lead { color:var(--muted); }
.band-grid { display:flex; justify-content:space-between; align-items:center; gap:30px; }
@media (max-width:860px) { .band-grid { flex-direction:column; align-items:flex-start; } }
.modes { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:26px; }
.mode p { color:var(--muted); font-size:15.5px; margin-top:6px; }
@media (max-width:860px) { .modes { grid-template-columns:1fr; } }
.vsteps { list-style:none; counter-reset:v; display:grid; gap:14px; margin-top:12px; }
.vsteps li { counter-increment:v; position:relative; padding-left:46px; }
.vsteps li::before { content:counter(v); position:absolute; left:0; top:0; width:32px; height:32px; border-radius:50%; background:var(--red); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; font-size:15px; }
.vsteps b { display:block; } .vsteps span { color:var(--muted); font-size:15.5px; }
.lprices .ticks.small li { font-size:14.5px; }
.rules { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.rule p { color:var(--muted); font-size:15px; margin-top:4px; }
@media (max-width:860px) { .rules { grid-template-columns:1fr; } }
.bundle { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:22px; }
.bundle p { color:var(--muted); }
@media (max-width:700px) { .bundle { flex-direction:column; align-items:flex-start; } }
.prod .btn { width:100%; justify-content:center; text-align:center; }
.prod .btn + .btn { margin-top:10px; }
.price li.gift { color:var(--ok); font-weight:600; }
.price li.gift::before { content:'🎁'; background:none; }
.faqcat { font-size:24px; margin:28px 0 10px; }
.faqtoc { display:flex; flex-wrap:wrap; gap:8px 18px; font-weight:600; }
.faqtoc a { color:var(--red); }

/* guide */
.guide { padding-top:10px; }
.guide-grid { display:grid; grid-template-columns:240px minmax(0,1fr); gap:40px; align-items:start; }
.toc { position:sticky; top:86px; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:16px 18px; font-size:14.5px; }
.toc ol { margin:8px 0 0 18px; display:grid; gap:6px; } .toc a { text-decoration:none; } .toc a:hover { color:var(--red); }
.guide article h2 { font-size:clamp(26px,3.2vw,34px); margin:44px 0 12px; scroll-margin-top:90px; }
.guide article h3 { font-size:21px; margin:22px 0 8px; }
.guide article p, .guide article li { max-width:760px; }
.guide article p { margin:10px 0; }
.guide-grid > * { min-width:0; } @media (max-width:960px) { .guide-grid { grid-template-columns:1fr; } .toc { position:static; } }
.tbl-wrap { overflow-x:auto; margin:12px 0; border:1px solid var(--line); border-radius:14px; background:var(--card); }
.tbl { width:100%; border-collapse:collapse; font-size:15px; }
.tbl th, .tbl td { padding:10px 12px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.tbl thead th { background:var(--soft); font-size:13.5px; text-transform:uppercase; letter-spacing:.5px; }
.tbl tr:last-child td { border-bottom:0; }
.tbl.num td:not(:first-child) { font-variant-numeric:tabular-nums; }
.callout { background:var(--soft); border-left:4px solid var(--red); border-radius:12px; padding:14px 16px; margin:14px 0; font-size:15.5px; }
.callout.ok { border-left-color:var(--ok); }
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:16px 0; }
.stats div { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:14px; }
.stats b { display:block; font-family:'Newsreader',serif; font-size:30px; color:var(--red); }
.stats span { color:var(--muted); font-size:13.5px; }
@media (max-width:760px) { .stats { grid-template-columns:1fr 1fr; } }
.links { columns:2; gap:30px; margin:10px 0 0 20px; } .links li { margin:6px 0; break-inside:avoid; }
@media (max-width:700px) { .links { columns:1; } }
.legal { max-width:780px; } .legal h1 { font-size:40px; margin-bottom:6px; } .legal h2 { font-size:22px; margin:24px 0 6px; }
.legal-hr { border:0; border-top:1px solid var(--line); margin:46px 0; }
.legal-switch { font-weight:600; margin-bottom:18px; }
.ty { display:none; max-width:820px; } .ty.on { display:block; }
.ty h2 { font-size:30px; } .ty > p { color:var(--muted); margin:6px 0 16px; }
fieldset.task { border:1px solid var(--line); border-radius:14px; padding:12px 14px 4px; margin:6px 0 4px; }
fieldset.task legend { font-weight:700; padding:0 6px; }
.cform input[type=file] { padding:10px; background:var(--paper); }

/* footer */
footer { padding:46px 0 26px; }
.fgrid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:30px; }
.fname { font-family:'Newsreader',serif; font-size:24px; color:var(--ink); } .fname span { color:var(--red); font-style:italic; font-weight:400; }
.fbrand p { margin:8px 0 12px; font-size:14.5px; max-width:340px; }
.fh { font-weight:700; color:var(--ink); margin-bottom:8px; font-size:14.5px; }
.fgrid a { display:block; text-decoration:none; padding:3px 0; font-size:14.5px; }
.fgrid a:hover { color:var(--red); }
.fbottom { margin-top:26px; padding-top:16px; border-top:1px solid var(--line); }
.fbottom p { margin:4px 0; }
.linkbtn { background:none; border:0; font:inherit; color:inherit; text-decoration:underline; cursor:pointer; padding:0; margin-left:8px; }
@media (max-width:860px) { .fgrid { grid-template-columns:1fr 1fr; } .fbrand { grid-column:1/-1; } }

/* Margot */
.online { display:inline-block; width:9px; height:9px; border-radius:50%; background:#2BC26B; box-shadow:0 0 0 2px var(--card); vertical-align:1px; margin-left:4px; }
.chat-btn { position:fixed; } .chat-btn .online { position:absolute; right:4px; top:4px; width:13px; height:13px; box-shadow:0 0 0 2px #fff; }
.msg .golinks { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.msg .golinks a { font-size:13.5px; font-weight:600; text-decoration:none; border:1px solid var(--line); background:var(--paper); padding:5px 10px; border-radius:20px; }
.msg .golinks a:hover { border-color:var(--red); color:var(--red); }
.msg form.mform { display:grid; gap:7px; margin-top:8px; }
.msg form.mform input, .msg form.mform textarea { font:inherit; font-size:14px; padding:8px 10px; border-radius:10px; border:1px solid var(--line); background:var(--paper); color:var(--ink); width:100%; }
.msg form.mform button { justify-self:start; }
html.dark .chat, html.dark .msg.bot { background:var(--card); color:var(--ink); }
html.dark .msg.me { background:var(--red); }

body::before { z-index:3; }
html.dark .chat-head { background:#262A35; color:var(--ink); } html.dark .chat-head small { color:var(--muted); } html.dark .chat-head b { color:var(--ink); }
html.dark .chips button, html.dark .msg .sugg button { background:var(--soft); color:var(--ink); border-color:var(--line); }
html.dark .chat-form input { background:var(--paper); color:var(--ink); border-color:var(--line); }
@media (max-width:600px) { body.chat-open .chat-btn { display:none; } }

/* ---- polish round (2 Nov) ---- */
.sic { display:inline-flex; width:46px; height:46px; border-radius:14px; background:#FDF0F0; color:var(--red); align-items:center; justify-content:center; }
html.dark .sic { background:rgba(239,68,68,.14); }
.sic svg { width:24px; height:24px; }
.morelink { margin-top:24px !important; }
.flowcta { margin-top:34px; }
.socials a { display:flex !important; padding:0 !important; width:40px; height:40px; }
.fbottom { text-align:center; }
.fbottom p { max-width:880px; margin-left:auto; margin-right:auto; }
.fee { margin-top:28px; text-align:center; line-height:1.6; }
.fee .spots { display:flex; width:fit-content; margin:12px auto 0; }
.spots .dot { box-shadow:none !important; animation:none !important; }
.cmp-wrap + p.small, .rules + p.small, .svcs + p.small { margin-top:18px; }
.phero + section { padding-top:28px; }
.chat-btn { bottom:24px !important; }
.chat { bottom:96px !important; }
@media (max-width:600px) { .chat-btn { bottom:16px !important; right:14px; } }
.buyalt { margin-top:14px; text-align:center; }
#buyMount { min-height:120px; }
