/* Layout: una columna de papel; secciones alternan papel y superficie, el embudo (ideas que se juntan en un post) es el hilo visual. Claro y oscuro con los mismos tokens. */
:root{
  --paper:#FBFAF6; --card:#FFFFFF; --line:#E2DBC6; --line-2:#D5CDB6; --cream:#F2EDDF; --btn2:#EFEBE0; --btn2-h:#E6E1D3; --bar:#C9C2AE;
  --ink:#1A1A17; --ink-soft:#5E5A4F; --on-ink:#FFFFFF;
  --teja:#C24E2F; --teja-dk:#A23E22; --ocre:#D49A22; --azul:#24508E; --verde:#3F6B37; --salvia:#A3C7B4;
  --verde-bg:#E3EEDD; --verde-tx:#2F5229; --azul-bg:#E1E8F3; --azul-tx:#24508E; --teja-bg:#F6E2DA; --ocre-bg:#F7EBCF; --ocre-tx:#6E4D0C;
  --shadow:0 1px 2px rgba(26,26,23,.12);
  --f-display:'Instrument Sans', Inter, system-ui, sans-serif;
  --f-body:Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-logo:'Instrument Sans', Inter, system-ui, sans-serif;
  --r:14px; --max:1160px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#141412; --card:#1C1B18; --line:#33312B; --line-2:#45423A; --cream:#25231E; --btn2:#2A2823; --btn2-h:#34322C; --bar:#4A473F;
  --ink:#F1EEE6; --ink-soft:#ADA898; --on-ink:#141412;
  --teja:#E2724F; --teja-dk:#EE8C6C; --ocre:#E0AA3A; --azul:#7EA6E0; --verde:#79AE6B; --salvia:#7FA894;
  --verde-bg:#1F2C1B; --verde-tx:#A6D198; --azul-bg:#1A2436; --azul-tx:#A9C3EA; --teja-bg:#33201A; --ocre-bg:#30260F; --ocre-tx:#EBC777;
  --shadow:0 1px 2px rgba(0,0,0,.5); color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#141412; --card:#1C1B18; --line:#33312B; --line-2:#45423A; --cream:#25231E; --btn2:#2A2823; --btn2-h:#34322C; --bar:#4A473F;
  --ink:#F1EEE6; --ink-soft:#ADA898; --on-ink:#141412;
  --teja:#E2724F; --teja-dk:#EE8C6C; --ocre:#E0AA3A; --azul:#7EA6E0; --verde:#79AE6B; --salvia:#7FA894;
  --verde-bg:#1F2C1B; --verde-tx:#A6D198; --azul-bg:#1A2436; --azul-tx:#A9C3EA; --teja-bg:#33201A; --ocre-bg:#30260F; --ocre-tx:#EBC777;
  --shadow:0 1px 2px rgba(0,0,0,.5); color-scheme:dark}
:root[data-theme="light"]{color-scheme:light}

