:root{--bg:#f8f6f1;--panel:#fffefa;--ink:#23352d;--muted:#7d8980;--forest:#547566;--forest-dark:#2d5144;--sand:#eadfcb;--gold:#ba9b65;--blush:#e6cec4;--line:#e8e6dc;--shadow:0 14px 40px #2e3e2d10;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 'Segoe UI',Inter,system-ui,-apple-system,sans-serif}h1,h2,h3,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(36px,4vw,55px);line-height:1.08;margin:0 0 15px}h2{font-size:30px;margin:0 0 7px}h3{font-size:21px;margin:0 0 8px}p{margin:8px 0 17px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button,input,select,textarea{outline-color:var(--forest)}input,select,textarea{background:#fff;border:1px solid #dadfd8;border-radius:10px;padding:12px 13px;color:#27372f;width:100%;min-width:0}textarea{min-height:95px;resize:vertical}label{display:block;color:#596960;font-size:12px;font-weight:650;letter-spacing:.025em;margin-bottom:13px}label input,label select,label textarea{font-weight:400;font-size:14px;margin-top:6px}button.primary,.btn-primary{border:0;border-radius:10px;background:var(--forest-dark);color:white;padding:12px 19px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px}button.primary:hover{background:#1f3c32}button.secondary{border:1px solid #cdd7cf;border-radius:10px;background:white;color:var(--forest-dark);padding:11px 17px;font-weight:650}button.textbtn{border:0;background:transparent;color:var(--forest-dark);font-weight:650;padding:5px 2px}button.ghost{border:0;background:transparent;color:var(--muted);padding:7px}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-size:11px;font-weight:800;margin:0 0 10px}.app-shell{min-height:100vh;display:flex}.side{width:250px;background:var(--forest-dark);color:#f9f7f0;padding:25px 17px;flex-shrink:0;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;font-size:23px;letter-spacing:-1px;padding:7px 10px 24px}.brand-icon{font-size:29px;color:#e9cfa2}.side hr{border:0;border-top:1px solid #ffffff20;width:100%;margin:16px 0}.side nav{display:flex;flex-direction:column;gap:2px}.navbtn{color:#e5ebe6;display:flex;align-items:center;gap:12px;width:100%;border:0;text-align:left;border-radius:10px;background:transparent;padding:10px 13px;font-size:14px}.navbtn:hover,.navbtn.active{background:#ffffff1a;color:white}.navbtn .emoji{width:20px;opacity:.95}.sidefooter{margin-top:auto;padding:12px}.sidefooter .couplename{font-family:Georgia,serif;font-size:19px;margin:3px 0 4px}.sidefooter p{font-size:12px;color:#c8d4cc}.main{flex:1;min-width:0;padding:27px min(4.5vw,65px) 70px;max-width:1700px;margin:0 auto;width:100%}.topbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:35px}.topbar .breadcrumbs{font-size:13px;color:#73857a}.topbar-actions{display:flex;gap:10px;align-items:center}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:23px}.page-head p{color:#738178;max-width:700px}.grid{display:grid;gap:18px}.cols4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:23px;box-shadow:var(--shadow)}.card-tight{padding:17px 20px}.stats .card{min-height:147px}.stat-number{font-family:Georgia,serif;font-size:36px;line-height:1.3}.stat-label{font-size:12px;color:var(--muted);margin:0}.stat-foot{color:var(--forest);font-size:12px;margin-top:10px}.hero{position:relative;overflow:hidden;min-height:245px;border-radius:19px;background:radial-gradient(ellipse at 85% 40%,#dfc7ab 0,transparent 30%),linear-gradient(115deg,#416657 0%,#789483 70%,#93a596 100%);color:white;padding:33px 38px;margin-bottom:22px;display:flex;justify-content:space-between;align-items:center}.hero h1{font-size:clamp(35px,4.5vw,56px);max-width:460px;margin:5px 0 12px}.hero .eyebrow{color:#e8d5b4}.hero p{color:#edf2ec;font-size:13px}.hero-decoration{font:200px Georgia,serif;opacity:.25;transform:rotate(14deg);user-select:none}.stack{display:flex;flex-direction:column;gap:18px}.between{display:flex;justify-content:space-between;align-items:center;gap:15px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;font-size:11px;font-weight:750;letter-spacing:.02em;border-radius:100px;padding:5px 10px;background:#f0eee6;color:#5d665c}.pill.green{background:#e6f0e8;color:#39704e}.pill.gold{background:#fbf1dc;color:#876325}.pill.red{background:#f9e7e4;color:#a34f4f}.progress{height:8px;border-radius:20px;background:#e8ece6;overflow:hidden;margin:10px 0}.progress>span{display:block;height:100%;background:var(--forest);border-radius:20px}.tablewrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;white-space:nowrap}.data-table th{text-transform:uppercase;font-size:10px;letter-spacing:.1em;text-align:left;color:#95a29a;font-weight:800;padding:10px 13px;border-bottom:1px solid var(--line)}.data-table td{padding:13px;border-bottom:1px solid #f0eee7;font-size:13px}.data-table td:first-child{font-weight:650}.data-table tr:last-child td{border-bottom:0}.avatar{height:32px;width:32px;border-radius:50%;background:#e8eee8;display:inline-flex;align-items:center;justify-content:center;color:#648171;font-size:12px;margin-right:7px;font-weight:700}.actions{display:flex;gap:9px;flex-wrap:wrap}.empty{text-align:center;padding:45px 20px;color:#7d8980}.empty .symbol{font-size:45px;color:#a5baaa}.taskline{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid #f0eee7}.taskline:last-child{border:0}.taskline .check{height:19px;width:19px;accent-color:var(--forest)}.taskline .title{flex:1;font-size:13px}.taskline .title.done{text-decoration:line-through;color:#9ca39e}.tabs{display:flex;gap:7px;overflow-x:auto;margin-bottom:20px}.tabs button{border:1px solid var(--line);background:#fff;padding:8px 16px;border-radius:30px;color:#61756b;font-size:12px;white-space:nowrap}.tabs button.selected{background:var(--forest-dark);color:white;border-color:var(--forest-dark)}.modal-screen{position:fixed;inset:0;background:#10241c88;z-index:50;display:flex;align-items:center;justify-content:center;padding:15px;overflow-y:auto}.modal{width:min(570px,100%);background:var(--panel);border-radius:20px;padding:28px;max-height:94vh;overflow-y:auto;box-shadow:0 25px 70px #0004}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}.modal h2{font-size:28px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.formgrid .wide{grid-column:1/-1}.toast{position:fixed;bottom:25px;right:25px;max-width:min(450px,90vw);background:#243c30;color:white;box-shadow:var(--shadow);border-radius:12px;padding:13px 18px;z-index:100;opacity:0;transform:translateY(15px);pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translateY(0)}.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.auth-showcase{background:#36594a;color:#fff;display:flex;align-items:center;padding:8vw;position:relative;overflow:hidden}.auth-showcase:after{content:'✺';font:450px Georgia,serif;position:absolute;right:-115px;bottom:-200px;color:#ffffff1a}.auth-showcase h1{font-size:clamp(55px,7vw,100px);max-width:670px;position:relative;z-index:1}.auth-showcase p{max-width:400px;color:#e3eee6;font-size:17px;line-height:1.8}.auth-content{display:flex;align-items:center;justify-content:center;padding:35px}.auth-card{width:min(480px,100%);padding:20px}.auth-card h2{font-size:38px;margin:6px 0 15px}.auth-card .primary{width:100%;margin:8px 0 16px}.auth-card .line{border:0;border-top:1px solid var(--line);margin:22px 0}.auth-tag{border-radius:6px;background:#e8eee8;color:#51705d;display:inline-block;padding:4px 9px;font-size:11px}.loader{display:flex;align-items:center;justify-content:center;gap:12px;min-height:70vh;color:var(--forest);font:27px Georgia,serif}.inset-note{background:#eef1ea;border-radius:13px;padding:15px 18px;font-size:13px;color:#5b7162}.invitation-demo{border:1px solid var(--line);border-radius:18px;min-height:355px;display:flex;align-items:center;justify-content:center;background:#eae8dc;background-image:radial-gradient(#d4d9ce 1px,transparent 1px);background-size:20px 20px;overflow:hidden}.invitation-demo .envelope-scene{transform:scale(.78)}.invite-root{min-height:100vh;background:#f4f0e7;--accent:#617c70}.invite-top{padding:20px 5%;display:flex;align-items:center;justify-content:space-between;color:#617669;font-family:Georgia,serif}.invite-stage{min-height:calc(100vh - 72px);padding:20px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.invite-stage>h1{font-size:clamp(30px,5vw,48px);margin:0 0 13px}.invite-stage>.eyebrow{margin-top:22px}.envelope-scene{position:relative;width:340px;height:260px;margin:15px auto 22px;cursor:pointer;filter:drop-shadow(0 18px 17px #5e5b5040);outline-offset:6px}.envelope-back{position:absolute;width:340px;height:220px;background:#d5bca2;bottom:0;left:0;border-radius:3px}.envelope-letter{position:absolute;width:290px;height:192px;left:25px;bottom:14px;background:#fffdf7;border:1px solid #e4dbcb;border-radius:4px;z-index:2;transition:transform 1s cubic-bezier(.18,.74,.19,1),opacity .5s;text-align:center;padding:34px 20px 10px;box-shadow:0 -2px 10px #332e2311}.envelope-letter .monogram{font-family:Georgia,serif;font-size:30px;color:var(--accent)}.envelope-letter .calligraphy{font:23px Georgia,serif;line-height:1.2;margin:6px 0;color:#354b3f}.envelope-letter small{color:#978e81;text-transform:uppercase;letter-spacing:.2em;font-size:10px}.envelope-front{position:absolute;bottom:0;left:0;width:340px;height:220px;clip-path:polygon(0 0,50% 51%,100% 0,100% 100%,0 100%);background:#e9d5c2;z-index:4;border-radius:3px}.envelope-front:after{content:'';position:absolute;inset:0;clip-path:polygon(0 100%,50% 38%,100% 100%);background:#ead8c6}.envelope-flap{position:absolute;left:0;bottom:0;width:340px;height:220px;clip-path:polygon(0 0,50% 62%,100% 0);background:#eadbc9;z-index:5;transform-origin:50% 0%;transition:transform .75s cubic-bezier(.2,.65,.2,1),z-index .1s;backface-visibility:hidden}.envelope-stamp{position:absolute;bottom:110px;left:145px;z-index:6;width:52px;height:52px;border-radius:50%;background:#b19a72;display:flex;align-items:center;justify-content:center;color:#f8eddd;font:25px Georgia,serif;transition:opacity .2s}.envelope-scene.open .envelope-flap{transform:rotateX(180deg);z-index:1}.envelope-scene.open .envelope-stamp{opacity:0}.envelope-scene.open .envelope-letter{transform:translateY(-138px);transition-delay:.55s}.invite-reveal{width:min(700px,100%);background:#fffdf7;border:1px solid #e3ded0;box-shadow:0 23px 55px #7c796633;text-align:center;border-radius:7px;padding:clamp(25px,5vw,54px);margin:20px auto 60px;opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.invite-reveal.visible{opacity:1;transform:translateY(0)}.invite-reveal h1{font-size:clamp(39px,6vw,63px);margin:15px 0}.invite-reveal .rule{height:1px;background:#e8dfcd;margin:27px auto;width:65%}.invite-reveal p{color:#718176;line-height:1.7}.invite-detail{font-family:Georgia,serif;font-size:21px;color:#2d493a!important}.invite-reveal .form-area{text-align:left;margin:30px auto 0;max-width:460px;border-top:1px solid #eae4d9;padding-top:30px}.invite-reveal .form-area h2{text-align:center;font-size:30px}.invitation-schedule{text-align:left;max-width:470px;margin:0 auto}.invitation-schedule>div{border-bottom:1px solid #f1ece1;padding:11px 0;font-size:13px;display:flex;gap:25px}.invitation-schedule strong{min-width:100px}.language{display:flex;gap:8px}.language button{background:transparent;border:0;color:#577167;padding:5px 7px;font-size:11px;font-weight:700}.language button.active{text-decoration:underline}.separator{font-size:14px;color:#aa9981;margin:19px 0}.feature{border-radius:18px;background:#e7ede7;padding:24px;min-height:170px}.feature h3{font-size:23px}.toggle{accent-color:var(--forest);width:auto;margin-right:8px}.filefield{display:inline-block;font-size:13px;cursor:pointer}.filefield input{display:none}.help{font-size:12px;color:#8a968c;margin-top:4px}.danger{color:#a74d4d!important}.full{width:100%}.right{text-align:right}.scrollpad{padding-bottom:80px}.labeltitle{font-size:13px;color:#6e7c71;font-weight:750;text-transform:uppercase;letter-spacing:.07em}.guest-state{font-size:13px;color:#a08667}.mobile-menu{display:none}.compact-action{padding:6px 10px!important;font-size:12px!important}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#a4aaa2;margin-right:7px}.status-dot.yes{background:#4b9768}.status-dot.no{background:#cf8f75}.status-dot.pending{background:#dfbd74}@media(max-width:1200px){.cols4{grid-template-columns:repeat(2,minmax(0,1fr))}.cols3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.side{width:77px;padding:18px 11px}.brand{font-size:0;padding:7px 8px 24px}.brand-icon{font-size:29px}.navbtn{font-size:0;justify-content:center;padding:12px}.navbtn .emoji{font-size:20px}.sidefooter{display:none}.main{padding:24px}.auth{grid-template-columns:1fr}.auth-showcase{display:none}}@media(max-width:600px){h1{font-size:37px}.side{width:100%;height:auto;position:static;padding:5px 12px;flex-direction:row;overflow-x:auto;align-items:center}.side .brand{padding:0;font-size:0}.side nav{flex-direction:row}.side hr,.sidefooter{display:none}.navbtn{padding:8px}.app-shell{display:block}.main{padding:19px 14px 60px}.topbar{margin-bottom:22px}.topbar .breadcrumbs{display:none}.page-head{align-items:stretch;flex-direction:column}.page-head .actions{width:100%}.cols4,.cols3,.cols2{grid-template-columns:1fr}.hero{padding:24px;min-height:200px}.hero-decoration{display:none}.hero h1{font-size:39px}.card{padding:19px}.formgrid{grid-template-columns:1fr}.envelope-scene{transform:scale(.8);margin:-7px auto -5px}.invitation-demo .envelope-scene{transform:scale(.65)}.invite-stage{padding:12px}.invite-reveal{padding:27px 18px}.topbar-actions{flex-wrap:wrap}.auth-content{padding:15px}.auth-card{padding:5px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* Wedding Atlas realistic envelope v2 — paper depth + smoother reveal */
.envelope-scene {width:360px;height:310px;margin:24px auto 20px;perspective:1150px;isolation:isolate;filter:drop-shadow(0 15px 11px #75655636);will-change:transform}
.envelope-back {width:360px;height:223px;bottom:11px;border-radius:3px 3px 6px 6px;background:linear-gradient(127deg,#d9bea8,#c9aa92 45%,#ead4c1);box-shadow:inset 0 3px 8px #74584030,0 8px 16px #705a4720}
.envelope-back:after {content:"";position:absolute;inset:0;clip-path:polygon(0 0,50% 70%,100% 0);background:linear-gradient(180deg,#dfc6ae,#bfa18b);opacity:.7}
.envelope-letter {width:300px;height:225px;left:30px;bottom:23px;z-index:2;border:1px solid #e2d7c4;border-radius:2px;background:linear-gradient(135deg,#fffefa 0%,#faf7ef 60%,#f5efe4 100%);box-shadow:0 -3px 10px #78634c1b,0 4px 12px #82725c13;padding:33px 14px 12px;will-change:transform;transition:transform 1650ms cubic-bezier(.21,.86,.2,1),box-shadow 1400ms cubic-bezier(.21,.86,.2,1)}
.envelope-letter:before {content:"";position:absolute;inset:12px;border:1px solid #d4c5aa99;pointer-events:none}
.envelope-letter .monogram {font-size:34px;color:#af9067;line-height:1}
.envelope-letter .calligraphy {font:29px/1.22 Georgia,serif;margin:19px 0 10px;color:#375246;letter-spacing:-.035em}
.envelope-letter small {color:#ab926c;font-size:9px;letter-spacing:.20em}
.envelope-front {width:360px;height:223px;bottom:11px;left:0;border-radius:0 0 6px 6px;z-index:4;clip-path:polygon(0 0,50% 58%,100% 0,100% 100%,0 100%);background:linear-gradient(140deg,#e6cdb8,#d5b8a3 48%,#ead6c4);filter:drop-shadow(0 -2px 2px #75593d1b)}
.envelope-front:before {content:"";position:absolute;inset:0;background:linear-gradient(125deg,#eddac6,#d8bba3);clip-path:polygon(0 0,50% 56%,0 100%)}
.envelope-front:after {content:"";position:absolute;inset:0;background:linear-gradient(175deg,#f0ddcc 5%,#ddc5af 92%);clip-path:polygon(0 100%,50% 34%,100% 100%)}
.envelope-flap {width:360px;height:223px;bottom:11px;left:0;z-index:5;transform-origin:50% 0;clip-path:polygon(0 0,50% 61%,100% 0);background:linear-gradient(170deg,#f1dfcc,#d8bba3);filter:drop-shadow(0 3px 2px #745a4030);transition:transform 930ms cubic-bezier(.44,.02,.15,.99);backface-visibility:hidden}
.envelope-stamp {bottom:91px;left:152px;z-index:6;width:56px;height:56px;border-radius:48% 53% 45% 52%;background:radial-gradient(circle at 37% 29%,#be9d71,#a0784f 63%,#886641);box-shadow:inset 0 0 0 4px #b78f5f,inset 0 0 0 6px #85603b99,0 4px 7px #5a443343;text-shadow:0 1px 1px #79533288;transition:opacity 280ms ease,transform 280ms ease}
.envelope-stamp:after {content:"";position:absolute;inset:5px;border:1px solid #efcb9777;border-radius:50%}
.envelope-scene.open .envelope-flap {transform:rotateX(-180deg);z-index:1}
.envelope-scene.open .envelope-stamp {opacity:0;transform:scale(.86)}
.envelope-scene.open .envelope-letter {transform:translate3d(0,-166px,0);transition-delay:470ms;box-shadow:0 13px 24px #5d49342d}
@media(max-width:600px){.envelope-scene{transform:scale(.8);margin:-1px auto 0}.invitation-demo .envelope-scene{transform:scale(.65)}}
@media(prefers-reduced-motion:reduce){.envelope-scene .envelope-flap,.envelope-scene .envelope-letter,.envelope-scene .envelope-stamp{transition-duration:.01ms!important;transition-delay:0ms!important}}

/* Wedding Atlas: integrated v22 envelope (independent of legacy preview CSS). */
.atlas-guest-experience{display:flex;align-items:center;flex-direction:column;text-align:center;padding:12px 16px 50px;background:radial-gradient(ellipse at 35% 35%,#faf6ee,#f4eee6)}
.atlas-guest-heading{max-width:680px;margin:16px auto 0}.atlas-guest-heading h1{font-size:clamp(36px,5vw,55px);margin:8px 0}.atlas-guest-heading p{color:#8a8378;font-size:15px;margin:0}
.atlas-experience{width:min(600px,100%);margin:0 auto 18px;text-align:center}.atlas-scene{position:relative;width:100%;aspect-ratio:800/1320;cursor:pointer;touch-action:manipulation;isolation:isolate;perspective:1300px}
.atlas-envelope{position:absolute;left:0;top:54%;width:100%;aspect-ratio:800/560;transform-style:preserve-3d}.atlas-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.atlas-back{z-index:0}.atlas-flap-holder{z-index:1;position:absolute;inset:0;transform-origin:50% 7.143%;transition:transform 1.12s cubic-bezier(.25,.82,.18,.99);will-change:transform}.atlas-flap{z-index:1}
.atlas-card-sleeve{position:absolute;left:0;right:0;top:-155%;bottom:0;overflow:hidden;z-index:2;pointer-events:none;isolation:isolate}
.atlas-card{position:absolute;left:5%;width:90%;top:62.2%;aspect-ratio:650/445;opacity:0;transform:translateY(0);filter:drop-shadow(0 6px 14px rgba(75,51,29,.18));will-change:transform;pointer-events:none;transition:opacity .18s linear,transform .92s cubic-bezier(.25,.82,.18,.99);container-type:inline-size}
.atlas-card-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none}.atlas-card-content{position:absolute;inset:0;color:#315447;font-family:Georgia,'Times New Roman',serif;text-align:center}.atlas-card-kicker{position:absolute;top:22%;left:10%;width:80%;font-size:2.65cqw;letter-spacing:.21em;color:#997f56;white-space:nowrap}.atlas-card-couple{position:absolute;top:35%;left:6%;width:88%;font-weight:400;line-height:1.05;overflow-wrap:anywhere;max-height:20%;overflow:hidden}.atlas-card-date{position:absolute;top:58%;left:8%;width:84%;font-size:3.9cqw;color:#6e6657;line-height:1.3}.atlas-card-place{position:absolute;top:69%;left:12%;width:76%;font-size:3.2cqw;color:#827967;line-height:1.2;max-height:14%;overflow:hidden}
.atlas-front{z-index:3}.atlas-seal{z-index:4}
.atlas-experience.animating .atlas-flap-holder,.atlas-experience.peek .atlas-flap-holder,.atlas-experience.rising .atlas-flap-holder,.atlas-experience.cleared .atlas-flap-holder,.atlas-experience.settling .atlas-flap-holder,.atlas-experience.complete .atlas-flap-holder{transform:scaleY(-1)}
.atlas-experience.animating .atlas-card,.atlas-experience.peek .atlas-card,.atlas-experience.rising .atlas-card,.atlas-experience.cleared .atlas-card,.atlas-experience.settling .atlas-card,.atlas-experience.complete .atlas-card{opacity:1}
.atlas-experience.animating .atlas-card,.atlas-experience.peek .atlas-card{transform:translateY(-8%)}
.atlas-experience.rising .atlas-card,.atlas-experience.cleared .atlas-card{transform:translateY(-147%);transition:transform 1.95s cubic-bezier(.22,.87,.18,1),opacity .18s linear}
.atlas-experience.cleared .atlas-card-sleeve,.atlas-experience.settling .atlas-card-sleeve,.atlas-experience.complete .atlas-card-sleeve{z-index:6;overflow:visible}
.atlas-experience.settling .atlas-card,.atlas-experience.complete .atlas-card{transform:translateY(-19%) rotate(-3deg);transition:transform 1.05s cubic-bezier(.18,.88,.20,1)}
.atlas-experience.resetting .atlas-flap-holder,.atlas-experience.resetting .atlas-card{transition:none!important}.atlas-experience.resetting .atlas-card{opacity:0!important;transform:translateY(0)!important}.atlas-experience.resetting .atlas-flap-holder{transform:none!important}
.atlas-open-button{background:linear-gradient(115deg,#587d6b,#3e6655);border:0;border-radius:99px;color:#fff;font:clamp(15px,2vw,19px) Georgia,serif;padding:16px 24px;width:min(100%,430px);cursor:pointer;box-shadow:0 13px 27px rgba(67,100,77,.16)}.atlas-instruction{font-size:13px;color:#938b7f;margin:13px 0 0}
.atlas-scene:focus-visible,.atlas-open-button:focus-visible{outline:3px solid #bca173;outline-offset:4px}
#revealed[hidden]{display:none!important}.atlas-details{margin-top:0;opacity:1;transform:none}
@media(max-width:650px){.atlas-scene{aspect-ratio:800/1380}.atlas-envelope{top:57%}.atlas-open-button{width:100%}.atlas-guest-experience{padding:8px 14px 40px}}
@media(prefers-reduced-motion:reduce){.atlas-flap-holder,.atlas-card{transition-duration:.01ms!important}}

/* Organizer invitation thumbnail now reuses v22 artwork rather than legacy triangles. */
.atlas-invitation-thumbnail{display:block;position:relative;width:min(340px,88%);aspect-ratio:800/560;background:transparent;border:0;padding:0;filter:drop-shadow(0 9px 11px #745d5030)}
.atlas-invitation-thumbnail img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.atlas-thumb-label{position:absolute;left:0;right:0;bottom:-32px;font-size:12px;font-weight:700;color:#385648}
.invitation-demo:has(.atlas-invitation-thumbnail){padding:25px 10px 48px}

/* Outreach campaign UI */
.recipient-list{max-height:330px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;padding:4px 12px}.recipient{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:12px 3px;margin:0;font-size:13px}.recipient:last-child{border-bottom:0}.recipient:has(input:disabled){opacity:.6}.campaign-status{border-left:4px solid var(--accent,#617c70)}.campaign-plan .taskline{padding:13px 0}.recipient-list strong{font-size:13px}@media(max-width:700px){.recipient-list{max-height:250px}.campaign-status .between{flex-direction:column;align-items:flex-start}}

/* Milestone 3: public wedding website, site editor and individual event RSVPs */
.site-public{min-height:100vh;background:#f7f3ea;color:#2f473e;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
.site-public.theme-editorial{background:#fbfaf7;color:#353536}.site-public.theme-coastal{background:#f8eee2;color:#465e63}
.site-nav{min-height:76px;padding:19px clamp(18px,5vw,70px);display:flex;align-items:center;gap:20px;justify-content:space-between;background:#fffdf9b3;border-bottom:1px solid #dcd6c99c;font-family:Georgia,serif}.site-nav strong{font-weight:400;color:#7d986e}.site-nav span{font-size:17px}
.site-hero{text-align:center;min-height:490px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:75px 24px;background:radial-gradient(ellipse at 50% 0%,#fafaf5 10%,transparent 62%),linear-gradient(155deg,#edf0e7,#eadad0 85%)}
.theme-editorial .site-hero{background:linear-gradient(145deg,#f8f8f5,#ebe8e0)}.theme-coastal .site-hero{background:linear-gradient(145deg,#f5e9da,#d9eaeb)}.site-hero h1{font-size:clamp(46px,7.5vw,89px);line-height:1.03;max-width:970px;margin:24px 0 18px}.site-hero .eyebrow{color:#a3835b}.site-hero p{font-size:14px;letter-spacing:.04em}.site-hero .site-subtitle{font-family:Georgia,serif;font-size:clamp(19px,3vw,28px);color:#777d6f;line-height:1.4}
.site-body{max-width:780px;padding:20px 23px 60px;margin:auto}.site-section{text-align:center;padding:65px 6px;border-bottom:1px solid #d5d6ca}.site-section h2{font-size:clamp(30px,4vw,44px);margin-bottom:24px}.site-prose{white-space:pre-line;line-height:1.95;color:#666b65;font-size:16px}.site-event{background:#fffcf8;border:1px solid #e7dfd4;border-radius:20px;padding:26px;margin:20px auto;max-width:580px}.site-event h3{font-size:25px}.site-link{display:inline-block;padding:15px 25px;border-radius:9px;background:var(--accent,#547566);color:white;text-decoration:none}.site-rsvp{border:0}.site-footer{background:#314d43;color:#f0eadc;padding:26px;text-align:center;font-family:Georgia,serif;letter-spacing:.02em}
.site-editor-grid{align-items:start}.site-side{position:sticky;top:22px}.site-mini{background:linear-gradient(135deg,#dfe7da,#e9d4c9);border-radius:16px;padding:50px 20px;text-align:center;color:#39594a;font-family:Georgia,serif;font-size:43px;margin-top:24px}.site-mini p{font-size:25px}.site-mini span{display:block;font-size:15px}.site-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:17px}.site-toggles label{margin:0}.site-toggles .recipient{border:1px solid #eee5da;border-radius:10px;padding:9px}
.event-rsvp-list{display:grid;gap:16px}.event-rsvp-item{background:#faf9f5;border:1px solid #e7e0d2;border-radius:16px;padding:18px;text-align:left}.event-rsvp-item h3{margin:0}.rsvp-person{border-top:1px solid #e6e0d5;padding:16px 0 3px}.rsvp-person:first-of-type{margin-top:10px}.rsvp-person .formgrid{margin-top:12px}.rsvp-person label{color:#5d695c}
@media(max-width:850px){.site-editor-grid{grid-template-columns:1fr}.site-side{position:static}.site-nav{gap:8px;flex-wrap:wrap}.site-hero{min-height:350px}.site-section{padding:45px 0}}
@media(max-width:460px){.site-toggles{grid-template-columns:1fr}.site-nav{font-size:13px}.rsvp-person .formgrid{grid-template-columns:1fr}}
