:root {
  --bg: #080705;
  --bg-soft: #100e0a;
  --paper: #d8d0bd;
  --paper-soft: #9f9889;
  --ember: #c35427;
  --ember-light: #ef8d48;
  --rust: #6f291a;
  --line: rgba(216, 208, 189, .15);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Inter", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--paper);
  background: var(--bg);
  font-family: var(--sans);
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 99;
  background: radial-gradient(circle at center, transparent 35%, rgba(0,0,0,.5) 100%);
}
::selection { background: var(--ember); color: white; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }

.noise {
  position: fixed; inset: 0; z-index: 98; pointer-events: none; opacity: .05;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}
.cursor-glow {
  position: fixed; width: 420px; height: 420px; border-radius: 50%; pointer-events: none; z-index: 1;
  background: radial-gradient(circle, rgba(195,84,39,.09), transparent 68%); transform: translate(-50%,-50%);
}

.site-header {
  position: fixed; top: 0; left: 0; width: 100%; z-index: 50; display: flex; align-items: center; justify-content: space-between;
  padding: 24px 4vw; transition: .35s ease;
}
.site-header.scrolled { padding-block: 15px; background: rgba(8,7,5,.88); backdrop-filter: blur(15px); border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: 10px; font-family: var(--serif); font-size: 14px; font-weight: 700; letter-spacing: .18em; }
.brand-mark { color: var(--ember-light); font-size: 20px; }
.main-nav { display: flex; gap: 28px; align-items: center; font-size: 12px; text-transform: uppercase; letter-spacing: .14em; }
.main-nav a { color: var(--paper-soft); transition: .25s; }
.main-nav a:hover { color: var(--paper); }
.nav-cta { border: 1px solid rgba(239,141,72,.45); padding: 11px 17px; color: var(--ember-light)!important; }
.menu-toggle { display: none; border: 0; background: none; color: var(--paper); font-size: 25px; }

.hero {
  position: relative; min-height: 100vh; display: grid; place-items: center; overflow: hidden; isolation: isolate;
  background:
    linear-gradient(to bottom, rgba(4,5,4,.2), #080705 98%),
    radial-gradient(circle at 50% 72%, rgba(199,72,25,.27), transparent 15%),
    radial-gradient(circle at 50% 48%, rgba(84,94,72,.18), transparent 35%),
    linear-gradient(125deg, #0b0e0b, #080705 55%, #110c08);
}
.hero::before {
  content: ""; position: absolute; inset: 0; z-index: -4; opacity: .28;
  background-image:
    linear-gradient(108deg, transparent 47%, rgba(255,255,255,.03) 47.2%, transparent 47.5%),
    linear-gradient(72deg, transparent 52%, rgba(255,255,255,.025) 52.2%, transparent 52.5%);
  background-size: 100px 100%, 130px 100%;
}
.hero-orb { position: absolute; width: 560px; height: 560px; border: 1px solid rgba(216,208,189,.07); border-radius: 50%; z-index: -2; box-shadow: 0 0 100px rgba(195,84,39,.08) inset; }
.hero-trees { position: absolute; bottom: 0; height: 78%; width: 38%; z-index: -2; opacity: .8; filter: blur(.2px); }
.trees-left { left: -4%; background: linear-gradient(75deg, #020302 0 30%, transparent 31%), linear-gradient(85deg, transparent 0 39%, #020302 40% 44%, transparent 45%), linear-gradient(70deg, transparent 0 66%, #020302 67% 73%, transparent 74%); clip-path: polygon(0 0, 100% 24%, 83% 100%, 0 100%); }
.trees-right { right: -5%; transform: scaleX(-1); background: linear-gradient(75deg, #020302 0 30%, transparent 31%), linear-gradient(85deg, transparent 0 39%, #020302 40% 44%, transparent 45%), linear-gradient(70deg, transparent 0 66%, #020302 67% 73%, transparent 74%); clip-path: polygon(0 0, 100% 24%, 83% 100%, 0 100%); }
.hero-content { text-align: center; max-width: 1000px; padding: 120px 24px 80px; position: relative; z-index: 3; }
.eyebrow { color: var(--ember-light); font-size: 11px; line-height: 1.4; font-weight: 600; letter-spacing: .25em; text-transform: uppercase; }
.hero h1 { margin: 15px 0 12px; font-family: var(--serif); font-size: clamp(75px, 12vw, 180px); line-height: .72; letter-spacing: -.055em; text-shadow: 0 18px 60px #000; }
.hero h1 span { color: transparent; -webkit-text-stroke: 1px rgba(216,208,189,.75); font-size: .72em; letter-spacing: .12em; }
.hero-quote { margin: 36px auto 30px; max-width: 650px; color: #bbb3a3; font-family: var(--serif); font-size: clamp(20px, 2vw, 28px); font-style: italic; }
.hero-actions { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }
.button { border: 1px solid transparent; padding: 15px 22px; color: white; background: transparent; cursor: pointer; text-transform: uppercase; letter-spacing: .13em; font-size: 11px; transition: .25s ease; }
.button.primary { background: var(--ember); box-shadow: 0 8px 30px rgba(195,84,39,.2); }
.button.primary:hover { background: var(--ember-light); transform: translateY(-2px); }
.button.ghost { border-color: rgba(216,208,189,.25); }
.button.ghost:hover { border-color: var(--paper); background: rgba(216,208,189,.05); }
.hero-meta { display: flex; justify-content: center; gap: 30px; margin-top: 44px; font-size: 10px; color: #797466; text-transform: uppercase; letter-spacing: .12em; }
.scroll-hint { position: absolute; bottom: 28px; width: 28px; height: 44px; border: 1px solid rgba(216,208,189,.25); border-radius: 20px; }
.scroll-hint span { position: absolute; left: 50%; top: 9px; width: 3px; height: 8px; border-radius: 2px; background: var(--ember-light); animation: scroll 2s infinite; }
@keyframes scroll { 0% { transform: translate(-50%,0); opacity: 0; } 30% {opacity: 1;} 100% { transform: translate(-50%,16px); opacity:0; } }
.ember { position: absolute; bottom: 9%; width: 3px; height: 3px; border-radius: 50%; background: #ff9c52; box-shadow: 0 0 8px #f65f23; animation: rise linear infinite; }
@keyframes rise { to { transform: translate(var(--drift), -62vh) scale(0); opacity: 0; } }

.section { padding: 130px 7vw; position: relative; }
.section-kicker { color: #696356; letter-spacing: .25em; font-size: 11px; margin-bottom: 25px; }
.intro { background: linear-gradient(180deg, #080705, #0e0b08); }
.intro-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 10vw; align-items: center; }
h2 { font-family: var(--serif); font-size: clamp(42px, 5.5vw, 78px); line-height: .95; margin: 0 0 28px; font-weight: 600; }
h3 { font-family: var(--serif); font-size: 29px; margin: 8px 0 13px; }
p { color: var(--paper-soft); line-height: 1.75; }
.lead { font-family: var(--serif); color: var(--paper); font-size: 26px; line-height: 1.35; }
blockquote { margin: 35px 0 0; border-left: 2px solid var(--ember); padding: 12px 0 12px 24px; font-family: var(--serif); font-size: 30px; font-style: italic; }
.protagonist-card { position: relative; padding: 42px; background: linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.012)); border: 1px solid var(--line); min-height: 380px; overflow: hidden; }
.card-number { position: absolute; right: -10px; top: -38px; font: 700 170px var(--serif); color: rgba(216,208,189,.03); }
.thin-rule { height: 1px; background: var(--line); margin: 25px 0; }
.muted { color: #716c61; }

.prologue-band { padding: 40px 7vw 130px; background: #0e0b08; }
.prologue-box { padding: 60px; border: 1px solid rgba(195,84,39,.25); background: linear-gradient(120deg, rgba(111,41,26,.13), transparent 55%); }
.evidence-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; margin-top: 40px; }
.evidence-grid div { color: #928b7d; font: 600 16px/1.4 var(--serif); }
.evidence-grid span { display: block; color: var(--ember-light); font: 500 11px var(--sans); margin-bottom: 12px; }
.section-heading { max-width: 850px; margin-bottom: 65px; }
.section-heading > p:last-child { max-width: 690px; }
.acts { border-top: 1px solid var(--line); }
.act-card { display: grid; grid-template-columns: 130px 1fr; gap: 20px; padding: 45px 0; border-bottom: 1px solid var(--line); transition: .3s; }
.act-card:hover { padding-left: 20px; background: linear-gradient(90deg, rgba(195,84,39,.06), transparent); }
.act-index { font: 500 65px var(--serif); color: rgba(216,208,189,.18); }
.act-card h3 { font-size: 38px; }
.act-card p { max-width: 720px; }

.truth-section { min-height: 780px; position: relative; display: grid; place-items: center; padding: 120px 7vw; overflow: hidden; background: radial-gradient(circle, #17100b 0, #080705 65%); }
.truth-content { text-align: center; max-width: 880px; position: relative; z-index: 2; }
.truth-content p { max-width: 720px; margin-inline: auto; }
.truth-line { color: var(--ember-light)!important; font: italic 30px var(--serif); margin-top: 30px!important; }
.sigil { position: absolute; width: min(70vw, 650px); opacity: .13; animation: rotate 80s linear infinite; }
.sigil svg { fill: none; stroke: #c35427; stroke-width: 1.2; }
@keyframes rotate { to { transform: rotate(360deg); } }

.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.feature { min-height: 280px; padding: 38px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: .3s; }
.feature:hover { background: rgba(255,255,255,.025); }
.feature > span { color: var(--ember-light); font-size: 28px; }
.feature.featured { background: linear-gradient(135deg, rgba(195,84,39,.16), rgba(195,84,39,.02)); }
.frequency { display: flex; gap: 4px; align-items: center; height: 32px; margin-top: 25px; }
.frequency i { width: 3px; height: 8px; background: var(--ember-light); animation: freq .8s infinite alternate; }
.frequency i:nth-child(2n) { animation-delay: .2s; height: 20px; }.frequency i:nth-child(3n) { animation-delay: .4s; height: 30px; }
@keyframes freq { to { height: 5px; opacity: .3; } }
.radio-interlude { min-height: 650px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 6vw; padding: 100px 10vw; background: linear-gradient(90deg, #100d09, #080705); border-block: 1px solid var(--line); }
.radio-copy { max-width: 590px; }.transmission { margin-top: 20px; min-height: 30px; color: var(--ember-light); font: italic 23px var(--serif); }
.radio-visual { display: grid; place-items: center; }
.radio-body { width: 340px; height: 235px; background: linear-gradient(145deg, #463a2b, #1d1913); border-radius: 14px; border: 4px solid #100d09; box-shadow: 0 30px 70px #000, inset 0 0 0 2px #62513c; position: relative; transform: rotate(3deg); }
.radio-speaker { position: absolute; width: 155px; height: 155px; top: 34px; left: 25px; border-radius: 50%; background: repeating-radial-gradient(circle, #15130f 0 3px, #342d22 4px 6px); border: 5px solid #17130f; }
.radio-dial { position: absolute; right: 35px; top: 35px; width: 57px; height: 57px; border-radius: 50%; border: 8px solid #18140f; background: #75624b; }
.radio-display { position: absolute; right: 30px; bottom: 48px; padding: 10px 17px; background: #1d2419; color: #b5c28f; font-family: monospace; border: 4px solid #17130f; }
.radio-antenna { position: absolute; width: 5px; height: 170px; background: #4b4a43; top: -155px; right: 43px; transform: rotate(8deg); transform-origin: bottom; }
.enemy-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); }
.enemy-card { min-height: 360px; padding: 35px; background: #0a0907; position: relative; overflow: hidden; }
.enemy-card::after { content: ""; position: absolute; inset: auto -30% -50% -30%; height: 240px; background: radial-gradient(circle, rgba(195,84,39,.16), transparent 65%); transition: .5s; }
.enemy-card:hover::after { transform: translateY(-40px); }
.enemy-card > span { color: #514c43; font: 70px var(--serif); }
.enemy-card h3 { margin-top: 70px; }
.bosses { margin-top: 70px; padding: 45px; border: 1px solid var(--line); }
.boss-list { display: flex; gap: 13px; flex-wrap: wrap; margin-top: 25px; }
.boss-list span { border: 1px solid rgba(216,208,189,.15); padding: 12px 17px; color: #918a7d; font-family: var(--serif); font-size: 19px; }
.decisions { background: #0d0b08; }
.decision-meter { display: grid; grid-template-columns: 1fr 1fr 1fr; position: relative; gap: 50px; margin-top: 70px; }
.meter-line { position: absolute; height: 1px; top: -20px; left: 0; right: 0; background: linear-gradient(90deg, var(--ember), #9d7355, #44362a); }
.decision-meter b { display: block; color: var(--paper); letter-spacing: .15em; font-size: 11px; margin-bottom: 8px; }
.decision-meter span { color: #716b60; font-size: 13px; }
.finals-section { padding: 130px 7vw; background: radial-gradient(circle at 50% 80%, rgba(111,41,26,.2), transparent 45%), #080705; }
.finals-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.final-card { padding: 35px; min-height: 330px; border: 1px solid var(--line); background: rgba(255,255,255,.015); }
.final-card > span { color: var(--ember-light); font-size: 10px; letter-spacing: .2em; }
.final-card.secret { border-color: rgba(239,141,72,.35); background: linear-gradient(145deg, rgba(195,84,39,.12), transparent); }
.wishlist { min-height: 700px; display: grid; place-items: center; text-align: center; padding: 120px 7vw; background: linear-gradient(rgba(8,7,5,.6), #080705), radial-gradient(circle at 50% 65%, rgba(195,84,39,.35), transparent 17%); }
.wishlist-content { max-width: 850px; }
.notify-form { display: flex; justify-content: center; gap: 10px; margin-top: 35px; }
.notify-form input { min-width: 300px; border: 1px solid rgba(216,208,189,.2); background: rgba(255,255,255,.03); color: white; padding: 14px 16px; outline: none; }
.notify-form input:focus { border-color: var(--ember-light); }
.form-message { min-height: 25px; color: var(--ember-light); }
footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 35px 4vw; border-top: 1px solid var(--line); font-size: 11px; color: #625e55; }
footer p { font-size: 11px; }.socials { display: flex; justify-content: end; gap: 20px; }.socials a:hover { color: var(--paper); }
.modal { position: fixed; inset: 0; z-index: 100; display: none; place-items: center; padding: 30px; }.modal.open { display: grid; }.modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.9); backdrop-filter: blur(10px); }.modal-content { width: min(900px, 95vw); aspect-ratio: 16/9; position: relative; z-index: 2; border: 1px solid rgba(216,208,189,.2); background: #050504; }.modal-close { position: absolute; right: 10px; top: 6px; z-index: 4; border: 0; background: none; color: white; font-size: 35px; cursor:pointer; }.teaser-screen { height: 100%; display:grid; place-content:center; text-align:center; position:relative; overflow:hidden; }.teaser-screen::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 70%, rgba(195,84,39,.35), transparent 24%); animation: pulse 2s infinite; }.teaser-screen p,.teaser-screen h2,.teaser-screen span { position:relative; z-index:2; }.teaser-screen span { color:var(--ember-light); font-family:var(--serif); font-style:italic; font-size:22px; }.teaser-fire { position:absolute; left:50%; bottom:13%; width:40px; height:90px; transform:translateX(-50%); background:linear-gradient(#f8c27c, #d04921 60%, transparent); filter:blur(5px); border-radius:50% 50% 30% 30%; animation:fire 1s infinite alternate; }
@keyframes fire { to { transform:translateX(-50%) scale(.8,1.15) skewX(5deg); opacity:.7; } }@keyframes pulse { 50% { opacity:.55; } }
.reveal { opacity: 0; transform: translateY(35px); transition: opacity .8s ease, transform .8s ease; }.reveal.visible { opacity: 1; transform: none; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }

@media (max-width: 1000px) {
  .main-nav { position: fixed; inset: 70px 20px auto; flex-direction: column; background: #0c0a08; padding: 28px; border: 1px solid var(--line); display: none; }.main-nav.open { display: flex; }.menu-toggle { display:block; }
  .intro-grid, .radio-interlude { grid-template-columns: 1fr; }.evidence-grid { grid-template-columns: repeat(2, 1fr); }.feature-grid { grid-template-columns: repeat(2,1fr); }.enemy-strip, .finals-grid { grid-template-columns: repeat(2,1fr); }.radio-interlude { text-align:center; }.radio-copy { margin:auto; }
}
@media (max-width: 650px) {
  .site-header { padding: 18px 20px; }.brand { font-size:11px; }.section, .finals-section { padding: 95px 24px; }.hero h1 { font-size: 68px; }.hero-meta { flex-direction:column; gap:10px; }.intro-grid { gap:50px; }.prologue-band { padding: 20px 24px 90px; }.prologue-box { padding:30px 22px; }.evidence-grid, .feature-grid, .enemy-strip, .finals-grid, .decision-meter { grid-template-columns: 1fr; }.act-card { grid-template-columns:60px 1fr; }.act-index { font-size:42px; }.act-card h3 { font-size:30px; }.radio-interlude { padding:90px 24px; }.radio-body { transform:scale(.8) rotate(3deg); }.notify-form { flex-direction:column; }.notify-form input { min-width:0; width:100%; }.final-card { min-height:250px; } footer { grid-template-columns:1fr; gap:20px; text-align:center; }.socials { justify-content:center; }
}


/* Capas ambientales y ajustes finales */
.fog { position: fixed; z-index: 1; pointer-events: none; width: 140vw; height: 46vh; left: -20vw; opacity: .17; filter: blur(32px); background: radial-gradient(ellipse at center, rgba(197,190,169,.32), rgba(95,101,91,.12) 42%, transparent 72%); mix-blend-mode: screen; }
.fog-one { bottom: -8vh; animation: fogDrift 28s ease-in-out infinite alternate; }
.fog-two { top: 18vh; opacity: .09; animation: fogDriftReverse 36s ease-in-out infinite alternate; }
.wandering-shadow { position: fixed; z-index: 1; pointer-events: none; width: 18vw; min-width: 120px; height: 70vh; top: 16vh; opacity: .12; filter: blur(28px); background: linear-gradient(90deg, transparent, #000 42%, #000 58%, transparent); transform: skewX(-8deg); }
.shadow-one { left: -25vw; animation: shadowWalk 25s linear infinite; }
.shadow-two { left: -35vw; animation: shadowWalk 34s linear 9s infinite; opacity: .08; }
@keyframes fogDrift { from { transform: translate3d(-5vw, 0, 0) scale(1); } to { transform: translate3d(7vw, -4vh, 0) scale(1.08); } }
@keyframes fogDriftReverse { from { transform: translate3d(8vw, 0, 0) scale(1.08); } to { transform: translate3d(-8vw, 3vh, 0) scale(1); } }
@keyframes shadowWalk { 0% { transform: translateX(0) skewX(-8deg); } 100% { transform: translateX(150vw) skewX(8deg); } }
.section-copy { max-width: 760px; color: var(--muted); margin-top: 20px; }
.platform-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 38px; }
.platform-actions .button { min-width: 140px; }
.contact-card { width: min(650px, 100%); margin: 38px auto 0; padding: 28px; border: 1px solid rgba(216,208,189,.18); background: rgba(7,6,5,.72); backdrop-filter: blur(10px); display: grid; gap: 10px; }
.contact-card span { color: #777064; font-size: 11px; text-transform: uppercase; letter-spacing: .2em; }
.contact-card a { color: var(--paper); font: 600 clamp(17px, 3vw, 25px) var(--serif); overflow-wrap: anywhere; }
.copy-email { width: fit-content; margin: 4px auto 0; border: 0; background: none; color: var(--ember-light); cursor: pointer; text-transform: uppercase; letter-spacing: .16em; font-size: 10px; padding: 8px; }
.copy-email:hover { color: var(--paper); }

@media (max-width: 650px) {
  .hero { min-height: 100svh; padding: 105px 20px 72px; }
  .hero h1 { font-size: clamp(48px, 17vw, 68px); line-height: .83; }
  .hero-quote { font-size: 16px; line-height: 1.55; }
  .hero-quote br { display: none; }
  .hero-actions { width: 100%; flex-direction: column; }
  .hero-actions .button { width: 100%; text-align: center; }
  .hero-meta span { width: 100%; text-align: center; }
  .platform-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .platform-actions .button { min-width: 0; width: 100%; padding-inline: 10px; }
  .platform-actions .button:first-child { grid-column: 1 / -1; }
  .contact-card { padding: 24px 16px; }
  .fog { opacity: .09; filter: blur(24px); }
  .wandering-shadow { display: none; }
  .cursor-glow { display: none; }
}
@media (max-width: 380px) {
  .section, .finals-section { padding-inline: 18px; }
  .site-header { padding-inline: 16px; }
  .brand span:last-child { max-width: 165px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .platform-actions { grid-template-columns: 1fr; }
  .platform-actions .button:first-child { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .fog, .wandering-shadow, .ember, .teaser-fire, .teaser-screen::before { animation: none !important; }
  .reveal { transition: none; }
}


/* Corrección definitiva: contacto y radio en pantallas pequeñas */
.wishlist-content { width: min(900px, 100%); }
.platform-actions { width: min(720px, 100%); margin-inline: auto; align-items: stretch; }
.platform-actions .button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; line-height: 1.25; white-space: normal; }
.contact-card { position: relative; clear: both; }
.copy-email {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid rgba(239,141,72,.42) !important;
  border-radius: 0;
  background: rgba(195,84,39,.08) !important;
  color: var(--ember-light) !important;
  min-height: 44px;
  padding: 11px 16px !important;
}
.copy-email:active { transform: translateY(1px); }
.sound-hint { margin: 10px 0 0; color: #6f685d; font-size: 11px; line-height: 1.5; }
.radio-interlude.is-tuning .radio-body { animation: radioShake .16s linear infinite alternate; }
.radio-interlude.is-speaking .radio-display { box-shadow: 0 0 24px rgba(181,194,143,.25); }
@keyframes radioShake { from { translate: -1px 0; } to { translate: 1px 0; } }

@media (max-width: 650px) {
  .wishlist { min-height: 0; padding: 92px 20px 82px; align-items: start; }
  .wishlist-content { width: 100%; }
  .wishlist-content h2 { font-size: clamp(42px, 13.5vw, 58px); line-height: .95; margin-bottom: 24px; }
  .wishlist-content > p:not(.eyebrow) { font-size: 17px; line-height: 1.6; margin-inline: auto; max-width: 34rem; }
  .platform-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    margin-top: 30px;
  }
  .platform-actions .button,
  .platform-actions .button:first-child {
    grid-column: auto;
    width: 100%;
    min-width: 0;
    min-height: 50px;
    padding: 13px 8px;
    font-size: 10px;
    letter-spacing: .12em;
  }
  .platform-actions .button:last-child { grid-column: 1 / -1; }
  .contact-card {
    width: 100%;
    margin-top: 22px;
    padding: 22px 14px 18px;
    gap: 9px;
  }
  .contact-card a { font-size: clamp(17px, 5.2vw, 23px); line-height: 1.25; }
  .copy-email { width: 100%; margin-top: 7px; }
  footer { padding: 32px 20px 38px; }
  .socials { flex-wrap: wrap; row-gap: 12px; }
  .radio-interlude { overflow: hidden; }
  .radio-copy h2 { font-size: clamp(45px, 13vw, 62px); }
  .radio-copy > p:not(.eyebrow):not(.transmission):not(.sound-hint) { font-size: 17px; }
  .transmission { font-size: 21px; line-height: 1.35; min-height: 58px; }
  .sound-hint { max-width: 310px; margin-inline: auto; }
}

@media (max-width: 390px) {
  .wishlist { padding-inline: 16px; }
  .platform-actions { grid-template-columns: 1fr; }
  .platform-actions .button:last-child { grid-column: auto; }
  .contact-card { padding-inline: 12px; }
}

/* ===== ATMÓSFERA V4: capas no destructivas ===== */
body::before {
  content:""; position:fixed; inset:0; z-index:45; pointer-events:none;
  background:
    radial-gradient(circle at 10% 18%, transparent 0 32%, rgba(29,16,8,.24) 68%, rgba(4,3,2,.52) 100%),
    repeating-linear-gradient(97deg, rgba(88,59,34,.025) 0 1px, transparent 1px 13px);
  mix-blend-mode:multiply; opacity:.56;
}
body::after {
  content:""; position:fixed; inset:9px; z-index:46; pointer-events:none;
  border:1px solid rgba(108,68,38,.18);
  box-shadow:inset 0 0 44px rgba(0,0,0,.82), inset 0 0 7px rgba(119,65,33,.25);
  clip-path:polygon(0 2%,2% 1%,4% 2%,7% 0,10% 2%,14% 1%,17% 2%,20% 0,24% 1%,28% 0,32% 2%,37% 1%,42% 2%,47% 0,52% 1%,57% 0,61% 2%,66% 1%,70% 2%,75% 0,80% 1%,85% 0,89% 2%,94% 1%,98% 2%,100% 0,99% 6%,100% 11%,99% 17%,100% 23%,99% 30%,100% 36%,99% 43%,100% 49%,99% 56%,100% 63%,99% 70%,100% 77%,99% 84%,100% 91%,98% 98%,94% 99%,90% 98%,84% 100%,78% 98%,72% 100%,66% 98%,60% 100%,54% 98%,48% 100%,42% 98%,36% 100%,30% 98%,24% 100%,18% 98%,12% 100%,6% 98%,1% 100%,2% 94%,0 88%,2% 82%,0 75%,2% 68%,0 61%,2% 54%,0 47%,2% 40%,0 33%,2% 26%,0 19%,2% 12%);
}
.section, .prologue-box, .act-card, .feature, .enemy-card, .final-card, .contact-card {
  background-image:linear-gradient(rgba(255,255,255,.008),rgba(0,0,0,.018)),radial-gradient(circle at 24% 16%,rgba(151,104,58,.028),transparent 36%);
}
.section::after, .prologue-box::after, .contact-card::after {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.15;
  background-image:radial-gradient(circle at 18% 28%,rgba(180,139,87,.18) 0 1px,transparent 2px),radial-gradient(circle at 78% 62%,rgba(105,67,37,.15) 0 2px,transparent 3px);
  background-size:91px 83px,127px 109px;
}

.hero-fire { position:absolute; left:50%; bottom:13%; width:74px; height:96px; transform:translateX(-50%); z-index:1; filter:blur(.2px); opacity:.42; }
.hero-fire::before { content:""; position:absolute; left:8px; right:8px; bottom:0; height:10px; background:#1b0d06; border-radius:50%; box-shadow:0 0 35px 14px rgba(196,72,28,.16); }
.hero-fire i { position:absolute; left:50%; bottom:7px; width:32px; height:72px; border-radius:54% 46% 54% 46% / 76% 74% 26% 24%; transform-origin:50% 100%; background:linear-gradient(to top,rgba(193,49,17,.8),rgba(231,119,42,.58) 48%,rgba(255,211,119,.16)); filter:blur(3px); animation:realFire 1.15s ease-in-out infinite alternate; }
.hero-fire i:nth-child(2){ width:22px;height:58px;margin-left:-21px;animation-delay:-.38s; }
.hero-fire i:nth-child(3){ width:19px;height:66px;margin-left:11px;animation-delay:-.76s; }
.hero-fire span { position:absolute; inset:auto -86px -52px; height:90px; background:radial-gradient(ellipse,rgba(180,59,21,.20),transparent 68%); filter:blur(10px); animation:fireGlow 2.5s ease-in-out infinite alternate; }
.hero-smoke { position:absolute; left:50%; bottom:20%; width:260px; height:340px; transform:translateX(-50%); z-index:1; opacity:.22; filter:blur(20px); background:radial-gradient(ellipse at 50% 88%,rgba(132,126,111,.34),transparent 27%),radial-gradient(ellipse at 39% 58%,rgba(113,109,101,.21),transparent 33%),radial-gradient(ellipse at 59% 31%,rgba(107,104,98,.14),transparent 30%); animation:smokeRise 8s ease-in-out infinite alternate; }
@keyframes realFire { from{transform:translateX(-50%) rotate(-4deg) scale(.9,1)} to{transform:translateX(-50%) rotate(5deg) scale(1.08,.92)} }
@keyframes fireGlow { from{opacity:.45;transform:scale(.9)} to{opacity:.9;transform:scale(1.12)} }
@keyframes smokeRise { from{transform:translate(-50%,10px) scale(.92);opacity:.14} to{transform:translate(-48%,-30px) scale(1.1);opacity:.27} }

.country-silhouettes { position:fixed; inset:auto 0 0; height:34vh; z-index:0; pointer-events:none; opacity:.08; overflow:hidden; }
.silhouette { position:absolute; bottom:0; display:block; color:#6d6658; border-color:#6d6658; }
.post { left:7%; width:5px; height:72%; background:currentColor; transform:rotate(-2deg); }
.post::before { content:""; position:absolute; top:13%; left:-22px; width:49px; height:4px; background:currentColor; }
.quebracho { left:18%; width:9px; height:61%; background:currentColor; transform:rotate(4deg); }
.quebracho::before,.quebracho::after {content:"";position:absolute;bottom:45%;width:80px;height:8px;background:currentColor;border-radius:100%;}
.quebracho::before{right:-5px;transform:rotate(-28deg)} .quebracho::after{left:-5px;transform:rotate(32deg)}
.windmill { left:36%; width:6px; height:54%; background:currentColor; }
.windmill::before { content:""; position:absolute; top:-32px; left:-30px; width:62px; height:62px; border:2px solid currentColor; border-radius:50%; background:repeating-conic-gradient(from 0deg,currentColor 0 3deg,transparent 3deg 45deg); }
.fence { left:0; right:0; height:2px; bottom:14%; background:currentColor; box-shadow:0 18px currentColor; transform:skewY(-1deg); }
.route-sign { left:57%; bottom:18%; width:44px; padding:4px 2px; border:2px solid currentColor; font:8px/1.1 Inter,sans-serif; text-align:center; transform:rotate(-2deg); }
.route-sign::after { content:""; position:absolute; top:100%; left:50%; width:4px; height:62px; background:currentColor; }
.station { left:72%; bottom:17%; width:77px; height:37px; border:2px solid currentColor; font:bold 16px/33px Inter;text-align:center;letter-spacing:.08em; }
.station::after { content:""; position:absolute; left:-14px; top:35px; width:106px; height:54px; border:2px solid currentColor; border-top:0; }
.estancia { right:4%; width:150px; height:58px; background:currentColor; clip-path:polygon(0 29%,20% 29%,20% 8%,70% 8%,70% 29%,100% 29%,100% 100%,0 100%); }

.cursor-smoke,.cursor-embers { position:fixed; inset:0; z-index:80; pointer-events:none; }
.cursor-puff { position:absolute; width:48px; height:48px; border-radius:50%; background:radial-gradient(circle,rgba(112,106,94,.16),transparent 68%); filter:blur(8px); animation:puffOut 1.6s ease-out forwards; }
.cursor-spark { position:absolute; width:3px; height:3px; border-radius:50%; background:#de7b38; box-shadow:0 0 8px #bd4f22; animation:sparkOut .9s ease-out forwards; }
@keyframes puffOut { to{transform:translate(var(--px),-60px) scale(2.1);opacity:0} }
@keyframes sparkOut { to{transform:translate(var(--sx),-42px);opacity:0} }

.ambient-toggle { position:fixed; right:18px; bottom:18px; z-index:120; display:flex; align-items:center; gap:8px; min-height:42px; padding:10px 14px; border:1px solid rgba(221,123,58,.36); background:rgba(8,7,5,.9); color:#a69d90; text-transform:uppercase; letter-spacing:.14em; font-size:9px; cursor:pointer; backdrop-filter:blur(12px); }
.ambient-toggle:hover,.ambient-toggle[aria-pressed="true"] { color:var(--paper); border-color:rgba(239,141,72,.72); box-shadow:0 0 24px rgba(188,77,30,.12); }
.ambient-toggle[aria-pressed="true"] .ambient-icon { animation:soundPulse 1.4s ease-in-out infinite; }
@keyframes soundPulse { 50%{transform:scale(1.25);color:var(--ember-light)} }

.radio-instruction { font-size:12px!important; color:#777064!important; margin-top:18px!important; max-width:480px; }
.interactive-dial { cursor:grab; border:0; padding:0; appearance:none; -webkit-appearance:none; touch-action:none; z-index:4; transition:transform .12s ease,box-shadow .25s ease; }
.interactive-dial:active { cursor:grabbing; }
.dial-marker { position:absolute; left:50%; top:5px; width:3px; height:15px; background:#c7864c; transform:translateX(-50%); border-radius:2px; box-shadow:0 0 6px rgba(210,123,57,.5); }
.radio-led { position:absolute; right:31px; bottom:25px; width:7px; height:7px; border-radius:50%; background:#35150d; box-shadow:0 0 0 2px #16100b; transition:.3s; }
.radio-interlude.radio-on .radio-led { background:#c65e2d; box-shadow:0 0 10px #d46b32; }
.radio-interlude.radio-on .radio-display { color:#c8d3a0; text-shadow:0 0 8px rgba(192,211,157,.55); }
.dial-help { position:absolute; right:16px; bottom:-24px; color:#5d574e; font-size:7px; letter-spacing:.2em; }
.radio-interlude.is-tuning .radio-display { animation:displayBlink .16s steps(2) infinite; }
@keyframes displayBlink { 50%{opacity:.28} }

@media (max-width:650px){
  body::after{inset:4px;opacity:.55}.country-silhouettes{height:23vh;opacity:.055}.hero-fire{bottom:17%;transform:translateX(-50%) scale(.74)}.hero-smoke{bottom:20%;width:180px;height:240px;opacity:.13}.ambient-toggle{right:10px;bottom:10px;padding:10px}.ambient-label{display:none}.cursor-smoke,.cursor-embers{display:none}.radio-visual{padding-bottom:20px}.dial-help{display:none}
}
@media (hover:none),(pointer:coarse){.cursor-glow,.cursor-smoke,.cursor-embers{display:none!important}}
@media (prefers-reduced-motion:reduce){.hero-fire i,.hero-fire span,.hero-smoke,.ambient-icon{animation:none!important}}

/* =========================================================
   V5 · SELECTOR DE IDIOMA + MAPA INTERACTIVO
   ========================================================= */
.language-switcher {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:38px;
  padding:7px 11px;
  border:1px solid rgba(196,141,87,.22);
  background:rgba(8,7,5,.62);
  backdrop-filter:blur(12px);
}
.language-label { color:#756f65; font-size:8px; letter-spacing:.2em; }
.language-buttons { display:flex; align-items:center; gap:7px; color:#504b44; }
.language-button {
  border:0; padding:2px 1px; background:transparent; color:#777064;
  font:600 10px/1 Inter,sans-serif; letter-spacing:.16em; cursor:pointer;
}
.language-button:hover,.language-button.active { color:var(--paper); text-shadow:0 0 12px rgba(227,118,53,.42); }
.language-button:focus-visible { outline:1px solid var(--ember-light); outline-offset:4px; }

.language-transition {
  position:fixed; inset:0; z-index:999; display:grid; place-items:center;
  background:rgba(4,4,3,.94); opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .16s ease,visibility .16s ease;
}
.language-transition.active { opacity:1; visibility:visible; }
.language-transition p { position:relative; z-index:2; color:#d8c8b4; font-size:11px; letter-spacing:.3em; text-transform:uppercase; }
.language-static { position:absolute; inset:0; opacity:.17; background:
  repeating-linear-gradient(0deg,transparent 0 2px,rgba(255,255,255,.12) 3px,transparent 4px),
  repeating-linear-gradient(90deg,transparent 0 7px,rgba(255,255,255,.08) 8px,transparent 9px);
  animation:languageStatic .1s steps(2) infinite;
}
@keyframes languageStatic { 50%{transform:translate(2px,-2px)} }

.map-section { overflow:hidden; }
.map-section::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 25% 55%,rgba(139,74,36,.08),transparent 35%); }
.map-layout { position:relative; display:grid; grid-template-columns:minmax(320px,.9fr) minmax(330px,1.1fr); gap:clamp(30px,6vw,90px); align-items:center; max-width:1050px; margin:58px auto 0; }
.argentina-map {
  position:relative; width:min(100%,430px); aspect-ratio:360/760; justify-self:center;
  border:1px solid rgba(168,131,89,.22); background:
    linear-gradient(rgba(10,9,7,.47),rgba(10,9,7,.72)),
    radial-gradient(circle at 45% 30%,rgba(156,95,49,.1),transparent 45%);
  box-shadow:inset 0 0 80px rgba(0,0,0,.75),0 28px 80px rgba(0,0,0,.28);
}
.argentina-map::before,.argentina-map::after { content:""; position:absolute; pointer-events:none; z-index:2; }
.argentina-map::before { inset:11px; border:1px solid rgba(192,148,93,.1); }
.argentina-map::after { inset:0; background:radial-gradient(circle at 20% 18%,rgba(129,83,44,.12),transparent 18%),radial-gradient(circle at 74% 72%,rgba(93,53,31,.12),transparent 22%); mix-blend-mode:screen; }
.map-grid { position:absolute; inset:0; opacity:.13; background-image:linear-gradient(rgba(183,145,98,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(183,145,98,.25) 1px,transparent 1px); background-size:44px 44px; }
.argentina-outline { position:absolute; inset:4% 9% 5%; width:82%; height:91%; overflow:visible; }
.map-land { fill:rgba(94,83,67,.28); stroke:rgba(202,167,119,.62); stroke-width:2; }
.map-route { fill:none; stroke:rgba(193,91,44,.55); stroke-width:2; stroke-dasharray:7 9; }
.map-route.secondary { opacity:.48; stroke-width:1.5; }
.map-marker { position:absolute; z-index:5; width:42px; height:42px; margin:-21px 0 0 -21px; border:0; background:transparent; color:#c9b394; cursor:pointer; }
.map-marker span { position:absolute; left:50%; top:50%; width:11px; height:11px; border:2px solid currentColor; border-radius:50%; transform:translate(-50%,-50%); background:#0a0806; box-shadow:0 0 0 6px rgba(190,74,32,.08),0 0 18px rgba(196,79,33,.24); }
.map-marker span::before { content:""; position:absolute; inset:-9px; border:1px solid currentColor; border-radius:50%; opacity:.24; animation:mapPulse 2.4s ease-out infinite; }
.map-marker b { position:absolute; left:31px; top:4px; font:600 8px/1 Inter,sans-serif; letter-spacing:.12em; opacity:.65; }
.map-marker:hover,.map-marker.active { color:#ef9a58; }
.map-marker.locked { color:#7d6959; }
.map-marker.locked span { border-radius:1px; transform:translate(-50%,-50%) rotate(45deg); }
.marker-buenos-aires { left:56%; top:40%; }
.marker-route { left:42%; top:52%; }
.marker-estancia { left:48%; top:29%; }
.marker-coordinates { left:42%; top:72%; }
@keyframes mapPulse { to{transform:scale(2.1);opacity:0} }
.map-stamp { position:absolute; right:8%; bottom:8%; z-index:4; padding:8px 10px; border:2px solid rgba(151,56,38,.32); color:rgba(167,67,47,.42); font:700 10px/1.1 Inter,sans-serif; letter-spacing:.14em; text-align:center; transform:rotate(-8deg); }
.map-stamp small { font-size:7px; }
.map-scale { position:absolute; left:8%; bottom:7%; z-index:4; color:#756c60; font:7px/1 Inter,sans-serif; letter-spacing:.12em; }
.map-scale i { display:block; width:70px; height:7px; margin-bottom:5px; border-left:1px solid currentColor; border-right:1px solid currentColor; border-bottom:1px solid currentColor; }

.map-file { position:relative; min-height:420px; padding:clamp(28px,5vw,54px); border:1px solid rgba(183,142,91,.22); background:linear-gradient(145deg,rgba(31,27,21,.93),rgba(13,12,10,.95)); box-shadow:0 34px 90px rgba(0,0,0,.38); }
.map-file::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.2; background-image:radial-gradient(circle at 15% 20%,rgba(142,89,48,.25) 0 1px,transparent 2px),radial-gradient(circle at 77% 68%,rgba(106,65,37,.2) 0 2px,transparent 3px); background-size:87px 79px,121px 109px; }
.map-file > * { position:relative; z-index:1; }
.map-file-top { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:42px; padding-bottom:16px; border-bottom:1px solid rgba(178,141,96,.16); }
.map-file-code { color:#756e63; font-size:9px; letter-spacing:.2em; }
.map-status { padding:5px 8px; border:1px solid rgba(186,78,43,.35); color:#bc6746; font-size:8px; letter-spacing:.17em; }
.map-status.active { color:#c8885d; animation:statusBlink 2.8s ease-in-out infinite; }
.map-status.corrupt { color:#8f4b41; border-color:rgba(126,49,43,.45); }
@keyframes statusBlink { 50%{opacity:.5} }
.map-file h3 { margin:8px 0 16px; font-size:clamp(34px,5vw,58px); }
.map-description { max-width:590px; color:#aaa093; line-height:1.8; }
.map-details { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:34px 0; background:rgba(176,137,89,.13); }
.map-details div { min-width:0; padding:15px; background:#14120f; }
.map-details dt { margin-bottom:8px; color:#665f56; font-size:7px; letter-spacing:.17em; }
.map-details dd { margin:0; color:#b8aa99; font-size:10px; overflow-wrap:anywhere; }
.map-warning { padding:15px 18px; border-left:2px solid rgba(171,67,37,.52); background:rgba(112,43,27,.1); color:#8e7b6d; font-size:11px; line-height:1.6; }
.map-file.changing { animation:fileGlitch .24s steps(2); }
@keyframes fileGlitch { 50%{transform:translateX(2px);filter:contrast(1.25)} }

@media (max-width:1100px) {
  .language-switcher { margin-left:auto; }
  .main-nav { gap:15px; }
}
@media (max-width:900px) {
  .site-header { gap:10px; }
  .language-switcher { order:2; margin-left:auto; }
  .menu-toggle { order:3; }
  .main-nav { order:4; }
  .language-label { display:none; }
  .map-layout { grid-template-columns:1fr; max-width:680px; }
  .argentina-map { width:min(100%,380px); }
}
@media (max-width:650px) {
  .language-switcher { padding:7px 8px; gap:0; }
  .language-buttons { gap:5px; }
  .map-section { padding-left:18px; padding-right:18px; }
  .map-layout { margin-top:35px; gap:28px; }
  .argentina-map { width:min(88vw,330px); }
  .map-file { min-height:0; padding:26px 21px; }
  .map-file-top { margin-bottom:27px; }
  .map-file h3 { font-size:36px; }
  .map-details { grid-template-columns:1fr; }
  .map-details div { display:grid; grid-template-columns:82px 1fr; align-items:center; gap:10px; padding:12px 14px; }
  .map-details dt { margin:0; }
  .map-marker { width:48px; height:48px; margin:-24px 0 0 -24px; }
}
@media (prefers-reduced-motion:reduce) {
  .map-marker span::before,.map-status.active,.language-static { animation:none!important; }
}

/* language switch compact */
.site-header{display:flex;align-items:center}
.language-switcher{
margin-left:24px;
margin-right:24px;
flex:0 0 auto;
padding:0 10px;
height:36px;
border:1px solid rgba(196,141,87,.25);
background:rgba(12,10,8,.55);
}
.language-label{
font-size:9px;
letter-spacing:.28em;
text-transform:uppercase;
margin-right:8px;
white-space:nowrap;
}
.language-buttons{gap:8px}
.language-button{
padding:4px 8px;
border:1px solid transparent;
transition:.2s;
}
.language-button.active{
border-color:#c48d57;
background:rgba(196,141,87,.12);
color:#f3e8d5;
}
@media(max-width:980px){
.language-switcher{display:none;}
}

/* Nuevas secciones v6 */
.feature-panel{display:flex;align-items:center;gap:40px;padding:40px;border:1px solid rgba(255,160,60,.18);background:rgba(10,7,5,.55);border-radius:20px}
.mini-fire{width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,#ffcf75,#d45a18 45%,transparent 70%);box-shadow:0 0 60px rgba(255,120,20,.4)}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.seal-symbol{width:180px;height:180px;margin:40px auto;border:1px solid rgba(255,160,60,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:70px;color:#d88a35;box-shadow:0 0 60px rgba(255,130,30,.15)}
@media(max-width:800px){.feature-grid{grid-template-columns:1fr}.feature-panel{flex-direction:column;text-align:center}}
