@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ivory:#fcf9f2;--cream:#f3eadb;--cream2:#eadcc5;--gold:#bd8731;--gold2:#d2a252;--ink:#201e1b;--muted:#756e64;--line:#dfd2bd;--white:#fffdf9;--dark:#25221e;--sage:#e7ede3;--rose:#efe8e4}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Manrope,sans-serif;overflow-x:hidden}a{text-decoration:none;color:inherit}.page-glow{position:fixed;pointer-events:none;border-radius:50%;filter:blur(60px);opacity:.25;z-index:-1}.glow-one{width:430px;height:430px;background:#e8d2a8;right:-160px;top:180px}.glow-two{width:320px;height:320px;background:#f2e3ca;left:-160px;top:900px}
.site-header{height:96px;display:flex;align-items:center;gap:35px;padding:8px 6vw;background:rgba(252,249,242,.88);border-bottom:1px solid rgba(189,135,49,.18);position:sticky;top:0;z-index:50;backdrop-filter:blur(16px);box-shadow:0 8px 30px rgba(73,58,35,.03)}.brand img{width:155px;height:78px;object-fit:contain}.brand{margin-right:auto}nav{display:flex;gap:34px;font-size:13px}nav a{position:relative;padding:8px 0}nav a:after{content:'';position:absolute;left:0;bottom:2px;width:0;height:1px;background:var(--gold);transition:.25s}nav a:hover{color:var(--gold)}nav a:hover:after{width:100%}.actions{margin-left:auto;display:flex;align-items:center;gap:22px}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;padding:16px 24px;text-transform:uppercase;letter-spacing:.055em;font-size:11px;font-weight:700;border:1px solid var(--ink);transition:.25s;box-shadow:0 10px 25px rgba(32,30,27,.10)}.btn:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-2px)}.btn.small{padding:14px 20px}.btn.full{width:100%}.outline{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border:1px solid var(--gold);color:#9b691d;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.04em;background:#fff8;transition:.25s}.outline:hover{background:#fff;transform:translateY(-2px)}
.hero{min-height:735px;display:grid;grid-template-columns:1fr 1.06fr;align-items:center;gap:4vw;padding:58px 7vw 50px;overflow:hidden;position:relative;background:linear-gradient(100deg,rgba(255,253,249,.2),rgba(248,241,230,.5))}.hero:after{content:'';position:absolute;right:-5%;top:-10%;width:58%;height:110%;background:radial-gradient(circle at 50% 45%,rgba(226,207,176,.60) 0,rgba(239,227,207,.32) 45%,transparent 70%);z-index:-1}.hero-floral{position:absolute;color:#c89a51;opacity:.18;font-size:175px;font-family:serif;z-index:0}.floral-left{left:-38px;bottom:6px;transform:rotate(-28deg)}.floral-right{right:-18px;top:120px;transform:rotate(15deg)}.copy{max-width:650px;position:relative;z-index:2}.eyebrow{display:block;color:var(--gold);font-size:10px;letter-spacing:.25em;font-weight:700;margin-bottom:23px}.hero h1,.intro h2,.how h2,.feature h2,.pricing h2,.cta h2,.social h2,.faq h2{font-family:'Cormorant Garamond',serif;font-weight:500}.hero h1{font-size:72px;line-height:.92;margin:0 0 28px;letter-spacing:-.02em}.hero h1 em{color:var(--gold);font-weight:500}.copy>p{font-size:16px;line-height:1.85;color:var(--muted);max-width:595px}.hero-actions{display:flex;gap:16px;margin:31px 0 34px}.proof{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.proof .heart{color:var(--gold);font-size:17px}.proof b{color:var(--ink);margin-right:8px}.proof strong{color:var(--gold);letter-spacing:2px}.proof small{font-size:10px}.mini-avatars{display:flex;margin-left:8px;margin-right:4px}.mini-avatars i{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#eadfcf;border:2px solid var(--ivory);font:600 12px 'Cormorant Garamond';margin-left:-7px;color:#705a3e}
.visual{height:620px;position:relative;z-index:2}.spark{position:absolute;color:var(--gold2);z-index:8;animation:float 14s ease-in-out infinite}.s1{left:33%;top:12%;font-size:19px}.s2{right:5%;top:10%;font-size:15px;animation-delay:1s}.s3{right:17%;bottom:5%;font-size:22px;animation-delay:2s}@keyframes float{50%{transform:translateY(-10px) rotate(8deg)}}.arch{position:absolute;right:4%;top:24px;width:400px;height:560px;background:linear-gradient(150deg,#eadfc9,#dfceb1);border-radius:205px 205px 18px 18px;padding:34px 30px 25px;box-shadow:0 28px 70px rgba(104,81,49,.18)}.arch:before{content:'';position:absolute;inset:16px;border:1px solid rgba(255,255,255,.55);border-radius:190px 190px 12px 12px}.invite{height:100%;background:linear-gradient(#fffdf9f2,#fffdf9f2),radial-gradient(circle at 50% 100%,#f2e5cf 0,transparent 46%);border:1px solid #d7b77e;padding:32px 28px 30px;text-align:center;position:relative;box-shadow:0 12px 35px rgba(111,91,61,.10)}.invite:after,.invite:before{content:'❦';position:absolute;color:var(--gold);font-size:42px;opacity:.7}.invite:after{bottom:18px;left:20px;transform:rotate(8deg)}.invite:before{top:17px;right:17px;transform:rotate(190deg)}.monogram{font:500 25px 'Cormorant Garamond';color:#89704b;border:1px solid #d9bf92;width:65px;height:65px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px}.monogram span{color:var(--gold);position:absolute}.invite small{font-size:7px;letter-spacing:.13em}.invite h2{font:500 47px/.84 'Cormorant Garamond',serif;margin:30px 0 24px}.invite i{color:var(--gold)}.invite p{font-size:7.5px;letter-spacing:.11em;line-height:1.75}.date{border-block:1px solid #d9bd8c;margin:16px 0;padding:11px;display:flex;justify-content:center;align-items:center;gap:18px;font:600 18px 'Cormorant Garamond',serif}.date span{font:700 7px Manrope}.invite button{margin-top:11px;padding:9px 25px;background:transparent;border:1px solid var(--gold);font-size:7px;letter-spacing:.08em}.phone{position:absolute;left:1%;bottom:2px;width:218px;height:432px;border:8px solid #211f1d;border-radius:42px;background:#111;box-shadow:0 28px 58px rgba(74,59,41,.25);padding:8px;transform:rotate(-1.5deg)}.phone-notch{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:82px;height:18px;border-radius:12px;background:#171614;z-index:5}.screen{height:100%;border-radius:28px;background:linear-gradient(rgba(255,250,242,.90),rgba(255,250,242,.94)),radial-gradient(circle at 20% 20%,#dec99d,transparent 36%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;position:relative}.screen:before,.screen:after{content:'❦';position:absolute;color:#c69a53;font-size:54px;opacity:.45}.screen:before{left:-5px;top:46px;transform:rotate(-28deg)}.screen:after{right:-9px;bottom:40px;transform:rotate(145deg)}.screen small{color:var(--gold);font-size:7px;letter-spacing:.14em;margin-bottom:32px}.mobile-monogram{font:500 52px 'Cormorant Garamond';z-index:2}.mobile-monogram span{color:var(--gold);font-style:italic;margin:0 3px}.mobile-date{font-size:8px;letter-spacing:.18em;margin-top:27px}.screen em{font:500 18px 'Cormorant Garamond';color:#a27632;margin-top:52px}.scroll-mark{position:absolute;bottom:15px;font-size:22px}.wax-seal{position:absolute;right:1%;bottom:20px;width:74px;height:74px;border-radius:50%;background:linear-gradient(145deg,#c69749,#a86f22);color:#fff;border:4px double #e1b96f;display:grid;place-items:center;font:600 26px 'Cormorant Garamond';box-shadow:0 15px 30px rgba(114,76,27,.2);transform:rotate(7deg)}.wax-seal span{font-size:9px;position:absolute;bottom:13px}
.benefit-bar{width:min(1460px,92%);margin:-2px auto 0;background:rgba(255,253,249,.92);border:1px solid #e6d9c5;box-shadow:0 22px 60px rgba(83,64,38,.09);border-radius:18px;display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:5}.benefit-bar>div{padding:28px 32px;display:grid;grid-template-columns:42px 1fr;column-gap:12px;align-items:center}.benefit-bar>div+div{border-left:1px solid #eadfce}.benefit-bar span{grid-row:1/3;width:40px;height:40px;border:1px solid #d6ae6c;border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:18px}.benefit-bar b{font:600 18px 'Cormorant Garamond'}.benefit-bar small{color:var(--muted);font-size:10px;line-height:1.5}
.intro,.how,.pricing,.cta{padding:108px 7vw;text-align:center}.intro>p{color:var(--muted);max-width:700px;margin:0 auto 50px;line-height:1.7}.intro h2,.how h2,.pricing h2,.cta h2,.social h2,.faq h2{font-size:52px;margin:0 0 15px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;max-width:1260px;margin:auto}.template-card{text-align:left;background:#fff;padding:11px 11px 26px;border:1px solid #e6dbc9;transition:.35s;position:relative}.template-card:hover{transform:translateY(-9px);box-shadow:0 28px 60px rgba(92,68,35,.13)}.featured-template:before{content:'MOST LOVED';position:absolute;top:24px;right:24px;background:#27241f;color:#fff;font-size:8px;letter-spacing:.12em;padding:8px 11px;z-index:5}.sample{height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:'Cormorant Garamond';position:relative;overflow:hidden;border:1px solid rgba(180,145,92,.22)}.sample small{font:700 7px Manrope;letter-spacing:.16em;margin-bottom:52px}.sample strong{font:500 39px/1 'Cormorant Garamond';max-width:80%;text-align:center}.sample strong i{color:var(--gold);font-weight:500}.sample>span{font:600 10px Manrope;letter-spacing:.17em;margin-top:55px;color:#8f806b}.sample button{position:absolute;bottom:22px;background:rgba(255,253,249,.78);border:1px solid #b8873d;padding:8px 13px;font-size:7px;letter-spacing:.1em;opacity:0;transform:translateY(10px);transition:.25s}.template-card:hover .sample button{opacity:1;transform:translateY(0)}.classic{background:linear-gradient(#f6ecdcf2,#f6ecdcf2),radial-gradient(circle,#fff 0,transparent 70%)}.botanical{background:linear-gradient(#e8eee4e8,#e8eee4e8),radial-gradient(circle at 15% 85%,#bdcdb3,transparent 40%)}.modern{background:linear-gradient(135deg,#efeae6,#e5ded9)}.corner,.leaf{position:absolute;color:#bf9450;opacity:.55;font-size:78px}.c1{left:12px;top:9px;transform:rotate(-20deg)}.c2{right:12px;bottom:8px;transform:rotate(160deg)}.branch-one{left:-3px;bottom:14px;transform:rotate(-40deg);color:#778c6d}.branch-two{right:-6px;top:12px;transform:rotate(140deg);color:#778c6d}.card-copy{padding:15px 14px 0}.card-copy>span{font-size:8px;color:var(--gold);letter-spacing:.18em}.cards h3{font:600 25px 'Cormorant Garamond';margin:7px 0 5px}.cards p{color:var(--muted);font-size:12px;margin:0;line-height:1.6}.text-link{display:inline-block;margin-top:38px;color:#966722;border-bottom:1px solid #cfaa6e;padding-bottom:4px;font-size:12px}
.how{background:#fffdf9;position:relative}.how:before{content:'';position:absolute;left:10%;right:10%;top:54%;height:1px;background:linear-gradient(90deg,transparent,#e1d4c1,transparent)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:58px;position:relative}.steps>div{background:#fffdf9;border:1px solid #ece2d3;padding:35px 20px 30px;min-height:220px;transition:.3s;position:relative}.steps>div:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(85,66,42,.08)}.steps b{font:500 27px 'Cormorant Garamond';color:var(--gold);position:absolute;top:18px;left:19px}.step-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid #d9bd8c;margin:8px auto 15px;color:var(--gold);font-size:20px;background:#fff}.steps h3{font:600 23px 'Cormorant Garamond';margin:8px 0}.steps p{color:var(--muted);font-size:12px;line-height:1.6}
.feature{padding:110px 9vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;background:linear-gradient(120deg,#fcf9f2,#f6efe4)}.feature h2{font-size:54px;line-height:1.04;margin:0 0 20px}.feature-copy>p{color:var(--muted);line-height:1.8;font-size:14px;max-width:610px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}.feature-grid>div{display:flex;align-items:center;gap:11px;border-bottom:1px solid #e4d6c2;padding:14px 4px}.feature-grid span{color:var(--gold);font-size:17px;width:25px}.feature-grid b{font-size:12px}.dashboard-wrap{position:relative}.dashboard{background:linear-gradient(150deg,#24211e,#2c2924);color:#fff;padding:38px;border:1px solid #3d3933;box-shadow:0 34px 80px rgba(56,45,32,.26);border-radius:2px}.dash-top{display:flex;justify-content:space-between;align-items:center}.dash-top>span{color:#d8a34d;font:600 18px 'Cormorant Garamond'}.dash-top small{color:#8ec697;font-size:8px;letter-spacing:.14em}.dashboard h3{font:500 35px 'Cormorant Garamond';margin:30px 0 4px}.dashboard>p{color:#bfb8ad;font-size:12px}.dash-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.stat{background:#34312c;padding:22px}.stat b{display:block;font:500 35px 'Cormorant Garamond';color:#e3b361}.stat span{font-size:10px;color:#ddd6ce}.response-progress{background:#2f2c27;padding:20px;margin-top:12px;display:grid;grid-template-columns:1fr auto;gap:9px;font-size:10px}.response-progress b{color:#e3b361}.response-progress>div{grid-column:1/3;height:5px;background:#49443e}.response-progress i{display:block;height:100%;width:67%;background:#d4a456}.mini-list{margin-top:14px;background:#2e2b27;padding:18px}.mini-list>span{font-size:9px;color:#aaa49c}.mini-list p{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;font-size:9px;color:#dfd9d0;margin:12px 0 0}.mini-list p i{width:28px;height:28px;border-radius:50%;background:#48433d;display:grid;place-items:center;font-style:normal;color:#e3b361}.mini-list p b{font-size:8px;color:#9cc7a4}.floating-card{position:absolute;right:-30px;top:38px;background:#fffdf9;border:1px solid #e0d2bd;padding:12px 18px;box-shadow:0 18px 40px rgba(73,55,31,.14);display:flex;flex-direction:column;gap:2px;animation:float 4.5s ease-in-out infinite}.floating-card span{font-size:8px;color:var(--muted)}.floating-card b{font:600 19px 'Cormorant Garamond';color:var(--gold)}
.social{padding:92px 7vw;background:#efe5d5;text-align:center}.social h2{margin:0}.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1160px;margin:42px auto 0}.quote{background:#fffdf9;padding:33px;text-align:left;border:1px solid #dfd0ba;transition:.3s}.quote:hover{transform:translateY(-5px)}.main-quote{transform:translateY(-8px);box-shadow:0 22px 55px rgba(79,61,38,.10)}.main-quote:hover{transform:translateY(-13px)}.stars{color:var(--gold);letter-spacing:3px;font-size:11px}.quote p{color:#625c54;line-height:1.8;font-size:13px;min-height:70px}.quote b{display:block;font:600 18px 'Cormorant Garamond'}.quote small{color:#9a9185;font-size:9px}
.pricing{background:linear-gradient(180deg,#eee4d5,#f4ecdf)}.pricebox{width:min(470px,100%);margin:45px auto 0;background:#fffdf9;border:1px solid #d7c5a8;padding:54px;box-shadow:0 25px 60px rgba(77,60,39,.08)}.pricebox>span{font-size:8px;letter-spacing:.2em;color:var(--gold)}.pricebox h3{font:500 32px 'Cormorant Garamond';margin-bottom:12px}.price{font:500 50px 'Cormorant Garamond'!important;color:var(--ink)!important;margin:16px 0}.pricebox p{color:var(--muted);font-size:11px;line-height:1.6}.pricebox ul{list-style:none;padding:18px 0 24px;margin:18px 0;text-align:left;border-top:1px solid #eee3d2}.pricebox li{font-size:11px;padding:8px 0;border-bottom:1px solid #f0e8db}.pricebox li:before{content:'✓';color:var(--gold);margin-right:10px}
.faq{padding:105px 15vw;background:#fffdf9}.faq>.eyebrow{text-align:center}.faq h2{text-align:center;margin-bottom:42px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:13px}.faq summary::-webkit-details-marker{display:none}.faq summary span{font:400 22px 'Cormorant Garamond';color:var(--gold);transition:.25s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{color:var(--muted);line-height:1.8;font-size:12px;max-width:800px}.cta{padding:115px 7vw;position:relative;overflow:hidden}.cta:before{content:'';position:absolute;width:620px;height:620px;border:1px solid #e9dcc7;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.55}.cta:after{content:'';position:absolute;width:470px;height:470px;border:1px solid #eee4d4;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.cta>*{position:relative;z-index:2}.cta img{width:145px;margin-bottom:10px}.cta .eyebrow{margin-top:2px}.cta p{color:var(--muted)}.cta-ornament{position:absolute!important;font-size:150px;color:#d9b77d;opacity:.12;left:50%;top:48%;transform:translate(-50%,-50%);z-index:1!important}
footer{border-top:1px solid var(--line);padding:48px 7vw;display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:50px;color:#82796f;font-size:10px;background:#faf6ef}footer img{width:125px}footer p{line-height:1.7}footer b{color:var(--ink);font-size:11px}footer a{display:block;margin-top:10px}.footer-last{text-align:right}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){nav{gap:18px}.hero{grid-template-columns:1fr 1fr;padding-inline:5vw}.hero h1{font-size:62px}.benefit-bar{grid-template-columns:1fr 1fr}.benefit-bar>div:nth-child(3){border-left:0;border-top:1px solid #eadfce}.benefit-bar>div:nth-child(4){border-top:1px solid #eadfce}.feature{gap:4vw}}
@media(max-width:900px){.site-header{height:80px;padding:6px 5vw}.brand img{width:112px;height:64px}nav{display:none}.login{display:none}.hero{grid-template-columns:1fr;padding:55px 6vw 30px}.hero h1{font-size:56px}.visual{height:555px}.arch{right:0;width:340px;height:505px}.phone{width:175px;height:350px}.benefit-bar{margin-top:20px}.cards,.steps,.quotes{grid-template-columns:1fr}.template-card{max-width:560px;width:100%;margin:auto}.sample{height:390px}.how:before{display:none}.feature{grid-template-columns:1fr;padding:85px 7vw}.intro,.how,.pricing,.cta{padding:82px 6vw}.intro h2,.how h2,.pricing h2,.cta h2,.feature h2,.social h2,.faq h2{font-size:43px}.faq{padding:82px 7vw}.main-quote{transform:none}.main-quote:hover{transform:translateY(-5px)}footer{grid-template-columns:1fr 1fr}.footer-last{text-align:left}}
@media(max-width:560px){.actions .btn{font-size:8px;padding:11px 12px}.hero h1{font-size:47px}.hero{padding-top:42px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions a{width:100%}.proof{gap:7px}.visual{height:475px;margin-top:12px}.arch{width:286px;height:430px;padding:26px 20px}.invite{padding:27px 19px}.invite h2{font-size:37px}.phone{width:143px;height:292px}.wax-seal{width:58px;height:58px;font-size:20px}.benefit-bar{grid-template-columns:1fr}.benefit-bar>div+div{border-left:0;border-top:1px solid #eadfce}.brand img{width:94px}.cards{gap:16px}.sample{height:345px}.feature-grid{grid-template-columns:1fr}.dash-row{grid-template-columns:1fr}.floating-card{right:-8px}.quotes{gap:14px}.pricebox{padding:38px 25px}footer{grid-template-columns:1fr;gap:25px}.footer-last{text-align:left}}


/* ===== Invitee.lk Application UI (bundled for reliable deployment) ===== */
:root{--app-bg:#fbf7ef;--app-card:#fffdf8;--app-ink:#26231f;--app-gold:#b9893f;--app-line:#e6d8c5;--app-muted:#776e63;--app-dark:#24211e}*{box-sizing:border-box}.app-page{margin:0;background:var(--app-bg);color:var(--app-ink);font-family:Manrope,Arial,sans-serif}.app-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:8px 6vw;background:#fffdf9;border-bottom:1px solid var(--app-line);position:sticky;top:0;z-index:20}.app-brand img{width:125px;display:block}.app-nav{display:flex;align-items:center;gap:24px}.app-nav a{font-size:13px}.app-footer{text-align:center;padding:34px;color:var(--app-muted);font-size:11px;border-top:1px solid var(--app-line);margin-top:70px}.app-shell{width:min(1180px,92vw);margin:54px auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}.page-head h1{font:500 48px/1.05 'Cormorant Garamond',serif;margin:0}.page-head p{margin:8px 0 0;color:var(--app-muted)}.grid{display:grid;gap:22px}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.panel{background:var(--app-card);border:1px solid var(--app-line);padding:26px;box-shadow:0 18px 55px rgba(64,48,29,.05)}.panel h2,.panel h3{font-family:'Cormorant Garamond',serif}.stat-card b{font:500 44px 'Cormorant Garamond';color:var(--app-gold);display:block}.stat-card span{color:var(--app-muted);font-size:12px}.form-card{max-width:720px;margin:55px auto;background:var(--app-card);padding:38px;border:1px solid var(--app-line)}.form-card h1{font:500 42px 'Cormorant Garamond';margin:0 0 6px}.form-card .lead{color:var(--app-muted);margin-bottom:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:700;letter-spacing:.05em}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #d8c9b3;background:#fff;font:inherit;font-size:13px;outline:none}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--app-gold);box-shadow:0 0 0 3px rgba(185,137,63,.09)}.btn-row{display:flex;gap:10px;flex-wrap:wrap}.btn.alt{background:transparent;color:var(--app-ink);border:1px solid var(--app-gold)}.btn.danger{background:#7c2d2d}.flash{width:min(1120px,92vw);margin:18px auto 0;padding:13px 16px;border:1px solid}.flash.success{background:#eff8f0;border-color:#bdd9c0;color:#285c31}.flash.error{background:#fff1f0;border-color:#e6b6b1;color:#842e2a}.table-wrap{overflow:auto}.app-table{width:100%;border-collapse:collapse;font-size:12px}.app-table th,.app-table td{padding:13px 10px;border-bottom:1px solid var(--app-line);text-align:left;white-space:nowrap}.badge{display:inline-block;padding:5px 9px;border-radius:20px;font-size:10px;background:#eee5d8}.badge.published{background:#e8f4ea;color:#2b6938}.badge.draft{background:#f5ecdc;color:#8b651f}.empty{text-align:center;padding:60px 20px;color:var(--app-muted)}.empty h3{font:500 32px 'Cormorant Garamond';color:var(--app-ink);margin:0 0 10px}.invite-card h3{font:500 28px 'Cormorant Garamond';margin:0}.invite-card p{color:var(--app-muted);font-size:12px}.invite-card .meta{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.template-option{border:2px solid var(--app-line);padding:18px;cursor:pointer}.template-option input{margin-right:8px}.gallery-thumb{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--app-line)}.auth-note{font-size:12px;color:var(--app-muted);margin-top:18px}.public-wrap{background:#fbf6ed;min-height:100vh;color:#26231f}.public-hero{text-align:center;padding:70px 20px 50px}.public-hero .eyebrow{color:#b9893f}.public-hero h1{font:500 68px/1 'Cormorant Garamond';margin:18px 0}.public-hero h1 i{color:#b9893f;font-weight:500}.public-date{font:500 28px 'Cormorant Garamond';margin:18px 0}.public-section{width:min(800px,90vw);margin:auto;padding:42px 0;text-align:center;border-top:1px solid #e4d7c4}.public-section h2{font:500 40px 'Cormorant Garamond';margin:0 0 14px}.public-section p{color:#6f675d;line-height:1.8}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rsvp-box{background:#fffdf9;border:1px solid #dcc7a8;padding:32px;text-align:left}.admin-kpi{font:500 50px 'Cormorant Garamond';color:var(--app-gold)}@media(max-width:800px){.app-header{padding-inline:4vw}.app-nav{gap:12px}.app-nav a:not(.btn){display:none}.app-shell{margin-top:34px}.grid.cols-3,.grid.cols-2,.form-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:40px}.form-card{margin:28px auto;padding:26px}.public-hero h1{font-size:50px}.gallery-grid{grid-template-columns:1fr 1fr}}

/* Invitee.lk Stage 3 — Invitation Builder */
.builder-shell{width:min(1480px,96vw);margin:32px auto 70px}.builder-topbar{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.builder-kicker,.builder-pane-head>span,.builder-section-title span,.create-start-head>span,.create-design-title span,.preview-toolbar span{font-size:10px;letter-spacing:.2em;font-weight:800;color:var(--app-gold)}.builder-topbar h1{font:500 42px/1 'Cormorant Garamond',serif;margin:6px 0 8px}.builder-topbar h1 em{color:var(--app-gold);font-weight:500}.builder-status-line{display:flex;align-items:center;gap:12px;color:var(--app-muted);font-size:11px}.builder-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.inline-form{display:inline}.builder-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);gap:24px;align-items:start}.builder-editor{min-width:0}.builder-tabs{display:grid;grid-template-columns:repeat(5,1fr);background:#f3ebdf;border:1px solid var(--app-line);border-bottom:0}.builder-tab{appearance:none;border:0;border-right:1px solid var(--app-line);background:transparent;padding:15px 10px;font:700 10px/1.2 Manrope,Arial,sans-serif;letter-spacing:.04em;color:#887d70;cursor:pointer}.builder-tab:last-child{border-right:0}.builder-tab.active{background:#fffdf9;color:var(--app-ink);box-shadow:inset 0 3px 0 var(--app-gold)}.builder-form{background:#fffdf9;border:1px solid var(--app-line);box-shadow:0 22px 60px rgba(64,48,29,.07)}.builder-pane{display:none;padding:30px}.builder-pane.active{display:block}.builder-pane-head{border-bottom:1px solid var(--app-line);padding-bottom:20px;margin-bottom:24px}.builder-pane-head h2{font:500 34px/1.1 'Cormorant Garamond',serif;margin:7px 0}.builder-pane-head p{margin:0;color:var(--app-muted);font-size:12px;line-height:1.6}.builder-nav{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:20px;border-top:1px solid #eee3d5}.text-button{border:0;background:transparent;color:#776b5d;text-decoration:none;font:600 12px Manrope,Arial,sans-serif;cursor:pointer;padding:10px 0}.text-button:hover{color:var(--app-gold)}.tall-textarea{min-height:190px!important}.field-help{font-size:10px;color:var(--app-muted)}.slug-control{display:flex;border:1px solid #d8c9b3;background:#fff;align-items:center;overflow:hidden}.slug-control span{padding:0 0 0 12px;font-size:10px;color:#998c7c;white-space:nowrap}.slug-control input{border:0!important;box-shadow:none!important;padding-left:2px!important}.template-picker{display:grid;gap:12px}.template-card{position:relative;display:grid;grid-template-columns:92px 1fr 28px;gap:16px;align-items:center;border:1px solid var(--app-line);padding:12px;background:#fff;cursor:pointer;transition:.2s ease}.template-card:hover{border-color:#c8aa7b;transform:translateY(-1px)}.template-card.selected{border:2px solid var(--app-gold);padding:11px;box-shadow:0 12px 28px rgba(185,137,63,.1)}.template-card>input{position:absolute;opacity:0;pointer-events:none}.template-mini{height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.08);font-family:'Cormorant Garamond',serif}.template-mini b{font-size:24px;font-weight:500}.template-mini i{color:var(--app-gold)}.template-mini small{font:700 7px Manrope;letter-spacing:.1em;margin-top:12px}.template-mini-classic{background:#fbf4e8}.template-mini-botanical{background:#e8eee2}.template-mini-modern{background:#e6e1dc}.template-copy{display:flex;flex-direction:column}.template-copy strong{font:600 19px 'Cormorant Garamond',serif}.template-copy small{font-size:10px;color:var(--app-gold);margin:2px 0 7px;text-transform:uppercase;letter-spacing:.08em}.template-copy em{font-size:11px;color:var(--app-muted);font-style:normal}.template-check{width:22px;height:22px;border:1px solid #cfc0aa;border-radius:50%;display:grid;place-items:center;font-size:11px;color:transparent}.template-card.selected .template-check{background:var(--app-gold);border-color:var(--app-gold);color:#fff}.builder-complete{background:#f5eee3;border-left:3px solid var(--app-gold);padding:22px;margin-top:8px}.builder-complete span{font-size:9px;letter-spacing:.18em;color:var(--app-gold);font-weight:800}.builder-complete h3{font:500 27px 'Cormorant Garamond',serif;margin:5px 0}.builder-complete p{font-size:11px;color:var(--app-muted);margin:0}.builder-preview-column{min-width:0}.preview-sticky{position:sticky;top:105px;background:#2b2824;padding:16px 16px 20px;box-shadow:0 24px 70px rgba(33,26,18,.18)}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;color:white;margin-bottom:12px}.preview-toolbar>div:first-child{display:flex;flex-direction:column;gap:2px}.preview-toolbar strong{font:500 17px 'Cormorant Garamond',serif}.preview-device-switch{display:flex;border:1px solid #554d44;padding:3px}.preview-device-switch button{border:0;background:transparent;color:#bcb3a8;font-size:9px;padding:7px 10px;cursor:pointer}.preview-device-switch button.active{background:#f7f0e6;color:#2b2824}.preview-stage{min-height:650px;background:radial-gradient(circle at 50% 12%,#6b5e4e 0,#3b3630 34%,#25221f 72%);display:grid;place-items:center;padding:26px;overflow:hidden}.preview-device{width:310px;height:610px;border:9px solid #171717;border-radius:34px;background:#111;box-shadow:0 24px 50px rgba(0,0,0,.35);position:relative;padding:7px;transition:width .3s,height .3s,border-radius .3s}.preview-notch{position:absolute;z-index:3;width:92px;height:21px;background:#171717;border-radius:0 0 13px 13px;top:0;left:50%;transform:translateX(-50%)}.live-invite{height:100%;overflow:hidden;border-radius:20px;background:#fbf4e8;color:#26231f;text-align:center;padding:43px 22px 28px;position:relative;transition:.25s}.live-eyebrow{font:700 6px Manrope;letter-spacing:.15em}.live-monogram{font:500 16px 'Cormorant Garamond',serif;margin:17px 0 6px}.live-monogram i,.live-invite h2 i{color:var(--app-gold);font-style:italic}.live-invite h2{font:500 34px/.85 'Cormorant Garamond',serif;margin:7px 0 20px;display:flex;flex-direction:column}.live-invite h2 i{font-size:22px;line-height:.7}.live-intro{font:500 7px/1.7 Manrope;max-width:210px;margin:0 auto 15px;text-transform:uppercase;letter-spacing:.06em}.live-rule{width:82%;height:1px;background:#caa76e;margin:12px auto}.live-date-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:center;font:500 19px 'Cormorant Garamond',serif}.live-date-grid small{font:700 6px Manrope;letter-spacing:.05em}.live-year{font:700 6px Manrope;margin-top:-4px}.live-venue{display:flex;flex-direction:column;gap:4px;font:700 6px/1.5 Manrope;text-transform:uppercase;letter-spacing:.05em}.live-story-preview{margin:18px auto 0;padding-top:12px;border-top:1px solid rgba(185,137,63,.24);max-width:220px}.live-story-preview small{font:500 13px 'Cormorant Garamond',serif}.live-story-preview p{font:500 7px/1.5 Manrope;color:#746b61;max-height:34px;overflow:hidden}.live-dress{display:block;font:700 6px Manrope;letter-spacing:.08em;text-transform:uppercase;color:#9b793f;min-height:8px}.live-rsvp{display:inline-block;border:1px solid #b9893f;padding:6px 17px;margin-top:12px;font:700 6px Manrope;letter-spacing:.1em}.live-decor{position:absolute;color:#b9893f;font-size:18px;opacity:.6}.live-decor-top{top:19px;right:20px}.live-decor-bottom{bottom:12px;left:20px;transform:rotate(180deg)}.template-botanical{background:linear-gradient(180deg,#eef1e8,#f8f4eb)!important}.template-botanical:before,.template-botanical:after{content:'❧';position:absolute;font-size:65px;color:#7d936e;opacity:.18}.template-botanical:before{left:-12px;top:70px;transform:rotate(-28deg)}.template-botanical:after{right:-9px;bottom:85px;transform:rotate(140deg)}.template-botanical .live-rule{background:#849777}.template-botanical .live-monogram i,.template-botanical h2 i,.template-botanical .live-decor{color:#718467}.template-modern{background:#e7e2dd!important}.template-modern .live-decor{display:none}.template-modern .live-monogram{border:1px solid #282522;width:66px;height:66px;border-radius:50%;margin:12px auto;display:grid;place-items:center}.template-modern h2{font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.02em}.template-modern h2 i{font-size:13px;color:#282522}.template-modern .live-rule{background:#2b2824}.template-modern .live-rsvp{background:#25221f;color:white;border-color:#25221f}.preview-stage.desktop-mode{padding:22px}.preview-device.preview-device-desktop{width:100%;height:570px;border-radius:10px;border-width:6px;padding:6px}.preview-device.preview-device-desktop .preview-notch{display:none}.preview-device.preview-device-desktop .live-invite{border-radius:2px;padding:50px 13%;}.preview-device.preview-device-desktop .live-invite h2{font-size:46px}.preview-device.preview-device-desktop .live-intro{font-size:8px;max-width:330px}.preview-device.preview-device-desktop .live-story-preview{max-width:350px}.preview-note{font-size:9px;color:#a99e91;line-height:1.6;padding:13px 4px 0}.builder-gallery{margin-top:24px}.builder-section-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;border-bottom:1px solid var(--app-line);padding-bottom:17px;margin-bottom:17px}.builder-section-title h2{font:500 30px 'Cormorant Garamond',serif;margin:4px 0 0}.builder-section-title p{font-size:10px;color:var(--app-muted);margin:0}.gallery-upload-row{display:flex;align-items:center;gap:10px}.upload-drop{border:1px dashed #cbb999;background:#fbf6ee;padding:13px 16px;display:flex;align-items:center;gap:13px;flex:1;cursor:pointer}.upload-drop input{max-width:220px;font-size:10px}.upload-drop span{font-size:11px;font-weight:700}.upload-drop small{font-size:9px;color:var(--app-muted);margin-left:auto}.builder-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.builder-gallery-item{position:relative;aspect-ratio:1;overflow:hidden;background:#eee}.builder-gallery-item img{width:100%;height:100%;object-fit:cover}.builder-gallery-item form{position:absolute;right:7px;top:7px}.gallery-delete{width:26px;height:26px;border:0;border-radius:50%;background:rgba(30,25,20,.8);color:white;font-size:18px;line-height:1;cursor:pointer}.gallery-empty{text-align:center;padding:30px;border:1px dashed var(--app-line);color:var(--app-muted);font-size:11px}.create-start-shell{width:min(1050px,92vw);margin:55px auto}.create-start-head{text-align:center;max-width:680px;margin:0 auto 28px}.create-start-head h1{font:500 50px 'Cormorant Garamond',serif;margin:7px 0}.create-start-head p{color:var(--app-muted);font-size:13px}.create-start-card{background:#fffdf9;border:1px solid var(--app-line);padding:34px;box-shadow:0 22px 70px rgba(58,44,27,.07)}.create-basics{max-width:760px;margin:auto}.create-design-title{text-align:center;margin:22px 0 14px}.create-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.create-template{border:1px solid var(--app-line);padding:10px;cursor:pointer;position:relative;transition:.2s}.create-template.selected{border:2px solid var(--app-gold);padding:9px;box-shadow:0 12px 30px rgba(185,137,63,.1)}.create-template>input{position:absolute;opacity:0}.create-template-art{aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center}.create-template-art span{font:500 36px 'Cormorant Garamond',serif}.create-template-art i{color:var(--app-gold)}.create-template-art small{font-size:7px;letter-spacing:.15em;margin-top:18px}.create-template strong{display:block;font:600 19px 'Cormorant Garamond',serif;margin:10px 5px 2px}.create-template p{font-size:10px;color:var(--app-muted);margin:0 5px 8px}.create-template-art.template-classic{background:#fbf1e2}.create-template-art.template-botanical{background:#e7eee2}.create-template-art.template-modern{background:#e5dfda}.create-start-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--app-line);margin-top:26px;padding-top:22px}
@media(max-width:1120px){.builder-layout{grid-template-columns:1fr}.preview-sticky{position:relative;top:auto}.builder-preview-column{order:-1}.preview-stage{min-height:560px}.preview-device{height:520px}.builder-topbar{align-items:flex-start;flex-direction:column}.builder-actions{justify-content:flex-start}.builder-gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.builder-shell{width:94vw;margin-top:20px}.builder-tabs{overflow-x:auto;display:flex}.builder-tab{min-width:108px}.builder-pane{padding:22px 18px}.builder-topbar h1{font-size:34px}.builder-actions .btn{font-size:9px;padding:10px}.preview-stage{min-height:500px;padding:14px}.preview-device{width:270px;height:480px}.preview-device.preview-device-desktop{height:450px;min-width:600px}.preview-stage.desktop-mode{overflow-x:auto;justify-content:flex-start}.builder-gallery-grid{grid-template-columns:repeat(2,1fr)}.builder-section-title{align-items:flex-start;flex-direction:column}.gallery-upload-row{align-items:stretch;flex-direction:column}.upload-drop{flex-wrap:wrap}.upload-drop small{margin-left:0}.slug-control{align-items:stretch;flex-direction:column}.slug-control span{padding:9px 12px 0;white-space:normal}.create-start-shell{margin-top:28px}.create-start-head h1{font-size:40px}.create-start-card{padding:22px 16px}.create-template-grid{grid-template-columns:1fr}.create-template{display:grid;grid-template-columns:120px 1fr;align-items:center}.create-template-art{aspect-ratio:1}.create-template strong,.create-template p{grid-column:2;margin-left:14px}.create-template strong{align-self:end}.create-template p{align-self:start}.create-start-actions{gap:15px}.create-start-actions .btn{font-size:9px}}
.public-template-botanical{background:#eef1e8}.public-template-botanical .public-hero{background:radial-gradient(circle at 10% 20%,rgba(130,153,111,.18),transparent 24%),radial-gradient(circle at 90% 70%,rgba(130,153,111,.16),transparent 26%)}.public-template-botanical .public-hero h1 i,.public-template-botanical .public-hero .eyebrow{color:#718467}.public-template-botanical .public-section{border-color:#ccd6c4}.public-template-modern{background:#e9e4df}.public-template-modern .public-hero{background:#ded8d2}.public-template-modern .public-hero h1{text-transform:uppercase;letter-spacing:.02em}.public-template-modern .public-hero h1 i{color:#26231f;font-size:.75em}.public-template-modern .public-section{border-color:#c8c0b8}.public-template-modern .rsvp-box{border-color:#aaa098;background:#f4f1ee}

/* ===== Stage 4: Dashboard + RSVP management ===== */
.page-kicker{display:block;font-size:10px;font-weight:800;letter-spacing:.18em;color:var(--app-gold,#b9893f);margin-bottom:8px}.dashboard-shell{max-width:1220px}.dashboard-head{align-items:center}.dashboard-kpis,.rsvp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:38px}.dashboard-kpi,.rsvp-kpis article{background:#fffdf9;border:1px solid var(--app-line,#e6d8c5);padding:20px 22px;min-height:126px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 14px 38px rgba(58,44,27,.045)}.dashboard-kpi span,.rsvp-kpis span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--app-muted,#776e63)}.dashboard-kpi strong,.rsvp-kpis strong{font:500 40px/1 'Cormorant Garamond',serif;color:var(--app-ink,#26231f);margin:7px 0 5px}.dashboard-kpi small,.rsvp-kpis small{font-size:10px;color:var(--app-muted,#776e63)}.dashboard-section-head{display:flex;justify-content:space-between;align-items:flex-end;margin:0 0 16px}.dashboard-section-head h2{font:500 34px 'Cormorant Garamond',serif;margin:0}.dashboard-count{font-size:10px;color:var(--app-muted,#776e63);border:1px solid var(--app-line,#e6d8c5);padding:7px 11px}.dashboard-invite-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dashboard-invite-card{display:grid;grid-template-columns:158px minmax(0,1fr);background:#fffdf9;border:1px solid var(--app-line,#e6d8c5);overflow:hidden;box-shadow:0 18px 45px rgba(58,44,27,.055)}.dashboard-invite-art{min-height:310px;padding:25px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}.dashboard-invite-art:before,.dashboard-invite-art:after{content:'';position:absolute;width:55%;height:1px;background:rgba(185,137,63,.55);left:22.5%}.dashboard-invite-art:before{top:34px}.dashboard-invite-art:after{bottom:34px}.invite-art-classic{background:#f7eedf}.invite-art-botanical{background:#e8eee4}.invite-art-modern{background:#e4dfda}.mini-eyebrow{font-size:5px;letter-spacing:.13em;margin-bottom:22px}.mini-couple{font:500 34px 'Cormorant Garamond',serif}.mini-couple i{font-style:italic;color:var(--app-gold,#b9893f)}.dashboard-invite-art small{font-size:7px;letter-spacing:.1em;margin-top:20px}.dashboard-invite-body{padding:22px;min-width:0}.invite-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.invite-updated{font-size:9px;color:var(--app-muted,#776e63)}.dashboard-invite-body h3{font:500 28px 'Cormorant Garamond',serif;margin:16px 0 4px}.invite-detail{font-size:10px;color:var(--app-muted,#776e63);margin:0 0 20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rsvp-summary-row{display:flex;gap:15px;flex-wrap:wrap;font-size:9px;color:var(--app-muted,#776e63);margin-bottom:10px}.rsvp-summary-row b{color:var(--app-ink,#26231f);font-size:11px}.response-progress{height:5px;background:#eee5d8;overflow:hidden}.response-progress span{height:100%;display:block;background:var(--app-gold,#b9893f)}.response-caption{display:flex;justify-content:space-between;font-size:8px;color:var(--app-muted,#776e63);padding-top:6px}.response-caption b{color:var(--app-gold,#b9893f)}.invite-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.share-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;border-top:1px solid var(--app-line,#e6d8c5);margin-top:16px;padding-top:13px;font-size:8px}.share-link-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--app-muted,#776e63)}.share-link-row a,.copy-link-button{border:0;background:none;padding:0;color:var(--app-gold,#b9893f);font:700 8px Manrope,Arial,sans-serif;cursor:pointer;text-decoration:none}.dashboard-empty{padding:55px;text-align:center}.empty-mark{width:68px;height:68px;border:1px solid var(--app-gold,#b9893f);border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;font:500 32px 'Cormorant Garamond',serif;color:var(--app-gold,#b9893f)}
.rsvp-page-head em{color:var(--app-gold,#b9893f);font-style:italic}.rsvp-head-actions{display:flex;gap:8px;flex-wrap:wrap}.rsvp-add-panel,.rsvp-list-panel{margin-top:18px}.panel-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.panel-title-row h2{font:500 30px 'Cormorant Garamond',serif;margin:0}.panel-title-row p{font-size:10px;color:var(--app-muted,#776e63);max-width:430px;margin:0}.rsvp-add-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr .65fr 1fr auto;gap:12px;align-items:end}.rsvp-add-button{justify-content:flex-end}.rsvp-add-button .btn{white-space:nowrap}.rsvp-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.rsvp-search{flex:1;max-width:340px}.rsvp-search input{width:100%;border:1px solid var(--app-line,#e6d8c5);background:#fff;padding:10px 12px;font:500 11px Manrope,Arial,sans-serif;outline:none}.rsvp-search input:focus{border-color:var(--app-gold,#b9893f)}.rsvp-filter{display:flex;border:1px solid var(--app-line,#e6d8c5);overflow:auto}.rsvp-filter button{border:0;border-right:1px solid var(--app-line,#e6d8c5);background:#fffdf9;padding:9px 12px;font:700 9px Manrope,Arial,sans-serif;cursor:pointer;white-space:nowrap}.rsvp-filter button:last-child{border-right:0}.rsvp-filter button.active{background:var(--app-dark,#24211e);color:#fff}.rsvp-filter button span{opacity:.7;margin-left:4px}.rsvp-table td strong{display:block;font-size:11px}.rsvp-table td small{display:block;color:var(--app-muted,#776e63);font-size:8px;margin-top:3px}.status-form{margin:0}.status-select{border:1px solid var(--app-line,#e6d8c5);padding:7px 25px 7px 9px;font-size:9px;font-weight:700;background:#fffdf9}.status-attending{color:#3d7650;border-color:#bcd1c2;background:#f1f7f2}.status-declined{color:#9a4b43;border-color:#dec1bd;background:#fcf3f2}.status-invited{color:#886b3b;border-color:#dccbac;background:#fbf6eb}.party-pill{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f3eadc;font-size:10px;font-weight:800}.guest-message{max-width:220px;color:var(--app-muted,#776e63);font-size:9px}.icon-delete{width:28px;height:28px;border-radius:50%;border:1px solid #e2cac6;background:#fff7f5;color:#9a4b43;cursor:pointer;font-size:16px;line-height:1}.rsvp-thanks-note{font:500 18px/1.6 'Cormorant Garamond',serif;text-align:center;color:#5f574d}
@media(max-width:1100px){.dashboard-kpis,.rsvp-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-invite-grid{grid-template-columns:1fr}.rsvp-add-grid{grid-template-columns:repeat(3,1fr)}.rsvp-toolbar{align-items:stretch;flex-direction:column}.rsvp-search{max-width:none}}
@media(max-width:700px){.dashboard-kpis,.rsvp-kpis{grid-template-columns:1fr 1fr}.dashboard-kpi,.rsvp-kpis article{min-height:105px;padding:16px}.dashboard-invite-card{grid-template-columns:105px minmax(0,1fr)}.dashboard-invite-art{min-height:290px;padding:18px 8px}.mini-couple{font-size:26px}.dashboard-invite-body{padding:17px}.dashboard-invite-body h3{font-size:25px}.rsvp-summary-row{gap:8px}.share-link-row{grid-template-columns:1fr auto}.share-link-row>a{display:none}.panel-title-row{align-items:flex-start;flex-direction:column}.rsvp-add-grid{grid-template-columns:1fr 1fr}.rsvp-add-button{grid-column:1/-1}.rsvp-add-button .btn{width:100%}.rsvp-filter{width:100%}.rsvp-filter button{flex:1}.rsvp-head-actions{width:100%}.rsvp-head-actions .btn{flex:1;text-align:center}.rsvp-page-head{align-items:flex-start}.dashboard-section-head h2{font-size:29px}}
@media(max-width:480px){.dashboard-kpis,.rsvp-kpis{grid-template-columns:1fr}.dashboard-invite-card{grid-template-columns:1fr}.dashboard-invite-art{min-height:170px}.dashboard-invite-art:before{top:18px}.dashboard-invite-art:after{bottom:18px}.rsvp-add-grid{grid-template-columns:1fr}.rsvp-filter button{padding:9px 8px;font-size:8px}}

/* ===== Stage 5: Premium public wedding invitation ===== */
.wedding-public{--w-bg:#f8f2e8;--w-card:#fffdf8;--w-ink:#2d2925;--w-muted:#756b60;--w-gold:#b9893f;--w-line:#dfcfba;--w-accent:#6f7b63;margin:0;background:var(--w-bg);color:var(--w-ink);font-family:Manrope,Arial,sans-serif;scroll-behavior:smooth}.wedding-public *{box-sizing:border-box}.wedding-public a{color:inherit}.wedding-public button,.wedding-public input,.wedding-public select,.wedding-public textarea{font:inherit}.wedding-page{overflow:hidden}.invite-opening{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 35%,#fffaf1 0,#f3e8d8 55%,#e9dcc9 100%);transition:opacity .75s ease,visibility .75s ease}.invite-opening:before,.invite-opening:after{content:"";position:absolute;width:280px;height:420px;border:1px solid rgba(185,137,63,.22);border-radius:50%;transform:rotate(34deg)}.invite-opening:before{left:-120px;top:-190px}.invite-opening:after{right:-120px;bottom:-190px}.invite-opening.is-open{opacity:0;visibility:hidden}.opening-card{text-align:center;position:relative;z-index:2;width:min(520px,92vw);padding:58px 32px 48px;border:1px solid rgba(185,137,63,.35);background:rgba(255,253,248,.76);backdrop-filter:blur(12px);box-shadow:0 28px 90px rgba(75,55,31,.12)}.opening-kicker,.section-kicker,.wedding-eyebrow{font-size:10px;letter-spacing:.28em;font-weight:700;color:var(--w-gold)}.opening-monogram,.hero-monogram,.closing-monogram{font:500 46px/1 'Cormorant Garamond',serif;color:var(--w-ink);margin:18px 0}.opening-monogram i,.hero-monogram i,.closing-monogram i{color:var(--w-gold);font-weight:400;margin:0 .12em}.opening-card h1{font:500 46px/1.05 'Cormorant Garamond',serif;margin:8px 0}.opening-card h1 i{color:var(--w-gold);font-weight:400}.opening-card p{color:var(--w-muted);font-size:12px;letter-spacing:.08em}.opening-button{border:0;background:var(--w-ink);color:#fff;padding:14px 28px;margin:20px 0 9px;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;font-size:10px}.opening-card small{display:block;color:#998d80;font-size:9px;letter-spacing:.12em}.guest-nav{position:fixed;left:0;right:0;top:0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px 4.5vw;color:#fff;transition:.3s ease}.guest-nav.scrolled{background:rgba(250,246,238,.93);backdrop-filter:blur(14px);box-shadow:0 5px 24px rgba(49,39,26,.08);color:var(--w-ink);padding-top:14px;padding-bottom:14px}.guest-brand{font:600 24px 'Cormorant Garamond',serif;text-decoration:none}.guest-nav nav{display:flex;gap:30px}.guest-nav nav a{font-size:9px;text-transform:uppercase;letter-spacing:.13em;text-decoration:none;opacity:.88}.guest-nav-actions{justify-self:end;display:flex;gap:8px}.guest-icon-button{width:34px;height:34px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;cursor:pointer;display:grid;place-items:center}.guest-icon-button.playing{background:var(--w-gold);border-color:var(--w-gold);color:white}.wedding-hero{min-height:100svh;position:relative;display:grid;place-items:center;padding:110px 20px 80px;text-align:center;background:linear-gradient(145deg,#43392f,#7b6956);color:#fff;isolation:isolate}.wedding-hero.has-photo{background-image:var(--hero-image);background-size:cover;background-position:center}.wedding-hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,rgba(27,21,17,.36),rgba(27,21,17,.56)),radial-gradient(circle at 50% 50%,rgba(0,0,0,.02),rgba(0,0,0,.38))}.public-template-classic .wedding-hero:not(.has-photo){background:linear-gradient(145deg,#493b31,#8a755f)}.public-template-botanical{--w-accent:#6d7f61}.public-template-botanical .wedding-hero:not(.has-photo){background:linear-gradient(145deg,#384238,#73806a)}.public-template-modern .wedding-hero:not(.has-photo){background:linear-gradient(145deg,#272522,#66605a)}.hero-ornament{position:absolute;width:280px;height:280px;border:1px solid rgba(255,255,255,.24);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1}.hero-ornament:before,.hero-ornament:after{content:"";position:absolute;inset:-35px;border:1px solid rgba(255,255,255,.11);border-radius:50%}.hero-ornament:after{inset:-70px}.wedding-hero-content{width:min(760px,94vw)}.wedding-eyebrow{color:#f1d6a6}.hero-monogram{color:white;font-size:38px;margin:20px 0 14px}.hero-monogram i{color:#e1bd7a}.wedding-hero h1{font:500 clamp(58px,8vw,112px)/.82 'Cormorant Garamond',serif;margin:6px 0 26px;letter-spacing:-.035em}.wedding-hero h1 span{display:block}.wedding-hero h1 i{display:block;color:#e3c183;font-weight:400;font-size:.55em;line-height:1.1}.hero-intro{width:min(570px,92%);margin:0 auto 23px;font:400 17px/1.75 'Cormorant Garamond',serif;color:rgba(255,255,255,.9)}.hero-date-line{display:flex;justify-content:center;gap:14px;align-items:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.hero-date-line b{color:#e1bd7a}.hero-venue{margin:9px 0 26px;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.75)}.wedding-primary-btn{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;border:1px solid var(--w-gold);background:var(--w-gold);color:#fff!important;padding:14px 28px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;cursor:pointer;transition:.25s ease}.wedding-primary-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(185,137,63,.24)}.hero-scroll{position:absolute;bottom:24px;text-decoration:none;color:rgba(255,255,255,.7);display:flex;flex-direction:column;gap:5px;align-items:center;font-size:8px;letter-spacing:.14em;text-transform:uppercase}.hero-scroll b{font-size:16px;font-weight:400}.countdown-section{padding:92px 20px 88px;text-align:center;background:#fffaf2;border-bottom:1px solid var(--w-line)}.section-ornament{color:var(--w-gold);margin-bottom:14px}.countdown-section h2,.center-heading h2,.story-copy h2,.rsvp-card h2{font:500 clamp(42px,5vw,64px)/1 'Cormorant Garamond',serif;margin:10px 0 26px}.countdown-grid{width:min(720px,92vw);margin:34px auto 0;display:grid;grid-template-columns:repeat(4,1fr)}.countdown-grid>div{padding:12px;border-right:1px solid var(--w-line)}.countdown-grid>div:last-child{border-right:0}.countdown-grid strong{display:block;font:500 clamp(38px,6vw,64px)/1 'Cormorant Garamond',serif;color:var(--w-gold)}.countdown-grid span{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--w-muted)}.wedding-section{padding:110px 20px}.section-inner{width:min(1120px,92vw);margin:auto}.story-section{background:var(--w-bg)}.story-layout{display:grid;grid-template-columns:1fr .86fr;gap:8vw;align-items:center}.story-copy{max-width:560px}.story-copy h2{margin-bottom:18px}.gold-rule{width:52px;height:1px;background:var(--w-gold);margin:0 0 24px}.story-copy p{font:400 18px/1.85 'Cormorant Garamond',serif;color:var(--w-muted)}.story-visual{position:relative;padding:24px}.story-visual:before{content:"";position:absolute;inset:0 48px 48px 0;border:1px solid var(--w-gold)}.story-visual img,.story-placeholder{width:100%;aspect-ratio:4/5;object-fit:cover;position:relative;z-index:1;box-shadow:0 25px 70px rgba(62,48,32,.14)}.story-placeholder{display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(145deg,#e6d6bf,#faf3e7);font:500 70px 'Cormorant Garamond',serif}.story-placeholder i{font-size:.6em;color:var(--w-gold)}.wedding-gallery{background:#fffaf2}.center-heading{text-align:center;margin:0 auto 44px;max-width:660px}.center-heading h2{margin-bottom:12px}.center-heading p{color:var(--w-muted);font:400 16px 'Cormorant Garamond',serif}.wedding-gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:210px;gap:12px}.gallery-photo{border:0;padding:0;background:#eee;overflow:hidden;cursor:zoom-in}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:.5s ease}.gallery-photo:hover img{transform:scale(1.035)}.gallery-photo:nth-child(6n+1),.gallery-photo:nth-child(6n+4){grid-column:span 7;grid-row:span 2}.gallery-photo:nth-child(6n+2),.gallery-photo:nth-child(6n+3),.gallery-photo:nth-child(6n+5),.gallery-photo:nth-child(6n+6){grid-column:span 5}.details-section{background:var(--w-bg)}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--w-line);background:rgba(255,253,248,.6)}.details-grid article{text-align:center;padding:44px 28px;border-right:1px solid var(--w-line)}.details-grid article:last-child{border-right:0}.detail-icon{display:block;color:var(--w-gold);font-size:28px;margin-bottom:20px}.details-grid small{font-size:8px;letter-spacing:.2em;color:var(--w-gold)}.details-grid h3{font:500 26px/1.15 'Cormorant Garamond',serif;margin:9px 0}.details-grid p{font-size:11px;line-height:1.7;color:var(--w-muted);margin:0}.details-grid a{display:inline-block;margin-top:15px;font-size:9px;text-decoration:none;color:var(--w-gold);font-weight:700}.contact-note{text-align:center;color:var(--w-muted);font-size:11px;margin-top:28px}.contact-note a{color:var(--w-gold)}.rsvp-section{background:linear-gradient(135deg,#2d2925,#4b4238);padding-top:100px;padding-bottom:100px}.rsvp-card{width:min(820px,94vw);margin:auto;background:#fffaf3;padding:62px clamp(24px,7vw,72px);text-align:center;box-shadow:0 25px 80px rgba(0,0,0,.18);position:relative}.rsvp-card:before{content:"";position:absolute;inset:13px;border:1px solid rgba(185,137,63,.34);pointer-events:none}.rsvp-card>*{position:relative}.rsvp-lead{color:var(--w-muted);font:400 16px 'Cormorant Garamond',serif;margin:-12px 0 32px}.rsvp-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}.wedding-field{display:flex;flex-direction:column;gap:7px}.wedding-field.full{grid-column:1/-1}.wedding-field label{font-size:8px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#6f6459}.wedding-field input,.wedding-field select,.wedding-field textarea{border:0;border-bottom:1px solid #cabba7;background:transparent;padding:11px 3px;outline:none;color:var(--w-ink);font-size:12px;border-radius:0}.wedding-field input:focus,.wedding-field select:focus,.wedding-field textarea:focus{border-bottom-color:var(--w-gold)}.wedding-field textarea{min-height:85px;resize:vertical}.rsvp-submit{margin-top:28px;min-width:180px}.public-alert{padding:12px 14px;font-size:11px;margin:0 0 22px;text-align:left}.public-alert.error{background:#fff0ee;color:#832d2a;border:1px solid #e5bab4}.rsvp-success{padding:20px}.rsvp-success-icon{width:58px;height:58px;border:1px solid var(--w-gold);border-radius:50%;display:grid;place-items:center;color:var(--w-gold);font-size:24px;margin:0 auto 18px}.rsvp-success h3{font:500 30px 'Cormorant Garamond',serif;margin:0}.rsvp-success p{color:var(--w-muted);font-size:12px}.closing-section{text-align:center;padding:100px 20px 90px;background:#f4eadc}.closing-monogram{font-size:37px}.closing-section>p{font-size:9px;text-transform:uppercase;letter-spacing:.19em;color:var(--w-gold)}.closing-section h2{font:500 clamp(42px,6vw,72px)/1 'Cormorant Garamond',serif;margin:14px 0}.closing-section h2 i{font-weight:400;color:var(--w-gold)}.closing-section>span{font-size:10px;letter-spacing:.13em;color:var(--w-muted)}.closing-share-row{display:flex;justify-content:center;gap:22px;margin-top:30px}.closing-share-row button,.closing-share-row a{border:0;background:transparent;text-decoration:none;color:var(--w-gold);font-size:9px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.wedding-footer{text-align:center;padding:22px;background:#27231f;color:#a99c8c;font-size:9px;letter-spacing:.08em}.wedding-footer a{color:#d6b276;text-decoration:none;font-family:'Cormorant Garamond',serif;font-size:15px}.gallery-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(18,16,14,.94);display:none;place-items:center;padding:40px}.gallery-lightbox.open{display:grid}.gallery-lightbox img{max-width:min(1100px,92vw);max-height:88vh;object-fit:contain}.gallery-lightbox button{position:absolute;right:24px;top:18px;border:0;background:transparent;color:#fff;font-size:38px;cursor:pointer}.share-toast{position:fixed;z-index:1100;bottom:24px;left:50%;transform:translate(-50%,25px);padding:11px 18px;background:#2d2925;color:#fff;font-size:10px;opacity:0;pointer-events:none;transition:.25s ease}.share-toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}.public-template-botanical .countdown-section,.public-template-botanical .wedding-gallery{background:#f2f4ed}.public-template-botanical .story-section,.public-template-botanical .details-section{background:#f7f3e9}.public-template-botanical .section-kicker,.public-template-botanical .details-grid small{color:#708064}.public-template-modern{--w-gold:#a9855b;--w-bg:#f1efec;--w-line:#d3cec7}.public-template-modern .wedding-gallery,.public-template-modern .countdown-section{background:#f7f5f2}.public-template-modern .rsvp-card{background:#f7f5f1}.public-template-modern .story-visual:before{border-color:#38342f}.public-template-modern .hero-ornament{border-radius:0;transform:translate(-50%,-50%) rotate(45deg)}.public-template-modern .hero-ornament:before,.public-template-modern .hero-ornament:after{border-radius:0}
@media(max-width:800px){.guest-nav{grid-template-columns:1fr auto;padding:18px 18px}.guest-nav nav{display:none}.guest-nav-actions{grid-column:2}.guest-brand{font-size:21px}.wedding-hero{padding-top:90px}.wedding-hero h1{font-size:66px}.hero-intro{font-size:16px}.hero-date-line{flex-wrap:wrap;gap:7px 10px}.hero-scroll{bottom:16px}.countdown-section{padding:72px 15px}.countdown-grid{width:100%}.countdown-grid>div{padding:7px}.countdown-grid strong{font-size:38px}.wedding-section{padding:78px 16px}.story-layout{grid-template-columns:1fr;gap:44px}.story-copy{text-align:center;margin:auto}.gold-rule{margin-left:auto;margin-right:auto}.story-copy p{font-size:17px}.story-visual{max-width:480px;margin:auto;padding:18px}.wedding-gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.gallery-photo:nth-child(n){grid-column:span 1;grid-row:span 1}.gallery-photo:first-child{grid-column:1/-1;grid-row:span 2}.details-grid{grid-template-columns:1fr}.details-grid article{border-right:0;border-bottom:1px solid var(--w-line);padding:32px 24px}.details-grid article:last-child{border-bottom:0}.rsvp-section{padding-left:12px;padding-right:12px}.rsvp-card{padding:48px 24px}.rsvp-fields{grid-template-columns:1fr}.wedding-field.full{grid-column:auto}.closing-share-row{flex-direction:column;gap:14px}.opening-card{padding:46px 22px 40px}.opening-card h1{font-size:40px}}
@media(max-width:480px){.wedding-hero h1{font-size:57px}.hero-monogram{font-size:32px}.wedding-hero-content{margin-top:-10px}.countdown-grid strong{font-size:32px}.countdown-grid span{font-size:7px}.wedding-gallery-grid{grid-auto-rows:145px}.rsvp-card:before{inset:8px}.section-inner{width:94vw}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.wedding-primary-btn,.gallery-photo img{transition:none}}
\n/* Stage 6 premium public invitation enhancements */
.personal-greeting{display:inline-block;margin:0 0 18px;padding:9px 18px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);font:500 17px 'Cormorant Garamond',serif;letter-spacing:.04em;color:#fff}.petal-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.petal{position:absolute;top:-12vh;width:10px;height:16px;border-radius:80% 15% 80% 20%;background:rgba(245,218,202,.78);filter:drop-shadow(0 2px 3px rgba(0,0,0,.08));animation:petalFall linear infinite}.petal:nth-child(3n){background:rgba(255,239,224,.75);width:8px;height:13px}.petal:nth-child(4n){background:rgba(221,183,168,.65)}@keyframes petalFall{0%{transform:translate3d(0,-12vh,0) rotate(0deg)}50%{transform:translate3d(42px,50vh,0) rotate(180deg)}100%{transform:translate3d(-24px,115vh,0) rotate(390deg)}}
.wedding-public.theme-dark{--w-bg:#171614;--w-card:#24211e;--w-ink:#f4ecdf;--w-muted:#b8aa99;--w-line:#443b32;background:#171614;color:var(--w-ink)}.theme-dark .countdown-section,.theme-dark .wedding-gallery,.theme-dark .details-section,.theme-dark .story-section{background:#1b1917}.theme-dark .details-grid,.theme-dark .rsvp-card{background:#24211e}.theme-dark .rsvp-card{color:#f4ecdf}.theme-dark .wedding-field input,.theme-dark .wedding-field select,.theme-dark .wedding-field textarea{color:#f4ecdf}.theme-dark .closing-section{background:#211e1a}.theme-dark .guest-nav.scrolled{background:rgba(25,23,21,.94);color:#f4ecdf}.guest-icon-button[href]{text-decoration:none;font-size:10px;font-weight:800}.wedding-hero.has-photo:after{content:'';position:absolute;inset:0;z-index:-1;box-shadow:inset 0 -150px 180px rgba(0,0,0,.18)}
@media(max-width:800px){.personal-greeting{font-size:15px;margin-bottom:14px}.petal:nth-child(n+11){display:none}}
@media(prefers-reduced-motion:reduce){.petal{display:none}}

/* Stage 7: personalized guest invitation sharing */
.guest-share-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.guest-share-btn,.guest-copy-btn{border:1px solid var(--app-line,#e6d8c5);padding:7px 9px;font:800 8px/1 Manrope,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;text-decoration:none;transition:.18s ease}.guest-share-btn{background:#24211e;color:#fff;border-color:#24211e}.guest-share-btn:hover{background:#b9893f;border-color:#b9893f;color:#fff}.guest-copy-btn{background:#fffdf9;color:#5f574d}.guest-copy-btn:hover{border-color:#b9893f;color:#8b652e}.rsvp-table th:nth-last-child(2){min-width:190px}
@media(max-width:900px){.guest-share-actions{flex-direction:column;align-items:stretch}.guest-share-btn,.guest-copy-btn{text-align:center;padding:7px 8px}.rsvp-table th:nth-last-child(2){min-width:130px}}
/* Stage 8 — Packages & payments */
.payment-shell{padding-bottom:70px}.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}.package-card{position:relative;background:#fff;border:1px solid rgba(122,31,54,.13);border-radius:24px;padding:32px;box-shadow:0 18px 50px rgba(55,39,43,.07);display:flex;flex-direction:column}.package-card.featured{transform:translateY(-8px);border-color:#c8a35c;box-shadow:0 24px 60px rgba(122,31,54,.12)}.package-ribbon{position:absolute;right:20px;top:18px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;background:#7a1f36;color:#fff;padding:7px 10px;border-radius:999px}.package-price{font-family:"Cormorant Garamond",serif;font-size:48px;line-height:1;margin:18px 0}.package-price small{font-family:inherit;font-size:17px}.package-card ul{list-style:none;padding:0;margin:20px 0 28px;flex:1}.package-card li{padding:9px 0;border-bottom:1px solid rgba(0,0,0,.06)}.package-card li:before{content:'✓';margin-right:9px;color:#8a6b2f}.checkout-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:24px}.order-summary{align-self:start}.summary-total{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(0,0,0,.08);margin-top:20px;padding-top:20px;font-size:18px}.payment-result{max-width:720px;margin:70px auto;text-align:center;padding:50px}.result-mark{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;background:#eef8ef;font-size:32px}.payment-result.failed .result-mark{background:#fff1f1}.admin-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.package-admin-card{display:grid;gap:12px}.package-admin-card label{display:grid;gap:6px}.check-row{display:flex!important;align-items:center;gap:8px}.check-row input{width:auto}.billing-status{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#f8f5ef;margin:14px 0;font-size:12px}.billing-status.active{background:#eef8ef}.billing-status b{font-weight:600}.badge.paid{background:#e9f7ec;color:#236a36}.badge.pending{background:#fff7df;color:#7d5d00}.badge.failed,.badge.cancelled{background:#fdecec;color:#8b2e2e}@media(max-width:900px){.package-grid,.admin-package-grid,.checkout-grid{grid-template-columns:1fr}.package-card.featured{transform:none}}

/* Stage 9: family invitation + wedding events */
.event-builder{border:1px solid #e3d7c7;background:#fcf8f1;padding:14px}.event-builder-list{display:grid;gap:9px;margin-bottom:12px}.event-builder-row{display:grid;grid-template-columns:1.25fr .65fr 1.25fr 34px;gap:8px;align-items:center}.event-builder-row input{min-width:0}.event-remove{width:34px;height:34px;border:1px solid #ddcdb9;background:#fff;color:#8c6c49;font-size:20px;cursor:pointer}.family-invitation{background:#f8f1e7;text-align:center;padding-top:90px;padding-bottom:90px}.family-invitation-inner{width:min(820px,92vw);margin:auto}.parents-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:34px auto}.parents-grid>div{padding:26px;border-top:1px solid var(--w-line);border-bottom:1px solid var(--w-line)}.parents-grid small{font-size:8px;letter-spacing:.18em;color:var(--w-gold)}.parents-grid h3{font:500 28px/1.2 'Cormorant Garamond',serif;margin:8px 0 0}.formal-invitation-message{font:400 23px/1.65 'Cormorant Garamond',serif;color:var(--w-muted);max-width:700px;margin:30px auto 0}.wedding-events{text-align:center;margin:0 auto 42px;max-width:760px}.wedding-events-list{margin-top:25px;border-top:1px solid var(--w-line)}.wedding-events-list article{display:grid;grid-template-columns:150px 1fr;text-align:left;gap:28px;padding:22px 8px;border-bottom:1px solid var(--w-line);align-items:center}.event-time{font:500 22px 'Cormorant Garamond',serif;color:var(--w-gold);text-align:right}.wedding-events-list h3{font:500 25px 'Cormorant Garamond',serif;margin:0}.wedding-events-list p{margin:4px 0 0;color:var(--w-muted);font-size:11px}.theme-dark .family-invitation{background:#201d19}@media(max-width:800px){.event-builder-row{grid-template-columns:1fr 1fr}.event-builder-row input:nth-child(3){grid-column:1/-2}.parents-grid{grid-template-columns:1fr;gap:14px}.formal-invitation-message{font-size:20px}.wedding-events-list article{grid-template-columns:100px 1fr;gap:18px}.event-time{font-size:18px}}


/* Invitation theme CSS moved to invitations/themes/*/theme.css */
/* Stage 26: personalized invitation party type */
.party-type-pill{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border:1px solid rgba(164,119,57,.24);background:#fffaf2;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.03em;white-space:nowrap}
.rsvp-add-grid select#partyTypeSelect{min-width:150px}
@media(max-width:900px){.rsvp-table .party-type-pill{white-space:normal;line-height:1.3}}

.party-type-form{margin:0}.party-type-select{min-width:118px;padding:7px 28px 7px 9px;border:1px solid rgba(164,119,57,.24);background:#fffaf2;border-radius:6px;font-size:11px;font-weight:700}


/* Retired/active invitation card CSS moved out of global stylesheet. */
/* Stage 46 — exact, scrollable invitation preview inside the builder device frame. */
.exact-invitation-frame{display:block;width:100%;height:100%;border:0;border-radius:25px;background:#fff;overflow:auto;-webkit-overflow-scrolling:touch}
.preview-device{overflow:hidden}
.preview-notch{pointer-events:none;z-index:20}
.preview-device.preview-device-desktop .exact-invitation-frame{border-radius:3px}
#themeSaveStatus{color:#d9b36f;font-weight:700}
@media(max-width:760px){.exact-invitation-frame{border-radius:22px}}

/* Stage 47 — fix exact invitation iframe viewport inside the device shell.
   Use absolute positioning instead of percentage height so browsers do not
   fall back to the iframe default 150px height. */
.preview-device{position:relative!important;overflow:hidden!important}
.preview-device .exact-invitation-frame{
  position:absolute!important;
  top:7px!important;
  right:7px!important;
  bottom:7px!important;
  left:7px!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  display:block!important;
  border:0!important;
  overflow:auto!important;
  background:#fff!important;
  border-radius:20px!important;
  -webkit-overflow-scrolling:touch;
}
.preview-device.preview-device-desktop .exact-invitation-frame{
  top:6px!important;
  right:6px!important;
  bottom:6px!important;
  left:6px!important;
  border-radius:3px!important;
}


/* Stage 48 — replaced-element iframe sizing fix.
   Absolute iframe elements do not stretch from top+bottom when height:auto;
   give the preview an explicit viewport size so the complete phone screen is usable. */
.preview-device .exact-invitation-frame{
  position:absolute!important;
  top:7px!important;
  left:7px!important;
  right:auto!important;
  bottom:auto!important;
  width:calc(100% - 14px)!important;
  height:calc(100% - 14px)!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  min-height:0!important;
  box-sizing:border-box!important;
  border:0!important;
  display:block!important;
  background:#fff!important;
  border-radius:20px!important;
}
.preview-device.preview-device-desktop .exact-invitation-frame{
  top:6px!important;
  left:6px!important;
  width:calc(100% - 12px)!important;
  height:calc(100% - 12px)!important;
  border-radius:3px!important;
}


/* Stage 49 — scaled mobile viewport for exact builder preview. */
.preview-device .exact-invitation-frame{
  overflow:auto!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  will-change:transform;
}
.preview-device .exact-invitation-frame::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
.preview-device.preview-device-phone{overflow:hidden!important}


/* Stage 50 — persistent rounded mobile preview clipping.
   Chromium can visually lose an iframe's own border radius while its document
   scrolls, especially when the iframe is transformed. Clip the complete
   scrolling preview through a separate hardware-composited screen mask. */
.preview-device .preview-screen-mask{
  position:absolute!important;
  top:7px!important;
  right:7px!important;
  bottom:7px!important;
  left:7px!important;
  overflow:hidden!important;
  border-radius:20px!important;
  clip-path:inset(0 round 20px)!important;
  -webkit-clip-path:inset(0 round 20px)!important;
  background:#fff!important;
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
  isolation:isolate;
  z-index:1;
}
.preview-device .preview-screen-mask .exact-invitation-frame{
  top:0!important;
  left:0!important;
  right:auto!important;
  bottom:auto!important;
  border-radius:0!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
}
.preview-device.preview-device-desktop .preview-screen-mask{
  top:6px!important;
  right:6px!important;
  bottom:6px!important;
  left:6px!important;
  border-radius:3px!important;
  clip-path:inset(0 round 3px)!important;
  -webkit-clip-path:inset(0 round 3px)!important;
}
@media(max-width:760px){
  .preview-device:not(.preview-device-desktop) .preview-screen-mask{
    border-radius:18px!important;
    clip-path:inset(0 round 18px)!important;
    -webkit-clip-path:inset(0 round 18px)!important;
  }
}

/* ========================================================================
   STAGE 55 — PROFESSIONAL HOMEPAGE REDESIGN
   ======================================================================== */
.home-v2{--home-ink:#1d211d;--home-green:#173c29;--home-green-2:#244f38;--home-gold:#b8872f;--home-gold-light:#d6b36c;--home-ivory:#fbf7ef;--home-paper:#fffdf8;--home-sage:#e8eee5;--home-line:rgba(118,90,44,.17);--home-muted:#706b61;background:var(--home-ivory);color:var(--home-ink);font-family:Manrope,sans-serif;overflow-x:hidden}.home-v2 main{display:block}.home-v2 img{max-width:100%}.home-v2 .reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.home-v2 .reveal.visible{opacity:1;transform:none}.home-header{height:90px;padding:8px clamp(24px,6vw,96px);display:flex;align-items:center;gap:36px;position:sticky;top:0;z-index:100;background:rgba(251,247,239,.91);border-bottom:1px solid var(--home-line);backdrop-filter:blur(18px);transition:box-shadow .25s ease,background .25s ease}.home-header.scrolled{background:rgba(255,253,248,.97);box-shadow:0 14px 40px rgba(46,38,27,.08)}.home-brand{margin-right:auto;display:flex;align-items:center}.home-brand img{width:142px;height:72px;object-fit:contain}.home-nav{display:flex;align-items:center;gap:31px;font-size:13px}.home-nav a{position:relative;padding:12px 0;color:#4d4b45}.home-nav a:after{content:"";position:absolute;left:50%;bottom:4px;width:0;height:1px;background:var(--home-gold);transition:.25s}.home-nav a:hover{color:var(--home-green)}.home-nav a:hover:after{left:0;width:100%}.home-header-actions{display:flex;align-items:center;gap:20px;margin-left:10px}.home-link{font-size:13px;font-weight:600;color:#3d3a35}.home-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:0 26px;background:var(--home-green);border:1px solid var(--home-green);color:#fff;border-radius:2px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 12px 30px rgba(23,60,41,.14);transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.home-btn span{font-size:17px;line-height:1}.home-btn:hover{transform:translateY(-2px);background:#0f3221;box-shadow:0 18px 35px rgba(23,60,41,.19)}.home-btn-compact{min-height:45px;padding:0 19px}.home-menu-toggle{display:none;background:none;border:0;padding:8px;align-items:center;gap:5px}.home-menu-toggle span{display:block;width:22px;height:1px;background:#2d2c29}.home-menu-toggle b{font-size:0}.home-hero{min-height:720px;display:grid;grid-template-columns:minmax(0,.93fr) minmax(520px,1.07fr);align-items:center;gap:clamp(36px,5vw,84px);padding:68px clamp(28px,7vw,116px) 72px;position:relative;overflow:hidden;background:radial-gradient(circle at 90% 12%,rgba(216,187,127,.19),transparent 32%),linear-gradient(135deg,#fffdf9 0%,#f9f2e5 100%)}.home-hero:before{content:"";position:absolute;left:-180px;bottom:-250px;width:520px;height:520px;border:1px solid rgba(184,135,47,.11);border-radius:50%}.home-hero:after{content:"";position:absolute;left:-105px;bottom:-175px;width:370px;height:370px;border:1px solid rgba(184,135,47,.08);border-radius:50%}.home-hero-copy{position:relative;z-index:2;max-width:700px}.home-kicker{display:flex;align-items:center;gap:12px;color:var(--home-gold);font-size:10px;font-weight:700;letter-spacing:.23em;text-transform:uppercase}.home-kicker span{width:28px;height:1px;background:var(--home-gold)}.home-hero h1{font:500 clamp(58px,5.5vw,88px)/.94 'Cormorant Garamond',serif;letter-spacing:-.035em;margin:22px 0 26px;max-width:730px}.home-hero h1 em{font-weight:500;color:var(--home-gold)}.home-hero-lead{max-width:650px;margin:0;color:var(--home-muted);font-size:16px;line-height:1.9}.home-hero-actions{display:flex;gap:14px;align-items:center;margin:34px 0}.home-btn-secondary{min-height:54px;padding:0 23px;border:1px solid rgba(23,60,41,.26);display:inline-flex;align-items:center;justify-content:center;color:var(--home-green);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;background:rgba(255,255,255,.45);transition:.25s}.home-btn-secondary:hover{background:#fff;border-color:var(--home-green)}.home-trust-row{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid var(--home-line);padding-top:26px}.home-trust-row>div{display:flex;align-items:center;gap:10px}.home-trust-row i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-style:normal;color:var(--home-gold);border:1px solid rgba(184,135,47,.26);background:rgba(255,255,255,.64)}.home-trust-row span{display:grid;gap:2px}.home-trust-row b{font:600 15px 'Cormorant Garamond',serif}.home-trust-row small{font-size:9px;color:#878076}.home-hero-showcase{position:relative;z-index:2;min-width:0}.home-orbit{position:absolute;border-radius:50%;border:1px solid rgba(184,135,47,.13);pointer-events:none}.home-orbit-one{width:600px;height:600px;right:-170px;top:-100px}.home-orbit-two{width:430px;height:430px;right:-60px;top:-20px}.home-preview-card{position:relative;background:#24241f;border-radius:22px;padding:17px;box-shadow:0 38px 90px rgba(45,38,26,.22);border:1px solid rgba(255,255,255,.07);overflow:hidden}.home-preview-topbar{height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 10px;color:#d8c7a6}.home-preview-topbar>span{font-size:9px;letter-spacing:.22em;font-weight:700}.home-theme-switch{display:flex;border:1px solid rgba(255,255,255,.15);padding:3px}.home-theme-switch button{border:0;background:transparent;color:#b9b3aa;padding:8px 12px;font-size:9px;cursor:pointer}.home-theme-switch button.active{background:#fffaf1;color:#1d211d}.home-device-scene{height:510px;position:relative;border-radius:14px;background:linear-gradient(145deg,#5a544b,#3d3933);overflow:hidden}.home-desktop-preview{position:absolute;left:5.5%;right:5.5%;top:8%;bottom:8%;overflow:hidden;background:#f8f0dc;border:1px solid rgba(212,179,112,.42);box-shadow:0 20px 48px rgba(0,0,0,.22);transition:background .35s ease}.hp-copy{position:absolute;z-index:6;top:11%;right:7%;width:52%;text-align:center;color:#173c29;transition:.3s}.hp-copy small{font-size:7px;letter-spacing:.18em}.hp-copy h2{font:400 clamp(50px,4vw,78px)/.7 'Great Vibes','Cormorant Garamond',cursive;margin:28px 0 18px}.hp-copy h2 span{display:block}.hp-copy h2 i{display:block;color:var(--home-gold);font:500 16px/1 'Cormorant Garamond',serif;margin:10px}.hp-copy p{font:500 11px/1.6 'Cormorant Garamond',serif;color:#655c4f}.hp-date{border-block:1px solid rgba(184,135,47,.6);padding:11px 0;margin:18px auto 14px;display:flex;align-items:center;justify-content:center;gap:14px;font-family:'Cormorant Garamond',serif}.hp-date b{font-size:34px;color:var(--home-gold)}.hp-date span{font-size:9px;line-height:1.25}.hp-date strong{font-size:14px;font-weight:600}.hp-copy em{display:block;font-style:normal;font-size:8px;letter-spacing:.16em}.hp-copy button{margin-top:18px;border:0;background:var(--home-green);color:#fff;font-size:7px;font-weight:700;letter-spacing:.08em;padding:10px 18px}.hp-art{position:absolute;pointer-events:none;background-repeat:no-repeat;background-size:contain;transition:opacity .3s ease}.hp-tree{left:-4%;top:-8%;width:48%;height:58%;background-image:url('../../invitations/themes/kandyan/assets/kandyan-tree.webp');background-position:left top;opacity:.94}.hp-couple{left:0;bottom:-4%;width:43%;height:79%;background-image:url('../../invitations/themes/kandyan/assets/kandyan-couple.webp');background-position:left bottom;z-index:4}.hp-lotus{right:-3%;bottom:-8%;width:36%;height:43%;background-image:url('../../invitations/themes/kandyan/assets/kandyan-lotus-right.webp');background-position:right bottom;z-index:3}.hp-sakura-top,.hp-sakura-bottom{opacity:0}.home-phone-preview{position:absolute;left:2.3%;bottom:3.5%;width:156px;height:307px;border:7px solid #151515;border-radius:31px;background:#111;box-shadow:0 22px 44px rgba(0,0,0,.25);padding:5px;z-index:8}.home-phone-notch{position:absolute;left:50%;top:7px;transform:translateX(-50%);width:65px;height:15px;background:#151515;border-radius:0 0 11px 11px;z-index:2}.home-phone-screen{height:100%;border-radius:21px;background:#fffaf0;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--home-green);position:relative}.home-phone-screen:after{content:"";position:absolute;left:-34%;bottom:-10%;width:110%;height:54%;background:url('../../invitations/themes/kandyan/assets/kandyan-couple.webp') left bottom/contain no-repeat;opacity:.32}.home-phone-screen small{font-size:6px;letter-spacing:.15em;color:#9f772c}.home-phone-screen h3{font:400 30px/.86 'Great Vibes','Cormorant Garamond',cursive;margin:20px 0;z-index:1}.home-phone-screen h3 i{color:var(--home-gold)}.home-phone-screen>span{font:600 8px 'Cormorant Garamond',serif;letter-spacing:.14em;z-index:1}.home-phone-screen>b{position:absolute;bottom:18px;font-size:6px;letter-spacing:.12em;z-index:1}.home-rsvp-toast{position:absolute;right:2.8%;bottom:5%;z-index:9;background:rgba(255,253,248,.96);border:1px solid rgba(184,135,47,.24);box-shadow:0 14px 30px rgba(22,21,18,.16);padding:12px 14px;display:flex;align-items:center;gap:10px;border-radius:9px}.home-rsvp-toast>span{width:30px;height:30px;border-radius:50%;background:#e8f3e9;color:#2e7044;display:grid;place-items:center}.home-rsvp-toast div{display:grid}.home-rsvp-toast small{font-size:8px;color:#8b8378}.home-rsvp-toast b{font:600 14px 'Cormorant Garamond',serif}.home-preview-card[data-theme="modern"] .home-desktop-preview{background:#f5f2ed}.home-preview-card[data-theme="modern"] .hp-tree,.home-preview-card[data-theme="modern"] .hp-couple,.home-preview-card[data-theme="modern"] .hp-lotus{opacity:0}.home-preview-card[data-theme="modern"] .hp-copy{right:24%;width:52%;color:#26231f}.home-preview-card[data-theme="modern"] .hp-copy h2{font-family:'Cormorant Garamond',serif;font-style:italic;line-height:.86}.home-preview-card[data-theme="modern"] .home-phone-screen{background:#f4f1ec;color:#2b2824}.home-preview-card[data-theme="modern"] .home-phone-screen:after{display:none}.home-preview-card[data-theme="sakura"] .home-desktop-preview{background:linear-gradient(180deg,#fffafa,#fbeef3)}.home-preview-card[data-theme="sakura"] .hp-tree,.home-preview-card[data-theme="sakura"] .hp-couple,.home-preview-card[data-theme="sakura"] .hp-lotus{opacity:0}.home-preview-card[data-theme="sakura"] .hp-sakura-top{opacity:1;right:-3%;top:-4%;width:48%;height:43%;background-image:url('../../invitations/themes/sakura/assets/sakura-top-right-clean.webp');background-position:right top}.home-preview-card[data-theme="sakura"] .hp-sakura-bottom{opacity:1;left:-3%;bottom:-7%;width:34%;height:32%;background-image:url('../images/sakura-bottom-left-clean.webp');background-position:left bottom}.home-preview-card[data-theme="sakura"] .hp-copy{right:20%;width:58%;color:#a12d54}.home-preview-card[data-theme="sakura"] .hp-copy h2{font-family:'Great Vibes','Cormorant Garamond',cursive}.home-preview-card[data-theme="sakura"] .hp-copy button{background:#b72f5a}.home-preview-card[data-theme="sakura"] .home-phone-screen{background:#fff7fa;color:#a12d54}.home-preview-card[data-theme="sakura"] .home-phone-screen:after{display:block;background:url('../images/sakura-bottom-left-clean.webp') left bottom/contain no-repeat;opacity:.65}.home-preview-card[data-theme="sakura"] .home-phone-screen:before{content:"";position:absolute;right:-28%;top:-8%;width:90%;height:45%;background:url('../../invitations/themes/sakura/assets/sakura-top-right-clean.webp') right top/contain no-repeat}.home-value-strip{display:grid;grid-template-columns:repeat(4,1fr);width:min(1450px,92%);margin:-14px auto 0;position:relative;z-index:3;background:#fffdf8;border:1px solid var(--home-line);box-shadow:0 18px 55px rgba(63,49,31,.08)}.home-value-strip article{padding:25px 28px;display:flex;align-items:center;gap:16px}.home-value-strip article+article{border-left:1px solid var(--home-line)}.home-value-strip article>span{font:500 26px 'Cormorant Garamond',serif;color:var(--home-gold)}.home-value-strip article div{display:grid;gap:4px}.home-value-strip b{font:600 15px 'Cormorant Garamond',serif}.home-value-strip small{font-size:9px;color:#878076}.home-section{padding:112px clamp(28px,7vw,116px)}.home-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.62fr);gap:80px;align-items:end;margin-bottom:52px}.home-section-head h2,.home-guests h2,.home-builder-copy h2,.home-final-cta h2{font:500 clamp(42px,4.3vw,66px)/.98 'Cormorant Garamond',serif;margin:13px 0 0;letter-spacing:-.02em}.home-section-head>p{color:var(--home-muted);font-size:14px;line-height:1.8;margin:0}.home-section-head.centered{display:block;text-align:center;max-width:830px;margin-left:auto;margin-right:auto}.home-section-head.centered .home-kicker{justify-content:center}.home-section-head.centered>p{margin:15px auto 0;max-width:670px}.home-theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.home-theme-card{background:#fffdf8;border:1px solid var(--home-line);padding:11px;transition:.35s}.home-theme-card:hover{transform:translateY(-7px);box-shadow:0 25px 55px rgba(60,47,30,.10)}.home-theme-art{height:440px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.theme-modern-art{background:linear-gradient(145deg,#ede9e1,#faf8f3);border:1px solid #ded7cc}.theme-modern-art:before,.theme-modern-art:after{content:"";position:absolute;left:12%;right:12%;height:1px;background:#aba59b}.theme-modern-art:before{top:18%}.theme-modern-art:after{bottom:18%}.theme-modern-art>span{font:500 68px 'Cormorant Garamond',serif;color:#b8872f;border:1px solid #b9b0a2;border-radius:50%;width:86px;height:86px;display:grid;place-items:center}.theme-modern-art>b{font:500 36px 'Cormorant Garamond',serif;margin:30px 0 10px}.theme-modern-art b i{color:var(--home-gold)}.theme-modern-art>small{font-size:9px;letter-spacing:.18em}.theme-modern-art>em{position:absolute;bottom:8%;font-style:normal;font-size:8px;letter-spacing:.19em;color:#8c867c}.theme-sakura-art{background:linear-gradient(180deg,#fffafb,#faedf2);border:1px solid #ecd3db;color:#9e2f54}.theme-sakura-art .sakura-corner{position:absolute;background-repeat:no-repeat;background-size:contain;pointer-events:none}.sakura-a{right:-8%;top:-5%;width:72%;height:53%;background-image:url('../../invitations/themes/sakura/assets/sakura-top-right-clean.webp');background-position:right top}.sakura-b{left:-7%;bottom:-5%;width:55%;height:42%;background-image:url('../images/sakura-bottom-left-clean.webp');background-position:left bottom}.theme-sakura-art>small{font-size:8px;letter-spacing:.15em;z-index:2;color:#9c6073}.theme-sakura-art>b{font:400 53px/.82 'Great Vibes','Cormorant Garamond',cursive;z-index:2;margin:34px 0}.theme-sakura-art b i{color:#bb9241}.theme-sakura-art>em{z-index:2;font:600 11px 'Cormorant Garamond',serif;letter-spacing:.13em;color:#7e6068}.theme-kandyan-art{background:linear-gradient(180deg,#fff9e9,#efe3c4);border:1px solid #dfc99b;color:#173c29;align-items:flex-end;padding-right:12%;text-align:right}.kandyan-leaves{position:absolute;inset:-4% auto auto -8%;width:65%;height:55%;background:url('../../invitations/themes/kandyan/assets/kandyan-tree.webp') left top/contain no-repeat}.kandyan-mini-couple{position:absolute;left:-2%;bottom:-5%;width:62%;height:78%;background:url('../../invitations/themes/kandyan/assets/kandyan-couple.webp') left bottom/contain no-repeat}.theme-kandyan-art>small,.theme-kandyan-art>b,.theme-kandyan-art>em{position:relative;z-index:2;width:55%}.theme-kandyan-art>small{font-size:7px;letter-spacing:.18em;color:#7d6f52}.theme-kandyan-art>b{font:400 48px/.8 'Great Vibes','Cormorant Garamond',cursive;margin:34px 0}.theme-kandyan-art b i{color:#b8872f}.theme-kandyan-art>em{font-style:normal;font-size:8px;letter-spacing:.15em;color:#8e6c2e}.home-theme-copy{display:grid;grid-template-columns:42px 1fr 42px;gap:15px;align-items:center;padding:22px 10px 12px}.home-theme-copy>span{font:500 25px 'Cormorant Garamond',serif;color:var(--home-gold)}.home-theme-copy h3{font:600 25px 'Cormorant Garamond',serif;margin:0 0 4px}.home-theme-copy p{margin:0;color:#777066;font-size:10px;line-height:1.55}.home-theme-copy>a{width:38px;height:38px;border:1px solid rgba(23,60,41,.22);border-radius:50%;display:grid;place-items:center;color:var(--home-green);transition:.25s}.home-theme-copy>a:hover{background:var(--home-green);color:#fff}.home-experience{background:#1d2922;color:#f8f3e8;position:relative;overflow:hidden}.home-experience:before{content:"";position:absolute;right:-180px;top:-180px;width:520px;height:520px;border:1px solid rgba(216,179,108,.14);border-radius:50%}.home-section-head.light>p{color:#bdb9ae}.home-section-head.light .home-kicker{color:#d6b36c}.home-section-head.light h2{color:#fffaf0}.home-bento{display:grid;grid-template-columns:1.4fr .7fr .7fr;grid-template-rows:auto auto;gap:18px}.home-bento-large{grid-row:span 2;min-height:500px;background:linear-gradient(145deg,#faf5e9,#e8ddc3);color:var(--home-ink);padding:48px;position:relative;overflow:hidden}.bento-copy{max-width:55%;position:relative;z-index:2}.bento-copy>span{font-size:9px;color:var(--home-gold);letter-spacing:.2em;font-weight:700}.bento-copy h3{font:500 45px/.98 'Cormorant Garamond',serif;margin:15px 0}.bento-copy p{font-size:12px;line-height:1.75;color:#746d62}.bento-copy a{display:inline-block;margin-top:18px;color:var(--home-green);font-size:11px;font-weight:700}.bento-phone{position:absolute;right:5%;bottom:-35px;width:220px;height:430px;border:8px solid #19231d;border-radius:40px;background:#151d18;padding:7px;box-shadow:0 25px 50px rgba(0,0,0,.18);transform:rotate(3deg)}.bento-phone>div{height:100%;border-radius:27px;background:linear-gradient(180deg,#fffaf0,#f4e8c9);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--home-green)}.bento-phone small{font-size:7px;letter-spacing:.16em;color:#a67827}.bento-phone b{font:500 82px 'Cormorant Garamond',serif;color:#af7c25;margin:16px}.bento-phone span{font:600 11px 'Cormorant Garamond',serif;letter-spacing:.18em}.bento-phone em{margin-top:60px;font:500 21px 'Cormorant Garamond',serif}.home-bento-card{min-height:240px;border:1px solid rgba(255,255,255,.11);padding:36px;background:rgba(255,255,255,.045);transition:.3s}.home-bento-card:hover{background:rgba(255,255,255,.075);transform:translateY(-4px)}.bento-icon{width:48px;height:48px;border:1px solid rgba(214,179,108,.4);border-radius:50%;display:grid;place-items:center;color:#d6b36c;font-size:20px;margin-bottom:34px}.home-bento-card h3{font:500 26px 'Cormorant Garamond',serif;margin:0 0 8px}.home-bento-card p{margin:0;color:#bdb9ae;font-size:11px;line-height:1.65}.home-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--home-line);background:#fffdf8}.home-steps article{padding:40px 34px 42px;min-height:320px;position:relative}.home-steps article+article{border-left:1px solid var(--home-line)}.home-steps article>span{font:500 28px 'Cormorant Garamond',serif;color:#c9a96c}.home-step-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(184,135,47,.26);color:var(--home-gold);font-size:21px;margin:36px 0 24px}.home-steps h3{font:600 25px 'Cormorant Garamond',serif;margin:0 0 8px}.home-steps p{font-size:10px;line-height:1.7;color:#7c756b}.home-guests{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,8vw,120px);align-items:center;background:linear-gradient(120deg,#f4ead8,#fffaf1)}.home-guests-copy>p,.home-builder-copy>p{color:var(--home-muted);line-height:1.85;font-size:14px}.home-personalization-list{display:grid;gap:11px;margin-top:30px}.home-personalization-list>div{display:grid;grid-template-columns:118px 1fr;align-items:center;border-bottom:1px solid rgba(118,90,44,.14);padding:12px 0}.home-personalization-list span{font:600 17px 'Cormorant Garamond',serif;color:var(--home-green)}.home-personalization-list p{margin:0;font:500 15px/1.45 'Cormorant Garamond',serif;color:#685f54}.home-guest-dashboard{background:#fffdf9;border:1px solid rgba(118,90,44,.18);padding:30px;box-shadow:0 28px 70px rgba(64,49,29,.10)}.guest-dash-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--home-line)}.guest-dash-head small{font-size:8px;letter-spacing:.18em;color:var(--home-gold);font-weight:700}.guest-dash-head h3{font:600 30px 'Cormorant Garamond',serif;margin:3px 0 0}.guest-dash-head button,.guest-row button{border:0;background:var(--home-green);color:#fff;padding:11px 15px;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.guest-dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--home-line);margin:22px 0}.guest-dash-stats div{background:#fffdf9;padding:16px;text-align:center}.guest-dash-stats b{display:block;font:500 30px 'Cormorant Garamond',serif;color:var(--home-green)}.guest-dash-stats span{font-size:8px;color:#847d72}.guest-row{display:grid;grid-template-columns:36px 1fr 82px 55px;align-items:center;gap:10px;padding:14px 4px;border-bottom:1px solid var(--home-line)}.guest-row>i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#f0e6d5;color:#8a6326;font:600 12px 'Cormorant Garamond',serif}.guest-row>div{display:grid;gap:2px}.guest-row div b{font:600 14px 'Cormorant Garamond',serif}.guest-row div small{font-size:8px;color:#8a847b}.guest-row>span{font-size:8px;color:#8a847b}.guest-row>span.attending{color:#2c7547}.guest-row button{padding:8px;background:#272821}.guest-dash-note{display:flex;gap:11px;align-items:center;margin-top:20px;padding:13px;background:#eef5ec}.guest-dash-note>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#dfeedd;color:#2b7144}.guest-dash-note p{margin:0;display:grid}.guest-dash-note b{font:600 13px 'Cormorant Garamond',serif}.guest-dash-note small{font-size:8px;color:#667263}.home-builder-showcase{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(45px,6vw,90px);align-items:center}.builder-window{background:#fffdf8;border:1px solid var(--home-line);box-shadow:0 28px 70px rgba(57,44,29,.12)}.builder-toolbar{height:38px;background:#292722;color:#c9c1b4;display:flex;align-items:center;gap:6px;padding:0 13px;font-size:8px}.builder-toolbar i{width:7px;height:7px;border-radius:50%;background:#a19482}.builder-toolbar span{margin-left:8px}.builder-body{height:430px;display:grid;grid-template-columns:90px 1fr 220px;background:#faf5ea}.builder-body aside{display:flex;flex-direction:column;border-right:1px solid var(--home-line);font-size:8px}.builder-body aside>*{padding:17px 11px;border-bottom:1px solid var(--home-line)}.builder-body aside b{color:var(--home-green);background:#fff}.builder-body>main{padding:33px 24px}.builder-body>main>small{font-size:7px;color:var(--home-gold);letter-spacing:.2em}.builder-body>main h3{font:600 27px 'Cormorant Garamond',serif;margin:8px 0 22px}.builder-options{display:grid;gap:10px}.builder-options>div{background:#fff;border:1px solid var(--home-line);padding:13px;display:grid;grid-template-columns:34px 1fr 24px;align-items:center;gap:9px}.builder-options>div.selected{border-color:#b8872f}.builder-options>div>i{width:30px;height:38px;background:linear-gradient(#f7edcf,#e8d6a5)}.builder-options p{display:grid;margin:0}.builder-options p b{font:600 13px 'Cormorant Garamond',serif}.builder-options p span{font-size:7px;color:#8a8276}.builder-options em{font-style:normal;color:#2f7948}.builder-device{background:#28251f;display:flex;align-items:center;justify-content:center;padding:25px}.builder-device>div{width:140px;height:300px;border:6px solid #111;border-radius:28px;background:linear-gradient(#fff9e7,#f0dfb4);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#173c29}.builder-device small{font-size:5px;letter-spacing:.18em}.builder-device b{font:400 31px/.7 'Great Vibes','Cormorant Garamond',cursive;margin-top:30px}.builder-device b i{color:#b8872f}.home-builder-copy ul{list-style:none;padding:0;margin:28px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-builder-copy li{font-size:10px;padding-left:20px;position:relative}.home-builder-copy li:before{content:"✓";position:absolute;left:0;color:var(--home-gold)}.home-pricing{padding-top:50px}.home-pricing-panel{background:var(--home-green);color:#fff;padding:60px 65px;display:grid;grid-template-columns:1fr auto;gap:55px;align-items:center;position:relative;overflow:hidden}.home-pricing-panel:after{content:"";position:absolute;right:-100px;top:-170px;width:420px;height:420px;border:1px solid rgba(214,179,108,.22);border-radius:50%}.home-pricing-panel h2{font:500 clamp(40px,4vw,58px)/.98 'Cormorant Garamond',serif;margin:12px 0}.home-pricing-panel p{margin:0;color:#ced6cf;font-size:12px;line-height:1.7;max-width:680px}.home-pricing-actions{position:relative;z-index:2;display:grid;justify-items:start;gap:10px}.home-pricing-actions .home-btn{background:#fffaf0;color:var(--home-green);border-color:#fffaf0}.home-pricing-actions small{font-size:8px;color:#bbc8be;max-width:240px}.home-faq{padding-top:85px}.home-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-faq details{background:#fffdf8;border:1px solid var(--home-line);padding:0 24px}.home-faq summary{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font:600 19px 'Cormorant Garamond',serif}.home-faq summary::-webkit-details-marker{display:none}.home-faq summary span{font:400 24px Manrope;color:var(--home-gold);transition:.2s}.home-faq details[open] summary span{transform:rotate(45deg)}.home-faq details p{margin:-5px 0 24px;color:#756e64;font-size:11px;line-height:1.75}.home-final-cta{margin-top:30px;min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 24px;background:linear-gradient(145deg,#243a2b,#102b1d);color:#fff;position:relative;overflow:hidden}.home-final-cta>img{width:130px;height:70px;object-fit:contain;filter:brightness(0) invert(1);opacity:.9;margin-bottom:18px}.home-final-cta .home-kicker{color:#d7b56e}.home-final-cta h2{max-width:850px;font-size:clamp(46px,5vw,70px);margin:14px auto 18px}.home-final-cta>p{max-width:610px;color:#cad4cc;font-size:13px;line-height:1.7;margin:0 auto 30px}.home-btn-light{background:#fffaf0!important;border-color:#fffaf0!important;color:var(--home-green)!important}.final-cta-art{position:absolute;background-repeat:no-repeat;background-size:contain;pointer-events:none;opacity:.18}.final-cta-sakura{right:-70px;top:-55px;width:430px;height:320px;background-image:url('../../invitations/themes/sakura/assets/sakura-top-right-clean.webp')}.final-cta-lotus{left:-80px;bottom:-90px;width:420px;height:390px;background-image:url('../../invitations/themes/kandyan/assets/kandyan-lotus-left.webp');background-position:left bottom}.home-footer{display:grid;grid-template-columns:1.5fr .65fr .65fr .8fr;gap:60px;padding:62px clamp(28px,7vw,116px);background:#171b18;color:#e9e5dc}.home-footer-brand img{width:120px;height:62px;object-fit:contain;filter:brightness(0) invert(1);opacity:.88}.home-footer p{font-size:10px;line-height:1.65;color:#aaa9a2}.home-footer>div:not(.home-footer-brand){display:flex;flex-direction:column;gap:11px}.home-footer b{font:600 17px 'Cormorant Garamond',serif;color:#fff}.home-footer a{font-size:10px;color:#aaa9a2}.home-footer a:hover{color:#d6b36c}.home-footer-meta small{color:#706f6a;font-size:8px;margin-top:auto}
@media(max-width:1200px){.home-header{gap:24px;padding-inline:34px}.home-nav{gap:22px}.home-hero{grid-template-columns:.9fr 1.1fr;padding-inline:5vw}.home-hero h1{font-size:67px}.home-device-scene{height:470px}.home-theme-art{height:390px}.home-bento-large{padding:38px}.bento-phone{width:190px;height:380px}.home-guests{gap:55px}.home-builder-showcase{grid-template-columns:1fr}.home-builder-copy{max-width:740px}.home-builder-visual{order:2}}
@media(max-width:980px){.home-header{height:78px}.home-brand img{width:126px;height:64px}.home-menu-toggle{display:flex;flex-direction:column;margin-left:auto}.home-nav{position:absolute;top:78px;left:0;right:0;background:#fffdf8;border-bottom:1px solid var(--home-line);padding:16px 28px 23px;display:none;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 22px 35px rgba(55,43,28,.10)}.home-nav.open{display:flex}.home-nav a{padding:13px 0;border-bottom:1px solid rgba(118,90,44,.10)}.home-header-actions{margin-left:0}.home-header-actions .home-link{display:none}.home-hero{grid-template-columns:1fr;min-height:auto;padding-top:70px}.home-hero-copy{max-width:760px}.home-hero-showcase{max-width:760px;width:100%;margin:10px auto 0}.home-value-strip{grid-template-columns:1fr 1fr}.home-value-strip article:nth-child(3){border-left:0;border-top:1px solid var(--home-line)}.home-value-strip article:nth-child(4){border-top:1px solid var(--home-line)}.home-section-head{grid-template-columns:1fr;gap:20px}.home-theme-grid{grid-template-columns:1fr 1fr}.home-theme-card:last-child{grid-column:1/-1;max-width:calc(50% - 12px);width:100%;justify-self:center}.home-bento{grid-template-columns:1fr 1fr}.home-bento-large{grid-column:1/-1;grid-row:auto}.home-steps{grid-template-columns:1fr 1fr}.home-steps article:nth-child(3){border-left:0;border-top:1px solid var(--home-line)}.home-steps article:nth-child(4){border-top:1px solid var(--home-line)}.home-guests{grid-template-columns:1fr}.home-guests-copy{max-width:730px}.home-pricing-panel{grid-template-columns:1fr}.home-footer{grid-template-columns:1.2fr 1fr 1fr}.home-footer-meta{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.08);padding-top:25px}}
@media(max-width:680px){.home-header{padding:7px 18px}.home-brand img{width:112px}.home-header-actions{gap:8px}.home-btn-compact{min-height:40px;padding:0 12px;font-size:9px}.home-hero{padding:50px 20px 55px}.home-hero h1{font-size:51px}.home-hero-lead{font-size:14px;line-height:1.75}.home-hero-actions{flex-direction:column;align-items:stretch}.home-btn,.home-btn-secondary{width:100%}.home-trust-row{gap:18px}.home-trust-row>div{width:calc(50% - 9px)}.home-trust-row>div:last-child{width:100%}.home-preview-card{padding:10px;border-radius:14px}.home-preview-topbar{height:auto;min-height:48px;align-items:flex-start;flex-direction:column;gap:8px;padding:5px}.home-theme-switch{width:100%}.home-theme-switch button{flex:1}.home-device-scene{height:390px}.home-desktop-preview{left:3%;right:3%;top:5%;bottom:5%}.hp-copy{right:3%;width:58%;top:8%}.hp-copy h2{font-size:45px}.hp-copy p{font-size:9px}.hp-date{gap:8px;padding:8px 0}.hp-date b{font-size:26px}.home-phone-preview{width:115px;height:230px;border-width:5px;border-radius:24px;left:2%;bottom:3%}.home-phone-notch{width:50px;height:12px}.home-phone-screen h3{font-size:25px}.home-rsvp-toast{display:none}.home-value-strip{width:calc(100% - 28px);grid-template-columns:1fr}.home-value-strip article+article{border-left:0;border-top:1px solid var(--home-line)}.home-section{padding:78px 20px}.home-section-head{margin-bottom:35px}.home-section-head h2,.home-guests h2,.home-builder-copy h2{font-size:43px}.home-theme-grid{grid-template-columns:1fr}.home-theme-card:last-child{grid-column:auto;max-width:none}.home-theme-art{height:410px}.home-bento{grid-template-columns:1fr}.home-bento-large{min-height:580px;padding:30px}.bento-copy{max-width:100%}.bento-copy h3{font-size:37px}.bento-phone{right:50%;transform:translateX(50%) rotate(2deg);width:170px;height:335px}.home-bento-card{min-height:200px}.home-steps{grid-template-columns:1fr}.home-steps article+article{border-left:0;border-top:1px solid var(--home-line)}.home-personalization-list>div{grid-template-columns:105px 1fr}.home-guest-dashboard{padding:19px}.guest-dash-head button{display:none}.guest-row{grid-template-columns:32px 1fr 64px}.guest-row>button{display:none}.guest-dash-stats div{padding:12px 5px}.builder-body{grid-template-columns:70px 1fr;height:405px}.builder-device{display:none}.builder-body>main{padding:25px 15px}.home-builder-copy ul{grid-template-columns:1fr}.home-pricing{padding-top:25px}.home-pricing-panel{padding:38px 28px}.home-faq-grid{grid-template-columns:1fr}.home-final-cta{min-height:480px;padding-inline:20px}.home-final-cta h2{font-size:46px}.final-cta-sakura{width:290px}.final-cta-lotus{width:300px}.home-footer{grid-template-columns:1fr 1fr;padding:45px 20px;gap:35px}.home-footer-brand{grid-column:1/-1}.home-footer-meta{grid-column:1/-1}.home-v2 .reveal{transform:translateY(16px)}}
@media(prefers-reduced-motion:reduce){.home-v2 .reveal{opacity:1!important;transform:none!important;transition:none!important}.home-theme-card,.home-btn,.home-bento-card{transition:none!important}}

/* Stage 56 — Homepage live Kandyan invitation in laptop + phone frames */
.home-hero-kandyan-live{min-height:610px;display:flex;align-items:center;justify-content:center;padding:38px 6px 18px;isolation:isolate}
.home-live-preview-label{position:absolute;left:4%;top:4px;z-index:12;display:grid;grid-template-columns:22px auto;align-items:center;column-gap:9px;color:var(--home-gold)}
.home-live-preview-label>span{width:22px;height:1px;background:currentColor}.home-live-preview-label>b{font-size:9px;letter-spacing:.2em}.home-live-preview-label>small{grid-column:2;font-size:8px;color:#8b8378;margin-top:4px}
.home-laptop-device{position:relative;width:min(100%,760px);z-index:4;filter:drop-shadow(0 34px 42px rgba(45,38,26,.2))}
.home-laptop-lid{position:relative;width:100%;aspect-ratio:16/10;background:linear-gradient(145deg,#31312f,#121212);border-radius:22px 22px 10px 10px;padding:14px 14px 17px;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(0,0,0,.55)}
.home-laptop-camera{position:absolute;top:5px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:#020202;box-shadow:0 0 0 1px #454545;z-index:3}
.home-laptop-screen{width:100%;height:100%;overflow:hidden;border-radius:10px;background:#fff8e8;position:relative;isolation:isolate}
.home-laptop-screen iframe,.home-live-phone-screen iframe{display:block;width:100%;height:100%;border:0;background:#fff8e8;overscroll-behavior:contain;touch-action:pan-y}
.home-laptop-base{position:relative;height:19px;margin:-1px -7% 0;background:linear-gradient(180deg,#d2d0ca,#aaa9a5 55%,#777773);border-radius:1px 1px 45% 45%/1px 1px 70% 70%;box-shadow:0 8px 13px rgba(0,0,0,.13)}
.home-laptop-base:before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:16%;height:5px;border-radius:0 0 7px 7px;background:#8f8e89}.home-laptop-base span{position:absolute;left:10%;right:10%;bottom:-3px;height:3px;border-radius:0 0 50% 50%;background:rgba(71,69,66,.28)}
.home-live-phone{position:absolute;left:-12px;bottom:16px;width:176px;height:355px;z-index:8;padding:7px;background:#141414;border-radius:34px;box-shadow:0 22px 48px rgba(0,0,0,.3);border:1px solid #333}
.home-live-phone-notch{position:absolute;left:50%;top:7px;transform:translateX(-50%);width:74px;height:17px;background:#141414;border-radius:0 0 13px 13px;z-index:5;pointer-events:none}
.home-live-phone-screen{width:100%;height:100%;border-radius:26px;overflow:hidden;background:#fff8e8;position:relative;isolation:isolate}
.home-hero-kandyan-live .home-rsvp-toast{right:0;bottom:6px}
.home-hero-kandyan-live iframe{scrollbar-width:none;-ms-overflow-style:none}
@media(max-width:1180px){.home-hero-kandyan-live{min-height:560px}.home-live-phone{width:155px;height:315px;left:-5px}.home-laptop-device{width:min(100%,680px)}}
@media(max-width:980px){.home-hero-kandyan-live{max-width:780px;width:100%;min-height:590px}.home-laptop-device{width:min(94%,720px)}.home-live-phone{left:0;bottom:18px;width:168px;height:338px}}
@media(max-width:680px){.home-hero-kandyan-live{min-height:430px;padding-top:40px}.home-live-preview-label{left:1%;top:4px}.home-laptop-device{width:100%}.home-laptop-lid{padding:8px 8px 10px;border-radius:14px 14px 7px 7px}.home-laptop-screen{border-radius:6px}.home-laptop-base{height:12px}.home-live-phone{width:105px;height:214px;left:-4px;bottom:8px;border-radius:22px;padding:4px}.home-live-phone-screen{border-radius:18px}.home-live-phone-notch{width:45px;height:10px;top:4px;border-radius:0 0 8px 8px}.home-hero-kandyan-live .home-rsvp-toast{display:none}}


/* Stage 57 — Fit the complete invitation width inside both live device screens. */
.home-laptop-screen iframe[data-preview-width],.home-live-phone-screen iframe[data-preview-width]{position:absolute;left:0;top:0;max-width:none!important;min-width:0!important}

/* Stage 58 — dedicated Explore Designs page */
.designs-v1{background:#fbf7ef;color:#201f1b}
.designs-v1 .home-nav a.active{color:#0f4b32;font-weight:700}
.designs-hero{max-width:1440px;margin:0 auto;padding:92px 7vw 70px;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:72px;align-items:end;border-bottom:1px solid rgba(159,116,43,.18)}
.designs-hero h1{font:500 clamp(54px,6vw,94px)/.93 'Cormorant Garamond',serif;letter-spacing:-.035em;margin:18px 0 28px;max-width:870px}
.designs-hero h1 em{font-style:italic;color:#b67f25;font-weight:400}
.designs-hero p{font:400 18px/1.75 Manrope,sans-serif;color:#71695e;max-width:760px}
.designs-hero-note{display:flex;gap:20px;align-items:center;padding:26px 0;border-top:1px solid rgba(159,116,43,.35);border-bottom:1px solid rgba(159,116,43,.18)}
.designs-hero-note>span{font:500 60px/1 'Cormorant Garamond',serif;color:#b67f25}
.designs-hero-note p{margin:0;font-size:14px;line-height:1.5}.designs-hero-note b,.designs-hero-note small{display:block}.designs-hero-note b{font:600 18px 'Cormorant Garamond',serif;color:#201f1b}.designs-hero-note small{margin-top:5px;color:#81776a}
.designs-collection{max-width:1440px;margin:0 auto;padding:28px 7vw 110px}
.design-detail{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(420px,1.15fr);gap:clamp(50px,7vw,110px);align-items:center;padding:100px 0;border-bottom:1px solid rgba(159,116,43,.18)}
.design-detail.reverse .design-copy{order:2}.design-detail.reverse .design-preview{order:1}
.design-number{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid rgba(182,127,37,.38);border-radius:50%;font:600 12px Manrope,sans-serif;color:#aa7420;margin-bottom:28px}
.design-copy h2{font:500 clamp(48px,5vw,74px)/.98 'Cormorant Garamond',serif;margin:13px 0 22px;letter-spacing:-.025em}
.design-copy>p{font:400 17px/1.75 Manrope,sans-serif;color:#71695e;max-width:610px}
.design-copy ul{list-style:none;margin:30px 0 36px;padding:0;border-top:1px solid rgba(159,116,43,.18)}
.design-copy li{position:relative;padding:14px 0 14px 26px;border-bottom:1px solid rgba(159,116,43,.13);font:500 14px Manrope,sans-serif;color:#544e45}.design-copy li:before{content:'✓';position:absolute;left:0;color:#a97422}
.design-preview{min-height:650px;display:grid;place-items:center;position:relative;overflow:hidden;border-radius:28px;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.92),rgba(229,217,196,.72) 58%,rgba(205,190,166,.64));border:1px solid rgba(159,116,43,.15)}
.design-preview:before,.design-preview:after{content:'';position:absolute;border:1px solid rgba(173,122,35,.13);border-radius:50%;width:520px;height:520px}.design-preview:before{left:-250px;top:-250px}.design-preview:after{right:-300px;bottom:-300px}
.design-preview-sakura{background:radial-gradient(circle at 50% 42%,#fffefd,#fae9ef 64%,#f3d9e2)}
.design-preview-kandyan{background:radial-gradient(circle at 50% 42%,#fffdf8,#eee5cf 67%,#ddd0af)}
.design-phone{position:relative;z-index:2;width:min(340px,74%);aspect-ratio:390/780;background:#181817;border:12px solid #181817;border-radius:47px;box-shadow:0 35px 65px rgba(45,39,30,.22)}
.design-phone-notch{position:absolute;z-index:5;left:50%;top:-1px;transform:translateX(-50%);width:108px;height:28px;background:#181817;border-radius:0 0 17px 17px;pointer-events:none}
.design-phone-screen{position:absolute;inset:0;border-radius:34px;overflow:hidden;background:#fff;clip-path:inset(0 round 34px);-webkit-clip-path:inset(0 round 34px)}
.design-phone-screen iframe{border:0;display:block;overflow:auto;-ms-overflow-style:none;scrollbar-width:none}.design-phone-screen iframe::-webkit-scrollbar{display:none}
.designs-compare{max-width:1260px;margin:0 auto 110px;padding:54px 62px;display:flex;justify-content:space-between;gap:50px;align-items:center;background:#173b25;color:#fff;border-radius:2px}
.designs-compare h2{font:500 clamp(38px,4vw,58px)/1 'Cormorant Garamond',serif;margin:12px 0 15px;max-width:720px}.designs-compare p{margin:0;max-width:740px;color:#d8d5c8;line-height:1.7}.designs-compare .home-kicker{color:#d9aa55}.designs-compare .home-btn{background:#fff;color:#173b25;white-space:nowrap}
@media(max-width:980px){.designs-hero{grid-template-columns:1fr;gap:32px;padding-top:70px}.designs-hero-note{max-width:520px}.design-detail,.design-detail.reverse{grid-template-columns:1fr;gap:42px;padding:72px 0}.design-detail.reverse .design-copy,.design-detail.reverse .design-preview{order:initial}.design-preview{min-height:600px}.designs-compare{margin-left:5vw;margin-right:5vw;flex-direction:column;align-items:flex-start}}
@media(max-width:640px){.designs-hero{padding:56px 24px 42px}.designs-hero h1{font-size:52px}.designs-hero p{font-size:16px}.designs-collection{padding:10px 22px 70px}.design-detail{padding:62px 0}.design-copy h2{font-size:48px}.design-preview{min-height:520px;border-radius:20px}.design-phone{width:78%;border-width:9px;border-radius:38px}.design-phone-screen{border-radius:27px;clip-path:inset(0 round 27px);-webkit-clip-path:inset(0 round 27px)}.designs-compare{padding:42px 28px;margin-bottom:70px}.designs-compare .home-btn{width:100%;justify-content:center}}


/* Stage 59 — compact Explore Designs cards + live preview actions */
.designs-collection{padding-top:10px!important;padding-bottom:78px!important}
.design-detail{grid-template-columns:minmax(300px,.82fr) minmax(360px,1.18fr)!important;gap:clamp(34px,5vw,72px)!important;padding:58px 0!important}
.design-copy h2{font-size:clamp(38px,4vw,58px)!important;margin:8px 0 14px!important}
.design-copy>p{font-size:15px!important;line-height:1.65!important;max-width:540px!important;margin:0 0 22px!important}
.design-copy ul{display:none!important}
.design-number{font-size:12px!important}
.design-copy .home-kicker{font-size:10px!important;letter-spacing:.18em!important}
.design-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:22px}
.design-actions .home-btn{min-height:46px;padding:0 19px;font-size:11px;letter-spacing:.06em}
.design-actions .home-btn-outline{background:transparent;color:#173b25;border:1px solid rgba(23,59,37,.35);box-shadow:none}
.design-actions .home-btn-outline:hover{background:#173b25;color:#fff;border-color:#173b25}
.design-preview{min-height:500px!important}
.design-phone{width:min(300px,70%)!important}
.designs-compare{margin-bottom:80px!important}
@media(max-width:980px){
  .design-detail,.design-detail.reverse{gap:28px!important;padding:46px 0!important}
  .design-preview{min-height:470px!important}
  .design-phone{width:min(290px,68%)!important}
}
@media(max-width:640px){
  .designs-hero{padding:44px 22px 28px!important}
  .designs-hero h1{font-size:44px!important;margin:12px 0 16px!important}
  .designs-hero p{font-size:14px!important;line-height:1.6!important}
  .designs-hero-note{padding:17px 0!important;gap:14px!important}
  .designs-hero-note>span{font-size:44px!important}
  .designs-collection{padding:0 20px 52px!important}
  .design-detail{padding:36px 0!important;gap:20px!important}
  .design-copy h2{font-size:38px!important;margin:6px 0 10px!important}
  .design-copy>p{font-size:13px!important;line-height:1.58!important;margin-bottom:16px!important}
  .design-copy .home-kicker{font-size:9px!important}
  .design-actions{margin-top:16px;gap:8px}
  .design-actions .home-btn{flex:1 1 150px;justify-content:center;min-height:44px;padding:0 13px;font-size:10px}
  .design-preview{min-height:430px!important;margin-top:2px}
  .design-phone{width:min(250px,72%)!important;border-width:8px!important}
  .designs-compare{margin-top:0!important}
}

/* Stage 60 — mobile design order: copy → iframe → actions */
@media(max-width:640px){
  .design-detail,.design-detail.reverse{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .design-detail .design-copy,.design-detail.reverse .design-copy{display:contents!important}
  .design-detail .design-number,.design-detail .design-copy>.home-kicker,.design-detail .design-copy>h2,.design-detail .design-copy>p{order:1}
  .design-detail .design-preview,.design-detail.reverse .design-preview{order:2!important;width:100%!important}
  .design-detail .design-actions,.design-detail.reverse .design-actions{order:3!important;width:100%!important;margin-top:0!important}
  .design-detail .design-number{margin-bottom:10px!important}
  .design-detail .design-preview{margin:4px 0 12px!important}
}


/* Stage 61 — reliable Explore Designs iframe scrolling.
   A transparent touch/wheel layer scrolls the same-origin invitation iframe, so
   Sakura, Modern and Kandyan previews behave consistently even when scaled. */
.design-phone-screen{position:absolute!important;inset:0!important;overflow:hidden!important;}
.design-phone-screen iframe{pointer-events:none!important;}
.design-scroll-capture{position:absolute;inset:0;z-index:12;display:block;background:transparent;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;}
.design-scroll-capture:active{cursor:grabbing;}

/* Stage 62 — cleaner customer dashboard */
.dashboard-v2{max-width:1240px;padding-top:54px;padding-bottom:84px;--dash-green:#123f2a;--dash-gold:#b4862f;--dash-ink:#24231f;--dash-muted:#746e65;--dash-line:#e7dac8;--dash-cream:#fffaf1;--dash-soft:#f7f0e6}
.dashv2-hero{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:stretch;margin-bottom:24px}
.dashv2-hero-copy,.dashv2-focus-card,.dashv2-stats article,.dashv2-invite-card,.dashv2-side-card{background:rgba(255,253,248,.92);border:1px solid var(--dash-line);box-shadow:0 18px 55px rgba(71,53,30,.055)}
.dashv2-hero-copy{padding:36px 38px;position:relative;overflow:hidden}
.dashv2-hero-copy:after{content:"";position:absolute;right:-90px;top:-120px;width:270px;height:270px;border:1px solid rgba(180,134,47,.18);border-radius:50%;pointer-events:none}
.dashv2-hero h1{font:500 clamp(45px,5vw,72px)/.95 'Cormorant Garamond',serif;margin:8px 0 14px;color:var(--dash-ink);letter-spacing:-.035em}
.dashv2-hero p{margin:0;max-width:650px;color:var(--dash-muted);font-size:15px;line-height:1.75}
.dashv2-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.dashv2-actions .btn{min-width:178px}.dashv2-actions .btn.alt{background:#fff;color:var(--dash-green);border-color:#cdbb9e}
.dashv2-focus-card{padding:28px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#173f2b,#112d20);color:#fff;border-color:rgba(212,178,109,.24)}
.dashv2-focus-card>span{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#d8bb79}.dashv2-focus-card strong{font:500 64px/1 'Cormorant Garamond',serif;margin:13px 0 4px;color:#fff}.dashv2-focus-card p{margin:0;color:#d8e1d8;font-size:12px}.dashv2-focus-card small{color:#c4d0c5;font-size:10px;margin-top:12px}.dashv2-focus-progress{height:7px;background:rgba(255,255,255,.16);margin-top:20px;overflow:hidden}.dashv2-focus-progress i{display:block;height:100%;background:#d7b56b}
.dashv2-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 34px}.dashv2-stats article{padding:22px 23px;min-height:118px}.dashv2-stats span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--dash-muted)}.dashv2-stats strong{display:block;font:500 46px/1 'Cormorant Garamond',serif;color:var(--dash-ink);margin:10px 0 6px}.dashv2-stats small{color:var(--dash-muted);font-size:12px}
.dashv2-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start}.dashv2-section-title{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.dashv2-section-title h2{font:500 clamp(38px,4vw,58px)/1 'Cormorant Garamond',serif;margin:0;color:var(--dash-ink)}.dashboard-count{border:1px solid var(--dash-line);background:#fffdf8;padding:13px 17px;color:var(--dash-muted);font-size:12px;white-space:nowrap}
.dashv2-invite-list{display:grid;gap:18px}.dashv2-invite-card{display:grid;grid-template-columns:255px minmax(0,1fr);overflow:hidden}.dashv2-invite-preview{min-height:100%;padding:22px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:1px solid var(--dash-line);background:#f4ecdf;position:relative;isolation:isolate;overflow:hidden}.dashv2-invite-preview:before{content:"";position:absolute;inset:16px;border:1px solid rgba(180,134,47,.28);z-index:-1}.dashv2-mini-kicker{font-size:8px;text-transform:uppercase;letter-spacing:.18em;color:var(--dash-gold);font-weight:700}.dashv2-mini-monogram{font:500 64px/.9 'Cormorant Garamond',serif;color:var(--dash-ink);margin:24px 0 18px}.dashv2-mini-monogram i{font-style:italic;color:var(--dash-gold)}.dashv2-invite-preview small{font-size:11px;letter-spacing:.14em;color:#6e6254;text-transform:uppercase}.dashv2-theme-sakura .dashv2-invite-preview{background:linear-gradient(180deg,#fff6f9,#fde8ef)}.dashv2-theme-sakura .dashv2-invite-preview:after{content:"";position:absolute;right:-40px;top:-36px;width:190px;height:145px;background:url('../../invitations/themes/sakura/assets/sakura-top-right-clean.webp') right top/contain no-repeat;opacity:.55;z-index:-1}.dashv2-theme-sakura .dashv2-mini-monogram{font-family:'Great Vibes','Cormorant Garamond',cursive;color:#b33463}.dashv2-theme-kandyan .dashv2-invite-preview{background:linear-gradient(180deg,#fff9e9,#efe2bd)}.dashv2-theme-kandyan .dashv2-invite-preview:after{content:"";position:absolute;left:-38px;bottom:-30px;width:190px;height:160px;background:url('../../invitations/themes/kandyan/assets/kandyan-lotus-left.webp') left bottom/contain no-repeat;opacity:.42;z-index:-1}.dashv2-theme-kandyan .dashv2-mini-monogram{font-family:'Great Vibes','Cormorant Garamond',cursive;color:var(--dash-green)}
.dashv2-invite-info{padding:26px 28px 24px;min-width:0}.dashv2-card-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;color:var(--dash-muted);font-size:11px}.dashv2-card-top>span:last-child{text-align:right}.dashv2-invite-info h3{font:500 clamp(34px,3.4vw,48px)/.98 'Cormorant Garamond',serif;margin:0 0 8px;color:var(--dash-ink);letter-spacing:-.025em}.dashv2-meta{margin:0 0 18px;color:var(--dash-muted);font-size:14px;line-height:1.55}.dashv2-rsvp-pills{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:15px}.dashv2-rsvp-pills span{background:#f4ecdf;border:1px solid rgba(231,218,200,.8);border-radius:999px;padding:9px 13px;color:#6b6258;font-size:12px}.dashv2-rsvp-pills b{color:var(--dash-ink);font-weight:800}.dashv2-progress{height:9px;background:#eee4d7;margin:2px 0 10px;overflow:hidden}.dashv2-progress i{display:block;height:100%;background:linear-gradient(90deg,#163e2a,#b4862f)}.dashv2-response-caption{display:flex;justify-content:space-between;gap:14px;color:var(--dash-muted);font-size:11px}.dashv2-response-caption b{color:var(--dash-gold)}
.dashv2-card-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin-top:20px}.dashv2-package{background:#f8f2e9;border:1px solid rgba(231,218,200,.75);border-radius:16px;padding:13px 15px;display:flex;justify-content:space-between;gap:12px;align-items:center;color:#6b6258;font-size:12px}.dashv2-package b{font-weight:700;color:var(--dash-green);font-size:11px}.dashv2-package a{color:var(--dash-green);font-weight:800;text-decoration:none;white-space:nowrap}.dashv2-package.active{background:#edf6ee;border-color:#d7ead9}.dashv2-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dashv2-card-actions .btn.small{min-height:44px;padding:0 17px}.btn.ghost{background:#fff;color:var(--dash-green);border-color:#cdbb9e}.dashv2-share-row{margin-top:18px;border-top:1px solid var(--dash-line);padding-top:14px;display:flex;gap:12px;justify-content:space-between;align-items:center}.dashv2-share-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8a8175;font-size:12px}.dashv2-share-row button{border:0;background:transparent;color:var(--dash-gold);font-weight:800;font-size:11px;cursor:pointer;white-space:nowrap}
.dashv2-side-column{display:grid;gap:16px;position:sticky;top:20px}.dashv2-side-card{padding:24px;background:#fffdf8}.dashv2-side-card h3{font:600 27px/1.08 'Cormorant Garamond',serif;margin:6px 0 10px;color:var(--dash-ink)}.dashv2-side-card p{color:var(--dash-muted);font-size:12px;line-height:1.65;margin:0 0 17px}.dashv2-checklist{display:grid;gap:10px}.dashv2-checklist a{display:grid;gap:2px;padding:15px;background:#f8f2e9;text-decoration:none;color:var(--dash-ink);border:1px solid rgba(231,218,200,.75)}.dashv2-checklist b{font:600 16px 'Cormorant Garamond',serif}.dashv2-checklist small{color:var(--dash-muted);font-size:10px}.dashv2-date-card{text-align:center}.dashv2-date-card strong{display:block;font:500 78px/.9 'Cormorant Garamond',serif;color:var(--dash-gold);margin:8px 0 2px}.dashv2-empty{padding:56px 32px;text-align:center}
@media(max-width:980px){.dashboard-v2{padding-top:36px}.dashv2-hero,.dashv2-content-grid{grid-template-columns:1fr}.dashv2-focus-card{display:none}.dashv2-side-column{position:static;grid-template-columns:1fr 1fr}.dashv2-date-card{display:none}.dashv2-invite-card{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:680px){.app-header{padding:12px 20px;gap:14px}.app-brand img{width:120px;height:auto}.app-nav{gap:12px;overflow-x:auto;padding-bottom:2px}.dashboard-v2{padding:28px 20px 70px}.dashv2-hero-copy{padding:30px 0 22px;border:0;background:transparent;box-shadow:none}.dashv2-hero-copy:after{display:none}.dashv2-hero h1{font-size:50px;margin-bottom:10px}.dashv2-hero p{font-size:15px}.dashv2-actions{display:grid;grid-template-columns:1fr;gap:10px}.dashv2-actions .btn{width:100%;min-width:0}.dashv2-stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:32px}.dashv2-stats article{padding:18px 16px;min-height:100px}.dashv2-stats span{font-size:9px}.dashv2-stats strong{font-size:40px;margin:8px 0 4px}.dashv2-stats small{font-size:11px}.dashv2-section-title{align-items:start;margin-bottom:15px}.dashv2-section-title h2{font-size:40px}.dashboard-count{padding:10px 12px;font-size:11px}.dashv2-invite-card{grid-template-columns:1fr}.dashv2-invite-preview{min-height:168px;border-right:0;border-bottom:1px solid var(--dash-line);padding:22px}.dashv2-invite-preview:before{inset:13px}.dashv2-mini-monogram{font-size:50px;margin:15px 0 10px}.dashv2-invite-info{padding:22px 20px}.dashv2-card-top{align-items:flex-start;font-size:10px}.dashv2-invite-info h3{font-size:38px}.dashv2-meta{font-size:13px}.dashv2-rsvp-pills{gap:7px}.dashv2-rsvp-pills span{font-size:11px;padding:8px 10px}.dashv2-card-bottom{grid-template-columns:1fr;gap:12px}.dashv2-package{border-radius:14px}.dashv2-card-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.dashv2-card-actions .btn.small{width:100%;min-height:46px;padding:0 10px}.dashv2-share-row{align-items:flex-start;gap:8px}.dashv2-side-column{grid-template-columns:1fr}.dashv2-side-card{padding:22px 20px}.dashv2-checklist{display:none}.app-footer{font-size:12px;text-align:center;padding:36px 20px}}
@media(max-width:420px){.dashboard-v2{padding-inline:16px}.dashv2-hero h1{font-size:46px}.dashv2-stats{grid-template-columns:1fr}.dashv2-section-title{display:block}.dashboard-count{display:inline-block;margin-top:12px}.dashv2-card-actions{grid-template-columns:1fr}.dashv2-card-actions .btn.small{min-height:48px}.dashv2-share-row{flex-direction:column}.dashv2-share-row button{align-self:flex-start}}

/* Stage 63 - package option refinements */
.package-admin-card .full{grid-column:1/-1}
.package-admin-card textarea{width:100%;min-height:135px;border:1px solid #ddd0bf;background:#fffdf8;padding:12px 14px;font:500 14px/1.55 Manrope,sans-serif;color:#2a2621;resize:vertical}
.checkout-feature-list{margin:18px 0 22px;padding:0;list-style:none;border-top:1px solid rgba(178,133,49,.16)}
.checkout-feature-list li{padding:10px 0;border-bottom:1px solid rgba(178,133,49,.16);font-size:14px;color:#4e463d}
.checkout-feature-list li:before{content:'✓';color:#b8872c;margin-right:10px;font-weight:700}

/* Stage 64 - real package options */
.package-option-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 2px}
.package-option-strip span{border:1px solid rgba(180,147,47,.26);background:#fffaf2;border-radius:13px;padding:10px 8px;text-align:center;font-size:11px;color:#70665a;text-transform:uppercase;letter-spacing:.08em}.package-option-strip b{display:block;font-family:"Cormorant Garamond",serif;font-size:28px;line-height:1;color:#17472d;margin-bottom:2px;text-transform:none;letter-spacing:0}
.admin-package-grid-v2{grid-template-columns:repeat(3,minmax(280px,1fr));align-items:start}.package-admin-card-v2{gap:14px}.package-admin-title{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:10px;border-bottom:1px solid #eadfce}.package-admin-title span{text-transform:uppercase;letter-spacing:.18em;color:#b8892d;font-size:10px}.package-admin-title strong{font-family:"Cormorant Garamond",serif;font-size:26px;font-weight:500}.package-admin-card .two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.package-real-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;background:#fbf7ef;border:1px solid #eadfce;border-radius:14px}.package-real-options label small{font-size:10px;color:#938979;font-weight:400}.package-option-toggles{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px;background:#fffdf8;border:1px solid #eadfce;border-radius:14px}.package-option-toggles label{display:flex!important;align-items:center;gap:8px;font-size:12px;color:#433c34}.package-option-toggles input{width:auto}.package-real-preview{border:1px solid rgba(23,71,45,.16);background:#f4faf5;border-radius:14px;padding:13px 14px}.package-real-preview span{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:#17472d;font-weight:800;margin-bottom:8px}.package-real-preview ul{margin:0;padding-left:18px;color:#4d4a42;font-size:12px;line-height:1.6}.package-admin-card textarea{min-height:110px!important}
@media(max-width:900px){.admin-package-grid-v2{grid-template-columns:1fr}.package-real-options,.package-option-toggles{grid-template-columns:1fr}.package-option-strip{grid-template-columns:1fr 1fr 1fr}}

.summary-line{display:flex;justify-content:space-between;gap:16px;border-top:1px solid rgba(191,143,58,.24);padding:14px 0 6px;color:var(--muted,#756f68);}
.summary-line strong{color:var(--ink,#1f1d1b);font-weight:700;}
.sandbox-payment-note{margin-bottom:18px;}
.flash.warning{background:#fff8df;border:1px solid #ead18f;color:#7a5600;}

/* Stage 72 - package enforcement and custom design workflow */
.builder-package-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(23,71,45,.16);background:#f4faf5;color:#17472d;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.builder-package-badge.warning{background:#fff4ee;border-color:#e5baaa;color:#963626}.package-feature-warning{border:1px solid #e5baaa;background:#fff4ee;color:#843021;padding:13px 15px;border-radius:12px;font:600 13px/1.5 Manrope,sans-serif;margin:12px 0}.package-feature-warning a,.package-page-warning a{color:#17472d;font-weight:800}.rsvp-add-panel.is-disabled{opacity:.72}.rsvp-add-panel.is-disabled input,.rsvp-add-panel.is-disabled select{pointer-events:none}.custom-design-method-panel{margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:24px}.custom-design-method-panel h2{font:500 clamp(34px,4vw,52px)/1 'Cormorant Garamond',serif;margin:8px 0;color:#24231f}.custom-design-method-panel p{max-width:780px;color:#70665a;line-height:1.8}.custom-design-summary-grid{display:grid;grid-template-columns:1fr 1fr 2fr;gap:18px;margin-bottom:24px}.custom-design-summary-grid article strong{display:block;font:500 54px/1 'Cormorant Garamond',serif;color:#17472d;margin:12px 0 6px}.custom-design-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:24px;align-items:start}.custom-design-form h2,.custom-design-process h2,.custom-request-card h2{font:500 clamp(32px,4vw,48px)/1 'Cormorant Garamond',serif;margin:8px 0 18px;color:#24231f}.custom-design-form textarea{min-height:95px}.custom-design-process ol{list-style:none;margin:0;padding:0;display:grid;gap:14px}.custom-design-process li{border:1px solid #e8dac7;background:#fffdf8;padding:16px 18px;border-radius:14px}.custom-design-process b{display:block;color:#17472d;margin-bottom:5px}.custom-design-process span{color:#70665a;font-size:13px;line-height:1.6}.custom-request-list{display:grid;gap:18px}.custom-request-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid #eadfce;padding-bottom:16px;margin-bottom:16px}.custom-request-head p{color:#756d63;margin:0}.custom-request-details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:18px}.custom-request-details div{border:1px solid #eadfce;background:#fffdf8;padding:13px;border-radius:12px}.custom-request-details .wide{grid-column:1/-1}.custom-request-details b{display:block;color:#17472d;margin-bottom:5px}.custom-request-details span{white-space:pre-line;color:#6f665d}.custom-request-update{display:grid;grid-template-columns:220px 1fr auto;gap:12px;align-items:end}.custom-request-update textarea{min-height:72px}.page-head-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:900px){.custom-design-method-panel,.custom-design-grid{grid-template-columns:1fr;display:grid}.custom-design-summary-grid{grid-template-columns:1fr}.custom-request-details{grid-template-columns:1fr}.custom-request-update{grid-template-columns:1fr}.page-head-actions{justify-content:flex-start}}@media(max-width:680px){.builder-package-badge{width:100%;justify-content:center}.custom-design-shell,.custom-design-admin-shell{padding-inline:18px}.custom-design-method-panel{padding:24px 18px}.custom-design-summary-grid{gap:12px}.custom-design-grid{gap:16px}.custom-request-head{display:block}.custom-request-head .badge{display:inline-block;margin-top:10px}.custom-request-details div{padding:12px}.app-nav a[href*="custom-design"]{white-space:nowrap}}


/* Stage 74 - music upload and library picker */
.music-picker-field{grid-column:1/-1}
.music-current-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,360px);gap:14px;align-items:center;margin:6px 0 16px;padding:16px 18px;border:1px solid #eadfce;background:#fffdf8;border-radius:16px}
.music-current-card strong,.music-upload-box strong{display:block;font:700 12px Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#17472d;margin-bottom:4px}.music-current-card span,.music-upload-box small{display:block;color:#776d62;font-size:12px;line-height:1.55}.music-current-card audio,.music-library-track audio{width:100%;height:36px}
.music-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 14px}.music-choice-card{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:15px 16px;border:1px solid #eadfce;background:#fbf6ed;border-radius:16px;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.music-choice-card:hover{border-color:#b9893f;background:#fffaf2}.music-choice-card input{width:auto;margin-top:3px;accent-color:#17472d}.music-choice-card:has(input:checked){border-color:#17472d;background:#f4faf5;box-shadow:0 10px 28px rgba(23,71,45,.08)}.music-choice-card b{display:block;color:#2a2621;font-size:14px;margin-bottom:3px}.music-choice-card small{display:block;color:#756b60;font-size:12px;line-height:1.45}.music-library-track{grid-template-columns:auto minmax(0,1fr);grid-column:auto}.music-library-track audio{grid-column:1/-1;margin-top:4px}.music-upload-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px);gap:16px;align-items:center;padding:17px 18px;border:1px dashed #c9b590;background:#fffaf2;border-radius:16px}.music-upload-box input[type=file]{border:1px solid #e2d6c7;background:#fff;padding:12px;border-radius:12px;width:100%}.music-disabled-box{padding:16px 18px;border:1px solid #e5baaa;background:#fff4ee;color:#843021;border-radius:14px;font-weight:700}
@media(max-width:760px){.music-current-card,.music-upload-box{grid-template-columns:1fr}.music-choice-grid{grid-template-columns:1fr}.music-current-card audio,.music-library-track audio{height:40px}}

/* Stage 75 - cleaner background music picker */
.music-picker-field{grid-column:1/-1}.music-picker-field>label{margin-bottom:10px}.music-panel{border:1px solid #eadfce;background:linear-gradient(145deg,#fffdf8,#fbf5eb);border-radius:18px;padding:16px;box-shadow:0 18px 45px rgba(39,34,27,.05)}.music-panel-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,330px);gap:14px;align-items:center;border:1px solid #eadfce;background:#fff;border-radius:15px;padding:14px;margin-bottom:14px}.music-eyebrow,.music-section-title{display:block;font:800 11px/1 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#b8893d}.music-panel-head strong{display:block;margin-top:6px;font:700 15px/1.25 Manrope,sans-serif;color:#24231f}.music-empty{justify-self:end;border:1px solid #eadfce;border-radius:999px;padding:9px 13px;font:700 12px Manrope,sans-serif;color:#756b60;background:#fbf6ed}.music-section-title{margin:4px 0 10px}.music-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}.music-choice-card{position:relative;display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:13px 14px;border:1px solid #eadfce;background:#fff;border-radius:15px;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}.music-choice-card:hover{border-color:#b9893f;background:#fffaf2;transform:translateY(-1px)}.music-choice-card input{width:16px;height:16px;margin:0;accent-color:#17472d}.music-choice-card:has(input:checked){border-color:#17472d;background:#f4faf5;box-shadow:0 12px 30px rgba(23,71,45,.08)}.music-choice-card b{display:block;font:800 13px/1.25 Manrope,sans-serif;color:#24231f}.music-simple-choice{min-height:56px}.music-library-track{grid-template-columns:auto minmax(0,1fr);align-items:start}.music-library-track .music-track-title{padding-top:2px}.music-audio,.music-library-track audio{width:100%;height:34px}.music-library-track audio{grid-column:1/-1;margin-top:3px}.music-upload-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,360px);gap:14px;align-items:center;padding:14px;border:1px dashed #c9b590;background:#fffaf2;border-radius:15px;cursor:pointer}.music-upload-box strong{display:block;font:800 13px/1.25 Manrope,sans-serif;color:#17472d}.music-upload-box small{display:block;margin-top:4px;color:#756b60;font-size:12px}.music-upload-box input[type=file]{border:1px solid #e2d6c7;background:#fff;padding:10px;border-radius:12px;width:100%;font-size:13px}.music-disabled-box{padding:14px 16px;border:1px solid #e5baaa;background:#fff4ee;color:#843021;border-radius:14px;font-weight:700}@media(max-width:760px){.music-panel{padding:13px;border-radius:16px}.music-panel-head,.music-upload-box{grid-template-columns:1fr;gap:10px}.music-empty{justify-self:start}.music-choice-grid{grid-template-columns:1fr;gap:9px}.music-choice-card{padding:12px}.music-audio,.music-library-track audio{height:38px}}

/* Stage 76: cleaner background music picker */
.music-panel-clean{border:1px solid #e5d8c5!important;background:linear-gradient(145deg,#fffdf8 0%,#fbf3e8 100%)!important;border-radius:22px!important;padding:20px!important;box-shadow:0 22px 55px rgba(42,35,26,.08)!important;max-width:860px}
.music-clean-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #eadfce;margin-bottom:14px}
.music-clean-head span,.music-library-title{display:block;font:800 11px/1 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#b8893d}
.music-clean-head h3{margin:6px 0 0;font:600 28px/1.1 'Cormorant Garamond',serif;color:#24231f}
.music-current-badge{min-width:190px;border:1px solid #eadfce;background:#fff;border-radius:999px;padding:10px 14px;text-align:right}
.music-current-badge small{display:block;font:800 10px/1 Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#a17d48;margin-bottom:4px}
.music-current-badge strong{display:block;font:800 12px/1.25 Manrope,sans-serif;color:#17472d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.music-mode-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
.music-mode-card{display:flex!important;gap:11px;align-items:center;padding:13px 14px;border:1px solid #e7dac9;background:#fff;border-radius:16px;cursor:pointer;transition:.2s ease}
.music-mode-card:hover,.music-track-row:hover{border-color:#b9893f;background:#fffaf2}.music-mode-card:has(input:checked),.music-track-row:has(input:checked){border-color:#17472d;background:#f5fbf6;box-shadow:0 12px 28px rgba(23,71,45,.08)}
.music-mode-card.is-disabled{opacity:.55;cursor:not-allowed}.music-mode-card input,.music-track-select input{width:17px;height:17px;margin:0;accent-color:#17472d;flex:0 0 auto}.music-mode-card strong{display:block;font:800 13px/1.25 Manrope,sans-serif;color:#24231f}.music-mode-card small{display:block;margin-top:2px;font-size:12px;color:#7b7167}
.music-current-preview{width:100%;justify-content:center;margin:0 0 14px!important;background:#17472d!important;color:#fff!important;border-color:#17472d!important}
.music-library-clean{display:grid;gap:9px;margin:0 0 14px}.music-library-title{margin:2px 0 2px}.music-track-row{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:12px;align-items:center;padding:11px 12px;border:1px solid #eadfce;background:#fff;border-radius:16px;transition:.2s ease}
.music-track-select{display:flex!important;align-items:center;gap:12px;margin:0;cursor:pointer}.music-track-select span{font:800 14px/1.2 Manrope,sans-serif;color:#24231f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-preview-btn{border:1px solid #d9c8ac;background:#fffaf2;color:#17472d;border-radius:999px;padding:9px 13px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font:900 11px/1 Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.2s ease}.music-preview-btn:hover{border-color:#17472d;background:#eef7f0}.music-preview-btn.is-playing{background:#17472d;color:#fff;border-color:#17472d}.music-preview-icon{font-size:12px;line-height:1}.music-upload-modern{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(230px,360px);gap:14px;align-items:center;border:1px dashed #c9b590;background:#fffaf2;border-radius:16px;padding:15px;cursor:pointer}.music-upload-modern strong{display:block;font:900 13px/1.25 Manrope,sans-serif;color:#17472d}.music-upload-modern small{display:block;margin-top:3px;color:#7b7167;font-size:12px}.music-upload-modern input[type=file]{width:100%;border:1px solid #e3d6c4;background:#fff;border-radius:12px;padding:10px;font-size:13px}.music-upload-name{margin-top:8px;font:700 12px Manrope,sans-serif;color:#786b5d}.music-panel-clean audio#musicPreviewAudio{display:none!important}
@media(max-width:760px){.music-panel-clean{padding:15px!important;border-radius:18px!important}.music-clean-head{display:block}.music-clean-head h3{font-size:23px}.music-current-badge{margin-top:10px;text-align:left;min-width:0;border-radius:14px}.music-mode-row{grid-template-columns:1fr}.music-track-row{grid-template-columns:1fr;gap:9px}.music-preview-btn{width:100%}.music-upload-modern{grid-template-columns:1fr;gap:10px}}


/* Stage 77: uploaded music only */
.music-upload-only{border:1px solid #e5d8c5!important;background:linear-gradient(145deg,#fffdf8 0%,#fbf3e8 100%)!important;border-radius:20px!important;padding:18px!important;box-shadow:0 18px 45px rgba(42,35,26,.07)!important}
.music-upload-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #eadfce}
.music-upload-head span{display:block;font:900 10px/1 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#b8893d;margin-bottom:7px}
.music-upload-head h3{margin:0;font:400 24px/1.1 'Cormorant Garamond',serif;color:#24231f}
.music-current-status{border:1px solid #eadfce;background:#fff;border-radius:999px;padding:8px 12px;font:900 11px/1 Manrope,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#7a7065;white-space:nowrap}.music-current-status.has-music{background:#f4fbf6;border-color:#cfe2d5;color:#17472d}
.music-current-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;border:1px solid #eadfce;background:#fff;border-radius:16px;padding:12px 14px}.music-current-row strong{display:block;font:900 13px/1.25 Manrope,sans-serif;color:#24231f}.music-current-row small{display:block;margin-top:3px;color:#7b7167;font-size:12px}
.music-upload-only-modes{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 12px!important}.music-upload-only .music-library-clean{display:none!important}.music-upload-main{margin-top:0!important;background:#fffaf2!important}.music-upload-only audio#musicPreviewAudio{display:none!important}
@media(max-width:760px){.music-upload-only{padding:14px!important}.music-upload-head,.music-current-row{display:block}.music-current-status{display:inline-block;margin-top:10px}.music-current-row .music-preview-btn{margin-top:10px;width:100%}.music-upload-only-modes{grid-template-columns:1fr}}


/* Stage 78: public invitation music control after header removal */
.wedding-music-btn{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:180;
  min-width:104px;
  height:44px;
  border:1px solid rgba(185,137,63,.45);
  border-radius:999px;
  background:rgba(255,250,240,.92);
  color:#17472d;
  box-shadow:0 18px 45px rgba(35,28,20,.18);
  backdrop-filter:blur(12px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font:900 11px/1 Manrope,Arial,sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;
}
.wedding-music-btn:hover{transform:translateY(-2px);border-color:#17472d;background:#fffaf0}
.wedding-music-btn.is-playing{background:#17472d;color:#fff;border-color:#17472d}
.wedding-music-btn.is-error{opacity:.55;cursor:not-allowed}
.music-btn-icon{font-size:16px;line-height:1;min-width:15px;text-align:center;color:inherit}
.music-btn-text{white-space:nowrap}
.builder-preview-mode .wedding-music-btn{display:none!important}
@media(max-width:640px){
  .wedding-music-btn{right:14px;bottom:14px;min-width:50px;width:50px;height:50px;padding:0;border-radius:50%}
  .wedding-music-btn .music-btn-text{display:none}
  .wedding-music-btn .music-btn-icon{font-size:18px}
}

/* Stage 80: Admin control center and user account management */
.admin-home-head,.admin-users-head{align-items:flex-start}
.admin-command-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.admin-command-card{text-decoration:none;color:inherit;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.admin-command-card:hover{transform:translateY(-3px);border-color:#b9893f;box-shadow:0 25px 65px rgba(54,42,27,.08)}.admin-command-card span,.admin-summary-card span,.admin-stat-card span,.mini-stat span{display:block;font:800 11px/1 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#b9893f;margin-bottom:12px}.admin-command-card strong{display:block;font:600 28px/1.05 'Cormorant Garamond',serif;color:#24231f;margin-bottom:8px}.admin-command-card small,.admin-stat-card small,.admin-summary-card small,.mini-stat small{display:block;color:#756d63;font-size:12px;line-height:1.5}.admin-dashboard-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:24px}.admin-stat-card{min-height:145px}.admin-stat-card strong,.admin-summary-card strong,.mini-stat strong{display:block;font:500 48px/1 'Cormorant Garamond',serif;color:#24231f;margin-bottom:8px}.admin-home-columns{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:22px}.admin-mini-list{display:grid;gap:10px}.admin-mini-list a{display:block;text-decoration:none;color:inherit;border:1px solid #eadfce;background:#fffaf2;padding:13px 14px;border-radius:14px;transition:.2s ease}.admin-mini-list a:hover{border-color:#b9893f;background:#fff}.admin-mini-list b{display:block;font-size:14px}.admin-mini-list span{display:block;font-size:12px;color:#756d63;margin-top:3px}.admin-mini-list small{display:block;font-size:11px;color:#9b712f;margin-top:6px}.btn.tiny{padding:9px 12px;font-size:9px;letter-spacing:.06em;min-height:34px}.inline-form{display:inline-flex;margin:2px;vertical-align:middle}.admin-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.admin-summary-card{min-height:128px}.admin-user-layout{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:22px;align-items:start}.admin-user-list-panel{position:sticky;top:105px;padding:18px}.admin-user-search{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:14px}.admin-user-search input{border:1px solid #e1d3bf;background:#fff;padding:12px 13px;font:600 12px Manrope,sans-serif;border-radius:12px;min-width:0}.admin-user-list{display:grid;gap:9px;max-height:680px;overflow:auto;padding-right:4px}.admin-user-item{display:block;text-decoration:none;color:inherit;border:1px solid #eadfce;background:#fffdf8;padding:12px 13px;border-radius:15px;transition:.2s ease}.admin-user-item:hover,.admin-user-item.active{border-color:#17472d;background:#f4faf5}.admin-user-item b{display:block;font:800 13px/1.25 Manrope,sans-serif;color:#24231f}.admin-user-item span{display:block;font-size:12px;color:#756d63;margin:4px 0}.admin-user-item small{display:block;font-size:10px;color:#b9893f;text-transform:uppercase;letter-spacing:.08em}.admin-user-detail{display:grid;gap:18px}.user-profile-card{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}.user-profile-main h2{font:500 clamp(34px,4vw,54px)/1 'Cormorant Garamond',serif;margin:6px 0;color:#24231f}.user-profile-main p{margin:0;color:#756d63}.user-role-form{display:flex;align-items:end;gap:10px}.user-role-form label,.admin-grant-form label{display:grid;gap:6px;font:700 12px Manrope,sans-serif;color:#24231f}.user-role-form select,.admin-grant-form select,.admin-grant-form input{border:1px solid #e1d3bf;background:#fff;padding:11px 12px;border-radius:12px;font:600 13px Manrope,sans-serif;min-width:0}.admin-user-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.mini-stat{padding:20px}.admin-grant-panel{border-color:rgba(23,71,45,.22);background:linear-gradient(145deg,#fffdf8,#f6fbf5)}.admin-grant-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}.admin-grant-form .full{grid-column:1/-1}.admin-grant-form small{font-weight:600;color:#81786b}.access-list{display:grid;gap:10px}.access-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(140px,.4fr) minmax(150px,.45fr);gap:12px;align-items:center;border:1px solid #e7dac8;background:#fffdf8;border-radius:16px;padding:14px 16px}.access-card b{display:block;font:800 14px Manrope,sans-serif;color:#17472d}.access-card span,.access-card small{display:block;color:#756d63;font-size:12px}.access-card strong{display:block;font:500 24px/1 'Cormorant Garamond',serif;color:#24231f}.admin-control-table td{vertical-align:middle}.admin-control-table td:last-child{min-width:220px}.manual-grants-panel{margin-bottom:30px}.badge.cancelled{background:#fff0ee;color:#842e2a}.badge.expired{background:#f4ede3;color:#7a5a23}.badge.active{background:#e8f4ea;color:#2b6938}
@media(max-width:1050px){.admin-dashboard-grid{grid-template-columns:repeat(3,1fr)}.admin-home-columns,.admin-user-layout{grid-template-columns:1fr}.admin-user-list-panel{position:static}.admin-user-list{max-height:none}.admin-user-stat-grid,.admin-grant-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.admin-command-grid,.admin-dashboard-grid,.admin-summary-grid,.admin-user-stat-grid,.admin-grant-form{grid-template-columns:1fr}.user-profile-card,.user-role-form{display:grid;grid-template-columns:1fr;align-items:stretch}.access-card{grid-template-columns:1fr}.admin-user-search{grid-template-columns:1fr}.admin-home-shell,.admin-users-shell{width:92vw;margin-top:30px}.admin-stat-card strong,.admin-summary-card strong,.mini-stat strong{font-size:40px}.admin-command-card strong{font-size:25px}.app-nav a[href*="admin/users"]{white-space:nowrap}}


/* Hydrangea invitation CSS moved to invitations/themes/hydrangea/theme.css */


/* Stage 89 — formal guest addressing */
.rsvp-add-grid{grid-template-columns:.72fr 1.35fr .9fr 1fr 1.15fr .65fr 1fr auto}
.formal-family-toggle{min-height:42px;display:flex!important;align-items:center;gap:9px;padding:0 11px;border:1px solid var(--app-line,#e6d8c5);background:#fff;cursor:pointer;font:700 9px Manrope,Arial,sans-serif;color:var(--app-dark,#24211e)}
.formal-family-toggle input{width:16px!important;height:16px!important;margin:0;accent-color:var(--app-gold,#b9893f)}
.formal-name-preview{grid-column:1/-2;min-height:50px;padding:9px 13px;border:1px dashed rgba(185,137,63,.42);background:#fffaf2;display:flex;align-items:center;gap:12px}
.formal-name-preview small{font:800 8px Manrope,Arial,sans-serif;letter-spacing:.13em;color:var(--app-muted,#776e63)}
.formal-name-preview strong{font:500 17px 'Cormorant Garamond',serif;color:var(--app-dark,#24211e)}
@media(max-width:1180px){.rsvp-add-grid{grid-template-columns:repeat(4,1fr)}.formal-name-preview{grid-column:1/-2}}
@media(max-width:700px){.rsvp-add-grid{grid-template-columns:1fr 1fr}.formal-name-preview{grid-column:1/-1}.rsvp-add-button{grid-column:1/-1}}
@media(max-width:480px){.rsvp-add-grid{grid-template-columns:1fr}.formal-name-preview{grid-column:1/-1}}
