/* Opción 2 · Editorial sobria: pantalla dividida, serif tranquila, foto y texto lado a lado */
:root{--oliva:#2C2F24;--crema:#F7EFE7}
body{background:var(--card)}
.script{font:400 clamp(2rem,4.3vw,3.5rem)/1.14 var(--f-serif);letter-spacing:-.012em;color:var(--ink)}
.ev .script{font-size:clamp(1.7rem,3vw,2.5rem)}
.frame{outline:0;border:0;background:none}
.ph{padding:0!important;border:0!important;outline:0!important;background:none!important;overflow:hidden}
.ph img{transition:transform 1.6s cubic-bezier(.2,.7,.2,1);transform:scale(calc(1.09 - var(--p,1)*.09))}
.btn{letter-spacing:.14em}

/* navegación: oscura en la portada, crema al bajar */
.nav{background:var(--oliva);border-color:transparent;transition:background .5s,border-color .5s}
.nav:not(.solid) .brand img{display:none}
.nav:not(.solid) .brand span{display:inline;color:var(--crema)}
.nav:not(.solid) .links a{color:rgba(247,239,231,.86)}
.nav:not(.solid) .lang{border-color:rgba(247,239,231,.35)}
.nav:not(.solid) .lang button{color:var(--crema)}
.nav:not(.solid) .lang button[aria-pressed=true]{background:var(--crema);color:var(--ink)}
.nav:not(.solid) .menu-btn{border-color:rgba(247,239,231,.35)}
.nav:not(.solid) .menu-btn span,.nav:not(.solid) .menu-btn span::before,.nav:not(.solid) .menu-btn span::after{background:var(--crema)}
.nav.solid{background:color-mix(in srgb,var(--card) 94%,transparent);border-color:var(--rule)}
@media (max-width:1060px){.nav .links.open a{color:var(--mut)!important}}

/* portada dividida */
.h2x{padding:0;display:grid;grid-template-columns:1fr 1fr;min-height:calc(100svh - 62px);background:var(--card)}
.h2x>*{min-width:0}
.h2x-txt{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(28px,5vw,64px) clamp(18px,5vw,72px)}
.h2x-logo{width:min(300px,70%);height:auto;animation:aparece 1.4s .1s ease both}
.h2x h1{font:400 .74rem/1.4 var(--f-sans);letter-spacing:.26em;text-transform:uppercase;color:var(--mut);margin-top:22px;animation:aparece 1.2s .45s ease both}
.h2x .titulo{font:400 clamp(2rem,3.9vw,3.5rem)/1.14 var(--f-serif);letter-spacing:-.012em;margin:14px 0 0;max-width:17ch;text-wrap:balance;animation:aparece 1.3s .65s ease both}
.h2x .bajada{color:var(--mut);margin-top:18px;max-width:46ch;font-size:1rem;animation:aparece 1.2s .85s ease both}
.h2x .btns{margin-top:26px;justify-content:center;animation:aparece 1.2s 1.05s ease both}
@keyframes aparece{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.h2x-fotos{position:relative;overflow:hidden;background:var(--oliva);animation:destapa 1.5s cubic-bezier(.65,0,.2,1) both}
@keyframes destapa{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
.h2x-fotos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1.6s ease,transform 8s linear}
.h2x-fotos img.on{opacity:1;transform:scale(1)}
@media (max-width:860px){.h2x{grid-template-columns:1fr;min-height:0}.h2x-fotos{order:-1;height:62svh}.h2x-txt{padding-block:40px 48px}}

/* franja oscura */
.fil{background:var(--oliva);color:var(--crema);text-align:center}
.fil .label{color:rgba(247,239,231,.65)}
.fil .manifesto{max-width:880px}
.fil blockquote{font:400 clamp(1.5rem,3vw,2.4rem)/1.38 var(--f-serif);color:var(--crema)}
.fil blockquote b{color:var(--gold-soft)}
.rombo{width:9px;height:9px;border:1px solid var(--gold-soft);transform:rotate(45deg);margin:0 auto 26px}
.fil .services{margin-top:52px}
.fil .services li{border-color:rgba(247,239,231,.15);color:rgba(247,239,231,.86)}

/* tres fotos a distinta altura */
.trio-sec{padding-block:clamp(64px,8vw,110px) clamp(40px,5vw,70px)}
.trio{margin-top:0;gap:clamp(14px,2.4vw,34px)}
.trio figure:nth-child(1){margin-top:56px}
.trio figure:nth-child(3){margin-top:112px}
.trio .marco{overflow:hidden}
.trio img{transform:scale(1.12) translateY(calc((var(--p,.5) - .5)*-9%))}
@media (max-width:640px){.trio figure{margin-top:0!important}}

.film{background:var(--paper);border:0}
.film-frame{padding:0;border:0;outline:0;background:none;max-width:none}
.film .wrap{max-width:1320px}
.film-meta{max-width:none!important}

/* descubre a sangre */
.discover{padding:0;border:0;background:var(--card)}
.disc{max-width:none;padding:0;gap:0;grid-template-columns:1fr 1fr;align-items:stretch}
.disc .ph{min-height:100%}
.disc .ph img{width:100%;height:100%;aspect-ratio:auto!important}
.disc .sec-head{padding:clamp(40px,6vw,88px) clamp(18px,5vw,84px);text-align:left;align-self:center}
@media (max-width:860px){.disc{grid-template-columns:1fr}.disc .ph img{aspect-ratio:4/3!important}}

/* colecciones en filas alternas */
#wedding{padding-bottom:0}
#wedding .wrap{max-width:none;padding:0}
#wedding .sec-head{padding-inline:16px}
#wedding .coll{grid-template-columns:1fr;gap:0;max-width:none;margin-top:60px}
.c-card{grid-template-rows:none;grid-template-columns:1fr 1fr;align-items:stretch;border-top:1px solid var(--rule)}
.c-card:nth-child(even) .ph{order:2}
.c-card .ph{height:100%}
.c-card img{height:100%;aspect-ratio:auto;min-height:min(84vh,680px)}
.c-card .body{padding:clamp(32px,5vw,80px);align-content:center;justify-items:center;gap:12px;max-width:560px;margin-inline:auto;width:100%}
.c-card .n{font:400 .74rem/1 var(--f-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.c-card h3{font:400 clamp(1.8rem,3vw,2.6rem)/1.14 var(--f-serif);letter-spacing:-.01em;text-transform:none}
.c-card ul{width:100%}
.invest{padding:44px 16px}
@media (max-width:860px){.c-card{grid-template-columns:1fr}.c-card:nth-child(even) .ph{order:0}.c-card img{min-height:0;aspect-ratio:4/5}}

/* semana: foto fija que cambia con cada día */
.week{background:var(--paper)}
.wk-rejilla{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:start;margin-top:52px}
.wk-rejilla>*{min-width:0}
.wk-fotos{position:sticky;top:84px;height:calc(100vh - 110px);max-height:720px;overflow:hidden;background:var(--sage-tint)}
.wk-fotos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.wk-fotos img.on{opacity:1}
.programme{margin:0;max-width:none;padding:0}
.programme li{grid-template-columns:1fr;gap:6px;padding:30px 0;opacity:.42;transition:opacity .5s}
.programme li.on{opacity:1}
.fx-off .programme li{opacity:1}
.programme .day{font:400 .74rem/1.4 var(--f-sans);letter-spacing:.24em;text-transform:uppercase}
.programme h3{font:400 clamp(1.3rem,2.2vw,1.8rem)/1.2 var(--f-serif);letter-spacing:-.005em;text-transform:none}
@media (max-width:860px){.wk-rejilla{grid-template-columns:1fr}.wk-fotos{display:none}.programme li{opacity:1}}

.d-card h3{font-size:1.4rem;font-weight:400}
.d-card:hover .ph img{transform:scale(1.04)}
.events{background:var(--card);border:0}
.ev{gap:clamp(28px,6vw,96px)}
.celebr .script{font:400 1.4rem/1.2 var(--f-serif)}
.partners{background:var(--paper)}
.partners .box{padding:0;max-width:1120px}
.partners .box img{height:100%;min-height:420px}
.partners .script{font:400 clamp(1.9rem,3.4vw,2.8rem)/1.14 var(--f-serif)!important}
.partners .flow li::before{font:400 .95rem/1.5 var(--f-sans);color:var(--gold)}
#contact{background:var(--oliva);color:var(--crema);padding-top:clamp(64px,9vw,108px)!important}
.rsvp{background:var(--card);color:var(--ink);padding:clamp(28px,5vw,64px)}
footer{background:var(--card)}
