/* Terra Atlántica — dirección editorial contemporánea, capa non destrutiva. */
@import url('https://fonts.googleapis.com/css2?family=Libre+Caslon+Display&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#171d1c;--forest:#284b46;--cream:#f5f2eb;--sand:#dcd5c8;--stroke:#dcd8ce;--muted:#575e59;--content-width:1360px;--radius-card:0;--radius-small:0;--shadow-soft:none}
body{font-family:Manrope,system-ui,sans-serif;background:#fcfbf8;color:var(--ink)}
.wrap{max-width:var(--content-width);padding-inline:clamp(20px,5vw,84px)}
.site-header{background:#fcfbf8;border-color:var(--stroke);backdrop-filter:none;-webkit-backdrop-filter:none}
.header-inner{min-height:92px}
.brand-icon{border:0;border-radius:0;background:none;color:var(--forest);font-family:"Libre Caslon Display",Georgia,serif;font-size:2.9rem}
.brand strong{font-size:.88rem;letter-spacing:.16em}
.brand small{letter-spacing:.18em}
.nav-ballot,.button,.select-button,.detail-aside .button,.ballot-summary .button{border-radius:0;box-shadow:none}
.nav-ballot{background:var(--forest);padding:12px 17px}
.hero{background:#f5f2eb;border-color:var(--stroke)}
.hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(35px,7vw,110px);min-height:670px}
.hero h1,.intro h2,.section-heading h2,.categories>h2,.voting h2,.interior-head h1,.category-card h3,.candidate-body h2,.detail-layout h2,.detail-aside h2,.ballot-layout h2,.ballot-category h2{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;letter-spacing:-.025em}
.hero h1{font-size:clamp(3.5rem,6vw,6.6rem);line-height:1.02;max-width:12ch;letter-spacing:-.035em}
.hero p{font-size:1.07rem;line-height:1.8;max-width:48ch}
.eyebrow{color:var(--forest);letter-spacing:.18em;font-size:.69rem}
.hero-art{border:1px solid #cfcac0;border-radius:0;box-shadow:none;background:#284b46;min-height:460px;position:relative}
.hero-art:before{content:"TERRA / ATLÁNTICA";position:absolute;inset:0;display:grid;place-items:center;font-family:"Libre Caslon Display",Georgia,serif;font-size:clamp(2.5rem,5vw,6rem);font-style:italic;line-height:1.05;text-align:center;color:#f5f2eb;padding:1rem}
.hero-art:after,.hero-art .circle,.hero-art .art-top,.hero-art .art-bottom,.hero-art .wave{display:none}
.intro{border-bottom:1px solid var(--stroke)}
.intro h2,.voting h2{font-size:clamp(2.5rem,4vw,4.4rem)}
.categories{padding-top:80px}
.category-grid{grid-template-columns:1fr;gap:0;border-top:1px solid var(--stroke)}
.category-card,.category-card:nth-child(n){background:transparent;border:0;border-bottom:1px solid var(--stroke);border-radius:0;min-height:170px;padding:34px 5px;display:grid;grid-template-columns:100px minmax(0,1fr) 54px;align-items:center;gap:24px;color:var(--ink)}
.category-card:before{display:none}
.category-card .number{font-size:.7rem;letter-spacing:.14em;color:#686d64}
.category-card h3{font-size:clamp(1.9rem,3.6vw,3.3rem);line-height:1.08}
.category-card p{max-width:none;font-size:.86rem}
.card-arrow{position:static;border:1px solid var(--stroke);border-radius:0;width:48px;height:48px}
.category-link:hover,.category-link:focus-visible{transform:none;box-shadow:none;background:#f5f2eb}
.voting{background:#284b46}
.voting .button-light{border:1px solid #f5f2eb;border-radius:0;background:#f5f2eb}
.interior-head{background:#f5f2eb;border-color:var(--stroke)}
.interior-head h1{font-size:clamp(3.2rem,5.5vw,5.8rem);line-height:1.04}
.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--stroke);border-left:1px solid var(--stroke)}
.candidate-card{border:0;border-right:1px solid var(--stroke);border-bottom:1px solid var(--stroke);border-radius:0;box-shadow:none}
.candidate-card:hover{box-shadow:none;transform:none}
.candidate-image{background:#e5e4dd!important;border-bottom:1px solid var(--stroke);aspect-ratio:16/10;border-radius:0}
.candidate-body{padding:clamp(24px,3vw,40px)}
.candidate-body h2{font-size:clamp(1.8rem,2.8vw,3rem)}
.candidate-body p{color:var(--muted)}
.select-button{background:var(--forest);border-radius:0}
.detail-photo,.real-gallery a{border-radius:0}
.detail-aside,.ballot-summary{background:#f5f2eb;border:1px solid var(--stroke);border-radius:0;box-shadow:none}
.ballot-category{border-radius:0;box-shadow:none}
.ballot-summary .button{border-radius:0}
#vote-form input[type=email]{border-radius:0!important}
.page-notice{border-radius:0;background:transparent;border-color:var(--stroke)}
.ballot-progress,.ballot-progress__fill{border-radius:0}
footer{background:#171d1c}
.newsletter-consent{margin:22px 0;padding:20px 0;border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke)}
.newsletter-consent label{display:flex;gap:12px;align-items:flex-start;font-size:.85rem;line-height:1.55}
.newsletter-consent input{margin-top:4px;flex:none}
.newsletter-consent small{display:block;margin:10px 0 0 30px;color:var(--muted);line-height:1.55}
.newsletter-consent a{text-underline-offset:3px}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr;min-height:0}.hero h1{font-size:clamp(3rem,10vw,4.7rem)}.hero-art{min-height:265px;height:290px;max-width:none}.category-card,.category-card:nth-child(n){grid-template-columns:42px minmax(0,1fr) 38px;gap:10px;padding:25px 0;min-height:150px}.category-card h3{font-size:clamp(1.8rem,6.4vw,2.6rem)}.category-card p{font-size:.78rem}.card-arrow{width:34px;height:34px}.candidate-grid{grid-template-columns:1fr}}
@media(max-width:420px){.hero h1{font-size:3rem}.category-card,.category-card:nth-child(n){grid-template-columns:30px minmax(0,1fr) 32px}.category-card h3{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Portada · presentación editorial e índice de finalistas */
.hero-art{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2rem;padding:clamp(18px,3vw,44px);min-width:0;overflow:hidden}
.hero-art:before{content:none;display:none}
.hero-art__wordmark{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;color:#f5f2eb;font-family:"Libre Caslon Display",Georgia,serif;font-style:italic;font-weight:400;line-height:1.06;letter-spacing:-.045em;font-size:clamp(2rem,3.2vw,3.7rem)}
.hero-art__wordmark span{display:block;max-width:100%;white-space:nowrap}
.hero-art__edition{color:#dddcd0;font-family:Manrope,system-ui,sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.16em;text-align:center}
.hero-grid{min-height:610px;gap:clamp(32px,5vw,88px)}
.intro{padding-top:66px;padding-bottom:52px;gap:clamp(30px,5vw,68px)}
.categories{padding-top:56px;padding-bottom:66px}
.category-card,.category-card:nth-child(n){min-height:145px;padding-block:26px}
.home-finalists{padding-top:74px;padding-bottom:105px;border-top:1px solid var(--stroke)}
.home-finalists__head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);align-items:end;gap:clamp(28px,6vw,100px);padding-bottom:45px}
.home-finalists__head h2{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;font-size:clamp(2.25rem,4vw,4.4rem);line-height:1.12;letter-spacing:-.025em;margin:14px 0 0;max-width:17ch}
.home-finalists__head p{color:var(--muted);font-size:.9rem;line-height:1.8;max-width:36ch;margin:0}
.home-finalists__groups{border-top:1px solid var(--stroke)}
.home-finalists__group{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(0,1.28fr);gap:clamp(24px,5vw,76px);padding:32px 0 42px;border-bottom:1px solid var(--stroke)}
.home-finalists__category h3{font-family:"Libre Caslon Display",Georgia,serif;font-size:clamp(1.7rem,2.7vw,2.9rem);font-weight:400;line-height:1.15;letter-spacing:-.025em;margin:12px 0 20px}
.home-finalists__category .text-link{font-size:.79rem;text-underline-offset:5px}
.home-finalists__list{list-style:none;padding:0;margin:0}
.home-finalists__list li{border-bottom:1px solid var(--stroke)}
.home-finalists__list li:last-child{border-bottom:0}
.home-finalists__list a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;color:var(--ink);font-size:clamp(.89rem,1.25vw,1.07rem);font-weight:600;line-height:1.45;text-decoration:none}
.home-finalists__list a:hover,.home-finalists__list a:focus-visible{color:var(--forest);background:#f5f2eb}
.home-finalists__arrow{flex:none;font-size:1.1rem;font-weight:400;color:var(--forest)}
.voting{padding-block:82px}
@media(max-width:760px){
 .hero-grid{min-height:0;gap:28px}
 .hero-art{min-height:240px;height:270px;gap:1.4rem}
 .hero-art__wordmark{font-size:clamp(2.4rem,8vw,4rem)}
 .intro{padding-top:52px;padding-bottom:44px}
 .categories{padding-top:40px;padding-bottom:54px}
 .home-finalists{padding-top:54px;padding-bottom:70px}
 .home-finalists__head{grid-template-columns:1fr;gap:18px;padding-bottom:28px}
 .home-finalists__group{grid-template-columns:1fr;gap:15px;padding:28px 0}
 .home-finalists__category h3{margin:7px 0 10px}
 .home-finalists__list a{padding:13px 0}
 .voting{padding-block:65px}
}
@media(max-width:420px){
 .hero-art__wordmark{font-size:clamp(2.15rem,9vw,2.8rem)}
 .hero-art__edition{font-size:.55rem}
}
