@import url("https://fonts.googleapis.com/css2?family=Bitter:ital,wght@0,400;0,600;0,800;1,400&family=Lato:ital,wght@0,400;0,700;0,900;1,400&display=swap");

/* ============ 2. reset ============ */
*,*::before,*::after{box-sizing:border-box}
html,body,h1,h2,h3,h4,p,ul,ol,li,figure,figcaption,blockquote,dl,dd,table,th,td{margin:0;padding:0}
ul,ol{list-style:none}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
table{border-collapse:collapse;width:100%}

/* ============ 3. :root ============ */
:root{
  --bg-base:#F4F2FA;
  --bg-card:#FFFFFF;
  --accent:#6A21C9;
  --highlight:#C97A09;
  --text:#1B1430;
  --muted:#625A7C;
  --border:#E1DBF0;

  --ff-d:"Bitter",Georgia,"Times New Roman",serif;
  --ff-b:"Lato","Segoe UI",Helvetica,Arial,sans-serif;

  --fs-giant:clamp(2.9rem,13.5vw,7.2rem);
  --fs-h1:clamp(1.95rem,7vw,3.1rem);
  --fs-h2:clamp(1.4rem,5vw,2rem);
  --fs-h3:1.14rem;
  --fs-b:1.0625rem;
  --fs-s:.9375rem;
  --fs-x:.8125rem;

  --r-s:5px;
  --r-m:11px;
  --r-l:20px;
  --r-p:999px;

  --tr:170ms cubic-bezier(.3,.7,.3,1);
  --gut:18px;
}

/* ============ 4. html / body / scrollbar ============ */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:var(--ff-b);
  font-size:var(--fs-b);
  line-height:1.72;
  color:var(--text);
  background:var(--bg-base);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--accent);color:var(--bg-card)}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:var(--bg-base)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-p);border:3px solid var(--bg-base)}
::-webkit-scrollbar-thumb:hover{background:var(--muted)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:var(--r-s)}

/* ============ 5. type scale ============ */
p,li,dd,td,th{hyphens:auto;overflow-wrap:break-word}
h1,h2,h3,h4{
  font-family:var(--ff-d);
  font-weight:800;
  line-height:1.12;
  letter-spacing:-.018em;
  hyphens:auto;
  overflow-wrap:anywhere;
}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2);margin:0 0 .55em}
h3{font-size:var(--fs-h3);font-weight:600;margin:0 0 .4em;letter-spacing:-.005em}
h4{font-size:1rem;font-weight:600;margin:0 0 .3em}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
strong{font-weight:700}
em{font-style:italic}
small{font-size:var(--fs-x)}
a:not([class]){color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
a:not([class]):hover{color:var(--highlight)}

/* ============ 6. container ============ */
.k7v_container{width:100%;max-width:1120px;margin:0 auto;padding:0 var(--gut)}
.k7v_narrow{max-width:760px}

/* ============ 7. buttons ============ */
.k7v_btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:48px;padding:12px 22px;
  font-family:var(--ff-b);font-weight:900;font-size:var(--fs-s);
  letter-spacing:.012em;text-align:center;
  border-radius:var(--r-p);border:2px solid transparent;
  transition:transform var(--tr),background var(--tr),color var(--tr),border-color var(--tr);
}
.k7v_btn:hover{transform:translateY(-2px)}
.k7v_btn:active{transform:translateY(0)}
.k7v_btn--primary{background:var(--accent);color:var(--bg-card)}
.k7v_btn--primary:hover{background:var(--text)}
.k7v_btn--gold{background:var(--highlight);color:var(--bg-card)}
.k7v_btn--gold:hover{background:var(--text)}
.k7v_btn--outline{border-color:var(--accent);color:var(--accent);background:var(--bg-card)}
.k7v_btn--outline:hover{background:var(--accent);color:var(--bg-card)}
.k7v_btn--ghost{color:var(--muted);padding:12px 6px;min-height:44px}
.k7v_btn--ghost:hover{color:var(--accent)}
.k7v_btn--sm{min-height:44px;padding:9px 16px;font-size:var(--fs-x)}
.k7v_btn--lg{min-height:56px;padding:15px 30px;font-size:var(--fs-b)}
.k7v_btn--full{display:flex;width:100%}

