/* MOTORZELO pilar design system (.mz-pilar) - consolidated */
.mz-pilar{
    --bg:#FAFAF8; --bg-elev:#F0EFEC; --paper:#FFFFFF;
    --ink:#15171A; --ink-soft:#5B6169; --line:#DEDDD9;
    --graphite:#15171A; --graphite-2:#1F2226; --graphite-3:#2A2D31;
    --on-graphite:#F5F4F2; --on-graphite-soft:#A7ACB3;
    --red:#E01A2B; --red-dark:#B01523; --red-soft:#FBE7E7; --red-line:#F2C4C6;
    --green-ok:#1F7A4D; --focus:#1857C9;
    --radius-s:2px; --radius-m:3px;
    --font-display:'Big Shoulders Display','Arial Narrow',sans-serif;
    --font-body:'Hanken Grotesk',-apple-system,'Segoe UI',sans-serif;
    --font-mono:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
    color-scheme: light;
  }

@media (prefers-color-scheme: dark){
    .mz-pilar:not([data-theme="light"]){
      --bg:#121316; --bg-elev:#1A1C1F; --paper:#17181B;
      --ink:#F1F0EE; --ink-soft:#9CA1A7; --line:#2C2E32;
      --graphite:#000000; --graphite-2:#0A0B0D; --graphite-3:#1B1D20;
      --on-graphite:#F5F4F2; --on-graphite-soft:#9CA2A8;
      --red:#FF4655; --red-dark:#E63847; --red-soft:rgba(255,70,85,.14); --red-line:rgba(255,70,85,.35);
      --green-ok:#3FAE7A; --focus:#6FA0FF; color-scheme: dark;
    }
  }

.mz-pilar[data-theme="dark"]{
    --bg:#121316; --bg-elev:#1A1C1F; --paper:#17181B;
    --ink:#F1F0EE; --ink-soft:#9CA1A7; --line:#2C2E32;
    --graphite:#000000; --graphite-2:#0A0B0D; --graphite-3:#1B1D20;
    --on-graphite:#F5F4F2; --on-graphite-soft:#9CA2A8;
    --red:#FF4655; --red-dark:#E63847; --red-soft:rgba(255,70,85,.14); --red-line:rgba(255,70,85,.35);
    --green-ok:#3FAE7A; --focus:#6FA0FF; color-scheme: dark;
  }

.mz-pilar, .mz-pilar *{box-sizing:border-box;}

.mz-pilar{background:var(--bg); color:var(--ink); font-family:var(--font-body); -webkit-font-smoothing:antialiased;}

.mz-pilar img{max-width:100%; display:block;}

.mz-pilar a{color:inherit;}

.mz-pilar h1, .mz-pilar h2, .mz-pilar h3{text-wrap:balance; margin:0;}

