/* HEGEMONT V3 — capa "power". Se carga la última; no toca site.css ni revision.css salvo por sobrescritura. */
@font-face{font-family:'Playfair Display';src:url(fonts/playfair-display-latin-wght-normal.woff2) format('woff2');font-weight:400 900;font-display:swap}
@font-face{font-family:Lato;src:url(fonts/lato-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url(fonts/lato-latin-700-normal.woff2) format('woff2');font-weight:700;font-display:swap}
:root{--font-serif:'Playfair Display',Georgia,serif;--font-sans:Lato,Inter,'Segoe UI',Arial,sans-serif;--navy:#0a1120;--gold:#d9a862;--gold-lt:#f0cf9f;--bronze:#8b6f47;--ivory:#f0eee8;--steel:#8c98a6}
body{background:#050d17}

/* Cabecera fija y translúcida */
.site-header{position:sticky;top:0;background:rgba(3,10,20,.88);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2)}

/* Hero: titular de peso editorial + secuencia de entrada única */
.hero h1{font-weight:600;letter-spacing:-.028em;line-height:1.03}
.hero h1 strong{font-weight:600;background:linear-gradient(100deg,var(--gold-lt) 0%,var(--gold) 48%,#b9854c 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:#eceae6;letter-spacing:.005em}
.metric .big{font-weight:500;font-size:44px;color:var(--gold)}
.metric .k{color:#fff;letter-spacing:.14em}
.cta,.subtle-btn.solid{background:linear-gradient(105deg,#ecc68f,#c4935a);color:#0a1120;border-color:#f0cf9f;font-weight:700}
.cta{box-shadow:0 12px 34px rgba(217,168,98,.22)}.cta svg{stroke:#0a1120}
.cta:hover,.subtle-btn.solid:hover{background:linear-gradient(105deg,#f5d9ab,#d9a862);color:#0a1120;transform:translateY(-2px)}
.cta,.subtle-btn{transition:transform .2s,background .2s,box-shadow .2s}
@keyframes mapIn{from{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.map-visual{animation:mapIn 2s cubic-bezier(.2,.7,.2,1) both}
.intro-column>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.intro-column>:nth-child(2){animation-delay:.12s}.intro-column>:nth-child(3){animation-delay:.28s}.intro-column>:nth-child(4){animation-delay:.42s}.intro-column>:nth-child(5){animation-delay:.56s}

/* Tarjetas de región */
.regions{background:linear-gradient(180deg,#050d17,#08121f)}
.region-card{background:linear-gradient(180deg,#0b1626,#060e17);border-color:rgba(217,168,98,.3)}
.region-card:hover{border-color:var(--gold);box-shadow:0 18px 40px rgba(0,0,0,.55),0 0 0 1px rgba(217,168,98,.25)}
.region-image{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.region-card:hover .region-image{transform:scale(1.06)}
.region-bottom h2{font-weight:600}
.region-bottom .arrow{color:var(--gold);transition:transform .25s}.region-card:hover .arrow{transform:translateX(5px)}

/* Bloque de método */
.power-block{background:radial-gradient(ellipse 55% 85% at 88% 15%,rgba(217,168,98,.11),transparent 62%),#07101c;padding:112px 0}
.power-grid h2,.business h2,.section-intro h2,.flow-section h2{font-weight:600;letter-spacing:-.02em}
.power-grid p{color:#c4cdd8}
.power-steps div{grid-template-columns:52px 1fr;padding:18px 0;font-size:18px}
.power-steps b{font:500 22px var(--font-serif);color:var(--gold)}
.section-kicker,.mini-label{color:var(--gold)}

/* Páginas interiores: mismo mundo oscuro que la portada */
.suite-section,.academy-main,.contact-section,.login-suite,.below{background:linear-gradient(180deg,#07101c,#0a1523);color:#e9edf2}
.suite-card,.study-card,.contact-form{background:linear-gradient(180deg,#0e1b2c,#0a1523);border-color:rgba(217,168,98,.22);border-top-color:var(--gold);color:#f1ede6;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.suite-section p,.academy-main p,.contact-section p,.login-suite p{color:#b9c4d0}
.suite-card .count,.suite-card-foot a,.study-card a{color:var(--gold)}
.suite-tag{color:#a9b6c4}.suite-card-foot small{color:var(--steel)}.suite-card-foot{border-top-color:#223347}
.contact-form label{color:#dfe5ec}
.contact-form input,.contact-form select,.contact-form textarea{background:#06101c;color:#fff;border-color:#33465b}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#7d8b9a}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold);outline:2px solid rgba(217,168,98,.35)}
.suite-head h1,.academy-head h1,.contact-hero h1,.login-hero h1{font-weight:600}
.flow-stage{background:linear-gradient(180deg,#14253a,#0e1c2d)}.flow-stage>b{color:var(--gold)}

/* Móvil: el titular no debe perder fuerza */
@media(max-width:640px){.metric .big{font-size:32px}.power-block{padding:72px 0}}

/* Ajustes tras revisión visual */
.metric .big,.power-steps b,.suite-card .count,.flow-stage>b{font-variant-numeric:lining-nums}
.contact-advisory{background:linear-gradient(180deg,#0e1b2c,#0a1523);border:1px solid rgba(217,168,98,.22);border-left:3px solid var(--gold);color:#e9edf2}
.contact-advisory strong{color:var(--gold)}.contact-advisory p{color:#b9c4d0}
.contact-address a{font-size:clamp(20px,2.1vw,28px);overflow-wrap:anywhere;word-break:normal}
.contact-address a{font-size:clamp(17px,1.5vw,21px);white-space:nowrap;overflow-wrap:normal}
.contact-section .contact-columns p,.academy-main .academy-pillars p{color:#b9c4d0}

/* Mapa vectorial V3: globo, arcos animados y hub Paraguay */
.map-visual{background:none}.map-visual svg{display:block;width:100%;height:100%}
.mv-rim{fill:none;stroke:rgba(122,174,235,.45);stroke-width:3}
.mv-grat{fill:none;stroke:rgba(140,152,166,.10);stroke-width:.6}
.mv-land path{fill:#13294a;stroke:rgba(240,207,159,.42);stroke-width:.8}
.mv-land .nb{fill:#183560}.mv-land .py{fill:rgba(217,168,98,.20);stroke:#f0cf9f;stroke-width:1.6}
.mv-arc path,.mv-sec{fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:mvDraw 1.9s cubic-bezier(.4,0,.2,1) var(--d,0s) forwards}
.mv-arc .line{stroke-width:2}.mv-arc .glow{stroke-width:8;opacity:.35;filter:url(#mvb)}
.mv-arc.gold path{stroke:#f0cf9f}.mv-arc.ice path{stroke:#e8f1ff}.mv-arc.ice .glow{stroke:#7aaeeb}.mv-arc.gold .glow{stroke:#d9a862}
.mv-sec{stroke:#7aaeeb;stroke-width:1.4;opacity:.8}
@keyframes mvDraw{to{stroke-dashoffset:0}}
.mv-node{opacity:0;animation:mvIn .6s ease var(--d,0s) forwards}
.mv-node circle:first-child{fill:rgba(5,13,23,.7);stroke:#e8f1ff;stroke-width:1.6}.mv-node circle:last-child{fill:#e8f1ff}
.mv-nb circle{fill:#7aaeeb}
@keyframes mvIn{to{opacity:1}}
.mv-label{fill:#fff;font:700 12.5px/1 Lato,Inter,Arial,sans-serif;letter-spacing:.14em;paint-order:stroke;stroke:#050d17;stroke-width:4px;stroke-linejoin:round}
.mv-label.sm{font-size:10.5px;font-weight:400}.mv-label.hub{font-size:22px;letter-spacing:.08em}
.mv-hub .core{fill:#d9a862}.mv-hub .halo{fill:#d9a862;opacity:.4}
.mv-hub .ring{fill:none;stroke:#f0cf9f;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:mvPulse 3.2s ease-out 2.2s infinite;opacity:0}.mv-hub .r2{animation-delay:3.8s}
@keyframes mvPulse{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(3.6)}}
@media(max-width:640px){.mv-label{font-size:19px}.mv-label.sm{font-size:16px}.mv-label.hub{font-size:30px}}
@media(prefers-reduced-motion:reduce){.mv-hub .ring{animation:none;opacity:0}.mv-arc path,.mv-sec{stroke-dashoffset:0;animation:none}.mv-node{opacity:1;animation:none}}
