
/* A quiet typographic invitation over the couple's film. */
.video-title h1,.welcome-content h1,.section h2,.single-event h3{
 font-family:Poppins,sans-serif;font-weight:300;font-style:normal;letter-spacing:-.045em;
}
.video-title{text-align:center;top:42%;transform:translateY(-50%)}
.video-title h1{font-size:clamp(38px,7vw,78px);line-height:1.25;white-space:nowrap}
.video-dedication{margin:20px auto;max-width:300px}
.video-top,.video-open{font:400 11px Poppins,sans-serif;font-style:normal}
.minimal-welcome{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:130px 24px 80px}
.minimal-welcome .welcome-content{position:relative;inset:auto;width:100%;max-width:680px;transform:none;transition:opacity 1.4s .4s}
.minimal-welcome h1{font-size:clamp(38px,7vw,76px);line-height:1.3;margin:25px 0;white-space:nowrap}
.minimal-welcome .eyebrow{font-size:9px;letter-spacing:.22em}
.minimal-welcome .invitation-date{font-size:10px;letter-spacing:.13em;margin:20px 0 0}
.minimal-welcome .countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:340px;gap:0;padding:24px 0;margin:40px auto 0;background:transparent;border:0;border-top:1px solid #fff9e940;border-bottom:1px solid #fff9e940;border-radius:0;overflow:visible}
.minimal-welcome .countdown:before{display:none}
.minimal-welcome .countdown>div{border:0;padding:0 8px}
.minimal-welcome .countdown strong{font:300 29px/1.3 Poppins,sans-serif;font-variant-numeric:tabular-nums}
.minimal-welcome .countdown span{font:400 8px Poppins,sans-serif;letter-spacing:.1em;margin-top:8px}
.minimal-welcome .welcome-content>a{margin-top:50px;font-size:8px;opacity:.8}
.section h2,.single-event h3{font-size:clamp(28px,5vw,42px);line-height:1.4}
.rsvp-subtitle{font-size:11px!important}
.single-event{scroll-margin-top:40px}
@media(max-width:380px){.minimal-welcome h1,.video-title h1{font-size:34px}.minimal-welcome .eyebrow{font-size:8px}.minimal-welcome .invitation-date{font-size:9px}}

/* Option 1: lower-left film title. */
.video-title{top:auto;bottom:160px;left:clamp(28px,7vw,110px);right:24px;transform:none;text-align:left}
.video-title h1{font-size:clamp(42px,6vw,68px);line-height:1.1;margin:20px 0;letter-spacing:-.04em}
.video-title .cover-date{font-size:10px;letter-spacing:.12em;margin:20px 0 12px}
.video-dedication{margin:0;max-width:300px;font-size:10px}
.video-bottom{left:clamp(28px,7vw,110px);right:auto;bottom:70px;align-items:flex-start}
.video-top>span:last-child{display:none}
.video-shade{background:linear-gradient(0deg,#101710cc,transparent 80%),linear-gradient(90deg,#10171040,transparent 70%)}
#sound-toggle{position:fixed;z-index:81;bottom:18px;left:20px;padding:9px 13px;border:1px solid #fff9e960;border-radius:30px;background:#20301b70;color:#fff9e9;font:10px Poppins,sans-serif;backdrop-filter:blur(6px)}
#sound-toggle[aria-pressed=false]{opacity:.85}
#sound-toggle:focus-visible{outline:2px solid ivory;outline-offset:4px}
@media(max-height:600px){.video-title{bottom:135px}.video-title h1{font-size:38px;margin:12px 0}.video-title .cover-date{margin:12px 0}.video-top{top:35px}}

/* Quiet, optional bank gift details. */
.minimal-welcome .eyebrow{letter-spacing:.04em;font-size:12px;text-transform:none}
.gift{padding-top:45px;padding-bottom:110px}
.gift>p{max-width:460px!important;font-size:12px;line-height:2}
.gift-details{max-width:430px;margin:30px auto 0;text-align:center}
.gift-details summary{display:inline-block;cursor:pointer;padding:13px 25px;border:1px solid #fff9e960;border-radius:30px;font:11px Poppins,sans-serif;list-style:none;background:#fff9e90b}
.gift-details summary::-webkit-details-marker{display:none}
.gift-details summary:after{content:' +';margin-left:12px}
.gift-details[open] summary:after{content:' −'}
.gift-details summary:focus-visible{outline:2px solid ivory;outline-offset:5px}
.gift-account{margin-top:24px;padding:30px 22px;border:1px solid #fff9e940;background:#15231135}
.gift-account>span{display:block}
.gift-bank{font-size:11px;letter-spacing:.12em}
.gift-number{font-size:23px;font-weight:300;margin:20px 0 10px}
.gift-holder{font-size:11px;opacity:.85}
.gift-account .gift-pending{font-size:10px;opacity:.65;margin:22px 0 0}

/* A gentle opening with staggered type, no continuous decorative movement. */
.video-cover{transition:transform 1.8s cubic-bezier(.22,1,.36,1),opacity 1.5s ease;will-change:transform,opacity}
.opening .video-cover{transform:translateY(-12%) scale(1.035);opacity:0;pointer-events:none}
.video-title,.video-bottom{transition:opacity .55s ease,translate .85s cubic-bezier(.22,1,.36,1)}
.opening .video-title{opacity:0;translate:0 -24px}
.opening .video-bottom{opacity:0;translate:0 14px}
.video-open{transition:background .25s ease,transform .3s ease,box-shadow .3s ease}
.video-open:hover{transform:translateY(-3px);background:#fff9e926;box-shadow:0 8px 26px #0002}
.video-open:active{transform:scale(.97)}
.video-open span{display:inline-block;transition:transform .3s ease}
.video-open:hover span{transform:translate(3px,-3px)}
.minimal-welcome .welcome-content{opacity:1;transition:none}
.minimal-welcome .welcome-content>*{opacity:0;transform:translateY(20px);transition:opacity 1.1s ease,transform 1.4s cubic-bezier(.22,1,.36,1)}
.invitation-open .minimal-welcome .welcome-content>*{opacity:1;transform:none}
.minimal-welcome .welcome-content>:nth-child(1){transition-delay:.45s}
.minimal-welcome .welcome-content>:nth-child(2){transition-delay:.6s}
.minimal-welcome .welcome-content>:nth-child(3){transition-delay:.75s}
.minimal-welcome .welcome-content>:nth-child(4){transition-delay:.9s}
.minimal-welcome .welcome-content>:nth-child(5){transition-delay:1.05s}
@media(prefers-reduced-motion:reduce){.video-cover,.minimal-welcome .welcome-content>*,.video-title,.video-bottom{transition:none!important}.opening .video-cover{transform:none}}