/* Ilustraciones: los colores literales del SVG se remapean a tokens para que funcionen en los dos temas */
svg [fill="#FFFFFF"]{fill:var(--card)} svg [fill="#F2EDDF"]{fill:var(--cream)} svg [stroke="#E2DBC6"]{stroke:var(--line)}
svg [fill="#5E5A4F"]{fill:var(--ink-soft)} svg [fill="#1A1A17"]{fill:var(--ink)} svg [stroke="#1A1A17"]{stroke:var(--ink)} svg [fill="#C9C2AE"]{fill:var(--bar)}
svg [stroke="#D49A22"]{stroke:var(--ocre)} svg [stroke="#C24E2F"]{stroke:var(--teja)} svg [stroke="#3F6B37"]{stroke:var(--verde)} svg [stroke="#24508E"]{stroke:var(--azul)}
svg [fill="#D49A22"]{fill:var(--ocre)} svg [fill="#C24E2F"]{fill:var(--teja)} svg [fill="#3F6B37"]{fill:var(--verde)} svg [fill="#24508E"]{fill:var(--azul)} svg [fill="#A3C7B4"]{fill:var(--salvia)}
svg [fill="#E3EEDD"]{fill:var(--verde-bg)} svg [fill="#2F5229"]{fill:var(--verde-tx)} svg .on-color{fill:#FFFFFF}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{background:var(--paper);color:var(--ink);font:400 17px/1.55 var(--f-body);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--paper)}
a{color:var(--teja-dk)}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--azul);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--f-display);font-weight:700;letter-spacing:-0.025em;text-wrap:balance;margin:0}
h2{font-size:clamp(30px,4vw,46px);line-height:1.12}
h3{font-size:22px;line-height:1.2}
p{margin:0}
.hl{color:var(--teja)}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
section{padding-block:128px}
@media (max-width:700px){section{padding-block:84px}}
.band{background:var(--card);border-block:1px solid var(--line)}
.eyebrow{font:600 13px/1.3 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:24px;display:block}
.lead{font-size:19px;line-height:1.65;color:var(--ink-soft);max-width:60ch}
.stack{display:grid;gap:28px;align-content:start}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:14px 24px;font:600 16px/1 var(--f-body);text-decoration:none;border:0;cursor:pointer;transition:transform .15s ease, background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-1{background:var(--ink);color:var(--on-ink)}
.btn-1:hover{color:var(--on-ink);opacity:.9}
.btn-2{background:var(--btn2);color:var(--ink)}
.btn-2:hover{color:var(--ink);background:var(--btn2-h)}
.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 11px;font:600 13px/1.3 var(--f-body);border:1.5px solid;white-space:nowrap}
.p-rev{background:var(--teja-bg);border-color:var(--teja);color:var(--teja-dk)}
.p-ok{background:var(--verde-bg);border-color:var(--verde);color:var(--verde-tx)}
.p-q{background:var(--azul-bg);border-color:var(--azul);color:var(--azul-tx)}
.p-pub{background:var(--ocre-bg);border-color:var(--ocre);color:var(--ocre-tx)}
.soon{font:600 12px/1 var(--f-body);letter-spacing:.04em;text-transform:uppercase;background:var(--ocre-bg);color:var(--ocre-tx);border-radius:999px;padding:5px 9px;white-space:nowrap}

/* Nav */
header.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb, var(--paper) 92%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:border-color .2s}
header.nav.scrolled{border-bottom-color:var(--line)}
.nav-in{display:flex;align-items:center;gap:22px;padding-block:14px}
header.nav .wrap{max-width:none;padding-left:max(clamp(20px,3vw,48px),env(safe-area-inset-left,0px));padding-right:max(clamp(20px,3vw,48px),env(safe-area-inset-right,0px))}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:700 23px/1 var(--f-logo);letter-spacing:-0.035em}
.logo:hover{color:var(--ink)}
.nav-links{display:flex;gap:24px;margin-left:28px}
.nav-links a{color:var(--ink);text-decoration:none;font-size:15px;font-weight:500;white-space:nowrap}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--teja-dk)}
.tools{display:flex;gap:8px;align-items:center}
.lang{display:flex;align-items:center;height:40px;background:var(--btn2);border-radius:999px;padding:3px}
.lang button{border:0;background:transparent;font:600 13px/1 var(--f-body);color:var(--ink-soft);height:34px;padding:0 11px;border-radius:999px;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}
.theme{width:40px;height:40px;flex:none;border-radius:50%;border:0;background:var(--btn2);color:var(--ink);display:grid;place-items:center;cursor:pointer}
.theme:hover{background:var(--btn2-h)}
.theme .moon{display:block}.theme .sun{display:none}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .theme .moon{display:none}:root:not([data-theme="light"]) .theme .sun{display:block}}
:root[data-theme="dark"] .theme .moon{display:none}:root[data-theme="dark"] .theme .sun{display:block}
.nav .btn{height:40px;padding:0 18px;font-size:15px;white-space:nowrap;flex:none}
.tools{flex:none;order:1}
.burger{order:2}
.burger{display:none;width:40px;height:40px;flex:none;border:0;border-radius:50%;background:var(--btn2);color:var(--ink);place-items:center;cursor:pointer}
.burger:hover{background:var(--btn2-h)}
.burger path{transition:d .2s ease}
.burger[aria-expanded="true"] .b1{d:path("M5 5L15 15")}
.burger[aria-expanded="true"] .b2{d:path("M5 15L15 5")}
.mnav{border-top:1px solid var(--line);background:var(--paper);max-height:calc(100dvh - 70px);overflow-y:auto}
.mnav-in{display:grid;padding-block:6px 24px}
.mnav a{color:var(--ink);text-decoration:none;font:700 22px/1.2 var(--f-display);letter-spacing:-0.02em;padding:16px 0;border-bottom:1px solid var(--line)}
.mnav a:hover{color:var(--teja-dk)}
.mtools{display:none;gap:8px;align-items:center;margin-top:20px}
@media (max-width:1240px){.nav-links{display:none}.login{display:none}.tools{display:none}.mtools{display:flex}.nav .btn{margin-left:auto}.burger{display:grid}}
@media (min-width:1241px){.mnav{display:none!important}}
.login{color:var(--ink);text-decoration:none;font-size:15px;font-weight:600;white-space:nowrap;flex:none;margin-left:auto}
.login:hover{color:var(--teja-dk)}
.mnav a.m-login{color:var(--teja-dk)}
@media (max-width:560px){.nav .btn{padding:0 14px;font-size:14px}.nav-in{gap:10px}}
@media (max-width:400px){.logo-tx{display:none}}

