:root {
  --ink: #17130f;
  --paper: #efe5d5;
  --sand: #c7ad85;
  --bone: #f7f2e8;
  --line: rgba(23,19,15,.2);
  --serif: "Playfair Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --brand-display: "League Spartan", "DM Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bone); color: var(--ink); font-family: var(--sans); overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.grain { position: fixed; inset: 0; pointer-events: none; z-index: 99; opacity: .08; mix-blend-mode: multiply; 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='.92' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E"); }

.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 50; height: 88px; display: flex; align-items: center; justify-content: space-between; padding: 0 4vw; color: white; mix-blend-mode: difference; }
.brand { display:inline-grid; line-height:.72; font-family:var(--brand-display); font-weight:800; letter-spacing:-.08em; font-size:2.65rem; text-transform:uppercase; }
.brand span:first-child { font-weight:800; }
.footer-brand { font-size:1.65rem !important; line-height:.78; }
.desktop-nav { display: flex; gap: 2rem; text-transform: uppercase; font-size: .74rem; letter-spacing: .14em; }
.desktop-nav a, .menu-button { position: relative; }
.desktop-nav a::after { content:""; position:absolute; left:0; bottom:-5px; width:100%; height:1px; background:currentColor; transform:scaleX(0); transform-origin:right; transition:.35s; }
.desktop-nav a:hover::after { transform:scaleX(1); transform-origin:left; }
.menu-button { display:none; border:0; background:none; color:inherit; text-transform:uppercase; letter-spacing:.1em; }
.mobile-menu { position:fixed; z-index:45; inset:0; padding:120px 6vw 40px; background:var(--ink); color:white; display:flex; flex-direction:column; gap:1rem; transform:translateY(-100%); transition:.5s cubic-bezier(.7,0,.2,1); }
.mobile-menu.open { transform:none; }
.mobile-menu a { font-size:clamp(2.8rem,10vw,5rem); font-weight:600; letter-spacing:-.06em; }

.hero { min-height: 100svh; position: relative; color: white; display: flex; align-items: flex-end; padding: 14vh 5vw 8vh; overflow: hidden; background: #7f6d58; }
.hero-backdrop { position:absolute; inset:0; background-image: linear-gradient(90deg, rgba(10,8,7,.76) 0%, rgba(10,8,7,.58) 22%, rgba(10,8,7,.18) 52%, rgba(10,8,7,.28) 100%), url("/assets/hero-a-contraluz.jpg"); background-size: cover; background-position: center center; background-repeat: no-repeat; }
.hero-backdrop::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.12) 100%); }
.sun, .shadow, .shadow-a, .shadow-b { display:none; }
.hero-copy { position:relative; z-index:2; width:min(780px,82vw); }
.eyebrow { font-size:.72rem; letter-spacing:.22em; font-weight:700; margin:0 0 1.4rem; }
.hero h1 { margin:0; font-family:var(--brand-display); font-size:clamp(5.4rem,13.8vw,13rem); line-height:.76; letter-spacing:-.075em; font-weight:700; text-transform:uppercase; }
.hero h1 span { font-family:inherit; font-style:normal; font-weight:700; }
.hero-sub { font-size:clamp(1.1rem,2vw,1.55rem); margin:2rem 0 2.2rem; max-width:560px; }
.hero-actions { display:flex; gap:1.8rem; align-items:center; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:0 1.5rem; border:1px solid currentColor; font-size:.76rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; transition:.3s; }
.btn-primary { background:white; color:var(--ink); border-color:white; }
.btn-primary:hover { background:transparent; color:white; }
.text-link { font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; }
.text-link span { display:inline-block; margin-left:.5rem; transition:transform .3s; }
.text-link:hover span { transform:translate(5px,5px); }
.hero-side { position:absolute; z-index:2; right:4vw; bottom:8vh; display:grid; gap:.35rem; text-align:right; font-size:.67rem; letter-spacing:.18em; }
.scroll-hint { position:absolute; right:4vw; top:48%; z-index:2; writing-mode:vertical-rl; font-size:.62rem; letter-spacing:.2em; }
.scroll-hint span { margin-top:1rem; }

.ticker { background:var(--ink); color:var(--paper); overflow:hidden; padding:1rem 0; border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); }
.ticker-track { display:flex; width:max-content; animation:ticker 28s linear infinite; }
.ticker span { font-size:.7rem; letter-spacing:.24em; white-space:nowrap; }
@keyframes ticker { to { transform:translateX(-50%); } }