/* ============ 8. nav + mobile nav ============ */
.k7v_nav{
  position:sticky;top:0;z-index:60;
  background:var(--bg-card);
  border-bottom:1px solid var(--border);
}
.k7v_nav-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.k7v_logo{display:flex;align-items:center;gap:10px}
.k7v_logo-chip{
  display:flex;align-items:center;
  background:var(--text);
  padding:9px 13px;border-radius:var(--r-s);
}
.k7v_logo-chip img{width:106px;height:17px}
.k7v_logo-tag{
  display:none;font-size:var(--fs-x);color:var(--muted);
  letter-spacing:.09em;text-transform:uppercase;font-weight:700;
}
.k7v_nav-links{display:none}
.k7v_nav-toggle{
  display:flex;align-items:center;justify-content:center;
  width:46px;height:46px;border:1px solid var(--border);border-radius:var(--r-s);
  color:var(--accent);
}
.k7v_nav-toggle span{display:block;width:19px;height:2px;background:currentColor;position:relative}
.k7v_nav-toggle span::before,.k7v_nav-toggle span::after{
  content:"";position:absolute;left:0;width:19px;height:2px;background:currentColor;
}
.k7v_nav-toggle span::before{top:-6px}
.k7v_nav-toggle span::after{top:6px}
.k7v_mobile-nav{display:none;border-top:1px solid var(--border);background:var(--bg-card);padding:10px 0 16px}
.k7v_mobile-nav.open{display:block}
.k7v_mobile-nav a{
  display:block;padding:11px 0;font-weight:700;font-size:var(--fs-s);
  border-bottom:1px solid var(--border);
}
.k7v_mobile-nav a:last-child{border-bottom:0}
.k7v_mobile-nav a:hover{color:var(--accent)}

/* ============ 9. breadcrumbs ============ */
.k7v_crumbs{font-size:var(--fs-x);color:var(--muted);padding:14px 0 0}
.k7v_crumbs a:hover{color:var(--accent)}
.k7v_crumbs span{padding:0 5px}

/* ============ 10. hero — LAYOUT D (typographic giant H1) ============ */
.k7v_hero{position:relative;padding:26px 0 30px;overflow:hidden}
.k7v_hero::after{
  content:"";position:absolute;right:-18%;top:-40%;width:78%;aspect-ratio:1;
  border-radius:50%;z-index:0;
  background:radial-gradient(circle at 40% 40%,
    color-mix(in srgb,var(--accent) 17%,transparent) 0%,
    color-mix(in srgb,var(--highlight) 9%,transparent) 46%,
    transparent 70%);
}
.k7v_hero-in{position:relative;z-index:1}
.k7v_eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  font-size:var(--fs-x);font-weight:900;letter-spacing:.11em;text-transform:uppercase;
  color:var(--accent);margin-bottom:12px;
}
.k7v_eyebrow::before{content:"";width:22px;height:2px;background:var(--highlight)}
.k7v_giant{
  font-size:var(--fs-giant);
  font-weight:800;line-height:.92;letter-spacing:-.04em;
  margin:0 0 .22em;text-transform:uppercase;
}
.k7v_giant em{display:block;font-style:normal;color:var(--accent)}
.k7v_giant .k7v_thin{font-weight:400;letter-spacing:-.02em;text-transform:none}
.k7v_hero h1:not(.k7v_giant){margin:0 0 .4em}
.k7v_hero-lede{font-size:1.09rem;color:var(--muted);max-width:56ch;margin-bottom:1.25em}
.k7v_hero-lede strong{color:var(--text)}
.k7v_hero-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.k7v_hero-note{font-size:var(--fs-x);color:var(--muted)}

/* offer strip */
.k7v_offer{
  background:var(--bg-card);border:1px solid var(--border);
  border-top:4px solid var(--highlight);
  border-radius:var(--r-m);padding:20px 18px;margin-top:22px;
}
.k7v_offer-head{
  font-family:var(--ff-d);font-weight:800;font-size:1.08rem;margin-bottom:14px;
}
.k7v_offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.k7v_offer-cell{border-left:3px solid var(--accent);padding-left:11px}
.k7v_offer-fig{
  display:block;font-family:var(--ff-d);font-weight:800;
  font-size:clamp(1.5rem,6vw,2.05rem);line-height:1.05;letter-spacing:-.03em;
}
.k7v_offer-lbl{display:block;font-size:var(--fs-x);color:var(--muted);line-height:1.4;margin-top:3px}
.k7v_offer-foot{font-size:var(--fs-x);color:var(--muted);margin-top:16px;padding-top:13px;border-top:1px solid var(--border)}