/* Hero */
.hero{padding-block:104px 104px}
@media (max-width:700px){.hero{padding-block:60px 72px}}
.hero-top{display:grid;gap:28px;max-width:none}
.hero .lead{max-width:60ch}
h1.hero-h{display:grid;gap:14px}
.claim{font-size:clamp(24px,6.2vw,74px);line-height:1.04;letter-spacing:-0.03em}
.rot{display:inline-grid;color:var(--teja)}
.rot .w{grid-area:1/1;opacity:0;translate:0 .35em;transition:opacity .45s ease, translate .45s ease}
.rot .w.on{opacity:1;translate:0 0}
.rot .w.out{opacity:0;translate:0 -.35em}
@media (prefers-reduced-motion: reduce){.rot .w{transition:none}}
.h1-sub{font-size:clamp(20px,2.4vw,28px);line-height:1.15;font-weight:500;letter-spacing:-0.01em}
.hero .lead{font-size:20px}
.ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:4px}
.video{margin:56px 0 0;display:grid;gap:12px}
.video-frame{position:relative;aspect-ratio:16/9;max-width:100%;background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;display:grid;place-items:center}
.video-frame svg.poster{position:absolute;inset:0;width:100%;height:100%}
.play{position:relative;z-index:1;display:grid;justify-items:center;gap:14px;text-align:center;padding:16px}
.play-btn{width:84px;height:84px;border-radius:50%;background:var(--ink);display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.play-btn svg{margin-left:6px}
.play span{font-weight:600;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:15px}
.video figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:15px;color:var(--ink-soft)}
.dots{display:inline-flex;gap:4px;vertical-align:middle;margin-right:8px}
.dots i{width:9px;height:9px;border-radius:50%;display:block}

/* Two columns */
.two{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:96px;align-items:center}
@media (max-width:860px){.two{grid-template-columns:minmax(0,1fr);gap:56px}}
.chat{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:18px;display:grid;gap:10px;max-width:440px;width:100%;justify-self:center}
.chat-h{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.chat-av{width:34px;height:34px;border-radius:50%;background:var(--azul);color:var(--on-ink);display:grid;place-items:center;font:600 14px/1 var(--f-body)}
.chat-h strong{font-size:15px;display:block}
.chat-h span{font-size:13px;color:var(--ink-soft)}
.msg{background:var(--card);border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:9px 13px;font-size:15px;max-width:82%}
.msg b{display:block;font-size:12px;margin-bottom:2px}
.sys{justify-self:center;font-size:13px;color:var(--teja-dk);background:var(--teja-bg);border-radius:999px;padding:5px 12px;font-weight:600;text-align:center}
.tag-ex{font-size:12px;color:var(--ink-soft);text-align:center}

/* Confeti de fondo: piezas sueltas y sutiles en los márgenes de cada sección */
main#home > section{position:relative;overflow:hidden}
main#home > section > .wrap{position:relative;z-index:1}
.cf-layer{position:absolute;inset:0;pointer-events:none;z-index:0}
.cf{position:absolute;display:block;opacity:.45;animation:cfdrift 9s ease-in-out infinite}
.cf.dot{border-radius:50%}
.cf.strip{border-radius:2px}
@keyframes cfdrift{0%,100%{translate:0 0}50%{translate:0 -10px}}
@media (max-width:700px){.cf.far{display:none}.cf{opacity:.3}}
@media (prefers-reduced-motion: reduce){.cf{animation:none}}

/* Logos de colectivos (provisionales, marcados como ejemplo) */
.logos{margin-top:44px;padding-top:28px;border-top:1px solid var(--line);display:grid;gap:14px}
.logos-label{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;color:var(--ink-soft)}
.logos-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 40px;color:var(--ink-soft);opacity:.8}
.lg{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-logo);font-size:18px;letter-spacing:-0.02em;white-space:nowrap}
.lg svg{fill:currentColor;flex:none}

