/* Capa de identidad pública: sólida, cercana y coherente con el portal. */
:root {
    --primary: #5f8f2f;
    --primary-hover: #477222;
    --dark: #172214;
    --texto-fuerte: #1d2819;
    --texto-suave: #687463;
    --border: #dfe6da;
    --bg-light: #f5f7f2;
}
body { color:var(--texto-fuerte); background:#fff; letter-spacing:-.008em; }
.container { width:min(1180px, calc(100% - 40px)); }

.landing-header { background:rgba(255,255,255,.9)!important; backdrop-filter:blur(16px); border-bottom:1px solid rgba(222,229,217,.85)!important; }
.nav-inner { min-height:76px; }
.logo { gap:11px!important; color:var(--dark)!important; font-size:14px!important; letter-spacing:.025em!important; }
.logo-icon, .logo-badge { border-radius:11px!important; background:linear-gradient(145deg,#79a844,#527d29)!important; box-shadow:0 7px 18px rgba(68,108,34,.18); }
.nav-links { gap:27px!important; }
.nav-links a { font-size:12.5px!important; font-weight:600!important; }
.btn-nav { padding:10px 16px!important; border-radius:10px!important; background:var(--dark)!important; box-shadow:0 8px 20px rgba(23,34,20,.13); }

.hero { min-height:600px; display:flex; align-items:center; padding:100px 0 105px!important; text-align:left!important; overflow:hidden; position:relative; background:
    radial-gradient(circle at 82% 22%, rgba(125,169,73,.18), transparent 27%),
    linear-gradient(120deg,#f7f9f4 0%,#fff 58%,#edf4e7 100%)!important; }
.hero::before { content:'A'; position:absolute; right:7%; top:50%; transform:translateY(-52%); color:transparent; -webkit-text-stroke:1px rgba(74,111,45,.08); font-size:min(45vw,530px); font-weight:800; line-height:1; pointer-events:none; }
.hero .container { position:relative; z-index:1; margin-left:max(20px,calc((100% - 1180px)/2)); margin-right:auto; }
.badge-hero { display:inline-flex!important; border:1px solid #d7e5ca!important; background:#f1f7eb!important; color:#456d26!important; border-radius:9px!important; padding:8px 12px!important; font-size:10.5px!important; font-weight:750!important; letter-spacing:.045em; text-transform:uppercase; }
.hero h1 { max-width:810px!important; margin:22px 0 20px!important; color:var(--dark)!important; font-size:clamp(40px,5.2vw,68px)!important; line-height:1.04!important; letter-spacing:-.055em!important; font-weight:780!important; }
.hero h1 span { color:var(--primary)!important; }
.hero p { max-width:660px!important; margin:0 0 30px!important; color:#5f6b5a!important; font-size:17px!important; line-height:1.7!important; }
.hero-btns { justify-content:flex-start!important; gap:11px!important; }
.btn-hero-main, .btn-hero-sec { min-height:49px; display:inline-flex!important; align-items:center; justify-content:center; padding:13px 19px!important; border-radius:11px!important; font-size:13px!important; font-weight:700!important; }
.btn-hero-main { background:linear-gradient(135deg,#689938,#4c7824)!important; box-shadow:0 12px 25px rgba(70,112,33,.2)!important; }
.btn-hero-sec { background:#fff!important; border:1px solid var(--border)!important; }

.pillars, .pricing { padding:96px 0!important; }
.how-it-works { padding:88px 0!important; }
.section-header { max-width:680px!important; margin-bottom:48px!important; }
.section-header .eyebrow { display:inline-block; color:var(--primary)!important; font-size:10px!important; font-weight:750!important; letter-spacing:.12em!important; }
.section-header h2 { margin:10px 0 12px!important; font-size:clamp(29px,3vw,40px)!important; line-height:1.15!important; letter-spacing:-.04em!important; }
.section-header p { font-size:15px!important; line-height:1.65!important; }
.grid-pillars { gap:16px!important; }
.pillar-card { border-radius:17px!important; border-color:var(--border)!important; padding:27px!important; box-shadow:0 10px 32px rgba(23,34,20,.04); transition:transform .2s,border-color .2s,box-shadow .2s; }
.pillar-card:hover { transform:translateY(-4px); border-color:#c7d6bd!important; box-shadow:0 18px 42px rgba(23,34,20,.075); }
.pillar-icon { border-radius:12px!important; background:#eff6e8!important; }
.step-card { border-radius:17px!important; padding:28px 24px!important; box-shadow:0 8px 25px rgba(23,34,20,.035); }
.step-number { border-radius:10px!important; background:var(--dark)!important; }
.price-card { border-radius:20px!important; padding:38px 31px!important; }
.price-card.featured { transform:translateY(-8px)!important; box-shadow:0 22px 55px rgba(77,122,38,.14)!important; }
.btn-select-plan { border-radius:11px!important; }
footer { background:#131d11!important; padding:48px 0!important; }

/* Acceso, registro y compra */
.login-form-side, .register-form-side { background:#fbfcfa!important; }
.login-box-inner, .register-box-inner { width:min(100%,500px)!important; }
.login-header h1, .register-header h1 { letter-spacing:-.04em!important; }
.login-eyebrow, .register-eyebrow { color:var(--primary)!important; letter-spacing:.1em!important; }
.form-input, .form-select { min-height:48px!important; border-radius:11px!important; border-color:var(--border)!important; background:#fff!important; }
.btn-submit-login, .btn-submit-register { min-height:50px!important; border-radius:11px!important; background:linear-gradient(135deg,#679738,#4c7626)!important; box-shadow:0 11px 24px rgba(74,116,38,.18)!important; }
.login-hero-side, .register-hero-side { background:radial-gradient(circle at 80% 15%,rgba(145,186,94,.22),transparent 32%),linear-gradient(145deg,#263d20,#101a0e)!important; }
.glass-card-quote { border-radius:22px!important; border-color:rgba(255,255,255,.15)!important; box-shadow:0 24px 65px rgba(0,0,0,.18); }
.checkout-container, .checkout-wrapper { border-radius:20px; }

@media(max-width:900px) {
    .container { width:min(100% - 28px,1180px); }
    .hero { min-height:auto; padding:78px 0!important; }
    .hero .container { margin-inline:auto; }
    .hero h1 { font-size:clamp(36px,10vw,50px)!important; }
    .hero::before { opacity:.5; right:-15%; }
    .pillars,.pricing,.how-it-works { padding:68px 0!important; }
    .price-card.featured { transform:none!important; }
}
