/* Three original material studies. Existing templates keep their own source and styles. */
.nt-invitation.sn-pearl-tide{--sn-ink:#294b50;--sn-muted:#587378;--sn-accent:#456f72;--sn-paper:#f7f3e9;--sn-paper-rgb:247,243,233;--sn-rule:#759e9759;--sn-shadow:#204a4c2b;--sn-foil-dark:#355c61;--sn-foil-mid:#668d8f;--sn-foil-light:#abc6c4;--nt-fold:#e1eeea;--nt-fold-dark:#87a9a5;background:#d7e6e2}
.nt-invitation.sn-celestial-atelier{--sn-ink:#ece4d4;--sn-muted:#c7c4cc;--sn-accent:#d9bd83;--sn-paper:#20273f;--sn-paper-rgb:32,39,63;--sn-rule:#d8ba7a66;--sn-shadow:#04091970;--sn-foil-dark:#b99a60;--sn-foil-mid:#d7bf8b;--sn-foil-light:#fff0c4;--sn-edge-light:#c9ad732f;--sn-edge-dark:#00081391;--nt-fold:#222d49;--nt-fold-dark:#101a33;background:#111d35}
.nt-invitation.sn-wildflower-press{--sn-ink:#465443;--sn-muted:#6e7661;--sn-accent:#7b6b46;--sn-paper:#faf5e5;--sn-paper-rgb:250,245,229;--sn-rule:#81916b66;--sn-shadow:#39492828;--sn-foil-dark:#53684b;--sn-foil-mid:#748569;--sn-foil-light:#a3b18b;--nt-fold:#e9e7cf;--nt-fold-dark:#b0b89b;background:#e8ecd9}
.nt-invitation .sn-hero{min-height:100svh;padding:82px 25px 100px;align-items:center}
.nt-invitation .sn-hero-stationery{width:min(100%,480px);padding:43px 40px;background-color:rgba(var(--sn-paper-rgb),.91);border-radius:48% 48% 2px 2px / 80px 80px 2px 2px;box-shadow:inset 0 0 0 1px var(--sn-edge-light),0 3px 0 var(--sn-edge-dark),0 26px 70px var(--sn-shadow)}
.nt-invitation.sn-celestial-atelier .sn-hero-stationery{border-radius:2px;background-color:rgba(var(--sn-paper-rgb),.94);outline:1px solid var(--sn-rule);outline-offset:7px}
.nt-invitation.sn-celestial-atelier .sn-hero-crest .sn-botanical{display:none}
.nt-invitation.sn-celestial-atelier .sn-hero-crest{border:1px solid var(--sn-rule);border-radius:50%;width:92px;height:92px;margin:auto auto 24px;background:repeating-conic-gradient(from 15deg,transparent 0deg 27deg,#d9bd8330 27deg 28deg,transparent 28deg 30deg)}
.nt-invitation.sn-celestial-atelier .sn-hero-crest span{background:var(--sn-paper);border-radius:50%;padding:9px;color:var(--sn-accent);-webkit-text-fill-color:var(--sn-accent);background-clip:border-box;-webkit-background-clip:border-box}
.nt-invitation.sn-wildflower-press .sn-hero-stationery{border-radius:2px;transform:rotate(-1deg);outline:1px solid var(--sn-rule);outline-offset:-12px}
.nt-invitation .sn-main{max-width:980px}
.nt-invitation .sn-section-title{background:rgba(var(--sn-paper-rgb),.94)}
.nt-invitation .sn-story-paper,.nt-invitation .sn-event-paper,.nt-invitation .iv-guest-details,.nt-invitation .sn-rsvp-paper{background-color:rgba(var(--sn-paper-rgb),.96);background-image:var(--sn-fibres);background-size:192px 192px;background-blend-mode:multiply}
.nt-invitation .sn-names{font-size:clamp(52px,6vw,76px)}
.nt-invitation .sn-names i{margin:0;font-size:.42em}
.nt-invitation .sn-cover-line{font-size:23px}
.nt-invitation .nt-atmosphere{position:absolute;inset:-10%;pointer-events:none;animation:nt-water-light 24s ease-in-out infinite alternate;background:radial-gradient(ellipse at 15% 82%,#d8ffff47,transparent 24%),radial-gradient(ellipse at 80% 24%,#fbffe94a,transparent 30%);mix-blend-mode:soft-light}
.nt-invitation.sn-celestial-atelier .nt-atmosphere{background-image:radial-gradient(circle at 12% 20%,#fff5c4 0 1px,transparent 2px),radial-gradient(circle at 80% 12%,#fff5c4 0 1px,transparent 2px),radial-gradient(circle at 70% 45%,#fff5c4 0 1px,transparent 2px),radial-gradient(circle at 24% 60%,#fff5c4 0 1px,transparent 2px),radial-gradient(circle at 45% 75%,#fff5c4 0 1px,transparent 2px);background-size:320px 500px;animation:nt-stars 13s ease-in-out infinite alternate;mix-blend-mode:screen}
.nt-invitation.sn-wildflower-press .nt-atmosphere{background:radial-gradient(ellipse at 75% 20%,#ffffd673,transparent 35%),radial-gradient(ellipse at 10% 80%,#ecf3c852,transparent 35%);animation:nt-meadow-light 21s ease-in-out infinite alternate}
.nt-invitation[data-motion="paused"] .nt-atmosphere{animation-play-state:paused}
.nt-invitation .nt-opening{--nt-opening-ready:1;position:fixed;inset:0;z-index:160;isolation:isolate;overflow:hidden;min-height:100%;background:var(--sn-paper);color:var(--sn-ink);text-align:center;perspective:1400px}
html.nt-opening-active,html.nt-opening-active body{overflow:hidden}
.nt-invitation .nt-opening-scenery{position:absolute;inset:-3%;z-index:-2;background:var(--sn-scene) center/cover no-repeat;filter:blur(1px);opacity:.73}
.nt-invitation .nt-opening::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,rgba(var(--sn-paper-rgb),.6),rgba(var(--sn-paper-rgb),.12) 40%,rgba(var(--sn-paper-rgb),.75));pointer-events:none}
.nt-invitation .nt-intro{position:absolute;top:max(11%,70px);left:5%;width:90%;text-align:center;transition:opacity .7s}
.nt-invitation .nt-intro h2{font:400 clamp(25px,4vw,35px)/1.2 var(--sn-display);margin:9px 0 7px;text-wrap:balance}
.nt-invitation .nt-intro>p:last-child{font-size:11px;letter-spacing:.1em}
.nt-invitation .nt-skip{position:absolute;right:16px;top:max(16px,env(safe-area-inset-top));display:flex;align-items:center;gap:7px;border:1px solid var(--sn-rule);background:rgba(var(--sn-paper-rgb),.88);padding:9px 13px;font-size:11px;z-index:8}
.nt-invitation .nt-brand{position:absolute;bottom:max(5%,25px);left:0;width:100%;font-size:13px;letter-spacing:.08em}
.nt-invitation .nt-brand i{font:italic 22px var(--sn-display);letter-spacing:0}
.nt-invitation .nt-stage{position:absolute;left:50%;top:49%;width:min(76vw,355px,45svh);height:min(97vw,453px,57.5svh);transform:translate(-50%,-50%);perspective:1200px;transform-style:preserve-3d}
.nt-invitation .nt-shadow{position:absolute;left:7%;right:7%;height:12%;bottom:-7%;border-radius:50%;background:#15291c40;filter:blur(20px)}
.nt-invitation .nt-letter{position:absolute;inset:1%;background-color:var(--sn-paper);background-image:var(--sn-fibres),linear-gradient(120deg,#fff9,transparent 50%,#0000000a);background-size:150px 150px,100%;border:1px solid var(--sn-rule);box-shadow:inset 0 0 0 2px var(--sn-edge-light),1px 4px 0 var(--sn-edge-dark),0 8px 22px var(--sn-shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px 25px;text-align:center;transform:translateY(14%) scale(.92);opacity:0}
.nt-invitation .nt-letter-edge{position:absolute;inset:10px;border:1px solid var(--sn-rule);pointer-events:none}
.nt-invitation .nt-letter-ornament{width:63px;height:68px;color:var(--sn-accent);margin:0 0 13px;opacity:.9}
.nt-invitation .nt-letter-ornament svg{width:100%;height:100%}
.nt-invitation .nt-letter .sn-eyebrow{font-size:9px;letter-spacing:.12em}
.nt-invitation .nt-letter-names{display:grid;gap:5px;font:400 clamp(34px,9.1vw,49px)/.98 var(--sn-display);margin:15px 0;color:var(--sn-accent);text-shadow:0 1px var(--sn-edge-light),0 -1px var(--sn-edge-dark);max-width:100%}
.nt-invitation .nt-letter-names i{font-size:.58em;font-weight:400}
.nt-invitation .nt-letter-date{font-size:11px;letter-spacing:.02em}
.nt-invitation .nt-letter-line{width:37px;border-bottom:1px solid var(--sn-accent);margin-top:18px}
.nt-invitation .nt-fold{position:absolute;top:0;bottom:0;width:51%;z-index:2;background-color:var(--nt-fold);background-image:var(--sn-fibres),linear-gradient(125deg,#ffffff91,#ffffff0a 35%,#00000014 80%);background-size:150px 150px,100%;box-shadow:inset 1px 1px 0 #ffffff80,inset -1px -1px 0 var(--nt-fold-dark),0 5px 24px var(--sn-shadow);backface-visibility:hidden;transform-style:preserve-3d}
.nt-invitation .nt-fold-left{left:0;transform-origin:left center;border-radius:90% 22% 16% 80% / 50% 30% 60% 50%;border-right:1px solid #fbfffb66}
.nt-invitation .nt-fold-right{right:0;transform-origin:right center;border-radius:22% 90% 80% 16% / 30% 50% 50% 60%;border-left:1px solid #fbfffb66}
.nt-invitation .nt-fold-lines{position:absolute;inset:8px;border:1px solid var(--sn-rule);border-radius:inherit;background:repeating-conic-gradient(from 180deg at 100% 75%,transparent 0 9deg,#719b963d 9deg 9.4deg,transparent 9.4deg 12deg);opacity:.8}
.nt-invitation .nt-fold-right .nt-fold-lines{background:repeating-conic-gradient(from 180deg at 0% 75%,transparent 0 9deg,#719b963d 9deg 9.4deg,transparent 9.4deg 12deg)}
.nt-invitation .nt-seal{position:absolute;left:50%;top:50%;width:70px;height:70px;display:grid;place-items:center;border-radius:48% 51% 49% 47%;z-index:4;background:radial-gradient(circle at 36% 28%,#fdfde9,#d8d5c1 53%,#adbfb7 77%,#f1efdf 100%);box-shadow:inset 0 0 0 4px #e3e5d7,inset 0 0 0 6px #8ba59c5e,0 4px 9px #2645453b;transform:translate(-50%,-50%) rotate(-8deg);color:#587c74}
.nt-invitation .nt-seal span{font:italic 22px var(--sn-display);text-shadow:0 1px #ffffff91}
.nt-invitation .nt-sleeve,.nt-invitation .nt-wheel{display:none}
.nt-invitation .nt-trigger{position:absolute;left:50%;bottom:13%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:12px;width:max-content;max-width:90%;padding:13px 20px;border:1px solid var(--sn-rule);background:rgba(var(--sn-paper-rgb),.94);box-shadow:0 4px 15px var(--sn-shadow);font-size:12px;letter-spacing:.03em;transition:opacity .5s;z-index:6}
.nt-invitation .nt-opening[data-state="opening"] .nt-trigger,.nt-invitation .nt-opening[data-state="leaving"] .nt-trigger{opacity:0;pointer-events:none}
.nt-invitation .nt-opening[data-state="opening"] .nt-intro,.nt-invitation .nt-opening[data-state="leaving"] .nt-intro{opacity:.45}
.nt-invitation .nt-opening[data-state="opening"] .nt-seal,.nt-invitation .nt-opening[data-state="leaving"] .nt-seal{animation:nt-seal-release 1.8s cubic-bezier(.3,0,.15,1) .25s both}
.nt-invitation .nt-opening[data-state="opening"] .nt-fold-left,.nt-invitation .nt-opening[data-state="leaving"] .nt-fold-left{animation:nt-pearl-left 3.5s cubic-bezier(.2,.5,.15,1) 1.2s both}
.nt-invitation .nt-opening[data-state="opening"] .nt-fold-right,.nt-invitation .nt-opening[data-state="leaving"] .nt-fold-right{animation:nt-pearl-right 3.5s cubic-bezier(.2,.5,.15,1) 1.45s both}
.nt-invitation .nt-opening[data-state="opening"] .nt-letter,.nt-invitation .nt-opening[data-state="leaving"] .nt-letter{animation:nt-letter-rise 3.7s cubic-bezier(.2,.5,.15,1) 1.9s both}
.nt-invitation .nt-opening[data-state="leaving"]{opacity:0;transition:opacity .8s ease}
.nt-invitation.sn-celestial-atelier .nt-stage{width:min(76vw,355px,45svh);height:min(97vw,453px,57.5svh)}
.nt-invitation.sn-celestial-atelier .nt-letter{background-image:var(--sn-fibres),radial-gradient(ellipse at 50% 0,#41517177,transparent 65%)}
.nt-invitation.sn-celestial-atelier .nt-fold{border-radius:1px;background-color:#172039f2;box-shadow:inset 0 0 0 1px #c7ad7959,0 4px 20px #080d2580}
.nt-invitation.sn-celestial-atelier .nt-fold-lines{border-radius:0;background:repeating-linear-gradient(90deg,transparent 0 20px,#c7ad791c 20px 21px);border-color:#c7ad7969}
.nt-invitation.sn-celestial-atelier .nt-fold-left{border-right:1px solid #d7bd8873}
.nt-invitation.sn-celestial-atelier .nt-fold-right{border-left:1px solid #d7bd8873}
.nt-invitation.sn-celestial-atelier .nt-seal{display:none}
.nt-invitation.sn-celestial-atelier .nt-wheel{display:grid;place-items:center;position:absolute;width:82%;aspect-ratio:1;left:9%;top:18%;color:#e4c88e;z-index:4;filter:drop-shadow(0 2px 1px #0009)}
.nt-invitation.sn-celestial-atelier .nt-wheel svg{position:absolute;inset:0;width:100%;height:100%}
.nt-invitation.sn-celestial-atelier .nt-wheel span{font:italic 23px var(--sn-display);background:#1c2743;border-radius:50%;padding:13px 6px;z-index:1}
.nt-invitation.sn-celestial-atelier .nt-opening[data-state="opening"] .nt-wheel,.nt-invitation.sn-celestial-atelier .nt-opening[data-state="leaving"] .nt-wheel{animation:nt-wheel-turn 3.3s cubic-bezier(.2,.45,.15,1) .25s both}
.nt-invitation.sn-celestial-atelier .nt-opening[data-state="opening"] .nt-fold-left,.nt-invitation.sn-celestial-atelier .nt-opening[data-state="leaving"] .nt-fold-left{animation:nt-vellum-left 3.4s cubic-bezier(.2,.5,.15,1) 1.8s both}
.nt-invitation.sn-celestial-atelier .nt-opening[data-state="opening"] .nt-fold-right,.nt-invitation.sn-celestial-atelier .nt-opening[data-state="leaving"] .nt-fold-right{animation:nt-vellum-right 3.4s cubic-bezier(.2,.5,.15,1) 2s both}
.nt-invitation.sn-wildflower-press .nt-fold,.nt-invitation.sn-wildflower-press .nt-seal{display:none}
.nt-invitation.sn-wildflower-press .nt-letter{opacity:1;transform:rotate(-2deg) scale(.95);background-color:#f8f1d9}
.nt-invitation.sn-wildflower-press .nt-letter-ornament{height:73px;color:#7e8767}
.nt-invitation.sn-wildflower-press .nt-sleeve{display:block;position:absolute;inset:-2% -2% 0;z-index:3;background:linear-gradient(110deg,#eff0dba1,#f9f4e6f2 25%,#dedec9e8 72%,#ffffff9c);border:1px solid #f8fae5;box-shadow:inset 3px 0 2px #ffffff82,inset -3px 0 2px #9b9e8170,0 6px 18px #6676534d;backdrop-filter:blur(3px);transform:rotate(2deg)}
.nt-invitation.sn-wildflower-press .nt-sleeve::after{content:"";position:absolute;inset:0;background-image:var(--sn-fibres);background-size:190px;opacity:.5}
.nt-invitation .nt-sleeve-flower{position:absolute;left:9%;top:11%;width:82%;height:80%;color:#ad7d8b;transform:rotate(-9deg)}
.nt-invitation .nt-sleeve-flower svg{width:100%;height:100%;filter:drop-shadow(1px 2px 1px #4c62412d)}
.nt-invitation .nt-sleeve-flower img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(1px 2px 1px #4c624140)}
.nt-invitation .nt-sleeve-line{position:absolute;left:0;right:0;top:62%;height:2px;background:#c3ad7c;box-shadow:0 2px 0 #fff6}
.nt-invitation.sn-wildflower-press .nt-opening[data-state="opening"] .nt-sleeve,.nt-invitation.sn-wildflower-press .nt-opening[data-state="leaving"] .nt-sleeve{animation:nt-sleeve-slide 4.6s cubic-bezier(.2,.45,.15,1) .6s both}
.nt-invitation.sn-wildflower-press .nt-opening[data-state="opening"] .nt-letter,.nt-invitation.sn-wildflower-press .nt-opening[data-state="leaving"] .nt-letter{animation:nt-flower-card 4s cubic-bezier(.2,.5,.15,1) 1.2s both}
@keyframes nt-seal-release{0%,15%{opacity:1;transform:translate(-50%,-50%) rotate(-8deg)}70%{opacity:1;transform:translate(-50%,-80%) rotate(9deg) scale(1.13)}100%{opacity:0;transform:translate(-50%,-115%) rotate(13deg) scale(1.14)}}
@keyframes nt-pearl-left{to{transform:rotateY(-130deg) translateX(-3%);opacity:0}}
@keyframes nt-pearl-right{to{transform:rotateY(130deg) translateX(3%);opacity:0}}
@keyframes nt-letter-rise{0%{opacity:.1;transform:translateY(14%) scale(.92)}35%{opacity:1}100%{opacity:1;transform:translateY(-1%) scale(1)}}
@keyframes nt-wheel-turn{0%{opacity:1;transform:rotate(0)}60%{opacity:1;transform:rotate(110deg) scale(1.06)}100%{opacity:0;transform:rotate(155deg) scale(1.16)}}
@keyframes nt-vellum-left{to{transform:translateX(-67%) rotateY(-24deg);opacity:0}}
@keyframes nt-vellum-right{to{transform:translateX(67%) rotateY(24deg);opacity:0}}
@keyframes nt-sleeve-slide{0%{transform:translateY(0) rotate(2deg);opacity:1}70%{opacity:.9}100%{transform:translateY(74%) rotate(6deg);opacity:0}}
@keyframes nt-flower-card{to{transform:translateY(-3%) rotate(0) scale(1);opacity:1}}
@keyframes nt-water-light{from{opacity:.45;transform:translate(-3%,2%) scale(1.02)}to{opacity:1;transform:translate(4%,-2%) scale(1.08)}}
@keyframes nt-stars{from{opacity:.25;transform:translateY(0)}to{opacity:.9;transform:translateY(-12px)}}
@keyframes nt-meadow-light{from{opacity:.4;transform:rotate(-2deg) translateX(-3%)}to{opacity:.85;transform:rotate(2deg) translateX(3%)}}
@media(max-width:650px){.nt-invitation .sn-hero{padding:80px 25px 85px}.nt-invitation .sn-hero-stationery{padding:34px 25px}.nt-invitation .sn-names{font-size:clamp(44px,12vw,63px)}.nt-invitation .sn-cover-line{font-size:21px}.nt-invitation .sn-hero-crest{margin-bottom:20px}.nt-invitation .nt-intro{top:12%}.nt-invitation .nt-intro h2{font-size:26px}.nt-invitation .nt-letter{padding:22px 18px}}
@media(max-height:670px){.nt-invitation .nt-intro{top:12%}.nt-invitation .nt-intro h2{font-size:22px}.nt-invitation .nt-intro>p:last-child{display:none}.nt-invitation .nt-stage{top:50%;height:53svh;width:41.5svh}.nt-invitation .nt-letter-ornament{height:40px;margin-bottom:5px}.nt-invitation .nt-letter-names{font-size:clamp(27px,5.5svh,39px);margin:11px 0}.nt-invitation .nt-letter-line{margin-top:10px}.nt-invitation .nt-trigger{bottom:11%;padding:9px 14px}.nt-invitation .nt-brand{bottom:3%}}
@media(max-height:450px){.nt-invitation .nt-intro{top:16%}.nt-invitation .nt-intro h2{font-size:20px}.nt-invitation .nt-intro{left:4%;width:25%;text-align:left}.nt-invitation .nt-stage,.nt-invitation.sn-celestial-atelier .nt-stage{top:46%;width:38svh;height:54svh}.nt-invitation .nt-letter{padding:10px}.nt-invitation .nt-letter-ornament,.nt-invitation .nt-letter-line{display:none}.nt-invitation .nt-letter-names{font-size:26px;gap:2px;margin:8px 0}.nt-invitation .nt-letter-date{font-size:9px}.nt-invitation .nt-trigger{bottom:12%}.nt-invitation .nt-brand{bottom:2%}}
@media(prefers-reduced-motion:reduce){.nt-invitation .nt-atmosphere,.nt-invitation .nt-opening *{animation:none!important;transition:none!important}}