/* Ritmo de fondos: las piezas toman el color contrario al de su sección */
.chat,.plan,.aud>span,.law-card{background:var(--card)}
.band .chat,.band .growth-fig,.band .plan,.band form,.band .aud>span,.band .law-card,.band .video-frame{background:var(--paper)}
.band input[type=text],.band input[type=email],.band select,.band textarea,.band .radios label{background:var(--card)}
.band .step-vis{background:var(--paper)}
.band .step-vis .chip,.band .step-vis .mini-post,.band .step-vis .cal div,.band .step-vis .mbtn:not(.ok){background:var(--card)}
.band .post{background:var(--paper)}

/* Supermenú de Recursos */
.mega-btn{border:0;background:none;padding:0;font:500 15px/1 var(--f-body);color:var(--ink);display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}
.mega-btn:hover,.mega-btn[aria-expanded="true"],.mega-btn[aria-current="page"]{color:var(--teja-dk)}
.mega-btn svg{transition:rotate .2s ease}
.mega-btn[aria-expanded="true"] svg{rotate:180deg}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--card);border-block:1px solid var(--line);box-shadow:0 24px 48px rgba(0,0,0,.08)}
.mega-in{max-width:var(--max);margin:0 auto;padding:36px 20px 40px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:64px}
.mega h4,.m-sect h4{margin:0 0 6px;font:600 12px/1.3 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.mega-desc{color:var(--ink-soft);font-size:15px;margin-bottom:12px}
.mega-arts a{display:block;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:600;font-size:15px;line-height:1.35}
.mega-arts a:hover{color:var(--teja-dk)}
.mega-all{display:inline-block;margin-top:14px;font-weight:600;font-size:15px}
.mega-sec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;margin-top:8px}
.mega-sec a{display:grid;grid-template-columns:12px minmax(0,1fr);gap:12px;align-items:start;padding:12px;border-radius:12px;color:var(--ink);text-decoration:none}
.mega-sec a:hover{background:var(--paper)}
.mega-sec i{width:10px;height:10px;border-radius:50%;margin-top:6px}
.mega-sec b{display:block;font-size:15px}
.mega-sec small{display:block;color:var(--ink-soft);font-size:13px;line-height:1.4;margin-top:2px}
@media (max-width:1240px){.mega{display:none!important}}
.m-sect{margin-top:22px;display:grid}
.mnav .m-sect a{font:600 17px/1.3 var(--f-body);letter-spacing:0;padding:11px 0;border-bottom:0;display:flex;gap:10px;align-items:center}
.m-sect i{width:9px;height:9px;border-radius:50%;flex:none}
/* Páginas por sector */
.sec-ideas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
@media (max-width:800px){.sec-ideas{grid-template-columns:minmax(0,1fr)}}
.sec-idea{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;display:grid;gap:12px;align-content:start}
.sec-idea i{width:12px;height:12px;border-radius:4px}
.sec-idea p{font-weight:600;font-size:17px;line-height:1.4}
.sec-others{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.sec-others a{border:1px solid var(--line-2);border-radius:999px;padding:9px 14px;color:var(--ink);text-decoration:none;font-weight:500;font-size:15px}
.sec-others a:hover{border-color:var(--ink)}

/* Growth */
.rule-top{border-top:1px solid var(--line)}
.growth-fig{margin:0;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px 18px 12px;max-width:440px;width:100%;justify-self:center}
.growth-fig svg{width:100%;height:auto;display:block}
.growth-fig text{font-family:var(--f-body)}
.gnodes circle{transform-box:fill-box;transform-origin:center;animation:grow 4.8s ease-in-out infinite}
.gnodes .g1{animation-delay:.3s}.gnodes .g2{animation-delay:.6s}.gnodes .g3{animation-delay:.9s}
@keyframes grow{0%,60%,100%{scale:1}70%{scale:1.18}}
@media (prefers-reduced-motion: reduce){.gnodes circle{animation:none}}

/* How */
.funnel-fig{margin:40px 0 0;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px 20px 12px}
.funnel-fig svg{width:100%;height:auto;display:block}
.funnel-fig text{font-family:var(--f-body)}
/* Animación del embudo: las aportaciones flotan, viajan por los trazos y el post late al recibirlas */
.funnel-fig .bob{animation:bob 4.2s ease-in-out infinite}
.funnel-fig .b2{animation-delay:-1.1s}.funnel-fig .b3{animation-delay:-2.3s}.funnel-fig .b4{animation-delay:-3.1s}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -6px}}
.funnel-fig .flowline{fill:none;stroke:#FFFFFF;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:2 18;opacity:.65;animation:flow 1.6s linear infinite}
@keyframes flow{to{stroke-dashoffset:-40}}
.funnel-fig .post-pop{transform-box:fill-box;transform-origin:center;animation:pop 2.8s ease-in-out infinite}
@keyframes pop{0%,70%,100%{scale:1}82%{scale:1.025}}
@media (prefers-reduced-motion: reduce){.funnel-fig .bob,.funnel-fig .flowline,.funnel-fig .post-pop{animation:none}.funnel-fig .flow-dots{display:none}}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 28px;margin-top:64px}
@media (max-width:980px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.steps{grid-template-columns:minmax(0,1fr)}}
.step{display:grid;grid-template-rows:150px auto auto;gap:18px;align-content:start}
.step-n{display:none}
.step-n span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#FFFFFF;font:600 14px/1 var(--f-body)}
.step-vis{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;justify-content:center;gap:8px;overflow:hidden}
.step p{color:var(--ink-soft);font-size:16px}
.chip{display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:7px 10px;font-size:14px}
.chip i{width:10px;height:10px;border-radius:3px;flex:none}
.mini-post{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:8px}
.mini-img{height:64px;border-radius:6px;background:var(--salvia);position:relative;overflow:hidden}
.mini-img::before{content:"";position:absolute;left:6px;bottom:0;border-left:18px solid transparent;border-right:18px solid transparent;border-bottom:30px solid var(--verde)}
.mini-img::after{content:"";position:absolute;right:8px;top:8px;width:12px;height:12px;border-radius:50%;background:var(--ocre)}
.mini-post strong{font-family:var(--f-display);font-size:15px;line-height:1.2;display:block}
.mini-post small{font-size:12px;color:var(--ink-soft)}
.bar{height:7px;border-radius:4px;background:var(--bar);margin-top:6px}
.btn-row{display:flex;flex-wrap:wrap;gap:6px}
.mbtn{font:600 13px/1 var(--f-body);border-radius:8px;padding:9px 10px;background:var(--paper);border:1px solid var(--line);color:var(--ink)}
.mbtn.ok{background:var(--verde);color:#FFFFFF;border-color:var(--verde)}
.cal{display:grid;gap:6px}
.cal div{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:14px;font-variant-numeric:tabular-nums}

/* Why / lists */
.split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:96px;align-items:start}
@media (max-width:860px){.split{grid-template-columns:minmax(0,1fr);gap:48px}}
.why-list{display:grid;border-top:1px solid var(--line)}
.why-item{display:grid;grid-template-columns:22px minmax(0,1fr);gap:20px;padding-block:30px;border-bottom:1px solid var(--line)}
.why-item svg{margin-top:4px}
.why-item h3{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}
.why-item p{color:var(--ink-soft)}

