/* Burgundy's composition and responsive placements, with Olive stationery. */
@font-face{font-family:'Pinyon Script';src:url('fonts/pinyon-script.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--wine:var(--olive);--control-shadow:0 8px 20px #4b513426,0 2px 5px #4b513410}
.celebration-heading,.section-divider,.wedding-countdown,.wedding-footer,.guest-toolbar{color:var(--olive)}
.celebration-heading span:first-child{font-family:'Pinyon Script',cursive}
.countdown-kicker,.countdown-label,.countdown-date{color:var(--quiet)}
.countdown-dot{color:#85896b}
.guest-nav{border-color:#4b513438}
.guest-nav a:hover,.guest-nav a[aria-current="page"]{background:#4b51340d;text-decoration-color:var(--olive)}
.guest-toolbar a:focus-visible,.music-toggle:focus-visible,.details-card:focus-visible,.rsvp-vignette:focus-visible,.our-story:focus-visible,.back-to-envelope:focus-visible{outline-color:var(--olive-dark)}
.music-record{filter:hue-rotate(95deg) saturate(.38)}
.music-caption{fill:#333a24}
.guest-music-status{color:var(--olive)}
.scene-hanging-bouquet{position:absolute;z-index:1;left:0;top:-3%;width:26%;height:auto;transform:rotate(-6deg);filter:drop-shadow(0 8px 8px #41432b25);pointer-events:none}
.envelope-contents>.scene-swan{width:50%}
.scene-envelope{aspect-ratio:1176/1337;filter:drop-shadow(0 12px 15px #41432b38)}
.envelope-contents{clip-path:polygon(-50% -100%,150% -100%,150% 46%,98.5% 46%,98.5% 97%,1.5% 97%,1.5% 46%,-50% 46%)}
.oval-invitation{filter:drop-shadow(0 12px 14px #41432b30)}
.oval-copy{inset:25% 22% 21%;color:var(--olive-dark)}
.oval-copy h1{font-size:13.7cqw}
.oval-intro{font-size:3.1cqw}
.oval-request{font-size:3.4cqw}
.oval-date{font-size:4.7cqw}
.oval-place{font-size:3.8cqw}
.scene-locket{left:1%;width:50%}
.date-vignette{aspect-ratio:.65;margin-top:10px}
.lace-heart{top:-6%}
.heart-date{color:var(--olive-dark);text-shadow:0 1px 0 #fff7df66}
.details-card{left:0;top:40%;width:46%;container-type:inline-size;filter:drop-shadow(0 8px 9px #41432b38)}
.details-card-copy{position:absolute;top:18%;left:18%;width:64%;height:39%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5cqw;text-align:center;color:var(--olive-dark);pointer-events:none}
.details-card-copy p{margin:0}
.details-kicker{font-size:4.2cqw;line-height:1.3;letter-spacing:.1em;text-transform:uppercase}
.details-card-copy h2{margin:0;white-space:nowrap;font:400 15cqw/1.5 'Pinyon Script',cursive}
.details-topics{font-size:5.3cqw;line-height:1.45;font-variant:small-caps}
.details-card-cta{font-size:4.9cqw;line-height:1.4;font-style:italic}
.date-bouquet{right:0;bottom:0;width:63%;transform:rotate(2deg);filter:drop-shadow(0 10px 10px #41432b30)}
.wedding-footer .back-to-envelope{color:var(--olive);border-color:#4b513473;background:#fbf7ed8c}
.wedding-footer .back-to-envelope:hover{background:#fff9e8}
.welcome .open-invitation{background:var(--olive);border-color:var(--olive);color:var(--ivory)}
.welcome .open-invitation:hover{background:var(--olive-dark);border-color:var(--olive-dark)}
.welcome .open-invitation:focus-visible{outline-color:var(--olive-dark)}
@media(max-width:600px){.scene-hanging-bouquet{left:0;top:-2%;width:31%}.envelope-contents>.scene-swan{width:49%}.scene-locket{left:0;width:55%}.date-vignette{aspect-ratio:.65}.lace-heart{top:-6%}.details-card{left:0;top:39%;width:51%}.date-bouquet{right:0;bottom:8%;width:63%}}
