/* Approved editorial composition, scoped independently from the content sections. */
:root{--burgundy:#28100e;--editorial-cream:#fff4e5}
.development-note { margin-top: 24px; padding: 18px 20px; border-left: 2px solid var(--ink); max-width: 65ch; font-size: 1rem; line-height: 1.35; }
.development-note strong { display: block; margin-bottom: 6px; }
.editorial-hero{padding:0;position:relative;min-height:820px;height:min(960px,100svh);background:#28100e;color:var(--editorial-cream);overflow:hidden;isolation:isolate}
.hero-portrait{inset:auto;margin:0;position:absolute;right:0;top:0;height:100%;width:67%;object-fit:cover;object-position:50% 42%;z-index:-3}
.ed-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#28100e 0%,#28100ef5 21%,#28100e45 49%,transparent 70%),linear-gradient(0deg,#1a0b0b99,transparent 30%)}
.ed-header{position:absolute;top:max(22px,env(safe-area-inset-top));left:4.5%;right:4.5%;display:flex;align-items:center;justify-content:space-between;gap:24px;z-index:5}
.ed-brand{font-weight:850;font-size:26px;letter-spacing:-.06em;white-space:nowrap}.ed-brand b{color:var(--pink)}
.ed-glass{background:linear-gradient(135deg,#fff6e522,#fff6e509 60%,#fff6e519);border:1px solid #fff4e54d;box-shadow:inset 0 1px 0 #fff8,0 8px 32px #0002;backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%)}
.ed-nav{border-radius:100px;display:flex;gap:26px;align-items:center;padding:4px 23px;font-size:14px}.ed-nav a{display:flex;align-items:center;min-height:44px}
.ed-nav-cta{display:flex;align-items:center;min-height:44px;border:1px solid #fff5;border-radius:100px;padding:10px 20px;font-size:14px}
.ed-mobile-nav{display:none;position:relative}.ed-mobile-nav summary{list-style:none;cursor:pointer;width:48px;height:48px;border-radius:50%;display:grid;place-content:center;gap:5px}.ed-mobile-nav summary::-webkit-details-marker{display:none}.ed-mobile-nav summary i{width:17px;height:1px;background:var(--editorial-cream)}
.ed-mobile-links{position:absolute;right:0;top:58px;border-radius:20px;min-width:190px;padding:14px;background-color:#28100ed9}.ed-mobile-links a{display:block;padding:14px}
.ed-copy{position:absolute;left:7%;top:25%;width:49%;max-width:670px}.ed-eyebrow{font-size:11px;font-weight:600;letter-spacing:.18em;line-height:1.5;text-transform:uppercase}
.ed-copy h1{position:relative;z-index:1;text-align:left;white-space:normal;font-size:clamp(74px,8.5vw,144px);font-weight:800;line-height:.84;letter-spacing:-.065em;margin-top:26px}.ed-copy h1 span{color:var(--pink)}
.ed-statement{font-weight:450;font-size:clamp(28px,3.1vw,46px);line-height:1.02;letter-spacing:-.045em;margin-top:28px;max-width:13ch}
.ed-description{margin-top:18px;font-size:17px;line-height:1.35;max-width:30ch;color:#fff4e5c7}
.ed-cta{margin-top:28px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:8px 8px 8px 22px;border-radius:100px;font-size:16px;min-height:56px;font-weight:600}.ed-cta i{display:grid;place-content:center;border-radius:50%;width:40px;height:40px;background:var(--editorial-cream);color:var(--ink);font-style:normal;font-size:24px}
.ed-caption{position:absolute;right:4.5%;bottom:100px;width:230px;padding:19px 20px;border-radius:20px}.ed-caption small{font-size:9px;letter-spacing:.15em;color:#fff4e5b8}.ed-caption p{margin-top:9px;font-size:20px;letter-spacing:-.035em;line-height:1.05}.ed-caption img{position:absolute;width:31px;height:31px;right:16px;top:12px}
.ed-foot{position:absolute;bottom:28px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.15em;border-top:1px solid #fff3;padding-top:17px}.ed-foot a{display:flex;gap:15px;min-height:28px;align-items:center}
.ed-paper{background:var(--editorial-cream) url('assets/graficos/papel-crema.svg') repeat;background-size:640px;padding:50px 7% 36px;display:flex;align-items:center;gap:28px;justify-content:space-between}.ed-paper img{width:40px;height:40px;flex-shrink:0}.ed-paper h2{font-size:clamp(26px,3vw,42px);line-height:1;letter-spacing:-.045em;font-weight:600;max-width:24ch}.ed-paper p{font-size:15px;line-height:1.3;max-width:27ch}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.ed-glass{background:#392725f5}}
@media(min-width:1600px){.hero-portrait{object-position:50% 49%}}
@media(max-width:760px){
 .editorial-hero{min-height:760px;height:100svh;max-height:1000px}.hero-portrait{width:100%;height:100%;object-position:50% 50%}.ed-shade{background:linear-gradient(180deg,#180a0a40,transparent 25%,transparent 54%,#190b0bf2 100%)}
 .ed-header{top:max(18px,env(safe-area-inset-top));left:6%;right:6%}.ed-brand{font-size:25px}.ed-nav,.ed-nav-cta{display:none}.ed-mobile-nav{display:block}
 .ed-copy{left:7%;top:115px;width:86%;max-width:none}.ed-eyebrow{font-size:9px;letter-spacing:.14em}.ed-copy h1{position:relative;z-index:1;text-align:left;white-space:normal;font-size:clamp(56px,15.5vw,112px);line-height:.87;margin-top:14px}.ed-copy h1 br{display:none}.ed-copy h1 span{color:var(--pink)}
 .ed-statement{display:none}.ed-mobile-message{position:absolute;left:7%;bottom:108px;right:7%}.ed-mobile-message p{font-size:35px;line-height:.98;letter-spacing:-.045em;max-width:13ch}.ed-mobile-message small{display:block;font-size:13px;line-height:1.3;margin-top:12px;max-width:29ch;color:#fff4e5c9}.ed-mobile-message .ed-cta{margin-top:18px;font-size:14px;min-height:52px;padding-left:20px}.ed-cta i{width:35px;height:35px}
 .ed-description,.ed-copy>.ed-cta,.ed-caption{display:none}.ed-foot{left:7%;right:7%;bottom:max(18px,env(safe-area-inset-bottom));font-size:8px;letter-spacing:.1em;padding-top:12px}.ed-paper{padding:32px 7%;gap:16px;flex-wrap:wrap}.ed-paper h2{font-size:29px;max-width:19ch;flex:1}.ed-paper p{margin-left:56px;font-size:14px;max-width:27ch}
}
@media(min-width:761px){.ed-mobile-message{display:none}}
@media(max-width:360px){.ed-copy h1{position:relative;z-index:1;text-align:left;white-space:normal;font-size:15.2vw}.ed-mobile-message p{font-size:31px}}
@media(max-height:600px) and (min-width:761px){.editorial-hero{min-height:700px}}

/* Interaction and device refinements; layout above follows the approved mockup. */
.skip { z-index: 101; }
.ed-brand { display: inline-flex; align-items: center; min-height: 44px; }
.ed-brand b { font-weight: inherit; }
.ed-foot a { min-height: 44px; }
.ed-mobile-links a { min-height: 44px; }
.editorial-hero :focus-visible { outline: 2px solid var(--yellow); outline-offset: 5px; }
.ed-nav, .ed-nav-cta, .ed-cta { position: relative; overflow: hidden; }
.ed-nav::before, .ed-nav-cta::before, .ed-cta::before {
  content: ''; position: absolute; pointer-events: none; inset: 0;
  background: linear-gradient(110deg, transparent 20%, #fff4e51c 47%, #fff4e536 50%, transparent 75%);
  transform: translateX(-130%);
}
.ed-cta i { flex: 0 0 auto; }
.ed-nav a, .ed-nav-cta, .ed-cta, .ed-cta i { transition: color 180ms ease, background-color 180ms ease, transform 240ms ease, border-color 180ms ease; }
.ed-cta:focus-visible, .ed-nav-cta:focus-visible { background-color: #fff4e51c; }
.ribbon { background: var(--editorial-cream); border-color: #24151b22; }
.ribbon .wrap { font-size: clamp(.75rem, 1.5vw, 1.05rem); padding-block: 16px; font-weight: 650; }
@media (min-width: 761px) {
  .hero-portrait { object-position: 50% calc(42% + var(--photo-offset, 0px)); }
}
@media (min-width: 1600px) {
  .hero-portrait { object-position: 50% calc(49% + var(--photo-offset, 0px)); }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .ed-nav:hover::before, .ed-nav-cta:hover::before, .ed-cta:hover::before { transform: translateX(130%); transition: transform 700ms ease; }
  .ed-nav a:hover { color: var(--pink); }
  .ed-cta:hover, .ed-nav-cta:hover { background-color: #fff4e514; border-color: #fff4e58c; }
  .ed-cta:hover i { transform: rotate(-12deg); background: var(--pink); }
}
@media (max-width: 760px) {
  .ed-header { left: max(6%, env(safe-area-inset-left)); right: max(6%, env(safe-area-inset-right)); }
  .ed-glass { backdrop-filter: blur(12px) saturate(115%); -webkit-backdrop-filter: blur(12px) saturate(115%); }
  .ed-foot { bottom: max(18px, env(safe-area-inset-bottom)); }
  .ed-mobile-message { bottom: calc(108px + env(safe-area-inset-bottom)); }
  .ed-mobile-links { width: min(250px, 80vw); }
}
@media (prefers-reduced-motion: reduce) {
  .ed-nav a, .ed-nav-cta, .ed-cta, .ed-cta i { transition: none; }
  .ed-glass::before { display: none; }
}