/* Privacy */
.law{display:grid;gap:14px;margin-top:8px}
.law-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;display:grid;gap:6px}
.law-card strong{font-family:var(--f-display);font-size:20px}
.law-card p{color:var(--ink-soft);font-size:16px}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:22px}
.checks li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start}
.checks li::before{content:"";width:12px;height:12px;border-radius:3px;background:var(--verde);margin-top:7px}
.checks .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* Case */
.case-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);margin:8px 0 0}
.case-facts div{padding:20px 16px 20px 0;border-bottom:1px solid var(--line)}
.case-facts dt{font-size:13px;color:var(--ink-soft);margin-bottom:4px}
.case-facts dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
@media (max-width:480px){.case-facts{grid-template-columns:minmax(0,1fr)}}
.case-vis{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:20px;display:grid;gap:14px;max-width:460px;width:100%;justify-self:center}
.carousel{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.slide{aspect-ratio:4/5;max-width:100%;border-radius:8px;padding:8px;display:flex;flex-direction:column;justify-content:flex-end;font:600 10px/1.15 var(--f-body);overflow:hidden}
.s1{background:#3F6B37;color:#FFFFFF}
.s1 b{font-family:var(--f-display);font-size:13px;line-height:1.05}
.s2{background:var(--card);border:1px solid var(--line)}
.s3{background:var(--ocre-bg);color:var(--ocre-tx)}
.s4{background:var(--salvia);color:#1A1A17}
.s5{background:#1A1A17;color:#FFFFFF}
.slide .ln{height:4px;border-radius:2px;background:currentColor;opacity:.25;margin-top:4px}
.prop{background:var(--card);border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:12px 14px;font-size:14px;display:grid;gap:10px}
.prop b{font-size:12px}

/* Audiences */
.aud{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.aud>span{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-size:16px;font-weight:500;display:inline-flex;align-items:center;gap:9px}
.aud i{width:9px;height:9px;border-radius:50%}

/* About */
.values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-self:start}
@media (max-width:560px){.values{grid-template-columns:minmax(0,1fr)}}
.vcard{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;display:grid;gap:10px;align-content:start}
.band .vcard{background:var(--paper)}
.vic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:6px}
.vic-ocre{background:var(--ocre-bg);color:var(--ocre-tx)}.vic-verde{background:var(--verde-bg);color:var(--verde-tx)}.vic-teja{background:var(--teja-bg);color:var(--teja-dk)}.vic-azul{background:var(--azul-bg);color:var(--azul-tx)}
.values strong{font-family:var(--f-display);font-size:20px;display:block;letter-spacing:-0.01em}
.values p{color:var(--ink-soft);font-size:16px}
.claim-big{font-family:var(--f-display);font-weight:700;font-size:clamp(28px,3.4vw,40px);letter-spacing:-0.02em}

/* Pricing */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:56px;align-items:start}
@media (max-width:900px){.plans{grid-template-columns:minmax(0,1fr);max-width:520px}}
.plan{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:34px;display:grid;gap:20px}
.plan.feat{border:2px solid var(--ink)}
.plan .name{font:600 15px/1 var(--f-body);color:var(--ink-soft)}
.price{font-family:var(--f-display);font-weight:600;font-size:46px;letter-spacing:-0.02em;line-height:1;font-variant-numeric:tabular-nums}
.price small{font:500 16px/1 var(--f-body);color:var(--ink-soft);letter-spacing:0}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:16px}
.plan li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px}
.plan li::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--verde);margin-top:7px}
.plan-desc{font-size:15px;color:var(--ink-soft)}
.price-note{font-size:14px;color:var(--ink-soft);margin-top:20px}

