@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800;900&family=Playfair+Display:ital,wght@0,600;0,700;0,800;0,900;1,700&display=swap');

/* Canonical visual system: Flujo de Dinero. Layout files contain geometry only. */
:root {
  --ka-cream:#fff9f3; --ka-ink:#20120b; --ka-muted:#63564e; --ka-line:#eaded3;
  --ka-orange:#ff6428; --ka-red:#c83224; --ka-yellow:#ffe16a;
  --ka-gradient:linear-gradient(135deg,#ff4f20,#ff913a);
  --ka-shadow:0 18px 38px rgba(76,38,16,.1);
  --white:#fff; --cream:var(--ka-cream); --cream-ui:var(--ka-cream); --bg:var(--ka-cream);
  --warm:#fff1e5; --sand:#ffe4cf; --panel:#fff; --surface:#fff;
  --ink:var(--ka-ink); --text:var(--ka-ink); --deep:var(--ka-ink); --mid:var(--ka-muted);
  --muted:var(--ka-muted); --text-muted:var(--ka-muted); --light:var(--ka-muted);
  --gold:#b84214; --gold-light:var(--ka-ink); --gold-dark:#b84214;
  --gold-btn:var(--ka-orange); --gold-hover:#c13b13; --orange:var(--ka-orange); --orange-2:#ff9a4d;
  --border:var(--ka-line); --line:var(--ka-line); --line-ui:var(--ka-line); --shadow:var(--ka-shadow);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.ka-page { margin:0; background:var(--ka-cream); color:var(--ka-ink); font:400 18px/1.6 'DM Sans',sans-serif; }
img { max-width:100%; height:auto; }
button,input,summary { font:inherit; }
a { color:#a63113; text-underline-offset:4px; }
:focus-visible { outline:3px solid #8c2913; outline-offset:5px; }
h1,h2,h3,h4,.main-title,.section-title,.real-title,.faq-title,.reviews-title,.instant-access-headline {
  color:var(--ka-ink); font-family:'Playfair Display',Georgia,serif; font-weight:800; line-height:1.12; letter-spacing:-.04em;
}
h1,.main-title { font-size:clamp(34px,4.5vw,58px); }
h2,.section-title,.real-title,.faq-title,.reviews-title { font-size:clamp(30px,4vw,47px); }
h3 { font-size:clamp(23px,2.7vw,30px); }
h4 { font-size:22px; }
p { line-height:1.6; }
small,.small { font-size:13px; }
em { color:inherit; }
mark,.head-yellow { padding:.02em .13em .08em; color:var(--ka-ink); background:var(--ka-yellow); box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.head-red,.main-title .head-red { color:var(--ka-red); font-weight:900; }
.head-yellow { font-weight:800; }
.ka-page .hero,.ka-page .abundance-hero { display:block; min-height:0; width:100%; padding:24px 20px 72px; text-align:center; background:transparent; }
.ka-page .hero h1,.ka-page .abundance-hero h1,.ka-page .main-title { max-width:650px; margin:0 auto 24px; font-size:clamp(34px,4.5vw,58px); line-height:1.08; }
.ka-page .hero h1 br,.ka-page .abundance-hero h1 br { display:none; }
.ka-page .hero h1 br::after { content:' '; }
.hero .lead,.hero-subtitle,.sub-headline { max-width:650px; margin:0 auto 28px; color:var(--ka-muted); font-size:clamp(18px,2.4vw,24px); line-height:1.5; }
.hero-outcome { max-width:650px; margin:0 auto 28px; color:var(--ka-muted); }
.hero-reassurance,.micro { font-size:13px; color:var(--ka-muted); }
.portrait { display:block; margin:0 auto 24px; width:106px; height:106px; border:5px solid #fff; border-radius:50%; box-shadow:var(--ka-shadow); }
.eyebrow,.hero-eyebrow,.section-tag,.badge,.story-badge,.offer-eyebrow,.pill {
  color:#a63113; background:#ffe4cf; border-radius:999px; padding:8px 12px; font:800 12px/1.4 'DM Sans',sans-serif; letter-spacing:.08em;
}
.eyebrow,.hero-eyebrow,.section-tag { display:inline-block; margin:0 0 18px; }
.button,.btn-primary,.btn-gold,.hero-action,.nav-cta,.btn,.ka-footer-cta,.ka-editorial-cta a {
  display:inline-flex; justify-content:center; align-items:center; gap:12px; max-width:100%; padding:19px 28px;
  border:0; border-radius:10px; color:#fff; background:var(--ka-gradient); box-shadow:0 16px 28px rgba(255,100,40,.22);
  font:800 clamp(16px,2vw,21px)/1.35 'DM Sans',sans-serif; text-decoration:none; cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease;
}
.button:hover,.btn-primary:hover,.btn-gold:hover,.hero-action:hover,.btn:hover,.ka-footer-cta:hover { transform:translateY(-2px); box-shadow:0 20px 34px rgba(255,100,40,.28); }
.button:focus-visible,.btn-primary:focus-visible,.btn-gold:focus-visible { outline:3px solid #8c2913; outline-offset:5px; }
.button span,.btn-primary span,.btn-gold span { color:inherit; }
.shell,.wrap { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }
.band { padding:80px 0; border-top:1px solid var(--ka-line); }
.band .eyebrow { display:table; margin-inline:auto; }
.band .section-title { max-width:760px; margin-inline:auto; text-align:center; }
.method,.final { background:transparent; color:var(--ka-ink); }
.copy { color:var(--ka-muted); font-size:18px; line-height:1.65; }
.story-image,.intro-img,.intro-img img,.who-img,.who-img img { border-radius:18px; }
.pillar,.quote,.library-card,.card,.tile,.benefit-item,.review-card,.cta-card,.exp-card,.who-item,.day,.day-card,.pricing-card,.pain-card,.transform-card {
  color:var(--ka-ink); background:#fff; border:1px solid var(--ka-line); border-radius:14px; box-shadow:var(--ka-shadow);
}
.pillar,.quote,.library-card { padding:26px; }
.pillar b,.library-card small,.stars,.review-stars,.gold { color:#b84214; }
.pillar p,.quote footer,.library-card span,.card small,.card span,.tile span { color:var(--ka-muted); }
.quote,.review-card { text-align:center; }
.quote p,.review-quote { font-size:18px; line-height:1.6; }
.quote footer { font-size:14px; }
.library-card strong { font-family:'Playfair Display',Georgia,serif; font-size:28px; }
.intro,.who,.days,.faq-layout { max-width:1160px; margin-inline:auto; gap:40px; padding:72px 24px; }
.how,.experience,.who-section,.days-section,.faq-section,.pricing-section,.pain-section,.transform-section { padding:72px 24px; background:transparent; }
.how h2,.experience h2,.who h2,.days h2,.faq-section h2,.intro h2,.pricing-section h2 { font-size:clamp(30px,4vw,47px); line-height:1.12; }
.ka-abundance h2,.ka-codigo h2 { text-align:center; }
.strip,.press,.fomo-strip { background:#fff; border-block:1px solid var(--ka-line); }
.strip { padding:28px 24px; }
.strip-inner { flex-wrap:wrap; }
.strip-item { min-width:0; }
.press-track { width:100%; flex-wrap:wrap; justify-content:center; gap:24px; }
.strip strong { font-size:17px; }
.strip span { font-size:14px; color:var(--ka-muted); }
.faq-item { border-bottom:1px solid var(--ka-line); padding:22px 0; }
.faq-q,.faq-question { font-size:20px; font-weight:700; color:var(--ka-ink); }
.faq-a,.faq-answer { color:var(--ka-muted); font-size:17px; line-height:1.6; }
.ka-abundance .hero-action,.ka-codigo .hero-action { margin-bottom:16px; }
.ka-codigo .abundance-hero { padding-top:24px; }
.sticky-bar { background:#fff; color:var(--ka-ink); border-top:1px solid var(--ka-line); box-shadow:var(--ka-shadow); }
.sticky-bar a { color:#fff; background:var(--ka-gradient); border-radius:10px; }
.ka-page .bg-canvas,.ka-page .orb { display:none; }
.ka-flujo .stars { display:none; }

/* Shared, in-flow navigation: it cannot cover a hero or reserve phantom space. */
.ka-site-nav { display:flex; align-items:center; justify-content:center; gap:22px; width:min(1120px,calc(100% - 32px)); margin:16px auto 24px; padding:16px 24px; border:1px solid var(--ka-line); border-radius:14px; background:#fff; box-shadow:var(--ka-shadow); font:700 14px/1.4 'DM Sans',sans-serif; }
.ka-site-nav a { color:var(--ka-ink); text-decoration:none; }
.ka-site-nav .ka-brand { color:#a63113; margin-right:16px; font-weight:800; }
.ka-site-nav a:hover { color:#b84214; }
.ka-site-footer { display:block; position:relative; width:min(1120px,calc(100% - 32px)); margin:88px auto 0; padding:48px 28px 32px; color:#fff7ef; background:#21120b; border:1px solid #523526; border-radius:18px 18px 0 0; text-align:center; font:400 16px/1.6 'DM Sans',sans-serif; }
.ka-site-footer strong { display:block; color:#fff7ef; font:800 30px/1.2 'Playfair Display',Georgia,serif; }
.ka-site-footer p { max-width:540px; margin:18px auto 24px; color:#eadbd0; }
.ka-site-footer a { color:#fff7ef; text-decoration:none; }
.ka-footer-links,.ka-footer-social { display:flex; justify-content:center; flex-wrap:wrap; gap:24px; margin-top:28px; }
.ka-footer-social a { display:inline-flex; align-items:center; gap:8px; }
.ka-footer-social svg { width:21px; height:21px; fill:currentColor; }
.ka-site-footer .ka-copyright { margin-top:32px; padding-top:22px; border-top:1px solid #684939; color:#d9c8bc; font-size:13px; }
.ka-editorial-cta,.ka-purchase-steps { width:min(760px,calc(100% - 32px)); margin:64px auto 0; padding:30px; border:1px solid var(--ka-line); border-radius:18px; background:#fff; text-align:center; }
.ka-editorial-cta p { margin:0 0 20px; }
.ka-purchase-steps ol { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; padding:0; list-style:none; }
.ka-purchase-steps b { display:block; color:#a63113; }

/* Editorial library and interactive decks share the sales pages' skin. */
.ka-library { padding:0; }
.ka-library .wrap { padding:24px 0 0; }
.ka-library h1 { max-width:700px; margin:22px auto; text-align:center; line-height:1.15; }
.ka-library .wrap>p,.ka-library .wrap>.pill { text-align:center; }
.ka-library .wrap>.pill { display:table; margin:auto; }
.ka-library .card { padding:24px; border-radius:14px; background:#fff; color:var(--ka-ink); text-decoration:none; transition:transform .18s ease; }
.ka-library .card::before,.ka-library .card::after { content:none; }
.ka-library .card strong { color:var(--ka-ink); font:800 26px/1.2 'Playfair Display',Georgia,serif; }
.ka-library .card small { color:#a63113; font-weight:800; }
html:has(.ka-presentation) { height:auto; overflow:auto; }
body.ka-presentation { width:100%; height:auto; overflow:auto; }
.ka-presentation::before { content:none; }
.ka-presentation .app { height:auto; min-height:0; grid-template-rows:auto auto auto; width:min(1160px,calc(100% - 32px)); margin:auto; }
.ka-presentation .app>*,.ka-presentation .frame,.ka-presentation .stack { min-width:0; }
.ka-presentation .app>header { flex-wrap:wrap; }
.ka-presentation .badge { width:fit-content; white-space:normal; overflow-wrap:anywhere; }
.ka-presentation .app>header { color:var(--ka-ink); background:transparent; padding:16px; border-bottom:1px solid var(--ka-line); font-size:14px; }
.ka-presentation .app main { min-height:560px; }
.ka-presentation .slide { position:relative; inset:auto; padding:32px 16px; }
.ka-presentation .frame { height:auto; min-height:490px; gap:28px; }
.ka-presentation .frame h1 { font-size:clamp(32px,4.5vw,54px); line-height:1.12; }
.ka-presentation .frame h2 { font-size:clamp(28px,3.5vw,42px); line-height:1.16; }
.ka-presentation .frame h1 .gold { color:var(--ka-ink); background:var(--ka-yellow); }
.ka-presentation .sub,.ka-presentation .body { color:var(--ka-muted); font-size:18px; line-height:1.55; font-weight:400; }
.ka-presentation .row { background:var(--ka-cream); border-radius:10px; padding:14px; }
.ka-presentation .row b,.ka-presentation .tile b { font-size:17px; }
.ka-presentation .row span,.ka-presentation .tile span { font-size:15px; line-height:1.5; }
.ka-presentation .card,.ka-presentation .tile { padding:24px; }
.ka-presentation .book { color:var(--ka-ink); background:linear-gradient(135deg,#ffe4cf,#fff9f3); box-shadow:var(--ka-shadow); border-radius:14px; }
.ka-presentation .book::before,.ka-presentation .book::after { background:#ffb77c; color:var(--ka-ink); }
.ka-presentation .book-title { font:800 36px/1.15 'Playfair Display',Georgia,serif; }
.ka-presentation .book::after { content:none; }
.ka-presentation .sticker { position:static; display:inline-block; align-self:start; justify-self:start; padding:5px 8px; background:var(--ka-yellow); border-radius:8px; font-size:10px; }
.ka-presentation .book>.small { font-size:10px; }
.ka-presentation .book-sub { color:var(--ka-muted); font-size:17px; line-height:1.4; }
.ka-presentation .avatar { background:var(--ka-gradient); color:#fff; font-size:13px; border-radius:50%; }
.ka-presentation .slide-controls { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:20px; border-top:1px solid var(--ka-line); }
.ka-presentation .slide-controls .btn { padding:12px 20px; font-size:16px; }
.ka-presentation .progress { font-size:14px; color:var(--ka-muted); }
.ka-presentation .big { font-size:38px; }
@media(max-width:760px) {
  .ka-site-nav { display:none; }
  .ka-page .hero,.ka-page .abundance-hero { padding:20px 18px 48px; }
  .shell,.wrap { width:calc(100% - 32px); }
  .band { padding:56px 0; }
  .intro,.who,.days,.faq-layout { grid-template-columns:1fr; padding:48px 18px; gap:28px; }
  .strip-inner { flex-direction:column; align-items:flex-start; }
  .strip-div { display:none; }
  .ka-abundance [style*="grid-template-columns"],.ka-codigo [style*="grid-template-columns"] { grid-template-columns:1fr!important; }
  .how,.experience,.who-section,.days-section,.faq-section,.pricing-section,.pain-section,.transform-section { padding:48px 18px; }
  .ka-site-footer { margin-top:64px; padding:36px 22px 28px; }
  .ka-footer-links,.ka-footer-social { gap:18px; }
  .ka-purchase-steps ol { grid-template-columns:1fr; }
  .ka-presentation .frame { min-height:0; }
  .ka-presentation .app main { min-height:0; }
  .ka-presentation .slide { padding:28px 0; }
  .ka-presentation .two { grid-template-columns:1fr; }
  .ka-presentation .book { margin:16px 0; }
  .ka-presentation .book-title { font-size:26px; }
  .ka-presentation .book-sub { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
}
