/*
Theme Name: Rayven Palace
Description: Standalone palace garden invitation with cinematic gate opening, date seal reveal, and RSVP guest passes.
Version: 1.0.1
Author: Rayven Media
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: rayven-palace
*/
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-7.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-9.ttf) format('truetype');
}

:root{--ink:#303a2e;--sage:#6d7952;--gold:#b59a63;--cream:#fbf8f1;--serif:'Cormorant Garamond',Georgia,serif;--title:Cinzel,Georgia,serif;--sans:Montserrat,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#160f08;color:var(--ink);font:20px/1.55 var(--serif)}body.gate-locked{overflow:hidden}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:5px}h1,h2,h3,p,ol,ul{margin:0}h1,h2,h3{font-weight:400}button:disabled{cursor:default}[hidden]{display:none!important}.skip-link{position:fixed;z-index:1000;top:-100px;left:15px;background:var(--cream);padding:10px}.skip-link:focus{top:15px}.palace-shell{width:100%;max-width:min(560px,calc(100svh * 9 / 16));margin:0 auto;background:var(--cream);container-type:inline-size;overflow:clip;outline:none}.palace-section{position:relative;isolation:isolate;min-height:177.777cqw;background:var(--cream)}.section-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.section-content{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:10cqw 8cqw;min-height:177.777cqw}.section-content>h2{font:500 5.6cqw/1.35 var(--title);letter-spacing:.13em;width:100%;overflow-wrap:anywhere}.orn{width:43%;height:auto;object-fit:contain;margin:4cqw auto 5cqw;pointer-events:none}.eyebrow{font:400 2.8cqw/1.7 var(--title);letter-spacing:.22em}.crest{position:relative;width:27cqw;aspect-ratio:1;flex-shrink:0;margin:0 auto 5cqw;color:#637144}.crest-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,28% 42%,28% 61%,72% 61%,72% 42%,28% 42%)}.crest span{position:absolute;top:42%;font:400 8cqw/1 var(--title);width:24%;text-align:center}.crest span:nth-of-type(1){left:24%}.crest span:nth-of-type(2){right:24%}.crest-gold{color:#b18e34}.small-crest{width:16cqw;margin-top:6cqw}.small-crest span{font-size:4.8cqw}.down{display:block;text-decoration:none;font:400 7cqw/.52 var(--serif);width:12cqw;margin:3cqw auto;color:#46513d}.palace-hero{position:relative;height:100svh;min-height:140cqw;isolation:isolate}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.hero-copy{position:relative;text-align:center;padding:20cqw 10cqw 0}.hero-copy h1{font:500 5.6cqw/1.4 var(--title);letter-spacing:.075em;text-wrap:balance}.hero-copy .orn{width:65%;margin:1cqw auto 6cqw}.hero-copy .down{font-size:8cqw}.palace-message .section-content{padding:5cqw 7cqw 11cqw}.palace-message .crest{margin-bottom:6cqw}.palace-message .orn{margin:4cqw auto 5cqw}.couple-message{font-size:4.1cqw;line-height:1.55}.couple-message p+p{margin-top:6cqw}.message-leaf{width:14cqw;margin:0 auto 4cqw}.message-ending{font-size:3.8cqw;line-height:1.5}.palace-message .down{margin-top:4cqw}.palace-date{height:177.777cqw;min-height:0;overflow:hidden}.date-card{position:relative;text-align:center;padding:27cqw 6cqw 20cqw;display:flex;flex-direction:column;align-items:center}.date-card .crest{width:26cqw;margin-bottom:7cqw}.date-card .crest span{font-size:7.7cqw}.date-card>h2{font:600 7.3cqw/1.15 var(--title);margin:1cqw 0 3cqw;max-width:100%;overflow-wrap:anywhere}.wedding-date{font:500 8.3cqw/1.5 var(--title);letter-spacing:.025em;white-space:nowrap;margin:1.5cqw 0}.date-card .orn{width:36%;margin:3cqw auto}.date-note{font-size:3.3cqw;font-style:italic}.date-cover{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;background:transparent;color:var(--ink);z-index:3;transition:opacity 1s ease,transform 1.1s ease}.date-cover-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.date-seal{position:absolute;width:36%;left:32%;top:34%;filter:drop-shadow(0 6px 8px #3b2b1530);transition:transform .8s,opacity .6s}.date-cover>span{position:absolute;top:62%;left:12%;right:12%;font:500 2.9cqw/1.5 var(--sans);letter-spacing:.12em}.date-is-open .date-cover{opacity:0;transform:scale(1.05);pointer-events:none}.date-is-open .date-seal{transform:translateY(12cqw) rotate(18deg);opacity:0}.has-reveal .date-card{opacity:0;transform:translateY(10px);transition:opacity 1s .3s,transform 1s .3s}.date-is-open .date-card{opacity:1;transform:none}.palace-countdown{display:flex;gap:4cqw;margin-top:5cqw}.palace-countdown>div{display:flex;flex-direction:column;min-width:9cqw}.palace-countdown strong{font:500 4.5cqw/1.2 var(--title)}.palace-countdown span{font:400 1.8cqw/2 var(--sans);letter-spacing:.1em}.palace-venue .section-content{padding:12cqw 9cqw 14cqw}.palace-venue .orn{width:52%}.venue-photo{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:2cqw;box-shadow:0 3cqw 5cqw #30271422;margin:1cqw 0 4cqw}.palace-venue h3{font:500 6.7cqw/1.15 var(--serif);text-wrap:balance}.venue-address{font:italic 3.4cqw/1.4 var(--serif);color:#9e8b50;margin:2cqw 0 1cqw}.venue-description{font-size:4cqw;line-height:1.65;max-width:65cqw;margin:1cqw auto 6cqw}.palace-button{position:relative;border:1px solid var(--gold);border-radius:2cqw;padding:4cqw 5cqw;display:block;text-decoration:none;font:500 2.5cqw/1.5 var(--sans);letter-spacing:.12em;width:86%;outline:1px solid var(--gold);outline-offset:4px}.palace-button:hover{background:#b59a6312}.palace-programme .section-content{padding:6cqw 8cqw 17cqw}.program-date{font:400 2.7cqw/1.5 var(--title);letter-spacing:.12em;margin-top:2cqw}.palace-programme .orn{width:27%;margin:4cqw auto}.event-list{list-style:none;padding:0;width:100%;text-align:left;margin-top:2cqw}.event-list li{display:grid;grid-template-columns:15cqw 13cqw 1fr;align-items:center;gap:3cqw;position:relative;min-height:17cqw}.event-list li:not(:last-child):after{content:'';position:absolute;left:24.5cqw;top:12cqw;bottom:-4cqw;width:1px;background:#b4ae98;z-index:-1}.event-list time{font:400 3.6cqw/1.3 var(--serif);text-align:right;white-space:nowrap}.event-icon{width:12cqw;height:12cqw;object-fit:contain}.event-list h3{font:500 2.9cqw/1.4 var(--title);letter-spacing:.08em}.event-list p{font:italic 3cqw/1.4 var(--serif);margin-top:1cqw}.palace-dress .section-content{padding:11cqw 7cqw 7cqw}.palace-dress .orn{width:25%;margin:4cqw auto}.palace-dress .section-content>p:not(.eyebrow){font-size:3.8cqw;line-height:1.5;max-width:75cqw}.dress-title{font:italic 8cqw/1.3 var(--serif);margin:5cqw 0 2cqw}.palace-dress .section-content>.dress-details{font-size:3.4cqw;max-width:74cqw}.palette-label{margin-top:5cqw}.dress-palette{list-style:none;display:flex;gap:3cqw;padding:0;margin:3cqw auto 5cqw}.dress-palette li{width:9cqw;height:9cqw;background:var(--swatch);border-radius:50%;border:1px solid #9c956a44;box-shadow:inset 0 0 0 3px #ffffff65}.attire-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:5cqw;width:100%;margin:3cqw 0}.attire-icons img{width:10cqw;height:10cqw;object-fit:contain;margin:auto auto 2cqw}.attire-icons p{font:400 2.4cqw/1.6 var(--title);letter-spacing:.13em}.palace-dress .section-content>.dress-note{max-width:62cqw}.palace-dress .section-content>.dress-restriction{font-size:2.9cqw;max-width:70cqw;margin-top:3cqw}.palace-rsvp .section-content{padding:10cqw 10cqw 12cqw}.palace-rsvp .crest{margin-bottom:5cqw}.palace-rsvp .section-content>h2{font-size:8cqw}.rsvp-intro{font-size:3.7cqw;line-height:1.6;margin:2cqw auto 5cqw;max-width:78cqw}.palace-rsvp .rgr-form{width:100%;text-align:left;max-width:none;margin:0}.palace-rsvp .rgr-form label,.palace-rsvp .rgr-form legend{font:500 2.6cqw/1.5 var(--sans);letter-spacing:.015em}.palace-rsvp .rgr-form input:not([type=radio]),.palace-rsvp .rgr-form textarea{font:400 3.7cqw/1.5 var(--serif);border:1px solid #818a7460;border-radius:2cqw;background:#fffdf8cc;color:var(--ink);padding:2.5cqw 3cqw;margin-top:1.5cqw;width:100%}.palace-rsvp .rgr-form input[type=radio]{accent-color:var(--sage)}.palace-rsvp .rgr-form fieldset{border:0;padding:0;margin:5cqw 0}.palace-rsvp .rgr-form .rgr-radio{margin:2.5cqw 0;display:flex;gap:2cqw;align-items:center}.palace-rsvp .rgr-hint,.palace-rsvp .rgr-privacy{font:400 2.4cqw/1.6 var(--sans);color:#747968}.palace-rsvp .rgr-submit{font:500 2.6cqw/1.5 var(--sans);letter-spacing:.08em;border:1px solid var(--gold);background:#536148;color:#fffdf8;border-radius:2cqw;padding:4cqw 3cqw;width:100%;margin-top:4cqw}.palace-rsvp .rgr-submit:disabled{opacity:.65}.palace-rsvp .rgr-ticket{border:1px solid var(--gold);background:#fffdf5f0;padding:5cqw 4cqw;border-radius:2cqw;font-size:3.5cqw;overflow-wrap:anywhere}.palace-rsvp .rgr-success{font-size:3.7cqw;text-align:center}.palace-rsvp .rgr-success h3{font:500 6cqw/1.3 var(--serif)}.palace-rsvp .rgr-ticket h4{font:500 6cqw/1.3 var(--serif);margin:2cqw 0}.palace-rsvp .rgr-status{font:400 2.8cqw/1.6 var(--sans)}.palace-thanks .section-content{padding:12cqw 11cqw}.palace-thanks .section-content>h2{font:italic 17cqw/1.1 var(--serif);letter-spacing:0;margin:4cqw 0}.palace-thanks .eyebrow{font-size:2.6cqw}.palace-thanks .orn{width:40%;margin:5cqw auto}.closing-message{font-size:4.3cqw;line-height:1.6}.signoff{font:italic 4cqw/1.5 var(--serif);margin-top:7cqw}.signature{font:500 6.3cqw/1.5 var(--title);margin-top:4cqw;text-wrap:balance}.back-top{font:400 2.5cqw/1.5 var(--sans);margin:7cqw auto 0;text-underline-offset:5px}
#palace-opening{position:fixed;inset:0;margin:auto;padding:0;border:0;width:100%;max-width:min(560px,calc(100svh * 9 / 16));height:100svh;max-height:none;background:#f5f2e7;color:var(--ink);overflow:hidden;transition:opacity .65s}#palace-opening::backdrop{background:#160f08}.gate-scene{position:relative;width:100%;height:100%;container-type:inline-size}.gate-open,#gate-film,.gate-closed{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gate-open{z-index:0}#gate-film{z-index:1;opacity:0}.gate-start{position:absolute;inset:0;width:100%;height:100%;border:0;background:none;color:var(--ink);padding:0;z-index:2;transition:opacity .45s}.gate-heading{position:absolute;left:14%;right:14%;top:6%;text-align:center;transition:opacity .3s}.gate-heading .crest{width:28cqw;margin-bottom:3cqw}.gate-heading .crest span{font-size:8.2cqw}.gate-heading h1{font:400 8.5cqw/1.4 var(--title);letter-spacing:.09em;display:flex;flex-direction:column;overflow-wrap:anywhere}.gate-heading h1 em{font:400 5cqw/1.3 var(--serif)}.gate-heading .orn{width:65%;margin:1cqw auto}.open-prompt{position:absolute;left:10%;right:10%;bottom:5%;font:500 2.6cqw/1.8 var(--sans);letter-spacing:.17em;text-shadow:0 1px 3px #fff}.open-prompt>span{display:block;font-size:5cqw}.gate-skip{position:absolute;z-index:4;right:4%;bottom:3%;padding:8px 13px;border:1px solid #fff8;background:#f9f6efc7;border-radius:30px;font:11px/1.4 var(--sans);color:var(--ink);opacity:0;pointer-events:none}.is-playing #gate-film{opacity:1}.is-playing .gate-start{opacity:0;pointer-events:none}.is-playing .gate-skip{opacity:1;pointer-events:auto}.is-finishing{opacity:0}#palace-music{position:fixed;z-index:20;right:max(16px,calc((100vw - min(560px,100svh * 9 / 16))/2 + 16px));top:20px;border:1px solid #c4b58a77;border-radius:50%;width:42px;height:42px;background:#696447bd;color:#fffae8;font-size:23px;backdrop-filter:blur(8px)}.reveal-ready{opacity:0;transform:translateY(16px);transition:opacity .85s ease,transform .85s ease}.reveal-ready.is-visible{opacity:1;transform:none}
@media(max-width:600px){.palace-shell,#palace-opening{max-width:100%}.palace-section,.section-content{min-height:177.777cqw}.palace-hero{min-height:177.777cqw}.gate-heading{top:7%}.gate-heading h1{font-size:8.8cqw}.palace-rsvp .section-content{padding-left:11cqw;padding-right:11cqw}#palace-music{right:16px;width:36px;height:36px;font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}}

/* Dynamic monograms preserve the ornamental frame while following the couple names. */
.crest span{font-size:5.2cqw;top:44%}.crest:after{content:'';position:absolute;width:1px;left:50%;top:32%;height:40%;background:currentColor;opacity:.75}.crest-gold span,.date-card .crest span{font-size:5.1cqw}.small-crest span{font-size:3.2cqw}.gate-heading .crest span{font-size:5.5cqw}.date-seal>img{width:100%}.seal-letter{position:absolute;top:44%;width:16%;height:13%;background:radial-gradient(ellipse,#f5edda 65%,#f4ecd9);font:500 3.8cqw/1.2 var(--title);text-align:center;color:#a67c14;text-shadow:0 1px #fff5b8,1px 1px #775515}.seal-left{left:33.8%}.seal-right{left:53.5%}

.date-card:focus{outline:none}.palace-rsvp .rgr-form label,.palace-rsvp .rgr-form legend{font-size:max(12px,2.6cqw)}.palace-rsvp .rgr-hint,.palace-rsvp .rgr-privacy{font-size:max(11px,2.4cqw)}.palace-rsvp .rgr-submit{font-size:max(12px,2.6cqw)}.palace-rsvp .rgr-form input:not([type=radio]),.palace-rsvp .rgr-form textarea{font-size:max(16px,3.7cqw)}