.mz-pilar ::selection{background:var(--red); color:#fff;}

.mz-pilar :focus-visible{outline:2px solid var(--focus); outline-offset:2px;}

@media (prefers-reduced-motion: reduce){ .mz-pilar, .mz-pilar *{animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important;} }

.wrap{max-width:1160px; margin-inline:auto; padding-inline:24px;}

@media (max-width:480px){ .wrap{padding-inline:16px;} }

.col{max-width:740px;}

.eyebrow{font-family:var(--font-mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--red); font-weight:600;}

.eyebrow.on-graphite{color:#FF6B78;}

.mz-logo{width:26px; height:20px; flex-shrink:0;}

.mz-wordmark{display:flex; align-items:center; gap:9px; font-family:var(--font-display); font-weight:800; font-size:1.05rem; letter-spacing:.02em; text-transform:uppercase;}

#progress-track{position:fixed; top:0; left:0; right:0; height:2px; background:var(--line); z-index:51;}

#progress-bar{height:100%; width:0%; background:var(--red); transition:width .08s linear;}

.topbar{position:sticky; top:2px; z-index:50; background:var(--paper); border-bottom:1px solid var(--line); font-family:var(--font-mono);}

.topbar-inner{max-width:1160px; margin-inline:auto; padding:11px 24px; display:flex; align-items:center; gap:20px;}

@media (max-width:480px){ .topbar-inner{padding:10px 16px; gap:10px;} }

.topbar .mz-wordmark{color:var(--ink); font-size:.92rem;}

.topbar .mz-logo{width:20px; height:16px;}

.phase-indicator{font-size:.68rem; letter-spacing:.08em; color:var(--ink-soft); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

.topnav{margin-left:auto; display:flex; gap:2px; overflow-x:auto; scrollbar-width:none;}

.topnav::-webkit-scrollbar{display:none;}

.topnav a{font-size:.68rem; letter-spacing:.03em; text-decoration:none; color:var(--ink-soft); white-space:nowrap; padding:5px 9px; border:1px solid transparent; border-radius:var(--radius-s);}

.topnav a:hover{color:var(--ink); border-color:var(--line);}

@media (max-width:760px){ .topnav{display:none;} }

.mz-pilar section{padding-block:60px;}

@media (max-width:640px){ .mz-pilar section{padding-block:40px;} }

/* ---------- HERO (cinematográfico, full-bleed) ---------- */
  .hero{position:relative; display:flex; align-items:flex-end; min-height:560px; color:var(--on-graphite); overflow:hidden; background:var(--graphite);}

@media (max-width:640px){ .hero{min-height:78vh;} }

.hero-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 38%; z-index:0;}

.hero::after{content:""; position:absolute; left:0; right:0; bottom:0; height:130px; background:linear-gradient(180deg, rgba(21,23,26,0) 0%, rgba(21,23,26,.85) 100%); z-index:1; pointer-events:none;}

.hero-frame{position:absolute; inset:14px; z-index:2; pointer-events:none;}

.hero-frame .corner{position:absolute; width:22px; height:22px; border-color:rgba(245,244,242,.85);}

.hero-frame .corner.tl{top:0; left:0; border-top:2px solid; border-left:2px solid;}

.hero-frame .corner.br{bottom:0; right:0; border-bottom:2px solid; border-right:2px solid;}

.hero-frame .dash{position:absolute; top:0; left:28px; width:18px; height:2px; background:var(--red);}

.hero-content{position:relative; z-index:1; max-width:660px; padding:140px 24px 52px; margin-inline:0 auto;}

@media (min-width:1160px){ .hero-content{padding-left:calc((100% - 1160px)/2 + 24px);} }

@media (max-width:480px){ .hero-content{padding:110px 16px 40px;} }

.hero-content::before{content:""; position:absolute; z-index:-1; top:-60px; bottom:-52px; left:-100vw; right:-100vw; background:linear-gradient(0deg, rgba(21,23,26,.95) 0%, rgba(21,23,26,.82) 60%, rgba(21,23,26,0) 100%);}

.hero h1{font-family:var(--font-display); font-weight:800; font-size:clamp(2rem,4.6vw,3.2rem); line-height:1.02; letter-spacing:-.01em; margin-block:12px 16px; text-transform:uppercase; color:var(--on-graphite);}

.hero p.lead{font-size:1.08rem; line-height:1.55; color:var(--on-graphite-soft); max-width:46ch;}

.hero-cta{display:flex; gap:12px; margin-top:26px; flex-wrap:wrap;}

.btn{font-family:var(--font-body); font-weight:700; font-size:.9rem; padding:14px 22px; border-radius:var(--radius-m); border:1.5px solid transparent; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:8px; transition:transform .15s ease, background-color .15s ease, border-color .15s ease;}

.btn:active{transform:translateY(1px);}

.btn-primary{background:var(--red); color:#fff;}

.btn-primary:hover{background:var(--red-dark);}

.btn-ghost-dark{background:transparent; border-color:rgba(245,244,242,.4); color:var(--on-graphite);}

.btn-ghost-dark:hover{border-color:var(--on-graphite); background:rgba(245,244,242,.08);}

/* STATS */
  .stats-head{display:flex; align-items:center; gap:10px; padding:18px 0 0;}

.stats-head::after{content:""; flex:1; height:1px; background:var(--line); margin-left:6px;}

.stats{display:grid; grid-template-columns:repeat(4,1fr);}

@media (max-width:760px){ .stats{grid-template-columns:1fr 1fr;} }

.stat{padding:24px 22px 26px; border-left:1px solid var(--line);}

.stat:first-child{border-left:none;}

@media (max-width:760px){ .stat{border-left:1px solid var(--line);} .stat:nth-child(2n+1){border-left:none;} .stat:nth-child(n+3){border-top:1px solid var(--line);} }

.stat .num{font-family:var(--font-display); font-weight:800; font-size:2.5rem; line-height:1; font-variant-numeric:tabular-nums;}

.stat .label{font-size:.85rem; color:var(--ink-soft); margin-top:8px; line-height:1.35;}

/* CONTENT TYPOGRAPHY */
  .content h2{font-family:var(--font-display); font-weight:800; text-transform:uppercase; font-size:clamp(1.5rem,2.8vw,2rem); border-bottom:2px solid var(--ink); padding-bottom:12px; margin-bottom:20px; display:flex; align-items:baseline; gap:12px;}

.content h2 .tag{font-family:var(--font-mono); font-size:.76rem; color:var(--red); font-weight:600;}

.content h3{font-family:var(--font-body); font-weight:800; font-size:1rem; text-transform:uppercase; letter-spacing:.02em; margin-top:32px; margin-bottom:10px; display:flex; align-items:center; gap:10px;}

.content h3::before{content:""; width:14px; height:2px; background:var(--red); display:inline-block; flex-shrink:0;}

.content p{line-height:1.7; margin-block:15px;}

.content p a, .content li a{color:var(--red); font-weight:600; text-decoration-thickness:1.5px;}

.content ul, .content ol{line-height:1.62; padding-left:1.3em; margin-block:15px;}

.content li{margin-block:7px;}

.content ol.errors{list-style:none; padding-left:0; counter-reset:err;}

.content ol.errors li{counter-increment:err; position:relative; padding-left:44px; margin-block:17px;}

.content ol.errors li::before{content:counter(err,decimal-leading-zero); position:absolute; left:0; top:-4px; font-family:var(--font-display); font-weight:800; font-size:1.4rem; color:var(--red);}

.formula{background:var(--graphite); color:var(--on-graphite-soft); font-family:var(--font-mono); font-size:.82rem; padding:20px 22px; line-height:2; margin-block:20px; overflow-x:auto;}

.formula .f-plus{color:#FF8790;}

.formula .f-eq{color:var(--on-graphite); font-weight:600; border-top:1px solid var(--graphite-3); padding-top:8px; margin-top:4px; display:block;}

.table-wrap{overflow-x:auto; margin-block:22px;}

table.mz{width:100%; border-collapse:collapse; font-size:.86rem;}

table.mz caption{text-align:left; font-family:var(--font-mono); font-size:.66rem; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:9px; caption-side:top;}

table.mz th{background:var(--graphite); color:var(--on-graphite); font-family:var(--font-mono); font-weight:600; font-size:.66rem; letter-spacing:.05em; text-transform:uppercase; text-align:left; padding:10px 13px; border-bottom:2px solid var(--red);}

table.mz td{padding:10px 13px; border-bottom:1px solid var(--line); vertical-align:top;}

table.mz tr:nth-child(even) td{background:var(--bg-elev);}

.callout{position:relative; padding:16px 20px 16px 40px; border-radius:var(--radius-s); margin-block:22px; font-size:.93rem; line-height:1.6;}

.callout .marker{position:absolute; left:16px; top:19px; width:9px; height:9px;}

.callout .callabel{font-family:var(--font-mono); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; font-weight:600; display:block; margin-bottom:7px;}

.callout-note{background:var(--graphite); color:var(--on-graphite);}

.callout-note .marker{background:var(--red); border-radius:50%;}

.callout-note .callabel{color:#FF8790;}

.callout-note a{color:#FF9AA2;}

.callout-fact{background:var(--paper); border:1px solid var(--line);}

.callout-fact .marker{background:transparent; border:2px solid var(--ink-soft);}

.callout-fact .callabel{color:var(--ink-soft);}

.callout-alert{background:var(--red-soft); color:var(--ink);}

.callout-alert .marker{background:var(--red); clip-path:polygon(50% 0,100% 100%,0 100%);}

.callout-alert .callabel{color:var(--red-dark);}

figure.content-photo{margin:30px 0; border:1px solid var(--line); position:relative;}

figure.content-photo .frame{position:relative; overflow:hidden; aspect-ratio:16/9; background:var(--bg-elev);}

figure.content-photo img{width:100%; height:100%; object-fit:cover; display:block;}

figure.content-photo .fig-tag{position:absolute; top:10px; left:10px; background:rgba(21,23,26,.78); color:var(--on-graphite); font-family:var(--font-mono); font-size:.62rem; letter-spacing:.08em; padding:4px 8px; text-transform:uppercase;}

figure.content-photo figcaption{font-family:var(--font-mono); font-size:.72rem; color:var(--ink-soft); padding:10px 14px; border-top:1px solid var(--line); background:var(--bg-elev);}

/* ROADMAP */
  .roadmap-head{display:flex; justify-content:space-between; align-items:end; gap:16px; flex-wrap:wrap; margin-bottom:28px;}

.roadmap{display:flex; flex-direction:column; position:relative;}

.roadmap::before{content:""; position:absolute; left:29px; top:6px; bottom:6px; width:1px; background:var(--line); z-index:0;}

.rstep{display:grid; grid-template-columns:60px 1fr auto; gap:18px; align-items:start; padding-block:16px; border-top:1px solid var(--line); text-decoration:none; color:inherit; position:relative; z-index:1;}

.roadmap .rstep:last-child{border-bottom:1px solid var(--line);}

.rstep-num{font-family:var(--font-display); font-weight:800; font-size:1.9rem; color:var(--line); line-height:1; transition:color .15s ease; background:var(--bg-elev); position:relative; z-index:2; width:fit-content;}

.rstep:hover .rstep-num, .rstep:hover .rstep-name{color:var(--red);}

.rstep-body .rstep-name{font-weight:700; font-size:1.02rem; transition:color .15s ease;}

.rstep-body .rstep-desc{color:var(--ink-soft); font-size:.88rem; margin-top:3px;}

.rstep-meta{font-family:var(--font-mono); font-size:.72rem; color:var(--ink-soft); text-align:right; white-space:nowrap; padding-top:4px;}

.rstep-meta b{display:block; color:var(--ink); font-weight:600; font-size:.78rem;}

@media (max-width:600px){ .rstep{grid-template-columns:36px 1fr;} .rstep-num{font-size:1.3rem;} .rstep-meta{grid-column:2; text-align:left; padding-top:6px;} .roadmap::before{left:17px;} }

/* CALCULATOR CTA */
  .calc-panel{background:var(--graphite); color:var(--on-graphite); display:grid; grid-template-columns:1.2fr .8fr; gap:36px; align-items:center; padding:44px; border-top:3px solid var(--red);}

@media (max-width:760px){ .calc-panel{grid-template-columns:1fr; padding:30px 20px;} }

.calc-panel h2{font-family:var(--font-display); font-weight:800; text-transform:uppercase; font-size:clamp(1.6rem,3.2vw,2.2rem); margin-block:10px 12px; border:none; padding:0;}

.calc-panel p{color:var(--on-graphite-soft); max-width:44ch; line-height:1.6;}

.calc-chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:18px;}

.calc-chips span{font-family:var(--font-mono); font-size:.64rem; letter-spacing:.05em; text-transform:uppercase; color:var(--on-graphite-soft); border:1px solid var(--graphite-3); padding:5px 9px;}

.calc-note{font-family:var(--font-mono); font-size:.66rem; color:var(--on-graphite-soft); margin-top:16px; opacity:.75;}

/* SIMULATIONS */
  .sim-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}

@media (max-width:820px){ .sim-grid{grid-template-columns:1fr;} }

.sim-card{background:var(--paper); display:flex; flex-direction:column; border-top:3px solid var(--line);}

.sim-card.pos{border-top-color:var(--green-ok);}

.sim-card.neg{border-top-color:var(--red);}

.sim-head{padding:15px 18px;}

.sim-head .s-tag{font-family:var(--font-mono); font-size:.66rem; color:var(--ink-soft); letter-spacing:.06em;}

.sim-head .s-name{font-weight:700; font-size:.98rem; margin-top:4px;}

.sim-rows{padding:0 18px 18px; flex:1; display:flex; flex-direction:column; gap:9px;}

.sim-row{display:flex; justify-content:space-between; font-size:.85rem; border-bottom:1px dashed var(--line); padding-bottom:8px;}

.sim-row span:first-child{color:var(--ink-soft);}

.sim-row span:last-child{font-variant-numeric:tabular-nums; font-weight:600;}

.sim-flag{font-family:var(--font-mono); font-size:.64rem; letter-spacing:.04em; text-transform:uppercase; padding:3px 8px; align-self:flex-start; margin:0 18px 12px;}

.sim-flag.neg{background:var(--red-soft); color:var(--red-dark);}

.sim-flag.pos{background:var(--bg-elev); color:var(--green-ok);}

.sim-total{margin-top:auto; padding:14px 18px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:baseline;}

.sim-total .t-label{font-family:var(--font-mono); font-size:.66rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-soft);}

.sim-total .t-value{font-family:var(--font-display); font-weight:800; font-size:1.6rem; font-variant-numeric:tabular-nums;}

.t-value.pos{color:var(--green-ok);}

.t-value.neg{color:var(--red);}

/* CHECKLIST */
  .check-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:32px;}

@media (max-width:820px){ .check-grid{grid-template-columns:1fr; gap:26px;} }

.check-col h3{display:flex; justify-content:space-between; align-items:baseline; font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--red); border-bottom:1px solid var(--line); padding-bottom:10px; margin-bottom:6px;}

.check-col .check-count{color:var(--ink-soft); font-weight:400; font-variant-numeric:tabular-nums;}

.check-item{display:flex; align-items:flex-start; gap:10px; padding-block:7px; font-size:.89rem; line-height:1.4;}

.check-item input[type="checkbox"]{appearance:none; -webkit-appearance:none; width:17px; height:17px; min-width:17px; border:1.5px solid var(--ink-soft); border-radius:var(--radius-s); margin-top:1px; display:grid; place-content:center; cursor:pointer; background:var(--paper);}

.check-item input[type="checkbox"]::before{content:""; width:8px; height:8px; transform:scale(0); background:var(--red); transition:transform .1s ease-in;}

.check-item input[type="checkbox"]:checked::before{transform:scale(1);}

.check-item input[type="checkbox"]:checked{border-color:var(--red);}

.check-item label{cursor:pointer;}

.check-item:has(input:checked) label{color:var(--ink-soft); text-decoration:line-through; text-decoration-color:var(--line);}

.check-note{font-family:var(--font-mono); font-size:.68rem; color:var(--ink-soft); margin-top:22px;}

/* FAQ */
  .faq-list{border-top:1px solid var(--line);}

.faq-list details{border-bottom:1px solid var(--line);}

.faq-list details[open]{border-left:2px solid var(--red);}

.faq-list summary{list-style:none; cursor:pointer; padding:17px 0 17px 16px; display:flex; justify-content:space-between; align-items:center; gap:16px; font-weight:700; font-size:.98rem;}

.faq-list details:not([open]) summary{padding-left:18px;}

.faq-list summary::-webkit-details-marker{display:none;}

.faq-list summary .q-pre{font-family:var(--font-mono); color:var(--red); margin-right:9px; font-weight:600;}

.faq-list summary .plus{font-family:var(--font-mono); font-size:1.05rem; color:var(--ink-soft); min-width:20px; text-align:right; transition:transform .15s ease;}

.faq-list details[open] summary .plus{transform:rotate(45deg); color:var(--red);}

.faq-list .faq-a{padding:0 0 18px 16px; color:var(--ink-soft); line-height:1.6; max-width:64ch;}

/* SOURCES */
  .sources{background:var(--bg-elev); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}

.sources h2{font-family:var(--font-mono); font-size:.8rem; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-soft); margin-bottom:16px; border:none; padding:0;}

