:root { --ink:#173c31; --ink-soft:#355348; --paper:#fcfaf6; --sand:#eee6d8; --amber:#a97534; --line:#c9c2b6; --danger:#9a2c2c; --focus:#124f9f; --white:#fff; --shadow:0 12px 35px rgba(23,60,49,.10); }
.required-marker { color:var(--danger); font-weight:700; }
html[lang="es"] .field:has(> input[required], > select[required], > textarea[required]) > label::after,
html[lang="es"] fieldset[aria-required="true"] > legend::after,
html[lang="es"] .check-row:has(input[required])::after { content:" *"; color:var(--danger); font-weight:700; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; scroll-padding-top:6.5rem; } body { margin:0; color:var(--ink); background:var(--paper); font:1rem/1.6 Arial, Helvetica, sans-serif; } a { color:inherit; } a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline:3px solid var(--focus); outline-offset:3px; } .shell { width:min(1120px, calc(100% - 2rem)); margin-inline:auto; } .skip-link { position:absolute; left:1rem; top:-5rem; background:var(--white); padding:.75rem 1rem; z-index:100; } .skip-link:focus { top:1rem; }
.site-header { position:sticky; top:0; z-index:10; background:rgba(252,250,246,.96); border-bottom:1px solid var(--line); } .header-row { min-height:5.25rem; display:flex; align-items:center; gap:1rem; } .brand { font-weight:700; font-size:1.12rem; text-decoration:none; display:flex; align-items:center; gap:.5rem; margin-right:auto; } .brand-mark { display:grid; place-items:center; width:2.25rem; height:2.25rem; background:var(--ink); color:var(--white); border-radius:50%; } .primary-nav { display:flex; gap:1rem; font-size:.92rem; } .primary-nav a, .locale-switcher a { text-underline-offset:4px; } .locale-switcher { display:flex; gap:.3rem; white-space:nowrap; font-size:.9rem; } .locale-switcher [aria-current="page"] { font-weight:700; text-decoration:underline; } .menu-toggle { display:none; } .button { appearance:none; border:1px solid var(--ink); border-radius:.3rem; min-height:2.8rem; padding:.65rem 1rem; background:var(--ink); color:var(--white); font:inherit; font-weight:700; text-decoration:none; text-align:center; cursor:pointer; } .button:hover { background:#0e2f27; } .button-secondary { background:transparent; color:var(--ink); } .button-small { min-height:2.5rem; font-size:.86rem; padding:.45rem .7rem; }
.section { padding:5rem 0; } .section-tight { padding:1.5rem 0 4rem; } .hero { background:linear-gradient(115deg, #f7f1e8 0%, #f7f1e8 50%, #e4eee5 100%); } .hero-grid, .two-column, .form-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:3rem; align-items:center; } .eyebrow { margin:0 0 .5rem; color:#805a27; font-size:.76rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; } h1,h2,h3 { color:var(--ink); line-height:1.15; } h1 { max-width:14ch; margin:.2rem 0 1.25rem; font-family:Georgia, serif; font-size:clamp(2.5rem,5vw,4.6rem); } h2 { font-family:Georgia,serif; font-size:clamp(1.9rem,3vw,3rem); margin:.2rem 0 1rem; } h3 { margin-top:0; font-size:1.18rem; } .lede { max-width:56ch; color:var(--ink-soft); font-size:1.15rem; } .action-row { display:flex; flex-wrap:wrap; gap:.75rem; margin:1.5rem 0 .75rem; } .microcopy,.section-note,.field-help,.optional { color:#59685f; font-size:.9rem; } .hero-art { position:relative; display:grid; align-content:end; min-height:25rem; overflow:hidden; isolation:isolate; padding:2rem; background:#244e3c; color:#fff; box-shadow:var(--shadow); } .hero-art p { position:relative; z-index:2; width:min(22rem,100%); margin:0; font-weight:700; } .sun,.hill { position:absolute; border-radius:50%; } .sun { width:10rem; height:10rem; top:12%; right:18%; background:#ddb56a; opacity:.9; } .hill-one { width:34rem; height:22rem; right:-15%; bottom:-38%; background:#16362b; } .hill-two { width:30rem; height:19rem; left:-25%; bottom:-44%; background:#3e7257; }
.band { background:#eee6d8; } .card-grid { display:grid; gap:1.25rem; } .three-up { grid-template-columns:repeat(3,1fr); } .card,.scope-card,.review-form { background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow); } .card { padding:1.5rem; } .card h2 { font-family:Arial,Helvetica,sans-serif; font-size:1.25rem; } .section-intro,.narrow { max-width:50rem; } .steps { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; list-style:none; margin:2rem 0 1rem; padding:0; counter-reset:steps; } .steps li { counter-increment:steps; border-top:3px solid var(--amber); padding-top:1rem; } .steps li::before { content:"0" counter(steps); display:block; color:var(--amber); font-weight:700; margin-bottom:.45rem; } .detail-list { margin:0; padding-left:1.2rem; } .detail-list li { margin-bottom:.85rem; } .scope-card { padding:1.5rem; border-left:5px solid var(--amber); }
.conversion { background:#f3efe7; } .form-layout { align-items:start; } .review-form { padding:1.5rem; } .form-staging-note { margin-top:0; border-left:4px solid var(--amber); background:#fbf5e8; padding:.75rem; font-size:.9rem; } .form-status { min-height:0; font-weight:700; } .form-status:not(:empty) { margin:.75rem 0; padding:.75rem; background:#e3f0e6; border-left:4px solid #28713b; } fieldset { border:0; margin:1rem 0; padding:0; } legend,label { font-weight:700; } .radio-group { display:flex; flex-wrap:wrap; gap:1rem; margin-top:.4rem; } .radio-group label,.check-row { font-weight:400; } .field { margin:1rem 0; } input,select,textarea { width:100%; min-height:2.75rem; margin-top:.3rem; border:1px solid #757575; border-radius:.2rem; padding:.55rem; background:var(--white); color:#1d2923; font:inherit; } textarea { min-height:6rem; resize:vertical; } .volume-field { display:grid; grid-template-columns:1fr .8fr; gap:.6rem; } .volume-field label,.volume-field .field-error { grid-column:1 / -1; } .field-error { min-height:1.35rem; margin:.25rem 0 0; color:var(--danger); font-weight:700; font-size:.9rem; } .invalid { border:2px solid var(--danger); } .honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); } .check-row { display:block; margin:1rem 0; } .check-row input { width:auto; min-height:auto; margin-right:.4rem; } .disclosures { margin-top:1.25rem; border-top:1px solid var(--line); padding-top:1rem; } summary { cursor:pointer; font-weight:700; } .disclosures div { padding:.5rem 0; } .site-footer { background:#173c31; color:#fff; padding:2rem 0 5rem; } .footer-row { display:flex; gap:1rem; justify-content:space-between; flex-wrap:wrap; font-size:.9rem; } .mobile-cta { display:none; }
@media (max-width:1023px) { .header-row { flex-wrap:wrap; padding:.75rem 0; } .menu-toggle { display:inline-block; background:transparent; color:var(--ink); border:1px solid var(--ink); min-height:2.75rem; } .primary-nav { display:none; width:100%; flex-direction:column; padding:.5rem 0; } .primary-nav.is-open { display:flex; } .header-cta { display:none; } .hero-grid,.two-column,.form-layout,.three-up { grid-template-columns:1fr; } .hero-art { min-height:15rem; } .steps { grid-template-columns:1fr; max-width:42rem; } .mobile-cta { display:block; position:fixed; z-index:8; bottom:.75rem; left:1rem; right:1rem; box-shadow:0 5px 18px rgba(0,0,0,.25); } .site-footer { padding-bottom:6rem; } }
@media (max-width:600px) { .shell { width:min(100% - 1.25rem,1120px); } .section { padding:3.5rem 0; } .section-tight { padding-top:1.25rem; } .locale-switcher { order:0; } .brand { font-size:1rem; } .hero h1 { max-width:none; } .action-row { flex-direction:column; } .action-row .button { width:100%; } .volume-field { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; animation:none !important; } }
.brand-logo { width:2.25rem; height:2.25rem; border-radius:50%; object-fit:cover; }
.brand-mark { background:url("/assets/logo-1.jpg") center/cover no-repeat !important; color:transparent !important; }