/* FAQ */
details{border-bottom:1px solid var(--line)}
details:first-of-type{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding-block:24px;font:600 18px/1.35 var(--f-body);display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:16px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font:400 26px/1 var(--f-body);color:var(--ink-soft);text-align:center;transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{padding-bottom:22px;color:var(--ink-soft);max-width:62ch}

/* Resources cards */
.res-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px}
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:48px}
@media (max-width:900px){.posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.posts{grid-template-columns:minmax(0,1fr)}}
.post{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;display:grid;grid-template-rows:auto auto 1fr auto;gap:14px;text-decoration:none;color:var(--ink);min-width:0;transition:border-color .15s, transform .15s}
a.post:hover{border-color:var(--ink);color:var(--ink);transform:translateY(-2px)}
.post .meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:var(--ink-soft)}
.post .cat{font-weight:600;color:var(--ink)}
.post .cat i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:0}
.post h3{font-size:21px}
.post p{color:var(--ink-soft);font-size:15px}
.post .more{font-weight:600;font-size:15px}
.post.is-soon{background:transparent;border-style:dashed}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.filters button{border:1px solid var(--line-2);background:transparent;color:var(--ink);border-radius:999px;padding:8px 14px;font:500 14px/1 var(--f-body);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}

/* Article */
.blog-hero{padding-block:48px 24px}
.blog-hero h1{font-size:clamp(36px,5vw,60px);line-height:1.05;letter-spacing:-0.02em;margin-top:6px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--ink-soft)}
.crumbs a{color:var(--ink-soft)}
.article{max-width:740px;margin:0 auto}
.article h1{font-size:clamp(34px,5vw,54px);line-height:1.08;letter-spacing:-0.02em;margin:14px 0 18px}
.art-meta{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:14px;color:var(--ink-soft);padding-bottom:24px;border-bottom:1px solid var(--line)}
.prose{font-family:var(--f-body);font-size:18px;line-height:1.7;padding-top:28px;display:grid;gap:18px}
.prose .lede{font-size:22px;line-height:1.55}
.prose h2{font-size:30px;margin-top:22px}
.prose h3{font-size:22px;margin-top:8px}
.prose ul,.prose ol{margin:0;padding-left:24px;display:grid;gap:8px}
.prose strong{font-weight:600}
.prose .note{font-family:var(--f-body);font-size:14px;color:var(--ink-soft);background:var(--cream);border-radius:12px;padding:14px 16px;line-height:1.5}
.prose .lang-note{font-family:var(--f-body);font-size:15px;background:var(--azul-bg);color:var(--azul-tx);border-radius:12px;padding:12px 16px}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.tbl table{border-collapse:collapse;width:100%;min-width:560px;font:400 15px/1.45 var(--f-body)}
.tbl th,.tbl td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-weight:600;background:var(--cream)}
.tbl tr:last-child td{border-bottom:0}
.tbl td:first-child{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}
.tpl{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;gap:12px}
.tpl pre{margin:0;white-space:pre-wrap;font:400 14px/1.6 ui-monospace,'SF Mono',Menlo,Consolas,monospace;color:var(--ink)}
.tpl .btn{justify-self:start;padding:10px 16px;font-size:14px}
.art-cta{margin-top:36px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:28px;display:grid;gap:14px;font-family:var(--f-body)}
.art-cta h3{font-size:26px}
.art-cta p{color:var(--ink-soft);font-size:17px;line-height:1.55}

