:root {
  color-scheme: dark;
  --black: #090707;
  --ink: #160d0d;
  --oxblood: #6d191d;
  --red: #a53231;
  --gold: #ad8551;
  --ivory: #f0e2c2;
  --paper: #d8c39b;
  --whatsapp: #25d366;
}
* { box-sizing: border-box; }
html { background: var(--black); scroll-behavior: smooth; }
body { background: #160f0f; color: var(--ivory); font-family: Georgia, 'Times New Roman', serif; line-height: 1.55; margin: 0; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
button { font: inherit; }
.skip-link { background: var(--ivory); color: var(--black); left: 1rem; padding: .7rem 1rem; position: fixed; top: -4rem; z-index: 20; }
.skip-link:focus { top: 1rem; }
main { background: var(--black); margin: auto; max-width: 1160px; overflow: hidden; }

.hero { isolation: isolate; min-height: 690px; overflow: hidden; position: relative; }
.hero-art { background: url('melania-hero.webp') center 25%/cover no-repeat; inset: 0; position: absolute; z-index: 0; }
.hero-veil { background: linear-gradient(180deg, rgba(9,7,7,.06) 35%, rgba(9,7,7,.96) 91%); inset: 0; position: absolute; z-index: 1; }
.language { backdrop-filter: blur(10px); background: rgba(9,7,7,.72); border: 1px solid rgba(240,226,194,.65); border-radius: 50%; color: var(--ivory); cursor: pointer; font-family: Arial,sans-serif; font-size: .7rem; font-weight: 800; height: 44px; left: max(1rem,env(safe-area-inset-left)); letter-spacing: .08em; position: absolute; top: max(1rem,env(safe-area-inset-top)); width: 44px; z-index: 4; }
.hero-copy { bottom: 0; left: 0; padding: 2rem 1.25rem 2.5rem; position: absolute; width: 100%; z-index: 2; }
.sigil { color: var(--gold); font-size: 2.4rem; line-height: 1; margin: 0 0 .4rem; }
.overline { color: #d5a968; font-family: Arial,sans-serif; font-size: .68rem; font-weight: 800; letter-spacing: .22em; margin: 0 0 .65rem; text-transform: uppercase; }
.overline.dark { color: var(--oxblood); }
h1 { font-size: clamp(2.65rem,12vw,5.8rem); font-weight: 400; letter-spacing: -.055em; line-height: .88; margin: 0; }
.title { font-size: 1.04rem; font-style: italic; margin: .9rem 0 .25rem; }
.languages { color: rgba(240,226,194,.66); font-family: Arial,sans-serif; font-size: .72rem; letter-spacing: .08em; margin: 0; }

.actions { border-bottom: 1px solid rgba(173,133,81,.3); border-top: 1px solid rgba(173,133,81,.3); padding: 1.25rem; }
.whatsapp { align-items: center; background: var(--whatsapp); border-radius: 999px; color: #07170b; display: flex; font-family: Arial,sans-serif; font-weight: 900; gap: .65rem; justify-content: center; min-height: 58px; text-decoration: none; }
.wa-mark { align-items:center; border:2px solid currentColor; border-radius:50%; display:flex; font-size:.72rem; height:27px; justify-content:center; width:27px; }
.action-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:1.15rem; }
.action-grid a,.action-grid button { align-items:center; background:transparent; border:0; color:var(--ivory); cursor:pointer; display:flex; flex-direction:column; font-family:Arial,sans-serif; font-size:.68rem; gap:.35rem; min-height:60px; padding:.2rem; text-decoration:none; }
.action-grid b { align-items:center; border:1px solid rgba(240,226,194,.35); border-radius:50%; display:flex; font-size:1rem; font-weight:400; height:38px; justify-content:center; width:38px; }

.promotion { background: var(--paper); color: var(--ink); margin: 3.5rem 1rem; position: relative; }
.promotion::before,.promotion::after { background:var(--black); border-radius:50%; content:''; height:26px; position:absolute; top:54px; width:26px; z-index:2; }
.promotion::before { left:-13px; }.promotion::after { right:-13px; }
.ticket-top { align-items:center; background:var(--oxblood); color:var(--ivory); display:flex; font-family:Arial,sans-serif; font-size:.68rem; font-weight:800; justify-content:space-between; letter-spacing:.12em; padding:1rem 1.25rem; text-transform:uppercase; }
.ticket-body { background-image:radial-gradient(rgba(22,13,13,.08) 1px,transparent 1px); background-size:5px 5px; padding:2rem 1.25rem; }
.venue { color:var(--oxblood); font-family:Arial,sans-serif; font-size:.72rem; font-weight:900; letter-spacing:.2em; margin:0 0 .6rem; text-transform:uppercase; }
.promotion h2 { font-size:clamp(2.2rem,9vw,4.3rem); font-weight:400; letter-spacing:-.045em; line-height:.94; margin:0 0 1.7rem; }
.promotion-facts { border-bottom:1px solid rgba(22,13,13,.25); border-top:1px solid rgba(22,13,13,.25); display:grid; grid-template-columns:repeat(3,1fr); }
.promotion-facts p { border-right:1px solid rgba(22,13,13,.2); margin:0; padding:.9rem .5rem; }
.promotion-facts p:last-child { border:0; }
.promotion-facts small,.promotion-facts strong { display:block; }
.promotion-facts small { color:#6e5948; font-family:Arial,sans-serif; font-size:.58rem; text-transform:uppercase; }
.promotion-facts strong { font-size:.88rem; margin-top:.2rem; }
.promotion-note { font-size:.9rem; font-style:italic; }
.promotion-links { align-items:center; display:flex; gap:.7rem; justify-content:space-between; margin-top:1.4rem; }
.promotion-links a { font-family:Arial,sans-serif; font-size:.74rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.promotion-links .reserve { background:var(--ink); border-radius:999px; color:var(--ivory); padding:.65rem 1rem; }

.reading { background:var(--ivory); color:var(--ink); padding:4.5rem 1.25rem; }
.ornament { color:var(--oxblood); font-size:1.4rem; margin:0 0 .8rem; }
.reading h2 { font-size:clamp(2.2rem,9vw,4.6rem); font-weight:400; letter-spacing:-.05em; line-height:1; margin:0 0 1.2rem; }
.reading > p:not(.ornament):not(.overline) { color:#594b40; font-size:1.05rem; }
.reading-types { display:grid; gap:.8rem; margin-top:2rem; }
.reading-types article { border:1px solid rgba(22,13,13,.22); padding:1.25rem; }
.reading-types span { color:var(--red); font-family:Arial,sans-serif; font-size:.62rem; font-weight:900; }
.reading-types h3 { font-size:1.45rem; font-weight:400; margin:.45rem 0; }
.reading-types p { color:#69584a; font-size:.88rem; margin:0; }
.regular-price { align-items:flex-start; background:var(--ink); color:var(--ivory); display:flex; flex-direction:column; margin-top:.8rem; padding:1.3rem; }
.regular-price span { font-family:Arial,sans-serif; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.regular-price strong { color:#e0b870; font-size:2rem; font-weight:400; }
.regular-price small { color:rgba(240,226,194,.65); font-size:.72rem; }

.closing { background:radial-gradient(circle at 50% 15%,#381416 0,var(--black) 55%); padding:5rem 1.25rem; text-align:center; }
.moon { color:var(--gold); font-size:3rem; margin:0 0 1rem; }
.closing h2 { font-size:clamp(2rem,8vw,4rem); font-style:italic; font-weight:400; line-height:1.1; margin:0 auto 2rem; max-width:780px; }
.closing a { border:1px solid var(--gold); border-radius:999px; display:inline-block; font-family:Arial,sans-serif; font-size:.75rem; font-weight:900; letter-spacing:.08em; padding:.9rem 1.4rem; text-decoration:none; text-transform:uppercase; }
footer { background:#050404; color:rgba(240,226,194,.52); font-family:Arial,sans-serif; font-size:.68rem; padding:2rem 1.25rem calc(2rem + env(safe-area-inset-bottom)); text-align:center; }
footer p { margin:.35rem auto; max-width:720px; }

.share-dialog { background:var(--ivory); border:1px solid var(--gold); color:var(--ink); max-width:360px; padding:2rem 1.5rem; text-align:center; width:calc(100% - 2rem); }
.share-dialog::backdrop { backdrop-filter:blur(5px); background:rgba(5,4,4,.88); }
.share-dialog h2 { font-size:2rem; font-weight:400; margin:.5rem 0 1.2rem; }
.dialog-close { background:transparent; border:0; color:var(--ink); cursor:pointer; font-size:2rem; position:absolute; right:.5rem; top:.2rem; }
.qr { background:#f0e2c2; display:inline-block; padding:.7rem; }
.qr img,.qr canvas { display:block; height:auto; max-width:210px; width:100%; }
.copy-link { background:var(--ink); border:0; border-radius:999px; color:var(--ivory); cursor:pointer; font-weight:800; margin-top:1rem; min-height:46px; padding:.6rem 1.2rem; }
a:focus-visible,button:focus-visible { outline:3px solid #e8b75f; outline-offset:3px; }
@media(min-width:760px) {
  body { background:#211919; }
  .hero { min-height:780px; }
  .hero-copy { padding:4rem; }
  .actions { align-items:center; display:grid; gap:2rem; grid-template-columns:.85fr 1.15fr; padding:1.5rem 4rem; }
  .action-grid { margin:0; }
  .promotion { margin:5rem auto; max-width:920px; }
  .ticket-body { padding:3rem; }
  .reading { padding:6rem 4rem; }
  .reading-types { grid-template-columns:1fr 1fr; }
  .regular-price { align-items:center; flex-direction:row; gap:1.4rem; }
  .regular-price small { margin-left:auto; max-width:230px; text-align:right; }
  .closing { padding:7rem 4rem; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }
