.royal-template{--night:#071d19;--pine:#0d332b;--gold:#c9a76a;--paper:#eadcc2;--wine:#6d1e22;min-height:100vh;background:#020c0a;color:var(--paper);font-family:Manrope,sans-serif}.royal-template *{box-sizing:border-box}.royal-envelope{position:fixed;inset:0;z-index:30;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 28%,#f3e8d4,#cdbda5 72%)}.royal-envelope-paper{position:relative;width:min(100vw,760px);height:100vh;min-height:620px;background:linear-gradient(145deg,#eee1cb,#d4c4aa);filter:drop-shadow(0 20px 60px #29160c42);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.royal-envelope-paper:before,.royal-envelope-paper:after{content:"";position:absolute;inset:auto 0 0;height:58%;background:linear-gradient(145deg,#dfcfb7,#c9b79c);clip-path:polygon(0 0,50% 48%,100% 0,100% 100%,0 100%)}.royal-flap{position:absolute;inset:0 0 auto;height:56%;z-index:2;background:linear-gradient(155deg,#f1e4cf,#d5c4aa);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;transition:transform 1.15s cubic-bezier(.65,0,.2,1),filter .6s}.royal-emboss{position:absolute;z-index:3;left:50%;top:20%;translate:-50% 0;font:500 clamp(28px,8vw,58px)/1 Cormorant,serif;color:#816e52}.royal-envelope-paper>p{position:absolute;z-index:4;left:10%;right:10%;bottom:16%;text-align:center;font:500 15px Manrope,sans-serif;color:#5e4c38;letter-spacing:.12em}.royal-envelope [data-royal-open]{position:absolute;z-index:5;left:50%;top:48%;translate:-50% -50%;width:clamp(148px,30vw,190px);aspect-ratio:1;border:0;border-radius:50%;background:radial-gradient(circle at 38% 32%,#a13e3f,var(--wine) 48%,#3f1015);color:var(--paper);box-shadow:0 12px 24px #32100f66,inset 0 0 0 5px #511419,inset 0 0 0 7px #a25b4e;cursor:pointer;font:500 clamp(22px,5vw,30px)/1 Cormorant,serif;text-transform:uppercase;letter-spacing:.12em}.royal-envelope [data-royal-open]:before,.royal-envelope [data-royal-open]:after{content:"❦";display:block;font-size:18px;line-height:1.2}.royal-template[data-state=opening] .royal-flap{transform:perspective(800px) rotateX(180deg);filter:brightness(.75)}.royal-template[data-state=opening] .royal-envelope-paper{animation:royal-envelope-away 1.4s .45s forwards cubic-bezier(.7,0,.3,1)}.royal-template[data-state=open] .royal-envelope{display:none}@keyframes royal-envelope-away{to{transform:scale(1.35);opacity:0}}
.royal-story{width:min(100%,760px);margin:auto;background:var(--night);box-shadow:0 0 90px #000;outline:none}.royal-hero{position:relative;min-height:100svh;display:grid;place-content:center;justify-items:center;padding:48px 24px;text-align:center;background:radial-gradient(circle at 50% 40%,#21514588,transparent 38%),linear-gradient(#0008,#03110ee8),url('/app/assets/templates/silk-envelope-01/scene-cover-v1.webp') center/cover}.royal-hero:after{content:"";position:absolute;inset:18px;border:1px solid #c9a76a75;pointer-events:none}.royal-crest{display:flex;align-items:center;gap:14px;color:var(--gold)}.royal-crest i{width:45px;height:1px;background:currentColor}.royal-crest strong{display:grid;place-items:center;width:86px;aspect-ratio:1;border:1px solid currentColor;border-radius:50%;font:500 32px Cormorant,serif}.royal-hero>p,.royal-section>p:first-child{margin:28px 0 12px;color:var(--gold);font:600 10px Manrope,sans-serif;letter-spacing:.24em;text-transform:uppercase}.royal-hero h1{margin:0;font:400 clamp(62px,16vw,110px)/.72 Cormorant,serif}.royal-hero h1 span,.royal-final h2 span{display:block;color:var(--gold);font-style:italic;font-size:.56em;line-height:.9}.royal-scroll-cue{position:absolute;bottom:48px;color:#d9c7a9;font-size:11px;letter-spacing:.16em}.royal-section{position:relative;padding:clamp(74px,14vw,120px) clamp(24px,8vw,68px);text-align:center;border-bottom:1px solid #c9a76a24;background:radial-gradient(circle at 50% 0,#17453b55,transparent 48%)}.royal-section h2{max-width:620px;margin:0 auto 28px;font:400 clamp(42px,9vw,68px)/.95 Cormorant,serif}.royal-section>p:not(:first-child){max-width:600px;margin:18px auto;color:#d6c8ae;font:400 16px/1.8 Manrope,sans-serif}.royal-ornament{color:var(--gold);font-size:32px}.royal-letter h2{margin-top:26px}.royal-places{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:32px}.royal-places span{padding:10px 15px;border:1px solid #c9a76a62;border-radius:999px;font-size:12px}.royal-scratch{position:relative;width:min(100%,560px);aspect-ratio:1.52;margin:32px auto 0;overflow:hidden;border:1px solid var(--gold);background:#e6d5b8}.royal-date-card{position:absolute;inset:0;display:grid;place-content:center;gap:12px;color:#19372f;background:radial-gradient(circle,#f5ead7,#dcc7a4)}.royal-date-card strong{font:500 clamp(34px,8vw,54px)/1 Cormorant,serif}.royal-date-card span{font:600 24px Cormorant,serif;color:#7b2430}.royal-date-card em{font:500 12px Manrope,sans-serif}.royal-scratch canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;transition:opacity .6s}.royal-scratch canvas.is-cleared{opacity:0;pointer-events:none}.royal-scratch button{position:absolute;z-index:2;bottom:14px;left:50%;translate:-50% 0;padding:8px 12px;border:0;background:#071d19cc;color:#eadcc2;font:500 10px Manrope,sans-serif}.royal-countdown [data-countdown]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.royal-countdown span{display:grid;gap:6px;color:#9f8e75;font-size:9px;text-transform:uppercase}.royal-countdown b{color:var(--paper);font:400 clamp(30px,7vw,52px) Cormorant,serif}.royal-gallery{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#000}.royal-gallery figure{margin:0;aspect-ratio:4/5;overflow:hidden}.royal-gallery figure:nth-child(3n){grid-column:1/-1;aspect-ratio:16/9}.royal-gallery img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.08)}.royal-program ol{width:min(100%,520px);margin:40px auto 0;padding:0;list-style:none}.royal-program li{display:grid;grid-template-columns:88px 1fr;gap:24px;align-items:center;text-align:left;padding:20px 0;border-bottom:1px solid #c9a76a33}.royal-program time{color:var(--gold);font:500 24px Cormorant,serif}.royal-program li span{font:400 17px Manrope,sans-serif}.royal-venue address{font-style:normal;color:#d6c8ae}.royal-map{aspect-ratio:4/3;margin:34px auto;overflow:hidden;border:1px solid #c9a76a55}.royal-map iframe{width:100%;height:100%;border:0}.royal-venue>a{display:inline-flex;min-height:46px;align-items:center;padding:0 22px;border:1px solid var(--gold);color:var(--paper);text-decoration:none;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.royal-attire-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#c9a76a55}.royal-attire-grid article{display:grid;gap:12px;padding:28px 20px;background:var(--night)}.royal-attire-grid b{color:var(--gold);font:500 28px Cormorant,serif}.royal-attire-grid span{font-size:13px;line-height:1.6;color:#d6c8ae}.royal-gems{display:flex;justify-content:center;gap:12px;margin-top:32px}.royal-gems i{width:38px;aspect-ratio:1;border-radius:50%;background:var(--gem);border:3px solid #eadcc2;box-shadow:0 0 0 1px var(--gold)}.royal-travel{display:grid;gap:12px}.royal-travel>p,.royal-travel>h2{grid-column:1/-1}.royal-travel article{padding:24px;border:1px solid #c9a76a36;text-align:left}.royal-travel b{color:var(--gold);font:500 26px Cormorant,serif}.royal-travel article p{line-height:1.65}.royal-gifts>div{font-size:42px;color:var(--gold)}.royal-rsvp form{display:grid;gap:18px;width:min(100%,520px);margin:auto;text-align:left}.royal-rsvp label{display:grid;gap:8px;color:#d6c8ae;font-size:12px}.royal-rsvp form>div{display:grid;grid-template-columns:1fr 1fr;gap:14px}.royal-rsvp input,.royal-rsvp select,.royal-rsvp textarea{width:100%;min-height:48px;padding:12px;border:1px solid #c9a76a55;background:#0d2924;color:var(--paper);font:400 15px Manrope,sans-serif}.royal-rsvp textarea{min-height:100px;resize:vertical}.royal-rsvp button{min-height:52px;border:1px solid var(--gold);background:var(--gold);color:#102a24;font-weight:600;text-transform:uppercase;letter-spacing:.12em}.royal-rsvp output{min-height:20px;text-align:center;color:var(--gold)}.royal-final{min-height:80svh;display:grid;place-content:center;justify-items:center;padding:60px 24px;text-align:center;background:linear-gradient(#051613aa,#051613ee),url('/app/assets/templates/silk-envelope-01/scene-cover-v1.webp') center/cover}.royal-final>p{margin:38px 0 14px;color:var(--gold);font-size:12px;letter-spacing:.14em}.royal-final h2{margin:0;font:400 58px/.8 Cormorant,serif}.royal-final small{margin-top:54px;color:#b6a58a}.royal-audio{position:fixed;z-index:20;right:18px;top:18px;width:46px;aspect-ratio:1;border:1px solid var(--gold);border-radius:50%;background:#071d19dd;color:var(--gold)}.royal-preview{position:fixed;z-index:40;left:12px;top:12px;padding:8px 10px;background:#eadcc2;color:#071d19;font-size:10px}@media(min-width:620px){body:has(.royal-template){background:#020706}.royal-travel{grid-template-columns:1fr 1fr}}@media(max-width:520px){.royal-envelope-paper{width:100vw}.royal-countdown [data-countdown]{gap:2px}.royal-attire-grid{grid-template-columns:1fr}.royal-section{padding-inline:22px}}@media(prefers-reduced-motion:reduce){.royal-template *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
