/* Main hero typography and verse artwork */
.hero h1{text-transform:none;font-family:'Script',Instrument,serif}
.hero h1.hero-names{display:grid;justify-items:center;gap:0;font:normal clamp(92px,12.5vw,160px)/.8 Instrument,serif;letter-spacing:-.045em;text-transform:uppercase}
.hero-name-line{position:relative;display:block;white-space:nowrap;isolation:isolate}
.hero-name-regular{position:relative;z-index:0;display:block;font-family:Instrument,serif;font-weight:400}
.hero-initial-overlay{position:absolute;z-index:1;left:-.82em;top:-.13em;font:normal 1.35em/.95 Script,cursive;letter-spacing:-.07em;pointer-events:none}
.hero .tracking{font-family:Arial,sans-serif;font-size:clamp(10px,1.2vw,14px);letter-spacing:.26em}
.hero .eyebrow{font-family:Instrument,serif;font-style:normal;font-size:clamp(22px,3vw,34px);letter-spacing:-.03em}
.hero .date{font-family:Instrument,serif;font-size:clamp(19px,2.6vw,28px);letter-spacing:.08em}
.top nav a.nav-rsvp{padding:10px 24px;background:var(--theme-cream);color:var(--theme-burgundy);text-align:center}
.verse-section{background:var(--theme-olive);padding:0;line-height:0;text-align:center;overflow:hidden}
.verse-section img{display:block;width:100%;height:auto;max-width:1500px;margin:0 auto;object-fit:contain}
.verse-stage{width:100%;max-width:1500px;margin:0 auto}
.verse-fallback{position:relative;display:grid;justify-items:center;align-content:center;min-height:620px;margin:0 auto;padding:70px clamp(25px,10vw,150px);overflow:hidden;background:#2e2e1b;color:#f7ead7;border:1px solid #c5ad76;outline:1px solid #c5ad76;outline-offset:-12px;text-align:center;line-height:1.7}
.verse-fallback[hidden]{display:none!important}
.verse-fallback-title{font:clamp(34px,5vw,58px) Instrument,serif;margin:0 0 10px}
.verse-fallback-divider{font:22px Instrument;color:#d3bd8b;letter-spacing:.2em;margin:5px 0}
.verse-arabic{max-width:900px;font-family:"Traditional Arabic","Noto Naskh Arabic",serif;font-size:clamp(24px,3.1vw,40px);line-height:2.05;margin:12px 0}
.verse-translation{max-width:850px;font:clamp(14px,1.6vw,19px)/1.9 Instrument,serif;margin:15px 0}
.verse-fallback-flower{position:absolute;top:16px;left:22px;color:#d3bd8b;font-size:36px}.verse-fallback-flower.bottom{top:auto;left:auto;right:22px;bottom:16px}

/* Decorative media options */
.story-card{overflow:hidden}
.story-ornament{position:absolute;right:8%;top:-12px;width:100px;height:88px;object-fit:contain;opacity:.9;pointer-events:none}
.photo{position:relative}
.photo img.photo-frame{position:absolute;inset:0;width:100%;height:calc(100% - 34px);object-fit:fill;z-index:2;pointer-events:none}
.video-story{text-align:center;background:#eee0ca}
.video-story h2{font:clamp(40px,6vw,72px) var(--heading-font);margin:10px 0 30px}
.video-story video{display:block;width:min(100%,980px);max-height:75vh;margin:0 auto;background:#201f17;box-shadow:0 18px 50px #0002}

/* A tidy cashless gift section within the invitation page */
.public-gift.section{position:relative;overflow:hidden;padding:100px max(6vw,22px);background:#eee0ca}
.gift-intro{text-align:center;max-width:650px;margin:0 auto 38px}
.gift-intro h2{font:clamp(45px,6vw,72px) var(--heading-font);margin:8px 0 13px}
.gift-intro p:not(.eyebrow){font-size:14px;line-height:1.8;color:#686251}
.public-gift-grid{width:min(100%,960px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.8fr);gap:22px;align-items:stretch}
.public-accounts,.public-qris{min-width:0;padding:26px;background:var(--theme-cream);color:var(--theme-olive);border:1px solid #d8c9aa;box-shadow:0 14px 40px #2827160b}
.public-accounts{display:grid;align-content:start;gap:13px}
.public-account{min-width:0;margin:0;padding:20px 22px;border:1px solid #d5c7aa;background:#fffaf0}
.public-account .account-bank{margin:0 0 9px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#776541}
.public-account strong{display:block;font:clamp(20px,2.5vw,27px) Instrument;letter-spacing:.035em;overflow-wrap:anywhere;word-break:break-word;color:var(--theme-olive)}
.public-account .account-owner{margin:7px 0 13px;font-size:12px;color:#69604e}
.public-account .button{margin:0;background:var(--theme-burgundy);color:var(--theme-cream)}
.public-qris{display:flex;min-height:350px;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.public-qris>.eyebrow{font-size:18px;color:#78643e}
.public-qris img{display:block;width:min(100%,260px);aspect-ratio:1;object-fit:contain;background:#fff;padding:10px;border:1px solid #cdbd99}
.public-qris small{max-width:260px;margin-top:13px;color:#6d6757;font-size:11px;line-height:1.6}
.qris-empty,.gift-empty{width:100%;padding:34px 20px;text-align:center;color:#807763;border:1px dashed #c9bb9c;background:#fffaf0}
.public-gift .gift-thanks{text-align:center;color:#6c624d;margin:34px 0 0;font:italic 19px Instrument}
.copy-toast{position:fixed;z-index:50;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--theme-olive);color:var(--theme-cream);padding:12px 20px;transition:.25s}
.copy-toast.show{opacity:1;transform:translate(-50%,0)}
html{scroll-padding-top:78px}

@media(max-width:1050px){.top nav{gap:13px}.top nav a{font-size:9px;letter-spacing:.09em}.top nav a.nav-rsvp{padding:8px 14px}}
@media(max-width:720px){
 .hero h1.hero-names{font-size:clamp(76px,17.5vw,124px);line-height:.8;letter-spacing:-.05em}.hero-initial-overlay{left:-.78em;top:-.1em;font-size:1.32em}.hero .eyebrow{font-size:clamp(23px,6vw,34px)}.hero .date{font-size:clamp(20px,5vw,29px)}
 .top nav{gap:0}.top nav a{font-size:7px;letter-spacing:0;padding:5px 3px}.top nav a.nav-rsvp{background:transparent;color:var(--theme-cream);padding:5px 3px}
 .public-gift.section{padding:76px 18px}.gift-intro{margin-bottom:25px}.public-gift-grid{grid-template-columns:minmax(0,1fr);gap:13px}.public-accounts,.public-qris{padding:18px}.public-account{padding:17px}.public-qris{min-height:0}.public-qris img{width:min(100%,250px)}.public-account strong{font-size:22px}.public-gift .gift-thanks{font-size:17px}
 .story-ornament{width:75px;height:68px;right:5%}.photo img.photo-frame{height:calc(100% - 34px)}.verse-fallback{min-height:600px;padding:50px 23px}.verse-arabic{line-height:2.2}.verse-fallback-flower{font-size:25px}
}

/* The uploaded cover image already contains the couple's names and date. */
.hero.image-cover-hero{background-color:#54151a;background-size:contain;background-position:center;background-repeat:no-repeat}
.hero.image-cover-hero .hero-shade,.hero.image-cover-hero .hero-copy{display:none}


/* Keep the venue postcard upright and show the full portrait artwork. */
.venue-art{height:600px;display:flex;align-items:center;justify-content:center}
.venue-art:before{transform:none}
.venue-art img{width:100%;height:100%;object-fit:contain;object-position:center}
@media(max-width:720px){.venue-art{height:min(145vw,620px)}}