.section { padding: 9rem 5vw; }
.section-dark { background:var(--ink); color:var(--paper); padding:10rem 5vw; }
.section-kicker { font-size:.66rem; letter-spacing:.2em; font-weight:700; text-transform:uppercase; margin-bottom:4rem; }
.section-kicker.light { color:#d3c6b4; }
.music { position:relative; overflow:hidden; background:linear-gradient(180deg,#f7f2e8 0%,#eee3d2 100%); }
.music::before { content:""; position:absolute; width:34rem; height:34rem; border-radius:50%; background:rgba(199,173,133,.18); filter:blur(2px); top:7rem; right:-14rem; pointer-events:none; }
.music-heading-row { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; margin-bottom:4.5rem; }
.music-heading-row .section-kicker { margin-bottom:0; }
.music-heading-note { margin:0; font-size:.66rem; letter-spacing:.2em; font-weight:700; text-transform:uppercase; color:#76685b; }
.music-stage { position:relative; z-index:1; display:grid; grid-template-columns:minmax(360px,.95fr) minmax(420px,1.05fr); gap:clamp(4rem,8vw,9rem); align-items:center; }
.cover-wrap { position:relative; }
.release-number { position:absolute; top:-2.3rem; left:0; font-family:var(--serif); font-size:clamp(3.6rem,6vw,7rem); line-height:1; font-style:italic; color:rgba(23,19,15,.12); letter-spacing:-.05em; }
.cover-art { aspect-ratio:1/1; position:relative; overflow:hidden; background:linear-gradient(145deg,#1f1b17 5%,#685d52 47%,#d2b78d 48%,#f0dfc3 58%,#50463d 80%); box-shadow:0 45px 100px rgba(31,24,17,.18); }
.cover-art::before { content:""; position:absolute; width:140%; height:26%; left:-30%; top:34%; background:rgba(13,11,9,.72); transform:rotate(-27deg); }
.cover-art::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 70% 32%,rgba(255,245,218,.72),transparent 28%); }
.cover-noise { position:absolute; inset:0; opacity:.16; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.3' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.cover-title { position:absolute; z-index:3; left:7%; bottom:7%; color:white; font-size:clamp(2.8rem,6vw,7rem); letter-spacing:-.07em; line-height:.75; font-weight:600; }
.cover-artist { position:absolute; z-index:3; right:7%; top:6%; color:white; writing-mode:vertical-rl; font-size:.62rem; letter-spacing:.2em; }
.cover-caption { display:flex; justify-content:space-between; gap:1rem; padding-top:1rem; border-bottom:1px solid rgba(23,19,15,.14); padding-bottom:.9rem; font-size:.62rem; letter-spacing:.18em; font-weight:700; text-transform:uppercase; color:#76685b; }
.release-copy { position:relative; padding-top:1.2rem; }
.release-copy::before { content:""; display:block; width:100%; height:1px; background:rgba(23,19,15,.22); margin-bottom:1.5rem; }
.eyebrow.dark { color:#7e7063; }
.platforms { border-top:1px solid var(--line); margin:0 0 2.2rem; }
.platform-row { display:flex; justify-content:space-between; align-items:center; gap:1rem; min-height:82px; padding:1rem 0; border-bottom:1px solid var(--line); font-size:.95rem; transition:padding .25s ease, opacity .25s ease; }
.platform-row:hover { padding-left:.55rem; padding-right:.15rem; }
.platform-brand { display:inline-flex; align-items:center; gap:1rem; font-weight:600; min-height:56px; }
.platform-logo { width:50px; height:50px; flex:0 0 50px; display:inline-flex; align-items:center; justify-content:center; border-radius:12px; overflow:hidden; box-shadow:none; background:transparent; border:0; }
.platform-logo svg { display:block; width:50px; height:50px; }
.platform-arrow { font-size:1rem; transition:transform .2s ease; }
.platform-row:hover .platform-arrow { transform:translate(3px,-3px); }
.btn-dark { background:var(--ink); color:white; }
.btn-dark:hover { background:transparent; color:var(--ink); }

.statement { min-height:72vh; display:flex; flex-direction:column; justify-content:center; }
.statement-small { font-size:.7rem; letter-spacing:.22em; }
.statement-big { margin:2rem 0 0; font-size:clamp(3.2rem,7vw,7rem); letter-spacing:-.065em; line-height:.98; }
.statement-big em { font-family:var(--serif); font-weight:600; }
.story-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:8vw; align-items:start; }
.story-copy { padding-top:1rem; }
.story-copy p:not(.lead):not(.signature) { font-family:Manrope,sans-serif; font-size:1rem; line-height:1.75; color:#5c5147; }
.bio-details { margin-top:1.15rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.bio-details summary {
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-height:58px;
  cursor:pointer;
  user-select:none;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.bio-details summary::-webkit-details-marker { display:none; }
.bio-details summary::marker { display:none; }
.bio-summary-arrow { font-size:1.05rem; transition:transform .25s ease; }
.bio-details[open] .bio-summary-arrow { transform:rotate(180deg); }
.bio-more { display:grid; gap:.9rem; padding:0 0 1.5rem; }
.bio-more p { margin:0; }
.bio-socials { margin-top:2.6rem; padding-top:1.5rem; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:.8rem; align-items:center; }
.bio-socials a {
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  min-height:66px;
  padding:.5rem .9rem .5rem .55rem;
  border:1px solid rgba(23,19,15,.15);
  background:rgba(255,255,255,.72);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.bio-socials a:hover { transform:translateY(-2px); border-color:rgba(23,19,15,.35); background:white; box-shadow:0 10px 20px rgba(23,19,15,.07); }
.social-icon { width:50px; height:50px; flex:0 0 50px; display:inline-flex; align-items:center; justify-content:center; border-radius:12px; overflow:hidden; box-shadow:none; }
.social-icon svg { display:block; width:50px; height:50px; }
.signature { margin-top:3rem; letter-spacing:.18em; font-size:.72rem; font-weight:700; }

.visual { background:#b49a78; padding-bottom:7rem; }
.visual-head { padding-bottom:5rem; }
.visual h2 { max-width:1000px; }
.gallery { display:grid; grid-template-columns:1.4fr .8fr 1fr; gap:1.4vw; padding:0 1.4vw; align-items:end; }
.frame { position:relative; min-height:68vh; padding:1rem; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; color:white; }
.frame span { font-size:.65rem; letter-spacing:.2em; z-index:2; }
.frame strong { font-size:.68rem; letter-spacing:.2em; z-index:2; }
.frame::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,transparent 52%,rgba(0,0,0,.44) 100%); pointer-events:none; }
.frame-1 { background-image:url("assets/visual-contraluz.jpg"); background-size:cover; background-position:50% 45%; }
.frame-2 { min-height:52vh; background-image:url("assets/visual-estudio.jpg"); background-size:cover; background-position:52% 42%; }
.frame-3 { min-height:60vh; background-image:url("assets/visual-retrato.jpg"); background-size:cover; background-position:50% 38%; }

.press-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:8vw; align-items:end; }
.press-copy p { max-width:520px; color:#cfc3b3; line-height:1.7; }
footer { background:var(--ink); color:var(--paper); border-top:1px solid #3f3933; min-height:180px; padding:2.5rem 5vw; display:grid; grid-template-columns:1fr auto auto; gap:2rem; align-items:end; }
footer p { margin:0; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:#bbae9f; }

.toast { position:fixed; left:50%; bottom:24px; z-index:90; transform:translate(-50%,140%); background:white; color:var(--ink); padding:.9rem 1.2rem; box-shadow:0 12px 40px rgba(0,0,0,.2); font-size:.78rem; transition:.35s; }
.toast.show { transform:translate(-50%,0); }

.reveal { opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.reveal.in { opacity:1; transform:none; }
.reveal-delay { transition-delay:.16s; }

/* Contact form */
.contact-intro { max-width:38rem; font-size:1.05rem; line-height:1.75; color:#cbbfb2; }
.contact-form {
  margin-top:2.2rem;
  display:grid;
  gap:1.15rem;
  padding:clamp(1.4rem, 3vw, 2.5rem);
  border:1px solid rgba(243,231,213,.14);
  background:rgba(255,255,255,.035);
  backdrop-filter:blur(10px);
}
.form-heading { margin-bottom:.4rem; padding-bottom:1.15rem; border-bottom:1px solid rgba(243,231,213,.12); }
.form-heading-kicker { display:block; margin-bottom:.7rem; font-size:.62rem; letter-spacing:.2em; font-weight:700; color:#b9aa99; }
.form-heading h3 { margin:0; font-family:var(--serif); font-size:clamp(1.7rem, 3vw, 2.5rem); font-weight:500; letter-spacing:-.025em; }
.form-heading p { margin:.55rem 0 0 !important; max-width:34rem; color:#aaa095 !important; font-size:.9rem; line-height:1.6; }
.form-field { display:grid; gap:.55rem; }
.form-field label { display:flex; align-items:center; justify-content:space-between; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:#ded2c3; font-weight:700; }
.form-field label span { color:#9e8e7d; }
.form-field input,
.form-field textarea {
  width:100%;
  border:1px solid rgba(243,231,213,.16);
  border-radius:0;
  padding:1rem 1.05rem;
  background:rgba(0,0,0,.13);
  color:var(--paper);
  font:inherit;
  font-size:1rem;
  outline:none;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.form-field textarea { min-height:170px; resize:vertical; line-height:1.65; }
.form-field input::placeholder,
.form-field textarea::placeholder { color:#847a70; }
.form-field input:hover,
.form-field textarea:hover { border-color:rgba(243,231,213,.28); }
.form-field input:focus,
.form-field textarea:focus {
  border-color:rgba(243,231,213,.68);
  background:rgba(0,0,0,.2);
  box-shadow:0 0 0 3px rgba(243,231,213,.06);
}
.form-actions { display:flex; align-items:center; gap:1rem 1.4rem; flex-wrap:wrap; margin-top:.35rem; }
.contact-submit {
  width:max-content;
  min-width:190px;
  justify-content:space-between;
  background:var(--paper);
  color:var(--ink);
  border-color:var(--paper);
  cursor:pointer;
  gap:1.5rem;
}
.contact-submit:hover { background:transparent; color:var(--paper); }
.contact-submit:disabled { opacity:.6; cursor:wait; }
.submit-arrow { font-size:1.1em; transition:transform .2s ease; }
.contact-submit:hover .submit-arrow { transform:translate(2px,-2px); }
.form-note { margin:0 !important; font-size:.72rem !important; color:#887f76 !important; }
.form-status { min-height:1.4em; margin:.1rem 0 0 !important; font-size:.82rem; color:#d3c6b4 !important; }
.form-status.success { color:#f3e7d5 !important; }
.form-status.error { color:#ffb8a9 !important; }
.form-honey { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important; }

@media (max-width: 860px) {
  .desktop-nav { display:none; }
  .menu-button { display:block; }
  .site-header { height:72px; }
  .hero { padding:16vh 6vw 8vh; }
  .hero h1 { font-size:clamp(4.4rem,21vw,8rem); }
  .hero-side { display:none; }
  .scroll-hint { display:none; }
  .sun { width:75vw; height:75vw; right:-18vw; top:11vh; }
  .music-stage, .story-grid, .press-grid { grid-template-columns:1fr; }
  .section, .section-dark { padding:7rem 6vw; }
  .section-kicker { margin-bottom:2.4rem; }
  .music-heading-row { margin-bottom:3rem; }
  .music-heading-note { display:none; }
  .release-number { top:-1.7rem; }
  .release-copy { padding-top:0; }
  .release-copy h2 { font-size:clamp(4rem,17vw,6.8rem); }
  .release-copy h2, .story h2, .visual h2, .press h2 { font-size:clamp(3.4rem,16vw,6.4rem); }
  .gallery { grid-template-columns:1fr; gap:1rem; padding:0 6vw; }
  .frame, .frame-2, .frame-3 { min-height:62vh; }
  footer { grid-template-columns:1fr; align-items:start; }
  .brand { font-size:2rem; line-height:.74; }
  .bio-socials { display:flex; gap:.65rem; }
  .bio-socials a { flex:1 1 170px; }
  .contact-form { padding:1.25rem; }
  .contact-submit { width:100%; min-width:0; }
  .form-actions { align-items:stretch; }
  .form-note { width:100%; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}

/* === 1909C HARD OVERRIDES: requested visual corrections === */
/* Header artist name: double-size, same fixed-header behaviour */
.site-header .brand {
  font-family: "League Spartan", "DM Sans", Arial, sans-serif !important;
  font-size: 2.5rem !important;
  line-height: .70 !important;
  font-weight: 800 !important;
  letter-spacing: -.085em !important;
  text-transform: uppercase !important;
}
.site-header .brand span { font-family: inherit !important; font-style: normal !important; font-weight: inherit !important; }

/* Hero title: same geometric language as the single cover, no serif A */
.hero .hero-copy h1,
.hero .hero-copy h1 span {
  font-family: "League Spartan", "DM Sans", Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: -.075em !important;
  line-height: .76 !important;
}

/* Music platform marks: exactly 50 x 50 */
.platforms .platform-logo,
.platforms .platform-logo svg {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
}
.platforms .platform-logo { flex: 0 0 50px !important; border-radius: 12px !important; overflow: hidden !important; }
.platforms .platform-row { min-height: 72px !important; }

/* Bio social marks: compact rows, icon exactly 50 x 50 */
.story .bio-socials {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .75rem !important;
  align-items: center !important;
  margin-top: 2.6rem !important;
  padding-top: 1.5rem !important;
}
.story .bio-socials a {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 66px !important;
  flex: 0 0 auto !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: .7rem !important;
  padding: .45rem .75rem !important;
}
.story .bio-socials .social-icon,
.story .bio-socials .social-icon svg {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
}
.story .bio-socials .social-icon { flex: 0 0 50px !important; border-radius: 12px !important; overflow: hidden !important; }

@media (max-width: 860px) {
  .site-header .brand { font-size: 1.85rem !important; }
  .story .bio-socials a { flex: 0 0 auto !important; }
}

/* 1909d — refinamiento solicitado */
.site-header .brand {
  font-size: 1.9rem !important;
  line-height: .74 !important;
  letter-spacing: -.075em !important;
}

.hero-wordmark {
  margin: 0 !important;
  width: min(1040px, 76vw);
  line-height: 1 !important;
}
.hero-wordmark img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 42vh;
  object-fit: contain;
  object-position: left center;
}

/* Recupera el bloque Música compacto de la versión anterior */
.music.section { padding-top: 7.2rem; padding-bottom: 7.2rem; }
.music-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(300px, .92fr) minmax(360px, 1.08fr);
  gap: clamp(3rem, 6vw, 7rem);
  align-items: center;
}
.music-grid .cover-art { width: 100%; max-width: 560px; justify-self: start; }
.music-grid .release-copy { padding-top: 0; }
.music-grid .release-copy::before { display: none; }
.music-grid .release-copy h2 { font-size: clamp(2.8rem, 5vw, 5.4rem); line-height:.95; }
.music-grid .release-copy .lead { margin: 1.6rem 0 2.3rem; font-size: clamp(1.15rem, 1.8vw, 1.55rem); }

.platform-row { min-height: 64px !important; padding: .65rem 0 !important; }
.platform-brand { min-height: 50px !important; gap: .9rem !important; }
.platform-logo,
.platform-logo img {
  width: 50px !important;
  height: 50px !important;
}
.platform-logo {
  flex: 0 0 50px !important;
  border-radius: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}
.platform-logo img { display: block; object-fit: contain; }
.logo-apple img, .logo-amazon img { padding: 4px; }
.logo-youtube img { padding: 5px 0; }

/* Redes: solo logotipo, sin tarjeta ni texto */
.story .bio-socials {
  margin-top: 2.2rem !important;
  padding-top: 1.25rem !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 1rem !important;
}
.story .bio-socials a {
  width: 50px !important;
  height: 50px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 50px !important;
}
.story .bio-socials a:hover {
  transform: translateY(-2px) scale(1.04) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.social-logo {
  display: block;
  width: 50px;
  height: 50px;
  object-fit: contain;
}

@media (max-width: 860px) {
  .site-header .brand { font-size: 1.55rem !important; }
  .hero-wordmark { width: min(92vw, 720px); }
  .hero-wordmark img { max-height: 32vh; }
  .music-grid { grid-template-columns: 1fr; gap: 3rem; }
  .music-grid .cover-art { max-width: 540px; }
}

/* 1909j — portada oficial + contacto */
.cover-art.cover-official {
  background:#111;
  box-shadow:0 28px 70px rgba(23,19,15,.17);
}
.cover-art.cover-official::before,
.cover-art.cover-official::after { display:none; }
.cover-official img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  aspect-ratio:1/1;
}
.contact-types {
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin:1.35rem 0 2rem;
}
.contact-types span {
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:.45rem .7rem;
  border:1px solid rgba(243,231,213,.18);
  color:#d9ccbc;
  font-size:.61rem;
  font-weight:700;
  letter-spacing:.13em;
  white-space:nowrap;
}


/* 1909k — hero fotográfico y portada oficial */


/* 1909l — refinamientos Música y Contacto */
#contacto .press-grid {
  grid-template-columns: minmax(280px,.72fr) minmax(560px,1.28fr);
  gap: clamp(3rem,6vw,7rem);
  align-items:start;
}
#contacto .press-copy {
  width:100%;
  max-width:760px;
}
#contacto .contact-form {
  width:100%;
  max-width:760px;
  padding:clamp(1.25rem,2.2vw,2rem);
  gap:.95rem;
}
#contacto .form-field textarea { min-height:140px; }
#contacto .contact-types {
  gap:.4rem;
  margin:1rem 0 1.6rem;
}
#contacto .contact-types span {
  min-height:auto;
  padding:.22rem .15rem;
  border:0;
  color:#a99b8d;
  font-size:.58rem;
  letter-spacing:.13em;
  background:transparent;
}
#contacto .contact-types span:not(:last-child)::after {
  content:"·";
  margin-left:.55rem;
  color:#6f6257;
}
@media (max-width: 980px) {
  #contacto .press-grid { grid-template-columns:1fr; }
  #contacto .press-copy, #contacto .contact-form { max-width:none; }
}

/* 1909m — adaptación móvil del hero */
@media (max-width: 860px) {
  html, body { max-width:100%; overflow-x:hidden; }

  .site-header {
    height:76px;
    padding-left:6vw;
    padding-right:6vw;
  }
  .site-header .brand {
    font-size:1.42rem !important;
    line-height:.76 !important;
  }
  .menu-button {
    font-size:.78rem;
    letter-spacing:.13em;
    padding:0;
    margin:0;
    white-space:nowrap;
  }

  .hero {
    min-height:100svh;
    padding:15vh 6vw 9vh;
    align-items:flex-end;
  }
  .hero-backdrop {
    background-position:78% center;
    background-image:
      linear-gradient(90deg, rgba(8,7,6,.82) 0%, rgba(8,7,6,.60) 42%, rgba(8,7,6,.24) 72%, rgba(8,7,6,.18) 100%),
      linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.24) 100%),
      url("/assets/hero-a-contraluz.jpg");
  }
  .hero-copy {
    width:88vw;
    max-width:88vw;
  }
  .hero-wordmark {
    width:84vw !important;
    max-width:84vw !important;
    overflow:visible;
  }
  .hero-wordmark img {
    display:block;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain;
    object-position:left center;
  }
  .hero-sub {
    font-size:1.02rem;
    line-height:1.38;
    margin:1.55rem 0 1.8rem;
    max-width:88vw;
  }
  .hero-actions {
    gap:1.25rem;
    align-items:flex-start;
    flex-direction:column;
  }
  .hero-actions .btn {
    min-height:50px;
    padding:0 1.35rem;
  }
  .text-link span {
    font-family:Arial, Helvetica, sans-serif !important;
    font-variant-emoji:text;
    margin-left:.45rem;
  }

  .ticker { padding:.78rem 0; }
  .ticker span { font-size:.62rem; letter-spacing:.20em; }
}

@media (max-width: 430px) {
  .hero-backdrop { background-position:80% center; }
  .hero-wordmark { width:82vw !important; max-width:82vw !important; }
  .hero-copy { width:88vw; max-width:88vw; }
  .eyebrow { font-size:.66rem; letter-spacing:.20em; }
}

/* 1909n — revisión responsive integral */
section[id] { scroll-margin-top: 92px; }

/* Flechas vectoriales: evita que iOS las convierta en emoji */
.platform-arrow,
.bio-summary-arrow,
.link-arrow,
.submit-arrow {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  flex:0 0 20px;
}
.platform-arrow svg,
.bio-summary-arrow svg,
.link-arrow svg,
.submit-arrow svg {
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bio-summary-arrow { transition:transform .25s ease; }
.bio-details[open] .bio-summary-arrow { transform:rotate(180deg); }

@media (max-width: 860px) {
  html, body { width:100%; max-width:100%; overflow-x:hidden; }
  main, section, footer { max-width:100%; overflow-x:clip; }

  /* Cabecera móvil: fija pero legible, sin mezclar el contenido que pasa por debajo */
  .site-header {
    height:72px;
    padding:0 5.5vw;
    color:var(--paper);
    background:rgba(23,19,15,.88);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    mix-blend-mode:normal;
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .site-header .brand { font-size:1.38rem !important; }
  .menu-button { color:inherit; font-size:.78rem; letter-spacing:.12em; }
  .mobile-menu { padding-top:104px; }

  section[id] { scroll-margin-top: 78px; }

  /* Música */
  .music.section { padding:5.6rem 6vw 6rem; }
  .music-grid { gap:2.4rem; }
  .music-grid .cover-art { width:100%; max-width:100%; }
  .music-grid .release-copy h2 {
    font-size:clamp(2.9rem, 13vw, 4.2rem) !important;
    line-height:.98;
    max-width:100%;
  }
  .music-grid .release-copy .lead {
    font-size:1.08rem;
    line-height:1.55;
    margin:1.25rem 0 1.8rem;
  }
  .platform-row { width:100%; min-width:0; }
  .platform-brand { min-width:0; }
  .platform-brand > span:last-child { min-width:0; }
  .platform-arrow { margin-left:auto; color:var(--ink); }
  .btn-dark { max-width:100%; text-align:center; }

  /* Bio */
  .story.section { padding-top:5.8rem; padding-bottom:5.8rem; }
  .story-grid { gap:2.3rem; }
  .story-copy, .story-title { min-width:0; max-width:100%; }
  .story-copy p { overflow-wrap:anywhere; }
  .bio-details summary { min-width:0; }
  .bio-summary-arrow { margin-left:auto; }
  .story .bio-socials {
    width:100%;
    gap:1rem !important;
    flex-wrap:wrap !important;
  }

  /* Contacto: una sola columna, sin desbordes */
  #contacto.section-dark { padding:5.8rem 5vw 6rem; }
  #contacto .press-grid {
    grid-template-columns:1fr !important;
    gap:2.4rem;
    width:100%;
    min-width:0;
  }
  #contacto .press-grid > div,
  #contacto .press-copy,
  #contacto .contact-form {
    width:100%;
    max-width:100% !important;
    min-width:0;
  }
  #contacto .section-kicker { margin-bottom:2rem; }
  #contacto .press-grid h2 {
    margin:0;
    max-width:100%;
    font-size:clamp(3.1rem, 14vw, 4.6rem) !important;
    line-height:.92;
    letter-spacing:-.055em;
    overflow-wrap:normal;
    word-break:normal;
  }
  #contacto .contact-intro {
    width:100%;
    max-width:100%;
    margin:0;
    font-size:1rem;
    line-height:1.6;
  }
  #contacto .contact-types {
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:.55rem .85rem;
    width:100%;
    margin:1.2rem 0 1.5rem;
  }
  #contacto .contact-types span {
    display:flex;
    align-items:center;
    padding:0;
    min-width:0;
    white-space:normal;
    font-size:.56rem;
    line-height:1.35;
    letter-spacing:.11em;
  }
  #contacto .contact-types span::before {
    content:"•";
    margin-right:.42rem;
    color:#776a5f;
  }
  #contacto .contact-types span:not(:last-child)::after { content:none; }

  #contacto .contact-form {
    padding:1.15rem;
    gap:.9rem;
  }
  #contacto .form-heading h3 {
    font-size:clamp(2rem, 10vw, 2.75rem);
    line-height:1;
  }
  #contacto .form-heading p,
  #contacto .form-note,
  #contacto .form-status { max-width:100%; }
  #contacto .form-field,
  #contacto .form-field input,
  #contacto .form-field textarea {
    width:100%;
    max-width:100%;
    min-width:0;
  }
  #contacto .form-field input,
  #contacto .form-field textarea {
    font-size:16px; /* evita zoom automático de Safari iOS */
  }
  #contacto .form-field textarea {
    min-height:165px;
    max-height:360px;
  }
  #contacto .contact-submit {
    width:100%;
    min-width:0;
  }

  /* Footer */
  footer { padding:2.2rem 5.5vw; gap:1rem; }
}

@media (max-width: 430px) {
  #contacto .press-grid h2 {
    font-size:clamp(2.9rem, 13.4vw, 4rem) !important;
  }
  #contacto .contact-types { grid-template-columns:1fr 1fr; }
  .music-grid .release-copy h2 { font-size:clamp(2.8rem, 12.5vw, 3.8rem) !important; }
  .hero-wordmark { width:80vw !important; max-width:80vw !important; }
}


/* 1909p — SEO base + cleanup */
.toast { display:none !important; }
