/* Art direction from the supplied vintage lace invitation reference. */
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,400;6..96,500&family=Parisienne&display=swap');
:root,body{--display:'Bodoni Moda',Georgia,serif;--script:'Parisienne',Georgia,serif}
.cover{background:#15241d!important;color:#f8f1e5;isolation:isolate;padding:74px 24px 30px;overflow-y:auto;--fold:#eee4d0;--envelope:#cbbc9d;--seal:#4b6046}.cover:before{background:radial-gradient(ellipse at 30% 18%,#48503b60,transparent 60%),linear-gradient(#11221df2,#0d1b17f8)!important}.cover>img{opacity:.14;filter:grayscale(1);object-position:center}.cover:after{inset:14px;border-color:#b4ad8560}.cover-copy:before,.cover-copy:after{content:'';position:absolute;width:150px;height:340px;background:url('assets/botanical-lines.svg') center/contain no-repeat;z-index:-1;pointer-events:none}.cover-copy:before{left:-65px;top:90px;rotate:-28deg}.cover-copy:after{right:-65px;top:170px;rotate:24deg;scale:-1 1}.cover-copy{max-width:400px;position:relative;width:100%;isolation:isolate;min-height:650px;justify-content:flex-start}.cover .float-brand{font:16px var(--display);top:30px;letter-spacing:.32em}.suite-card{position:relative;width:min(82%,300px);min-height:370px;flex:none;background:#eee8d8;color:#344432;padding:38px 25px 32px;box-shadow:6px 12px 25px #05120e50;transform:rotate(-3deg);display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate;z-index:2;transition:transform .8s cubic-bezier(.2,.75,.2,1),opacity .6s}.suite-card:before{content:'';position:absolute;inset:-22px;background:url('assets/lace-frame.svg') center/100% 100% no-repeat;z-index:-1;pointer-events:none}.suite-card:after{content:'';position:absolute;inset:10px;border:1px solid #8e987670;pointer-events:none}.suite-card h1{font:400 clamp(34px,10vw,51px)/1.12 var(--script);letter-spacing:0;margin:14px 0 0;text-align:center;text-shadow:none}.suite-card h1 em{font:32px/1.3 var(--script);letter-spacing:0;margin-top:4px}.suite-card .overline{font-size:8px;letter-spacing:.2em;color:#536249;margin:0 0 12px}.suite-card .cover-date{font-size:10px;margin-top:20px;padding:14px 0 0;border:0;border-top:1px solid #84906d70;color:#44543d}.suite-crest{display:grid;place-items:center;border:1px solid #889374;border-radius:50%;width:45px;height:45px;font:18px var(--display);margin-bottom:12px;color:#556646}.suite-subtitle{font:italic 15px var(--display);margin-top:14px;color:#556646}.cover .keepsake{width:84%;max-width:310px;margin:-14px 0 24px;z-index:1;transform:rotate(5deg);order:2}.cover .keepsake-letter{background:#f7f0df}.cover .keepsake-seal{background:var(--seal)}.cover .envelope-hint{order:3;max-width:250px;line-height:1.7;text-align:center;margin:0 0 14px;font-size:11px}.cover .opening-note{font-size:9px;margin-top:12px}.cover .open-button{background:#f2e9d5;color:#2f402e;min-height:50px;min-width:200px;font-size:12px}.unsealing .suite-card{transform:translateY(-35px) rotate(0) scale(1.04)}.unsealing .keepsake{transform:translateY(28px) rotate(0)}.unsealing .suite-card h1,.unsealing .suite-card .cover-date,.unsealing .suite-card .overline{opacity:1!important}.theme-wedding .suite-card{background:#eae4d5;color:#293f39}.theme-wedding .cover{--seal:#233d3b}.theme-xv .suite-card{background:#f2e7df;color:#4f3b43}.theme-xv .suite-card .overline,.theme-xv .suite-card .cover-date,.theme-xv .suite-subtitle{color:#725c62}.theme-xv .cover{background:#32222d!important;--seal:#75525e}.theme-xv .cover:before{background:linear-gradient(#382732e8,#251f28f7)!important}.theme-baby .suite-card{background:#f0e9d6}.theme-baby .cover{--seal:#7d7960;background:#28382e!important}
.hero h1 em{font-family:var(--script)!important;font-size:32px!important}.theme-wedding .hero h1{font-family:var(--display)!important;font-size:clamp(39px,11vw,58px)!important}.theme-xv .hero h1{font-family:var(--script)!important;letter-spacing:0;font-size:clamp(65px,20vw,95px)!important}.theme-xv .hero-portrait img{object-position:center 48%}.theme-xv .hero:before{background:linear-gradient(transparent 30%,#22273422 50%,#222734e8)!important}.theme-xv #historia{background:var(--paper)}.theme-xv .split{background:#343b48}.theme-xv .timeline-row:before{outline-color:#343b48}.theme-xv .story-photo img{aspect-ratio:.67}.theme-baby .hero-portrait img{aspect-ratio:1.08;object-position:center 50%}.theme-baby .story-photo img{aspect-ratio:.9;object-position:center}.theme-wedding .hero-portrait img{object-position:center 55%;aspect-ratio:.82}.hero-portrait:after{pointer-events:none}.story-copy .display{font:400 38px/1.15 var(--display)}.display{font-family:var(--display);letter-spacing:-.045em}.photo-band-copy h2{font-family:var(--display)}.signature{font:27px var(--script)}.section-label{letter-spacing:.16em}.calendar-head strong{font-style:normal}.story-photo{isolation:isolate}.story-photo:before{content:'';position:absolute;inset:-20px;background:url('assets/lace-frame.svg') center/100% 100%;z-index:-1}.photo-credit{font-size:9px!important;line-height:1.6;margin-top:12px;color:inherit;opacity:.8}.photo-credit a{text-underline-offset:3px}.music-error{position:fixed;right:18px;bottom:78px;max-width:230px;padding:12px;background:#fff8ea;color:#354637;border:1px solid #c3af88;border-radius:9px;font-size:12px;z-index:30}
@media(max-width:360px){.suite-card{min-height:330px;padding:30px 18px;width:82%}.suite-card h1{font-size:38px}.suite-card h1 em{font-size:29px}.cover-copy{min-height:610px}.cover .keepsake{margin-top:-8px}.suite-card:before{inset:-18px}.cover{padding-inline:24px}}
@media(max-height:690px){.cover{padding-top:64px}.cover-copy{min-height:570px}.suite-card{min-height:310px;width:240px;padding-block:24px}.suite-card h1{font-size:36px}.suite-card h1 em{font-size:26px}.suite-card .cover-date{margin-top:12px}.suite-crest{width:34px;height:34px;margin-bottom:8px}.cover .keepsake{width:260px;margin-bottom:18px}.cover-copy>.opening-note{display:none}}
@media(prefers-reduced-motion:reduce){.suite-card,.unsealing .suite-card{transition:none;transform:none}}
