:root{--ink:#141210;--paper:#f7f3ec;--gold:#c9a96a;--smoke:#8a8580;--serif:"Cormorant Garamond",Georgia,serif;--sans:Inter,system-ui,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}button,input,textarea{font:inherit}button{cursor:pointer}.wrap{max-width:1160px;margin:auto;padding-inline:24px}.access-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(#141210cc,#141210ee),url("assets/cover.webp") center/cover}.access-card{width:min(430px,calc(100% - 36px));padding:42px;background:#f7f3ecf5;text-align:center;border-top:2px solid var(--gold);box-shadow:0 18px 70px #0008}.eyebrow{margin:0 0 8px;color:var(--gold);letter-spacing:.17em;font-size:.7rem;font-weight:600}.access-card h1,.hero h1,h2{font:600 clamp(2.2rem,5vw,4.7rem)/.9 var(--serif)}.access-card h1{margin:8px 0 22px}.access-card p{color:#57514d;line-height:1.6}.access-card label,.lightbox label,.tray label{display:block;text-align:left;font-size:.84rem;font-weight:600;margin:22px 0 10px}.access-card input,.lightbox textarea,.tray input{width:100%;border:1px solid #cfc7bb;background:white;padding:13px;margin-top:7px}.button{border:1px solid var(--ink);background:transparent;padding:12px 17px}.button.gold{background:var(--gold);border-color:var(--gold);font-weight:600}.error{color:#a33222!important}.access-card small{display:block;margin-top:22px;color:var(--smoke)}.hero{height:min(68vw,700px);min-height:490px;position:relative;color:white;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 28%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#000b 0%,#0001 65%),linear-gradient(0deg,#0009,transparent 55%)}.hero nav,.hero-copy{position:absolute;left:max(24px,calc((100vw - 1112px)/2));right:max(24px,calc((100vw - 1112px)/2));z-index:2}.hero nav{top:25px;display:flex;justify-content:space-between;align-items:center}.brand{font-size:.75rem;letter-spacing:.2em;font-weight:600}.text-button{border:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:4px;padding:8px}.hero-copy{bottom:40px}.hero-copy h1{margin:0 0 14px}.hero-copy p:last-child{margin:0}.toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-top:42px}.toolbar h2{font-size:2.4rem;margin:0}.actions{display:flex;gap:8px;align-items:center}.tabs{display:flex;gap:8px;overflow:auto;padding-top:30px;padding-bottom:18px}.tab{border:1px solid #cfc7bb;background:transparent;border-radius:999px;padding:9px 16px;white-space:nowrap}.tab.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-bottom:32px}.photo{position:relative;border:0;background:#222;aspect-ratio:.78;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.photo:hover img{transform:scale(1.04)}.photo .heart{position:absolute;right:10px;top:10px;color:white;font-size:1.4rem;text-shadow:0 1px 6px #000}.photo .heart.selected{color:var(--gold)}.selection-note{border-top:1px solid #dcd5cb;padding-top:20px;padding-bottom:50px;color:#625b55}.lightbox,.tray{border:0;padding:0;background:var(--ink);color:var(--paper);box-shadow:0 20px 80px #000c}.lightbox{width:min(1100px,96vw);max-width:none;height:min(740px,92vh);grid-template-columns:1fr 290px}.lightbox[open]{display:grid}.lightbox img{width:100%;height:100%;object-fit:contain;background:#080706}.lightbox aside{padding:36px 25px;background:#1e1a17}.lightbox h2,.tray h2{font-size:2rem;margin:0 0 24px}.lightbox textarea{min-height:90px;background:#fff;color:var(--ink);resize:vertical}.close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:white;font-size:2.2rem;z-index:4}.arrow{position:absolute;top:50%;border:0;background:#0008;color:white;font-size:1.5rem;padding:12px;z-index:3}.prev{left:0}.next{left:calc(100% - 290px - 48px)}.muted{color:#b8afa5;font-size:.85rem}.tray{width:min(530px,94vw);padding:32px;background:var(--paper);color:var(--ink)}.tray::backdrop,.lightbox::backdrop{background:#000a}.tray .close{color:var(--ink)}#tray-list{display:grid;gap:8px;max-height:330px;overflow:auto;margin-bottom:14px}.tray-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid #ded7ce;padding-bottom:8px}.tray-row img{width:60px;height:60px;object-fit:cover}.tray-row button{margin-left:auto;border:0;background:none;color:#9d271d}.success{color:#42773d;font-weight:600}@media(max-width:700px){.hero{min-height:410px}.grid{grid-template-columns:repeat(2,1fr)}.toolbar{align-items:start;flex-direction:column}.lightbox[open]{display:block;height:94vh}.lightbox img{height:55vh}.lightbox aside{min-height:39vh}.next{left:auto;right:0}.hero-copy{bottom:25px}}
/* Vista protegida: encuadre completo, sin arrastre y marca de agua visible. */
.photo img,.lightbox img{user-select:none;-webkit-user-drag:none}.lightbox img{padding:22px 58px;object-fit:contain}.photo-watermark{position:absolute;inset:0;display:grid;place-items:center;color:#fff9;font-size:.58rem;letter-spacing:.16em;text-shadow:0 1px 4px #000;transform:rotate(-35deg);pointer-events:none}.image-watermark{position:absolute;left:0;top:0;width:calc(100% - 290px);height:100%;display:grid;place-items:center;z-index:2;color:#fff9;font-size:clamp(.7rem,1.5vw,1rem);letter-spacing:.24em;text-shadow:0 2px 8px #000;transform:rotate(-35deg);pointer-events:none}@media(max-width:700px){.lightbox img{padding:12px 46px}.image-watermark{width:100%;height:55vh}}
.site-logo-frame{width:min(310px,82%);height:145px;margin:0 auto 18px;overflow:hidden;contain:paint}.site-logo{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important}.panel-logo{width:42px;height:42px;object-fit:contain;border-radius:6px;vertical-align:middle;margin-right:10px}.panel-brand{display:flex;align-items:center;gap:8px}
.hero-logo-frame{width:min(460px,38vw);height:210px;overflow:hidden;contain:paint}.hero-logo{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;object-position:left top;filter:drop-shadow(0 3px 14px #0009)}
@media(max-width:700px){.hero-logo-frame{width:min(280px,68vw);height:130px}}
.remember-access{display:flex!important;align-items:center;gap:8px;font-weight:500!important}.remember-access input{width:auto!important;margin:0!important;accent-color:var(--gold)}
