.curtains-tpl{--cu-velvet:#6b1e2e;--cu-velvet-deep:#461420;--cu-velvet-light:#8a2a3d;--cu-gold:#c9a449;--cu-gold-bright:#f1d57a;--cu-stage-bg:linear-gradient(180deg, #2a1418 0%, #1a0c10 100%);--cu-ink:#f6efdf;--cu-soft:#d4c5a3;color:var(--cu-ink);background:var(--cu-stage-bg);min-height:100vh;font-family:Fraunces,Noto Serif Georgian,serif;position:relative;overflow-x:hidden}.curtains-tpl.is-sealed{height:100vh;overflow:hidden}.curtains-tpl .stage-bg{z-index:0;background:radial-gradient(ellipse 60% 50% at 50% 70%, #c9a4492e 0%, transparent 70%), var(--cu-stage-bg);position:fixed;inset:0}.curtains-tpl .spotlight{z-index:1;pointer-events:none;background:radial-gradient(circle,#ffebb473 0%,#0000 70%);border-radius:50%;width:0;height:0;transition:width 1.6s .4s,height 1.6s .4s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.curtains-tpl.is-open .spotlight{width:140vmax;height:140vmax}.curtains-tpl .pelmet{z-index:20;background:linear-gradient(180deg, #5a1828 0%, var(--cu-velvet) 60%, var(--cu-velvet-deep) 100%);justify-content:center;align-items:center;height:90px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 20px #0006}.curtains-tpl .pelmet:after{content:"";background:radial-gradient(circle at 25px 0, var(--cu-velvet-deep) 12px, transparent 13px) 0 0/50px 22px repeat-x, linear-gradient(180deg, var(--cu-velvet-deep) 50%, transparent 50%);height:22px;position:absolute;bottom:-16px;left:0;right:0}.curtains-tpl .pelmet-text{color:var(--cu-gold-bright);letter-spacing:.3em;text-transform:uppercase;font-variation-settings:"opsz" 60;font-family:Fraunces,serif;font-size:.9rem;font-style:italic}.curtains-tpl .tassel{z-index:21;background:var(--cu-gold);border-radius:3px;width:6px;height:50px;position:fixed;top:70px}.curtains-tpl .tassel:after{content:"";background:radial-gradient(circle, var(--cu-gold-bright) 0%, var(--cu-gold) 100%);border-radius:50%;width:20px;height:20px;position:absolute;bottom:-10px;left:-7px;box-shadow:0 2px 4px #0000004d}.curtains-tpl .tassel-1{animation:4s ease-in-out infinite alternate tasselSway;left:calc(50% - 200px)}.curtains-tpl .tassel-2{animation:4.5s ease-in-out infinite alternate-reverse tasselSway;left:50%}.curtains-tpl .tassel-3{animation:5s ease-in-out infinite alternate tasselSway;left:calc(50% + 200px)}@keyframes tasselSway{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}.curtains-tpl .curtain{z-index:15;pointer-events:auto;width:50.5%;transition:transform 1.8s cubic-bezier(.65,0,.35,1);position:fixed;top:0;bottom:0}.curtains-tpl .curtain-left{background:repeating-linear-gradient(90deg, var(--cu-velvet-deep) 0px, var(--cu-velvet) 14px, var(--cu-velvet-light) 26px, var(--cu-velvet) 38px, var(--cu-velvet-deep) 52px);left:0;box-shadow:inset -20px 0 40px #00000080,20px 0 30px #00000080}.curtains-tpl .curtain-right{background:repeating-linear-gradient(270deg, var(--cu-velvet-deep) 0px, var(--cu-velvet) 14px, var(--cu-velvet-light) 26px, var(--cu-velvet) 38px, var(--cu-velvet-deep) 52px);right:0;box-shadow:inset 20px 0 40px #00000080,-20px 0 30px #00000080}.curtains-tpl .curtain-left:after{content:"";background:linear-gradient(180deg, var(--cu-gold-bright), var(--cu-gold), var(--cu-gold-bright));width:4px;position:absolute;top:0;bottom:0;right:0;box-shadow:0 0 12px #f1d57a80;-webkit-mask:linear-gradient(#000 32%,#0000 40% 62%,#000 70%);mask:linear-gradient(#000 32%,#0000 40% 62%,#000 70%)}.curtains-tpl .curtain-right:after{content:"";background:linear-gradient(180deg, var(--cu-gold-bright), var(--cu-gold), var(--cu-gold-bright));width:4px;position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 12px #f1d57a80;-webkit-mask:linear-gradient(#000 32%,#0000 40% 62%,#000 70%);mask:linear-gradient(#000 32%,#0000 40% 62%,#000 70%)}.curtains-tpl.is-open .curtain-left{transform:translate(-95%)}.curtains-tpl.is-open .curtain-right{transform:translate(95%)}.curtains-tpl .tieback{z-index:16;background:linear-gradient(180deg, var(--cu-gold-bright) 0%, var(--cu-gold) 100%);opacity:0;border-radius:10px;width:80px;height:18px;transition:opacity .6s 1.2s,transform .8s 1.2s;position:fixed;top:45%;box-shadow:0 4px 12px #0006}.curtains-tpl .tieback-l{left:0;transform:translate(-60px)rotate(-15deg)}.curtains-tpl .tieback-r{right:0;transform:translate(60px)rotate(15deg)}.curtains-tpl.is-open .tieback{opacity:.9}.curtains-tpl.is-open .tieback-l{transform:translate(0)rotate(-15deg)}.curtains-tpl.is-open .tieback-r{transform:translate(0)rotate(15deg)}.curtains-tpl .center-card{z-index:18;text-align:center;pointer-events:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.curtains-tpl .center-monogram{background:linear-gradient(180deg, var(--cu-gold-bright) 0%, var(--cu-gold) 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 20px #00000080);font-variation-settings:"opsz" 144;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-family:Fraunces,serif;font-size:clamp(4rem,9vw,7rem);font-style:italic;animation:3.5s ease-in-out infinite alternate monoGlow}@keyframes monoGlow{0%{filter:drop-shadow(0 4px 20px #f1d57a33)}to{filter:drop-shadow(0 4px 30px #f1d57a80)}}.curtains-tpl .center-eyebrow{letter-spacing:.4em;text-transform:uppercase;color:var(--cu-gold-bright);opacity:.85;margin-bottom:1.5rem;font-family:JetBrains Mono,monospace;font-size:.7rem}.curtains-tpl.is-open .center-card{opacity:0;transition:opacity .4s}.curtains-tpl .open-curtains-btn{z-index:22;background:linear-gradient(180deg, var(--cu-gold-bright) 0%, var(--cu-gold) 100%);color:var(--cu-velvet-deep);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:1rem;padding:1rem 2.5rem;font-family:Fraunces,serif;font-size:1.05rem;font-style:italic;transition:transform .2s;display:inline-flex;position:fixed;bottom:12vh;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080,inset 0 1px #fff6}.curtains-tpl .open-curtains-btn:hover{transform:translate(-50%)scale(1.05)}.curtains-tpl .open-curtains-btn:active{transform:translate(-50%)scale(.97)}.curtains-tpl .open-curtains-btn .label-mono{letter-spacing:.3em;text-transform:uppercase;opacity:.75;margin-top:2px;font-family:JetBrains Mono,monospace;font-size:.6rem;font-style:normal;display:block}.curtains-tpl .open-curtains-btn .icon{font-size:1.4rem}.curtains-tpl.is-open .open-curtains-btn{opacity:0;pointer-events:none;transition:opacity .4s}.curtains-tpl .invitation{z-index:5;opacity:0;pointer-events:none;transition:opacity 1.2s 1.6s,transform 1.4s cubic-bezier(.22,1,.36,1) 1.6s;position:relative;transform:translateY(40px)}.curtains-tpl.is-open .invitation{opacity:1;pointer-events:auto;transform:none}.curtains-tpl .hero{text-align:center;place-items:center;min-height:100vh;padding:9rem 1.5rem 4rem;display:grid;position:relative}.curtains-tpl .hero-eyebrow{letter-spacing:.4em;text-transform:uppercase;color:var(--cu-gold-bright);align-items:center;gap:1rem;margin-bottom:2rem;font-family:JetBrains Mono,monospace;font-size:.7rem;display:inline-flex}.curtains-tpl .hero-eyebrow:before,.curtains-tpl .hero-eyebrow:after{content:"✦";color:var(--cu-gold)}.curtains-tpl .hero-names{font-family:var(--ttl-font,"Fraunces", "Noto Serif Georgian", serif);letter-spacing:-.02em;font-variation-settings:"opsz" 144;background:linear-gradient(180deg, var(--cu-gold-bright) 0%, var(--cu-gold) 60%, #8a6d24 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 30px #f1d57a4d);-webkit-background-clip:text;background-clip:text;margin-bottom:2rem;font-size:clamp(3.5rem,11vw,8rem);font-style:italic;line-height:.95}.curtains-tpl .hero-amp{-webkit-text-fill-color:var(--cu-gold);margin:.1em 0;font-size:.5em;display:block}.curtains-tpl .hero-date{letter-spacing:.35em;text-transform:uppercase;color:var(--cu-soft);font-family:JetBrains Mono,monospace;font-size:.85rem}.curtains-tpl .hero-date-script{color:var(--cu-ink);margin-top:.4rem;font-family:Fraunces,serif;font-size:1.6rem;font-style:italic}.curtains-tpl .hero-ornament{color:var(--cu-gold);align-items:center;gap:.5rem;margin:2rem 0 1rem;display:inline-flex}.curtains-tpl .hero-ornament .ln{background:currentColor;width:60px;height:1px}.curtains-tpl .section{text-align:center;max-width:720px;margin:0 auto;padding:5rem 1.5rem}.curtains-tpl .section-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#6b1e2e40;border:1px solid #c9a44940;border-radius:6px;padding:3rem 2rem;box-shadow:0 30px 80px -20px #00000080,inset 0 0 30px #c9a4490a}.curtains-tpl .section-num{letter-spacing:.3em;text-transform:uppercase;color:var(--cu-gold);margin-bottom:1rem;font-family:JetBrains Mono,monospace;font-size:.7rem}.curtains-tpl .section h2{background:linear-gradient(180deg, var(--cu-gold-bright) 0%, var(--cu-gold) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;font-family:Fraunces,Noto Serif Georgian,serif;font-size:clamp(2rem,4vw,2.6rem);font-style:italic}.curtains-tpl .section p{color:var(--cu-ink);opacity:.9;font-size:1.05rem;line-height:1.7}.curtains-tpl .section .venue-name{color:var(--cu-gold-bright);font-size:1.4rem;font-style:italic}.curtains-tpl .section a{background:var(--cu-gold);color:var(--cu-velvet-deep);letter-spacing:.25em;text-transform:uppercase;border-radius:999px;margin-top:1.5rem;padding:.6rem 1.6rem;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600;display:inline-block}.curtains-tpl .section a:hover{background:var(--cu-gold-bright)}.curtains-tpl .countdown-section{text-align:center;padding:5rem 1.5rem}.curtains-tpl .countdown-section .section-num{color:var(--cu-gold);margin-bottom:2rem}.curtains-tpl .countdown .countdown-value{background:linear-gradient(180deg, var(--cu-gold-bright) 0%, var(--cu-gold) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Fraunces,serif;font-size:clamp(3rem,6vw,4.5rem);font-style:italic}.curtains-tpl .countdown .countdown-label{color:var(--cu-soft);font-family:JetBrains Mono,monospace}.curtains-tpl .schedule{gap:0;max-width:480px;margin:2rem auto 0;display:grid}.curtains-tpl .schedule-row{border-bottom:1px dashed #c9a44933;grid-template-columns:80px 1fr;align-items:baseline;padding:.85rem 0;display:grid}.curtains-tpl .schedule-time{letter-spacing:.15em;color:var(--cu-gold);text-align:left;font-family:JetBrains Mono,monospace;font-size:.85rem}.curtains-tpl .schedule-label{text-align:left;font-size:1.05rem;font-style:italic}.curtains-tpl .gallery-wrap{padding:4rem 1rem}.curtains-tpl .gallery{grid-template-columns:repeat(2,1fr);gap:.75rem;max-width:1200px;margin:0 auto;display:grid}@media (min-width:760px){.curtains-tpl .gallery{grid-template-columns:repeat(3,1fr)}}.curtains-tpl .gallery img{aspect-ratio:1;object-fit:cover;filter:brightness(.85)sepia(.2);border-radius:6px;width:100%;transition:transform .6s cubic-bezier(.22,1,.36,1),filter .6s}.curtains-tpl .gallery>div:hover img{filter:brightness()sepia(0);transform:scale(1.04)}.curtains-tpl .rsvp{color:var(--cu-ink)}.curtains-tpl .rsvp .rsvp-label{color:var(--cu-soft)}.curtains-tpl .rsvp .rsvp-input{color:var(--cu-ink);border-bottom-color:#c9a4494d}.curtains-tpl .rsvp .rsvp-input::placeholder{color:var(--cu-soft)}.curtains-tpl .rsvp .rsvp-input:focus{border-bottom-color:var(--cu-gold-bright)}.curtains-tpl .rsvp .rsvp-choice-btn{color:var(--cu-ink);border-color:#c9a4494d;border-radius:999px}.curtains-tpl .rsvp .rsvp-choice-btn.is-active{background:var(--cu-gold);border-color:var(--cu-gold);color:var(--cu-velvet-deep)}.curtains-tpl .rsvp .rsvp-guest-btn{color:var(--cu-ink);border-color:#c9a4494d;border-radius:999px}.curtains-tpl .rsvp .rsvp-guest-btn.is-active{background:var(--cu-gold);color:var(--cu-velvet-deep)}.curtains-tpl .rsvp-submit{background:var(--cu-gold);color:var(--cu-velvet-deep);border-radius:999px}.curtains-tpl .rsvp-submit:not(:disabled):hover{background:var(--cu-gold-bright)}.curtains-tpl .credit{text-align:center;letter-spacing:.3em;text-transform:uppercase;color:var(--cu-soft);padding:3rem 1rem;font-family:JetBrains Mono,monospace;font-size:.65rem}.curtains-tpl .audio-toggle{color:var(--cu-ink);background:#6b1e2e80;border-color:#c9a4494d}
