﻿/* Shared public identity. Kept after the legacy page styles deliberately. */
:root {
  --color-brand-50:#f0f6f1;--color-brand-100:#e2eee4;--color-brand-200:#c7dfce;
  --color-brand-300:#abd5b7;--color-brand-400:#86bc98;--color-brand-500:#28764d;
  --color-brand-600:#21603f;--color-brand-700:#194d33;--color-brand-800:#163e2d;--color-brand-900:#102d22;
  --background:#faf9f5;--foreground:#20392f;--muted:#eef1e9;--muted-foreground:#536259;--border:#d9dfd5;
  --paper:var(--background);--cream:var(--background);--cream-deep:var(--muted);--ink:var(--foreground);--ink-60:var(--muted-foreground);--ink-40:#617166;--rule:var(--border);--moss:#21603f;--moss-deep:#194d33;
  --papel:#faf9f5;--papel-2:#fffefa;--texto:#20392f;--texto-2:#536259;--linea:#d9dfd5;--acento:#21603f;--acento-claro:#e2eee4;--tinta:#173e2e;
}
html.dark {--background:#14241d;--foreground:#f1f3ed;--muted:#1e3228;--muted-foreground:#b7c6b9;--border:#405547;--ink-40:#b7c6b9;--moss:#abd5b7;--moss-deep:#abd5b7;--color-brand-600:#21603f;}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--papel:#14241d;--papel-2:#1e3228;--texto:#f1f3ed;--texto-2:#b7c6b9;--linea:#405547;--acento:#abd5b7;--acento-claro:#234731;}}
html {scroll-padding-top:100px;}
:where(a,button,input,select,summary,[tabindex]):focus-visible {outline:3px solid #ad690e;outline-offset:4px;}
.skip-link {position:fixed;top:10px;left:16px;z-index:1000;transform:translateY(-160%);padding:12px 20px;background:#fff;color:#173e2e;border:2px solid #21603f;border-radius:4px;}
.skip-link:focus {transform:translateY(0);}
.btn,.btn-sm,.theme-toggle button,.lang-toggle button {min-height:44px;height:auto;}
.btn {border-radius:7px;white-space:normal;text-align:center;}
.btn-primary,.btn-primario {background:#21603f;color:#fff;box-shadow:none;}
.btn-primary:hover,.btn-primario:hover,.hero .btn-primary:hover {background:#194d33;color:#fff;box-shadow:none;}
.nav {border-bottom:1px solid var(--linea);}
.nav-inner {gap:12px;flex-wrap:wrap;}
.nav-links {flex-wrap:wrap;justify-content:flex-end;}
.nav-links a:not(.btn) {padding:10px 9px;}
.theme-toggle button,.lang-toggle button {min-width:40px;}
.public-menu {position:relative;border:0;margin-left:auto;color:var(--texto);}
.public-menu summary {min-height:44px;display:flex;align-items:center;padding:8px 14px;cursor:pointer;border:1px solid var(--linea);border-radius:7px;font:inherit;list-style:none;}
.public-menu summary::after {content:none;}
.public-menu nav {position:absolute;right:0;top:calc(100% + 8px);z-index:150;width:min(290px,calc(100vw - 32px));padding:8px;background:var(--papel-2);border:1px solid var(--linea);border-radius:8px;box-shadow:0 12px 28px #102d2220;}
.public-menu nav a {display:block;padding:12px;border-radius:4px;color:var(--texto);font-size:15px;text-decoration:none;}
.public-menu nav a:hover {background:var(--acento-claro);}
.nav-inner>.public-menu {display:none;}
.hero {background:#173e2e;}
.hero::before,.hero::after,.cta-banner::before {display:none;}
.hero h1 {text-wrap:balance;}
.hero h1 em,.hero h1 .accent {background:none;color:#c5dec7;-webkit-text-fill-color:currentColor;}
.hero .hero-nota {color:#d5dfd6;}
.cta-banner {background:#173e2e;}
.hero-human {padding:72px 0 64px;text-align:left;background:var(--background);color:var(--foreground);}
.human-grid {display:grid;grid-template-columns:1.04fr 1fr;gap:48px;align-items:center;}
.human-copy {min-width:0;}
.human-eyebrow {font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--muted-foreground);margin:0 0 24px;}
.hero-human h1 {font-size:clamp(42px,4.1vw,60px);line-height:1.08;letter-spacing:-.045em;max-width:16ch;margin:0 0 24px;color:var(--foreground);padding:0;}
.hero-human h1 em {font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.04em;color:var(--moss);}
.hero-human p.lead {font-size:18px;line-height:1.65;color:var(--muted-foreground);margin:0 0 28px;max-width:43ch;padding:0;}
.hero-human .hero-ctas {justify-content:flex-start;gap:12px;margin:0 0 16px;padding:0;}
.hero-human .btn-primary {background:#21603f;box-shadow:none;}
.hero-human .btn-outline {color:var(--foreground);border-color:#899b8b;background:transparent;backdrop-filter:none;}
.hero-human .btn-outline:hover {background:var(--muted);color:var(--foreground);border-color:var(--moss);}
.human-note {font-size:13px;color:var(--muted-foreground);max-width:44ch;margin:0;}
.human-photo {margin:0;min-width:0;}
.human-photo img {width:100%;height:470px;object-fit:cover;object-position:46% center;border-radius:6px;}
.human-photo figcaption {padding-top:14px;font-size:15px;color:var(--foreground);}
.human-photo figcaption small {display:block;margin-top:3px;font-size:11px;color:var(--muted-foreground);}
.audience-section {border-top:1px solid var(--border);padding:72px 0;}
.audience-section>.container {display:grid;grid-template-columns:1fr 1.3fr;gap:72px;}
.audience-intro h2 {font-size:clamp(30px,3vw,40px);line-height:1.12;letter-spacing:-.035em;margin:0 0 20px;}
.audience-intro>p:last-child {color:var(--muted-foreground);max-width:32ch;}
.audience-list article {display:flex;gap:22px;padding:24px 0;border-bottom:1px solid var(--border);}
.audience-list article:first-child {padding-top:0;}
.audience-number {font-family:ui-monospace,monospace;color:var(--muted-foreground);font-size:12px;padding-top:4px;}
.audience-list h3 {font-size:18px;margin-bottom:8px;}
.audience-list p {color:var(--muted-foreground);font-size:15px;max-width:48ch;margin-bottom:8px;}
.audience-list a {display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;color:var(--moss);font-weight:600;font-size:14px;}
.feature {border-radius:7px;}
.feature:hover {transform:none;box-shadow:none;}
.feature h3 {font-size:17px;}
.feature p {font-size:15px;}
.feature .ico {display:none;}
.section-title h2 {line-height:1.13;}
.calc-assumptions {opacity:1!important;font-size:14px!important;}
.calc-assumptions summary {min-height:44px;display:flex;align-items:center;}
.calc input[type=range] {height:28px;background:linear-gradient(var(--border),var(--border)) center/100% 4px no-repeat;}
.calc input[type=range]:focus-visible {outline:3px solid #ad690e;outline-offset:4px;}
.faq-a {max-height:none;}
.faq-item:has(.faq-q[aria-expanded="false"]) .faq-a {display:none;}
.faq-item:has(.faq-q[aria-expanded="true"]) .faq-a {max-height:none;}
.faq-a a {text-decoration:underline;text-underline-offset:3px;}
.fade-in {opacity:1;transform:none;}
.tabla-scroll:focus-visible {outline:3px solid #ad690e;outline-offset:3px;}
.photo-band {margin:32px 0 0;}
.photo-band img {display:block;width:100%;height:280px;object-fit:cover;object-position:center 44%;border-radius:6px;}
.photo-band figcaption {font-size:12px;color:var(--texto-2);margin-top:8px;}
@media(min-width:801px) and (max-width:1120px){.nav-inner>.public-menu{display:block;}.nav-links>a:not(.btn){display:none;}.nav-inner{flex-wrap:nowrap;}.human-grid{gap:28px;}.human-photo img{height:440px;}}
@media(max-width:800px){
 .nav-inner>.public-menu{display:block;}.nav-inner{flex-wrap:wrap;padding:10px 18px;gap:8px;}.nav-links{display:contents;}.nav-links>a:not(.btn),.nav-links>.lang-toggle,.nav-links>.theme-toggle{display:none;}
 .nav-inner .btn-sm{min-height:44px;padding:8px 12px;font-size:13px;}.brand-text{font-size:17px;}.brand-svg{width:26px;height:26px;}
 .nav>.wrap{gap:10px;flex-wrap:wrap;}.nav .nav-acciones{gap:8px;}.nav .nav-acciones .btn{padding:0 12px;font-size:13px;}.nav>.wrap>.btn{font-size:13px;padding:0 12px;}
 .hero-human{padding:40px 0;}.human-grid{grid-template-columns:1fr;gap:32px;}.hero-human h1{font-size:clamp(40px,7.6vw,58px);max-width:18ch;}.hero-human p.lead{font-size:17px;}.hero-human .hero-ctas{flex-direction:row;}.hero-human .hero-ctas .btn{width:auto;}.human-photo img{height:320px;}.human-photo{max-width:620px;}
 .audience-section{padding:48px 0;}.audience-section>.container{grid-template-columns:1fr;gap:32px;}.audience-intro h2 br{display:none;}.audience-intro h2{max-width:18ch;}.human-eyebrow{margin-bottom:18px;}
 .hero:not(.hero-human) h1{font-size:clamp(34px,6vw,48px);}.photo-band img{height:230px;}
}
@media(max-width:440px){.hero-human .hero-ctas{flex-direction:column;}.hero-human .hero-ctas .btn{width:100%;}.human-photo img{height:260px;}.nav .nav-acciones>.btn-fantasma{display:none;}.public-menu summary{padding:8px 10px;}.nav-inner{padding:8px 12px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}.fade-in{opacity:1!important;transform:none!important;}}
.features-focused {grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;background:transparent;}
.features-focused .feature {padding:24px 0;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;}
.features-focused .feature h3 {margin-bottom:12px;}
.feature-plan-note {margin:28px auto 0;max-width:68ch;text-align:center;color:var(--muted-foreground);font-size:14px;}
.feature-plan-note a {text-decoration:underline;text-underline-offset:3px;}
@media(max-width:800px){.features-focused{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.features-focused{grid-template-columns:1fr;gap:12px;}}
/* These pages use the explicit theme toggle, independently of the OS theme. */
html:has(.nav-inner):not(.dark) {--papel:#faf9f5;--papel-2:#fffefa;--texto:#20392f;--texto-2:#536259;--linea:#d9dfd5;--acento:#21603f;--acento-claro:#e2eee4;}
html.dark:has(.nav-inner) {--papel:#14241d;--papel-2:#1e3228;--texto:#f1f3ed;--texto-2:#b7c6b9;--linea:#405547;--acento:#abd5b7;--acento-claro:#234731;}
.public-menu summary {color:var(--texto);}
.public-menu .menu-preferences {display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--linea);padding:10px 6px;margin-top:6px;}
.public-menu .menu-preferences button {min-width:44px;min-height:44px;padding:8px 10px;border:1px solid var(--linea);border-radius:4px;color:var(--texto);font:inherit;background:transparent;cursor:pointer;}
.public-menu .menu-preferences button[aria-pressed=true] {background:var(--texto);color:var(--papel);}
@media(max-width:800px){.public-menu nav{position:fixed;top:64px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 80px);overflow:auto;}}
html:not(.dark) {--papel:#faf9f5;--papel-2:#fffefa;--texto:#20392f;--texto-2:#536259;--linea:#d9dfd5;--acento:#21603f;--acento-claro:#e2eee4;}
html.dark {--papel:#14241d;--papel-2:#1e3228;--texto:#f1f3ed;--texto-2:#b7c6b9;--linea:#405547;--acento:#abd5b7;--acento-claro:#234731;}
