@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#264c3d;--paper:#faf8f2;--muted:#71776c;--line:#dcded2;--accent:#b79266;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b79266;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.16;letter-spacing:-2px}h2{font-size:clamp(34px,4vw,50px)}h2 em,h1 em{font-weight:400;color:#8e9b73}p{color:var(--muted)}.wrap{max-width:1180px;margin:auto;padding-left:40px;padding-right:40px}.nav{max-width:1260px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:26px 40px;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:29px;letter-spacing:-1px;line-height:1}.brand span{display:block;font:8px var(--sans);letter-spacing:3px;margin:9px 0 0 31px}.nav nav{display:flex;gap:35px;font-size:13px}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:6px;padding:15px 24px;font-size:13px;font-weight:500;transition:transform .2s,background .2s}.button:hover{background:#39624e;transform:translateY(-2px)}.button.small{padding:11px 19px}.button.outline{background:transparent;color:var(--ink)}.text-link{display:inline-block;border:0;border-bottom:1px solid #a9b2a0;background:transparent;padding:6px 0;font-size:13px}.hero{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;min-height:680px;gap:30px;padding-top:55px;padding-bottom:65px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.5px;display:block}.eyebrow i{display:inline-block;width:6px;height:6px;background:#8e9b73;border-radius:50%;margin-right:7px}.hero h1{font-size:clamp(46px,5.4vw,72px);margin:24px 0}.hero-copy>p{max-width:390px;font-size:15px;line-height:1.9}.actions{display:flex;align-items:center;gap:27px;margin-top:30px}.hero-note{font-size:11px;color:var(--muted);margin-top:32px;display:flex;gap:10px;align-items:center}.hero-note span{font-size:22px}.hero-art{position:relative;height:535px;background:#e8ebdf;border-radius:200px 200px 12px 12px;display:flex;justify-content:center;align-items:center}.art-label{position:absolute;top:36px;font-size:8px;letter-spacing:2px}.paper{position:absolute;width:265px;height:375px;background:#fdfaf3;box-shadow:0 22px 40px #34422a20;border:1px solid #e2d9c7}.back-paper{transform:rotate(-12deg);background:#dacfb9}.front-paper{transform:rotate(7deg);display:flex;flex-direction:column;align-items:center;text-align:center;padding:43px 20px;color:#78654f;overflow:hidden}.front-paper>small{font-size:8px;letter-spacing:2px;position:relative}.script{font-family:var(--serif);font-style:italic;font-size:42px;line-height:1.08;margin-top:18px;position:relative}.script span{display:block;font-size:25px;margin:4px}.paper-rule{width:40px;border-top:1px solid #b79266;margin:17px}.front-paper p{font-size:10px;letter-spacing:2px;position:relative;color:#78654f}.front-paper p small{font-size:7px}.botanical{position:absolute;pointer-events:none;width:180px;opacity:.6}.front-paper .botanical{width:235px;left:-100px;bottom:-10px;opacity:.35}.seal{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#a88454;color:white;font-family:var(--serif);margin-top:15px;box-shadow:0 3px 5px #5553;z-index:1}.float-note{position:absolute;bottom:18px;right:-18px;background:#fdfbf5;padding:16px 23px;font-size:12px;box-shadow:0 6px 25px #22331912;transform:rotate(-6deg)}.float-note em{font-family:var(--serif);font-size:16px}.feature-strip{background:#f0f0e7;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:center;gap:85px;padding:20px;font-size:12px}.section{padding-top:90px;padding-bottom:90px}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.section-top h2{margin-top:18px}.section-top>p{font-size:13px;padding-bottom:5px}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.preview{height:355px;display:flex;align-items:center;justify-content:center;position:relative;border-radius:8px;overflow:hidden}.preview.elegant{background:#e6dccb}.preview.floral{background:#dfe5d8}.preview.minimalist{background:#e9e7e3}.mini-paper{width:70%;height:80%;background:#faf6ed;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;box-shadow:0 10px 24px #554b3c12;transition:transform .4s}.preview:hover .mini-paper{transform:translateY(-5px) rotate(-2deg)}.mini-paper small{font-size:7px;letter-spacing:1.6px;position:relative}.mini-paper h3{font-family:var(--serif);font-size:32px;font-weight:400;line-height:1.2;margin:23px 0;z-index:1}.mini-paper h3 i{display:block;font-size:20px}.mini-paper>span{font-size:8px;letter-spacing:2px}.mini-line{width:35px;border-top:1px solid #b9baa9;margin:20px}.mini-paper .botanical{right:-100px;bottom:-40px;width:240px;opacity:.6}.floral .mini-paper{border-radius:100px 100px 0 0;color:#56674d}.minimalist .mini-paper{background:#fff;color:#32332f}.minimalist .mini-paper h3{font-family:var(--sans);font-size:31px;letter-spacing:3px}.preview-link{position:absolute;bottom:15px;right:15px;font-size:10px;background:#fffdf4;padding:7px 12px;border-radius:30px}.template-meta{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.template-meta h3{font-family:var(--serif);font-size:25px;font-weight:400}.template-meta span{font-size:11px;color:#8c927e}.template>p{font-size:12px;line-height:1.9;margin:8px 0 12px}.process{background:#e9eddf;padding:65px 0}.process h2{margin-top:15px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:40px}.step-number{font-family:var(--serif);font-size:30px;color:#91a07e;display:block;border-bottom:1px solid #cbd2be;padding-bottom:14px}.steps h3{font-size:15px;font-weight:500;margin:19px 0 9px}.steps p{font-size:12px;line-height:1.9}.pricing{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:center}.pricing h2{margin:20px 0}.pricing p{font-size:13px}.included{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:12px;margin-top:28px}.price-card{border:1px solid #cbd1c0;background:#f0f1e8;padding:35px;border-radius:8px}.price-card h3{font-family:var(--serif);font-size:44px;margin-top:14px;font-weight:400}.price-card hr{border:0;border-top:1px solid #ccd2c1;margin:24px 0}.price-card ul{padding-left:17px;font-size:12px;line-height:2.3;margin-bottom:24px}.price-card .button{width:100%}.price-card small{display:block;color:var(--muted);font-size:10px;margin-top:12px}.order-section{background:#294d3e;color:#f7f4e8;padding:75px 0}.order-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.order-grid h2{margin:20px 0}.order-grid h2 em{color:#c3caaa}.order-grid p{color:#c1cabe;font-size:13px;max-width:340px}.order-note{display:block;font-size:11px;color:#c1cabe;margin-top:25px}form label{display:block;font-size:12px;margin-bottom:16px}form label>span{opacity:.65}input,select,textarea{display:block;width:100%;border:1px solid #d1d7c7;border-radius:5px;padding:12px;background:#fdfbf4;color:#264c3d;margin-top:7px;min-width:0}textarea{height:88px;resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #a5b58e;outline-offset:2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}form .button{width:100%}form small{display:block;font-size:10px;line-height:1.7;margin-top:12px;opacity:.8}.order-section form .button{background:#d9dfc7;color:#264c3d}.faq{display:grid;grid-template-columns:1fr 1.15fr;gap:65px}.faq h2{margin-top:18px}details{border-bottom:1px solid var(--line);padding:19px 0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:13px;gap:20px}summary::-webkit-details-marker{display:none}details p{font-size:12px;margin:13px 0 5px;line-height:1.9}footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:30px!important;padding-bottom:30px!important}footer p,footer small{font-size:10px}#toast:not(:empty){position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#213d32;color:white;padding:14px 22px;border-radius:6px;max-width:90vw;width:max-content;font-size:13px;z-index:100;box-shadow:0 8px 30px #0003}.invitation:not(.atlas){--ink:#6b563d;--muted:#877c6e;background:#f6f0e4;min-height:100vh}.invitation:not(.atlas).floral{--ink:#46644b;--muted:#6d806b;background:#f0f3e8}.invitation:not(.atlas).minimalist{--ink:#252525;--muted:#747474;background:#fafafa;--serif:'DM Sans',Arial,sans-serif}.demo-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 25px;border-bottom:1px solid #aaa4;font-size:10px;letter-spacing:1px}.invite-cover{min-height:calc(100svh - 50px);position:relative;overflow:hidden;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px}.invite-cover>.botanical{width:400px;left:calc(50% - 360px);bottom:-30px;opacity:.4}.invite-cover h1{font-size:80px;margin:25px 0;position:relative}.invite-cover h1 em{display:block;font-size:40px;color:var(--accent)}.invite-cover>p{font-size:13px}.guest-label{font-size:11px;position:relative;margin:28px 0}.guest-label strong{display:block;font-size:16px;margin:8px;max-width:350px;overflow-wrap:anywhere}.invite-cover .button{position:relative}.invite-section{max-width:900px;margin:auto;padding:85px 30px;text-align:center}.invite-section h2{margin:20px 0 25px}.invite-section>p{max-width:580px;margin:0 auto;font-size:14px}.couple{display:flex;align-items:center;justify-content:center;gap:40px;margin:45px 0}.couple h3{font-family:var(--serif);font-size:30px;font-weight:400}.couple p{font-size:11px;margin-top:10px}.couple>span{font:40px var(--serif);color:var(--accent)}blockquote{font:italic 23px/1.7 var(--serif);max-width:500px;margin:50px auto 0;color:var(--muted)}.celebration{border-top:1px solid #aaa4;border-bottom:1px solid #aaa4}.celebration h2{font-size:34px}.countdown{display:flex;justify-content:center;gap:22px;margin:35px 0 50px}.countdown div{width:75px}.countdown strong{display:block;font:40px var(--serif)}.countdown span{font-size:10px;letter-spacing:1px}.events{display:grid;grid-template-columns:1fr 1fr;gap:20px}.events article{border:1px solid #aaa4;padding:30px 15px;border-radius:100px 100px 8px 8px}.events h3{font:25px var(--serif);margin:20px 0}.events p{font-size:12px;margin:20px}.story{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:left;margin-top:50px}.story article{border-top:1px solid #aaa6;padding-top:20px}.story:not(.section) span{font:27px var(--serif);color:var(--accent)}.story h3{font-size:16px;margin:15px 0}.story p{font-size:12px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery-button{padding:0;background:none;border:0;transition:transform .2s}.gallery-button:hover{transform:translateY(-5px)}.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:120px 120px 3px 3px}.gallery-section>small{display:block;margin-top:20px;font-size:11px;color:var(--muted)}.rsvp-form{text-align:left;max-width:480px;margin:35px auto}.rsvp-form .outline{margin-top:10px}.messages{max-width:480px;margin:auto;text-align:left}.messages article{border-top:1px solid #aaa4;padding:18px 0;overflow-wrap:anywhere}.messages small{display:block;font-size:10px;color:var(--muted)}.messages p{font-size:13px;margin-top:9px;white-space:pre-wrap}.bank-card{border:1px solid #aaa4;max-width:360px;margin:30px auto 0;padding:30px;border-radius:9px}.bank-card span{font-size:12px}.bank-card strong{display:block;font-size:24px;letter-spacing:2px;margin:12px 0}.bank-card p{font-size:11px}.bank-card button{margin-top:12px}.closing{position:relative;overflow:hidden;padding-bottom:100px}.closing>.botanical{right:-30px;bottom:0;opacity:.35}.powered{display:block;font-size:10px;margin-top:60px}.music-toggle{position:fixed;bottom:25px;right:20px;width:45px;height:45px;background:var(--ink);color:#fff;border:0;border-radius:50%;z-index:20}.minimalist .invite-cover h1{font-size:65px;letter-spacing:4px}.minimalist .botanical{display:none}.minimalist .events article{border-radius:0}.minimalist .gallery img{border-radius:0}dialog{border:0;border-radius:10px;padding:12px;background:#faf8f2;max-width:90vw;max-height:90vh}dialog::backdrop{background:#15291cbb}dialog img{display:block;max-height:75vh;max-width:80vw}dialog button{float:right;border:0;background:none;font-size:28px} [hidden]{display:none!important}
@media(min-width:1400px){.hero{min-height:730px}.hero-art{height:570px}}@media(max-width:800px){.wrap{padding-left:24px;padding-right:24px}.nav{padding:22px 24px}.nav nav{gap:18px}.hero{gap:25px;min-height:600px}.hero h1{font-size:48px}.hero-art{height:460px}.paper{width:220px;height:340px}.front-paper{padding-top:38px}.script{font-size:37px}.actions{gap:16px;flex-wrap:wrap}.feature-strip{gap:25px;font-size:10px}.template-grid{gap:15px}.preview{height:285px}.mini-paper h3{font-size:25px}.pricing{gap:35px}.order-grid{gap:40px}.steps{gap:20px}.faq{gap:30px}footer{gap:20px}.section{padding-top:65px;padding-bottom:65px}}@media(max-width:600px){.nav nav{display:none}.nav .brand{font-size:25px}.button.small{font-size:11px;padding:10px 13px}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:45px;gap:35px}.hero h1{font-size:50px}.hero-copy>p{font-size:14px}.hero-art{height:450px;max-width:380px;width:100%;margin:auto}.float-note{right:-5px}.hero-note{margin-top:22px}.feature-strip{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:12px;padding:20px 10px}.section-top{display:block}.section-top>p{margin-top:20px}.template-grid{grid-template-columns:1fr;gap:35px}.preview{height:380px}.mini-paper{max-width:260px}.mini-paper h3{font-size:35px}.template>p{font-size:13px}.steps{grid-template-columns:1fr 1fr;gap:30px 20px}.process{padding:45px 0}.process h2{font-size:35px}.pricing,.order-grid,.faq{grid-template-columns:1fr;gap:35px}.pricing h2{font-size:40px}.included{font-size:11px}.price-card{padding:28px}.order-section{padding:50px 0}.order-grid h2{font-size:44px}.order-grid p{max-width:none}.form-row{gap:12px}footer{flex-wrap:wrap}footer p{width:60%}footer small{width:100%}.invite-cover h1{font-size:66px}.invite-cover>.botanical{left:-140px;width:360px}.invite-section{padding:60px 22px}.couple{flex-direction:column;gap:20px}.couple h3{font-size:30px}.events{grid-template-columns:1fr;gap:20px}.events article{border-radius:80px 80px 6px 6px}.story{grid-template-columns:1fr;gap:30px}.gallery{gap:8px}.gallery img{border-radius:70px 70px 0 0}.countdown{gap:12px}.countdown strong{font-size:34px}.demo-bar{padding:13px 14px;letter-spacing:0;font-size:9px}.minimalist .invite-cover h1{font-size:50px}.celebration h2{font-size:30px}.invite-section h2{font-size:34px}.form-row label{font-size:11px}.closing h2{font-size:37px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Floral Blue: portrait invitation, original botanical accents */
.invitation:not(.atlas).floral{--ink:#354e70;--muted:#78889e;--accent:#bf9a53;background:#e6edf5;max-width:520px;margin:auto;box-shadow:0 0 90px #243c5520}.floral .invite-cover{color:#fff;min-height:calc(100svh - 49px);justify-content:flex-end;padding:60px 24px 48px;background:#314863}.cover-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}.floral .invite-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#20345205 15%,#20345250 40%,#1c3155ed 100%)}.floral .invite-cover>*:not(.cover-photo){z-index:1}.floral .invite-cover .eyebrow{position:relative}.floral .invite-cover h1{font:italic 58px/1.1 var(--serif);letter-spacing:-1px;margin:14px 0}.floral .invite-cover h1 em{font-size:25px;color:#e3c17d;margin:7px}.floral .invite-cover>p{position:relative;color:#f3f6fc;font-size:12px}.floral .guest-label{margin:26px 0 18px}.floral .invite-cover .button{background:#edf3fc;color:#314c71;border:0;border-radius:30px;padding:12px 26px}.floral .invite-cover>.botanical{filter:hue-rotate(95deg);opacity:.23;left:-155px;bottom:-80px;width:450px}.floral .demo-bar{background:#f6f8fc;letter-spacing:0;padding:15px;font-size:9px}.photo-hero{height:90svh;min-height:620px;max-height:900px;position:relative;overflow:hidden;color:white;text-align:center;background:#344b64}.photo-hero>img:not(.botanical){width:100%;height:100%;object-fit:cover;object-position:center 30%}.photo-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#203452c9 85%,#203452ef)}.photo-hero>div{position:absolute;z-index:2;bottom:75px;left:15px;right:15px}.photo-hero h2{font:italic 46px/1.2 var(--serif);letter-spacing:-1px;margin:12px 0}.photo-hero h2 em{color:#e2c487}.photo-hero p{color:white;font-size:12px}.photo-hero>.botanical{z-index:1;width:390px;bottom:-105px;left:-95px;opacity:.5;filter:hue-rotate(95deg)}.scroll-cue{display:grid;place-items:center;margin:25px auto 0;border:1px solid #ffffff70;width:35px;height:45px;border-radius:20px;font-size:20px}.floral .invite-section{padding:65px 28px;position:relative;overflow:hidden;background:#f9fbfe}.floral .invite-section:nth-child(even){background:linear-gradient(140deg,#f8fbfe,#e6eff9)}.floral .invite-section h2{font-size:33px;letter-spacing:-1px}.floral h2 em{color:#7b96b5}.floral .intro:before,.floral .gift-section:before{content:'';position:absolute;width:230px;height:290px;background:url('assets/flower.svg') center/contain no-repeat;filter:hue-rotate(95deg);opacity:.12;right:-120px;top:15px;pointer-events:none}.floral .couple{flex-direction:column;gap:22px}.floral .couple h3{font-size:29px}.floral blockquote{font-size:20px;margin-top:35px}.floral .events{grid-template-columns:1fr;gap:25px}.floral .events article{border-color:#b7c9df;border-radius:110px 110px 12px 12px;background:#ffffff75;padding:40px 20px}.floral .button{border-radius:25px;background:#354e70;border-color:#354e70}.floral .button.outline{background:transparent}.floral .story{grid-template-columns:1fr;gap:28px;margin-top:35px}.floral .story article{border-color:#c3d2e3}.floral .gallery{grid-template-columns:1fr 1fr;gap:12px}.floral .gallery-button:first-child{grid-column:1/-1}.floral .gallery img{border-radius:120px 120px 6px 6px}.floral .bank-card{background:white;border-color:#c4d3e3;box-shadow:0 12px 35px #314b7010}.floral input,.floral textarea,.floral select{background:white;color:#354e70;border-color:#c4d3e3}.floral .countdown{gap:10px}.floral .countdown div{background:#fff8;border:1px solid #c6d5e6;border-radius:8px;padding:12px 0;width:80px}.floral .countdown strong{font-size:34px}.floral .closing>.botanical{filter:hue-rotate(95deg);opacity:.17}.preview.floral{background:#dde8f2}.floral .mini-paper{color:#354e70;background:#f9fbfe}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}@media(max-width:600px){.photo-hero{min-height:560px}.floral .invite-cover h1{font-size:56px}.floral .invite-section{padding:60px 24px}}
.desktop-panel{display:none}@media(min-width:1000px){.invitation:not(.atlas).floral{margin:0 0 0 auto;max-width:none;width:520px;box-shadow:-15px 0 60px #182c4620}.desktop-panel{display:block;position:fixed;inset:0 520px 0 0;background:#243b58;overflow:hidden;color:white;text-align:center}.desktop-photo{width:100%;height:100%;object-fit:cover;object-position:center 30%}.desktop-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#1a314830,#18334c75 45%,#162f50e8)}.desktop-caption{position:absolute;z-index:2;left:40px;right:40px;bottom:15vh}.desktop-caption h2{font:italic clamp(48px,5vw,86px)/1.2 var(--serif);letter-spacing:-2px;margin:18px 0}.desktop-caption h2 em{color:#e5c68b}.desktop-caption p{color:#e7edf6;font-size:13px}.desktop-rule{width:55px;height:1px;background:#d9bb82;margin:28px auto}.desktop-caption>span:not(.eyebrow){font-size:12px}.desktop-caption strong{display:block;margin-top:10px;font:24px var(--serif);overflow-wrap:anywhere}.desktop-panel>.botanical{width:450px;left:-110px;bottom:-70px;opacity:.18;filter:hue-rotate(95deg);z-index:1}}@media(min-width:1000px) and (max-width:1200px){.invitation:not(.atlas).floral{width:460px}.desktop-panel{right:460px}.desktop-caption{left:24px;right:24px}.desktop-caption h2{font-size:54px}}
.floral .invite-cover{position:fixed;inset:49px 0 0;min-height:0;z-index:30;transition:transform 1.05s cubic-bezier(.65,0,.25,1);will-change:transform}.floral .invite-cover.cover-opening{transform:translateY(calc(-100% - 50px))}.floral .demo-bar{position:relative;z-index:31}.floral .invite-cover .button:disabled{cursor:default}.floral .invite-cover{max-width:520px;margin:auto}@media(min-width:1000px){.floral .invite-cover{left:auto;width:520px;margin:0}}@media(min-width:1000px) and (max-width:1200px){.floral .invite-cover{width:460px}}@media(prefers-reduced-motion:reduce){.floral .invite-cover{transition:none}}
.reveal{opacity:0;transform:translateY(38px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:translateY(0)}.gallery-button.reveal{transition:opacity 1.2s ease,transform 1.2s cubic-bezier(.22,1,.36,1)}.gallery-button.reveal.visible:hover{transform:translateY(-5px)}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
/* Gerakan scroll lebih perlahan sesuai review */
.reveal{transition-duration:1.6s,1.6s}.gallery-button.reveal{transition-duration:1.7s,1.7s}
/* Acuan AC Blue Digimo: fadeInUp 2 detik dengan easing ease */
.reveal,.gallery-button.reveal{transition-duration:2s,2s;transition-timing-function:ease,ease}

/* Customer workspace and owner studio */
.portal-nav{display:flex;justify-content:space-between;align-items:center;padding:24px 5%;border-bottom:1px solid #deddd4;background:#faf9f5;gap:20px}.portal-nav>a:last-child{font-size:13px}.portal-wrap{max-width:960px;margin:auto;padding:48px 24px 90px}.portal-wrap h1{font-family:Georgia,serif;font-size:clamp(36px,6vw,60px);font-weight:400;line-height:1.1;margin:16px 0}.portal-heading p,.media-help{color:#68726d;font-size:14px;line-height:1.7}.portal-notice{background:#edf2ef;border:1px solid #d2ded6;border-radius:12px;padding:18px 22px;font-size:13px;line-height:1.7;margin-bottom:32px}.portal-notice input{width:100%;padding:12px;border:1px solid #ccc;background:white}.draft-summary{display:flex;flex-wrap:wrap;gap:14px 26px;padding:22px 0;font-size:13px;border-bottom:1px solid #ddd}.draft-summary #last-save{color:#77817b}.data-step{border-bottom:1px solid #ddd;padding:8px 0}.data-step summary{display:flex;justify-content:space-between;cursor:pointer;padding:22px 0;font-size:15px;font-weight:600;list-style:none}.data-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:10px 0 30px}.data-fields label{display:grid;gap:8px;font-size:13px}.data-fields input,.data-fields textarea,.data-fields select,.uploaded-photo select{width:100%;background:#fff;border:1px solid #d7dcd6;border-radius:8px;padding:12px;color:#25382e;font:inherit;min-height:44px}.data-fields textarea{min-height:120px;resize:vertical}.data-fields label span{color:#9a5048}.upload-section{padding:40px 0}.upload-section h2{font-family:Georgia,serif;font-size:32px;font-weight:400}.upload-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.upload-box{border:1px dashed #8b9c92;border-radius:12px;background:#f1f4ee;padding:22px;display:flex;flex-direction:column;gap:14px;cursor:pointer;font-size:16px}.upload-box input{max-width:100%;font-size:12px}.upload-box small{color:#6c786f;font-size:12px}.photo-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.uploaded-photo{border:1px solid #dedfd6;border-radius:12px;overflow:hidden;background:#fff}.uploaded-photo img{width:100%;height:220px;object-fit:cover}.uploaded-photo>div{padding:18px;display:grid;gap:12px}.uploaded-photo strong{font-size:13px;overflow-wrap:anywhere}.uploaded-photo small{font-size:12px;color:#718076}.uploaded-photo label{font-size:12px;display:grid;gap:6px}.uploaded-photo input[type=range]{width:100%;accent-color:#40694b}.photo-tools{display:flex;gap:10px}.photo-tools button{border:1px solid #bbcabb;background:#f0f4ee;border-radius:8px;min-width:44px;min-height:40px;cursor:pointer}.empty-media{padding:30px;border-radius:12px;background:#f0f1ea;font-size:14px;grid-column:1/-1}.uploaded-video{margin-top:20px;padding:20px;border:1px solid #ddd;border-radius:12px;display:grid;gap:12px}.uploaded-video video,.video-section video{display:block;width:100%;max-height:480px;background:#18251c;border-radius:10px}.uploaded-video small{color:#6b746d}.portal-actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:25px;border-top:1px solid #ddd}.portal-error{background:#f8e6e3;color:#833c34;padding:15px;border-radius:8px}.portal-success{background:#e5efe5;color:#305834;padding:15px;border-radius:8px}#portal-message:empty,#admin-message:empty{display:none}.preview-return{position:fixed;bottom:18px;left:18px;z-index:100;background:#fff;border:1px solid #d4d4c7;padding:12px 18px;border-radius:30px;box-shadow:0 4px 16px #0002;font-size:13px}.photo-placeholder{padding:44px 20px;grid-column:1/-1;background:#e7ecec;color:#526b75;border:1px dashed #a6b4b8;line-height:1.7}.photo-placeholder small{font-size:12px}.order-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px;border-bottom:1px solid #ddd;padding:22px 0}.order-row>div{flex:1;min-width:160px}.order-row small{display:block;font-size:12px;color:#708075;padding-top:6px}.order-row p{font-size:14px}.confirm-payment{grid-column:1/-1;display:flex!important;align-items:center}.confirm-payment input{width:20px;min-height:20px}#owner-login[hidden],#owner-content[hidden]{display:none}.portal-wrap button{cursor:pointer}.portal-wrap .text-link{background:transparent;border:0}.portal-wrap :focus-visible{outline:3px solid #879d8e;outline-offset:3px}
@media(max-width:600px){.portal-wrap{padding:30px 20px 70px}.portal-nav{padding:20px}.data-fields,.upload-controls,.photo-list{grid-template-columns:1fr}.uploaded-photo{display:grid;grid-template-columns:110px 1fr}.uploaded-photo img{height:100%;min-height:150px}.uploaded-photo>div{padding:14px}.portal-actions{flex-direction:column}.portal-actions .button{text-align:center;justify-content:center}.portal-notice{padding:16px}.draft-summary{gap:12px}.order-row{gap:12px}.preview-return{bottom:12px;left:12px;font-size:12px}}

/* Account navigation and dashboard */
[hidden]{display:none!important}.workspace-menu{display:flex;gap:8px;flex-wrap:wrap;max-width:912px;margin:24px auto;padding:0 20px}.workspace-menu a{padding:10px 14px;border-radius:12px;text-decoration:none;border:1px solid #d8dfda;color:#264c3d;font-size:14px}.workspace-menu a[aria-current=page]{background:#264c3d;color:white;border-color:#264c3d}.workspace-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:24px 0}.workspace-cards article,.workspace-cards a{padding:24px;border:1px solid #d8dfda;border-radius:16px;background:#fff;color:#264c3d;text-decoration:none}.workspace-cards strong{font-size:26px;line-height:1.4}.workspace-cards p{margin:8px 0 0}.workspace-cards a:hover{background:#edf2ef}.workspace-summary{margin:20px 0;padding:20px;border-radius:14px;background:#edf2ef}

.password-field{display:flex;align-items:center;position:relative;width:100%}.password-field input{padding-right:108px;width:100%;min-width:0}.password-toggle{position:absolute;right:12px;background:none;border:0;padding:10px 0;color:#264c3d;font:600 12px var(--sans);cursor:pointer}.password-toggle:focus-visible{outline:2px solid #264c3d;outline-offset:3px}.couple-editor{grid-column:1/-1}.couple-tabs{display:flex;gap:10px;margin-bottom:24px}.couple-tabs button{flex:1;border:1px solid #d5dfd9;border-radius:12px;padding:14px;background:#fff;color:#264c3d;font:600 14px var(--sans);cursor:pointer}.couple-tabs button[aria-selected=true]{background:#264c3d;color:white}.couple-editor h3{font:32px var(--serif);margin:0 0 10px}.couple-editor section>p{font-size:14px}.person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.family-preview{padding:20px;background:#edf2ef;border-radius:14px;border-left:3px solid #8fa895}.family-preview small{font-size:10px;letter-spacing:2px}.family-preview p{margin:10px 0 0;color:#264c3d}.order-design{display:block;font-size:12px;margin-top:10px}.order-design select{padding:8px;border:1px solid #d5dfd9;border-radius:8px;background:white;color:#264c3d}@media(max-width:600px){.person-grid{grid-template-columns:1fr}.couple-tabs button{font-size:12px;padding:12px 8px}}
/* A single, aligned column for owner sign-in and email verification. */
.portal-wrap:has(#owner-login:not([hidden])){max-width:480px;margin:clamp(24px,7vh,72px) auto;padding:36px 32px;background:#fffdf8;border:1px solid #e2e5dc;border-radius:20px;box-shadow:0 16px 48px #264c3d08}
.portal-wrap:has(#owner-login:not([hidden]))>h1{font-size:40px;margin:12px 0}
.portal-wrap:has(#owner-login:not([hidden]))>p{font-size:14px;line-height:1.7}
#owner-login{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding:0;margin:28px 0 0}
#owner-login h2{font-family:var(--sans);font-size:17px;letter-spacing:0;font-weight:600;margin:0}
#owner-login label{gap:8px;font-size:13px;font-weight:500}
#owner-login input{min-width:0;min-height:50px;padding:13px 15px;border-radius:10px;background:#fff;font-weight:400}
#owner-login input:focus{border-color:#5e806c;outline:3px solid #264c3d12;outline-offset:1px}
#owner-login>.button{width:100%;min-height:50px;margin:4px 0 0;border-radius:10px;font-size:14px;font-weight:600}
#owner-login>p,#owner-login>small{font-size:12px;line-height:1.7}
#owner-login>.text-link{justify-self:center}
.portal-wrap:has(#owner-login:not([hidden])) #admin-message:not(:empty){margin-top:20px}
@media(max-width:540px){.portal-wrap:has(#owner-login:not([hidden])){margin:28px 16px;padding:28px 24px}.portal-wrap:has(#owner-login:not([hidden]))>h1{font-size:36px}}
.couple-guide{padding:18px 22px;border-radius:12px;background:#edf2ef;margin-bottom:24px}.couple-guide strong{font-size:14px}.couple-guide p{font-size:13px;margin-top:4px}.couple-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.person-card{background:#fffdf8;border:1px solid #dfe4db;border-radius:16px;padding:24px;min-width:0;transition:border-color .2s,box-shadow .2s}.person-card:focus-within{border-color:#91aa99;box-shadow:0 8px 28px #264c3d09}.person-card>header{display:flex;gap:14px;align-items:center;margin-bottom:24px}.person-number{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#edf2ef;font-size:13px;color:#54705e;flex-shrink:0}.couple-editor .person-card h3{font:500 20px var(--sans);margin:0}.person-card header small{font-size:11px;color:#7a867c}.person-inputs{display:grid;gap:18px}.person-inputs label{display:grid;gap:8px}.person-inputs label>span{display:contents}.person-inputs label small{font-size:11px;color:#7a867c;font-weight:400;line-height:1.5}.person-inputs textarea{min-height:100px;resize:vertical;line-height:1.6}.person-preview{border-top:1px solid #e2e7df;margin-top:24px;padding-top:20px;overflow-wrap:anywhere}.person-preview>small{font-size:9px;letter-spacing:1.5px;color:#8b968c}.person-preview h4{font:24px var(--serif);margin:12px 0 8px;color:#264c3d}.person-preview p{font-size:12px;line-height:1.7;white-space:pre-line}.couple-save-note{font-size:12px;margin-top:20px;color:#788478}@media(max-width:700px){.couple-cards{grid-template-columns:1fr;gap:18px}.person-card{padding:20px}.couple-guide{padding:16px}}

.order-row{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:center;padding:26px 0}.order-row>div{min-width:0}.order-row .order-actions{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:10px}.order-actions>.button,.order-actions>.text-link{min-height:42px;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:10px 14px;border-radius:8px;font-size:12px;white-space:normal;text-align:center}.order-actions>.text-link{border:1px solid #d8e0d8;background:#fffdf8}.order-actions>.text-link:hover{background:#edf2ef}.order-design{max-width:360px}.order-design select{width:100%;min-height:42px;margin-top:6px}.order-row small{overflow-wrap:anywhere}.order-row+.order-row{margin-top:0}@media(max-width:760px){.order-row{grid-template-columns:minmax(0,1fr);gap:18px}.order-row .order-actions{justify-content:flex-start}.order-design{max-width:none}}
.order-actions>.danger{color:#a0443d;border-color:#e6c8c3;background:#fff8f6}.delete-dialog{max-width:480px;width:calc(100% - 32px);padding:30px;border:1px solid #e1e5dc;border-radius:18px;color:#264c3d;box-shadow:0 24px 80px #0003}.delete-dialog h2{font-size:32px;margin:14px 0}.delete-dialog p{font-size:13px;line-height:1.8;margin:12px 0}.delete-dialog label{display:grid;gap:8px;font-size:12px;margin:20px 0}.delete-dialog input{width:100%;padding:12px;border:1px solid #d7dcd6;border-radius:8px}.delete-actions{display:flex;gap:12px;justify-content:flex-end}.delete-dialog .danger{background:#a0443d;border-color:#a0443d}.delete-dialog button:disabled{opacity:.4;cursor:not-allowed}.delete-dialog [data-error]{color:#a0443d}.delete-dialog::backdrop{background:#182d24a6}
.customer-steps{margin:28px 0 32px;padding:22px 18px;background:#fffdf8;border:1px solid #e1e6dc;border-radius:16px}.customer-steps ol{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:10px}.customer-steps li{min-width:0}.customer-steps a{display:flex;align-items:center;gap:10px;color:#8a938b;min-height:56px}.step-circle{flex:0 0 36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#f0f2ed;color:#7a857c;border:1px solid #e5e9e0;font-size:14px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s}.step-copy{min-width:0}.step-copy strong{display:block;font-size:12px;line-height:1.5;font-weight:600}.step-copy small{display:block;font-size:10px;line-height:1.5;margin-top:3px;color:#90998e}.step-chevron{margin-left:auto;color:#b3bcb1;font-size:20px}.customer-steps li:last-child .step-chevron{display:none}.customer-steps .active .step-circle{background:#264c3d;color:white;border-color:#264c3d;box-shadow:0 0 0 5px #264c3d0c}.customer-steps .active strong{color:#264c3d}.customer-steps .passed .step-circle{background:#e5eee6;border-color:#cbdacb;color:#46644b}.customer-steps a:hover .step-circle{transform:translateY(-2px);box-shadow:0 4px 12px #264c3d16}.customer-steps~#data-form .data-step{border:0;padding:0}.customer-steps~#data-form .data-fields{padding-top:0}.customer-steps~.upload-section{padding-top:0}@media(max-width:950px){.customer-steps ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}.customer-steps li:nth-child(3) .step-chevron{display:none}}@media(max-width:540px){.customer-steps{padding:20px 14px;margin:24px 0}.customer-steps ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 8px}.customer-steps a{flex-direction:column;gap:9px;text-align:center}.step-copy strong{font-size:11px}.step-copy small{font-size:9px}.step-chevron{display:none}}
.workspace-menu a.step-locked,.customer-steps a.step-locked,.workspace-cards a.step-locked{background:#e2e5df;color:#929a91;opacity:.65;cursor:not-allowed;pointer-events:none;box-shadow:none}.customer-steps a.step-locked .step-circle{background:#d6dcd2;color:#929a91}.portal-actions button:disabled{opacity:.4;cursor:not-allowed;transform:none}.workspace-menu a.step-locked:after{content:' 🔒';font-size:10px}
.invite-cover>.cover-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center!important}.invite-cover>.eyebrow,.invite-cover>h1,.invite-cover>p{position:relative;z-index:2}.invitation:not(.atlas).floral .invite-cover:after,.invitation:not(.atlas).floral .desktop-panel:after{background:linear-gradient(180deg,#17364c22,#17364c55)}.desktop-photo{object-position:center!important}.invitation:not(.atlas):not(.floral) .photo-hero{position:relative;min-height:75svh;display:grid;place-items:center;text-align:center;overflow:hidden;background:#e6dfd2}.invitation:not(.atlas):not(.floral) .photo-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.invitation:not(.atlas):not(.floral) .photo-hero>div{position:relative;z-index:1;background:#fffdf8dd;padding:24px;border-radius:12px}.invitation:not(.atlas):not(.floral) .photo-hero h2{font-size:40px}
.invitation:not(.atlas).floral .desktop-caption,.invitation:not(.atlas).floral .desktop-caption h2,.invitation:not(.atlas).floral .desktop-caption p,.invitation:not(.atlas).floral .desktop-caption strong,.invitation:not(.atlas).floral .invite-cover h1,.invitation:not(.atlas).floral .invite-cover>.eyebrow,.invitation:not(.atlas).floral .invite-cover>p,.invitation:not(.atlas).floral .invite-cover .guest-label{color:#25465d;text-shadow:none}.invitation:not(.atlas).floral .desktop-caption h2 em,.invitation:not(.atlas).floral .invite-cover h1 em{color:#95733c}

/* Dedicated Widyadari media studio: shared by customer and owner. */
.widy-editor-heading{padding:28px;border-radius:22px;background:#18231e;color:#f7f2e5;margin-bottom:28px}.widy-editor-heading h2,.widy-editor-heading p{color:inherit}.widy-editor-heading .button{border-color:#c7b785;color:#fff}.widy-slot-group{margin:36px 0}.widy-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.widy-slot{display:grid;grid-template-columns:130px minmax(0,1fr);border:1px solid #dce2d5;border-radius:20px;background:#fff;overflow:hidden;min-width:0}.widy-slot-preview{background:#eceee7;min-height:190px;display:grid;place-items:center;overflow:hidden}.widy-slot-preview img,.widy-slot-preview video{width:100%;height:100%;max-height:260px;object-fit:contain}.widy-slot-preview audio{width:125px}.widy-slot-preview span{text-align:center;font-size:13px;color:#42584b}.widy-slot-info{padding:20px;min-width:0}.widy-slot-info strong,.widy-slot-info small{display:block}.widy-slot-info small{font-size:12px;color:#657365;margin:8px 0}.widy-slot-info p{font-size:12px;overflow-wrap:anywhere}.widy-slot-info .button{display:inline-flex;padding:10px 14px;min-height:42px;font-size:13px;cursor:pointer}.widy-slot-info input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.widy-slot-info .text-link{display:block;margin-top:12px;font-size:12px}.widy-slot-info button:disabled{opacity:.45;cursor:default}.widy-extra{grid-column:1/-1;border-top:1px solid #dce2d5;padding-top:24px;display:grid;gap:18px}.widy-extra textarea{min-height:150px}.widy-slot:focus-within{outline:2px solid #a99758;outline-offset:3px}@media(max-width:750px){.widy-slot-grid{grid-template-columns:1fr}.widy-slot{grid-template-columns:110px minmax(0,1fr)}.widy-slot-info{padding:16px}.widy-editor-heading{padding:22px}.widy-editor-heading h2{font-size:30px}}

.portal-wrap .widy-editor-heading p{color:#e8e4d5}.portal-wrap .widy-editor-heading .eyebrow{color:#d6c386}.widy-editor-heading .button.outline{background:transparent;color:#f7f2e5}

#app .portal-wrap .widy-editor-heading p{color:#e8e4d5!important}#app .portal-wrap .widy-editor-heading .eyebrow{color:#d6c386!important}

.widy-gallery-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px;margin:20px 0}
.widy-gallery-thumbnails article{border:1px solid #dce2d5;border-radius:14px;padding:10px;background:#fff;min-width:0}
.widy-gallery-thumbnails img{width:100%;height:150px;object-fit:contain;background:#eceee7;border-radius:8px}
.widy-gallery-thumbnails p{font-size:12px;overflow-wrap:anywhere;margin:8px 0}
.widy-gallery-editor input[type=file]{position:absolute;width:1px;height:1px;opacity:0}
.widy-music-options{display:flex;gap:22px;flex-wrap:wrap;margin:20px 0}.widy-music-options label{display:flex;align-items:center;gap:8px}.widy-music-options input{width:auto;min-height:0}
.widy-youtube-music{max-width:660px;padding:20px;border:1px solid #dce2d5;background:#fff;border-radius:16px}.widy-youtube-music label{display:grid;gap:8px}.widy-youtube-music .button{margin-top:16px}
.widy-fixed-note{padding:16px;margin-top:18px;border-radius:12px;background:#edf1e7;font-size:13px}
.widy-slot-preview audio{width:100%;max-width:130px}.widy-slot-preview video{aspect-ratio:9/16;object-fit:contain}.widy-slot-group [hidden]{display:none!important}

/* Comfortable spacing in the Widyadari media editor. */
.widy-slot-group{padding:26px;margin:32px 0;border:1px solid #e0e5dc;border-radius:20px;background:#fff}
.widy-slot-group>h3{font-size:20px;line-height:1.4;margin:0 0 12px}.widy-slot-group>p{line-height:1.75;margin:0 0 22px}.widy-slot-group .widy-slot-grid{margin-top:22px}
.widy-slot-info{padding:24px}.widy-slot-info strong{line-height:1.5;margin-bottom:12px}.widy-slot-info small{line-height:1.7;margin:0 0 14px}.widy-slot-info p{margin:0 0 20px}.widy-slot-info .text-link{margin-top:16px}
.widy-gallery-editor>label{margin:0 0 10px}.widy-gallery-thumbnails{gap:18px;margin:24px 0}.widy-gallery-editor>p:last-child{margin:20px 0 0}
.widy-slot-group:has([data-slot="backgroundVideo"]) .widy-slot-grid{grid-template-columns:minmax(0,720px)}
@media(max-width:750px){.widy-slot-group{padding:20px 16px;margin:24px 0}.widy-slot-info{padding:20px 16px}.widy-slot-group>h3{font-size:18px}}
.in-frame .preview-return{display:none!important}
/* Tombol kembali preview dipindah ke atas tengah agar tidak menutupi tombol musik di kiri bawah. */
.preview-return{bottom:auto!important;top:14px!important;left:50%!important;transform:translateX(-50%);white-space:nowrap}
/* Logo mark Selaras Hati di semua header */
.brand-mark,.v2-logo .brand-mark{display:inline-block;width:26px;height:26px;vertical-align:-4px;margin-right:2px}
.v2-logo .brand-mark{width:34px;height:34px;vertical-align:-6px}
#workspace-sidebar .brand .brand-mark{content:url("/assets/logo-mark-light.svg?v=widy-elegant-10")}
.v2-footer .brand-mark{width:22px;height:22px}