/* ============ 11. trust bar ============ */
.k7v_trust{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-card)}
.k7v_trust ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;padding:16px 0}
.k7v_trust li{font-size:var(--fs-x);color:var(--muted);line-height:1.45;padding-left:16px;position:relative}
.k7v_trust li::before{
  content:"";position:absolute;left:0;top:.52em;
  width:7px;height:7px;border-radius:50%;background:var(--highlight);
}
.k7v_trust b{display:block;color:var(--text);font-size:var(--fs-s);font-weight:900}

/* ============ 12. content sections ============ */
.k7v_sec{padding:38px 0}
.k7v_sec--alt{background:var(--bg-card);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.k7v_sec--tight{padding:26px 0}
.k7v_lead{font-size:1.06rem;color:var(--muted);margin-bottom:1.2em;max-width:62ch}
.k7v_sec h2+p,.k7v_sec h3+p{margin-top:0}
.k7v_sec h3{margin-top:1.5em}
.k7v_body>ul,.k7v_list{margin:0 0 1.15em;display:grid;gap:9px}
.k7v_list li{padding-left:21px;position:relative}
.k7v_list li::before{
  content:"";position:absolute;left:3px;top:.62em;width:8px;height:2px;background:var(--highlight);
}
.k7v_sec hr{border:0;border-top:1px solid var(--border);margin:30px 0}

/* cards */
.k7v_cards{display:grid;grid-template-columns:1fr;gap:14px;margin:0 0 1.2em}
.k7v_card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-m);padding:18px 17px;
}
.k7v_card--mark{border-left:4px solid var(--accent)}
.k7v_card p:last-child{margin-bottom:0}
.k7v_card-fig{
  font-family:var(--ff-d);font-weight:800;font-size:1.45rem;color:var(--accent);
  display:block;line-height:1.1;margin-bottom:4px;
}

/* tables */
.k7v_tw{overflow-x:auto;margin:0 0 1.25em;border:1px solid var(--border);border-radius:var(--r-m);background:var(--bg-card)}
.k7v_table{min-width:470px;font-size:var(--fs-s)}
.k7v_table caption{
  text-align:left;padding:14px 15px 0;font-size:var(--fs-x);color:var(--muted);
  caption-side:top;
}
.k7v_table th,.k7v_table td{padding:11px 15px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}
.k7v_table thead th{
  font-family:var(--ff-b);font-weight:900;font-size:var(--fs-x);
  text-transform:uppercase;letter-spacing:.06em;color:var(--muted);
  background:var(--bg-base);
}
.k7v_table tbody tr:last-child th,.k7v_table tbody tr:last-child td{border-bottom:0}
.k7v_table tbody th{font-weight:700;white-space:nowrap}
.k7v_table code{
  font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;font-size:.92em;font-weight:700;
  background:var(--bg-base);border:1px solid var(--border);border-radius:var(--r-s);padding:1px 6px;
  color:var(--accent);
}

/* steps */
.k7v_steps{counter-reset:k7v-s;display:grid;gap:14px;margin:0 0 1.3em}
.k7v_steps li{position:relative;padding-left:47px;min-height:34px}
.k7v_steps li::before{
  counter-increment:k7v-s;content:counter(k7v-s);
  position:absolute;left:0;top:0;
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--accent);color:var(--bg-card);
  font-family:var(--ff-d);font-weight:800;font-size:.95rem;
}
.k7v_steps b{display:block}

/* notes */
.k7v_note{
  background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--highlight);
  border-radius:var(--r-s);padding:15px 16px;margin:0 0 1.25em;font-size:var(--fs-s);
}
.k7v_note--warn{border-left-color:var(--accent)}
.k7v_note p:last-child{margin-bottom:0}

/* screenshots */
.k7v_shot{margin:0 0 1.35em}
.k7v_shot img{
  width:100%;height:auto;border:1px solid var(--border);
  border-radius:var(--r-m);background:var(--bg-card);
}
.k7v_shot figcaption{font-size:var(--fs-x);color:var(--muted);margin-top:8px;line-height:1.5}