/* Pilot form */
.next{list-style:none;margin:40px 0 0;padding:0;display:grid;gap:22px}
.next li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;align-items:start}
.next li span{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;font-weight:600;font-size:15px}
.next li p{color:var(--ink-soft);padding-top:5px}
form{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:36px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media (max-width:560px){form{grid-template-columns:minmax(0,1fr);padding:22px}}
.f{display:grid;gap:7px;min-width:0}
.f.full{grid-column:1/-1}
label,.lbl{font-size:14px;font-weight:600}
.opt{font-weight:400;color:var(--ink-soft)}
input[type=text],input[type=email],select,textarea{width:100%;font:400 16px/1.4 var(--f-body);color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-radius:10px;padding:12px 13px}
textarea{min-height:96px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--azul);outline-offset:1px;border-color:var(--azul)}
.radios{display:flex;flex-wrap:wrap;gap:8px}
.radios label{display:inline-flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line-2);border-radius:999px;padding:9px 14px;font-weight:500;cursor:pointer}
.radios input,.check input{accent-color:var(--ink);margin:0}
.check{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;font-weight:400;font-size:15px;color:var(--ink-soft)}
.check input{width:18px;height:18px;margin-top:2px}
.err{color:var(--teja-dk);font-size:14px;font-weight:600}
.done{grid-column:1/-1;display:grid;gap:12px;justify-items:start;padding:12px 0}
.done h3{font-size:28px}
.done p{color:var(--ink-soft)}

/* Footer */
footer{padding-block:80px 48px;border-top:1px solid var(--line)}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;align-items:flex-end}
.foot-links{display:flex;flex-wrap:wrap;gap:18px;font-size:15px}
.foot-links a{color:var(--ink);text-decoration:none}
.mail{font-weight:600;user-select:all}
.fine{font-size:13px;color:var(--ink-soft);margin-top:28px}