.sources ul{margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,1fr); gap:8px 32px; font-size:.85rem; color:var(--ink-soft);}

@media (max-width:640px){ .sources ul{grid-template-columns:1fr;} }

.sources li{margin:0;}

.sources li b{color:var(--ink);}

.sources li a{color:var(--ink); text-decoration-line:underline; text-decoration-color:var(--line); text-underline-offset:2px;}

.sources li a:hover{color:var(--red); text-decoration-color:var(--red);}

.sources .rev{margin-top:18px; font-family:var(--font-mono); font-size:.72rem; color:var(--ink-soft);}

.sources .disclaimer{margin-top:10px; font-size:.8rem; color:var(--ink-soft); max-width:70ch; line-height:1.6;}

/* RECURSOS RELACIONADOS */
  .resources-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:26px;}

@media (max-width:820px){ .resources-grid{grid-template-columns:1fr 1fr;} }

@media (max-width:560px){ .resources-grid{grid-template-columns:1fr;} }

.resource-card{background:var(--paper); padding:20px; text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:8px; transition:background-color .15s ease;}

.resource-card:hover{background:var(--bg-elev);}

.resource-card .r-tag{font-family:var(--font-mono); font-size:.62rem; letter-spacing:.07em; text-transform:uppercase; color:var(--red);}

.resource-card .r-name{font-weight:700; font-size:.94rem; line-height:1.3;}

.resource-card .r-desc{font-size:.82rem; color:var(--ink-soft); line-height:1.45;}

.resource-card .r-go{margin-top:auto; font-family:var(--font-mono); font-size:.72rem; color:var(--ink-soft);}

.resource-card:hover .r-go{color:var(--red);}

/* SOCIALES (placeholder honesto) */
  .social-block{border-top:1px solid var(--line); padding-top:28px; margin-top:32px;}

.social-row{display:flex; flex-wrap:wrap; gap:10px; align-items:center;}

.social-chip{font-family:var(--font-mono); font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; color:var(--ink); border:1px solid var(--line); padding:12px 18px; min-height:44px; display:inline-flex; align-items:center; gap:9px; text-decoration:none; border-radius:var(--radius-s); transition:background-color .15s ease, border-color .15s ease, color .15s ease;}

.social-chip:hover{background:var(--red); border-color:var(--red); color:#fff;}

.social-chip svg{width:16px; height:16px; flex-shrink:0; fill:currentColor;}

.end-note{text-align:center; padding-block:34px; font-family:var(--font-mono); font-size:.7rem; color:var(--ink-soft); letter-spacing:.05em;}