/* slots grid */
.k7v_slots{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 1.3em}
.k7v_slot{
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-m);
  overflow:hidden;transition:border-color var(--tr),transform var(--tr);
}
.k7v_slot:hover{border-color:var(--accent);transform:translateY(-2px)}
.k7v_slot img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.k7v_slot-name{display:block;padding:9px 11px 4px;font-weight:900;font-size:var(--fs-s);line-height:1.3}
.k7v_slot-prov{display:block;padding:0 11px 11px;font-size:var(--fs-x);color:var(--muted)}
.k7v_slot--text{
  display:flex;flex-direction:column;justify-content:center;
  min-height:104px;padding:14px 13px;border-left:4px solid var(--highlight);
}
.k7v_slot--text .k7v_slot-name,.k7v_slot--text .k7v_slot-prov{padding:0}

/* provider / payment chips */
.k7v_chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 1.3em}
.k7v_chip{
  display:inline-flex;align-items:center;gap:7px;
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-p);
  padding:8px 15px;font-size:var(--fs-x);font-weight:700;
}
.k7v_chip svg{width:13px;height:13px;flex:none}
.k7v_chip--on{border-color:var(--accent);color:var(--accent)}
.k7v_chip--off{color:var(--muted)}

/* teasers (hub → subpages) */
.k7v_tease{display:grid;grid-template-columns:1fr;gap:12px;margin:0 0 1.2em}
.k7v_tease a{
  display:block;background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-m);padding:16px 17px;transition:border-color var(--tr),transform var(--tr);
}
.k7v_tease a:hover{border-color:var(--accent);transform:translateY(-2px)}
.k7v_tease b{display:block;font-family:var(--ff-d);font-size:1.04rem;margin-bottom:3px}
.k7v_tease span{display:block;font-size:var(--fs-s);color:var(--muted);line-height:1.55}
.k7v_tease em{display:block;font-style:normal;font-size:var(--fs-x);font-weight:900;color:var(--accent);margin-top:7px}

/* ============ 13. FAQ accordion ============ */
.k7v_faq{display:grid;gap:9px;margin:0 0 1.2em}
.k7v_faq-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-m);overflow:hidden}
.k7v_faq-item.open{border-color:var(--accent)}
.k7v_faq-btn{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  width:100%;padding:15px 16px;text-align:left;
  font-family:var(--ff-d);font-weight:600;font-size:1rem;line-height:1.4;
  min-height:52px;
}
.k7v_faq-btn:hover{color:var(--accent)}
.k7v_faq-btn::after{
  content:"";flex:none;margin-top:.42em;
  width:9px;height:9px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);
  transform:rotate(45deg);transition:transform var(--tr);
}
.k7v_faq-item.open .k7v_faq-btn::after{transform:rotate(-135deg)}
.k7v_faq-a{display:none;padding:0 16px 16px;font-size:var(--fs-s);color:var(--muted)}
.k7v_faq-item.open .k7v_faq-a{display:block}
.k7v_faq-a p{margin-bottom:.8em}

/* ============ 14. CTA band ============ */
.k7v_cta{background:var(--text);color:var(--bg-card);padding:34px 0;margin-top:8px}
.k7v_cta h2{color:var(--bg-card);margin-bottom:.4em}
.k7v_cta p{color:color-mix(in srgb,var(--bg-card) 76%,var(--text));max-width:58ch;font-size:var(--fs-s)}
.k7v_cta .k7v_btn--gold:hover{background:var(--bg-card);color:var(--text)}
.k7v_cta-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.k7v_cta small{display:block;margin-top:14px;color:color-mix(in srgb,var(--bg-card) 58%,var(--text))}

