:root{--bg:#f4f0e9;--paper:#fffdfa;--ink:#191715;--muted:#746c65;--line:#d9d0c6;--soft:#ebe3d9;--premium:#8a6c45;--lux:#b89a70}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Helvetica Neue',Arial,sans-serif;background:var(--bg);color:var(--ink)}
button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}.shell{max-width:1180px;margin:auto;padding:0 22px}
nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}.nav-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.logo{font-family:Georgia,serif;font-size:23px;letter-spacing:.22em;font-weight:500}
nav{border-bottom:1px solid rgba(120,100,80,.14)}
.hero{position:relative}
.hero:before{content:"";position:absolute;right:2%;top:7%;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,#d8c4aa55,transparent 68%);filter:blur(10px);pointer-events:none}
.hero h1{letter-spacing:-.045em}
.eyebrow{font-weight:600}
.section h2{letter-spacing:-.025em}
.template{transition:transform .25s ease,box-shadow .25s ease}.template:hover{transform:translateY(-4px);box-shadow:0 24px 60px #493d3118}
.preview{position:relative}.preview:after{content:"";position:absolute;inset:12px;border:1px solid rgba(80,60,45,.14);border-radius:2px;pointer-events:none}
.price-card{padding:28px}.price-card.popular{transform:translateY(-8px);background:linear-gradient(150deg,#fffdfa,#f3e8d9);box-shadow:0 28px 70px #493d311a}
.invitation{border-radius:4px}
.primary,.navbtn{border:0;border-radius:999px;background:linear-gradient(135deg,#191715,#3a3028);color:#fff;padding:14px 20px;transition:.2s;box-shadow:0 8px 24px #241c161c}
.primary:active,.navbtn:active,.ghost:active{transform:scale(.98)}.ghost{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:13px 18px}
.hero{min-height:72vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:45px;padding:55px 0 75px}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;color:var(--muted)}h1,h2,h3{font-family:Georgia,serif;font-weight:400}
h1{font-size:clamp(58px,8vw,100px);line-height:.88;margin:20px 0 26px}.hero p{font-size:20px;line-height:1.55;color:var(--muted);max-width:620px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.phone{width:min(360px,82vw);margin:auto;background:#e9ded3;border:10px solid #25211f;border-radius:42px;padding:12px;box-shadow:0 25px 70px #6b57402b}
.phone-inner{min-height:610px;border-radius:28px;background:#e8ded4;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:28px}.phone-inner h3{font-size:45px;margin:12px 0}
.section{padding:72px 0}.section h2{font-size:48px;margin:0 0 12px}.sub{color:var(--muted);margin-bottom:30px;line-height:1.55}
.categories,.templates,.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:linear-gradient(145deg,#fffdfa,#faf6f0);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 14px 38px #493d310a}
.category{min-height:145px;display:flex;flex-direction:column;justify-content:flex-end;gap:5px}.category span{font-size:25px;margin-bottom:auto}.category b{font-family:Georgia,serif;font-size:25px}.category small{color:var(--muted)}
.template{padding:0;overflow:hidden}.preview{height:310px;padding:24px;display:flex;align-items:center;justify-content:center;text-align:center}.preview h3{font-size:35px;margin:8px}
.t1{background:#e8ded4}.t2{background:#f4eee5}.t3{background:#20201e;color:#fff}.t4{background:#e6eadf}.t5{background:#eadce0}.t6{background:#dce4e7}
.template-info{padding:18px}.template-info p{color:var(--muted);min-height:38px}.template-info button,.price-card button{width:100%}.hidden{display:none!important}
.pricing{gap:18px;align-items:stretch}.price-card{position:relative;display:flex;flex-direction:column}.price-card.popular{border-color:#a88960;box-shadow:0 18px 45px #5b463215}
.popular-badge{position:absolute;top:14px;right:14px;background:var(--ink);color:#fff;border-radius:999px;padding:7px 10px;font-size:11px}.plan-name{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.price{font-family:Georgia,serif;font-size:42px;margin-bottom:8px}.plan-description{color:var(--muted);line-height:1.5;min-height:48px}.features{padding:0;margin:18px 0 25px;list-style:none;flex:1}.features li{padding:8px 0;border-bottom:1px solid #eee7df}.features li:before{content:"✓";margin-right:9px}
.app{min-height:100vh;background:#f5f2ed}.appbar{min-height:68px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;position:sticky;top:0;z-index:10}
.editor{display:grid;grid-template-columns:minmax(330px,480px) 1fr;min-height:calc(100vh - 68px)}.controls{padding:28px;overflow:auto;background:#fff;border-right:1px solid var(--line)}.controls h2{font-size:34px;margin:5px 0 20px}
.field{margin:15px 0}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:7px}.field input,.field textarea,.field select{width:100%;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink)}.field textarea{min-height:88px;resize:vertical}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.colors{display:flex;gap:8px;flex-wrap:wrap}.color{width:38px!important;height:38px;border:1px solid #bbb!important;border-radius:50%!important;padding:2px!important}.timeline-item{display:grid;grid-template-columns:90px 1fr;gap:8px;margin:8px 0}
.feature-box{margin:18px 0;padding:17px;border:1px solid var(--line);border-radius:16px;background:#faf8f4}.feature-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.feature-head strong{font-family:Georgia,serif;font-size:18px;font-weight:400}.feature-box p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.tag{flex:none;display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;background:#eee8df;color:#655a50}.tag.premium{background:#282421;color:#fff}
.preview-area{padding:30px;display:flex;justify-content:center;align-items:flex-start}.invitation{width:min(430px,100%);background:#fff;min-height:760px;box-shadow:0 18px 60px #493d3120;overflow:hidden;text-align:center}.inv-hero{min-height:420px;background:#e8ded4;padding:65px 28px;display:flex;flex-direction:column;justify-content:center;background-size:cover;background-position:center}.inv-hero h2{font-size:52px;margin:14px 0}.inv-date{font-family:Georgia,serif;font-size:22px}
.block{padding:38px 28px;border-top:1px solid #eee}.block h3{font-size:30px;margin:0 0 15px}.block p{line-height:1.55;color:#615b56}.timeline{text-align:left;max-width:300px;margin:auto}.timeline div{padding:9px 0;border-bottom:1px solid #eee}.palette{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.dot{width:34px;height:34px;border-radius:50%;border:1px solid #ddd}
.rsvp input,.rsvp select,.rsvp textarea{width:100%;margin:6px 0;padding:12px;border:1px solid #ddd;border-radius:10px}.success{padding:12px;border-radius:10px;background:#eef5ec;margin-top:10px}.toolbar{display:flex;gap:8px}.draft-note,.support-box{font-size:12px;color:var(--muted);line-height:1.5}.support-box{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}
.faq details{background:#fff;border-bottom:1px solid var(--line);padding:18px}.faq summary{cursor:pointer}.faq p{color:var(--muted);line-height:1.5}footer{padding:45px 0;color:var(--muted);border-top:1px solid var(--line)}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.modal{position:fixed;inset:0;background:#201d1ba8;z-index:100;display:flex;align-items:center;justify-content:center;padding:18px}.modal-card{width:min(950px,100%);max-height:90vh;overflow:auto;background:var(--bg);border-radius:24px;padding:24px;box-shadow:0 25px 80px #0004}.modal-top{display:flex;justify-content:space-between;gap:15px;margin-bottom:20px}.modal-top h2{margin:0;font-size:36px}.close-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:22px;flex:none}
.auth-card{width:min(460px,100%)}.auth-tabs{display:flex;gap:8px;margin:18px 0}.auth-tabs button{flex:1}.auth-message{font-size:13px;line-height:1.5;margin-top:12px}.auth-message.error{color:#9a2e2e}.auth-message.ok{color:#35643b}.user-chip{font-size:12px;color:var(--muted);max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:850px){.hero{grid-template-columns:1fr}.phone{display:none}.categories,.templates,.pricing{grid-template-columns:1fr 1fr}.editor{grid-template-columns:1fr}.controls{border-right:0}.pricing{grid-template-columns:1fr}}
@media(max-width:560px){.shell{padding:0 16px}nav{min-height:66px}.logo{font-size:20px}.hero{min-height:auto;padding:55px 0 65px}h1{font-size:52px}.hero p{font-size:17px}.categories,.templates,.pricing{grid-template-columns:1fr}.section{padding:50px 0}.section h2{font-size:38px}.row{grid-template-columns:1fr}.controls{padding:20px}.appbar{padding:9px 12px}.appbar .logo{display:none}.toolbar{width:100%}.toolbar button{flex:1;padding:11px 10px;font-size:13px}.preview-area{padding:10px}.inv-hero{min-height:360px}.inv-hero h2{font-size:42px}.block{padding:32px 22px}.modal-card{padding:18px}.nav-actions .navbtn{padding:11px 14px;font-size:13px}.user-chip{display:none}}

/* INVELLA LUXURY REDESIGN */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Manrope:wght@300;400;500;600&display=swap');

:root{
 --bg:#f3eee6;--paper:#fbf8f2;--ink:#17130f;--muted:#756b61;
 --line:rgba(62,47,34,.16);--soft:#e9dfd1;--premium:#8c6b43;--lux:#b79768;
}
html{background:#f7f2ea}
body{
 font-family:'Manrope',Arial,sans-serif;
 background:
 radial-gradient(circle at 78% 4%,rgba(184,151,104,.15),transparent 25rem),
 linear-gradient(180deg,#f7f2ea 0,#efe7dc 100%);
 color:var(--ink)
}
.shell{max-width:1280px;padding:0 42px}
.logo,h1,h2,h3,.price,.plan-name,.template-info b,.category b{
 font-family:'Cormorant Garamond',Georgia,serif
}
nav{
 min-height:92px;border-bottom:1px solid rgba(50,38,28,.12);
 position:relative;z-index:5
}
.logo{font-size:27px;letter-spacing:.32em}
.nav-actions{gap:12px}
.primary,.navbtn,.ghost{
 min-height:48px;padding:13px 23px;border-radius:2px;
 text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600
}
.primary,.navbtn{
 background:#191510;color:#fff;box-shadow:none;border:1px solid #191510
}
.primary:hover,.navbtn:hover{background:#a48358;border-color:#a48358}
.ghost{background:transparent;border:1px solid rgba(45,35,27,.28)}
.hero{
 min-height:790px;grid-template-columns:1.08fr .92fr;gap:80px;padding:80px 0 110px;
 position:relative
}
.hero:after{
 content:"INVELLA";position:absolute;left:-10px;bottom:10px;
 font-family:'Cormorant Garamond',serif;font-size:180px;letter-spacing:.05em;
 color:rgba(95,72,50,.035);pointer-events:none
}
.eyebrow{font-size:10px;letter-spacing:.28em;color:#91795e}
h1{
 font-size:clamp(72px,8.4vw,128px);line-height:.79;letter-spacing:-.055em;
 margin:28px 0 34px;font-weight:400
}
.hero p{font-size:17px;line-height:1.8;max-width:540px;color:#70665c;font-weight:300}
.hero-actions{margin-top:35px}
.phone{
 width:min(390px,82vw);padding:0;border:0;border-radius:0;background:#d8c5ad;
 box-shadow:0 45px 100px rgba(45,31,19,.22);position:relative
}
.phone:before{
 content:"";position:absolute;inset:-18px;border:1px solid rgba(110,83,55,.3);z-index:-1
}
.phone-inner{
 min-height:650px;border-radius:0;
 background:
 linear-gradient(rgba(31,24,18,.16),rgba(31,24,18,.2)),
 radial-gradient(circle at 50% 15%,#f5eadb,#d2b99b 70%);
 color:#fff;padding:45px
}
.phone-inner .eyebrow{color:#fff;opacity:.85}
.phone-inner h3{font-size:64px;line-height:.85;font-weight:400}
.phone-inner p{color:#fff;font-family:'Cormorant Garamond',serif;font-size:19px}
.section{padding:105px 0}
.section>h2{font-size:65px;line-height:.95;font-weight:400;margin-bottom:18px}
.sub{font-size:14px;line-height:1.8}
.categories,.templates,.pricing{gap:24px}
.card{
 background:rgba(255,252,247,.72);border:1px solid rgba(71,53,38,.14);
 border-radius:0;padding:30px;box-shadow:none
}
.category{min-height:205px;padding:32px}
.category span{font-size:31px;filter:grayscale(.35)}
.category b{font-size:34px;font-weight:500}
.category small{font-size:11px;letter-spacing:.06em}
.template{background:#f9f4ec}
.preview{height:390px;padding:34px}
.preview:after{inset:20px;border-color:rgba(60,44,32,.19);border-radius:0}
.preview h3{font-size:49px;line-height:.95}
.template-info{padding:25px}
.template-info b{font-size:27px;font-weight:500}
.template-info p{font-size:13px;line-height:1.6}
.t1{background:linear-gradient(145deg,#e7d9ca,#f5ede4)}
.t2{background:#eee6da}
.t3{background:linear-gradient(145deg,#12100e,#2c261f)}
.t4{background:linear-gradient(145deg,#dce1d4,#f2eee4)}
.t5{background:linear-gradient(145deg,#ead7d7,#f7efeb)}
.t6{background:linear-gradient(145deg,#d9e0df,#eee9df)}
.pricing{gap:0;border:1px solid rgba(71,53,38,.15)}
.price-card{border:0;border-right:1px solid rgba(71,53,38,.15);padding:40px 34px;background:#f8f3eb}
.price-card:last-child{border-right:0}
.price-card.popular{
 transform:none;background:#1b1713;color:#f8f2e9;box-shadow:none;border-color:#1b1713
}
.price-card.popular .plan-description,.price-card.popular .plan-name{color:#cbbba7}
.price-card.popular .features li{border-color:rgba(255,255,255,.13)}
.price-card.popular .primary{background:#f1e4d1;color:#1b1713;border-color:#f1e4d1}
.popular-badge{
 top:20px;right:20px;border-radius:0;background:#b28d5e;color:#fff;
 text-transform:uppercase;letter-spacing:.14em;padding:8px 11px
}
.plan-name{font-size:19px;letter-spacing:.12em}
.price{font-size:57px;font-weight:400;margin:16px 0}
.features li{padding:13px 0;font-size:13px}
.features li:before{content:"—";color:#a28058}
.faq details{background:transparent;padding:23px 0}
footer{border-top:1px solid rgba(71,53,38,.14)}
/* Builder */
.app{background:#eee7dd}
.appbar{min-height:78px;background:#181410;color:#fff;border:0;padding:13px 28px}
.appbar .ghost{border-color:rgba(255,255,255,.28);color:#fff}
.controls{padding:38px;background:#faf7f1;border-color:rgba(70,50,35,.12)}
.controls h2{font-size:43px}
.field label{font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.field input,.field textarea,.field select{
 border-radius:0;border:0;border-bottom:1px solid #cfc3b5;background:transparent;padding:14px 3px
}
.feature-box{border-radius:0;background:#f5efe6;padding:22px}
.invitation{box-shadow:0 35px 90px rgba(55,39,25,.17);background:#fffdf9}
.inv-hero{min-height:500px}
.inv-hero h2{font-size:65px}
.block{padding:48px 34px}
.block h3{font-size:39px}
.modal{background:rgba(20,16,12,.78);backdrop-filter:blur(8px)}
.modal-card{border-radius:0;background:#f5efe6;padding:35px}
.close-btn{border-radius:0}
@media(max-width:850px){
 .shell{padding:0 22px}.hero{min-height:auto;gap:40px}.pricing{border:0;gap:16px}
 .price-card{border:1px solid rgba(71,53,38,.15)}
}
@media(max-width:560px){
 .shell{padding:0 18px}nav{min-height:76px}.logo{font-size:20px}
 .hero{padding:60px 0 75px}.hero:after{display:none}
 h1{font-size:64px;line-height:.83}.hero p{font-size:15px}
 .section{padding:72px 0}.section>h2{font-size:48px}
 .preview{height:340px}.category{min-height:170px}
 .price-card{padding:30px 24px}.price{font-size:49px}
 .controls{padding:24px 18px}.modal-card{padding:22px 18px}
}
.plan-locked,[disabled]{opacity:.48;cursor:not-allowed}

.password-wrap{position:relative}.password-wrap input{padding-right:48px!important}.password-eye{position:absolute;right:2px;bottom:8px;width:42px;height:38px;border:0;background:transparent;font-size:18px;padding:0;color:var(--muted)}
.guest-greeting{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;color:inherit;margin:0 0 8px}
.alcohol-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left;margin:10px 0 12px}.alcohol-choice{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #ddd;font-size:13px}.alcohol-choice input{width:auto!important;margin:0!important}
.payment-success-card{text-align:center;max-width:520px}.payment-success-card .success-mark{font-family:'Cormorant Garamond',serif;font-size:72px;line-height:1;margin:4px 0 14px}.payment-success-card h2{font-size:48px;margin:0 0 12px}.payment-success-card .primary,.payment-success-card .ghost{width:100%;margin-top:9px}
@media(max-width:560px){.alcohol-grid{grid-template-columns:1fr}.payment-success-card h2{font-size:39px}}

/* INVELLA COUTURE COLLECTION — six independent art directions */
#templates{padding-top:84px}
#templates>h2{max-width:780px;font-size:clamp(46px,7vw,84px);line-height:.88;letter-spacing:-.045em;margin-bottom:20px}
#templates>.sub{max-width:580px;font-size:15px;line-height:1.8;margin-bottom:44px}
#templates .templates{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
#templates .template{border:0;border-radius:0;background:#f8f3eb;box-shadow:0 22px 70px rgba(43,32,23,.08);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}
#templates .template:hover{transform:translateY(-8px);box-shadow:0 34px 90px rgba(43,32,23,.14)}
#templates .preview{height:520px;padding:0;overflow:hidden;isolation:isolate}
#templates .preview:after{display:none}
#templates .template-info{padding:27px 28px 30px;background:#fbf8f2;border-top:1px solid rgba(48,37,29,.09)}
#templates .template-info b{display:block;font-size:30px;font-weight:400;letter-spacing:-.02em;margin-bottom:7px}
#templates .template-info p{font-size:12px;letter-spacing:.02em;line-height:1.65;min-height:40px;margin:0 0 19px;color:#81776f}
#templates .template-info button{border-radius:0;letter-spacing:.13em;text-transform:uppercase;font-size:10px;padding:15px 18px}

/* 01 MAISON — ivory stationery, blind emboss, monogram */
.t1{background:linear-gradient(145deg,#e9ddcf,#f7f0e6 56%,#ded0c0);color:#30251d}
.t1:before{content:"";position:absolute;inset:27px;border:1px solid rgba(91,67,48,.28);box-shadow:inset 0 0 0 7px rgba(255,255,255,.18);z-index:-1}
.t1 .art{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px 42px;position:relative}
.t1 .art:before{content:"A  ·  M";display:grid;place-items:center;width:74px;height:74px;border:1px solid #8b715c;border-radius:50%;font-family:Georgia,serif;font-size:17px;letter-spacing:.12em;margin-bottom:54px}
.t1 small{font-size:8px;letter-spacing:.48em;text-transform:uppercase;margin-bottom:18px}
.t1 h3{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:61px!important;font-weight:400;line-height:.82!important;margin:0 0 27px!important}
.t1 span{font-family:Arial,sans-serif;font-size:9px;letter-spacing:.28em;text-transform:uppercase;border-top:1px solid #9e8b7b;padding-top:16px}

/* 02 VOGUE EDITORIAL — typography as architecture */
.t2{background:#e8e3da;color:#0d0d0c;text-align:left;align-items:stretch!important;justify-content:stretch!important}
.t2 .art{height:100%;width:100%;position:relative;padding:28px 28px 34px;display:flex;flex-direction:column;align-items:flex-start}
.t2 .issue{font:700 9px/1 Arial,sans-serif;letter-spacing:.2em;border:1px solid #111;padding:7px 8px}
.t2 .number{position:absolute;right:22px;top:16px;font:800 112px/.8 Arial,sans-serif;letter-spacing:-.1em;color:rgba(0,0,0,.08)}
.t2 h3{font-family:Arial,sans-serif!important;font-size:66px!important;line-height:.76!important;letter-spacing:-.085em!important;font-weight:800!important;text-transform:uppercase;margin:auto 0 24px!important;max-width:90%}
.t2 .rule{width:100%;height:8px;background:#111;margin-bottom:18px}
.t2 span{font:700 10px/1.4 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;max-width:240px}

/* 03 NOIR — black tie, champagne foil, cinematic */
.t3{background:radial-gradient(circle at 50% 28%,#35302a 0,#171512 48%,#090908 100%);color:#f0e6d6}
.t3:before{content:"";position:absolute;inset:19px;border:1px solid rgba(203,175,128,.35);z-index:-1}
.t3:after{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(203,175,128,.14);border-radius:50%;top:70px;left:50%;transform:translateX(-50%);z-index:-1}
.t3 .art{height:100%;width:100%;padding:48px 38px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.t3 small{font-size:8px;letter-spacing:.55em;color:#c5aa7d;margin-bottom:72px}
.t3 h3{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:66px!important;line-height:.78!important;font-weight:300!important;margin:0 0 48px!important;color:#f6eee2}
.t3 .diamond{width:7px;height:7px;background:#c5aa7d;transform:rotate(45deg);margin-bottom:22px}
.t3 span{font-size:9px;letter-spacing:.32em;color:#cbbca7;text-transform:uppercase}

/* 04 HERBARIUM — botanical atelier, illustrated leaves */
.t4{background:#e9eadf;color:#2d3a2c}
.t4 .art{height:100%;width:100%;padding:54px 36px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.t4 .leaf{position:absolute;width:120px;height:230px;border-left:1px solid #6f8069;opacity:.7;transform-origin:bottom}
.t4 .leaf:before,.t4 .leaf:after{content:"";position:absolute;width:58px;height:24px;border:1px solid #71826b;border-radius:100% 0 100% 0}
.t4 .leaf:before{left:-58px;top:54px;transform:rotate(25deg)}.t4 .leaf:after{left:0;top:105px;transform:rotate(-25deg) scaleX(-1)}
.t4 .l1{left:17px;bottom:-15px;transform:rotate(-15deg)}.t4 .l2{right:8px;top:-22px;transform:rotate(165deg)}
.t4 small{font-size:8px;letter-spacing:.42em;margin-bottom:27px;z-index:1}
.t4 h3{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:69px!important;line-height:.82!important;font-style:italic;font-weight:400!important;margin:0 0 26px!important;z-index:1}
.t4 span{font-size:9px;letter-spacing:.25em;text-transform:uppercase;z-index:1}
.t4 .seal{margin-top:45px;width:36px;height:36px;border:1px solid #788873;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:12px;z-index:1}

/* 05 AMOUR — couture blush, silk ribbon, handwritten mood */
.t5{background:linear-gradient(155deg,#f5e8e4 0,#ead5d2 52%,#f7eeea 100%);color:#57393b}
.t5:before{content:"";position:absolute;width:160%;height:92px;background:rgba(255,255,255,.3);transform:rotate(-38deg);left:-45%;top:43%;box-shadow:0 10px 30px rgba(90,50,50,.08);z-index:-1}
.t5 .art{height:100%;width:100%;padding:45px 36px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.t5 small{font-family:Arial,sans-serif;font-size:8px;letter-spacing:.5em;margin-bottom:38px}
.t5 .amp{font-family:'Cormorant Garamond',Georgia,serif;font-size:34px;font-style:italic;color:#a06f72;margin:-8px 0}
.t5 h3{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:67px!important;line-height:.72!important;font-style:italic;font-weight:400!important;margin:0!important}
.t5 span{font-size:9px;letter-spacing:.22em;text-transform:uppercase;margin-top:44px}
.t5 .kiss{font-family:Georgia,serif;font-size:20px;margin-top:24px;color:#9b686c}

/* 06 GALLERY — modern art-book, cobalt accent */
.t6{background:#efede6;color:#111;text-align:left;align-items:stretch!important;justify-content:stretch!important}
.t6 .art{height:100%;width:100%;padding:25px;position:relative;display:grid;grid-template-rows:auto 1fr auto}
.t6 .top{display:flex;justify-content:space-between;font:700 8px/1 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.t6 .shape{position:absolute;width:58%;height:45%;right:-8%;top:22%;background:#293f85;border-radius:50% 0 0 50%;opacity:.96;z-index:-1}
.t6 .shape:after{content:"";position:absolute;width:105px;height:105px;background:#d4c5a7;left:-62px;bottom:-55px;transform:rotate(45deg)}
.t6 h3{align-self:center;font-family:Arial,sans-serif!important;font-size:74px!important;line-height:.78!important;letter-spacing:-.09em!important;font-weight:300!important;margin:0!important;max-width:250px}
.t6 .bottom{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #111;padding-top:14px;font:700 9px/1.4 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}

/* Invitation canvas — shared premium frame */
.preview-area{background:linear-gradient(145deg,#d9d0c4,#f0e9df 45%,#d7cec2);padding:44px}
.invitation{position:relative;isolation:isolate;width:min(460px,100%);box-shadow:0 35px 110px rgba(34,26,20,.22);overflow:hidden}
.invitation .eyebrow{font-size:8px;letter-spacing:.45em;text-transform:uppercase}
.invitation .block{position:relative}

/* MAISON invitation */
.theme-classic{background:#fbf7ef;color:#2e241d;border:1px solid #d6c8b8}
.theme-classic:before{content:"";position:absolute;inset:13px;border:1px solid rgba(109,82,60,.22);z-index:5;pointer-events:none}
.theme-classic .inv-hero{min-height:570px!important;background:linear-gradient(145deg,#eee3d6,#f8f2e9)!important;padding:72px 44px!important}
.theme-classic .inv-hero:before{content:"A  ·  M";display:grid;place-items:center;width:70px;height:70px;border:1px solid #9a8068;border-radius:50%;font:16px Georgia,serif;letter-spacing:.12em;margin:0 auto 52px}
.theme-classic .inv-hero h2{font:400 64px/.8 'Cormorant Garamond',Georgia,serif!important;letter-spacing:-.03em;margin:10px 0 35px!important}
.theme-classic .inv-date{font:10px Arial,sans-serif!important;letter-spacing:.22em;text-transform:uppercase;border-top:1px solid #ad9988;padding-top:18px}
.theme-classic .block{padding:54px 42px!important;border-top:1px solid #dfd4c7!important;background:#fbf7ef}
.theme-classic .block h3{font:400 37px/1 'Cormorant Garamond',Georgia,serif!important}

/* EDITORIAL invitation */
.theme-editorial{background:#f1eee8;color:#0d0d0d;text-align:left!important}
.theme-editorial .inv-hero{min-height:570px!important;background:#e7e2d9;text-align:left!important;align-items:flex-start!important;justify-content:flex-end!important;padding:42px 34px!important;border-bottom:10px solid #111;position:relative}
.theme-editorial .inv-hero:after{content:"02";position:absolute;right:22px;top:20px;font:800 120px/.8 Arial,sans-serif;color:rgba(0,0,0,.07);letter-spacing:-.1em}
.theme-editorial .inv-hero h2{font:800 70px/.75 Arial,sans-serif!important;letter-spacing:-.09em!important;text-transform:uppercase;max-width:340px;margin:0 0 30px!important}
.theme-editorial .inv-date{font:700 10px Arial,sans-serif!important;letter-spacing:.12em;text-transform:uppercase}
.theme-editorial .block{text-align:left!important;padding:43px 34px!important;border-top:2px solid #111!important;background:#f1eee8}
.theme-editorial .block h3{font:800 11px Arial,sans-serif!important;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid #111;padding-bottom:13px}
.theme-editorial .timeline{margin-left:0!important;max-width:none!important}

/* NOIR invitation */
.theme-dark{background:#11100e;color:#eee5d7;border:1px solid #4e4438}
.theme-dark .inv-hero{min-height:590px!important;background:radial-gradient(circle at 50% 30%,#3b342b,#151310 55%,#080807)!important;color:#f3eadc!important;border-bottom:1px solid #574c3e}
.theme-dark .inv-hero:before{content:"BLACK TIE · PRIVATE CELEBRATION";font:8px Arial,sans-serif;letter-spacing:.35em;color:#c3a777;margin-bottom:70px}
.theme-dark .inv-hero h2{font:300 68px/.78 'Cormorant Garamond',Georgia,serif!important;color:#f6eee2;margin:0 0 42px!important}
.theme-dark .inv-date{font:9px Arial,sans-serif!important;letter-spacing:.27em;color:#cbbca7;text-transform:uppercase}
.theme-dark .block{background:#11100e!important;border-top:1px solid #3c352d!important;padding:55px 40px!important}
.theme-dark .block h3{font:300 38px 'Cormorant Garamond',Georgia,serif!important;color:#e8dcc9}.theme-dark .block p,.theme-dark .timeline{color:#aaa094}.theme-dark .timeline div{border-color:#38322c}.theme-dark button{color:#e8dcc9;border-color:#8b7557;background:transparent}

/* HERBARIUM invitation */
.theme-botanical{background:#f1f2e9;color:#2b382a}
.theme-botanical .inv-hero{min-height:580px!important;background:linear-gradient(155deg,#dce2d5,#f0f1e8 55%,#ced8c9)!important;overflow:hidden;position:relative}
.theme-botanical .inv-hero:before,.theme-botanical .inv-hero:after{content:"❧";position:absolute;font:150px Georgia,serif;color:#788972;opacity:.55}.theme-botanical .inv-hero:before{left:-30px;top:-5px;transform:rotate(-35deg)}.theme-botanical .inv-hero:after{right:-30px;bottom:-10px;transform:rotate(145deg)}
.theme-botanical .inv-hero>*{position:relative;z-index:1}.theme-botanical .inv-hero h2{font:400 italic 67px/.78 'Cormorant Garamond',Georgia,serif!important;margin:15px 0 34px!important}.theme-botanical .inv-date{font:9px Arial,sans-serif!important;letter-spacing:.25em;text-transform:uppercase}
.theme-botanical .block{padding:53px 40px!important;border:0!important;background:#f4f4ec}.theme-botanical .block:nth-of-type(even){background:#e7ebe1}.theme-botanical .block h3{font:400 italic 39px 'Cormorant Garamond',Georgia,serif!important}

/* AMOUR invitation */
.theme-romance{background:#fff8f5;color:#553638}
.theme-romance .inv-hero{min-height:580px!important;background:linear-gradient(155deg,#f5e8e3,#e4cac9 55%,#f6ece8)!important;position:relative;overflow:hidden}
.theme-romance .inv-hero:before{content:"";position:absolute;width:160%;height:100px;background:rgba(255,255,255,.3);transform:rotate(-37deg);box-shadow:0 10px 30px rgba(92,53,53,.08)}
.theme-romance .inv-hero>*{position:relative;z-index:1}.theme-romance .inv-hero h2{font:400 italic 70px/.74 'Cormorant Garamond',Georgia,serif!important;margin:18px 0 38px!important}.theme-romance .inv-date{font:9px Arial,sans-serif!important;letter-spacing:.24em;text-transform:uppercase}.theme-romance .block{padding:56px 42px!important;border:0!important;background:#fff8f5}.theme-romance .block:after{content:"♡";display:block;font:17px Georgia,serif;color:#a8787a;margin-top:35px}.theme-romance .block h3{font:400 italic 40px 'Cormorant Garamond',Georgia,serif!important}

/* GALLERY invitation */
.theme-modern{background:#efede7;color:#111;text-align:left!important}
.theme-modern .inv-hero{min-height:570px!important;background:linear-gradient(135deg,#ece9e2 0 62%,#d8cfbd 62%)!important;text-align:left!important;align-items:flex-start!important;padding:34px!important;justify-content:space-between!important;position:relative;overflow:hidden}
.theme-modern .inv-hero:after{content:"";position:absolute;width:270px;height:270px;border-radius:50%;background:#293f85;right:-120px;top:115px;z-index:0}.theme-modern .inv-hero>*{position:relative;z-index:1}.theme-modern .inv-hero h2{font:300 65px/.78 Arial,sans-serif!important;letter-spacing:-.085em!important;max-width:270px;margin:auto 0 30px!important}.theme-modern .inv-date{font:700 9px Arial,sans-serif!important;letter-spacing:.08em;text-transform:uppercase}.theme-modern .block{text-align:left!important;padding:44px 34px!important;border-top:1px solid #aaa69d!important;background:#efede7}.theme-modern .block h3{font:400 29px Arial,sans-serif!important;letter-spacing:-.055em}.theme-modern .timeline{margin-left:0!important;max-width:none!important}.theme-modern .palette{justify-content:flex-start!important}

@media(max-width:760px){#templates{padding-top:56px}#templates .templates{grid-template-columns:1fr;gap:26px}#templates .preview{height:470px}#templates .template-info{padding:23px 22px 26px}.preview-area{padding:0!important;background:#ddd4c8!important}.invitation{width:100%!important;box-shadow:none!important}.theme-classic .inv-hero,.theme-editorial .inv-hero,.theme-dark .inv-hero,.theme-botanical .inv-hero,.theme-romance .inv-hero,.theme-modern .inv-hero{min-height:520px!important}}

html.public-route #marketing{display:none!important}
html.public-route #app{display:block!important}
html.public-route .appbar,html.public-route .controls{display:none!important}
html.public-route .editor{grid-template-columns:1fr!important}
html.public-route body{background:#e9e0d4}
html.public-route .preview-area{min-height:100vh}
.public-loading{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;background:linear-gradient(145deg,#e8ded0,#f6f0e7 45%,#d8ccbd);transition:opacity .22s ease}
.public-loading.hidden{opacity:0;pointer-events:none;display:grid!important}
.public-loading-card{width:min(390px,82vw);height:72vh;max-height:720px;border:1px solid rgba(92,70,50,.22);background:rgba(255,252,247,.72);box-shadow:0 30px 90px rgba(49,35,24,.12);display:grid;place-items:center;text-align:center;padding:30px}
.public-loading-card:before{content:'INVELLA';font:400 19px 'Cormorant Garamond',Georgia,serif;letter-spacing:.34em;color:#7d6a57}

.preview-area{position:relative;isolation:isolate;transition:background .35s ease}
.preview-area:before,.preview-area:after{content:"";position:absolute;pointer-events:none;z-index:-1}
.preview-area[data-bg="auto"]{background:var(--event-bg,linear-gradient(145deg,#d9d0c4,#f0e9df 45%,#d7cec2))}
.preview-area[data-bg="silk"]{background:radial-gradient(ellipse at 20% 10%,#fff9f0 0 8%,transparent 38%),linear-gradient(125deg,#d8c6b3 0,#f7efe5 32%,#cdb9a4 55%,#f4eadf 78%,#d7c3ad)}
.preview-area[data-bg="silk"]:before{inset:-15%;background:repeating-linear-gradient(118deg,transparent 0 13%,rgba(255,255,255,.18) 14%,transparent 28%);filter:blur(18px)}
.preview-area[data-bg="garden"]{background:radial-gradient(circle at 12% 18%,rgba(245,238,218,.9),transparent 20%),radial-gradient(circle at 86% 72%,rgba(182,194,161,.75),transparent 27%),linear-gradient(145deg,#6f7c62,#c8cdb9 48%,#e9e3d4)}
.preview-area[data-bg="garden"]:before{width:360px;height:520px;left:-110px;top:-70px;border:1px solid rgba(240,236,215,.42);border-radius:50%;transform:rotate(-28deg);box-shadow:80px 120px 0 -1px rgba(255,255,255,.08)}
.preview-area[data-bg="marble"]{background:linear-gradient(120deg,#eee9e2,#d8d3cc 24%,#faf8f4 48%,#d3cec8 67%,#eeeae4)}
.preview-area[data-bg="marble"]:before{inset:0;background:repeating-linear-gradient(154deg,transparent 0 17%,rgba(113,104,96,.12) 17.4%,transparent 18.2%,transparent 34%);filter:blur(1px)}
.preview-area[data-bg="noir"]{background:radial-gradient(circle at 50% 15%,#4a4136 0,#201d19 38%,#0d0c0b 100%)}
.preview-area[data-bg="noir"]:before{inset:22px;border:1px solid rgba(199,170,123,.18)}
.preview-area[data-bg="blush"]{background:radial-gradient(circle at 22% 18%,#f9eeee 0,transparent 30%),radial-gradient(circle at 82% 75%,#d7b8b6 0,transparent 32%),linear-gradient(145deg,#ead6d3,#f6ebe5 55%,#d9bdb9)}
.preview-area[data-bg="editorial"]{background:linear-gradient(90deg,#e8e4dc 0 49.5%,#171717 49.5% 50.5%,#f5f2ec 50.5%);}
.bg-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.bg-choice{border:1px solid var(--line);background:#fff;padding:7px;text-align:left;cursor:pointer}.bg-choice i{display:block;height:48px;margin-bottom:7px;border:1px solid rgba(0,0,0,.06)}.bg-choice span{font-size:10px;letter-spacing:.04em}.bg-choice.active{outline:2px solid #9c7a52;outline-offset:1px}.bg-auto{background:linear-gradient(135deg,#e6d8c7,#f6f0e8,#cad1c2)}.bg-silk{background:linear-gradient(125deg,#d7c3ae,#fff5e8,#cbb49d)}.bg-garden{background:linear-gradient(135deg,#6d7a61,#dce0cc)}.bg-marble{background:linear-gradient(135deg,#eee,#bbb,#fafafa)}.bg-noir{background:radial-gradient(circle,#4b4136,#111)}.bg-blush{background:linear-gradient(135deg,#f4e6e3,#d2ada9)}
@media(max-width:760px){html.public-route .preview-area{padding:0!important;min-height:100vh}.bg-picker{grid-template-columns:repeat(2,1fr)}}

html.public-route,html.public-route body{margin:0!important;width:100%!important;min-width:0!important;background:#eee7dd!important;overflow-x:hidden!important}
html.public-route #app,html.public-route .editor,html.public-route .preview-area{width:100%!important;max-width:none!important;margin:0!important}
html.public-route .editor{display:block!important}
html.public-route .preview-area{min-height:100vh!important;padding:clamp(18px,4vw,54px)!important;box-sizing:border-box!important}
html.public-route .invitation{margin:0 auto!important}
.premium-upload-preview{height:76px;border:1px dashed var(--line);display:grid;place-items:center;background:#f4eee6 center/cover no-repeat;margin-top:10px;font-size:11px;color:var(--muted)}
.wish-presets{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.wish-presets button{font-size:10px;padding:9px 11px}
.child-note{padding:42px 28px;text-align:center;border-top:1px solid #eee}.child-note h3{margin:0 0 12px}.child-question{margin-top:10px;text-align:left}.child-question label{display:block;font-size:12px;color:#766e68;margin-bottom:5px}
@media(max-width:760px){html.public-route .preview-area{padding:0!important}.preview-area:before{display:none!important}html.public-route .invitation{width:100%!important;max-width:100%!important}}

/* public-polish-2026-09-04 */
.public-route .legal-links,.public-route .legal-doc{display:none!important}
.public-route .invitation{font-family:Georgia,"Times New Roman",serif}
.public-route .invitation p,.public-route .invitation .timeline,.public-route .invitation button,.public-route .invitation input,.public-route .invitation select,.public-route .invitation textarea{font-family:Arial,sans-serif}
.public-route .invitation h2,.public-route .invitation h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.025em}
.public-route .guest-greeting{font-family:Georgia,"Times New Roman",serif;font-size:22px;font-style:italic;letter-spacing:.01em;margin-bottom:14px}
.public-route #guestHeading{max-width:760px;margin-left:auto;margin-right:auto;line-height:1.08}

.legal-links{padding:22px;text-align:center;border-top:1px solid var(--line);margin-top:28px}
.legal-links a{margin:0 10px;text-decoration:underline}
.legal-doc{display:none;position:fixed;inset:0;z-index:99999;background:#fffdf9;overflow:auto;padding:20px}
.legal-doc:target{display:block}
.legal-inner{max-width:760px;margin:0 auto;padding:12px 0 60px}
.legal-inner h1{font-size:38px;margin:18px 0}.legal-inner h2{font-size:22px;margin-top:28px}
.legal-inner p{line-height:1.6}.legal-back{display:inline-block;margin-bottom:12px;text-decoration:none}

/* Published editorial media */
.public-route .theme-editorial .inv-hero:after{content:none!important}
