/*
Theme Name: Rayven LIHAM
Theme URI: https://rayvenmedia.com/
Author: Rayven Media
Description: A Filipino literary wedding invitation in paper, sepia ink and burgundy wax. Standalone classic theme; integrates with Rayven RSVP dashboard and guest passes.
Version: 1.0.4
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: rayven-liham
*/
@font-face{font-family:LihamSerif;src:url(assets/fonts/cormorant-garamond-400.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:LihamScript;src:url(assets/fonts/doulaise.ttf) format('truetype');font-weight:400;font-display:swap}
:root{--paper:#ede0c6;--cream:#f7ebd6;--ink:#382118;--wine:#591c21;--muted:#715943;--line:#88684c66;--script:LihamScript,'Brush Script MT',cursive;--serif:LihamSerif,Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#37271f;color:var(--ink);font:18px/1.65 var(--serif);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h2{font-size:clamp(35px,4vw,49px);line-height:1.05;letter-spacing:-.025em}h3{font-size:25px;line-height:1.2}p+p{margin-top:18px}section{scroll-margin-top:25px}button:focus-visible,a:focus-visible{outline:2px solid #aa7d3e;outline-offset:7px}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:15px;z-index:100;background:var(--cream);padding:10px}.skip-link:focus{top:15px}
.masthead{max-width:1100px;margin:auto;padding:25px 40px;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#f0dfc2}.masthead>a{text-decoration:none;letter-spacing:9px;font:24px/1.4 Georgia,serif}.masthead>a span{display:block;letter-spacing:1.5px;font:italic 12px/1.4 var(--serif);margin-top:3px}.masthead nav{display:flex;gap:25px;font-size:16px}.masthead nav a{text-decoration:none}.masthead nav a:last-child{border-bottom:1px solid #b7956f;padding-bottom:3px}
main{max-width:1100px;margin:auto;background:var(--paper);box-shadow:0 20px 80px #0003}.cover{position:relative;isolation:isolate;min-height:1000px;background:var(--paper) url(assets/cover.webp) center center/cover no-repeat;aspect-ratio:2/3;max-height:1500px}.cover-copy{width:75%;margin:auto;padding-top:8%;text-align:center}.eyebrow,.chapter{font:11px/1.5 Georgia,serif;text-transform:uppercase;letter-spacing:3px}.ornament{display:block;font-size:26px;margin:10px 0}.cover h1{font:clamp(94px,15vw,180px)/.75 var(--script);margin:45px auto 50px;overflow-wrap:anywhere}.cover h1 span{display:block}.cover h1 em{display:block;font:52px/1 var(--serif);margin:16px 0 10px}.tagline{font-size:25px;font-style:italic;letter-spacing:1px}.wedding-date{font:15px/1.5 Georgia,serif;letter-spacing:5px;margin-top:25px;text-transform:uppercase}.cover-open{display:inline-block;padding:12px 20px;margin-top:24px;background:#f7ead6cc;border:1px solid var(--line);font-size:17px;font-style:italic;text-decoration:none}.cover-open span{margin-left:20px}.cover-monogram{position:absolute;left:35.4%;top:82.2%;transform:translate(-50%,-50%) rotate(10deg);color:#d1aa7c;font:clamp(25px,5vw,55px)/1 var(--script);text-shadow:0 1px #270403;pointer-events:none}
.pages{background:var(--wine);padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;background-image:radial-gradient(#ffffff08 1px,transparent 1px);background-size:5px 5px}.paper{position:relative;background:var(--cream) url(assets/paper.webp) center/500px auto;padding:55px 42px;box-shadow:0 7px 20px #25070825;border:1px solid #aa876749}.paper:before,.paper:after{content:'';position:absolute;left:-1px;right:-1px;height:6px;background:inherit;clip-path:polygon(0 60%,4% 10%,9% 85%,14% 20%,19% 90%,24% 30%,30% 70%,36% 10%,42% 65%,48% 0,54% 70%,60% 15%,66% 80%,72% 20%,78% 90%,84% 30%,90% 60%,96% 10%,100% 60%,100% 100%,0 100%)}.paper:before{top:-5px}.paper:after{bottom:-5px;transform:rotate(180deg)}.chapter{display:flex;align-items:center;gap:16px;margin-bottom:28px;font-size:10px;letter-spacing:2.5px;color:var(--wine)}.chapter:after{content:'';height:1px;flex:1;background:var(--line)}.letter{grid-row:span 2}.letter h2{font-size:43px;margin-bottom:23px}.letter-body{line-height:1.6;font-size:20px}.portrait-print{margin:35px -10px 25px;padding:9px 9px 0;background:#eee1c7;border:1px solid #b79a72;box-shadow:1px 3px 6px #36251440;transform:rotate(-2deg)}.couple-photo{width:100%;aspect-ratio:4/5;object-fit:cover;filter:sepia(.55) saturate(.65) contrast(.94)}.portrait-print figcaption{font:39px/1.2 var(--script);text-align:center;padding:14px 5px 8px}.signature{font:48px/1.2 var(--script);overflow-wrap:anywhere}.signoff{font-style:italic;font-size:18px;margin-top:30px;margin-bottom:10px}.venue{text-align:center}.venue .chapter{text-align:left}.venue h2{margin-bottom:30px}.venue h3{text-transform:uppercase;letter-spacing:2px;color:var(--wine);font:15px/1.65 Georgia,serif}.address{font-size:16px;margin-top:8px}.venue-photo{width:100%;margin:25px 0;filter:sepia(.5) saturate(.65)}.venue-details{display:grid;grid-template-columns:1fr 1fr;margin:26px 0;border-block:1px solid var(--line);padding:18px 0;gap:15px;font-size:19px}.venue-details p+p{margin:0;border-left:1px solid var(--line)}.venue-details span{display:block;font:9px/2 Georgia,serif;letter-spacing:3px}.venue>p:not(.chapter){line-height:1.5}.text-link{display:inline-block;margin-top:24px;font-style:italic}.text-link span{margin-left:20px}.ink-panel{padding:30px 5px;color:var(--cream);text-align:center}.ink-panel .chapter{color:#e1c8a4;justify-content:center}.ink-panel .chapter:after{display:none}.ink-panel h2{font-size:35px;font-style:italic;margin-bottom:27px}.clock{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.clock strong{display:block;font:44px/1 var(--serif);font-variant-numeric:tabular-nums}.clock span{font-size:12px;letter-spacing:1px;text-transform:uppercase}.countdown-status{font-size:14px;margin-top:10px;min-height:23px}
.schedule{grid-column:1/-1}.schedule h2{max-width:500px}.schedule ol{list-style:none;padding:0;margin:35px 0 0;display:grid;grid-template-columns:repeat(5,1fr)}.schedule li{border-top:1px solid var(--line);padding:20px 15px 0 0;position:relative}.schedule li:before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;border:1px solid var(--wine);background:var(--cream);transform:rotate(45deg)}.event-index{font-size:12px;color:var(--muted);display:block}.schedule time{font-size:21px;display:block;margin:5px 0}.schedule h3{font-size:18px}.dress p{font-size:19px;line-height:1.5}.dress .signature{font:42px/1.2 var(--script);margin:20px 0}.swatches{display:flex;gap:12px;margin:25px 0}.swatches i{width:28px;height:28px;background:#b9ae95;border-radius:50%;border:3px solid #f7ecd6;outline:1px solid var(--line)}.swatches i:nth-child(2){background:#817456}.swatches i:nth-child(3){background:#cfb7a1}.swatches i:nth-child(4){background:#baaf99}.rule{display:flex;align-items:center;gap:15px;color:var(--muted);margin:40px 0}.rule:before,.rule:after{content:'';flex:1;height:1px;background:var(--line)}.dress h2+p{margin-top:20px}.rsvp h2{margin-bottom:18px}.rsvp-intro{font-size:22px;font-style:italic;line-height:1.4}.deadline{font-size:15px;line-height:1.5;margin:18px 0 35px}.deadline strong{font-weight:400;color:var(--wine)}body.liham .rgr-form{font:17px/1.6 var(--serif);color:var(--ink)}body.liham .rgr-form label,body.liham .rgr-form legend{font:18px/1.5 var(--serif);color:var(--ink)}body.liham .rgr-form input:not([type=radio]){border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);background:transparent;padding:10px 0;height:44px;font:19px var(--serif);margin-bottom:25px}body.liham .rgr-form .rgr-radio{font:17px/1.5 var(--serif);margin:10px 0}body.liham .rgr-hint{font:13px/1.5 var(--serif);color:#6b5140}body.liham .rgr-privacy{font:13px/1.5 var(--serif);color:#6b5140}body.liham .rgr-submit{border-radius:3px;background:var(--wine);color:var(--cream);font:italic 21px/1.5 var(--serif);letter-spacing:1px;box-shadow:0 4px 7px #381a1626;min-height:56px}body.liham .rgr-submit:hover{background:#743237}body.liham .rgr-signature{font:48px var(--script)!important;color:var(--wine)}body.liham .rgr-ticket{border:1px dashed var(--muted);border-radius:0;background:#f1dfbd;color:var(--ink)}body.liham .rgr-heart{color:var(--wine)}.ticket-preview{border:1px solid var(--line);outline:1px solid var(--line);outline-offset:-7px;padding:22px 18px;margin-top:38px;display:flex;align-items:center;gap:20px;background:#e8d6b2;transform:rotate(-3deg)}.ticket-preview>div{flex:1}.ticket-preview .signature{font-size:29px}.ticket-preview p{text-transform:uppercase;letter-spacing:2px;font-size:12px;margin-top:8px}.ticket-stamp{font:30px/1 var(--script);border:3px double var(--muted);border-radius:50%;padding:15px 7px;transform:rotate(14deg)}.pass-note{font-size:13px!important;text-align:center;margin-top:19px;line-height:1.4}.closing{text-align:center;padding:80px 25px;background:var(--cream) url(assets/paper.webp) center/500px auto}.closing>p{font-size:25px;margin-top:30px}.closing .signature{font-size:70px;margin-top:12px}.closing small{font-size:15px;font-style:italic;display:block}.closing>a{display:block;font-size:13px;margin-top:40px}.wax{width:83px;height:83px;display:inline-flex;justify-content:center;align-items:center;background:radial-gradient(ellipse at 32% 20%,#9c4849,var(--wine) 65%,#37080d);color:#d4aa78;border-radius:46% 54% 49% 51%;border:6px ridge #702e32;box-shadow:0 5px 12px #35100e4f,inset 0 0 0 2px #b0685b;font:31px/1 var(--script);text-shadow:0 1px #31070b}.plain-page{padding:60px 30px;background:var(--cream);min-height:80vh}.plain-page article{max-width:700px;margin:auto}.plain-page h1{font-size:50px}
@font-face{font-family:LihamSeal;src:url(assets/fonts/beau-rivage-400.ttf) format('truetype');font-weight:400;font-display:swap}
#liham-intro{padding:0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;overflow:hidden;background:#f9f0e0;color:var(--ink);opacity:1;transition:opacity .85s ease}
#liham-intro[open]{display:flex;align-items:center;justify-content:center}
#liham-intro::backdrop{background:#f9f0e0}
.film-envelope{display:block;position:relative;width:min(440px,100vw,calc(100svh * .5625));aspect-ratio:9/16;padding:0;border:0;background:transparent;color:var(--ink);isolation:isolate}
.film-envelope .opening-poster{width:100%;height:100%;object-fit:contain}
#liham-opening-video,#liham-opening-seal{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
#liham-opening-video{opacity:0;transition:opacity .2s}
#liham-opening-seal{z-index:2}
.film-prompt{position:absolute;left:0;right:0;top:75%;z-index:3;text-align:center;text-transform:uppercase;letter-spacing:3px;font:9px/1.5 Georgia,serif;color:#8b785a;transition:opacity .25s;pointer-events:none}
.film-playing #liham-opening-video{opacity:1}
.film-playing .film-prompt{opacity:0}
.skip-intro{position:absolute;right:20px;bottom:20px;z-index:5;background:#f9f0e0e6;border:1px solid #a67d2b66;border-radius:24px;padding:9px 14px;color:#765939;font:12px/1.5 Georgia,serif}
#liham-intro.leaving{opacity:0;pointer-events:none}.intro-open{overflow:hidden}
#music-toggle{position:fixed;bottom:20px;right:20px;z-index:10;width:44px;height:44px;border:1px solid #a88561;border-radius:50%;background:var(--cream);color:var(--wine);box-shadow:0 3px 12px #0002;font-size:23px}
@media(min-width:900px){.cover{min-height:0;aspect-ratio:2/3;max-height:1250px;background-size:100% 100%}.cover h1{font-size:170px;line-height:.7;margin-top:55px;margin-bottom:45px}.cover h1 em{font-size:46px}.cover-copy{padding-top:6%}.cover-monogram{font-size:55px}}
@media(max-width:650px){body{font-size:19px}.masthead{padding:20px;justify-content:center}.masthead>a{font-size:20px;letter-spacing:7px;text-align:center}.masthead>a span{font-size:11px;letter-spacing:1px}.masthead nav{display:none}main{max-width:520px}.cover{min-height:0;aspect-ratio:2/3;background-size:100% 100%;max-height:none}.cover-copy{width:80%;padding-top:9%}.eyebrow{font-size:8px;letter-spacing:2.1px}.ornament{font-size:16px;margin:8px 0}.cover h1{font-size:clamp(65px,20vw,107px);line-height:.69;margin:25px 0 23px}.cover h1 em{font-size:27px;margin:12px 0 8px}.tagline{font-size:17px;line-height:1.4}.wedding-date{font-size:10px;letter-spacing:3px;margin-top:15px}.cover-open{font-size:13px;margin-top:15px;padding:5px 12px}.cover-open span{margin-left:12px}.cover-monogram{font-size:27px}.pages{display:block;padding:22px 16px}.paper{padding:40px 26px;margin-bottom:25px}.letter h2{font-size:37px}.letter-body{font-size:19px}.chapter{font-size:9px;letter-spacing:2px;margin-bottom:24px}.portrait-print{margin:25px -7px}.portrait-print figcaption{font-size:37px}.signature{font-size:47px}.venue-details{font-size:19px}.countdown{padding:25px 9px 45px}.ink-panel h2{font-size:32px}.clock strong{font-size:40px}.clock span{font-size:10px}.schedule ol{display:block;margin-top:30px}.schedule li{display:grid;grid-template-columns:72px 1fr;gap:3px 18px;border-top:0;border-left:1px solid var(--line);margin-left:6px;padding:0 0 28px 24px}.schedule li:before{left:-4px;top:12px}.schedule .event-index{display:none}.schedule time{margin:0;font-size:21px}.schedule h3{font-size:22px;align-self:start;line-height:1.4}.schedule li:last-child{padding-bottom:0}.schedule h2,.dress h2,.rsvp h2{font-size:37px}.rsvp{margin-bottom:0}.ticket-preview{margin-inline:-4px;padding:18px 13px;gap:10px}.ticket-preview .signature{font-size:28px}.ticket-stamp{font-size:25px;padding:13px 6px}.ticket-preview p{font-size:10px;letter-spacing:1.5px}.closing{padding:55px 24px}.closing>p{font-size:22px}.closing .signature{font-size:58px}.closing small{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Compact engraved initials keep the seal readable for any name pair. */
.wax{font:25px/1 var(--serif)}.cover-monogram{font:23px/1 var(--serif)}.ticket-stamp{font:24px/1 var(--serif)}@media(min-width:651px){.cover-monogram{font-size:40px}}

/* 1.0.2: photo-real wax and corrected cover engraving alignment. */
.wax{border:0;border-radius:0;background:transparent url(assets/wax-seal.webp) center/contain no-repeat;box-shadow:none;width:92px;height:92px;padding:0 0 2px;color:#d8b18b;font:25px/1 var(--serif);text-shadow:0 1px 1px #36060a}
.cover-monogram{left:35.7%;top:80.7%;transform:translate(-50%,-50%) rotate(10deg);font-size:19px;letter-spacing:-.5px;line-height:1;color:#d8b18b}
.closing>p:first-of-type{max-width:440px;margin:26px auto 0;line-height:1.4}
@media(min-width:651px){.cover-monogram{font-size:37px}}
.cover .tagline{max-width:90%;margin-inline:auto}
@media(max-width:650px){.cover .tagline{max-width:88%;font-size:16px;line-height:1.3}}

/* 1.0.3: archival parchment opening, carried through the entire video. */
#liham-intro{background:#cfb38b url(assets/paper.webp) center/560px auto;background-blend-mode:multiply;box-shadow:inset 0 0 120px #41270d55}
#liham-intro::backdrop{background:#c4a77d}
.film-envelope{box-shadow:0 14px 45px #38210d33}
.film-envelope:focus-visible{outline-offset:-3px}
.film-prompt{color:#57361c;letter-spacing:2.5px;font-size:10px}
.skip-intro{background:#ead7b8ee;color:#513924;border-color:#76512b80}