/* ============ 15. footer ============ */
.k7v_foot{background:var(--bg-card);border-top:1px solid var(--border);padding:32px 0 92px;font-size:var(--fs-s)}
.k7v_foot-grid{display:grid;grid-template-columns:1fr;gap:24px}
.k7v_foot-col h3{font-family:var(--ff-b);font-size:var(--fs-x);text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:900;margin-bottom:11px}
.k7v_foot-col ul{display:grid;gap:7px}
.k7v_foot-col a:hover{color:var(--accent)}
.k7v_badges{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.k7v_badge{
  display:inline-flex;align-items:center;gap:6px;
  border:1px solid var(--border);border-radius:var(--r-s);
  padding:6px 11px;font-size:var(--fs-x);font-weight:700;color:var(--muted);
  min-height:34px;
}
.k7v_badge:hover{border-color:var(--accent);color:var(--accent)}
.k7v_badge--age{border-color:var(--highlight);color:var(--highlight);font-family:var(--ff-d);font-weight:800}
.k7v_badge svg{width:13px;height:13px;flex:none}
.k7v_foot-legal{border-top:1px solid var(--border);margin-top:24px;padding-top:18px;font-size:var(--fs-x);color:var(--muted)}
.k7v_foot-legal p{margin-bottom:.75em}
.k7v_aff{color:var(--muted)}
.k7v_updated{font-weight:700;color:var(--text)}

/* ============ 16. sticky mobile CTA ============ */
.k7v_sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:70;
  background:var(--bg-card);border-top:1px solid var(--border);
  padding:9px var(--gut);
  display:flex;align-items:center;gap:11px;
}
.k7v_sticky-txt{flex:1;min-width:0;font-size:var(--fs-x);line-height:1.35;color:var(--muted)}
.k7v_sticky-txt b{display:block;color:var(--text);font-size:var(--fs-s)}
.k7v_sticky .k7v_btn{flex:none}

/* ============ 17. animations ============ */
@keyframes k7v-rise{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}
.k7v_hero-in>*{animation:k7v-rise .48s both}
.k7v_hero-in>*:nth-child(2){animation-delay:.06s}
.k7v_hero-in>*:nth-child(3){animation-delay:.12s}
.k7v_hero-in>*:nth-child(4){animation-delay:.18s}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .k7v_btn:hover,.k7v_slot:hover,.k7v_tease a:hover{transform:none}
}

/* ============ 18. responsive ============ */
@media (min-width:480px){
  .k7v_hero-actions,.k7v_cta-actions{flex-direction:row;flex-wrap:wrap}
  .k7v_hero-actions .k7v_btn,.k7v_cta-actions .k7v_btn{flex:0 1 auto}
  .k7v_offer-grid{grid-template-columns:repeat(4,1fr)}
  .k7v_slots{grid-template-columns:repeat(3,1fr)}
  .k7v_logo-tag{display:block}
}
@media (min-width:768px){
  :root{--gut:26px}
  .k7v_nav-toggle,.k7v_mobile-nav,.k7v_sticky{display:none}
  .k7v_nav-links{display:flex;align-items:center;gap:3px;flex-wrap:wrap;justify-content:flex-end}
  .k7v_nav-links a{padding:9px 10px;font-size:var(--fs-x);font-weight:900;border-radius:var(--r-s)}
  .k7v_nav-links a:hover{color:var(--accent);background:var(--bg-base)}
  .k7v_nav-links .k7v_btn{margin-left:8px}
  .k7v_foot{padding-bottom:34px}
  .k7v_hero{padding:40px 0 44px}
  .k7v_sec{padding:52px 0}
  .k7v_cards{grid-template-columns:1fr 1fr}
  .k7v_cards--3{grid-template-columns:repeat(3,1fr)}
  .k7v_tease{grid-template-columns:1fr 1fr}
  .k7v_trust ul{grid-template-columns:repeat(4,1fr);padding:19px 0}
  .k7v_foot-grid{grid-template-columns:1.4fr 1fr 1fr}
  .k7v_offer{padding:24px 26px}
  .k7v_slots{grid-template-columns:repeat(4,1fr)}
  .k7v_shot--half{max-width:62%}
}
@media (min-width:1024px){
  .k7v_hero{padding:56px 0 54px}
  .k7v_giant{letter-spacing:-.045em}
  .k7v_hero-split{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:46px;align-items:end}
  .k7v_hero-lede{font-size:1.16rem;margin-bottom:1.4em}
  .k7v_sec{padding:62px 0}
  .k7v_cta{padding:46px 0}
  .k7v_cta-in{display:grid;grid-template-columns:1.5fr 1fr;gap:38px;align-items:center}
  .k7v_cta-actions{margin-top:0;justify-content:flex-end}
  .k7v_tease--3{grid-template-columns:repeat(3,1fr)}
}
