@import url('https://fonts.googleapis.com/css2?family=Allura&family=Cinzel:wght@400;600&family=Dancing+Script:wght@400;700&family=Inter:wght@400;600;700&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Lora:ital,wght@0,400;0,600;1,400&family=Montserrat:wght@400;600;700&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&family=Great+Vibes&display=swap');
:root{--paper:#f7f5ef;--ink:#343d30;--olive:#535e46;--muted:#7d8073;--line:#d9dacf;--serif:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:6px}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05}h1{font-size:clamp(52px,5.7vw,90px);letter-spacing:-3px}h2{font-size:clamp(40px,4vw,62px);letter-spacing:-1.8px}h3{font-size:32px}em{font-weight:400}nav{height:105px;display:flex;align-items:center;justify-content:space-between;margin:0 6%;border-bottom:1px solid var(--line)}nav>div{display:flex;gap:42px;font-size:12px}.monogram{font-family:var(--serif);font-size:32px;letter-spacing:-3px}.monogram span{font-style:italic;font-size:23px}.nav-rsvp{border-bottom:1px solid var(--olive);padding-bottom:5px}.eyebrow{font-size:10px;letter-spacing:2.6px;font-weight:500;line-height:1.8}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:700px}.hero-copy{padding:75px 0 38px 12%}.hero-copy .eyebrow{margin-bottom:30px}.intro{color:var(--muted);margin:30px 0}.text-link{display:inline-block;border:0;border-bottom:1px solid var(--olive);background:none;padding:0 0 8px;font-size:12px}.text-link span{margin-left:30px}.edition{font-size:8px;letter-spacing:2px;margin:65px 0 0;color:var(--muted)}.invitation-scene{position:relative;background:radial-gradient(ellipse at 50% 40%,#e3e5d6,#e9eadf 65%,#e1e3d5);display:flex;align-items:center;justify-content:center;overflow:hidden;margin:25px 4% 25px 0;min-height:640px}.scene-note{position:absolute;top:12px;font-family:var(--serif);font-style:italic;font-size:20px;color:#7d826d}.envelope{position:relative;width:340px;height:260px;margin-top:115px;transform:rotate(-7deg);background:#cccdbb;box-shadow:12px 30px 50px #424c3630;transition:transform .8s}.letter{position:absolute;bottom:45px;left:18px;width:304px;height:405px;padding:30px 22px;text-align:center;background:#fffdf5;box-shadow:0 1px 8px #43493415;transition:transform 1s}.letter h2{font-size:39px;letter-spacing:-1px;margin:4px 0 14px}.letter .eyebrow{font-size:7px;letter-spacing:2px}.letter p{font-size:10px;line-height:1.8}.letter .flourish{font-size:43px;line-height:1.4;color:#7f896c}.card-date{font-family:var(--serif);font-size:24px;margin:16px 0 10px}.tiny{font-size:6px;letter-spacing:1px}.envelope-front{position:absolute;inset:0;background:linear-gradient(150deg,transparent 49.7%,#d6d7c5 50%) left/50% 100% no-repeat,linear-gradient(210deg,transparent 49.7%,#dedfce 50%) right/50% 100% no-repeat;clip-path:polygon(0 0,50% 42%,100% 0,100% 100%,0 100%)}.seal{position:absolute;top:105px;left:139px;border:5px double #a3a68a;border-radius:49% 45% 48% 44%;background:#7b8567;color:#e7e7cf;width:65px;height:65px;font-family:var(--serif);font-size:23px;font-style:italic;box-shadow:2px 4px 6px #3334;transition:transform .5s}.envelope.open{transform:rotate(0)}.envelope.open .letter{transform:translateY(-45px)}.envelope.open .seal{transform:rotate(20deg) scale(.85)}.open-caption{position:absolute;bottom:65px;font-size:9px;letter-spacing:1.4px;border:0;background:none;color:var(--olive)}.scene-number{position:absolute;bottom:20px;font-size:7px;letter-spacing:2px}.botanical{position:absolute;font-family:Georgia;color:#79866c80;font-size:240px;line-height:1;pointer-events:none}.b1{left:-55px;bottom:80px;transform:rotate(-42deg)}.b2{right:-60px;top:95px;transform:rotate(130deg);font-size:210px}.date-strip{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 6%;gap:20px}.date-strip>span{font-size:9px;letter-spacing:1.5px}.date-strip strong{font-family:var(--serif);font-size:27px;font-weight:400}.celebration{text-align:center;padding:110px 8%}.celebration>p:not(.eyebrow){max-width:480px;margin:28px auto;color:var(--muted)}.timeline{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px}.timeline article{position:relative;padding:15px 20px;border-right:1px solid var(--line)}.timeline article:last-child{border:0}.timeline article>span{position:absolute;left:25px;top:5px;font-family:var(--serif);font-style:italic;color:#989d8b}.line-icon{font-size:42px;color:#7c886a;margin-bottom:20px}.timeline h3{margin-bottom:16px}.timeline p{font-size:8px;letter-spacing:1.5px}.timeline small{font-size:12px;color:var(--muted)}.details{display:grid;grid-template-columns:1fr 1fr;background:#eceee5}.venue-art{padding:65px 14%;background:repeating-linear-gradient(90deg,transparent 0 75px,#596b4320 75px 76px),#d9ddce;display:flex;justify-content:center}.arch{width:100%;min-height:410px;max-width:330px;border:1px solid #8c9878;border-radius:180px 180px 0 0;padding:35px 20px;text-align:center;box-shadow:0 0 0 12px #d9ddce,0 0 0 13px #a3ad91}.arch>span{font-size:90px;color:#7e8c6e}.arch p{font-family:var(--serif);font-size:48px;line-height:1.1}.arch small{font-size:7px;letter-spacing:2px}.details-copy{padding:70px 12%}.details-copy h2{font-size:50px}.details-copy>p{color:var(--muted)}details{border-top:1px solid #cfd4c5;padding:16px 0;font-size:12px}details:first-of-type{margin-top:30px}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between}summary:after{content:'+'}details[open] summary:after{content:'−'}details p{margin:15px 0 0;color:var(--muted)}.rsvp{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:110px 10%}.rsvp>div>p{color:var(--muted)}.rsvp-flower{font-size:140px;color:#9da58c;line-height:1.5}label{display:block;font-size:11px;margin-bottom:20px}input,select,textarea{width:100%;display:block;margin-top:7px;padding:12px 0;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #bfc5b5;border-radius:0;font-size:13px}textarea{resize:vertical}label small,.privacy{font-size:10px;color:var(--muted);display:block;margin-top:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.checkbox{display:flex;align-items:flex-start;gap:12px;font-size:10px;color:var(--muted)}.checkbox input{width:15px;margin-top:5px;accent-color:var(--olive)}.button{background:var(--olive);color:#fffdf1;padding:16px 23px;border:1px solid var(--olive);width:100%;text-align:left;font-size:12px;display:flex;justify-content:space-between;transition:background .2s}.button:hover{background:#36432d}.privacy{margin-top:15px}.closing{text-align:center;background:#e9ecdf;padding:70px 20px}.closing h2{font-size:65px;margin:20px 0}.closing>p:last-child{font-size:11px;letter-spacing:1px}footer{padding:45px 6%;text-align:center;position:relative}footer>a:first-child{font-family:var(--serif);font-size:30px}footer p{font-size:10px;color:var(--muted)}.host-link{font-size:9px;position:absolute;right:6%;bottom:30px}.notice{background:#e5eadb;padding:16px 20px;font-size:12px;margin-bottom:24px}.notice p{margin:0}.error{background:#f1e2dc;color:#7b3b30}.login{max-width:560px;margin:90px auto;padding:0 25px}.login h1{font-size:65px}.login form{margin-top:40px}.dashboard{padding:60px 6%}.dashboard h1{font-size:65px}.dash-top{display:flex;justify-content:space-between;gap:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:30px 0 60px;background:#e8ecdf}.stats article{padding:25px;border-right:1px solid #cbd1bf}.stats strong{font-family:var(--serif);font-size:50px;display:block;line-height:1.2}.stats span{font-size:11px}.dash-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:60px}.dash-grid h2{font-size:38px;margin-top:20px}.dash-grid p{font-size:12px;color:var(--muted)}.message-panel{background:#eef0e7;padding:30px}.message-panel small{color:var(--muted);font-size:11px}.message-panel .button{margin-top:25px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px;text-align:left;margin-bottom:50px}th{font-size:9px;letter-spacing:1px}th,td{padding:16px 12px;border-bottom:1px solid var(--line)}td small{display:block;color:var(--muted)}.activity{padding:15px 0;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:11px;gap:10px}.activity small{display:block;color:var(--muted)}@media(min-width:1500px){body{max-width:1700px;margin:auto}}@media(max-width:800px){nav{height:80px}nav>div{gap:18px}nav a{font-size:10px}nav .monogram{font-size:30px}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 8% 35px}.hero-copy h1{font-size:68px}.edition{margin-top:35px}.invitation-scene{margin:0 5% 30px;min-height:620px}.date-strip{flex-direction:column;text-align:center;gap:8px}.celebration{padding:75px 6%}.timeline{grid-template-columns:1fr;gap:30px;margin-top:40px}.timeline article{border-right:0;border-bottom:1px solid var(--line);padding-bottom:30px}.details,.rsvp,.dash-grid{grid-template-columns:1fr}.details-copy{padding:55px 8%}.venue-art{padding:50px 20%}.arch{min-height:350px}.rsvp{padding:70px 8%;gap:30px}.rsvp-flower{display:none}.rsvp h2{font-size:58px}.dashboard h1,.login h1{font-size:49px}.stats article{padding:15px}.stats strong{font-size:38px}.dash-grid{gap:30px}.message-panel{padding:22px}.closing h2{font-size:50px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Colours drawn from the couple’s printed invitation. */
:root{--paper:#faf4eb;--ink:#364b40;--olive:#718879;--muted:#6e7e73;--line:#d6dacf}
.invitation-scene{background:radial-gradient(ellipse at 50% 40%,#8da092,#718879 80%)}
.scene-note,.scene-number,.open-caption{color:#f0bf9b}.scene-note{top:15px}
.letter{background:#718879;color:#f0bf9b;border:1px solid #efbd9899;box-shadow:0 0 0 5px #718879,0 0 0 6px #efbd9877}
.letter h2{font-size:32px}.letter .flourish{color:#f0bf9b}.letter p{font-size:10px}.letter .tiny{font-size:5px}
.seal{background:#edbc98;color:#536d5d;border-color:#d9a883}.botanical{color:#efbc9866}
.envelope{background:#b1beae}.envelope-front{background:linear-gradient(150deg,transparent 49.7%,#c0cbb9 50%) left/50% 100% no-repeat,linear-gradient(210deg,transparent 49.7%,#a7b7a4 50%) right/50% 100% no-repeat}
.hero-copy h1{font-size:clamp(50px,5.3vw,82px)}.date-strip,.closing{background:#718879;color:#ffdfc5}.date-strip{border-color:#8a9a8d}.closing .eyebrow{color:#ffdfc5}.printed-card{padding:45px;background:#dfe5da;align-items:center}.printed-card img{display:block;width:100%;max-width:390px;height:auto;box-shadow:0 15px 35px #344b4025}.family-note{margin:35px 0;padding-top:25px;border-top:1px solid var(--line)}.mizo-invitation{font-size:16px;line-height:2}.details-copy h2{font-size:47px}.details{align-items:center}.rsvp-flower,.line-icon{color:#bd987a}@media(max-width:800px){.hero-copy h1{font-size:58px}.printed-card{padding:35px 14%}.letter h2{font-size:32px}.details-copy h2{font-size:42px}}

/* Preserve the original logo; crop its surrounding white canvas in the layout. */
.wedding-logo{position:relative;display:inline-block;width:64px;height:64px;overflow:hidden;border-radius:50%;vertical-align:middle;flex-shrink:0;background:#718879}
.wedding-logo img{position:absolute;width:105.2%;height:auto;max-width:none;left:-2.6%;top:-20.8%}
.monogram{display:flex;align-items:center}.monogram .wedding-logo{width:62px;height:62px}
.seal{padding:0;border:0;background:transparent;box-shadow:2px 4px 8px #24382e50}
.seal .wedding-logo{width:65px;height:65px;display:block}.seal .wedding-logo img{pointer-events:none}
footer>.wedding-logo{display:block;width:82px;height:82px;margin:0 auto 18px}
@media(max-width:800px){.monogram .wedding-logo{width:49px;height:49px}}

.scratch-section{text-align:center;padding:95px 24px;background:radial-gradient(ellipse at 50% 55%,#e4e8de,#f5f2e9 72%)}
.scratch-section h2{margin-bottom:22px}.scratch-intro{font-size:12px;color:var(--muted);margin-bottom:35px}
.scratch-card{width:min(100%,390px);height:460px;position:relative;margin:auto;background:#fcf6ed;border-radius:180px 180px 12px 12px;overflow:hidden;box-shadow:0 20px 50px #3d52421a;border:1px solid #c5b195}
.scratch-content{position:absolute;inset:13px;border:1px solid #dac4a9;border-radius:170px 170px 5px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px}
.scratch-content .scratch-logo{width:88px;height:88px;margin-bottom:18px}.scratch-content .eyebrow{font-size:8px;margin-bottom:16px}.scratch-content h3{font-size:42px;margin-bottom:15px}.scratch-content>p:not(.eyebrow){font-size:12px;line-height:1.8;margin-bottom:12px}.scratch-content .scratch-date{font-family:var(--serif);font-size:20px!important;letter-spacing:3px}
#scratch-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;transition:opacity .5s}
.scratch-card.revealed #scratch-canvas{opacity:0;pointer-events:none}.scratch-actions{margin-top:22px}.scratch-actions p{font-size:10px;color:var(--muted);margin-bottom:12px}.scratch-actions button{font-size:11px}.scratch-actions button[hidden]{display:none}
@media(max-width:600px){.scratch-section{padding:65px 24px}.scratch-card{height:440px}}

/* Opening invitation doors */
body.cover-locked{overflow:hidden}.invitation-cover[hidden],#invitation-main[hidden]{display:none}
.invitation-cover{position:fixed;inset:0;z-index:1000;background:#f9f2e7;overflow:hidden;perspective:1400px;min-height:100svh}
.cover-door{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;border:1px solid #b89a72;box-shadow:inset 0 0 40px #fff8eac9;transition:transform 1.5s cubic-bezier(.55,.05,.2,1),opacity 1.5s;background:radial-gradient(ellipse at 15% 20%,#edc2a5b3,transparent 38%),radial-gradient(ellipse at 75% 65%,#9dae98a3,transparent 42%),repeating-conic-gradient(from 30deg at 20% 35%,#fff9ed66 0deg 20deg,#e7ddc54d 20deg 45deg),#ecebdb}
.cover-door-left{left:0;transform-origin:left center}.cover-door-right{right:0;transform-origin:right center;background-position:right top}
.glass-border{position:absolute;inset:22px;border:1px solid #b69a73;border-radius:48% 48% 0 0;box-shadow:0 0 0 7px #f7efdc88,0 0 0 8px #bb9e7566}
.glass-border:after{content:'';position:absolute;inset:14px;border:1px solid #bca78399;border-radius:48% 48% 0 0}
.cover-flower{position:absolute;color:#9aa98a;font-family:Georgia,serif;font-size:clamp(150px,26vw,440px);line-height:1;text-shadow:1px 1px #b19068,-1px -1px #f6ddbd;opacity:.62}.flower-top{left:-18%;top:-7%;transform:rotate(30deg)}.flower-bottom{left:-12%;bottom:-9%;transform:rotate(-20deg)}
.cover-lettering{position:absolute;top:15%;left:15%;right:15%;text-align:center;pointer-events:none;transition:opacity .5s,transform .8s;color:#405b4b;text-shadow:0 1px 12px #fff8e9}
.cover-lettering h1{font-size:clamp(52px,8vw,100px);line-height:.98;margin:20px 0}.cover-lettering .eyebrow{font-size:9px;letter-spacing:4px}.cover-date{font-size:11px;letter-spacing:4px}
.cover-open{position:absolute;left:50%;top:62%;transform:translate(-50%,-50%);padding:12px;background:#e7d5b8;border:1px solid #b79765;border-radius:50%;box-shadow:0 3px 22px #5d624544,inset 0 0 0 5px #f3e7cd;transition:opacity .4s,transform .6s}.cover-open .wedding-logo{display:block;width:100px;height:100px}.cover-open:hover{transform:translate(-50%,-50%) scale(1.05)}.cover-open:focus-visible{outline:3px solid #405b4b;outline-offset:8px}
.cover-tap{position:absolute;bottom:9%;left:15px;right:15px;text-align:center;font-size:10px;letter-spacing:3px;color:#405b4b;transition:opacity .4s}.cover-tap span{display:block;font-family:var(--serif);font-style:italic;font-size:21px;letter-spacing:0;margin-top:13px}
.invitation-cover.opening .cover-door-left{transform:rotateY(-105deg);opacity:0}.invitation-cover.opening .cover-door-right{transform:rotateY(105deg);opacity:0}.invitation-cover.opening .cover-lettering,.invitation-cover.opening .cover-tap{opacity:0;transform:translateY(-10px)}.invitation-cover.opening .cover-open{opacity:0;transform:translate(-50%,-50%) scale(.7);pointer-events:none}.invitation-cover.opening{background:transparent;pointer-events:none}
@media(max-width:600px){.glass-border{inset:12px}.cover-lettering{top:18%;left:8%;right:8%}.cover-lettering h1{font-size:66px}.cover-open .wedding-logo{width:86px;height:86px}.cover-open{top:62%}.cover-tap{bottom:10%}.cover-flower{font-size:240px;opacity:.5}}
@media(prefers-reduced-motion:reduce){.cover-door,.cover-lettering,.cover-open,.cover-tap{transition:none}}
/* Match the supplied Stained Glass demo's opening artwork. */
.invitation-cover{background:#f3eddf}
.cover-door{border:0;box-shadow:none;background-image:url('/glass-doors-clean-panels.png');background-repeat:no-repeat;background-size:200% 100%;transition:transform 1.7s cubic-bezier(.5,.02,.2,1),opacity 1.7s}
.cover-door-left{background-position:left center}.cover-door-right{background-position:right center}
.cover-door .glass-border,.cover-flower,.cover-lettering{display:none}
.cover-open{top:48.6%;padding:0;border:0;background:transparent;box-shadow:none;width:19.5vw;height:19.5vw;max-width:none;max-height:none;border-radius:50%}
.cover-open .wedding-logo{width:100%;height:100%;box-shadow:0 0 0 2px #b39263,0 0 12px #fff5d599}
.cover-tap{bottom:9%;color:#6a502d;letter-spacing:4px;text-shadow:0 1px 6px #fff,0 0 16px #fff}
.cover-tap span{display:none}
@media(min-aspect-ratio:1046/1920){.cover-door{background-size:200% auto}.cover-open{top:calc(50% - 2.57vw)}}
@media(max-aspect-ratio:1046/1920){.cover-door{background-size:auto 100%}.cover-open{width:10.63vh;height:10.63vh;top:48.6%}}
@media(min-width:800px){.invitation-cover{left:50%;width:min(100vw,54.5vh);transform:translateX(-50%);box-shadow:0 0 0 100vmax #eee9df}.cover-door{background-size:200% 100%}.cover-open{width:10.63vh;height:10.63vh;top:48.6%}.cover-tap{font-size:9px;letter-spacing:3px}}
/* Pearl-and-gold invitation seal and a quiet opening cue. */
.cover-open{isolation:isolate;transition:opacity .5s,transform .6s,filter .4s}
.cover-open:before{content:'';position:absolute;inset:-7%;border:1px solid #b3935a88;border-radius:50%;box-shadow:0 0 18px #fff8df88;opacity:.65;pointer-events:none;transition:opacity .4s,transform .5s}
.cover-open:hover{filter:brightness(1.06);transform:translate(-50%,-50%) scale(1.035)}
.cover-open:hover:before{opacity:1;transform:scale(1.06)}
.cover-open:focus-visible{outline:2px solid #907043;outline-offset:10px}
.cover-tap{top:66%;bottom:auto;color:#7b603e;letter-spacing:3px;font-size:9px;text-shadow:0 1px 8px #fffdf5}
.cover-tap:before{content:'✧';display:block;font-size:19px;line-height:1;margin-bottom:13px;color:#a78a58}
.cover-tap span{display:block;font-family:var(--serif);font-size:19px;letter-spacing:.1px;margin-top:8px;color:#927953}
.invitation-cover.opening .cover-open:before{opacity:0}
.wedding-logo.pearl-logo{background:transparent}
.wedding-logo.pearl-logo img{width:100%;height:100%;left:0;top:0;object-fit:contain}
.cover-open .pearl-logo{box-shadow:0 1px 8px #6d4f2a2b}
.cover-open:before{inset:-3%;border-color:#b3935a55}

/* The two halves of the medallion belong to the moving doors. */
.invitation-cover{--door-seal-size:19.5vw;--door-seal-y:calc(50% - 2.57vw)}
.door-seal{position:absolute;top:var(--door-seal-y);width:var(--door-seal-size);height:var(--door-seal-size);transform:translate(-50%,-50%);pointer-events:none;border-radius:50%;box-shadow:0 1px 7px #6d4f2a22}
.cover-door-left .door-seal{left:100%}.cover-door-right .door-seal{left:0}
.door-seal img{display:block;width:100%;height:100%;object-fit:contain}
.cover-open{top:var(--door-seal-y);width:var(--door-seal-size);height:var(--door-seal-size)}
.cover-open:before{box-shadow:none}.cover-open:hover{transform:translate(-50%,-50%)}
.invitation-cover.opening .cover-door{opacity:1;backface-visibility:hidden}
.invitation-cover.opening .cover-open{opacity:0;transition:none}
@media(max-aspect-ratio:1046/1920){.invitation-cover{--door-seal-size:10.63vh;--door-seal-y:48.6%}}
@media(min-width:800px){.invitation-cover{--door-seal-size:10.63vh;--door-seal-y:48.6%}}
/* Hinged glass: the artwork, engraved medallion and light move as one surface. */
.invitation-cover{perspective:1800px;perspective-origin:50% 48.6%}
.cover-door{will-change:transform;backface-visibility:hidden;transition:transform 3.2s cubic-bezier(.35,.03,.18,1);border-top:1px solid #ddc59b66;border-bottom:1px solid #ddc59b66}
.cover-door-left{border-right:2px solid #815d2c;box-shadow:2px 0 5px #39260d44;transform-origin:0 50%}
.cover-door-right{border-left:2px solid #d5b87b;box-shadow:-2px 0 5px #39260d44;transform-origin:100% 50%}
.door-seal{box-shadow:none;mix-blend-mode:multiply;opacity:.94}
.door-seal img{filter:saturate(.65) contrast(.94);border-radius:50%}
.cover-door:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,#fff9eb00 20%,#fffdf74d 47%,#fff9eb00 65%);opacity:.12;transition:opacity 2.8s,transform 3.2s}
.cover-door-left:after{transform:translateX(-30%)}.cover-door-right:after{transform:translateX(30%)}
.invitation-cover.opening .cover-door-left{transform:rotateY(-94deg);opacity:1;box-shadow:14px 0 35px #39260d55}
.invitation-cover.opening .cover-door-right{transform:rotateY(94deg);opacity:1;box-shadow:-14px 0 35px #39260d55}
.invitation-cover.opening .cover-door:after{opacity:.65;transform:translateX(0)}
.cover-open:before{display:none}.cover-open:focus-visible{outline:2px solid #ac8a51;outline-offset:5px}
.cover-tap{transition:opacity .35s}.invitation-cover.opening .cover-tap{transform:none}
@media(prefers-reduced-motion:reduce){.cover-door,.cover-door:after{transition:none}}

/* Solid brass-edged glass doors, with the complete emblem fixed to the right leaf. */
.cover-door{overflow:visible;transform-style:preserve-3d}
.cover-door-left{z-index:1}.cover-door-right{z-index:2}
.cover-door-right .door-seal{left:0;mix-blend-mode:normal;opacity:1;transform:translate(-50%,-50%) translateZ(3px);box-shadow:0 2px 5px #5c3c1d33}
.door-seal img{filter:saturate(.8) brightness(1.08);border-radius:50%}
.door-thickness{position:absolute;top:0;bottom:0;width:14px;display:block;background:linear-gradient(90deg,#76522e,#d5b77c 22%,#f3dfb2 44%,#967447 68%,#d8c599 82%,#654927);backface-visibility:visible;box-shadow:inset 0 0 0 1px #a98b5b;pointer-events:none}
.cover-door-left .door-thickness{right:0;transform-origin:right center;transform:rotateY(-90deg)}
.cover-door-right .door-thickness{left:0;transform-origin:left center;transform:rotateY(90deg)}
.cover-door-left{border-right:3px solid #c6a269}.cover-door-right{border-left:3px solid #e2c68f}
.cover-door:after{overflow:hidden}
/* Align the raised medallion with the centre seam, accounting for the door border. */
.cover-door-right .door-seal{left:-3px;z-index:5;transform:translate(-50%,-50%) translateZ(9px);background:linear-gradient(135deg,#fff2c9 0%,#d9b56c 24%,#8d642f 55%,#d5af63 80%,#f5db9d 100%);border:1px solid #b18b49;box-shadow:0 1px 0 #e3c17a,0 2px 0 #c39b54,0 3px 0 #a67b3c,0 4px 0 #89612e,0 5px 0 #715024,0 7px 9px #4c341d45;isolation:isolate}
.door-seal img{position:absolute;inset:2px;width:calc(100% - 4px);height:calc(100% - 4px);border-radius:50%;filter:saturate(.82) brightness(1.04);transform:translateZ(1px)}
.door-seal:before{content:'';position:absolute;inset:0;border-radius:50%;box-shadow:inset 1px 2px 2px #fff4d9b3,inset -1px -2px 2px #89602e66;z-index:1;pointer-events:none}
.cover-door:after,.cover-door-left:after,.cover-door-right:after{transform:none;clip-path:inset(0);z-index:1}
.invitation-cover.opening .cover-door:after{transform:none}

/* A single rigid floral mount carries both the surround and the monogram. */
.door-hardware{position:absolute;left:-3px;top:var(--door-seal-y);width:calc(var(--door-seal-size)*1.79);height:calc(var(--door-seal-size)*1.79);transform:translate(-50%,-50%);z-index:5;pointer-events:none;filter:drop-shadow(0 1px 0 #b59154) drop-shadow(0 3px 0 #86602c) drop-shadow(0 5px 4px #513b2444)}
.door-hardware svg{display:block;width:100%;height:100%;overflow:visible}
.cover-door-right .door-hardware{transform:translate(-50%,-50%)}
/* Keep the tap target above the decorative 3D panels and their hardware. */
.invitation-cover .cover-open{z-index:20;inset:0;top:0;left:0;width:100%;height:100%;border-radius:0;transform:none;pointer-events:auto;cursor:pointer;touch-action:manipulation}
.invitation-cover .cover-open:hover{transform:none;filter:none}
.invitation-cover .cover-open:focus-visible{outline:2px solid #ac8a51;outline-offset:-10px}
.invitation-cover .cover-door{pointer-events:none}
.invitation-cover .cover-tap{z-index:21;pointer-events:none}
.invitation-cover.opening .cover-open{transform:none;pointer-events:none}

/* Cast-metal handle: a continuous bronze sidewall and bevel around the floral face. */
.door-hardware{filter:none;overflow:visible}
.door-hardware svg{overflow:visible}
.hardware-bevel{stroke-linejoin:round}

/* Physical extrusion: metal cross-sections remain visible when the face turns edge-on. */
.door-hardware{transform-style:preserve-3d;filter:none;overflow:visible}
.door-hardware .hardware-side-layer,.door-hardware .hardware-front{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.door-hardware .hardware-side-layer{transform:translateZ(var(--edge-depth));backface-visibility:visible}
.door-hardware .hardware-front{transform:translateZ(16px);backface-visibility:hidden}

/* Warm cast brass, with deeper engraving and a less washed-out pearl face. */
.door-hardware .hardware-front{filter:contrast(1.24) saturate(1.3) brightness(.92);}
.door-hardware .hardware-front image[href="/wedding-logo-pearl.png"]{filter:contrast(1.18) saturate(1.2) brightness(.94)}
.door-hardware .hardware-side-layer{filter:contrast(1.12) saturate(1.2)}
.hardware-bevel{stroke:#a9742c}

/* Restore the original pearl face; keep depth in the bronze sidewall. */
.door-hardware .hardware-front{filter:none}
.door-hardware .hardware-front image[href="/wedding-logo-pearl.png"]{filter:none}
.hardware-bevel{stroke:#d7b575}
.door-hardware .hardware-side-layer{filter:none}
/* The broad reflected-light overlay belongs to the glass, not the handle. */
.cover-door:after{z-index:0}
.door-hardware{z-index:6}

/* Smooth continuous brass edge rather than coarse stacked extrusion bands. */
.door-hardware .hardware-front{transform:translateZ(9.6px)}
/* Only the visible floral seal is an opening target. */
.invitation-cover .cover-open{inset:auto;left:50%;top:var(--door-seal-y);width:calc(var(--door-seal-size)*1.79);height:calc(var(--door-seal-size)*1.79);transform:translate(-50%,-50%);border-radius:50%;clip-path:ellipse(47% 49% at 50% 50%);cursor:pointer}
.invitation-cover .cover-open:hover{transform:translate(-50%,-50%)}
.invitation-cover.opening .cover-open{transform:translate(-50%,-50%);pointer-events:none}
/* Readable opening cue, softly backed by the same warm ivory as the glass. */
.invitation-cover .cover-tap{left:50%;right:auto;top:66%;width:max-content;max-width:88%;transform:translateX(-50%);margin:0;padding:12px 23px 13px;border:1px solid #b99a6659;border-radius:3px;background:linear-gradient(110deg,#fffaf0d9,#f7eddbd9);box-shadow:0 3px 18px #65482912,inset 0 1px 0 #fff9;backdrop-filter:blur(5px);color:#543b22;font-size:11px;font-weight:600;letter-spacing:2.5px;line-height:1.8;text-shadow:0 1px 0 #fffc;white-space:nowrap}
.invitation-cover .cover-tap:before{font-size:16px;color:#99733d;margin-bottom:7px}
.invitation-cover .cover-tap span{font-size:20px;font-weight:400;color:#705333;margin-top:5px;letter-spacing:.2px}
.invitation-cover.opening .cover-tap{transform:translateX(-50%);opacity:0}
@media(max-width:400px){.invitation-cover .cover-tap{font-size:10px;letter-spacing:1.8px;padding:11px 17px}.invitation-cover .cover-tap span{font-size:18px}}

/* Rose-gold fittings; the central pearl R–L seal retains its original colours. */
.cover-door-left{border-right-color:#ba8874}.cover-door-right{border-left-color:#edc4b1}
.door-thickness{background:linear-gradient(90deg,#805346,#c68d78 22%,#f5d4c4 44%,#a26a59 68%,#e0ae98 82%,#774b40);box-shadow:inset 0 0 0 1px #b17e6a}
.cover-door{background-blend-mode:soft-light;background-color:#e4b6a6}
.hardware-bevel{stroke:#d4a18d}
.invitation-cover .cover-tap{border-color:#c3978266;color:#6b4539}
.invitation-cover .cover-tap:before{color:#b37b66}

.cover-door{background-blend-mode:luminosity;background-color:#d4a994}

/* Preserve the original coloured glass; rose gold is confined to metal fittings. */
.cover-door{background-blend-mode:normal;background-color:transparent}
.cover-door-left{border-right-color:#c28e7b}.cover-door-right{border-left-color:#edc6b5}
/* Select only gold artwork within the seal, preserving the ivory pearl pixels. */
.door-hardware .hardware-front image[href="/wedding-logo-pearl.png"]{filter:url(#seal-emboss)}

/* Original gold face, raised engraving and a steady metal profile throughout the swing. */
.door-hardware .hardware-front{backface-visibility:visible}
.door-hardware .hardware-front image[href="/wedding-logo-pearl.png"]{filter:url(#seal-emboss)}

/* The circular monogram projects above the floral mount, rather than sharing its plane. */
.door-hardware .seal-bezel-layer,.door-hardware .seal-raised-face{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.door-hardware .seal-bezel-layer{transform:translateZ(var(--bezel-depth));backface-visibility:visible}
.door-hardware .seal-raised-face{transform:translateZ(16.2px);backface-visibility:visible}

/* Raised R–L strokes and filigree project above the pearl face. */
.door-hardware .logo-relief-layer,.door-hardware .logo-relief-crown{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;backface-visibility:visible}
.door-hardware .logo-relief-layer{transform:translateZ(var(--letter-depth))}
.door-hardware .logo-relief-crown{transform:translateZ(18.8px)}

/* Finer engraving and a delicate rim without losing dimensional relief. */
.door-hardware .logo-relief-crown{transform:translateZ(17.3px)}
.hardware-bevel{stroke-width:1.2}
/* Responsive layout across phones, tablets and larger screens. */
html{-webkit-text-size-adjust:100%}
body{min-width:280px}
#invitation-main{width:100%;max-width:1700px;margin-inline:auto}
.hero,.details,.rsvp,.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero-copy,.details-copy,.rsvp>*,.dash-grid>*{min-width:0}
h1,h2,h3,p,td{overflow-wrap:break-word}
img,svg{max-width:100%}
/* Keep glass artwork, mounted handle and tap target in one coordinate system. */
.invitation-cover{inset:0 auto 0 50%;width:min(100vw,54.5svh);height:100svh;min-height:0;transform:translateX(-50%);box-shadow:0 0 0 100vmax #eee9df;--door-seal-size:min(19.5vw,10.63svh);--door-seal-y:48.6%}
.cover-door{background-size:200% 100%}
.invitation-cover .cover-tap{white-space:normal;width:max-content;max-width:88%;font-size:clamp(9px,1.2svh,11px);letter-spacing:clamp(1px,.26svh,2.5px);padding:clamp(7px,1.35svh,12px) clamp(12px,2.5svh,23px);top:68%}
.invitation-cover .cover-tap span{font-size:clamp(15px,2.2svh,20px);line-height:1.25}
.invitation-cover .cover-tap:before{font-size:clamp(12px,1.8svh,16px);margin-bottom:5px}
.invitation-cover .cover-open{min-width:44px;min-height:44px}
.envelope{width:min(340px,calc(100% - 52px));flex-shrink:0}
.letter{width:calc(100% - 36px)}
.seal{left:calc(50% - 32.5px)}
.button{min-height:48px;align-items:center}
input,select,textarea{max-width:100%;min-height:44px}
textarea{min-height:80px}
.checkbox input{min-height:20px;width:20px;height:20px;flex-shrink:0}
.table-wrap{max-width:100%;overscroll-behavior-inline:contain}
footer>a{overflow-wrap:anywhere}
@media(min-width:801px) and (max-width:1100px){
 .hero{min-height:620px}.hero-copy{padding:65px 22px 35px 10%}.hero-copy h1{font-size:clamp(42px,5vw,59px)}
 .invitation-scene{min-height:590px}.letter{padding-inline:14px}.letter h2{font-size:29px}
 .rsvp{padding:80px 6%;gap:45px}.details-copy{padding:55px 9%}.details-copy h2{font-size:40px}
 .dash-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:30px}
 .date-strip{gap:16px;padding-inline:5%}.date-strip strong{font-size:24px}.date-strip>span{font-size:8px}
}
@media(max-width:800px){
 .hero,.details,.rsvp,.dash-grid{grid-template-columns:minmax(0,1fr)}
 .hero-copy h1{font-size:clamp(38px,8vw,62px);letter-spacing:-1.6px}
 .hero-copy{padding:45px 7% 35px}.invitation-scene{min-height:600px}
 .details-copy{padding:45px 7%}.details-copy h2{font-size:clamp(34px,6vw,48px)}
 .rsvp{padding:65px 7%;gap:30px}.rsvp h2{font-size:clamp(40px,8vw,58px)}
 nav>div{gap:clamp(12px,3vw,24px)}nav>div a{display:inline-flex;align-items:center;min-height:44px}
 .printed-card{padding:35px 12%}.dashboard{padding:40px 5%}.dash-top{flex-wrap:wrap}
 input,select,textarea{font-size:16px}.checkbox{font-size:12px}.privacy,label small{font-size:11px}
 .scratch-content{padding:20px 15px}.celebration{padding:65px 7%}
}
@media(max-width:420px){
 nav{margin-inline:5%;height:76px}nav>div{gap:12px}nav>div a{font-size:10px}.monogram .wedding-logo{width:44px;height:44px}
 .hero-copy h1{font-size:clamp(36px,10vw,43px)}.edition{font-size:7px;letter-spacing:1.4px}
 .invitation-scene{min-height:560px;margin-inline:4%}.letter{padding:25px 12px}.letter h2{font-size:26px}.letter .eyebrow{letter-spacing:1px;font-size:6px}
 .envelope{height:240px}.letter{bottom:40px}.scene-note{font-size:18px}.open-caption{font-size:8px;letter-spacing:.6px;max-width:90%;bottom:52px}
 .scratch-section{padding-inline:6%}.scratch-section h2{font-size:38px}.scratch-content h3{font-size:36px}.scratch-card{height:430px}
 .form-grid{grid-template-columns:minmax(0,1fr);gap:0}
 .date-strip strong{font-size:24px}.stats article{padding:13px 9px}.stats span{font-size:10px}.stats strong{font-size:32px}
 .closing h2{font-size:42px}.host-link{position:static;display:block;margin-top:15px;min-height:44px}
}
@media(orientation:landscape) and (max-height:500px){
 .invitation-cover .cover-tap{top:71%;padding:5px 10px;font-size:8px;line-height:1.5;letter-spacing:1px}
 .invitation-cover .cover-tap:before,.invitation-cover .cover-tap span{display:none}
 .invitation-cover{perspective:1200px}
}
@media(pointer:coarse){.text-link{min-height:44px;padding-block:9px}.scratch-actions button{min-height:44px}}
/* One continuous, proportionally scaled glass scene on every screen. */
.invitation-cover{inset:0;left:0;width:100vw;height:100svh;transform:none;box-shadow:none;--glass-width:max(100vw,54.5svh);--glass-height:calc(var(--glass-width)*1.83477);--door-seal-size:min(calc(var(--glass-width)*.195),20svh);--door-seal-y:calc(50svh - var(--glass-height)*.014);perspective-origin:50% var(--door-seal-y)}
.cover-door{background-size:var(--glass-width) var(--glass-height)}
.cover-door-left{background-position:calc((100vw - var(--glass-width))*.5) center}
.cover-door-right{background-position:calc(var(--glass-width)*-.5) center}
.invitation-cover .cover-tap{top:max(66svh,calc(var(--door-seal-y) + var(--door-seal-size)*.895 + 24px));max-width:min(88vw,340px)}
@media(orientation:landscape) and (max-height:500px){.invitation-cover .cover-tap{top:max(74svh,calc(var(--door-seal-y) + var(--door-seal-size)*.895 + 10px))}}
/* The seal stays a physical-sized fitting, independent of the floral canvas. */
.invitation-cover{--door-seal-size:clamp(66px,10.5svh,100px);--door-seal-y:50svh;perspective-origin:50% 50%}
.invitation-cover .cover-tap{top:calc(50svh + var(--door-seal-size)*.895 + 32px);max-width:min(88vw,300px)}
@media(orientation:landscape) and (max-height:500px){
 .invitation-cover{--door-seal-size:clamp(40px,10.5svh,58px)}
 .invitation-cover .cover-tap{top:calc(50svh + var(--door-seal-size)*.895 + 15px)}
}
/* Portrait and extended landscape compositions reveal their full floral borders. */
.cover-door{background-size:200% 100%}
.cover-door-left{background-position:left center}.cover-door-right{background-position:right center}
@media(min-aspect-ratio:1/1){.cover-door{background-image:url('/glass-doors-floral-filled.png')}}
/* Preserve the original portrait artwork; additional flowers only fill wider margins. */
.invitation-cover{--portrait-glass-width:54.5svh;--extension-glass-width:max(100vw,160svh);--extension-glass-height:calc(var(--extension-glass-width)*.625)}
.cover-door{background-image:url('/glass-doors-floral-filled.png');background-size:var(--extension-glass-width) var(--extension-glass-height)}
.cover-door-left{background-position:calc((100vw - var(--extension-glass-width))*.5) center}
.cover-door-right{background-position:calc(var(--extension-glass-width)*-.5) center}
.cover-door:before{content:'';position:absolute;top:0;bottom:0;width:calc(var(--portrait-glass-width)*.5);background-image:url('/glass-doors-clean-panels.png');background-repeat:no-repeat;background-size:var(--portrait-glass-width) 100%;pointer-events:none;z-index:0}
.cover-door-left:before{right:0;background-position:left center;mask-image:linear-gradient(to right,transparent,black 28%);-webkit-mask-image:linear-gradient(to right,transparent,black 28%)}
.cover-door-right:before{left:0;background-position:right center;mask-image:linear-gradient(to left,transparent,black 28%);-webkit-mask-image:linear-gradient(to left,transparent,black 28%)}
@media(max-aspect-ratio:545/1000){
 .cover-door{background-image:url('/glass-doors-clean-panels.png');background-size:var(--portrait-glass-width) 100%}
 .cover-door-left{background-position:calc((100vw - var(--portrait-glass-width))*.5) center}
 .cover-door-right{background-position:calc(var(--portrait-glass-width)*-.5) center}
 .cover-door:before{display:none}
}

/* A floral welcome unfolds after the translucent glass doors have opened. */
.cover-door{background-image:url('/glass-doors-floral-wide.png')}
@media(max-aspect-ratio:545/1000){.cover-door{background-image:url('/glass-doors-clean-panels.png')}}
.floral-welcome{min-height:100svh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 45%,#fffaf2,#f4eee4 75%);padding:24px 16px 60px;overflow:hidden}
.floral-welcome-frame{width:min(94vw,74svh,760px);aspect-ratio:4/5;position:relative;display:grid;place-items:center}
.welcome-flowers{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;transform-origin:50% 85%}
.floral-welcome-copy{position:relative;z-index:1;text-align:center;width:55%;padding-top:2%;color:#405846}
.floral-welcome-copy .eyebrow{font-size:clamp(7px,1svh,11px);letter-spacing:2.2px;margin-bottom:17px}
.floral-welcome-copy h1{font-size:clamp(34px,6.5svh,76px);line-height:1.04;letter-spacing:-1.3px;margin-bottom:18px;font-weight:400}
.welcome-divider{color:#b38b5c;font-size:22px;margin-bottom:15px}
.welcome-mizo{font-family:var(--serif);font-size:clamp(15px,2.2svh,22px);line-height:1.55;margin-bottom:18px}
.welcome-event{font-size:clamp(8px,1.25svh,12px);line-height:1.9;color:#74806e;margin-bottom:0}
.welcome-scroll{position:absolute;bottom:20px;display:flex;flex-direction:column;align-items:center;font-size:10px;letter-spacing:2px;min-height:44px}.welcome-scroll span{font-size:22px;line-height:1.2}
.flowers-waiting .welcome-flowers,.flowers-waiting .floral-welcome-copy,.flowers-waiting .welcome-scroll{opacity:0}
.flowers-ready .welcome-flowers{animation:flowers-rise 1.9s cubic-bezier(.2,.65,.2,1) both}
.flowers-ready .floral-welcome-copy{animation:welcome-appear 1.2s ease .7s both}
.flowers-ready .welcome-scroll{animation:welcome-appear .9s ease 1.4s both}
@keyframes flowers-rise{from{opacity:0;transform:translateY(75px) scale(.89)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes welcome-appear{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:420px){.floral-welcome-frame{width:98vw}.floral-welcome-copy{width:55%}.floral-welcome-copy h1{font-size:clamp(33px,9vw,42px)}.welcome-mizo{font-size:15px}.welcome-event{font-size:9px}.floral-welcome-copy .eyebrow{font-size:7px;letter-spacing:1.4px}}
@media(orientation:landscape) and (max-height:500px){.floral-welcome{min-height:620px}.floral-welcome-frame{width:460px}.floral-welcome-copy h1{font-size:43px}.welcome-event{font-size:10px}}
@media(prefers-reduced-motion:reduce){.flowers-ready .welcome-flowers,.flowers-ready .floral-welcome-copy,.flowers-ready .welcome-scroll{animation:none;opacity:1;transform:none}}

/* The flowers exist behind real frosted panes before the guest opens them. */
.invitation-cover{background:transparent}
.invitation-cover .cover-door{background:none}
.invitation-cover .cover-door:before{display:block;inset:0;left:0;right:0;width:100%;height:100%;mask-image:none;-webkit-mask-image:none;background:linear-gradient(110deg,#fff9eb75 0%,#f4e6d855 35%,#fffaf073 53%,#efe2cf66 100%);backdrop-filter:blur(16px) saturate(.8);-webkit-backdrop-filter:blur(16px) saturate(.8);border:1px solid #d9c1a080;box-shadow:inset 0 0 35px #fff8e877}
.invitation-cover .cover-door:after{background:linear-gradient(110deg,transparent 15%,#fffbed3b 40%,transparent 65%),repeating-radial-gradient(ellipse at 20% 30%,#fff9ec12 0 2px,transparent 3px 8px);opacity:.55}
.invitation-cover.opening{background:transparent}
.flowers-waiting .welcome-flowers,.flowers-ready .welcome-flowers{opacity:1;transform:none;animation:none}
.flowers-waiting .floral-welcome-copy,.flowers-waiting .welcome-scroll{opacity:0;visibility:hidden}
.flowers-ready .floral-welcome-copy{visibility:visible;animation:welcome-appear 1.25s ease .15s both}
.flowers-ready .welcome-scroll{visibility:visible;animation:welcome-appear .9s ease .8s both}
@media(prefers-reduced-motion:reduce){.flowers-ready .floral-welcome-copy,.flowers-ready .welcome-scroll{animation:none;opacity:1;visibility:visible}}

/* Demo-style roses fill the scene behind pearlescent glass; no separate wreath. */
.floral-welcome{min-height:100svh;padding:0;background:#f8f0e4}
.floral-welcome-frame{width:100%;height:100svh;aspect-ratio:auto;max-width:none}
.welcome-floral-scene{position:absolute;inset:0;width:100%;height:100%;display:block}
.welcome-floral-scene .welcome-flowers{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.floral-welcome-copy{width:min(80vw,370px);padding:28px 18px;border-radius:48%;background:radial-gradient(ellipse,#fff9efd9 10%,#fff9efa6 58%,#fff9ef00 73%);text-shadow:0 1px 8px #fffaf0}
.floral-welcome-copy h1{font-size:clamp(38px,6.2svh,68px)}
.welcome-scroll{z-index:2;background:#fff9efdb;padding:6px 16px;border-radius:3px;bottom:16px;letter-spacing:1.5px}
.invitation-cover .cover-door:before{backdrop-filter:blur(11px) saturate(.9);-webkit-backdrop-filter:blur(11px) saturate(.9);background:linear-gradient(115deg,#fff9ed3d,#f2e6d840 40%,#fff9ed42 60%,#efe3ce3b)}
.invitation-cover .cover-door:after{background-image:url('/glass-doors-clean-panels.png');background-size:200% 100%;background-repeat:no-repeat;opacity:.24;transform:none}
.invitation-cover .cover-door-left:after{background-position:left center}
.invitation-cover .cover-door-right:after{background-position:right center}
.invitation-cover.opening .cover-door:after{opacity:.24;transform:none}
@media(max-width:420px){.floral-welcome-frame{width:100%;height:100svh}.floral-welcome-copy{width:78%;padding-inline:12px}.welcome-event{font-size:10px}}
@media(orientation:landscape) and (max-height:500px){.floral-welcome{min-height:100svh}.floral-welcome-frame{width:100%;height:100svh}.floral-welcome-copy{padding:10px 15px;width:300px}.floral-welcome-copy h1{font-size:35px;margin-bottom:8px}.welcome-divider{margin-bottom:5px}.welcome-mizo{font-size:15px;margin-bottom:8px}.floral-welcome-copy .eyebrow{margin-bottom:8px}.welcome-scroll{bottom:5px;font-size:8px;min-height:28px}.welcome-scroll span{display:none}}
.floral-welcome-copy h1:focus{outline:none}
/* Restore the original demo glass artwork instead of the simulated frosted panes. */
.invitation-cover .cover-door{background-image:url('/glass-doors-clean-panels.png');background-repeat:no-repeat;background-size:200% 100%;background-color:transparent;background-blend-mode:normal}
.invitation-cover .cover-door-left{background-position:left center}
.invitation-cover .cover-door-right{background-position:right center}
.invitation-cover .cover-door:before{display:none;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;box-shadow:none}
.invitation-cover .cover-door:after{background:linear-gradient(110deg,transparent 20%,#fff8ed20 48%,transparent 72%);opacity:.2;backdrop-filter:none;-webkit-backdrop-filter:none}
.invitation-cover.opening .cover-door:after{opacity:.2}
.invitation-cover .cover-door{background-size:var(--glass-width) var(--glass-height)}
.invitation-cover .cover-door-left{background-position:calc((100vw - var(--glass-width))*.5) center}
.invitation-cover .cover-door-right{background-position:calc(var(--glass-width)*-.5) center}

/* Flower-free glass: the stationary garden is visible through each moving pane. */
.invitation-cover .cover-door{background:none}
.invitation-cover .cover-door:before{display:block;inset:0;width:100%;height:100%;mask-image:none;-webkit-mask-image:none;background:linear-gradient(115deg,#fff9ed24,#f2e6d825 40%,#fff9ed30 60%,#efe3ce20);backdrop-filter:blur(10px) saturate(.9);-webkit-backdrop-filter:blur(10px) saturate(.9);border:1px solid #d9b5a170;box-shadow:inset 0 0 28px #fff8e83d}
.invitation-cover .cover-door:after{inset:0;width:100%;height:100%;background:url('/glass-pearlescent-texture.png') center/cover no-repeat;mix-blend-mode:soft-light;opacity:.85;transform:none;pointer-events:none}
.invitation-cover.opening .cover-door:after{opacity:.85;transform:none}
.invitation-cover .cover-door:after,.invitation-cover.opening .cover-door:after{mix-blend-mode:normal;opacity:.28}

/* Formal invitation, arranged within the pearl arch. */
.floral-welcome-copy.formal-invitation{width:min(34vw,470px);padding:12px 4px;background:none;text-shadow:0 1px 5px #fffaf0;color:#515b43;font-family:var(--serif)}
.formal-invitation h1{font-family:'Great Vibes',cursive;font-size:clamp(35px,6.6svh,64px);line-height:1.08;letter-spacing:0;margin:0 0 16px}
.formal-invitation p{margin:0}
.formal-invitation .invitation-intro{font-size:clamp(15px,2.5svh,23px);font-style:italic;margin-bottom:6px}
.invitation-names{font-size:clamp(16px,2.8svh,26px);line-height:1.35;font-style:italic}
.invitation-names span{font-size:.7em;white-space:nowrap}.invitation-names i{font-size:.7em}
.formal-invitation .invitation-wording{font-size:clamp(12px,1.9svh,18px);line-height:1.55;margin:14px -8px 16px;font-style:italic}
.invitation-parents{display:flex;justify-content:space-between;gap:15px;font-size:clamp(10px,1.55svh,15px);line-height:1.4;font-style:italic;margin:0 -12px 16px}
.invitation-parents p{flex:1}
.invitation-date{display:grid;grid-template-columns:1fr 1fr;max-width:270px;margin:auto;align-items:center;font-family:var(--serif)}
.invitation-date>div{display:flex;flex-direction:column;line-height:1.15;padding:0 12px}.invitation-date>div+div{border-left:1px solid #ac956c}
.invitation-date strong{font-size:clamp(32px,6svh,55px);font-weight:400}.invitation-date sup{font-size:.35em;vertical-align:super}.invitation-date span{font-size:clamp(12px,2svh,18px);letter-spacing:1px}.invitation-date strong.invitation-time{font-size:clamp(20px,3svh,28px);white-space:nowrap;margin-top:8px}.invitation-date>p{grid-column:1/-1;font-size:clamp(24px,4svh,36px);line-height:1.2;margin-top:8px}
@media(orientation:portrait){.floral-welcome-copy.formal-invitation{width:85vw;max-width:430px}.formal-invitation h1{font-size:clamp(38px,6.5svh,62px)}.invitation-parents{margin-inline:0}.formal-invitation .invitation-wording{font-size:clamp(13px,1.9svh,18px);margin-inline:0}}
@media(orientation:landscape) and (max-height:500px){.floral-welcome-frame{height:max(100svh,660px)}.floral-welcome-copy.formal-invitation{width:34vw}.formal-invitation h1{font-size:40px}.invitation-names{font-size:20px}.formal-invitation .invitation-wording{font-size:14px}.invitation-parents{font-size:12px}.invitation-date strong{font-size:36px}}

/* Readable invitation copy with a clear hierarchy at every viewport size. */
.floral-welcome-copy.formal-invitation{color:#3e4936}
.formal-invitation .invitation-intro{font-size:clamp(19px,2.8svh,25px);font-weight:500}
.formal-invitation .invitation-names{font-size:clamp(21px,3.2svh,29px);line-height:1.4;font-weight:500}
.invitation-names span{font-size:.8em}
.formal-invitation .invitation-wording{font-size:clamp(17px,2.5svh,23px);line-height:1.5;font-weight:500;margin:14px -8px 18px}
.formal-invitation .invitation-parents{font-size:clamp(15px,2.1svh,19px);line-height:1.4;font-weight:500;gap:12px;margin-bottom:18px}
.invitation-date span{font-size:clamp(16px,2.4svh,21px)}
@media(orientation:portrait){.formal-invitation .invitation-wording{font-size:clamp(17px,2.5svh,22px);margin-inline:0}.formal-invitation .invitation-wording br{display:none}.formal-invitation .invitation-parents{font-size:clamp(15px,2.1svh,18px)}}
@media(max-height:700px){.floral-welcome-frame{height:max(100svh,760px)}.formal-invitation h1{font-size:44px;margin-bottom:14px}.formal-invitation .invitation-intro{font-size:20px}.formal-invitation .invitation-names{font-size:23px}.formal-invitation .invitation-wording{font-size:18px}.formal-invitation .invitation-parents{font-size:15px}}

/* The invitation wording is bold italic; the date is revealed on the scratch card. */
.formal-invitation .invitation-intro,.formal-invitation .invitation-names,.formal-invitation .invitation-wording,.formal-invitation .invitation-parents{font-weight:600;font-style:italic}
.formal-invitation .invitation-wording br{display:none}
.formal-invitation .invitation-parents{flex-direction:column;gap:8px;margin:22px 0 0;font-size:clamp(17px,2.5svh,22px)}
.scratch-wedding-date{font-family:var(--serif);color:#3e4936;margin-top:16px}
.scratch-wedding-date > p{margin:0 0 8px;line-height:1.3;display:flex;align-items:baseline;justify-content:center;gap:12px}
.scratch-wedding-date strong[data-design-text]{font-size:32px;font-weight:600}.scratch-wedding-date sup{font-size:.45em}.scratch-wedding-date span[data-design-text]{font-size:19px;letter-spacing:1px}.scratch-wedding-date > p.scratch-year{font-size:30px;margin-top:8px}
.scratch-content h3{font-size:34px;margin-bottom:12px}.scratch-content .scratch-logo{width:70px;height:70px;margin-bottom:12px}
.scratch-card{height:510px}.scratch-content .eyebrow{font-size:10px}.scratch-content>p:not(.eyebrow){font-size:15px}
.formal-invitation .invitation-wording{margin-inline:8px}

/* Fit the text to the actual ivory opening in the supplied 4:3 artwork.
   With object-fit:cover its centre opening scales with the larger image axis. */
.floral-welcome-frame{--scene-width:max(100vw,133.333svh);--ivory-copy-width:calc(var(--scene-width)*.285);height:100svh;min-height:680px}
.floral-welcome-copy.formal-invitation{width:min(var(--ivory-copy-width),480px);max-width:88vw;padding:10px 0;text-wrap:pretty}
.formal-invitation h1{font-size:clamp(38px,6svh,60px);margin-bottom:16px}
.formal-invitation .invitation-intro{font-size:clamp(18px,2.6svh,24px);margin-bottom:8px}
.formal-invitation .invitation-names{font-size:clamp(19px,2.8svh,26px);line-height:1.45}
.formal-invitation .invitation-names span{font-size:.8em;white-space:normal}
.formal-invitation .invitation-wording{font-size:clamp(16px,2.25svh,21px);line-height:1.55;margin:18px 0 0;text-wrap:balance}
.formal-invitation .invitation-parents{font-size:clamp(16px,2.25svh,21px);line-height:1.4;margin:22px 0 0;gap:10px}
@media(orientation:portrait){.floral-welcome-frame{--scene-width:max(100vw,133.333svh)}.floral-welcome-copy.formal-invitation{width:min(var(--ivory-copy-width),86vw,480px)}.formal-invitation .invitation-wording{margin-inline:0}}
@media(max-height:700px){.floral-welcome-frame{height:760px;--scene-width:max(100vw,1013.333px)}.formal-invitation h1{font-size:42px}.formal-invitation .invitation-names{font-size:21px}.formal-invitation .invitation-intro{font-size:19px}.formal-invitation .invitation-wording,.formal-invitation .invitation-parents{font-size:17px}}
@media(min-width:1800px) and (min-height:900px){.formal-invitation h1{font-size:68px}.formal-invitation .invitation-names{font-size:30px}.formal-invitation .invitation-wording,.formal-invitation .invitation-parents{font-size:23px}}
@media(orientation:portrait) and (max-width:600px){.floral-welcome-copy.formal-invitation{width:min(80vw,var(--ivory-copy-width))}.formal-invitation h1{font-size:46px;margin-bottom:12px}.formal-invitation .invitation-intro{font-size:20px;margin-bottom:6px}.formal-invitation .invitation-names{font-size:21px;line-height:1.4}.formal-invitation .invitation-wording{font-size:17px;line-height:1.5;margin-top:15px}.formal-invitation .invitation-parents{font-size:17px;gap:8px;margin-top:18px}}

/* Both families share one balanced row within the ivory opening. */
.formal-invitation .invitation-parents{flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px;font-size:clamp(12px,1.7svh,17px);line-height:1.4}
.formal-invitation .invitation-parents p{flex:0 1 auto;white-space:nowrap}
@media(orientation:portrait) and (max-width:600px){.formal-invitation .invitation-parents{font-size:clamp(10px,2.7vw,14px);gap:8px}}

/* Scale typography from the usable ivory column, rather than height alone. */
.floral-welcome-copy.formal-invitation{container-type:inline-size;width:min(var(--ivory-copy-width),580px);max-width:86vw}
.formal-invitation h1{font-size:clamp(42px,15cqi,78px);line-height:1.08;margin-bottom:clamp(12px,4cqi,22px)}
.formal-invitation .invitation-intro{font-size:clamp(19px,6.1cqi,29px);line-height:1.4;margin-bottom:8px}
.formal-invitation .invitation-names{font-size:clamp(20px,6.6cqi,32px);line-height:1.42}
.formal-invitation .invitation-names span{font-size:.8em}
.formal-invitation .invitation-wording{font-size:clamp(17px,5.5cqi,26px);line-height:1.55;margin:clamp(16px,5cqi,26px) 0 0}
.formal-invitation .invitation-parents{font-size:clamp(11px,3.5cqi,18px);line-height:1.5;gap:clamp(8px,3cqi,18px);margin:clamp(20px,6cqi,32px) 0 0}
.formal-invitation .invitation-parents p{white-space:nowrap}
@media(orientation:portrait){.floral-welcome-copy.formal-invitation{width:min(var(--ivory-copy-width),80vw,580px)}}
@media(max-width:360px){.formal-invitation .invitation-names{font-size:19px}.formal-invitation .invitation-parents{font-size:10px;gap:6px}}
@media(min-height:701px) and (max-height:820px) and (orientation:landscape){.formal-invitation h1{font-size:clamp(42px,13cqi,58px)}.formal-invitation .invitation-names{font-size:clamp(20px,6cqi,25px)}.formal-invitation .invitation-wording{font-size:clamp(17px,5cqi,21px)}}

/* Larger family names in two equal columns, contained within the ivory panel. */
.formal-invitation .invitation-parents{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:clamp(14px,5cqi,28px);font-size:clamp(16px,4.8cqi,23px);line-height:1.45;margin-top:clamp(22px,6cqi,34px)}
.formal-invitation .invitation-parents p{min-width:0;white-space:normal;text-wrap:balance;margin:0}
@media(max-width:360px){.formal-invitation .invitation-parents{font-size:15px;gap:12px}}

/* Use more of the ivory panel while preserving the floral safety margin. */
.floral-welcome-copy.formal-invitation{width:min(calc(var(--scene-width)*.30),620px);max-width:84vw}
.formal-invitation h1{font-size:clamp(48px,17cqi,86px);margin-bottom:clamp(14px,4.5cqi,24px)}
.formal-invitation .invitation-intro{font-size:clamp(21px,6.8cqi,32px)}
.formal-invitation .invitation-names{font-size:clamp(23px,7.4cqi,35px);line-height:1.42}
.formal-invitation .invitation-wording{font-size:clamp(19px,6.1cqi,29px);line-height:1.5;margin-top:clamp(18px,5cqi,28px)}
.formal-invitation .invitation-parents{font-size:clamp(18px,5.5cqi,26px);line-height:1.4;margin-top:clamp(24px,7cqi,38px)}
@media(orientation:portrait){.floral-welcome-copy.formal-invitation{width:min(calc(var(--scene-width)*.30),82vw,620px)}}
@media(max-width:360px){.formal-invitation h1{font-size:46px}.formal-invitation .invitation-names{font-size:21px}.formal-invitation .invitation-wording{font-size:18px}.formal-invitation .invitation-parents{font-size:17px}}

.welcome-scroll{background:none;padding:0;width:44px;height:44px;min-height:44px;justify-content:center;border-radius:50%;letter-spacing:0}.welcome-scroll span{display:block;font-size:28px;line-height:1}
.welcome-scroll{background:#fff9efeb;border:1px solid #b99a6573;box-shadow:0 3px 12px #6a51351a;color:#4b5740}
.welcome-scroll:hover{background:#fffdf7;border-color:#a58655}

/* A quiet pearl interlude inspired by the invitation's stained-glass details. */
.wedding-countdown{position:relative;text-align:center;padding:75px 24px 65px;background:radial-gradient(ellipse at 50% 30%,#fffdf6 10%,#f4eee2 100%);color:#4b563e;overflow:hidden;scroll-margin-top:0}
.countdown-ornament{font-size:25px;color:#a58a55;margin-bottom:18px}
.wedding-countdown .eyebrow{font-size:10px;letter-spacing:3px;color:#737961;margin-bottom:20px}
.wedding-countdown h2{font-family:'Great Vibes',cursive;font-size:clamp(47px,6vw,76px);line-height:1.15;letter-spacing:0;margin-bottom:25px}.wedding-countdown h2 em{font-style:normal}
.countdown-until{font-size:11px;letter-spacing:2px;line-height:1.8;margin-bottom:38px}.countdown-until>span{margin:0 7px;color:#a58a55}
.countdown-digits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:620px;margin:0 auto 30px}
.countdown-digits>div{padding:0 16px;position:relative}.countdown-digits>div+div:before{content:'';position:absolute;left:0;top:15%;height:55%;width:1px;background:linear-gradient(transparent,#b99c6977,transparent)}
.countdown-digits strong{display:block;font-family:var(--serif);font-size:clamp(43px,6vw,76px);font-weight:400;font-variant-numeric:tabular-nums;line-height:1.15;letter-spacing:-1px}
.countdown-digits span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:2px;margin-top:10px;color:#727961}
.countdown-note{font-family:var(--serif);font-size:19px;font-style:italic;margin:0 auto;max-width:390px;line-height:1.55}
.countdown-rule{max-width:290px;margin:33px auto 0;display:flex;align-items:center;gap:20px;color:#a58a55}.countdown-rule:before,.countdown-rule:after{content:'';flex:1;height:1px;background:#c8b58d77}.countdown-rule span{font-size:24px}
@media(max-width:600px){.wedding-countdown{padding:60px 20px 48px}.wedding-countdown .eyebrow{font-size:9px;letter-spacing:2px}.countdown-until{font-size:10px;letter-spacing:1.2px}.countdown-digits>div{padding:0 7px}.countdown-digits span{font-size:8px;letter-spacing:1.3px}.countdown-note{font-size:18px;max-width:285px}}

/* The date is the only content beneath the scratch foil. */
.date-only-section{padding:65px 24px 45px}
.date-only-section .scratch-card{height:340px;border-radius:12px;width:min(100%,390px)}
.date-only-section .scratch-content{border-radius:6px;padding:24px 14px}
.date-only-section .scratch-wedding-date{margin:0;width:100%}
.date-only-section .scratch-wedding-date > p{gap:14px;margin-bottom:16px}
.date-only-section .scratch-wedding-date strong[data-design-text]{font-size:44px}
.date-only-section .scratch-wedding-date span[data-design-text]{font-size:23px;letter-spacing:1.5px}
.date-only-section .scratch-wedding-date > p:nth-child(2) > strong[data-design-text]{font-size:31px}
.date-only-section .scratch-wedding-date > p.scratch-year{font-size:38px;margin:20px 0 0}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.date-only-section .scratch-actions{margin-top:16px}
@media(max-width:360px){.date-only-section .scratch-wedding-date strong[data-design-text]{font-size:38px}.date-only-section .scratch-wedding-date span[data-design-text]{font-size:19px}.date-only-section .scratch-wedding-date > p:nth-child(2) > strong[data-design-text]{font-size:27px}}
.date-only-section .scratch-wedding-date > p:nth-child(2) > span[data-design-text]{font-size:17px;letter-spacing:1px}

/* Printed invitation date layout, framed by the demo-style ivory roses. */
.date-only-section{background:#faf6ed url('/ivory-floral-landscape.png') center/cover no-repeat;padding:80px 24px}
.date-only-section .scratch-card{background:#718879;border-color:#dcb594;border-radius:8px;height:300px;max-width:530px;width:min(100%,530px);box-shadow:0 12px 35px #4b54312b}
.date-only-section .scratch-content{border-color:#edc2a055;border-radius:3px;padding:30px 18px}
.date-only-section .printed-date-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;color:#f0bf9b;font-family:var(--serif);margin:0}
.printed-date-layout>div{display:flex;flex-direction:column;justify-content:center;padding:0 12px;line-height:1.05}
.printed-date-layout .date-time{border-left:3px solid #f0bf9b;padding-block:8px}
.date-only-section .printed-date-layout .date-day > strong{font-size:100px;font-weight:400;line-height:.9}
.date-only-section .printed-date-layout .date-day > span{font-size:38px;font-variant:small-caps;letter-spacing:-1px}
.date-only-section .printed-date-layout .date-time > span{font-size:38px;font-variant:small-caps;letter-spacing:0}
.date-only-section .printed-date-layout .date-time > strong{font-size:43px;font-weight:400;white-space:nowrap;margin-top:12px;letter-spacing:-1px}
.date-only-section .printed-date-layout p.scratch-year{grid-column:1/-1;display:block;font-size:27px;line-height:1.1;margin:25px 0 0}
@media(orientation:portrait){.date-only-section{background-image:url('/ivory-floral-portrait.png');padding:95px 18px}}
@media(max-width:600px){.date-only-section .scratch-card{height:260px}.date-only-section .scratch-content{padding:25px 8px}.printed-date-layout>div{padding-inline:8px}.date-only-section .printed-date-layout .date-day > strong{font-size:clamp(58px,19vw,86px)}.date-only-section .printed-date-layout .date-day > span,.date-only-section .printed-date-layout .date-time > span{font-size:clamp(22px,6.7vw,32px)}.date-only-section .printed-date-layout .date-time > strong{font-size:clamp(25px,7.7vw,37px)}.date-only-section .printed-date-layout p.scratch-year{font-size:25px;margin-top:20px}}

/* The reference's rose-adorned oval frames a pearl scratch surface. */
.date-only-section{background:#4c5429;padding:50px 20px 35px;border-radius:0 0 50% 50% / 0 0 8% 8%}
.date-only-section .scratch-card{width:min(100%,460px);height:auto;aspect-ratio:2/3;max-width:460px;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}
.scratch-floral-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:3;pointer-events:none}
.date-only-section .scratch-content,.date-only-section #scratch-canvas{position:absolute;inset:16% 17% 19%;width:66%;height:65%;border:0;border-radius:50%;padding:0;overflow:hidden}
.date-only-section .scratch-content{background:#f7f1e4;z-index:1;display:flex;align-items:center;justify-content:center}
.date-only-section #scratch-canvas{z-index:2}
.date-only-section .printed-date-layout{color:#515b3a;width:92%;grid-template-columns:1fr 1fr}
.printed-date-layout>div{padding:0 5px}
.printed-date-layout .date-time{border-left:1px solid #ad9365;padding-block:8px}
.date-only-section .printed-date-layout .date-day > strong{font-size:clamp(42px,11vw,66px)}
.date-only-section .printed-date-layout .date-day > span{font-size:clamp(16px,4.2vw,25px);letter-spacing:-.5px}
.date-only-section .printed-date-layout .date-time > span{font-size:clamp(17px,4.4vw,26px);letter-spacing:0}
.date-only-section .printed-date-layout .date-time > strong{font-size:clamp(19px,4.8vw,29px);letter-spacing:-.6px;margin-top:7px}
.date-only-section .printed-date-layout p.scratch-year{font-size:clamp(22px,5.5vw,31px);margin-top:20px}
.date-only-section .scratch-actions{margin-top:8px;color:#f2e7cc}.date-only-section .scratch-actions button{font-size:12px}

/* Balanced date typography within the narrow oval centre. */
.date-only-section .printed-date-layout{width:94%;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;text-align:center;padding:0 2px}
.date-only-section .printed-date-layout>div{min-width:0;padding:6px 7px;min-height:90px;justify-content:center}
.date-only-section .printed-date-layout .date-day > strong{font-size:clamp(44px,10vw,62px);line-height:.95;letter-spacing:-1px}
.date-only-section .printed-date-layout .date-day > span{font-size:clamp(16px,3.9vw,23px);line-height:1.2;letter-spacing:-.6px;margin-top:5px;white-space:nowrap}
.date-only-section .printed-date-layout .date-time > span{font-size:clamp(20px,4.3vw,26px);line-height:1.2}
.date-only-section .printed-date-layout .date-time > strong{font-size:clamp(19px,4.3vw,26px);line-height:1.2;margin-top:8px;letter-spacing:-.6px;white-space:nowrap}
.date-only-section .printed-date-layout p.scratch-year{margin:24px 0 0;font-size:clamp(25px,5vw,30px);letter-spacing:1px;text-align:center}

/* Align the two date stacks by their shared visual centre. */
.date-only-section .printed-date-layout{width:98%;grid-template-columns:1fr 1.1fr}
.date-only-section .printed-date-layout>div{height:110px;min-height:110px;padding:0 5px}
.date-only-section .printed-date-layout .date-day > strong{font-size:clamp(53px,12vw,74px)}
.date-only-section .printed-date-layout .date-day > span{font-size:clamp(18px,4.6vw,27px);margin-top:6px}
.date-only-section .printed-date-layout .date-time{padding-top:12px}
.date-only-section .printed-date-layout .date-time > span{font-size:clamp(23px,5.2vw,31px)}
.date-only-section .printed-date-layout .date-time > strong{font-size:clamp(22px,5.1vw,30px);margin-top:11px}
.date-only-section .printed-date-layout p.scratch-year{font-size:clamp(28px,6vw,34px);margin-top:26px}
@media(max-width:360px){.date-only-section .printed-date-layout .date-day > span{font-size:16px}.date-only-section .printed-date-layout .date-time > strong{font-size:20px}.date-only-section .printed-date-layout .date-time > span{font-size:22px}}

/* Shared rows align both columns, independent of their different type sizes. */
.date-only-section .printed-date-layout{grid-template-columns:1fr 1.1fr;grid-template-rows:70px 38px auto;column-gap:0;row-gap:0;align-items:baseline}
.date-only-section .printed-date-layout>div{display:contents}
.date-only-section .printed-date-layout .date-day > strong{grid-column:1;grid-row:1;align-self:end;line-height:1;margin:0;padding:0 5px 7px}
.date-only-section .printed-date-layout .date-time > span{grid-column:2;grid-row:1;align-self:end;line-height:1;margin:0;padding:0 5px 12px}
.date-only-section .printed-date-layout .date-day > span{grid-column:1;grid-row:2;align-self:center;line-height:1;margin:0;padding:0 5px}
.date-only-section .printed-date-layout .date-time > strong{grid-column:2;grid-row:2;align-self:center;line-height:1;margin:0;padding:0 5px}
.date-only-section .printed-date-layout{position:relative}
.date-only-section .printed-date-layout:before{content:'';position:absolute;left:47.619%;top:0;height:108px;width:1px;background:#ad9365}
.date-only-section .printed-date-layout p.scratch-year{grid-column:1/-1;grid-row:3;margin:24px 0 0}
.date-only-section{background:#26382f}

/* Venue details sit between the date reveal and countdown. */
.venue-location{text-align:center;padding:80px 24px;background:#faf6ed;color:#4b563e;position:relative}
.venue-location .eyebrow{font-size:10px;letter-spacing:3px;color:#7b806a;margin-bottom:26px}
.venue-location h2{font-family:var(--serif);font-size:clamp(37px,5vw,63px);line-height:1.15;letter-spacing:-1px;margin:0 auto;max-width:700px}
.venue-location h2 em{font-family:'Great Vibes',cursive;font-size:1.2em;font-style:normal;display:inline-block;margin-top:8px}
.venue-location-ornament{font-size:30px;color:#ad9260;margin:20px 0}
.venue-location-address{font-family:var(--serif);font-size:22px;line-height:1.5;margin-bottom:22px}
.venue-location-date{font-size:13px;line-height:2;letter-spacing:.7px;margin-bottom:30px}.venue-location-date strong{font-weight:500}
.venue-map-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:48px;padding:12px 25px;border:1px solid #b29a70;color:#4b563e;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;background:#fffdf54d;transition:background .2s}
.venue-map-button:hover{background:#ede6d6}.venue-map-button span{font-size:19px}
@media(max-width:600px){.venue-location{padding:60px 22px}.venue-location h2{font-size:clamp(33px,8.4vw,46px)}.venue-location-address{font-size:20px}.venue-location-date{font-size:12px}}

.venue-location-ornament svg{display:block;width:60px;height:66px;margin:auto;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}

/* The heading reveals with the date beneath the scratch foil. */
.date-only-section .printed-date-layout{grid-template-rows:auto 70px 38px auto}
.date-only-section .printed-date-layout p.scratch-date-heading{grid-column:1/-1;grid-row:1;display:block;text-align:center;font-family:'Great Vibes',cursive;font-size:clamp(27px,7vw,38px);line-height:1.2;letter-spacing:0;margin:0 0 24px}
.date-only-section .printed-date-layout .date-day > strong,.date-only-section .printed-date-layout .date-time > span{grid-row:2}
.date-only-section .printed-date-layout .date-day > span,.date-only-section .printed-date-layout .date-time > strong{grid-row:3}
.date-only-section .printed-date-layout p.scratch-year{grid-row:4}
.date-only-section .printed-date-layout:before{top:70px;height:108px}
.calendar-picker{width:min(100%,320px);margin:24px auto 0;position:relative;text-align:center;color:#f5ead4;font-family:'DM Sans',sans-serif}
.calendar-picker summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:20px;border:1px solid #d4bc8799;border-radius:3px;padding:12px 18px;min-height:48px;font-size:12px;letter-spacing:1px}.calendar-picker summary::-webkit-details-marker{display:none}.calendar-picker summary:focus-visible{outline:2px solid #f5ead4;outline-offset:4px}
.calendar-options{display:grid;gap:1px;background:#d9cdb6;border:1px solid #d4bc8799;margin-top:8px;border-radius:3px;overflow:hidden}.calendar-options a{display:block;background:#faf6ed;color:#3e4936;font-size:13px;padding:13px 15px;min-height:46px}.calendar-options a:hover{background:#eee5d5}
.calendar-picker{border-top:0;padding:0}.calendar-picker summary:after{content:none}

/* Reveal the date before continuing; previous invitation remains reachable. */
.scratch-gated .scratch-locked-content{display:none!important}
.date-only-section[data-scratch-navigation-locked="true"] .calendar-picker{display:none}
.date-only-section #scratch-status{color:#f5ead4;font-size:14px;line-height:1.6;letter-spacing:.3px;margin:18px 0 0}
.scratch-keyboard-reveal:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.scratch-keyboard-reveal:focus{position:relative;clip-path:none;color:#f5ead4;min-height:44px}
.wedding-countdown{background:#efbd9d}
.wedding-countdown .countdown-ornament,.wedding-countdown .countdown-rule{color:#776342}
.countdown-rule svg{width:36px;height:45px;flex:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.wedding-countdown .countdown-rule:before,.wedding-countdown .countdown-rule:after{background:#8b735b66}
.wedding-countdown .eyebrow,.wedding-countdown .countdown-digits span{color:#586044}
/* One state indicator for the native calendar disclosure. */
.calendar-picker>summary>span{display:none}
.calendar-picker>summary::after{content:'+';font-size:20px;line-height:1;position:static;display:block;transform:none;background:none;width:auto;height:auto;border:0}
.calendar-picker[open]>summary::after{content:'−';transform:none}

.rsvp-envelope-icon{display:block;margin-top:28px}.rsvp-envelope-icon svg{display:block;width:100px;height:82px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}

.wedding-moment[hidden]{display:none}
.wedding-moment{margin:0 auto 30px;max-width:560px;padding:20px 16px;border-block:1px solid #8b735b55;animation:welcome-appear .8s ease both}
.wedding-moment-symbol{display:block;font-size:32px;line-height:1;color:#746044;margin-bottom:12px}
.wedding-moment p{font-family:var(--serif);font-size:clamp(27px,4vw,39px);line-height:1.2;font-style:italic;margin:0;text-wrap:balance}
@media(prefers-reduced-motion:reduce){.wedding-moment{animation:none}}

/* Preview-inspired countdown: flowing script, refined serif numerals and italic notes. */
.wedding-countdown{padding:78px 24px 65px;color:#485333;background:#efbd9d}
.wedding-countdown .countdown-ornament{display:none}
.wedding-countdown .eyebrow{font-family:var(--serif);font-size:clamp(12px,1.4vw,17px);font-weight:500;letter-spacing:clamp(3px,.5vw,6px);color:#485333;margin-bottom:30px}
.wedding-countdown h2{font-family:'Great Vibes',cursive;font-size:clamp(58px,8vw,108px);font-weight:400;line-height:1.15;letter-spacing:0;margin-bottom:30px}
.wedding-countdown h2 em{font-family:inherit;font-style:normal}
.countdown-until{font-family:var(--serif);font-size:clamp(13px,1.6vw,20px);letter-spacing:clamp(1.5px,.35vw,4px);margin-bottom:36px;color:#485333}
.wedding-moment{max-width:720px;margin:0 auto 32px;padding:25px 12px 27px;border-color:#92713e88;position:relative}
.wedding-moment-symbol{font-family:var(--serif);font-size:34px;background:#efbd9d;position:absolute;top:-18px;left:50%;transform:translateX(-50%);padding:0 18px;color:#856534}
.wedding-moment p{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(32px,5vw,62px);line-height:1.15;letter-spacing:-.7px;text-wrap:balance}
.countdown-digits{max-width:780px;margin-bottom:30px}
.countdown-digits strong{font-family:var(--serif);font-size:clamp(52px,8vw,100px);font-weight:400;line-height:1.05;letter-spacing:-1px;color:#485333}
.countdown-digits span{font-family:var(--serif);font-size:clamp(11px,1.5vw,17px);letter-spacing:clamp(1.5px,.3vw,4px);color:#485333;margin-top:12px}
.countdown-digits>div+div:before{background:#92713e88;top:6%;height:68%}
.countdown-note{font-family:var(--serif);font-size:clamp(21px,2.6vw,31px);font-style:italic;line-height:1.35;max-width:800px;text-wrap:balance}
.countdown-rule{max-width:290px;margin-top:32px;color:#856534}
@media(max-width:600px){.wedding-countdown{padding:60px 20px 48px}.wedding-countdown .eyebrow{font-size:11px;letter-spacing:2.2px}.wedding-countdown h2{font-size:clamp(56px,13vw,76px)}.countdown-until{font-size:12px;letter-spacing:1.5px}.countdown-digits>div{padding:0 5px}.countdown-digits strong{font-size:clamp(42px,12vw,65px)}.countdown-digits span{font-size:10px;letter-spacing:1.3px}.wedding-moment p{font-size:clamp(31px,8vw,42px)}.countdown-note{font-size:22px}}

/* RSVP opens in an accessible native modal with consistently aligned fields. */
#rsvp.rsvp{display:block;text-align:center}.rsvp-envelope-icon svg{margin:auto}.rsvp-open{display:inline-flex;gap:40px;margin-top:26px;min-width:170px;justify-content:space-between}
.rsvp-modal-open{overflow:hidden}
.rsvp-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:28px;border:1px solid #bca57f;border-radius:12px;background:#faf6ed;color:#3e4936;overflow-y:auto;text-align:left;box-shadow:0 25px 100px #17231c55}
.rsvp-dialog:not([open]){display:none}.rsvp-dialog::backdrop{background:#17271fd1;backdrop-filter:blur(5px)}
.rsvp-dialog-header{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:24px}.rsvp-dialog-header .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:8px}.rsvp-dialog-header h2{font-family:'Great Vibes',cursive;font-size:48px;letter-spacing:0;margin:0}
.rsvp-close{border:1px solid #d1c1a8;border-radius:50%;width:44px;height:44px;flex:none;background:transparent;font-size:27px;color:#4b563e;line-height:1}
.rsvp-dialog form{display:grid;gap:18px}.rsvp-dialog form>label,.rsvp-dialog .form-grid>label{display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.5;margin:0}
.rsvp-dialog input:not([type=checkbox]),.rsvp-dialog select,.rsvp-dialog textarea{box-sizing:border-box;width:100%;min-width:0;margin:0;padding:12px;border:1px solid #c9bfae;border-radius:4px;background:#fffdf8;color:#34402f;font-size:16px;line-height:1.4}
.rsvp-dialog .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}.rsvp-dialog .form-grid select{min-height:48px}
.rsvp-dialog label.checkbox{display:flex;flex-direction:row;align-items:start;gap:10px;font-size:12px}.rsvp-dialog input[type=checkbox]{width:18px;height:18px;flex:none;margin-top:3px}.rsvp-dialog small{font-size:11px;line-height:1.5}.rsvp-dialog textarea{resize:vertical}.rsvp-dialog .button{min-height:48px}
@media(max-width:600px){.rsvp-dialog{padding:22px 18px;max-height:calc(100dvh - 24px)}.rsvp-dialog .form-grid{grid-template-columns:1fr;gap:18px}}
.rsvp-open{justify-content:center;position:relative;gap:0;padding-inline:45px}.rsvp-open>span{position:absolute;right:20px}
/* Restore the invitation's original understated underline fields. */
.rsvp-dialog input:not([type=checkbox]),.rsvp-dialog select,.rsvp-dialog textarea{background:transparent;border:0;border-bottom:1px solid #bfc5b5;border-radius:0;padding:12px 0;box-shadow:none}
.rsvp-dialog input:focus,.rsvp-dialog select:focus,.rsvp-dialog textarea:focus{outline:2px solid #718879;outline-offset:4px}
.rsvp-preferences{font-size:13px;margin:24px 0 0}.rsvp-preferences a{border-bottom:1px solid #718879}
.reminder-preferences{max-width:650px;margin:60px auto;padding:30px 24px;min-height:60vh}.reminder-preferences h1{font-size:clamp(38px,6vw,58px);letter-spacing:-1px}.reminder-preferences form{margin:28px 0}
.rsvp-dialog [data-attending-only][hidden]{display:none!important}.rsvp-dialog .form-grid.declined-rsvp{grid-template-columns:1fr}
.rsvp-dialog button[type=submit]{position:relative;display:flex;align-items:center;justify-content:center;padding-inline:45px}.rsvp-dialog button[type=submit]>span{position:absolute;right:20px}
.rsvp-phone-field{border:0;padding:0;margin:0;min-width:0}.rsvp-phone-field legend{font-size:13px;padding:0;margin-bottom:8px}.rsvp-phone-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px;align-items:end}.rsvp-phone-row label{min-width:0;margin:0}.rsvp-phone-row select,.rsvp-phone-row input{height:48px}.rsvp-phone-field>small{display:block;margin-top:8px}
@media(max-width:420px){.rsvp-phone-row{grid-template-columns:minmax(0,1fr);gap:8px}}
/* Closed glass always looks onto the first invitation, even after fragment refreshes. */
body.cover-locked #invitation-main{position:fixed;inset:0;width:100%;height:100svh;overflow:clip}
body.cover-locked #invitation-main>:not(.floral-welcome){display:none!important}
body.cover-locked #invitation-main>.floral-welcome{margin-top:0}
.rsvp-dialog .rsvp-phone-row{grid-template-columns:100px minmax(0,1fr);gap:16px}
.country-code-control{position:relative}.selected-country-code{position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:16px;color:#34402f;pointer-events:none}
.rsvp-dialog .country-code-control select{color:transparent;cursor:pointer;padding-right:20px}.rsvp-dialog .country-code-control select option{color:#34402f;background:#faf6ed}
@media(max-width:360px){.rsvp-dialog .rsvp-phone-row{grid-template-columns:80px minmax(0,1fr);gap:12px}}
/* Keep the selected dial code compact beside the local number. */
.rsvp-dialog .rsvp-phone-row{grid-template-columns:72px minmax(0,1fr);gap:12px}
.rsvp-dialog .country-code-control select{padding-right:14px}
@media(max-width:360px){.rsvp-dialog .rsvp-phone-row{grid-template-columns:68px minmax(0,1fr);gap:10px}}
.rsvp-dialog .rsvp-phone-row{grid-template-columns:var(--dial-code-width,48px) minmax(0,1fr);gap:10px}
.rsvp-dialog .country-code-control select{padding-left:0;padding-right:0}
.selected-country-code{white-space:nowrap}
.rsvp-phone-field .phone-validation{color:#914d3b;font-size:12px}.phone-validation:empty{display:none}.rsvp-dialog input[aria-invalid=true]{border-bottom-color:#914d3b}

/* A pearl keepsake: subtle illumination, tactile foil and a quiet swipe cue. */
.date-only-section{background:radial-gradient(ellipse at 50% 42%,#354b3d 0%,#26382f 65%);padding-top:65px;padding-bottom:40px}
.date-only-section .scratch-card{filter:drop-shadow(0 16px 24px #111f1840)}
.date-only-section .scratch-content{background:radial-gradient(ellipse at 35% 28%,#fffdf4,#f3ecdd 75%);box-shadow:inset 0 0 24px #baa37d26}
.date-only-section #scratch-canvas{cursor:crosshair;transition:opacity .9s ease;touch-action:none}
.scratch-gesture{position:absolute;z-index:2;left:50%;top:66%;width:62px;height:30px;transform:translateX(-50%);pointer-events:none;opacity:.7;transition:opacity .3s}
.scratch-gesture svg{width:100%;height:100%;stroke:#9c8c69;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.gesture-trail{stroke-dasharray:2 4;opacity:.7}
.scratch-gesture svg{animation:scratch-swipe 3s ease-in-out infinite}
.scratching .scratch-gesture,.revealed .scratch-gesture{opacity:0}
.date-only-section .scratch-card.revealed .scratch-content{animation:date-unveiled .9s ease both}
@keyframes scratch-swipe{0%,20%,100%{transform:translateX(-6px) rotate(-5deg)}55%,70%{transform:translateX(6px) rotate(5deg)}}
@keyframes date-unveiled{from{filter:brightness(1.12)}to{filter:brightness(1)}}
@media(prefers-reduced-motion:reduce){.scratch-gesture svg,.date-only-section .scratch-card.revealed .scratch-content{animation:none}.date-only-section #scratch-canvas{transition:none}}
/* Silvered glass fragments lift from the scratch surface and dissolve. */
.scratch-glass-particles{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:visible;perspective:500px}
.scratch-glass-shard{position:absolute;display:block;pointer-events:none;background:linear-gradient(135deg,#fffffff0,#aac7bc88 35%,#effffbdd 49%,#5d8176bb 56%,#faffffbd);box-shadow:inset 0 0 0 1px #ffffffaa;will-change:transform,opacity}
.date-only-section #scratch-canvas{transition:opacity .8s ease}
@media(prefers-reduced-motion:reduce){.scratch-glass-particles{display:none}.date-only-section #scratch-canvas{transition:none}}
footer>.footer-top-seal{display:block;width:82px;height:82px;margin:0 auto 18px;transition:transform .2s}
footer>.footer-top-seal:hover{transform:translateY(-3px)}footer .footer-wedding-details{font-family:var(--serif);font-size:clamp(17px,2vw,23px);line-height:1.5;color:var(--ink);margin:0 0 10px}footer .footer-top-hint{font-size:11px;letter-spacing:.5px;margin:0;color:#626d58}

/* An illuminated programme, with a single continuous thread through the day. */
.wedding-programme{background:#26382f;color:#f8f2e6;padding:85px 28px 55px;position:relative;overflow:hidden}
.wedding-programme:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,#81907717,transparent 65%)}
.programme-heading{position:relative;text-align:center;margin:0 auto 65px;max-width:650px}.programme-heading .eyebrow{color:#e7bb99;font-size:10px;letter-spacing:3px;margin-bottom:25px}.programme-heading h2{font-family:'Great Vibes',cursive;font-size:clamp(62px,7vw,92px);line-height:1.1;letter-spacing:0;margin-bottom:25px}.programme-heading h2 em{font-style:normal;color:#efbd9d}.programme-heading>p:last-child{font-family:var(--serif);font-size:22px;line-height:1.5;color:#e1e5d7}
.programme-timeline{list-style:none;max-width:920px;margin:0 auto;padding:0;position:relative}
.programme-timeline:before{content:'';position:absolute;top:40px;bottom:95px;left:50%;width:1px;background:linear-gradient(#b5966800,#c8aa7b 10%,#c8aa7b 85%,#b5966800)}
.programme-event{display:grid;grid-template-columns:1fr 100px 1fr;position:relative;min-height:235px;padding-bottom:40px}
.programme-icon{grid-column:2;grid-row:1;justify-self:center;position:relative;display:grid;place-items:center;width:76px;height:90px;border:1px solid #bca07588;border-radius:42px 42px 8px 8px;background:#26382f;color:#efbd9d;box-shadow:0 0 0 8px #26382f}
.programme-icon svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.programme-copy{grid-row:1;grid-column:1;text-align:right;padding:0 23px 0 0}.programme-event:nth-child(even) .programme-copy{grid-column:3;text-align:left;padding:0 0 0 23px}
.programme-step{font-size:9px;letter-spacing:2px;color:#c8bfa8;display:block;margin:0 0 12px;line-height:1.6}.programme-time{font-family:var(--serif);font-style:italic;font-size:22px;color:#efbd9d;line-height:1.3;margin-bottom:9px}.programme-time span{font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:1px;font-style:normal;margin-left:4px}
.programme-copy h3{font-family:var(--serif);font-size:33px;line-height:1.1;letter-spacing:-.5px;margin:0 0 14px;color:#fff9ed}.programme-copy>p:last-of-type{font-family:var(--serif);font-size:19px;line-height:1.5;color:#dbe0d1;margin-bottom:12px;text-wrap:pretty}
.programme-event-main .programme-icon{background:#efbd9d;color:#354431;border-color:#efbd9d}.programme-event-main .programme-time{font-size:32px}
.programme-place{display:block;font-size:10px;line-height:1.7;color:#e1c19e;letter-spacing:.5px}
.programme-event:last-child{padding-bottom:0;min-height:200px}.programme-footnote{position:relative;text-align:center;font-size:10px;letter-spacing:1px;color:#bfc8b7;margin:25px 0 0}
@media(max-width:650px){.wedding-programme{padding:60px 22px 40px}.programme-heading{margin-bottom:45px}.programme-heading .eyebrow{font-size:8px;letter-spacing:1.8px}.programme-heading>p:last-child{font-size:20px}.programme-timeline:before{left:32px;top:35px;bottom:100px}.programme-event{grid-template-columns:65px minmax(0,1fr);min-height:230px;padding-bottom:40px}.programme-icon{grid-column:1;width:58px;height:74px;box-shadow:0 0 0 6px #26382f}.programme-icon svg{width:39px;height:39px}.programme-copy,.programme-event:nth-child(even) .programme-copy{grid-column:2;text-align:left;padding:0 0 0 20px}.programme-step{font-size:8px;letter-spacing:1.4px}.programme-copy h3{font-size:29px}.programme-time{font-size:21px}.programme-copy>p:last-of-type{font-size:18px}.programme-place{font-size:10px}.programme-footnote{font-size:9px}}
.programme-editor{margin:45px 0 60px;border-block:1px solid var(--line);padding:35px 0}.programme-editor>p{max-width:760px}.programme-edit-entry{border:1px solid #c7c8b8;border-radius:6px;margin:12px 0;background:#fffcf4}.programme-edit-entry summary{cursor:pointer;padding:18px;font-size:15px;color:#344432}.programme-edit-entry summary span{font-size:12px;color:#6c765f;margin-left:12px}.programme-edit-content{padding:5px 22px 22px}.programme-edit-content form{display:grid;gap:16px}.programme-edit-content label{font-size:12px}.programme-edit-content input,.programme-edit-content textarea,.programme-edit-content select{font-size:16px}.programme-edit-content .programme-highlight{display:flex;gap:10px;align-items:center}.programme-highlight input{width:18px;height:18px;margin:0}.programme-delete-form{margin-top:22px}.programme-delete-form button{justify-self:start;color:#8b4e3d}.programme-edit-content .button{justify-self:start;min-width:170px}.programme-add summary{color:#446648;font-weight:500}
.programme-sort-item{position:relative;display:grid;grid-template-columns:125px minmax(0,1fr);gap:8px;align-items:start;margin:12px 0;border:1px solid #c7c8b8;border-radius:6px;background:#fffcf4;transition:box-shadow .15s}.programme-sort-item>.programme-edit-entry{border:0;margin:0;background:none}.programme-sort-controls{display:flex;align-items:center;gap:6px;padding:10px 6px}.programme-sort-controls>div{display:flex;flex-direction:column}.programme-sort-controls button{border:1px solid #d3d4c5;background:transparent;border-radius:4px;color:#43533d;min-width:32px;min-height:30px}.programme-sort-controls .programme-drag-handle{cursor:grab;touch-action:none;font-size:26px;width:40px;height:44px}.programme-sort-controls .programme-drag-handle:active{cursor:grabbing}.programme-sort-controls button:disabled{opacity:.3;cursor:default}.programme-order-label{font-size:13px;color:#5d6b53;min-width:16px;text-align:center}.programme-is-dragging{opacity:.6;box-shadow:0 0 0 2px #718879;background:#edf1e5}.programme-sort-item .programme-edit-content{padding-left:10px}.programme-sort-item[aria-busy=true]{pointer-events:none}#programme-order-status{font-size:13px;min-height:24px;color:#4d6545}
@media(max-width:600px){.programme-sort-item{grid-template-columns:1fr}.programme-sort-controls{padding:8px 12px 0}.programme-sort-controls>div{flex-direction:row;gap:8px}.programme-sort-controls button{min-width:40px;min-height:40px}.programme-sort-item>.programme-edit-entry summary{padding-top:8px}.programme-sort-item .programme-edit-content{padding-inline:16px}}

/* Private invitee management and the personal guest welcome. */
.host-navigation{margin:20px 0 35px}.host-navigation .button{display:inline-block}
/* Host invitee workspace: consistent panel, field and row alignment. */
.invitee-manager{max-width:1600px;margin-inline:auto;padding-block:48px 32px}
.invitee-manager .dash-top{align-items:flex-start;margin-bottom:24px}
.invitee-manager .dash-top h1{font-size:clamp(44px,5vw,68px);margin-bottom:18px;letter-spacing:-2px}
.invitee-manager .dash-top p:last-child{margin-bottom:0}
.invitee-manager .dash-top>.text-link{flex-shrink:0;margin-top:8px;align-self:flex-start}
.invitee-manager .notice{margin:0 0 24px;line-height:1.7;border-radius:6px}
.invitee-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;margin:0 0 28px}
.invitee-manager .invitee-panel,.invitee-manager .invitee-panel:first-of-type{margin:0;padding:0;border:1px solid #cbd0bd;border-radius:8px;background:#fffcf4;min-width:0}
.invitee-panel summary{align-items:center;gap:20px;padding:22px;font-size:14px;line-height:1.5;min-height:68px}
.invitee-panel summary::after{flex:0 0 20px;text-align:center;font-size:18px;line-height:1}
.invitee-panel summary::-webkit-details-marker{display:none}
.invitee-panel[open] summary{border-bottom:1px solid var(--line);margin-bottom:22px}
.invitee-panel>form{padding:0 22px 22px;display:grid;gap:22px;min-width:0}
.invitee-panel label,.invitee-edit-page label{font-size:12px;line-height:1.5;margin:0;min-width:0}
.invitee-panel input,.invitee-panel select,.invitee-panel textarea,.invitee-edit-page input,.invitee-edit-page select,.invitee-edit-page textarea{margin-top:8px;font-size:14px;line-height:1.5;padding:12px 0;min-width:0;max-width:100%}
.invitee-panel input:not([type=file]),.invitee-panel select,.invitee-edit-page input,.invitee-edit-page select{height:46px}
.invitee-panel textarea,.invitee-edit-page textarea{min-height:82px}
.invitee-panel .form-grid,.invitee-edit-page .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.invitee-panel .invitee-identity,.invitee-edit-page .invitee-identity{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
.invitee-panel small,.invitee-edit-page label small{font-size:11px;line-height:1.6;margin-top:8px;color:var(--muted)}
.invitee-panel p{margin:0;line-height:1.8;overflow-wrap:anywhere}
.invitee-panel .button,.invitee-manager .button,.invitee-edit-page .button{justify-content:center;align-items:center;text-align:center;min-height:46px;padding:12px 20px;line-height:1.5;border-radius:4px}
.invitee-panel .button{width:auto;justify-self:start}
.invitee-panel input[type=file]{font-size:12px;line-height:1.6;padding-bottom:12px}
.invitee-panel input[type=file]::file-selector-button{border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:8px 12px;margin-right:12px;color:var(--ink);cursor:pointer}
.invitee-filters{display:grid;grid-template-columns:minmax(180px,1.7fr) minmax(120px,1fr) minmax(160px,1.25fr) minmax(145px,1.15fr) auto;align-items:end;gap:16px;margin:0 0 28px;padding:22px;background:#eeeee5;border-radius:8px}
.invitee-filters label{margin:0;font-size:11px;line-height:1.5;min-width:0}
.invitee-filters input,.invitee-filters select{height:46px;margin-top:8px;padding:12px 0;line-height:1.5;font-size:13px;min-width:0}
.invitee-filter-actions{display:flex;align-items:center;gap:16px;height:46px}
.invitee-filter-actions .text-link{padding:8px 0;line-height:1.5}
.invitee-manager .invitee-panel.invitee-bulk{margin-bottom:28px}
.invitee-bulk form{max-width:900px}
.invitee-bulk #invitee-selected-count{font-size:12px;color:var(--ink)}
.invitee-manager .table-wrap{border:1px solid var(--line);border-radius:8px;background:#fffcf4}
.invitee-table table{width:100%;min-width:1020px;margin:0;table-layout:fixed}
.invitee-table th,.invitee-table td{vertical-align:top;padding:18px 16px;text-align:left;overflow-wrap:anywhere}
.invitee-table th{background:#e8eddf;font-size:10px;line-height:1.6;letter-spacing:.7px}
.invitee-table th:first-child{width:52px}.invitee-table th:nth-child(2){width:19%}.invitee-table th:nth-child(3){width:16%}.invitee-table th:nth-child(4){width:21%}.invitee-table th:nth-child(5){width:25%}
.invitee-table tbody tr:last-child td{border-bottom:0}
.invitee-table td{font-size:12px;line-height:1.7}
.invitee-table strong{font-weight:500;font-size:14px;line-height:1.5;display:block}
.invitee-table small{display:block;white-space:pre-line;overflow-wrap:anywhere;font-size:11px;line-height:1.6;margin-top:6px}
.invitee-table input[type=checkbox]{display:block;flex:0 0 18px;width:18px;height:18px;min-height:18px;min-width:18px;margin:2px 0;accent-color:var(--olive);cursor:pointer}
.invitee-table .invitee-select-page{margin:0;display:flex;align-items:center;gap:10px}
.invitee-select-page span{display:none}
.invitee-table .invitee-personal-link{font-size:11px;width:100%;min-width:0;padding:4px 0 8px;margin:0;height:30px;text-overflow:ellipsis}
.invitee-row-links{display:flex;align-items:center;gap:16px;margin-top:10px}
.invitee-row-links .text-link,.invitee-actions .text-link{font-size:11px;line-height:1.6;min-height:28px;padding:3px 0;text-align:left}
.invitee-actions{display:grid;justify-items:start;gap:6px}
.invitee-actions form{margin:0;width:100%;line-height:1}
.invitee-badge{text-transform:capitalize;display:inline-block;background:#e8eddf;border-radius:4px;padding:3px 9px;font-size:11px;line-height:1.6}
.invitee-delete{color:#944d39}
.invitee-manager .invitee-pagination{height:auto;min-height:60px;margin:20px 0 0;padding:14px 0;border-bottom:1px solid var(--line);justify-content:center;gap:28px;font-size:12px;flex-wrap:wrap}
.invitee-manager>.privacy{max-width:850px;line-height:1.8;margin-top:18px}
.invitee-edit-page{max-width:800px;margin:auto;min-height:60vh}
.invitee-edit-page h1{font-size:clamp(42px,5vw,65px);margin-top:30px}
.invitee-edit-page>form{display:grid;gap:22px}
.invitee-edit-page .button{width:auto;justify-self:start}
.invitation-message-preview{padding:25px;background:#e8eddf;border:1px solid #c6cfb8;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.7}
@media(max-width:1100px){.invitee-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.invitee-search{grid-column:span 2}.invitee-filter-actions{justify-content:flex-end;align-self:end}.invitee-manager .dash-top{flex-wrap:wrap}}
@media(max-width:800px){.invitee-tools{grid-template-columns:minmax(0,1fr);gap:16px}.invitee-manager .dash-top{display:flex}.invitee-manager .dash-top>.text-link{margin:0}.invitee-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.invitee-search{grid-column:1/-1}.invitee-filter-actions{justify-content:flex-start}.invitee-panel>form{padding-inline:20px}}
@media(max-width:650px){
.invitee-manager{padding:30px 20px}.invitee-manager .dash-top{gap:16px}.invitee-manager .dash-top h1{margin-bottom:14px}.invitee-manager .eyebrow{font-size:9px;letter-spacing:2px}.invitee-panel summary{padding:18px;min-height:62px}.invitee-panel>form{padding:0 18px 20px}.invitee-panel .form-grid,.invitee-edit-page .form-grid{grid-template-columns:minmax(0,1fr);gap:22px}.invitee-panel .button{width:100%}.invitee-filters{padding:18px}.invitee-filter-actions{grid-column:1/-1;justify-content:space-between}.invitee-filter-actions .button{width:auto;min-width:120px}.invitee-filters label:nth-of-type(4){grid-column:1/-1}
}
@media(max-width:900px){
.invitee-manager .invitee-table{border:0;background:transparent;overflow:visible}.invitee-table table,.invitee-table thead,.invitee-table tbody{display:block;width:100%;min-width:0}.invitee-table thead tr{display:block}.invitee-table thead th{display:none}.invitee-table thead th:first-child{display:block;width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:6px;background:#e8eddf;margin-bottom:16px}.invitee-select-page span{display:inline;font-size:11px;letter-spacing:0;text-transform:none}.invitee-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;padding:20px 18px;margin-bottom:16px;border:1px solid var(--line);border-radius:8px;background:#fffcf4}.invitee-table td{display:block;padding:0;border:0;min-width:0}.invitee-table td::before{content:attr(data-label);display:block;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:8px;line-height:1.4}.invitee-table td:first-child{grid-column:1/-1;display:flex;align-items:center;gap:12px}.invitee-table td:first-child::before{margin:0}.invitee-table td:nth-child(4),.invitee-table td:nth-child(5),.invitee-table td:nth-child(6){grid-column:1/-1}.invitee-table .invitee-personal-link{height:36px}.invitee-actions{display:flex;flex-wrap:wrap;gap:8px 20px}.invitee-actions form{width:auto}.invitee-row-links .text-link,.invitee-actions .text-link{min-height:36px;padding:7px 0}.invitee-table .invitee-empty{display:block}.invitee-table .invitee-empty td::before{display:none}.invitee-pagination{gap:18px}
}
.invitee-welcome[hidden]{display:none}.invitee-welcome{position:fixed;z-index:100;top:18px;left:50%;transform:translateX(-50%);width:min(420px,calc(100vw - 32px));padding:24px 30px;background:#fff9eef5;color:#415038;border:1px solid #c3a273;border-radius:8px;box-shadow:0 10px 40px #26382f40;text-align:center;backdrop-filter:blur(12px)}.invitee-welcome>button{position:absolute;top:5px;right:7px;width:36px;height:36px;border:0;background:transparent;color:#415038;font-size:23px}.invitee-welcome .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:8px}.invitee-welcome .invitee-greeting{font-family:var(--serif);font-size:29px;line-height:1.2;margin:0 0 10px;text-wrap:balance}.invitee-welcome>p:last-child{font-family:var(--serif);font-size:17px;line-height:1.4;margin:0}


/* CSV import stays off the page until the host opens it. */
.invitee-tools{grid-template-columns:minmax(0,1fr) auto}
.invitee-import-open{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:70px;padding:18px 24px;border:1px solid #cbd0bd;border-radius:8px;background:#fffcf4;color:var(--ink);font-size:14px;line-height:1.5}
.invitee-import-open:hover{background:#e8eddf}.invitee-import-open svg{flex-shrink:0}
.invitee-import-modal-open{overflow:hidden}
.invitee-manager .invitee-import-dialog.invitee-panel{position:fixed;inset:0;width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:28px;border:1px solid #cbd0bd;border-radius:12px;overflow-y:auto;background:#fffcf4;color:var(--ink);box-shadow:0 24px 90px #17231c55}
.invitee-import-dialog:not([open]){display:none}.invitee-import-dialog::backdrop{background:#17271fc9;backdrop-filter:blur(4px)}
.invitee-import-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}
.invitee-import-header .eyebrow{font-size:9px;letter-spacing:1.7px;margin:0 0 10px}
.invitee-import-header h2{font-size:38px;letter-spacing:-1px;line-height:1.1;margin:0}
.invitee-import-close{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:26px;line-height:1}
.invitee-import-dialog>form{padding:0;gap:22px}.invitee-import-dialog form>.text-link{justify-self:start}
.invitee-import-guide{padding:18px;background:#eeeee5;border-radius:6px;font-size:12px;line-height:1.7}
.invitee-import-guide ul{margin:12px 0;padding-left:18px}.invitee-import-guide li+li{margin-top:8px}
.invitee-import-actions{display:flex;align-items:center;justify-content:flex-end;gap:24px;padding-top:4px}
.invitee-import-actions .button{width:auto;min-width:150px}
@media(max-width:650px){.invitee-tools{grid-template-columns:minmax(0,1fr)}.invitee-import-open{min-height:54px;padding:14px 20px}.invitee-manager .invitee-import-dialog.invitee-panel{padding:22px 18px;max-height:calc(100dvh - 24px)}.invitee-import-header h2{font-size:32px}.invitee-import-header .eyebrow{font-size:8px}.invitee-import-guide{padding:15px}.invitee-import-actions{justify-content:space-between;gap:18px}.invitee-import-actions .button{width:auto}}

/* Country dial code takes only the space its selected value needs. */
.invitee-phone-field{border:0;padding:0;margin:0;min-width:0}
.invitee-phone-field legend{font-size:12px;line-height:1.5;padding:0;margin:0}
.invitee-phone-row{display:grid;grid-template-columns:var(--dial-code-width,48px) minmax(0,1fr);gap:10px;align-items:end}
.invitee-phone-row label{margin:0;min-width:0}
.invitee-phone-row .country-code-control select{color:transparent;padding-inline:0;cursor:pointer}
.invitee-phone-row .country-code-control select option{color:var(--ink);background:#fffcf4}
.invitee-phone-row .selected-country-code{font-size:14px;top:calc(50% + 4px)}
.invitee-phone-field>small{display:block;margin-top:8px;font-size:11px;line-height:1.6;color:var(--muted)}
.invitee-phone-field .phone-validation{color:#914d3b}
.invitee-phone-field input[aria-invalid=true]{border-bottom-color:#914d3b}

/* A dense table by default; each guest's secondary information opens below it. */
.invitee-list-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}
.invitee-list-heading h2{font-size:27px;letter-spacing:-.5px;margin:0}
.invitee-list-heading .text-link{padding:5px 0;min-height:32px}
.invitee-manager .invitee-compact-table{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fffcf4}
.invitee-compact-table table{display:table;table-layout:fixed;width:100%;min-width:760px;margin:0}
.invitee-compact-table thead{display:table-header-group}.invitee-compact-table tbody{display:table-row-group}
.invitee-compact-table thead tr,.invitee-compact-table tbody tr{display:table-row;margin:0;padding:0;border:0;background:transparent}
.invitee-compact-table thead th,.invitee-compact-table tbody td{display:table-cell;vertical-align:middle;padding:11px 14px;border-bottom:1px solid var(--line);line-height:1.5}
.invitee-compact-table thead th{background:#e8eddf;font-size:9px;margin:0;border-radius:0}
.invitee-compact-table th:first-child{width:46px}.invitee-compact-table th:nth-child(2){width:25%}.invitee-compact-table th:nth-child(3){width:22%}.invitee-compact-table th:nth-child(4){width:18%}.invitee-compact-table th:nth-child(5){width:18%}.invitee-compact-table th:last-child{width:116px}
.invitee-compact-table td::before{display:none!important}.invitee-compact-table .invitee-select-page span{display:none}
.invitee-compact-table strong{font-size:13px;line-height:1.5;font-weight:500}
.invitee-compact-table .invitee-contact-number{font-size:12px;white-space:nowrap}
.invitee-compact-table small{font-size:10px;line-height:1.5;margin-top:2px}
.invitee-compact-table .invitee-rsvp-status{font-size:11px}.invitee-compact-table .invitee-badge{font-size:10px;padding:3px 7px}
.invitee-expand{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;width:88px;min-height:34px;padding:7px 9px;border:1px solid #cbd0bd;border-radius:4px;background:transparent;color:var(--ink);font-size:11px;line-height:1.5}
.invitee-expand:hover,.invitee-expand[aria-expanded=true]{background:#e8eddf}.invitee-expand-symbol{font-size:16px;line-height:1}
.invitee-compact-table .invitee-row-expanded td{background:#f0f2e8}
.invitee-compact-table .invitee-detail-row[hidden]{display:none!important}
.invitee-compact-table .invitee-detail-row>td{padding:22px 20px 24px;background:#f8f8f0;border-bottom:1px solid var(--line)}
.invitee-expanded-content{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:start}
.invitee-expanded-content .invitee-detail-label{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0 0 9px;line-height:1.5}
.invitee-expanded-content .invitee-address{font-size:12px;white-space:pre-line;margin:0;line-height:1.7}
.invitee-expanded-content .invitee-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px 18px}
.invitee-expanded-content .invitee-actions form{width:auto}
.invitee-expanded-content .invitee-actions .text-link,.invitee-expanded-content .invitee-row-links .text-link{padding:4px 0;min-height:30px;font-size:11px}
.invitee-expanded-content .invitee-personal-link{width:100%;font-size:11px;height:32px;min-height:32px}
.invitee-compact-table .invitee-empty td{padding:24px}
@media(max-width:1000px){.invitee-expanded-content{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:20px}.invitee-expanded-actions{grid-column:1/-1}}
.invitee-compact-table thead th:first-child{display:table-cell;width:46px;margin:0;padding:11px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0}
.invitee-compact-table tbody td:first-child{display:table-cell}
.invitee-compact-table .invitee-empty{display:table-row}

/* Bulk tools operate only on the checked rows on the current page. */
.invitee-list-title{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.invitee-list-title>span{font-size:11px;color:var(--muted)}
.invitee-table-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.invitee-toolbar-button{border:1px solid #cbd0bd;background:#fffcf4;color:var(--ink);border-radius:4px;padding:8px 12px;min-height:36px;font-size:11px;line-height:1.5}
.invitee-toolbar-button.invitee-delete{color:#944d39}.invitee-toolbar-button:hover:enabled{background:#e8eddf}.invitee-toolbar-button:disabled{opacity:.4;cursor:not-allowed}
.invitee-batch-modal-open{overflow:hidden}
.invitee-batch-dialog{width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:28px;background:#fffcf4;color:var(--ink);border:1px solid #cbd0bd;border-radius:12px;overflow-y:auto;box-shadow:0 24px 90px #17231c55}
.invitee-batch-dialog:not([open]){display:none}.invitee-batch-dialog::backdrop{background:#17271fc9;backdrop-filter:blur(4px)}
.invitee-batch-dialog form{display:grid;gap:20px}.invitee-batch-dialog label{font-size:12px;margin:0}
.invitee-batch-selection{background:#eeeee5;border-radius:6px;padding:16px 18px;font-size:12px}.invitee-batch-selection p{margin:0;font-weight:500}.invitee-batch-selection ul{max-height:110px;overflow:auto;margin:8px 0 0;padding-left:18px;font-size:12px;line-height:1.8}
.invitee-batch-help{font-size:12px;line-height:1.8;margin:0;color:var(--muted)}
.invitee-batch-field{padding-bottom:18px;border-bottom:1px solid var(--line)}.invitee-batch-field input:not([type=checkbox]),.invitee-batch-field select,.invitee-batch-field textarea{font-size:14px;min-height:44px}.invitee-batch-field small{font-size:10px;color:var(--muted);margin-top:6px;display:block}
.invitee-batch-field input:disabled,.invitee-batch-field select:disabled,.invitee-batch-field textarea:disabled{opacity:.4;cursor:not-allowed}
.invitee-batch-dialog .invitee-apply-field{display:flex;align-items:center;gap:12px;line-height:1.6}
.invitee-apply-field input[type=checkbox]{width:18px;height:18px;min-height:18px;flex-shrink:0;margin:0;accent-color:var(--olive)}
.invitee-batch-dialog .button:disabled{opacity:.4;cursor:not-allowed}.invitee-batch-dialog .invitee-delete-button{background:#944d39;border-color:#944d39}
@media(max-width:700px){.invitee-list-heading{align-items:flex-start;flex-direction:column;gap:14px}.invitee-table-tools{width:100%}.invitee-table-tools #invitee-expand-all{margin-left:auto}.invitee-batch-dialog{padding:22px 18px;max-height:calc(100dvh - 24px)}}

.invitee-batch-dialog [data-selected-ids],.invitee-batch-value[hidden]{display:none!important}
.invitee-batch-value{margin-top:10px}
.invitee-batch-dialog form{gap:16px}.invitee-batch-dialog .invitee-import-header{margin-bottom:20px}.invitee-batch-dialog .invitee-batch-field{padding-bottom:14px}

/* Compact filtering keeps the guest list close to its controls. */
.invitee-manager .invitee-filters{padding:12px 14px;gap:12px;margin-bottom:20px}
.invitee-manager .invitee-filters label{font-size:10px;line-height:1.4}
.invitee-manager .invitee-filters input,.invitee-manager .invitee-filters select{height:36px;min-height:36px;margin-top:3px;padding:6px 0;font-size:12px;line-height:1.5}
.invitee-manager .invitee-filter-actions{height:36px;gap:12px}
.invitee-manager .invitee-filter-actions .button{height:36px;min-height:36px;padding:7px 15px;font-size:11px;width:auto}
.invitee-manager .invitee-filter-actions .text-link{font-size:11px;padding:5px 0}
.invitee-table-tools{gap:10px}.invitee-table-tools .invitee-toolbar-button{padding:7px 10px}
@media(min-width:901px){.invitee-manager .invitee-filters{grid-template-columns:minmax(150px,1.7fr) minmax(105px,1fr) minmax(135px,1.25fr) minmax(125px,1.15fr) auto}.invitee-manager .invitee-search{grid-column:auto}}
@media(max-width:900px){.invitee-manager .invitee-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.invitee-manager .invitee-search{grid-column:1/-1}.invitee-manager .invitee-filters label:nth-of-type(4),.invitee-manager .invitee-filter-actions{grid-column:auto}.invitee-manager .invitee-filter-actions{justify-content:flex-end;align-self:end}.invitee-manager .invitee-filter-actions .button{min-width:0}.invitee-manager .invitee-filters input,.invitee-manager .invitee-filters select{height:40px;min-height:40px}.invitee-manager .invitee-filter-actions,.invitee-manager .invitee-filter-actions .button{height:40px;min-height:40px}}
@media(max-width:420px){.invitee-table-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.invitee-table-tools .invitee-toolbar-button{width:100%;min-height:38px}.invitee-table-tools #invitee-expand-all{margin:0;justify-self:center;align-self:center}}

.invitee-message-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-top:-10px}
.invitee-message-tools .text-link{font-size:11px;padding:4px 0;min-height:30px}.invitee-message-tools .text-link:disabled{opacity:.4;cursor:not-allowed}
.invitee-message-tools [role=status]{font-size:11px;color:var(--muted)}

/* Floating filter launcher and a focused shopping-style refinement drawer. */
.invitee-floating-filter{position:fixed;z-index:90;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;padding:14px 22px;border:1px solid #526651;border-radius:50px;background:#354b3e;color:#fffdf3;box-shadow:0 6px 24px #243d3433;font-size:13px;line-height:1.5;min-height:50px;transition:background .2s,box-shadow .2s}
.invitee-floating-filter:hover{background:#26382f;box-shadow:0 8px 28px #243d3444}.invitee-floating-filter svg circle{fill:#354b3e}.invitee-filter-count{display:grid;place-items:center;min-width:22px;height:22px;padding-inline:6px;border-radius:50%;background:#f0d3b6;color:#26382f;font-size:11px;font-weight:500}
.invitee-filter-drawer-open{overflow:hidden}
.invitee-filter-drawer{position:fixed;inset:16px 16px 16px auto;width:min(420px,calc(100vw - 32px));height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);max-width:none;margin:0;padding:0;border:1px solid #d3d9cc;border-radius:14px;background:#fffcf5;color:var(--ink);box-shadow:-8px 0 50px #17231c26;overflow:hidden}
.invitee-filter-drawer[open]{display:flex;flex-direction:column}.invitee-filter-drawer:not([open]){display:none}.invitee-filter-drawer::backdrop{background:#17271f80;backdrop-filter:blur(3px)}
.invitee-filter-drawer-header{padding:26px 26px 22px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}
.invitee-filter-drawer-header .eyebrow{font-size:9px;letter-spacing:1.6px;margin:0 0 10px}.invitee-filter-drawer-header h2{display:flex;align-items:center;gap:14px;font-size:36px;letter-spacing:-1px;margin:0;line-height:1.1}.invitee-filter-drawer-header h2 span{font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:0;background:#e8eddf;padding:5px 9px;border-radius:20px;white-space:nowrap}
.invitee-filter-form{display:flex;flex-direction:column;flex:1;min-height:0}
.invitee-filter-fields{padding:24px 26px;display:grid;align-content:start;gap:24px;overflow-y:auto;flex:1}
.invitee-filter-fields label{margin:0;font-size:12px;line-height:1.5;font-weight:500}
.invitee-filter-fields input,.invitee-filter-fields select{font-weight:400;margin-top:9px;padding:11px 12px;border:1px solid #cfd5c7;border-radius:6px;background:#fffef9;font-size:13px;height:44px;min-height:44px;width:100%;line-height:1.5}
.invitee-filter-fields input:focus,.invitee-filter-fields select:focus{outline:2px solid #8eaa93;outline-offset:2px;border-color:#627e66}
.invitee-filter-drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:20px 26px;background:#fffcf5}
.invitee-filter-drawer-footer .button{width:auto;min-width:180px;justify-content:space-between;gap:24px;padding:12px 18px;min-height:44px;border-radius:5px}
.invitee-filter-drawer-footer .text-link{padding:5px 0;font-size:12px;white-space:nowrap}
.invitee-active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 24px;font-size:11px}.invitee-active-filters>span{color:var(--muted);margin-right:3px}
.invitee-filter-chip{display:inline-flex;align-items:center;gap:12px;background:#e8eddf;border:1px solid #d5ddcb;border-radius:30px;padding:6px 12px;font-size:11px;line-height:1.5;max-width:100%;overflow-wrap:anywhere}.invitee-filter-chip>span{font-size:17px;line-height:1;flex-shrink:0}.invitee-filter-chip:hover{background:#dce5d4}.invitee-clear-filters{text-decoration:underline;text-underline-offset:4px;padding:6px}
@media(max-width:600px){.invitee-filter-drawer{inset:0 0 0 auto;width:min(420px,100vw);height:100dvh;max-height:100dvh;border-radius:0;border:0}.invitee-filter-drawer-header{padding:22px 20px}.invitee-filter-fields{padding:22px 20px;gap:22px}.invitee-filter-drawer-footer{padding:18px 20px max(18px,env(safe-area-inset-bottom))}.invitee-floating-filter{right:18px;bottom:max(18px,env(safe-area-inset-bottom));padding:12px 18px}.invitee-filter-drawer-footer .button{min-width:160px}}
@media(prefers-reduced-motion:no-preference){.invitee-filter-drawer[open]{animation:invitee-drawer-enter .24s ease-out}@keyframes invitee-drawer-enter{from{opacity:.5;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}}

/* The entire summary row opens its details, with independent selection controls. */
.invitee-compact-table th:last-child{width:44px}
.invitee-summary-row{cursor:pointer;outline-offset:-3px}
.invitee-compact-table .invitee-summary-row:hover>td{background:#eef2e7}
.invitee-summary-row:focus-visible{outline:2px solid #6b886d}
.invitee-summary-row>td:first-child{cursor:default}
.invitee-compact-table .invitee-row-indicator{text-align:center;padding-inline:8px}
.invitee-row-chevron{display:block;margin:auto;transition:transform .18s ease;color:#62745c}
.invitee-row-expanded .invitee-row-chevron{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.invitee-row-chevron{transition:none}}

/* Address stays visible; double-click cells for a small inline editor. */
.invitee-inline-hint{font-size:11px;color:var(--muted);margin:0 0 14px}
.invitee-compact-table table{min-width:920px}
.invitee-compact-table th:nth-child(2){width:20%}.invitee-compact-table th:nth-child(3){width:22%}.invitee-compact-table th:nth-child(4){width:21%}.invitee-compact-table th:nth-child(5){width:16%}.invitee-compact-table th:nth-child(6){width:16%}.invitee-compact-table th:last-child{width:40px}
.invitee-editable-cell{position:relative}.invitee-editable-cell:focus-visible{outline:2px solid #6b886d;outline-offset:-3px}
.invitee-table-address{display:block;white-space:pre-line;font-size:12px;line-height:1.6;max-height:3.2em;overflow:hidden}
.invitee-inline-form[hidden],[data-inline-display][hidden]{display:none!important}
.invitee-inline-form{margin:0;display:grid;gap:8px;min-width:0;cursor:default}
.invitee-compact-table .invitee-summary-row .is-editing{vertical-align:top;background:#f0f2e8;padding:12px}
.invitee-inline-form input,.invitee-inline-form textarea,.invitee-inline-form select{margin:0;padding:8px;border:1px solid #aebfa8;border-radius:4px;background:#fffdf8;color:var(--ink);font-size:13px;line-height:1.5;min-width:0;min-height:36px;width:100%}
.invitee-inline-form textarea{resize:vertical}
.invitee-inline-actions{display:flex;gap:8px;flex-wrap:wrap}
.invitee-inline-actions button{font-size:11px;min-height:30px;padding:5px 9px;border:1px solid #b9c6b1;border-radius:4px;background:#fffcf4;color:var(--ink)}
.invitee-inline-actions button[type=submit]{background:#535e46;color:white;border-color:#535e46}
.invitee-inline-form .invitee-inline-error{font-size:11px;line-height:1.5;color:#944d39}.invitee-inline-error:empty{display:none}
.invitee-inline-phone{display:grid;gap:8px}

/* Separate salutation and name keep both fields easy to edit. */
.invitee-compact-table table{min-width:1020px}
.invitee-compact-table th:nth-child(2){width:12%}.invitee-compact-table th:nth-child(3){width:18%}.invitee-compact-table th:nth-child(4){width:20%}.invitee-compact-table th:nth-child(5){width:20%}.invitee-compact-table th:nth-child(6){width:13%}.invitee-compact-table th:nth-child(7){width:13%}.invitee-compact-table th:last-child{width:40px}

/* Salutation and name share one cell and one editor, like country code and phone. */
.invitee-compact-table table{min-width:920px}
.invitee-compact-table th:nth-child(2){width:24%}.invitee-compact-table th:nth-child(3){width:22%}.invitee-compact-table th:nth-child(4){width:21%}.invitee-compact-table th:nth-child(5){width:14%}.invitee-compact-table th:nth-child(6){width:14%}.invitee-compact-table th:last-child{width:40px}
.invitee-inline-name{display:grid;grid-template-columns:minmax(60px,.6fr) minmax(0,1.4fr);gap:8px}.invitee-inline-name>div{min-width:0}
/* Compact status columns leave the useful width with names and addresses. */
.invitee-compact-table table{min-width:760px}
.invitee-compact-table th:first-child{width:40px}
.invitee-compact-table th:nth-child(2){width:30%}
.invitee-compact-table th:nth-child(3){width:auto}
.invitee-compact-table th:nth-child(4){width:145px}
.invitee-compact-table th:nth-child(5){width:108px}
.invitee-compact-table th:nth-child(6){width:112px}
.invitee-compact-table th:last-child{width:30px}
.invitee-compact-table .invitee-summary-row>td:nth-child(4),.invitee-compact-table .invitee-summary-row>td:nth-child(5),.invitee-compact-table .invitee-summary-row>td:nth-child(6),.invitee-compact-table thead th:nth-child(4),.invitee-compact-table thead th:nth-child(5),.invitee-compact-table thead th:nth-child(6){padding-inline:8px}
.invitee-compact-table .invitee-contact-number{font-size:11px}
.invitee-compact-table .invitee-summary-row>td:nth-child(4)>[data-inline-display]>small{font-size:9px;letter-spacing:.2px}
.invitee-compact-table .invitee-rsvp-status{font-size:10px;line-height:1.4}
.invitee-compact-table .invitee-badge{font-size:9px;padding:3px 6px}
.invitee-compact-table .invitee-row-indicator{padding-inline:4px}
.invitee-compact-table .invitee-summary-row>.is-editing:nth-child(4){padding:10px 8px}

.host-message-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin:-6px 0 10px}
.host-message-tools .text-link{font-size:11px;padding:5px 0;min-height:30px}.host-message-tools .text-link:disabled{opacity:.4;cursor:not-allowed}
.message-panel .host-message-edit-status{font-size:11px;line-height:1.6;color:var(--muted);margin:0 0 12px}.host-message-edit-status:empty{display:none}

.host-save-default{border:1px solid #535e46;background:#535e46;color:#fffdf1;border-radius:4px;padding:7px 12px;font-size:11px;min-height:34px;line-height:1.5}
.host-save-default:disabled{opacity:.4;cursor:not-allowed}.host-save-default:hover:enabled{background:#36432d}

/* RSVP acknowledgements are automatic; reminders have independent schedules. */
[data-thanks-only][hidden],[data-reminder-only][hidden]{display:none!important}
.host-reminder-fields{border:0;padding:0;margin:0;min-width:0}
.host-auto-thanks-note{padding:18px;margin:0 0 22px;border:1px solid #c5d0bb;border-radius:6px;background:#e4ebdb;font-size:12px;line-height:1.7}
.host-auto-thanks-note>strong{display:block;margin-bottom:8px}.host-auto-thanks-note p{margin:0;font-size:12px}.host-auto-thanks-note p+p{margin-top:10px}
.message-panel .host-reminder-template{font-size:12px;margin:20px 0;padding:16px 0;border-block:1px solid #cbd1bf}
.host-reminder-template summary{gap:15px;line-height:1.6}.host-reminder-template label{margin-top:14px;margin-bottom:10px}
.host-reminder-schedules{margin-top:34px;padding-top:25px;border-top:1px solid #cbd1bf}.host-reminder-schedules h3{font-size:30px;margin-bottom:20px}
.host-reminder-schedule{padding:18px;background:#fffdf5;border:1px solid #cbd1bf;border-radius:6px;margin-bottom:14px}
.host-reminder-schedule-heading{display:flex;justify-content:space-between;align-items:start;gap:15px;font-size:12px;line-height:1.6}
.host-reminder-schedule-heading span{font-size:10px;border-radius:4px;background:#e8eddf;padding:2px 7px;white-space:nowrap}
.host-reminder-schedule>small{display:block;margin-top:6px;font-size:10px}.host-reminder-schedule>p{font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0}
.host-reminder-schedule form{margin:12px 0 0}.host-reminder-schedule .text-link{font-size:10px;padding-bottom:4px;color:#944d39}.host-reminder-empty{font-size:12px;line-height:1.8}

[data-note-only][hidden],[data-note-selected][hidden],[data-note-group][hidden],[data-timed-message][hidden]{display:none!important}
.host-note-audience-help{font-size:11px;line-height:1.8;color:var(--muted);margin:0 0 20px}.host-reminder-fields label>small{display:block;font-size:10px;line-height:1.7;margin-top:7px}
.host-reminder-fields select[multiple]{min-height:140px;max-height:220px;border:1px solid #c4ceba;border-radius:4px;padding:5px;background:#fffcf5}.host-reminder-fields select[multiple] option{padding:7px 10px;font-size:12px}
.host-wedding-notes{margin-top:30px;border-top:1px solid #cbd1bf;padding-top:24px}.host-wedding-notes h3{font-size:30px}
.host-note-preview{margin-top:16px!important;padding:12px 0;font-size:11px}.host-note-preview>small{display:block;margin-top:12px}.host-note-recipient{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.host-note-recipient>small{display:block;font-size:10px}.host-note-recipient>p{white-space:pre-wrap;font-size:11px;margin:8px 0 0;overflow-wrap:anywhere}
.invitee-group-badge{color:#526c55!important;font-size:10px!important}

.invitee-tools{grid-template-columns:minmax(0,1fr) auto auto}
.invitee-group-field label{margin:0}.invitee-group-picker{display:flex;align-items:center;gap:18px}.invitee-group-picker select{flex:1;min-width:0}.invitee-group-picker .text-link{flex-shrink:0;white-space:nowrap;font-size:11px;padding:6px 0}
.invitee-group-field>small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:8px}
.invitee-group-modal-open{overflow:hidden}.invitee-create-group-dialog{width:min(500px,calc(100vw - 32px))}.invitee-create-group-dialog input{font-size:15px;margin-top:9px;min-height:44px}
.invitee-create-group-dialog .button{width:auto;min-height:44px;justify-content:center;text-align:center;border-radius:4px;padding:11px 20px}.invitee-group-error{color:#944d39;background:#f4e6df;border-radius:4px;padding:12px;font-size:12px;line-height:1.7;margin:0}.invitee-group-error[hidden]{display:none}
@media(max-width:800px){.invitee-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.invitee-tools>.invitee-panel{grid-column:1/-1}.invitee-tools>.invitee-import-open{min-height:52px;padding:13px 16px}}
@media(max-width:420px){.invitee-group-picker{gap:12px}.invitee-group-picker .text-link{font-size:10px}}

.invitee-tools{grid-template-columns:minmax(0,1fr) auto}
.invitee-floating-groups{bottom:calc(max(24px,env(safe-area-inset-bottom)) + 66px)}
.invitee-create-group-dialog{width:min(580px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto}
.invitee-group-list{display:grid;gap:10px;max-height:300px;overflow-y:auto;margin:18px 0;font-size:13px;line-height:1.7}
.invitee-group-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;background:#f2f1e8;border:1px solid #d9dfd0;border-radius:8px}
.invitee-group-row>div:first-child{min-width:0;flex:1}.invitee-group-row strong{display:block;overflow-wrap:anywhere}.invitee-group-row small{display:block;color:#667461;font-size:11px}.invitee-group-actions{display:flex;gap:14px;flex-shrink:0;align-items:center}.invitee-group-actions button{font-size:11px;white-space:nowrap}.invitee-group-actions button:last-child{color:#7b5142}.invitee-group-row input{width:100%;margin:0;min-height:36px;padding:6px}
#invitee-group-status{font-size:12px;color:#3c5844;line-height:1.7;overflow-wrap:anywhere}#invitee-group-form{border-top:1px solid #d9dfd0;padding-top:18px}#invitee-group-form h3{font-size:24px;margin:0 0 14px}
@media(max-width:800px){.invitee-tools{grid-template-columns:minmax(0,1fr)}.invitee-tools>.invitee-panel{grid-column:auto}}
@media(max-width:600px){.invitee-floating-groups{bottom:calc(max(18px,env(safe-area-inset-bottom)) + 62px)}.invitee-group-row{flex-wrap:wrap;gap:10px}.invitee-create-group-dialog{padding:22px 18px}.invitee-group-actions{margin-left:auto}}
.invitee-expanded-group-label{margin-top:18px!important}.invitee-expanded-group{margin:6px 0 0;color:#526c55;font-size:13px;overflow-wrap:anywhere}
.invitation-filter-help{display:block;font-size:11px;line-height:1.7;color:#667461;margin-top:9px}

body:has(.invitee-management-nav){padding-bottom:calc(80px + env(safe-area-inset-bottom))}
.invitee-management-nav{position:fixed;inset:auto 0 0;z-index:90;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;height:auto;margin:0;padding:10px max(16px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border:0;border-top:1px solid #cbd3c2;border-radius:0;background:#f8f6ed;box-shadow:0 -4px 18px #26382f12}
.invitee-management-nav .invitee-floating-filter{position:static;inset:auto;z-index:auto;width:100%;justify-content:center;min-height:46px;padding:11px 14px;border-radius:8px;box-shadow:none;font-size:13px;gap:10px}
.invitee-management-nav .invitee-floating-filter:hover{box-shadow:none}

.note-picker-open-body{overflow:hidden}.note-invitee-picker{width:min(1160px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid #cfd6c7;border-radius:14px;background:#fcfaf3;color:var(--ink);box-shadow:0 24px 90px #172a3155;overflow:hidden}.note-invitee-picker[open]{display:flex;flex-direction:column}.note-invitee-picker::backdrop{background:#24382ddd;backdrop-filter:blur(5px)}
.note-picker-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border-bottom:1px solid var(--line)}.note-picker-header h2{font-size:38px;margin:0}.note-picker-header .eyebrow{font-size:9px;margin-bottom:9px}
.note-picker-filters{flex-shrink:0;background:#eef0e6;border-bottom:1px solid var(--line);max-height:35dvh;overflow:auto}.note-picker-filters summary{cursor:pointer;padding:13px 24px;font-size:13px;font-weight:500;display:flex;justify-content:space-between}.note-picker-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:5px 24px 20px}.note-picker-filter-grid label{margin:0;font-size:11px}.note-picker-filter-grid input,.note-picker-filter-grid select{min-height:42px;padding:8px;font-size:13px;margin:5px 0 0;width:100%;background:#fffcf5;border:1px solid #cdd5c4;border-radius:5px}.note-picker-filter-grid .text-link{justify-self:start;font-size:11px}
.note-picker-toolbar{display:flex;align-items:center;gap:20px;padding:12px 24px;flex-shrink:0;font-size:12px}.note-picker-toolbar>span{margin-right:auto}.note-picker-toolbar .text-link{font-size:11px}.note-picker-help{font-size:11px;line-height:1.7;color:#667461;margin:0;padding:0 24px 12px}
.note-picker-table-wrap{overflow:auto;min-height:100px;flex:1}.note-picker-table{width:100%;min-width:790px;border-collapse:collapse;font-size:12px}.note-picker-table th{position:sticky;top:0;background:#e8ecdf;z-index:1;font-size:10px;letter-spacing:.5px;text-align:left}.note-picker-table td,.note-picker-table th{padding:12px;border-bottom:1px solid var(--line)}.note-picker-table td:first-child,.note-picker-table th:first-child{width:42px}.note-picker-table input[type=checkbox]{width:17px;height:17px;accent-color:#354b3e;margin:0}.note-picker-row{cursor:pointer}.note-picker-row:hover,.note-picker-row[aria-expanded=true]{background:#f0f1e8}.note-picker-row small{display:block;font-size:10px;color:#6a7963}.note-picker-row .note-picker-excluded{color:#965e46}.note-picker-row td:nth-child(2){min-width:150px}.note-picker-row td:nth-child(3){max-width:200px;overflow-wrap:anywhere}.note-picker-details>td>div{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:24px;padding:8px 14px}.note-picker-details p{margin-bottom:9px;font-size:12px;overflow-wrap:anywhere}.note-picker-details .note-picker-help{padding:8px 0}.note-picker-details{background:#f2f2e8}.note-picker-details .text-link{font-size:12px}.note-picker-details section{padding:0}
.note-picker-footer{display:flex;justify-content:flex-end;gap:22px;align-items:center;padding:16px 24px;border-top:1px solid var(--line);flex-shrink:0}.note-picker-footer .button{width:auto;min-height:44px;justify-content:center;border-radius:5px;padding:10px 18px;font-size:12px}.note-picker-open{justify-content:space-between;min-height:46px;font-size:13px}#note-selection-summary{font-size:12px;line-height:1.8;overflow-wrap:anywhere;margin-top:10px}#note-invitees[hidden],.note-picker-table tr[hidden]{display:none!important}
@media(max-width:650px){.note-invitee-picker{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:10px}.note-picker-header{padding:18px 16px}.note-picker-header h2{font-size:30px}.note-picker-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:16px}.note-picker-filters summary{padding-inline:16px}.note-picker-toolbar{padding:10px 16px;gap:12px;flex-wrap:wrap}.note-picker-toolbar>span{width:100%}.note-picker-help{padding-inline:16px}.note-picker-footer{padding:12px 16px;justify-content:space-between}.note-picker-details>td>div{gap:14px}.note-picker-footer .button{font-size:11px}}
.note-invitee-picker .note-picker-filters{margin:0;padding:0;border-radius:0}.note-picker-header{flex-shrink:0}

.note-picker-searchbar{display:flex;gap:12px;align-items:center;padding:16px 24px 10px;flex-shrink:0}.note-picker-searchbox{display:flex;align-items:center;gap:10px;flex:1;min-width:0;margin:0;border:1px solid #ced5c6;border-radius:8px;padding:0 12px;background:#fffdf7}.note-picker-searchbox svg{flex-shrink:0;color:#667461}.note-picker-searchbox input{border:0;background:transparent;width:100%;min-height:44px;padding:10px 0;margin:0;font-size:13px;outline-offset:1px}.note-picker-filter-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border:1px solid #c4cfbb;border-radius:8px;padding:10px 16px;background:#eef1e6;color:#354b3e;font-size:12px;flex-shrink:0}.note-picker-filter-button:hover{background:#e2e9d8}.note-picker-filter-button svg circle{fill:#eef1e6}#note-picker-filter-badge{min-width:20px;height:20px;border-radius:50%;background:#354b3e;color:white;font-size:10px;display:grid;place-items:center}#note-picker-filter-badge[hidden]{display:none}
.note-picker-chips{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:0 24px 10px;flex-shrink:0;max-height:100px;overflow:auto}.note-picker-chips[hidden]{display:none}.note-picker-chip{border:1px solid #d1dbc8;border-radius:30px;padding:5px 11px;background:#edf1e5;color:#354b3e;font-size:11px;max-width:100%;overflow-wrap:anywhere}.note-picker-chips>.text-link{font-size:11px;padding:4px;margin-left:5px}
.note-picker-filter-panel{position:fixed;inset:100px 40px auto auto;margin:0;width:min(440px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 130px);padding:0;overflow:auto;border:1px solid #cbd4c1;border-radius:14px;background:#fcfaf3;color:var(--ink);box-shadow:0 18px 60px #1b302833}.note-picker-filter-panel::backdrop{background:#24382d55}.note-filter-panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;border-bottom:1px solid var(--line)}.note-filter-panel-header h3{font-size:30px;margin:0}.note-filter-panel-header .eyebrow{font-size:8px;margin-bottom:6px}.note-picker-filter-panel .note-picker-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px 22px;gap:17px}.note-filter-panel-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 22px;border-top:1px solid var(--line);background:#fcfaf3;position:sticky;bottom:0}.note-filter-panel-footer .button{min-height:42px;width:auto;justify-content:center;padding:9px 18px;font-size:12px;border-radius:5px}
@media(max-width:650px){.note-picker-searchbar{padding:14px 16px 8px;gap:8px}.note-picker-searchbox{padding-inline:10px}.note-picker-searchbox input{font-size:12px}.note-picker-filter-button{padding:10px 12px;gap:6px}.note-picker-chips{padding-inline:16px}.note-picker-filter-panel{inset:auto 0 0;margin:0;width:100%;max-height:85dvh;border-radius:18px 18px 0 0;animation:note-filter-slide .2s ease-out}.note-filter-panel-footer{padding-bottom:calc(16px + env(safe-area-inset-bottom))}}
@keyframes note-filter-slide{from{transform:translateY(30px);opacity:.5}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.note-picker-filter-panel{animation:none}}

.host-messaging{margin-top:42px;padding:30px;border:1px solid #d7ddce;border-radius:16px;background:#eef0e7}
.host-messaging-heading{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:24px}.host-messaging-heading h2{font-size:42px;margin:0 0 10px;letter-spacing:-1px}.host-messaging-heading .eyebrow{margin-bottom:10px}.host-messaging-heading>div>p:last-child{margin:0;color:#687361;font-size:13px}.host-messaging-heading .notice{max-width:320px;flex-shrink:0;margin:0;border:1px solid #ced8c2;border-radius:8px;background:#e3ead9;font-size:11px;line-height:1.8}
.host-compose-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.4fr);gap:22px;align-items:start}.host-compose-settings,.host-compose-content{display:grid;gap:20px;min-width:0}.host-compose-card{padding:24px;border:1px solid #d5ddca;border-radius:10px;background:#fcfaf3;min-width:0}.host-compose-card h3{font-size:27px;letter-spacing:-.4px;margin:0 0 20px}.host-compose-card label{font-size:12px;margin-bottom:18px}.host-compose-card label:last-child{margin-bottom:0}.host-compose-card input:not([type=hidden]),.host-compose-card select,.host-compose-card textarea{border:1px solid #cbd4c1;border-radius:6px;background:#fffdf8;padding:11px 12px;font-size:13px;min-height:44px;margin-top:8px}.host-compose-card textarea{line-height:1.9;min-height:170px;resize:vertical}.host-compose-card label small{font-size:11px;line-height:1.8;margin-top:10px}.host-compose-card .host-note-audience-help{font-size:11px;line-height:1.8;margin:12px 0 0;color:#6e7867}.host-compose-card .note-picker-open{margin:12px 0 0;padding:11px 14px;border-radius:6px;align-items:center}.host-compose-card #note-selection-summary{margin-bottom:0}
.host-messaging .host-message-tools{margin:0;gap:10px 16px;align-items:center}.host-messaging .host-save-default{border-radius:5px;min-height:36px}.host-messaging .host-message-edit-status{margin:10px 0 0}.host-message-hint{display:block;margin-top:12px;line-height:1.8}.host-messaging .host-auto-thanks-note{margin:0;padding:22px;border-radius:10px}.host-messaging .host-auto-thanks-note p{font-size:12px;line-height:1.8}.host-messaging .host-reminder-template{margin:18px 0;font-size:11px}.host-messaging #host-update-schedule{margin:18px 0 0;border-radius:6px;min-height:46px;align-items:center;padding:12px 16px}.host-messaging .privacy{line-height:1.8;margin-bottom:0;font-size:11px}
.host-delivery-history{margin-top:26px}.host-messaging .host-reminder-schedules,.host-messaging .host-wedding-notes{margin:0;border-top:1px solid #cbd4c1;padding-top:22px}.host-delivery-history h3{font-size:28px;margin-bottom:14px}.host-delivery-history .host-reminder-empty{padding:18px 20px;border:1px dashed #cbd4c1;border-radius:8px;background:#f7f7ee;font-size:12px;color:#6e7867}.host-delivery-history:has(>[hidden]):not(:has(>:not([hidden]))){display:none}
@media(max-width:800px){.host-messaging{padding:22px;margin-top:30px}.host-messaging-heading{align-items:flex-start;flex-direction:column;gap:16px}.host-messaging-heading .notice{max-width:none;width:100%}.host-compose-grid{grid-template-columns:minmax(0,1fr)}.host-compose-card{padding:20px}.host-messaging-heading h2{font-size:38px}}
@media(max-width:450px){.host-messaging{padding:16px;border-radius:12px}.host-compose-card{padding:16px}.host-messaging-heading>div>p:last-child{font-size:12px}.host-compose-card h3{font-size:25px}.host-compose-grid,.host-compose-settings,.host-compose-content{gap:16px}}

.host-overview-grid{align-items:start;gap:22px}.host-overview-card{border:1px solid #d7ddce;border-radius:12px;padding:22px;background:#fcfaf3;min-width:0;scroll-margin-top:24px}.host-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.host-overview-heading h2{font-size:30px;margin:0}.host-overview-heading>span{font-size:11px;color:#6c7863;white-space:nowrap}.host-guest-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.host-guest-filters label{margin:0;flex:1;min-width:120px}.host-guest-filters label:first-child{flex:1.3}.host-guest-filters input,.host-guest-filters select{border:1px solid #cbd4c1;border-radius:6px;min-height:42px;font-size:12px;padding:9px 10px;margin:0;background:#fffdf8}.host-guest-filters .button{width:auto;min-height:42px;padding:9px 14px;border-radius:6px;font-size:12px;justify-content:center}.host-guest-filters .text-link{font-size:11px}
.host-guest-scroll{max-height:430px;overflow:auto;border:1px solid #dce1d4;border-radius:7px;overscroll-behavior:contain}.host-guest-scroll table{min-width:500px;margin:0;font-size:12px}.host-guest-scroll th{position:sticky;top:0;z-index:1;background:#e9eddf;font-size:10px}.host-guest-scroll td{vertical-align:top;padding:12px;overflow-wrap:anywhere}.host-guest-scroll td:first-child{min-width:170px;max-width:250px}.host-guest-scroll .text-link{font-size:10px;padding:3px 0;margin-top:6px}.host-guest-scroll td small{font-size:10px}.host-guest-scroll .host-guest-extra{margin:8px 0 0;padding:8px 0 0;font-size:11px}.host-guest-extra p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;margin:8px 0 0}.host-guest-extra summary{gap:12px}
.host-activity-scroll{max-height:430px;overflow:auto;overscroll-behavior:contain;padding-right:5px}.host-activity-scroll .activity{font-size:12px;overflow-wrap:anywhere}.host-activity-scroll .activity>*{min-width:0}.host-activity-scroll .activity>span{flex-shrink:0;text-align:right;font-size:11px}
.host-panel-pagination{display:flex;height:auto;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 0;padding:0;border:0;font-size:10px;color:#6c7863;flex-wrap:wrap}.host-panel-pagination>div{display:flex;align-items:center;gap:14px;font-size:10px}.host-panel-pagination a{color:#354b3e;border-bottom:1px solid #b5c1a7;padding:4px 0;font-size:10px}.host-panel-pagination [aria-disabled]{opacity:.4}
.host-messaging #note-selection-summary{max-height:110px;overflow:auto;padding-right:4px}.host-delivery-history .host-reminder-schedules,.host-delivery-history .host-wedding-notes{max-height:520px;overflow:auto;overscroll-behavior:contain;padding-right:8px}
@media(max-width:800px){.host-overview-card{padding:18px}.host-guest-scroll,.host-activity-scroll{max-height:360px}.host-overview-heading h2{font-size:28px}.host-panel-pagination>div{gap:12px}.host-overview-grid{gap:18px}}
@media(max-width:450px){.host-guest-filters label:first-child{flex-basis:100%}.host-guest-filters label{min-width:0}.host-overview-heading{align-items:flex-start}.host-overview-heading h2{font-size:26px}.host-overview-card{padding:15px}}

.host-navigation{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.host-navigation>.button{width:auto}.host-programme-shortcut{font-size:12px;white-space:nowrap}.dashboard .host-programme-panel{margin:30px 0 0;padding:0;border:1px solid #d1dac6;border-radius:12px;background:#fcfaf3;scroll-margin-top:24px}.host-programme-heading{display:flex;align-items:center;gap:20px;padding:24px;list-style:none}.host-programme-heading>span:first-child{display:grid;gap:8px;min-width:0;flex:1}.host-programme-heading .eyebrow{font-size:9px;margin:0;color:#6d7b64}.host-programme-title{font-family:var(--serif);font-size:34px;letter-spacing:-.6px;line-height:1.1;color:#344432}.host-programme-description{font-size:12px;color:#6e7867}.host-programme-count{font-size:11px;white-space:nowrap;border:1px solid #d2dcc7;border-radius:25px;padding:5px 12px;background:#edf1e5;color:#526747}.host-programme-heading:after{font-size:22px;color:#526747}.host-programme-body{padding:0 24px 24px;border-top:1px solid #dbe2d2}.host-programme-body .host-programme-instructions{margin:20px 0 6px;font-size:12px;line-height:1.8;color:#6e7867;max-width:780px}.host-programme-body #programme-sort-list{max-height:540px;overflow:auto;padding:0 8px 0 0;overscroll-behavior:contain}.host-programme-body .programme-add{margin-bottom:0}.host-programme-body .programme-sort-item{background:#f8f8ef}.host-programme-body .programme-edit-entry summary{font-size:14px}.host-programme-body .programme-edit-content input,.host-programme-body .programme-edit-content textarea,.host-programme-body .programme-edit-content select{border:1px solid #cbd4c1;border-radius:5px;padding:10px;background:#fffdf8;font-size:14px}.host-programme-body .programme-edit-content .button{width:auto;border-radius:5px;justify-content:center}.host-programme-body .programme-edit-content .programme-highlight input{padding:0}
@media(max-width:600px){.host-programme-heading{padding:18px;gap:12px;flex-wrap:wrap}.host-programme-title{font-size:29px}.host-programme-heading>span:first-child{flex-basis:calc(100% - 110px)}.host-programme-description{font-size:11px}.host-programme-count{padding:4px 9px;font-size:10px}.host-programme-body{padding:0 16px 18px}.host-programme-body #programme-sort-list{max-height:480px}.host-navigation{gap:14px}}
.host-programme-panel details:not([open])>summary:after{content:'+'}.host-programme-panel details[open]>summary:after{content:'−'}

.dashboard .host-overview-grid{grid-template-columns:minmax(0,1fr);gap:22px}

.host-mobile-nav{display:none}
@media(max-width:1366px){
  body:has(.host-mobile-nav){padding-bottom:calc(80px + env(safe-area-inset-bottom))}
  .host-mobile-nav{position:fixed;inset:auto 0 0;z-index:90;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:auto;margin:0;padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));gap:5px;border:0;border-top:1px solid #ced7c3;background:#fcfaf3;box-shadow:0 -4px 20px #26382f12}
  .host-mobile-nav>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;padding:6px 3px;border-radius:9px;color:#727e69;font-size:10px;line-height:1.5;text-decoration:none;transition:background .15s,color .15s}
  .host-mobile-nav svg{height:21px;width:21px;flex-shrink:0}.host-mobile-nav>a[aria-current=location]{background:#e4ebda;color:#304b37;font-weight:600}.host-mobile-nav>a:hover{background:#edf1e6;color:#304b37}
  .host-dashboard #host-guest-list,.host-dashboard #host-message-activity,.host-dashboard #stay-in-touch,.host-dashboard #programme-editor{scroll-margin-top:18px}
}
@media(max-width:350px){.host-mobile-nav{gap:2px}.host-mobile-nav>a{font-size:9px}}

@media(max-width:1366px){.host-mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.host-dashboard>.host-navigation{display:none}}
@media(max-width:450px){.host-mobile-nav{gap:2px;padding-inline:max(5px,env(safe-area-inset-left))}.host-mobile-nav>a{font-size:9px;gap:5px}.host-mobile-nav svg{width:20px;height:20px}}

.invitee-sticky-search{position:sticky;top:0;z-index:95;padding:12px 0;margin:0 0 16px;background:var(--paper);border-bottom:1px solid #d7dfcf}.invitee-search-toolbar{display:flex;align-items:center;gap:12px}.invitee-toolbar-search-form{display:flex;align-items:center;flex:1;min-width:0;background:#fffdf8;border:1px solid #cbd4c1;border-radius:8px;overflow:hidden}.invitee-toolbar-search-form input[type=search]{min-width:0;flex:1;border:0;background:transparent;font-size:13px;padding:11px 14px;margin:0;min-height:46px}.invitee-toolbar-search-form button{display:grid;place-items:center;min-width:46px;min-height:46px;border:0;background:transparent;color:#526747}.invitee-toolbar-search-form button:hover{background:#edf1e5}.invitee-sticky-search .invitee-active-filters{margin:10px 0 0}.invitee-sticky-search .invitee-filter-count{background:#354b3e;color:#fffdf3}.invitee-sticky-search .note-picker-filter-button{min-height:48px}
.invitee-management-nav .invitee-floating-filter{flex-direction:column;gap:4px;min-height:52px;padding:6px 12px;background:transparent;border:0;border-radius:8px;color:#526747;font-size:11px;line-height:1.5}.invitee-management-nav .invitee-floating-filter:hover{background:#e7eddc}.invitee-management-nav{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
@media(max-width:600px){.invitee-search-toolbar{gap:8px}.invitee-toolbar-search-form input[type=search]{font-size:12px;padding-inline:10px}.invitee-sticky-search .note-picker-filter-button{padding-inline:12px;gap:6px}.invitee-sticky-search{padding:10px 0}.invitee-sticky-search .invitee-active-filters{max-height:90px;overflow:auto}.invitee-manager .dash-top>.text-link{display:none}}

@media(max-width:650px){
  .invitee-filter-drawer{inset:auto 0 0;width:100%;height:auto;max-height:85dvh;margin:0;border:1px solid #d3d9cc;border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -10px 50px #17231c26;animation:note-filter-slide .2s ease-out}
  .invitee-filter-drawer-header{flex-shrink:0;padding:20px}.invitee-filter-form{overflow:hidden}.invitee-filter-fields{min-height:0;padding:20px;gap:18px}.invitee-filter-drawer-footer{flex-shrink:0;padding:16px 20px calc(16px + env(safe-area-inset-bottom))}
}
@media(max-width:650px) and (prefers-reduced-motion:reduce){.invitee-filter-drawer{animation:none}}

.invitation-history-open{overflow:hidden}.invitation-history-dialog{width:min(760px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid #d0d9c6;border-radius:14px;background:#fcfaf3;color:var(--ink);box-shadow:0 24px 70px #20372e44;overflow:hidden}.invitation-history-dialog[open]{display:flex;flex-direction:column}.invitation-history-dialog::backdrop{background:#24382dbb;backdrop-filter:blur(4px)}.invitation-history-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px;border-bottom:1px solid var(--line);flex-shrink:0}.invitation-history-dialog h2{font-size:35px;margin:0 0 8px}.invitation-history-dialog .eyebrow{font-size:9px;margin-bottom:8px}#invitation-history-name{font-size:13px;color:#65735e;margin:0}.invitation-history-help{font-size:11px;line-height:1.8;color:#6b7863;margin:14px 24px;flex-shrink:0}#invitation-history-warning{margin:0 24px 12px;font-size:11px;line-height:1.8;flex-shrink:0}#invitation-history-warning[hidden]{display:none}#invitation-history-events{overflow:auto;min-height:100px;padding:0 24px 16px;font-size:12px;overscroll-behavior:contain}#invitation-history-events article{border:1px solid #d6dfcd;border-radius:8px;padding:16px;background:#f5f6ec;margin-bottom:12px}#invitation-history-events article>p{font-size:11px;margin:10px 0;color:#667461;overflow-wrap:anywhere}#invitation-history-events small{display:block;line-height:1.8;font-size:10px;color:#7a755d;overflow-wrap:anywhere}.invitation-history-event-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.invitation-history-event-heading time{font-size:10px;white-space:nowrap;color:#6f7a67}.invitation-history-dialog details{margin:12px 0 0;padding:10px 0 0;font-size:11px}.invitation-history-dialog details p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.8;margin:12px 0 0}.invitation-history-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 24px;border-top:1px solid var(--line);font-size:10px;flex-shrink:0}.invitation-history-footer .text-link{font-size:11px}.invitation-history-footer button:disabled{opacity:.35;cursor:default}
@media(max-width:600px){.invitation-history-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:10px}.invitation-history-dialog>header{padding:18px}.invitation-history-dialog h2{font-size:30px}.invitation-history-help{margin:12px 18px}#invitation-history-warning{margin-inline:18px}#invitation-history-events{padding-inline:18px}.invitation-history-event-heading{align-items:flex-start;flex-direction:column;gap:5px}.invitation-history-footer{padding:14px 18px}}
.invitee-expanded-actions .text-link:disabled{opacity:.4;cursor:not-allowed}.invitee-repeat-warning{display:block;color:#826443;font-size:10px;line-height:1.8;margin-top:12px}

.invitation-review-dialog{width:min(800px,calc(100vw - 32px))}.invitation-review-dialog #invitation-review-mode{font-size:12px;line-height:1.7;color:#64735b;margin:0}.invitation-review-summary{margin:16px 24px 0;border:1px solid #d0dbc2;border-radius:7px;padding:12px 14px;background:#edf2e3;font-size:12px;line-height:1.8;flex-shrink:0}#invitation-review-list{overflow:auto;min-height:100px;padding:0 24px 16px;overscroll-behavior:contain}#invitation-review-list article{border:1px solid #d3ddc8;border-radius:8px;padding:16px;margin:0 0 12px;background:#f6f7ef}#invitation-review-list article.is-blocked{background:#f4ede5;border-color:#e0ceba}#invitation-review-list article>p{font-size:11px;line-height:1.7;margin:9px 0;color:#6b7861;overflow-wrap:anywhere}#invitation-review-list small{font-size:11px;line-height:1.7;display:block;color:#6b7861}#invitation-review-list .is-blocked small{color:#8b6244}#invitation-review-list .invitation-history-event-heading>span{font-size:10px;color:#6b7861}
.invitation-review-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 24px;font-size:10px;flex-shrink:0;border-top:1px solid var(--line)}.invitation-review-pagination .text-link{font-size:11px}.invitation-review-pagination button:disabled{opacity:.35;cursor:default}.invitation-review-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px;border-top:1px solid var(--line);flex-shrink:0}.invitation-review-footer .button{width:auto;padding:11px 18px;min-height:44px;border-radius:6px;justify-content:center;font-size:12px}.invitation-review-footer .button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:600px){.invitation-review-dialog{width:calc(100vw - 16px)}.invitation-review-summary{margin-inline:18px}#invitation-review-list{padding-inline:18px}.invitation-review-footer{padding:14px 18px;gap:12px}.invitation-review-footer .button{padding:10px 14px;font-size:11px}}

.programme-tier-item{border:1px solid #c6d2ba;border-radius:10px;padding:16px;margin:18px 0;background:#eef2e5}.programme-tier-heading{display:flex;gap:12px;align-items:center}.programme-tier-heading>div{flex:1;min-width:0}.programme-tier-heading strong{font-family:var(--serif);font-size:27px;font-weight:500}.programme-tier-heading small{display:block;font-size:11px;color:#6b7a61}.programme-tier-heading button{min-width:38px;min-height:40px;border:1px solid #c6d2ba;border-radius:5px;background:#fcfaf3;color:#435d39}.programme-tier-heading .tier-drag-handle{cursor:grab;touch-action:none;font-size:26px}.programme-tier-heading .tier-drag-handle:active{cursor:grabbing}.programme-tier-heading button:disabled{opacity:.3}.programme-tier-settings{margin:12px 0!important;padding:10px 0;font-size:12px}.programme-tier-settings summary{padding:6px}.programme-tier-settings form{display:flex;align-items:end;gap:16px;margin:12px 0;flex-wrap:wrap}.programme-tier-settings label{flex:1;min-width:150px;margin:0}.programme-tier-settings input{border:1px solid #c6d2ba;border-radius:5px;padding:10px;background:#fcfaf3}.programme-tier-settings .button{width:auto;min-height:42px;justify-content:center;border-radius:5px}.programme-tier-settings small{font-size:10px;color:#748068}.programme-tier-empty{font-size:12px;padding:12px;color:#6a785e}.host-programme-body [data-programme-event-list]{max-height:500px;overflow:auto;overscroll-behavior:contain;padding-right:4px}
.group-tier-choices{border:1px solid #d1dcc5;border-radius:6px;padding:12px;margin:12px 0;min-width:0}.group-tier-choices legend{font-size:12px;font-weight:500;padding:0 5px}.group-tier-choices>small{font-size:10px;line-height:1.7;display:block;margin-bottom:8px}.group-tier-choices>label{display:flex;gap:8px;align-items:center;font-size:12px;margin:8px 0}.group-tier-choices input[type=checkbox]{width:17px;height:17px;min-height:17px;padding:0;margin:0;accent-color:#526747}.group-tier-choices a{font-size:11px;text-decoration:underline}.invitee-group-row:has(.group-tier-choices){align-items:flex-start;flex-wrap:wrap}.invitee-group-row:has(.group-tier-choices)>div:first-child{flex-basis:100%}.invitee-tier-list{display:block;color:#59704d;font-size:10px;line-height:1.8;overflow-wrap:anywhere}.invitee-compact-table{min-width:0}.invitee-compact-table table{min-width:920px}.invitee-compact-table th:nth-child(2){width:21%}.invitee-compact-table th:nth-child(3){width:auto}.invitee-compact-table th:nth-child(7){width:145px}.invitee-compact-table th:last-child{width:40px}.guest-programme-tier{text-align:center;font-size:36px;color:#566b49;margin:35px 0 0}
@media(max-width:600px){.programme-tier-item{padding:12px}.programme-tier-heading{gap:8px;flex-wrap:wrap}.programme-tier-heading strong{font-size:25px}.programme-tier-heading>div{flex-basis:calc(100% - 65px)}.programme-tier-heading button[data-tier-move]{min-height:34px}.guest-programme-tier{font-size:29px}}
.host-programme-body #programme-order-status:empty{display:none}.note-picker-table{min-width:920px}

.programme-icon-field{border:0;padding:0;margin:0;min-width:0}.programme-icon-field>legend{padding:0;margin-bottom:8px;font-size:12px}.host-programme-panel .programme-icon-picker{margin:0!important;padding:0;border:1px solid #cbd4c1;border-radius:7px;background:#fffdf8;overflow:hidden}.host-programme-panel .programme-icon-picker>summary{padding:11px 14px;display:flex;align-items:center;justify-content:flex-start;gap:12px;font-size:13px}.host-programme-panel .programme-icon-picker>summary:after{margin-left:auto}.host-programme-panel .programme-icon-picker>summary>span{margin:0;font-size:13px;color:var(--ink)}.programme-icon-picker svg{display:block;width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:#657b54}.programme-icon-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:12px;border-top:1px solid var(--line);background:#f0f3e8}.host-programme-panel .programme-icon-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:12px 8px;margin:0;border:1px solid #d3ddc7;border-radius:6px;background:#fcfaf3;cursor:pointer;position:relative;text-align:center;font-size:11px;min-height:98px}.programme-icon-option:has(input:checked){border-color:#607e4f;background:#e4ecd7;box-shadow:inset 0 0 0 1px #607e4f}.programme-icon-option:focus-within{outline:2px solid #8aa678;outline-offset:2px}.host-programme-panel .programme-icon-option input[type=radio]{position:absolute;top:7px;right:7px;width:14px;height:14px;min-height:14px;margin:0;padding:0;accent-color:#607e4f}.programme-icon-option .programme-option-art svg{width:34px;height:34px}.programme-location-link{text-decoration:underline;text-underline-offset:4px;transition:color .2s}.programme-location-link:hover{color:#344d31}.programme-edit-content label>small{font-size:11px;line-height:1.8}
@media(max-width:500px){.programme-icon-options{grid-template-columns:repeat(2,minmax(0,1fr))}.host-programme-panel .programme-icon-option{min-height:95px}}

/* Event-specific RSVP choices stay within the popup on every screen. */
.rsvp-event-attendance{min-width:0;margin:0;padding:16px;border:1px solid #c9bfae;border-radius:8px}
.rsvp-event-attendance legend{padding:0 8px;font-size:16px;font-weight:600}.rsvp-event-attendance>p{margin:0 0 16px;font-size:13px;line-height:1.5}
.rsvp-event-choice{display:grid;gap:8px;margin:0}.rsvp-event-choice+.rsvp-event-choice{margin-top:20px}.rsvp-event-choice strong{font-size:16px;overflow-wrap:anywhere}.rsvp-event-choice small{display:block;margin-top:4px}.host-event-answer{padding-top:10px;border-top:1px solid #d6d8cc}.host-event-answer span{display:block;margin-top:4px;font-weight:600}

.host-special-events{margin:0 0 20px!important;padding:16px;border:1px solid #d7ddce;border-radius:8px;background:#f1f3e9}.host-special-events summary{align-items:center;font-size:17px;font-weight:600;gap:12px}.host-special-events summary small{display:block;margin-top:4px;font-size:11px;font-weight:400;color:#65735e}.host-special-events>p{font-size:11px;line-height:1.6;margin:12px 0}.host-special-scroll{max-height:245px;margin-top:12px}.host-special-scroll table{min-width:420px;margin:0}.host-special-scroll th{position:sticky;top:0;background:#e9eddf}.host-special-scroll td{font-size:12px}.host-special-scroll td:first-child{min-width:180px}.host-special-scroll td:not(:first-child){text-align:center;font-size:18px;font-family:var(--serif)}.host-special-scroll a{text-decoration:underline;text-underline-offset:3px}.host-special-label{font-size:12px;font-weight:600;margin:14px 0 4px}.host-special-events summary:after{font-weight:400}
@media(max-width:650px){.host-guest-filters label{flex-basis:calc(50% - 10px)}.host-guest-filters label:first-child{flex-basis:100%}.host-special-events{padding:12px}}

.host-special-scroll th:not(:first-child){text-align:center}


.host-guest-filter-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:14px 16px;background:#e9eddf;border-radius:8px;font-size:12px}.host-guest-filter-notice span{display:block;margin-top:5px;line-height:1.5;color:#65735e}.host-guest-filter-notice .button{width:auto;flex-shrink:0;border-radius:6px;justify-content:center;padding:11px 14px;font-size:12px}
@media(max-width:600px){.host-guest-filter-notice{align-items:stretch;flex-direction:column}.host-guest-filter-notice .button{width:100%}}

.host-rsvp-tools{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 22px}.host-rsvp-tools .button{width:auto;border-radius:6px;font-size:12px;gap:12px}.host-rsvp-tools small{color:#65735e;font-size:11px}.host-rsvp-tools .text-link{font-size:12px}.host-pending-panel{margin:0!important;padding:0;border:0}.host-pending-panel>summary{align-items:center;font-size:26px;font-family:var(--serif);gap:16px}.host-pending-panel>summary small{display:block;margin-top:4px;font:11px Arial,sans-serif;color:#65735e}.host-pending-panel>p{line-height:1.6}.host-rsvp-edit{max-width:740px;margin:auto}.host-rsvp-edit h1{margin:24px 0}.host-rsvp-edit .eyebrow{margin-top:28px}.host-rsvp-identity{display:grid;gap:6px;background:#e9eddf;padding:16px;border-radius:8px;margin-bottom:24px;font-size:16px}.host-rsvp-identity span{font-size:13px;color:#65735e}.host-rsvp-edit label{font-size:13px}.host-rsvp-edit input,.host-rsvp-edit select,.host-rsvp-edit textarea{font-size:16px;min-height:44px}.host-rsvp-events{min-width:0;border:1px solid #cbd4c1;padding:16px;border-radius:8px;margin-bottom:24px}.host-rsvp-events legend{padding:0 8px;font-weight:600}.host-rsvp-events p{font-size:12px;line-height:1.6}.host-rsvp-events small{display:block;color:#65735e;font-size:11px}.host-rsvp-edit-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.host-rsvp-edit-actions .button{width:auto;justify-content:center;border-radius:6px}.host-rsvp-edit [hidden]{display:none!important}.host-edit-rsvp-link{display:inline-block}
@media(max-width:600px){.host-rsvp-tools{gap:14px}.host-rsvp-tools small{flex-basis:100%}.host-rsvp-edit .form-grid{grid-template-columns:1fr;gap:0}.host-rsvp-edit{padding:30px 6%}.host-rsvp-edit h1{font-size:42px}.host-rsvp-edit-actions{position:sticky;bottom:0;padding:12px 0;background:#faf6ed;z-index:2}.host-rsvp-edit-actions .button{flex:1}}

.host-popout{width:min(780px,calc(100vw - 32px));height:min(820px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);padding:0;margin:auto;border:1px solid #c9bfae;border-radius:12px;background:#faf6ed;box-shadow:0 25px 100px #17231c55;overflow:hidden}.host-popout[open]{display:flex;flex-direction:column}.host-popout::backdrop{background:#17271fc9;backdrop-filter:blur(4px)}.host-popout-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;border-bottom:1px solid #d7ddce;flex-shrink:0}.host-popout-header h2{font-family:var(--serif);font-size:30px;margin:0}.host-popout-frame{display:block;width:100%;border:0;flex:1;min-height:0;background:#faf6ed}.host-popout-frame[hidden],.host-popout-loading[hidden]{display:none}.host-popout-loading{padding:22px;font-size:13px}.host-popout-open{overflow:hidden}
body[data-host-popup-page]{max-width:none;margin:0;background:#faf6ed}body[data-host-popup-page] main{padding:22px!important;margin:0!important;max-width:none}body[data-host-popup-page] main>a:first-child,body[data-host-popup-page] main>h1,body[data-host-popup-page] main>.eyebrow{display:none}body[data-host-popup-page] .host-rsvp-edit-actions{bottom:0}body[data-host-popup-page] .invitee-edit-page h2{font-size:30px;margin:0 0 16px}body[data-host-popup-page] .invitee-edit-page form>button{justify-content:center;border-radius:6px}
@media(max-width:600px){.host-popout{width:calc(100vw - 16px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);border-radius:10px}.host-popout-header{padding:12px 16px}.host-popout-header h2{font-size:27px}body[data-host-popup-page] main{padding:18px!important}}

body[data-host-popup-page] input,body[data-host-popup-page] select,body[data-host-popup-page] textarea{font-size:16px}

.host-popout-success{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);z-index:50;width:max-content;max-width:calc(100vw - 32px);box-sizing:border-box;display:flex;align-items:center;gap:18px;padding:14px 18px;border:1px solid #aab99b;border-radius:8px;background:#e5eadb;color:#34402f;box-shadow:0 8px 30px #17231c26;font-size:13px;line-height:1.5}.host-popout-success button{font-size:23px;background:none;border:0;padding:0 4px;cursor:pointer;color:inherit;flex-shrink:0}

#host-guest-list .host-guest-scroll table{table-layout:fixed;min-width:540px}
#host-guest-list .host-guest-scroll th:nth-child(1){width:40%}#host-guest-list .host-guest-scroll th:nth-child(2){width:18%}#host-guest-list .host-guest-scroll th:nth-child(3){width:10%}#host-guest-list .host-guest-scroll th:nth-child(4){width:32%}
#host-guest-list .host-guest-scroll th,#host-guest-list .host-guest-scroll td{box-sizing:border-box;padding:13px 16px;line-height:1.5;text-align:left;vertical-align:top}
#host-guest-list .host-guest-scroll td:first-child{min-width:0;max-width:none}#host-guest-list .host-guest-scroll th:nth-child(3),#host-guest-list .host-guest-scroll td:nth-child(3){text-align:center}
#host-guest-list .host-guest-scroll td>strong,.host-update-state{display:block;font-size:12px;line-height:18px}
#host-guest-list .host-guest-scroll td>small,.host-update-cell .host-update-channel{display:block;font-size:10px;line-height:15px;margin:4px 0 0}
.host-update-cell{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
#host-guest-list .host-guest-scroll .host-edit-rsvp-link,#host-guest-list .host-guest-scroll .host-update-preferences-link{display:block;width:fit-content;max-width:100%;margin:8px 0 0;padding:2px 0;font-size:11px;line-height:18px;white-space:normal}
@media(max-width:600px){#host-guest-list .host-guest-scroll th,#host-guest-list .host-guest-scroll td{padding:12px}}

.host-table-exports{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:12px 0 16px;font-size:11px}.host-table-exports>span{color:#65735e;margin-right:5px}.host-table-exports>a{padding:8px 12px;border:1px solid #cbd4c1;border-radius:6px;background:#fffdf8;color:#34402f;white-space:nowrap;text-decoration:none;line-height:1.4}.host-table-exports>a:hover{background:#e9eddf}.host-rsvp-tools .host-table-exports{margin:0}

/* Compact dashboard rows grow naturally for longer names and notes. */
.host-dashboard .host-guest-scroll table{table-layout:auto;min-width:480px}
.host-dashboard .host-guest-scroll th,.host-dashboard .host-guest-scroll td{padding:8px 10px;line-height:1.4;vertical-align:top;height:auto}
#host-guest-list .host-guest-scroll table{table-layout:auto;min-width:480px}
#host-guest-list .host-guest-scroll th,#host-guest-list .host-guest-scroll td{padding:8px 10px;line-height:1.4}
#host-guest-list .host-guest-scroll th:nth-child(1){width:42%}#host-guest-list .host-guest-scroll th:nth-child(2){width:auto}#host-guest-list .host-guest-scroll th:nth-child(3){width:1%;white-space:nowrap}#host-guest-list .host-guest-scroll th:nth-child(4){width:auto}
#host-guest-list .host-guest-scroll td>strong,.host-update-state{font-size:12px;line-height:17px}
#host-guest-list .host-guest-scroll td>small,.host-update-cell .host-update-channel{margin-top:2px;line-height:14px}
#host-guest-list .host-guest-scroll .host-edit-rsvp-link,#host-guest-list .host-guest-scroll .host-update-preferences-link{margin-top:3px;padding:1px 0;line-height:18px}
.host-dashboard .host-guest-scroll .host-guest-extra{margin-top:4px;padding-top:4px}.host-dashboard .host-guest-extra summary{line-height:18px}
#host-pending-rsvps .host-guest-scroll td:first-child{min-width:140px;max-width:320px;width:38%}#host-pending-rsvps .host-guest-scroll td small{margin-top:2px;line-height:14px}#host-pending-rsvps .host-guest-scroll td .text-link{display:block;width:fit-content;margin-top:3px;padding:1px 0;line-height:18px}
#host-pending-rsvps .host-guest-scroll td:nth-child(3){white-space:nowrap}.host-dashboard .host-special-scroll th,.host-dashboard .host-special-scroll td{padding:8px 10px}.host-dashboard .host-activity-scroll .activity{padding:9px 0}
@media(max-width:600px){#host-guest-list .host-guest-scroll .host-edit-rsvp-link,#host-guest-list .host-guest-scroll .host-update-preferences-link,#host-pending-rsvps .host-guest-scroll td .text-link{min-height:28px;display:flex;align-items:center}.host-dashboard .host-guest-scroll th,.host-dashboard .host-guest-scroll td{padding:8px}}

/* Hosts' overview: live metrics and lightweight, accessible charts. */
.host-dashboard>.dash-top{align-items:center;margin-bottom:12px}.host-dashboard>.dash-top h1{font-size:clamp(38px,4.2vw,61px);line-height:1.04;margin:14px 0}.host-overview-subtitle{font-size:12px;color:#74816f;line-height:1.6;margin:12px 0 0}.host-dashboard>.host-navigation{margin:22px 0}
.host-analytics{margin:26px 0 38px;scroll-margin-top:24px}.host-overview-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid #d9dfd3}.host-overview-nav a{padding:9px 13px;font-size:12px;color:#66765f;border-radius:6px}.host-overview-nav a:hover,.host-overview-nav .is-current{background:#e5eadc;color:#34513f}.host-overview-nav>span{margin-left:auto;font-size:10px;color:#7a8673}
.host-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:22px}.host-metric{display:flex;flex-direction:column;min-width:0;min-height:158px;padding:20px;border:1px solid #d9dfd3;border-radius:12px;background:#fffdf7;box-shadow:0 4px 12px #26382f03;transition:transform .18s,box-shadow .18s}.host-metric:hover{transform:translateY(-3px);box-shadow:0 8px 24px #26382f0c}.host-metric-label{display:flex;justify-content:space-between;align-items:start;gap:10px;font-size:12px;font-weight:500;line-height:1.4;color:#66775e}.host-metric-label>span{font-size:17px;opacity:.65}.host-metric>strong{font-family:var(--serif);font-size:49px;line-height:1.25;font-weight:400;margin:12px 0 5px;color:#34513f;font-variant-numeric:tabular-nums}.host-metric>small{font-size:10px;line-height:1.5;color:#7b8773;margin-top:auto}.host-metric-featured{background:#304e3f;border-color:#304e3f}.host-metric-featured .host-metric-label,.host-metric-featured>small{color:#dbe5d7}.host-metric-featured>strong{color:#f1c9aa}.host-metric-pending{background:#f7e9dd;border-color:#e9d6c4}
.host-chart-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:20px}.host-chart-card{min-width:0;background:#fffdf7;border:1px solid #d9dfd3;border-radius:13px;padding:24px;box-shadow:0 4px 12px #26382f03}.host-chart-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.host-chart-kicker{font-size:8px;letter-spacing:1.6px;font-weight:600;color:#89917d;margin:0 0 8px}.host-chart-heading h2{font:30px/1.12 var(--serif);letter-spacing:-.5px;margin:0;color:#354e3d}.host-chart-tag{font-size:10px;border:1px solid #e1e7da;background:#eef2e8;color:#607355;padding:7px 10px;border-radius:20px;white-space:nowrap}.host-chart-total{display:flex;flex-direction:column;text-align:right;white-space:nowrap}.host-chart-total strong{font:30px/1 var(--serif);color:#527663}.host-chart-total span{font-size:10px;color:#85917b;margin-top:5px}.host-chart-view{font-size:10px;color:#71836a;white-space:nowrap;padding:8px 0}.host-chart-view:hover{text-decoration:underline}.host-chart-footnote{font-size:10px!important;line-height:1.6;color:#839079!important;margin:18px 0 0!important}
.host-reply-chart{display:flex;align-items:center;justify-content:space-around;gap:22px;min-height:198px}.host-ring{width:182px;aspect-ratio:1;position:relative;flex-shrink:0}.host-ring svg{width:100%;height:100%;display:block}.host-ring>div{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.host-ring strong{font:43px/1 var(--serif);color:#3d5a47}.host-ring strong span{font-size:23px}.host-ring small{font-size:10px;color:#7a8872;margin-top:7px}.host-chart-legend{display:grid;gap:17px;min-width:120px;flex:1;max-width:210px}.host-chart-legend a{display:flex;align-items:center;gap:8px;font-size:11px;color:#69795e;line-height:1.4}.host-chart-legend a:hover span{text-decoration:underline}.host-chart-legend i,.host-message-legend i{width:8px;height:8px;display:inline-block;border-radius:50%;flex-shrink:0}.host-chart-legend strong{margin-left:auto;color:#3d5745;font-size:14px;font-weight:500}
.host-activity-chart svg{display:block;width:100%;height:auto;min-height:190px;max-height:230px;font-family:Arial,sans-serif}.host-chart-data{border:0;margin:0!important;padding:0;font-size:10px;color:#7b8873}.host-chart-data>summary{width:fit-content;gap:12px;padding:5px 0}.host-chart-data>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;background:#f3f5ed;border-radius:7px;margin-top:6px}.host-chart-data>div>span{display:flex;justify-content:space-between;gap:10px}.host-chart-data strong{color:#405d49}
.host-horizontal-chart{display:grid;gap:14px}.host-horizontal-chart>a{display:grid;grid-template-columns:112px minmax(0,1fr) 25px;align-items:center;gap:12px;font-size:11px;color:#6b7a61}.host-horizontal-chart>a:hover>span{text-decoration:underline}.host-horizontal-chart strong{color:#3c5946;text-align:right;font-size:12px;font-weight:500}.host-bar-track{height:9px;background:#f0f2e9;border-radius:5px;overflow:hidden}.host-bar-track i{height:100%;display:block;border-radius:5px}
.host-event-chart{display:grid;gap:20px;max-height:255px;overflow:auto;padding-right:4px}.host-event-chart-name{display:block;margin-bottom:10px}.host-event-chart-name strong{font-size:13px;color:#46614f;font-weight:500;overflow-wrap:anywhere}.host-event-chart-name small{display:block;font-size:10px;line-height:1.5;color:#8a937d;margin-top:4px}.host-stacked-track{display:flex;height:11px;overflow:hidden;border-radius:7px;background:#e9eddf}.host-stacked-track i{height:100%;display:block}.host-event-chart-counts{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:8px;font-size:10px;line-height:1.5}.host-event-chart-counts>a:first-child{color:#527663}.host-event-chart-counts>a:nth-child(2){color:#b37b65}.host-event-chart-counts a:hover{text-decoration:underline}.host-event-chart-counts span{color:#929984;margin-left:auto}.host-chart-empty{padding:28px 12px;text-align:center;border:1px dashed #d7dfcc;border-radius:9px}.host-chart-empty>span{font-size:30px;color:#b39a78}.host-chart-empty>p{font-size:12px;color:#829078;line-height:1.6;margin:12px 0 0}.host-message-chart{grid-column:1/-1}.host-message-chart .host-chart-heading{margin-bottom:20px}.host-message-track{height:16px}.host-message-legend{display:flex;gap:12px 28px;flex-wrap:wrap;margin-top:18px}.host-message-legend>span{display:flex;align-items:center;gap:8px;font-size:11px;color:#77846c}.host-message-legend strong{color:#405d49;font-weight:500}
@media(max-width:1100px){.host-metric{padding:16px;min-height:145px}.host-metric-grid{gap:10px}.host-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.host-chart-card{padding:20px}.host-ring{width:150px}.host-reply-chart{gap:12px}.host-chart-legend{min-width:100px}.host-chart-heading h2{font-size:28px}}
@media(max-width:800px){.host-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.host-metric-featured{grid-column:auto}.host-chart-grid{grid-template-columns:minmax(0,1fr)}.host-message-chart{grid-column:auto}.host-reply-chart{justify-content:center;gap:32px}.host-ring{width:175px}.host-chart-legend{max-width:220px}.host-overview-nav>span{flex-basis:100%;margin:8px 0 0;padding-left:12px}.host-chart-heading h2{font-size:30px}.host-metric-label{font-size:11px}}
@media(max-width:480px){.host-analytics{margin-top:22px}.host-dashboard>.dash-top h1{font-size:42px}.host-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.host-metric-featured{grid-column:1/-1;grid-row:1;min-height:132px;position:relative}.host-metric-featured>strong{font-size:56px;margin:7px 0 0}.host-metric{padding:16px;min-height:133px}.host-metric>strong{font-size:40px}.host-metric-featured>strong{font-size:56px}.host-chart-card{padding:18px}.host-chart-heading{gap:8px}.host-chart-heading h2{font-size:27px}.host-chart-kicker{font-size:7px;letter-spacing:1px}.host-reply-chart{gap:16px}.host-ring{width:145px}.host-ring strong{font-size:36px}.host-chart-legend{gap:16px;min-width:100px}.host-chart-legend a{font-size:10px}.host-horizontal-chart>a{grid-template-columns:100px minmax(0,1fr) 20px;gap:9px;font-size:10px}.host-chart-tag{padding:6px 8px;font-size:9px}.host-chart-view{font-size:9px;white-space:normal;text-align:right;max-width:90px}.host-message-legend{gap:12px 18px}.host-overview-nav{gap:0}.host-overview-nav a{padding:8px 10px;font-size:11px}.host-chart-data>div{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:1366px){.host-mobile-nav{grid-template-columns:repeat(6,minmax(0,1fr))}}

@media(max-width:350px){.host-ring{width:125px}.host-reply-chart{gap:12px}.host-chart-legend{min-width:85px}.host-chart-card{padding:15px}.host-chart-legend a{gap:6px}.host-chart-heading h2{font-size:25px}}

/* Guest preferences stay above the RSVP confirmation without leaving the invitation. */
.reminder-popout{width:min(560px,calc(100vw - 24px));height:min(470px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #c9bfae;border-radius:12px;background:#faf6ed;box-shadow:0 25px 100px #17231c55;overflow:hidden}
.reminder-popout[open]{display:flex;flex-direction:column}.reminder-popout::backdrop{background:#17271fb8;backdrop-filter:blur(4px)}
.reminder-popout-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;border-bottom:1px solid #d7ddce;flex:none}.reminder-popout-header h2{font-family:var(--serif);font-size:clamp(24px,5vw,30px);margin:0;letter-spacing:0}
.reminder-popout-frame{display:block;width:100%;border:0;flex:1;min-height:0;background:#faf6ed}
body[data-reminder-popup-page]{background:#faf6ed}body[data-reminder-popup-page] .reminder-preferences{margin:0;padding:22px;min-height:0;max-width:none;font-size:16px;line-height:1.7}body[data-reminder-popup-page] .reminder-preferences .button{width:100%;white-space:normal;justify-content:center}
@media(max-width:400px){.reminder-popout-header{padding:16px}body[data-reminder-popup-page] .reminder-preferences{padding:18px}}

/* Invitee workspace: an overview above the working directory. */
.invitee-manager>.dash-top h1{font-size:clamp(38px,4.2vw,62px);line-height:1.08}.invitee-manager>.dash-top h1 em{color:#7c8a70;font-weight:400}.invitee-manager>.dash-top>div>p:last-child{color:#7b8773;font-size:12px;margin-top:18px}
.invitee-analytics{margin:32px 0 28px}.invitee-overview-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.invitee-overview-heading h2{font-family:var(--serif);font-size:30px;letter-spacing:-.5px;margin:4px 0 0}.invitee-overview-heading .text-link{font-size:12px;white-space:nowrap}.invitee-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.invitee-group-metric{text-align:left;cursor:pointer;font:inherit;color:inherit}.invitee-group-metric .host-metric-label{width:100%}.invitee-chart-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}.invitee-chart-grid .host-reply-chart{justify-content:center;gap:28px}.invitee-chart-grid .host-ring{width:155px}.invitee-chart-grid .host-chart-heading{margin-bottom:22px}.invitee-chart-grid .host-horizontal-chart{gap:17px}.invitee-group-snapshot{border-top:1px solid #e2e6da;margin-top:18px;padding-top:16px}.invitee-group-snapshot>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.invitee-group-snapshot a{display:inline-flex;align-items:center;gap:10px;background:#edf0e7;border:1px solid #dce3d4;border-radius:20px;padding:6px 10px;font-size:10px;max-width:100%}.invitee-group-snapshot a span{overflow-wrap:anywhere}.invitee-group-snapshot strong{color:#405d49}.invitee-group-snapshot p{font-size:12px;color:#77846c;margin:0}.invitee-overview-note{font-size:11px;color:#7b8773;margin:14px 0 0}.invitee-manager #invitee-directory{scroll-margin-top:10px}
@media(max-width:1000px){.invitee-chart-grid{grid-template-columns:1fr 1fr}.invitee-chart-grid .host-reply-chart{gap:12px}.invitee-chart-grid .host-ring{width:130px}}
@media(max-width:800px){.invitee-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invitee-chart-grid{grid-template-columns:minmax(0,1fr)}.invitee-chart-grid .host-reply-chart{gap:28px}.invitee-chart-grid .host-ring{width:155px}}
@media(max-width:480px){.invitee-overview-heading{align-items:start;flex-direction:column;gap:12px}.invitee-overview-heading h2{font-size:27px}.invitee-metric-grid .host-metric-featured{grid-column:auto;grid-row:auto;min-height:133px}.invitee-metric-grid .host-metric-featured>strong{font-size:40px;margin:12px 0 5px}.invitee-metric-grid .host-metric-label{font-size:11px}.invitee-analytics{margin-top:26px}.invitee-chart-grid .host-ring{width:140px}.invitee-chart-grid .host-reply-chart{gap:18px}.invitee-overview-note{line-height:1.6}.invitee-chart-grid .host-horizontal-chart>a{grid-template-columns:108px minmax(0,1fr) 20px}.invitee-chart-grid .host-chart-heading h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.invitee-analytics .host-metric{transition:none;transform:none}}

/* Invitee actions stay within easy reach at every screen size. */
.invitee-management-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.invitee-management-nav .invitee-floating-filter{min-width:0}.invitee-management-nav .invitee-floating-filter svg{flex-shrink:0}.invitee-management-nav .invitee-floating-filter span{text-align:center;line-height:1.3}
@media(max-width:480px){.invitee-management-nav{gap:2px;padding-inline:max(5px,env(safe-area-inset-left))}.invitee-management-nav .invitee-floating-filter{padding:6px 3px;font-size:10px;min-height:60px;justify-content:flex-start}.invitee-management-nav .invitee-floating-filter span{max-width:85px}.invitee-manager{padding-bottom:110px}}

.invitee-management-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.helper-manager .dash-top h1,.helper-workspace .dash-top h1{font-size:clamp(38px,5vw,65px)}.helper-manager em,.helper-workspace em,.helper-login em,.helper-send em{color:#7c8a70}.helper-access-card{display:grid;grid-template-columns:1fr 1.3fr;gap:36px;background:#e9eee2;border:1px solid #d9dfd3;border-radius:12px;padding:28px;margin-bottom:26px}.helper-access-card h2{font-size:34px;letter-spacing:-.5px}.helper-access-card p{font-size:13px}.helper-access-card a{overflow-wrap:anywhere}.helper-account-list{display:grid;gap:14px;margin-top:24px}.helper-account-list summary small{display:block;font-size:11px;font-weight:400;color:#77846c;margin-top:7px}.helper-group-options{border:1px solid #d9dfd3;border-radius:8px;padding:16px;min-width:0}.helper-group-options legend{font-weight:500;padding:0 6px}.helper-group-options p{font-size:12px;color:#77846c}.helper-group-options>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-height:240px;overflow:auto}.helper-group-options label,.helper-delete label{display:flex;align-items:start;gap:9px;font-size:13px;overflow-wrap:anywhere}.helper-group-options input[type=checkbox],.helper-delete input[type=checkbox],.helper-workspace input[type=checkbox]{width:18px;min-height:18px;height:18px;flex-shrink:0;accent-color:#527663}.helper-group-chips{display:flex;flex-wrap:wrap;gap:8px;padding-top:20px}.helper-group-chips span{padding:5px 12px;background:#edf0e7;border-radius:20px;font-size:11px}.helper-delete{margin-top:22px;border-top:1px solid #d9dfd3;padding-top:15px}.helper-delete summary{font-size:12px;color:#975a48}.helper-login{max-width:520px;margin:50px auto;padding:28px}.helper-login h1{font-size:clamp(40px,5vw,57px);letter-spacing:-1.5px}.helper-login-mark{font:46px var(--serif);color:#527663;margin-bottom:30px}.helper-login>p:not(.eyebrow){font-size:14px;color:#77846c}.helper-login form{display:grid;gap:22px;margin:28px 0}.helper-login small{color:#77846c}.helper-search{display:grid;grid-template-columns:2fr 1fr auto;gap:16px;align-items:end;position:sticky;top:0;background:var(--paper);z-index:3;padding:16px 0;border-bottom:1px solid #d9dfd3;margin:20px 0}.helper-search .button{min-height:48px}.helper-workspace{padding-bottom:130px}.helper-workspace table small{display:block;font-size:11px;color:#77846c}.helper-workspace table{min-width:650px}.helper-list-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.helper-list-heading h2{font-size:32px}.helper-list-heading label{display:flex;align-items:center;gap:8px;font-size:12px}.helper-bottom-bar{position:fixed;inset:auto 0 0;z-index:5;display:flex;justify-content:center;align-items:center;gap:24px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#faf6ed;border-top:1px solid #d9dfd3}.helper-bottom-bar>span{font-size:12px}.helper-bottom-bar .button{font-size:12px;width:auto}.helper-send{max-width:720px;margin:40px auto;padding:24px}.helper-send>.eyebrow{margin-top:36px}.helper-send h1{font-size:clamp(36px,5vw,58px);letter-spacing:-1px;overflow-wrap:anywhere}.helper-message-preview{white-space:pre-wrap;overflow-wrap:anywhere;padding:24px;border:1px solid #d9dfd3;border-radius:12px;background:#fffdf7;margin:24px 0;font-size:15px}.helper-send-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.helper-send-actions .button{justify-content:center}.helper-send-hint{font-size:13px;color:#77846c;margin:20px 0}.helper-sms{background:#e9eee2!important;color:#405d49!important}.helper-app .notice{font-size:13px}.helper-app .privacy{font-size:11px;color:#77846c;margin-top:24px}
@media(max-width:650px){.helper-access-card{grid-template-columns:1fr;gap:8px;padding:22px}.helper-group-options>div{grid-template-columns:1fr}.helper-search{grid-template-columns:1fr auto;gap:12px}.helper-search>label:first-child{grid-column:1/-1}.helper-search label{font-size:12px}.helper-bottom-bar{gap:12px;padding-inline:12px}.helper-bottom-bar .button{padding:14px 16px}.helper-send-actions{grid-template-columns:1fr}.helper-login{margin-top:12px}.helper-list-heading{align-items:start}.helper-list-heading h2{font-size:28px}.helper-list-heading label{font-size:10px}.helper-manager .form-grid{grid-template-columns:1fr}}

.helper-login-mark{width:104px;height:104px;margin-bottom:26px}.helper-login-mark img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 8px #654a2920)}

.helper-workspace .helper-select-all{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:11px;letter-spacing:0;text-transform:none;margin:0}.helper-select-all input{margin:0}

.admin-permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-permission-grid .helper-group-options>div{grid-template-columns:1fr}.admin-check{display:flex;align-items:center;gap:10px;font-size:13px}.admin-check input[type=checkbox],.admin-invitees input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:#527663}.admin-feature-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.admin-workspace .host-overview-card{margin-top:26px;padding:24px}.admin-workspace .host-overview-card h2{font-size:34px}.admin-workspace table small,.admin-invitees table small{display:block;font-size:11px;color:#7b8773}.admin-programme-row{padding:14px 0;border-bottom:1px solid #d9dfd3}.admin-programme-row>span{margin-left:18px;color:#7b8773}.admin-workspace .invitee-panel form{display:grid;gap:16px}.admin-workspace .table-wrap{overflow:auto}.admin-invitees .table-wrap{margin-top:24px}.admin-invitees table{min-width:650px}.admin-invitees .invitee-panel{margin-block:20px}.admin-invitees .invitee-panel textarea{width:100%}.admin-invitees .invitee-panel>.button{margin-top:18px}
@media(max-width:650px){.admin-permission-grid{grid-template-columns:1fr}.admin-feature-links{grid-template-columns:1fr}.admin-workspace .host-overview-card{padding:18px}.admin-workspace .host-overview-card h2{font-size:29px}.admin-workspace .dash-top h1,.admin-invitees .dash-top h1{font-size:40px}.admin-workspace table{min-width:520px}}

.admin-permission-grid .helper-group-options>div{max-height:none;overflow:visible}

.admin-stay-in-touch .host-messaging-heading{gap:20px}.admin-stay-in-touch .host-messaging-heading p:not(.eyebrow){font-size:13px;color:#7b8773}.admin-message-forms{display:grid;gap:14px;margin:24px 0}.admin-message-forms .invitee-panel{margin:0}.admin-stay-in-touch .invitee-panel form{display:grid;gap:18px}.admin-stay-in-touch .invitee-panel form>p{font-size:12px;margin:0;color:#7b8773}.admin-stay-in-touch .invitee-message-tools{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.admin-stay-in-touch .invitee-message-tools .button{width:auto}.admin-message-schedules{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;margin:28px 0}.admin-message-schedules>div{min-width:0}.admin-message-schedules h3{font-size:27px}.admin-message-schedules .host-reminder-schedule p{white-space:pre-wrap;overflow-wrap:anywhere}.admin-message-schedules .host-reminder-schedule-heading{flex-wrap:wrap}
@media(max-width:700px){.admin-message-schedules{grid-template-columns:minmax(0,1fr)}.admin-stay-in-touch .host-messaging-heading{align-items:start;flex-direction:column}.admin-stay-in-touch .form-grid{grid-template-columns:1fr}.admin-stay-in-touch .invitee-panel{padding-inline:0}}

.programme-access-note{margin:20px 0 0;padding:10px 14px;border:1px solid #ced9c4;border-radius:6px;background:#eaf0e2;color:#3c533d;font-size:12px;line-height:1.6}.programme-readonly-details{font-size:14px;line-height:1.8}.programme-readonly-details small{color:#6b7a61}.programme-tier-item:has(.programme-readonly-details) .programme-sort-item{grid-template-columns:minmax(0,1fr)}

@media(max-width:1366px){.admin-workspace .host-mobile-nav{display:flex;justify-content:space-around}.admin-workspace .host-mobile-nav>a{flex:1;min-width:0}}
@media(max-width:600px){.dashboard .host-programme-heading{display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:start;gap:14px}.host-programme-heading>span:first-child{grid-column:1;grid-row:1}.host-programme-heading:after{grid-column:2;grid-row:1;justify-self:end}.host-programme-count{grid-column:1;grid-row:2;justify-self:start}.host-programme-title{font-size:30px}}
.connection-mode{display:flex;align-items:flex-start;gap:14px;border:1px solid #cbd8c3;padding:18px 22px;border-radius:12px;background:#ecf1e5;margin:28px 0}.connection-mode-dot{width:10px;height:10px;border-radius:50%;background:#6f8b5a;margin-top:7px;flex-shrink:0}.connection-mode strong{font-size:14px}.connection-mode p{font-size:12px;margin:3px 0 0;color:#63715c}.connection-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.connection-status-card{display:flex;flex-direction:column;align-items:flex-start;padding:22px;border:1px solid #d7ddce;border-radius:12px;background:#fffdf7;gap:7px}.connection-status-card strong{font-family:var(--serif);font-size:30px;font-weight:500;line-height:1.2}.connection-status-card small{color:#73806a;font-size:12px}.connection-status-pill{font-size:10px;border-radius:20px;background:#f3e8d9;color:#8a6945;padding:3px 10px;margin-top:9px}.connection-status-pill.is-ready{background:#e4eddb;color:#4e6c3c}.connection-caption{font-size:11px;color:#73806a;margin:12px 0 28px}.connection-card{border:1px solid #d0d9c6;background:#fcfaf3;border-radius:14px;padding:28px;margin:24px 0;scroll-margin-top:24px}.connection-card-heading{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px}.connection-card-heading>div{flex:1;min-width:160px}.connection-card-heading h2,.connection-launch h2{font-size:35px;letter-spacing:-.6px;margin:2px 0}.connection-card-heading .eyebrow{margin:0;font-size:9px}.connection-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:12px;background:#e8eedf;color:#5a7548}.connection-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.connection-steps{padding-left:22px;font-size:13px;color:#65755c;margin:0 0 26px}.connection-card label{font-size:12px}.connection-card label small{font-size:11px;line-height:1.7;color:#73806a}.connection-card input,.connection-card select{border:1px solid #ccd6c0;border-radius:7px;background:#fffdf8;padding:11px 12px;min-height:46px;min-width:0;width:100%;font-size:14px}.connection-card .button{width:auto;justify-content:center;border-radius:7px;padding:12px 20px;font-size:12px;white-space:normal;text-align:center}.connection-template-settings{margin:18px 0 24px!important;border:1px solid #d6decf;border-radius:8px;padding:16px!important;background:#f0f3e8}.connection-template-settings summary{font-size:14px;gap:12px}.connection-template-settings summary span{font-size:10px;font-weight:400;color:#78856e;margin-left:auto}.connection-template-settings>p{font-size:12px;color:#64725b;margin:15px 0}.connection-template-guide{border-left:2px solid #b3c6a3;padding:12px 16px;background:#fffdf6;margin:10px 0 18px;font-size:12px}.connection-template-guide p{margin:7px 0}.connection-template-guide small{display:block;font-size:11px;color:#73806a}.connection-template-guide code{font-size:12px;background:#e9efdf;padding:2px 4px;border-radius:3px}.connection-check{display:flex;align-items:center;gap:24px;justify-content:space-between;border-top:1px solid #d7dece;margin-top:26px;padding-top:24px}.connection-check p{font-size:12px;color:#73806a;margin:5px 0}.connection-check strong{font-size:14px}.connection-check form{flex-shrink:0}.connection-email-check{align-items:flex-start}.connection-email-check form{width:min(45%,420px)}.connection-remove{padding-top:16px;margin:20px 0 0!important;font-size:11px}.connection-remove summary{font-size:11px;color:#7a6d5b}.connection-remove p{margin:12px 0}.connection-launch li{font-size:13px;margin:12px 0}.connection-launch>p:last-child{font-size:11px;color:#73806a;margin-bottom:0}.connection-launch ul{padding-left:20px}
@media(max-width:650px){.connection-status-grid{grid-template-columns:1fr}.connection-status-card{padding:18px;display:grid;grid-template-columns:1fr auto;gap:6px 12px}.connection-status-card strong{grid-column:1;font-size:28px}.connection-status-card small{grid-column:1}.connection-status-pill{grid-column:2;grid-row:1/4;align-self:center;margin:0}.connection-card{padding:20px 16px}.connection-card-heading{gap:12px}.connection-card-heading h2,.connection-launch h2{font-size:30px}.connection-card-heading>a{margin-left:62px}.connection-check{align-items:stretch;flex-direction:column;gap:14px}.connection-email-check form{width:100%}.connection-card .button{width:100%}.connection-template-settings summary{flex-wrap:wrap}.connection-mode{padding:16px}.connection-dashboard h1{font-size:48px}}
/* Admin workspace: compact, permission-aware navigation and responsive records. */
.dashboard.admin-workspace{max-width:1440px;margin:0 auto;padding:0 40px 56px;color:#304138}.admin-app-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #dce1d7}.admin-app-brand{display:flex;align-items:center;gap:11px;font-size:14px;font-weight:600;line-height:1.5}.admin-app-brand img{object-fit:contain;flex-shrink:0}.admin-app-brand small{display:block;font-size:11px;font-weight:400;color:#748073}.admin-signout{border:1px solid #d1dace;border-radius:8px;background:#fffdf8;padding:9px 15px;font-size:12px;color:#4a5e4e;min-height:42px;white-space:nowrap}.admin-signout:hover{background:#eaf0e3}.admin-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:30px 0 26px}.admin-welcome .eyebrow{font-size:9px;letter-spacing:1.8px;color:#73816e;margin:0 0 9px}.admin-welcome h1{font-family:'DM Sans',sans-serif;font-size:clamp(25px,3vw,37px);letter-spacing:-1px;font-weight:500;line-height:1.25;margin:0 0 10px;overflow-wrap:anywhere}.admin-welcome p:last-child{font-size:13px;color:#6e7b68;margin:0}.admin-role-badge{font-size:11px;white-space:nowrap;padding:6px 12px;border-radius:20px;background:#e9eee1;color:#526c48;border:1px solid #d5deca}.admin-workspace-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.admin-summary-card{display:flex;flex-direction:column;min-width:0;gap:7px;border:1px solid #d9dfd1;border-radius:12px;background:#fffdf8;padding:20px 22px;box-shadow:0 3px 10px #34443203}.admin-summary-card>span{display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:500;color:#6a7863}.admin-summary-card i{font-style:normal;color:#829277}.admin-summary-card strong{font-family:'DM Sans',sans-serif;font-size:31px;line-height:1.3;letter-spacing:-1px;font-weight:500}.admin-summary-card small{font-size:11px;color:#78866f}a.admin-summary-card:hover{border-color:#9eb28e;background:#f3f6ec}.admin-workspace-tools{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:18px 0 24px}.admin-assigned-groups{margin:0!important;padding:0!important;max-width:70%;border:0!important}.admin-assigned-groups>summary{display:flex;gap:10px;align-items:center;list-style:none;font-size:12px;color:#63765b;min-height:42px;cursor:pointer}.admin-assigned-groups>summary>span{font-size:10px;background:#e5ecdc;border-radius:20px;padding:1px 8px}.admin-assigned-groups>summary:after{content:'⌄';font-size:16px}.admin-assigned-groups[open]>summary:after{content:'⌃'}.admin-assigned-groups .helper-group-chips{padding-top:8px;max-height:155px;overflow:auto}.admin-assigned-groups .helper-group-chips p{font-size:12px;margin:0}.admin-quick-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.admin-secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 13px;border:1px solid #d3ddca;border-radius:8px;background:#fffdf8;color:#536b49;font-size:12px;text-align:center}.admin-secondary-action:hover{background:#eaf0e2}.admin-workspace .host-mobile-nav{display:flex;position:sticky;top:0;inset-inline:auto;inset-block-end:auto;z-index:30;margin:0;padding:10px 0;gap:8px;height:auto;justify-content:flex-start;align-items:center;background:#f7f5eff5;backdrop-filter:blur(12px);border:0;border-bottom:1px solid #d7dfd0;box-shadow:none}.admin-workspace .host-mobile-nav>a{display:flex;flex:0 1 auto;flex-direction:row;gap:8px;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:8px;font-size:12px;color:#6d7e64;line-height:1.5;white-space:nowrap}.admin-workspace .host-mobile-nav svg{width:18px;height:18px;flex-shrink:0}.admin-workspace .host-mobile-nav>a:hover,.admin-workspace .host-mobile-nav>a[aria-current=location]{background:#e5eddb;color:#3e5d36}.admin-workspace .host-overview-card{margin:24px 0 0;padding:24px;border:1px solid #d6decd;border-radius:12px;background:#fffdf8;scroll-margin-top:82px}.admin-section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.admin-section-heading .eyebrow{font-size:9px;margin:0 0 8px;letter-spacing:1.7px;color:#7a886e}.admin-workspace .host-overview-card h2{font-size:30px;letter-spacing:-.5px;margin-bottom:7px}.admin-section-heading p:last-child{font-size:12px;color:#7a866f;margin:0}.admin-section-count{white-space:nowrap;font-size:11px;padding:5px 10px;border:1px solid #dae2d0;border-radius:20px;background:#f0f4e9;color:#667b58}.admin-workspace table{width:100%;border-collapse:collapse;margin:12px 0 0;font-size:13px}.admin-workspace th{font-size:10px;letter-spacing:.9px;color:#819076;padding:11px 14px;background:#f1f4eb;text-align:left;border-bottom:1px solid #dbe3d2}.admin-workspace td{padding:15px 14px;border-bottom:1px solid #e6eadf;vertical-align:middle;overflow-wrap:anywhere}.admin-workspace td strong{font-size:13px;font-weight:500}.admin-workspace table small{font-size:11px;margin-top:4px}.admin-workspace .admin-responsive-table{min-width:0;table-layout:auto}.admin-response-badge{display:inline-block;font-size:10px;font-weight:500;line-height:1.5;padding:4px 9px;border-radius:20px;background:#edf0e7;color:#687b5c;white-space:nowrap}.admin-response-badge.is-attending{color:#4b6d3b;background:#e8f0df}.admin-response-badge.is-declined{color:#966b51;background:#f4ebe1}.admin-row-actions .text-link{padding:7px 10px;border:1px solid #d5decc;border-radius:6px;font-size:11px;margin:3px 4px 3px 0;min-height:34px;background:#fffdf9}.admin-row-actions .text-link:hover{background:#edf3e6}.admin-empty-state{padding:32px!important;text-align:center}.admin-empty-state p{font-size:12px;color:#7a886f;margin:7px 0 0}.admin-workspace .host-table-exports{margin-bottom:16px}.admin-workspace .host-pagination{flex-wrap:wrap}.admin-workspace .host-programme-panel{scroll-margin-top:82px;margin-top:24px;background:#fffdf8}.admin-workspace .host-programme-title{font-size:30px}.admin-workspace .host-messaging-heading{margin-bottom:0}.admin-workspace .host-messaging-heading h2{font-size:30px}.admin-workspace .admin-compose-hint{font-size:12px;color:#7a866f;margin:18px 0 0}.admin-workspace .admin-message-forms{margin-top:16px;gap:10px}.admin-workspace .admin-stay-in-touch .invitee-panel{border:1px solid #d9e1ce;border-radius:8px;padding:0 16px!important;background:#fcfdf7;overflow:hidden}.admin-workspace .admin-stay-in-touch .invitee-panel>summary{font-size:13px;min-height:52px;padding:14px 0;gap:12px}.admin-workspace .admin-stay-in-touch .invitee-panel form{padding:8px 0 20px;gap:16px}.admin-workspace .admin-stay-in-touch input:not([type=checkbox]),.admin-workspace .admin-stay-in-touch select,.admin-workspace .admin-stay-in-touch textarea{width:100%;min-width:0;max-width:100%;background:#fff;border:1px solid #ccd7c1;border-radius:7px;padding:11px 12px;font-size:14px;color:#3e523b;min-height:44px}.admin-workspace .admin-stay-in-touch label{font-size:12px;margin:0}.admin-workspace .admin-stay-in-touch .button{width:auto;border-radius:7px;font-size:12px;padding:11px 16px;justify-content:center;min-height:44px}.admin-workspace .admin-message-schedules{margin:18px 0;gap:12px}.admin-schedule-panel{margin:0!important;border:1px solid #d9e1ce!important;border-radius:8px;padding:0 16px!important;background:#fcfdf7;min-width:0;align-self:start}.admin-schedule-panel>summary{display:flex;align-items:center;gap:10px;list-style:none;min-height:54px;font-size:13px;cursor:pointer}.admin-schedule-panel>summary>span{flex:1}.admin-schedule-panel>summary>small,.admin-activity-count{font-size:10px;padding:2px 8px;border-radius:20px;background:#e7eddc;color:#687b58;white-space:nowrap}.admin-schedule-panel>summary:after{content:'+';font-size:17px;color:#6e825d}.admin-schedule-panel[open]>summary:after{content:'−'}.admin-schedule-content{border-top:1px solid #e1e7d8;padding:16px 0;max-height:500px;overflow:auto;overscroll-behavior:contain}.admin-schedule-content>p{font-size:12px;color:#79876e;margin:0}.admin-workspace .admin-activity-count{margin-left:auto}.admin-workspace .host-reminder-schedule{padding:14px;margin:0 0 12px;background:#fff;border:1px solid #e0e6d7;border-radius:8px}.admin-workspace .host-reminder-schedule strong{font-size:12px}.admin-workspace .host-reminder-schedule p{font-size:12px;line-height:1.8}.admin-workspace+.host-popout{font-size:14px}body:has(.admin-workspace)>footer{padding:26px 20px 34px;border-top:1px solid #e0e5d8;margin-top:0}body:has(.admin-workspace)>footer .footer-top-seal{width:46px;height:46px;margin-bottom:12px}body:has(.admin-workspace)>footer .footer-wedding-details{font-size:17px;margin:6px 0}body:has(.admin-workspace)>footer .footer-top-hint{font-size:10px;margin:5px 0}
@media(min-width:901px){body:has(.admin-workspace){padding-bottom:0}}
@media(max-width:900px){.dashboard.admin-workspace{padding:0 24px 36px}.admin-workspace .host-mobile-nav{position:fixed;inset:auto 0 0;z-index:90;justify-content:space-around;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #d2ddc6;border-bottom:0;background:#fcfaf5;box-shadow:0 -4px 20px #344d3610;backdrop-filter:none}.admin-workspace .host-mobile-nav>a{flex:1;flex-direction:column;gap:4px;font-size:10px;padding:7px 4px;min-height:52px;white-space:normal;text-align:center}.admin-workspace .host-mobile-nav svg{width:21px;height:21px}.admin-workspace .host-overview-card,.admin-workspace .host-programme-panel{scroll-margin-top:20px}body:has(.admin-workspace){padding-bottom:calc(82px + env(safe-area-inset-bottom))}.admin-welcome{margin-top:24px;align-items:flex-start}.admin-role-badge{display:none}.admin-workspace-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-summary-card{padding:16px 18px}.admin-workspace .host-overview-card{padding:20px}.admin-workspace-tools{margin-bottom:8px}.admin-workspace .admin-assigned-groups{max-width:60%}}
@media(max-width:600px){.dashboard.admin-workspace{padding-inline:16px}.admin-app-header{padding-block:14px}.admin-app-brand{font-size:12px;gap:8px}.admin-app-brand img{width:38px;height:38px}.admin-signout{padding-inline:12px;font-size:11px}.admin-welcome h1{font-size:27px;letter-spacing:-.7px}.admin-welcome p:last-child{font-size:12px;line-height:1.75}.admin-welcome{margin-bottom:20px}.admin-workspace-metrics{gap:10px}.admin-summary-card{padding:14px;gap:6px}.admin-summary-card>span{font-size:11px}.admin-summary-card strong{font-size:28px}.admin-summary-card small{font-size:10px;line-height:1.5}.admin-workspace-tools{flex-direction:column;gap:4px}.admin-workspace .admin-assigned-groups{max-width:100%;width:100%}.admin-quick-actions{justify-content:flex-start}.admin-secondary-action{font-size:11px;padding:7px 11px}.admin-section-heading{align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:14px}.admin-workspace .host-overview-card{padding:18px 14px;margin-top:20px}.admin-workspace .host-overview-card h2{font-size:28px}.admin-workspace .table-wrap{overflow:visible}.admin-workspace .admin-responsive-table{display:block;border:0;width:100%;margin-top:12px}.admin-responsive-table thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.admin-responsive-table tbody{display:grid;gap:10px}.admin-responsive-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid #dce4d3;border-radius:9px;overflow:hidden;background:#fff}.admin-workspace .admin-responsive-table td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:0;font-size:12px;text-align:right;min-width:0}.admin-responsive-table td[data-label]:before{content:attr(data-label);font-size:11px;color:#819074;text-align:left;flex-shrink:0}.admin-workspace .admin-responsive-table td.admin-guest-name{display:block;text-align:left;background:#f0f5e8;padding:12px}.admin-responsive-table td.admin-guest-name:before{display:none}.admin-workspace .admin-responsive-table td.admin-row-actions{justify-content:flex-start;flex-wrap:wrap;border-top:1px solid #edf0e6;padding:9px 12px}.admin-row-actions:before{display:none}.admin-workspace .admin-row-actions .text-link{flex:1;text-align:center;margin:0;min-height:40px}.admin-workspace .admin-responsive-table td.admin-empty-state{display:block;text-align:center}.admin-workspace .admin-message-schedules{grid-template-columns:minmax(0,1fr)}.admin-workspace .admin-stay-in-touch .invitee-panel{padding-inline:12px!important}.admin-workspace .admin-stay-in-touch .button{width:100%}.admin-workspace .admin-stay-in-touch .invitee-message-tools{gap:12px}.admin-workspace .admin-stay-in-touch .invitee-message-tools .button{flex-basis:100%}.admin-workspace .host-chart-tag{font-size:10px}.admin-workspace .host-messaging-heading{gap:12px}.admin-workspace .host-programme-heading{padding:18px 14px}.admin-workspace .host-programme-body{padding-inline:14px}.admin-workspace .programme-tier-item{padding:10px}.admin-workspace .programme-tier-heading strong{font-size:24px}.admin-workspace .programme-tier-heading small{font-size:10px}.admin-workspace .host-pagination{gap:8px;font-size:11px}.admin-workspace .host-mobile-nav>a{font-size:9px}}
@media(prefers-reduced-motion:reduce){html:has(.admin-workspace){scroll-behavior:auto}}
@media(max-width:600px){.admin-workspace .admin-stay-in-touch input:not([type=checkbox]),.admin-workspace .admin-stay-in-touch select,.admin-workspace .admin-stay-in-touch textarea,.admin-workspace .programme-edit-content input,.admin-workspace .programme-edit-content select,.admin-workspace .programme-edit-content textarea{font-size:16px}}
.host-popout.host-popout-list{width:min(1120px,calc(100vw - 32px))}body[data-host-popup-page] .admin-invitees .dash-top{margin-bottom:18px}body[data-host-popup-page] .admin-invitees .dash-top h1{font-size:32px;letter-spacing:-.6px;margin:0 0 10px}body[data-host-popup-page] .admin-invitees .dash-top p{font-size:12px}body[data-host-popup-page] .admin-invitees .helper-search{margin-top:0}body[data-host-popup-page] .admin-invitees .helper-search>input[type=hidden]{display:none}body[data-host-popup-page] .admin-invitees .button{justify-content:center;border-radius:7px}body[data-host-popup-page] .admin-invitees .table-wrap{max-height:60dvh;overflow:auto}body[data-host-popup-page] .admin-invitees th{position:sticky;top:0;background:#eff3e6;z-index:1}body[data-host-popup-page] .admin-invitees .text-link{font-size:12px;min-height:36px;padding:6px}
@media(max-width:600px){.host-popout.host-popout-list{width:calc(100vw - 16px)}body[data-host-popup-page] .admin-invitees .dash-top h1{font-size:27px}body[data-host-popup-page] .admin-invitees .helper-search{grid-template-columns:minmax(0,1fr);gap:10px}body[data-host-popup-page] .admin-invitees .helper-search input,body[data-host-popup-page] .admin-invitees .helper-search select{font-size:16px}body[data-host-popup-page] .admin-invitees .helper-search .button{min-height:42px}}
body[data-host-popup-page] .admin-invitees .invitee-panel{margin:12px 0;padding:0 12px;border:1px solid #d7dfcb;border-radius:8px;background:#fffdf8}body[data-host-popup-page] .admin-invitees .invitee-panel>summary{padding:14px 0;min-height:48px;font-size:13px}body[data-host-popup-page] .admin-invitees .invitee-panel form{padding-bottom:18px}body[data-host-popup-page] .admin-invitees .helper-search{padding:12px 0;gap:12px}body[data-host-popup-page] .admin-invitees .helper-search label{margin:0;font-size:12px}body[data-host-popup-page] .admin-invitees .helper-search input,body[data-host-popup-page] .admin-invitees .helper-search select{border:1px solid #ccd6c0;border-radius:6px;padding:10px;background:#fffdf8;min-height:44px;font-size:14px}body[data-host-popup-page] .admin-invitees .helper-search .button{min-height:44px;padding:10px 20px}body[data-host-popup-page] .admin-invitees .host-table-exports{margin:16px 0 8px}body[data-host-popup-page] .admin-invitees .table-wrap{margin-top:10px}body[data-host-popup-page] .admin-invitees table{font-size:13px}body[data-host-popup-page] .admin-invitees td,body[data-host-popup-page] .admin-invitees th{padding:12px}body[data-host-popup-page] .admin-invitees .table-wrap table{margin:0}
/* The same invitation panel is used on the public page and in the live studio. */
[data-invitation-copy]{color:var(--invitation-ink,#3e4936)!important;transform-origin:center}.formal-invitation [data-invitation-field=title],.formal-invitation [data-invitation-field=parents_left],.formal-invitation [data-invitation-field=parents_right]{white-space:pre-line}.formal-invitation .invitation-person{font:inherit}.formal-invitation [data-invitation-parents][hidden]{display:none}.formal-invitation[data-title-font=serif] h1{font-family:var(--serif)}.formal-invitation[data-body-font=sans] .invitation-intro,.formal-invitation[data-body-font=sans] .invitation-names,.formal-invitation[data-body-font=sans] .invitation-wording,.formal-invitation[data-body-font=sans] .invitation-parents{font-family:'DM Sans',sans-serif;font-style:normal;font-weight:400}.formal-invitation[data-custom-scale=true] h1{font-size:calc(clamp(48px,17cqi,86px)*var(--invitation-text-scale))}.formal-invitation[data-custom-scale=true] .invitation-intro{font-size:calc(clamp(21px,6.8cqi,32px)*var(--invitation-text-scale))}.formal-invitation[data-custom-scale=true] .invitation-names{font-size:calc(clamp(23px,7.4cqi,35px)*var(--invitation-text-scale))}.formal-invitation[data-custom-scale=true] .invitation-wording{font-size:calc(clamp(19px,6.1cqi,29px)*var(--invitation-text-scale))}.formal-invitation[data-custom-scale=true] .invitation-parents{font-size:calc(clamp(18px,5.5cqi,26px)*var(--invitation-text-scale))}.invitation-editor-preview{margin:0;overflow:hidden}.invitation-editor-preview .floral-welcome{margin:0}.invitation-editor-preview .floral-welcome-frame{min-height:100svh;height:100svh}
.invitation-studio{min-height:100dvh;background:#f5f6f0;color:#344537}.studio-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 26px;border-bottom:1px solid #d8dfd0;background:#fffdf8;position:sticky;top:0;z-index:50}.studio-brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;line-height:1.5}.studio-brand img{object-fit:contain}.studio-brand small{display:block;font-size:10px;font-weight:400;color:#7d8877}.studio-header-actions{display:flex;align-items:center;gap:18px}.studio-back{font-size:12px;color:#6a7b60}.studio-header-actions>span{font-size:11px;color:#7b8971}.studio-header .button{padding:11px 20px;border-radius:7px;width:auto;min-height:44px;justify-content:center;font-size:12px}.studio-grid{display:grid;grid-template-columns:360px minmax(0,1fr);max-width:1800px;margin:auto}.studio-controls{min-width:0;background:#fffdf8;border-right:1px solid #d8dfd0;height:calc(100dvh - 77px);overflow:auto;padding-bottom:24px;overscroll-behavior:contain}.studio-scope{padding:22px;border-bottom:1px solid #dce3d3;background:#f0f4e8}.studio-scope .eyebrow{font-size:8px;letter-spacing:1.5px;margin:0 0 10px}.studio-controls label{display:grid;gap:7px;font-size:12px;margin:0;color:#52664a}.studio-controls input:not([type=checkbox]),.studio-controls textarea,.studio-controls select{width:100%;min-width:0;font-size:13px;background:#fff;border:1px solid #cbd7bf;border-radius:6px;padding:10px 11px;color:#384f31;line-height:1.5;min-height:42px}.studio-controls textarea{resize:vertical}.studio-controls small{font-size:10px;line-height:1.7;color:#829075;display:block}.studio-scope>p:last-of-type{font-size:11px;line-height:1.7;color:#718265;margin:10px 0 0}.studio-badge{display:inline-block;margin-top:12px;font-size:10px;padding:3px 9px;border-radius:20px;background:#e0e9d2;color:#597044}.studio-section{margin:0!important;border:0;border-bottom:1px solid #e0e6d7;padding:0!important}.studio-section>summary{padding:17px 22px;display:flex;gap:10px;align-items:center;list-style:none;font-size:12px;cursor:pointer;min-height:54px}.studio-section>summary>span{font-size:10px;color:#98a68b}.studio-section>summary:after{content:'+';margin-left:auto;color:#819571;font-size:16px}.studio-section[open]>summary:after{content:'−'}.studio-section-content{display:grid;gap:16px;padding:0 22px 22px}.studio-controls fieldset{border:0;padding:0;margin:0;min-width:0}.studio-controls fieldset:disabled{opacity:.6}.studio-check{display:flex!important;align-items:flex-start;gap:9px!important;font-size:11px!important;line-height:1.7}.studio-check input{width:16px;height:16px;flex-shrink:0;margin:2px 0 0;accent-color:#64804f}.studio-scope .studio-check{margin-top:15px}.studio-secondary{padding:10px 14px;min-height:42px;font-size:12px;border:1px solid #c7d5b9;border-radius:6px;background:#ecf2e4;color:#526e41}.studio-color{grid-template-columns:1fr 55px;align-items:center}.studio-controls .studio-color input{padding:3px;min-height:36px;height:36px}.studio-controls input[type=range]{padding:0;border:0;accent-color:#6b8956;background:transparent}.studio-edit-tools{display:flex;gap:8px;padding:20px 22px}.studio-edit-tools button{flex:1;background:#fffdf8;border:1px solid #d2dcc6;border-radius:6px;font-size:10px;color:#6a805a;min-height:36px;padding:5px}.invitation-studio button:disabled{opacity:.4;cursor:default}.studio-error{background:#f8eade;color:#96603f;font-size:12px;padding:15px 22px;border-bottom:1px solid #e7cfb9}.studio-preview{padding:22px 26px;min-width:0;align-self:start;position:sticky;top:77px}.studio-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.studio-preview-toolbar strong{font-size:14px;font-weight:500}.studio-preview-toolbar small{display:block;font-size:10px;color:#859277;margin-top:3px}.studio-device-controls{display:flex;background:#e9eee0;padding:4px;border:1px solid #d6dfcb;border-radius:8px;gap:3px}.studio-device-controls button{padding:7px 12px;background:transparent;border:0;border-radius:5px;color:#7a8b6a;font-size:11px;min-height:34px}.studio-device-controls button[aria-pressed=true]{color:#486737;background:#fffdf8;box-shadow:0 1px 4px #26382f12}.studio-preview-stage{height:calc(100dvh - 220px);min-height:420px;position:relative;overflow:hidden;border-radius:12px;background-color:#e5e9df;background-image:radial-gradient(#b8c4ac66 1px,transparent 1px);background-size:16px 16px;border:1px solid #d5decc}.studio-preview-stage iframe{position:absolute;top:50%;left:50%;transform-origin:center;border:0;background:#fffdf8;box-shadow:0 12px 50px #26382f30;border-radius:8px}.studio-preview-footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#7f8e72;padding-top:12px}.studio-preview-footer .is-warning{color:#a16f41}.studio-publish-help{font-size:10px;color:#7b8d6c;margin:12px 0 0;line-height:1.7}.studio-mobile-tabs{display:none}.studio-controls [hidden]{display:none!important}
@media(max-width:1050px){.studio-grid{grid-template-columns:320px minmax(0,1fr)}.studio-header{padding-inline:18px}.studio-preview{padding:18px}.studio-preview-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.studio-preview-stage{height:calc(100dvh - 260px)}.studio-header-actions>span{display:none}}
@media(max-width:720px){.studio-header{padding:12px 14px;gap:10px}.studio-brand{font-size:13px;gap:7px}.studio-brand img{width:34px;height:34px}.studio-brand small{font-size:9px}.studio-back{display:none}.studio-header-actions{gap:0}.studio-header .button{font-size:11px;padding:9px 12px;min-height:40px}.studio-mobile-tabs{display:flex;gap:6px;position:sticky;top:65px;z-index:40;padding:9px 14px;background:#f3f6ed;border-bottom:1px solid #d7e0cc}.studio-mobile-tabs button{flex:1;border:1px solid transparent;background:transparent;color:#7f906f;border-radius:6px;font-size:12px;min-height:38px}.studio-mobile-tabs button[aria-pressed=true]{background:#fffdf7;border-color:#cfdbc1;color:#476736}.studio-grid{display:block}.studio-controls{height:auto;border-right:0;overflow:visible}.studio-preview{position:static;padding:16px}.invitation-studio[data-panel=edit] .studio-preview{display:none}.invitation-studio[data-panel=preview] .studio-controls{display:none}.studio-preview-toolbar{flex-direction:column;gap:12px}.studio-preview-stage{height:calc(100dvh - 300px);min-height:400px}.studio-preview-footer{font-size:9px;flex-wrap:wrap}.studio-controls input:not([type=checkbox]),.studio-controls textarea,.studio-controls select{font-size:16px}.studio-device-controls{width:100%}.studio-device-controls button{flex:1}.studio-scope{padding:20px}.studio-section>summary{padding:18px 20px}.studio-section-content{padding-inline:20px}.studio-preview-toolbar small{font-size:10px}}
.formal-invitation .invitation-parents [data-invitation-field],.formal-invitation .invitation-wording[data-invitation-field],.formal-invitation .invitation-intro[data-invitation-field]{white-space:pre-line}
.formal-invitation .invitation-parents[data-host-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,2cqi,14px);font-size:calc(clamp(14px,4.5cqi,22px)*var(--invitation-text-scale,1))}.formal-invitation .invitation-parents.has-middle-hosts p{overflow-wrap:anywhere}.formal-invitation .invitation-parents [data-invitation-field][hidden]{display:none!important}

.formal-invitation .invitation-parents[data-host-count="1"]{grid-template-columns:minmax(0,1fr);text-align:center}
.design-disabled{display:none!important}[data-design-section]:not(.invitation-cover):not(dialog){position:relative}.design-decoration{position:absolute;transform:translate(-50%,-50%);height:auto;max-height:85%;object-fit:contain;z-index:2;pointer-events:none}.design-decoration[hidden],[data-design-original-graphic][hidden]{display:none!important}.design-custom-color .countdown-digits strong,.design-custom-color .programme-copy,.design-custom-color .programme-copy h3{color:var(--design-text-color)}.invitation-cover.design-custom-glass .cover-door:after{background-image:var(--studio-glass)}.design-custom-logo .logo-relief-layer,.design-custom-logo .logo-relief-crown{visibility:hidden}.studio-seal-logo{position:absolute;width:52%;height:52%;left:24%;top:24%;object-fit:contain;transform:translateZ(5px);backface-visibility:hidden;pointer-events:none}.studio-seal-logo[hidden]{display:none}.studio-full-preview{overflow:auto!important;scroll-behavior:auto}.studio-full-preview #invitation-main{display:block}.studio-full-preview .invitation-cover{position:relative;height:100svh;min-height:600px;overflow:hidden}.studio-full-preview .invitation-cover .cover-open{pointer-events:none}.studio-full-preview [data-design-section][hidden]{display:none!important}.studio-full-preview [data-design-section="invitation"]:not([hidden]){min-height:100svh}.studio-full-preview .design-decoration{pointer-events:auto;cursor:move;touch-action:none}.studio-full-preview [data-design-text],.studio-full-preview [data-invitation-field]{cursor:text}.studio-full-preview [data-design-text]:hover,.studio-full-preview [data-invitation-field]:hover{outline:1px dashed #648856;outline-offset:5px}.studio-canvas-selected{outline:2px solid #648856!important;outline-offset:5px}.studio-full-preview .studio-form-open{display:block;position:relative;margin:20px auto;max-height:none;width:calc(100% - 30px);height:auto;inset:auto;overflow:visible;box-shadow:none}.studio-full-preview[data-preview-section=rsvp_form] #rsvp>div:first-child{display:none}.studio-full-preview[data-preview-section=rsvp_form] #rsvp{display:block;padding:16px 0;min-height:100svh}.studio-full-preview .rsvp-close{display:none}.studio-full-preview .studio-mirror-preview{position:absolute;inset:12% 16%;border-radius:48%;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:linear-gradient(125deg,#d5c9b3,#fff9e9 35%,#b7b4a5 60%,#e2d8c3);box-shadow:inset 0 0 25px #8d806b66;color:#49301f;font:italic 600 clamp(16px,4vw,26px)/1.4 var(--serif);text-align:center}.studio-full-preview .studio-mirror-preview[hidden]{display:none}.studio-mirror-preview span:nth-child(2){margin-bottom:15px}.studio-full-preview .scratch-actions{display:none}.studio-full-preview .closing{display:flex;flex-direction:column;justify-content:center}.studio-full-preview #invitation-footer{display:flex;flex-direction:column;align-items:center;justify-content:center}
/* Full invitation studio: section rail, inspector and a safe visual canvas. */
.studio-grid{grid-template-columns:190px 330px minmax(0,1fr);max-width:none}.studio-section-rail{background:#f3f5ef;border-right:1px solid #d9e0d2;height:calc(100dvh - 77px);overflow:auto;position:sticky;top:77px}.studio-rail-heading{padding:24px 17px 18px;display:grid;gap:5px}.studio-rail-heading .eyebrow{font-size:8px;letter-spacing:1.4px;margin:0;color:#89967e}.studio-rail-heading strong{font-size:22px;font-family:var(--serif);letter-spacing:-.4px}.studio-rail-heading small{font-size:10px;color:#859279}.studio-section-list{padding:0 9px;display:grid;gap:5px}.studio-section-list button{display:flex;align-items:center;gap:9px;text-align:left;border:1px solid transparent;border-radius:8px;padding:12px 9px;min-height:52px;background:transparent;font:500 11px/1.5 'DM Sans',sans-serif;color:#6b7c60;width:100%;cursor:pointer}.studio-section-list button[aria-pressed=true]{background:#fff;border-color:#b9caaa;color:#3d5c30;box-shadow:0 3px 12px #26382f08}.studio-section-number{display:grid;place-items:center;font-size:9px;min-width:25px;height:30px;border:1px solid #d3dec7;border-radius:4px;color:#89987a;background:#edf1e7}.studio-section-list button[aria-pressed=true] .studio-section-number{background:#4e6941;color:#fff;border-color:#4e6941}.studio-section-list i{font-style:normal;margin-left:auto;color:#9bab8b}.studio-rail-tip{font-size:10px;line-height:1.8;color:#85947a;padding:16px 18px}.studio-inspector-heading{padding:20px 20px 0}.studio-inspector-heading>small{font-size:8px;letter-spacing:1.5px;color:#91a080}.studio-inspector-heading h2{font:500 23px/1.3 var(--serif);margin:5px 0 18px;letter-spacing:-.2px}.studio-inspector-tabs{display:flex;gap:4px;border-bottom:1px solid #dce3d2;padding-bottom:10px}.studio-inspector-tabs button{flex:1;border:0;border-radius:5px;background:transparent;color:#839473;font-size:11px;min-height:36px;cursor:pointer}.studio-inspector-tabs button[aria-pressed=true]{background:#e8efdf;color:#46643a;font-weight:600}.studio-dynamic-fields{display:grid;gap:18px;padding:22px 20px}.studio-dynamic-fields>div:not(.studio-asset-library):not(.studio-asset-current):not(.studio-asset-actions){display:grid;gap:16px}.studio-inspector-note{font-size:11px;line-height:1.8;color:#7e8e70;margin:0}.studio-controls p.studio-inspector-note,.studio-controls #studio-programme-shortcut{margin:0 20px 22px;padding:12px;background:#f2f5ed;border:1px solid #e0e8d7;border-radius:6px}.studio-controls #studio-programme-shortcut p{font-size:11px;line-height:1.8}.studio-colour-row{display:flex;align-items:center;gap:10px}.studio-controls .studio-colour-row input{padding:4px;width:50px;height:38px;min-height:38px;flex-shrink:0}.studio-colour-row button{font-size:10px;color:#81936f;border:1px solid #d2ddc7;border-radius:5px;background:#fff;padding:8px}.studio-dynamic-fields output{font-size:10px;color:#8d9b7f;float:right}.studio-upload-label input{font-size:11px!important;padding:9px!important;border-style:dashed!important}.studio-asset-current{display:flex;gap:12px;align-items:center;border:1px solid #dce4d3;background:#f5f6f0;padding:10px;border-radius:7px;min-height:75px}.studio-asset-current img{width:58px;height:58px;object-fit:contain;border-radius:4px;background:repeating-conic-gradient(#e2e6dc 0% 25%,#f7f8f3 0% 50%) 50%/12px 12px}.studio-asset-current span{font-size:10px;line-height:1.6;overflow-wrap:anywhere}.studio-library-label{font-size:11px;font-weight:500}.studio-asset-library{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-height:220px;overflow:auto;padding:2px}.studio-asset-library button{border:1px solid #d6dfcd;border-radius:6px;background:#f0f3e9;padding:4px;height:58px;cursor:pointer}.studio-asset-library button[aria-pressed=true]{outline:2px solid #658651;outline-offset:1px}.studio-asset-library img{width:100%;height:100%;object-fit:contain}.studio-canvas-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#7c8c6d;min-height:37px;margin-top:-7px}.studio-canvas-tools>span:first-child{font-weight:500;color:#4f6941}.studio-canvas-tools label{display:flex;align-items:center;gap:8px;font-size:10px}.studio-canvas-tools select{font:inherit;padding:5px;border:1px solid #ced9c1;border-radius:5px;background:#fffdf8;color:#536e44}.studio-preview-stage{height:calc(100dvh - 260px)}.studio-controls{height:calc(100dvh - 77px)}.studio-scope{padding:18px 20px}.studio-scope>p:last-of-type{font-size:10px}.studio-programme-dialog{width:min(1080px,calc(100vw - 30px));height:calc(100dvh - 40px);max-height:calc(100dvh - 40px);border:1px solid #bbcbaa;border-radius:12px;padding:0;background:#faf9f4;overflow:hidden}.studio-programme-dialog[open]{display:flex;flex-direction:column}.studio-programme-dialog::backdrop{background:#1e3026b5;backdrop-filter:blur(5px)}.studio-programme-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid #d2dfc6;flex-shrink:0}.studio-programme-dialog h2{font:500 25px var(--serif);margin:4px 0}.studio-programme-dialog small{font-size:9px;letter-spacing:1.5px;color:#8a9b79}.studio-programme-dialog>header button{width:40px;height:40px;border:1px solid #cedbbf;border-radius:50%;font-size:25px;color:#74915e;background:#fff}.studio-programme-dialog iframe{border:0;flex:1;min-height:0;width:100%}.studio-full-preview #scratch-canvas[hidden]{display:none!important}.studio-full-preview .invitation-cover[hidden]{display:none!important}
@media(max-width:1250px){.studio-grid{grid-template-columns:158px 300px minmax(0,1fr)}.studio-section-list button{font-size:10px;padding-inline:6px;gap:6px}.studio-section-number{min-width:22px}.studio-preview{padding:18px}.studio-canvas-hint{display:none}.studio-preview-stage{height:calc(100dvh - 290px)}}
@media(max-width:960px){.studio-grid{grid-template-columns:285px minmax(0,1fr)}.studio-section-rail{grid-column:1/-1;height:auto;position:sticky;top:77px;z-index:30;border-right:0;border-bottom:1px solid #d8e0cf;overflow:hidden}.studio-rail-heading,.studio-rail-tip{display:none}.studio-section-list{display:flex;overflow-x:auto;padding:9px;gap:6px;scrollbar-width:thin}.studio-section-list button{flex:0 0 auto;width:auto;min-height:40px;padding:5px 10px;white-space:nowrap}.studio-section-number{height:25px}.studio-section-list i{display:none}.studio-controls{height:calc(100dvh - 143px)}.studio-preview{top:143px}.studio-preview-stage{height:calc(100dvh - 355px)}}
@media(max-width:720px){.studio-grid{display:block}.studio-section-rail{top:121px}.studio-section-list{padding:8px 10px}.studio-section-list button{font-size:11px;padding:6px 10px}.studio-controls{height:auto;overflow:visible}.studio-preview{position:static}.studio-preview-stage{height:calc(100dvh - 390px);min-height:360px}.studio-preview-toolbar{gap:10px}.studio-canvas-tools{flex-wrap:wrap;gap:5px;min-height:40px;margin-top:0}.studio-inspector-heading{padding-top:20px}.studio-header .studio-brand small{font-size:8px}.studio-programme-dialog{width:calc(100vw - 12px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.studio-dynamic-fields input:not([type=range]):not([type=color]),.studio-dynamic-fields textarea,.studio-dynamic-fields select{font-size:16px}.studio-canvas-tools select{font-size:12px}}
.invitation-studio [hidden]{display:none!important}.invitation-studio .studio-section-rail{display:block;width:100%;margin:0;max-width:none;justify-self:stretch;align-self:stretch;padding:0}.studio-canvas-zoom{display:flex;align-items:center;gap:7px;font-size:10px}.studio-canvas-zoom select{max-width:80px}.studio-canvas-spacer{pointer-events:none}.invitation-studio .studio-preview-stage{overflow:auto}

.studio-inspector-heading{position:sticky;top:0;z-index:3;background:#fffdf8;padding-bottom:1px}.studio-full-preview .studio-mirror-preview{pointer-events:none}

.calendar-picker>summary>[data-design-text]{display:inline}.studio-full-preview .calendar-picker>summary>[data-design-text]{display:inline}
@media(min-width:721px){.invitation-studio{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.studio-header{flex:none;position:relative;top:auto}.studio-grid{flex:1;min-height:0;width:100%;grid-template-rows:minmax(0,1fr)}.studio-controls,.invitation-studio .studio-section-rail{height:100%;min-height:0}.studio-preview{position:static;display:flex;flex-direction:column;height:100%;min-height:0}.studio-preview-toolbar,.studio-canvas-tools,.studio-preview-footer,.studio-publish-help{flex:none}.invitation-studio .studio-preview-stage{height:auto;min-height:0;flex:1}.invitation-studio .studio-section-rail{position:static}}
@media(min-width:721px) and (max-width:960px){.studio-grid{grid-template-rows:auto minmax(0,1fr)}.invitation-studio .studio-section-rail{height:auto;max-height:none}}
@media(max-width:720px){.studio-inspector-heading{position:static}.studio-preview{display:flex;flex-direction:column;height:calc(100dvh - 178px);min-height:580px}.studio-preview-toolbar,.studio-canvas-tools,.studio-preview-footer,.studio-publish-help{flex:none}.invitation-studio .studio-preview-stage{flex:1;min-height:300px;height:auto}}
.studio-dynamic-fields>p.studio-inspector-note{margin:0;padding:10px;font-size:10px;line-height:1.65}
.studio-canvas-tools label{margin:0}.studio-canvas-tools select{height:32px;min-height:32px;padding:4px 8px;font-size:11px;line-height:1.4;margin:0}.studio-canvas-tools{padding-bottom:8px}
.invitation-cover.design-custom-glass .cover-door:after{background-size:var(--studio-glass-fit,cover);background-repeat:var(--studio-glass-repeat,no-repeat);background-position:var(--studio-glass-position,center);opacity:var(--studio-glass-opacity,.28)}
/* Studio navigation uses an explicit draft decision instead of relying on browser prompts. */
.studio-back{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 10px;border:1px solid #d6dfcd;border-radius:7px;white-space:nowrap}.studio-leave-dialog{width:min(470px,calc(100vw - 28px));max-height:calc(100dvh - 28px);margin:auto;border:1px solid #c9d5be;border-radius:14px;padding:28px;background:#fffdf8;color:#344537;box-shadow:0 24px 100px #17231c40;overflow:auto}.studio-leave-dialog::backdrop{background:#17271fb8;backdrop-filter:blur(4px)}.studio-leave-dialog h2{font:500 30px/1.2 var(--serif);letter-spacing:-.5px;margin-bottom:12px}.studio-leave-dialog p{font-size:13px;line-height:1.8;color:#718265;margin-bottom:22px}.studio-leave-actions{display:grid;gap:10px}.studio-leave-actions button{width:100%;min-height:44px;justify-content:center;border-radius:7px;font-size:12px;margin:0}.studio-leave-dialog .studio-leave-error{padding:12px;background:#f8eade;color:#96603f;border-radius:6px;font-size:12px}.studio-position-stops{display:flex!important;justify-content:space-between;gap:5px!important;margin-top:-9px}.studio-position-stops button{flex:1;min-height:32px;border:1px solid #d8e1ce;background:#fffdf8;color:#81916f;border-radius:5px;font-size:10px}.studio-position-stops button[aria-pressed=true]{background:#e8efdf;border-color:#aebf9e;color:#46643a}.studio-controls #studio-button-placement{gap:12px!important}.studio-controls #studio-button-position-label{font-size:10px;color:#809173}
.design-button-positioned{position:relative;gap:0!important;padding-inline:40px!important}.design-button-positioned>span.design-button-label,#rsvp .design-button-positioned>span.design-button-label{position:static!important;display:flex;align-items:center;right:auto;left:auto;transform:none;flex:1 1 auto;width:100%;min-width:0;margin:0;font:inherit}.design-button-label:before,.design-button-label:after{content:'';min-width:0;flex-basis:0;flex-shrink:1}.design-button-label:before{flex-grow:var(--button-leading,1)}.design-button-label:after{flex-grow:var(--button-trailing,1)}.design-button-label>[data-design-text]{position:static;flex:0 1 auto;min-width:0;max-width:100%;text-align:center;overflow-wrap:anywhere}.design-button-positioned>span:not(.design-button-label){position:absolute;right:14px;top:50%;transform:translateY(-50%);margin:0}.calendar-picker>summary.design-button-positioned:after{position:absolute;right:14px;top:50%;transform:translateY(-50%)}.calendar-picker>summary.design-button-positioned>span.design-button-label{display:flex}
@media(max-width:720px){.studio-header-actions{gap:7px}.studio-back{display:inline-flex;justify-content:center;width:32px;min-height:36px;padding:4px;font-size:17px}.studio-back-label{display:none}.studio-header .studio-brand{font-size:12px;gap:6px}.studio-header .studio-brand img{width:30px;height:30px}.studio-header .button{padding-inline:10px}.studio-leave-dialog{padding:24px 20px}}
/* A shared workspace shell keeps every occasion distinct. */
.event-workspace-bar{display:flex;align-items:center;gap:20px;min-height:58px;padding:10px 4%;background:#26382f;color:#f9f5eb;border-bottom:1px solid #496044;font-size:12px}.event-app-brand{font:500 22px var(--serif);white-space:nowrap;display:flex;align-items:center;gap:8px}.event-app-brand small{font:500 8px 'DM Sans',sans-serif;letter-spacing:1.3px;color:#afc1a7;margin-left:10px}.event-workspace-bar form{display:flex;align-items:center;gap:10px;margin:0 auto 0 0;min-width:0}.event-workspace-bar label{font-size:10px;margin:0;white-space:nowrap;color:#bdcbb5}.event-workspace-bar select{margin:0;background:#334c3c;border:1px solid #5c7252;border-radius:6px;color:#fff9ef;font-size:11px;min-height:34px;padding:5px 10px;max-width:320px}.event-workspace-bar button{border:1px solid #a5b89b;border-radius:6px;background:#e5ecd9;color:#334b30;padding:6px 12px;font-size:10px;min-height:34px}.event-all-link{font-size:11px;white-space:nowrap}.event-status{display:inline-flex;font:500 10px/1.4 'DM Sans',sans-serif;letter-spacing:.3px;padding:5px 10px;border-radius:20px;white-space:nowrap}.status-published{color:#365d3a;background:#e1edda}.status-draft{color:#8a633c;background:#fae9d2}.status-archived{color:#7d8077;background:#e7e9e2}.event-hub{max-width:1320px;margin:auto;padding:48px 5% 90px}.event-hub-header{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:32px}.event-hub-header h1{font-size:clamp(38px,4.7vw,64px);letter-spacing:-1.6px;margin:12px 0 20px}.event-hub-header h1 em{color:#809171}.event-hub-header p:last-child{font-size:13px;color:#819075;max-width:530px;line-height:1.8}.event-hub-header .button{width:auto;flex:none;border-radius:8px;gap:16px;align-items:center;font-size:12px}.event-hub-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:28px 0 32px}.event-hub-summary article{background:#fffdf8;border:1px solid #dce4d1;border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:12px}.event-hub-summary span{font-size:11px;color:#829274}.event-hub-summary strong{font:500 36px var(--serif);color:#46683b}.event-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.event-hub-card{background:#fffdf8;border:1px solid #d5dfca;border-radius:14px;padding:25px;box-shadow:0 5px 20px #26382f05}.event-hub-card.is-current{border-color:#8da47b;box-shadow:0 0 0 2px #a3b89222}.event-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.event-type{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:#8c9c7c}.event-card-date{font:500 38px/1.1 var(--serif);color:#b08a67;margin:26px 0 16px}.event-card-date span{font-size:18px;margin-left:8px}.event-hub-card h2{font-size:32px;letter-spacing:-.4px;line-height:1.2;margin:0 0 15px}.event-hub-card>p:not(.event-card-date){font-size:12px;color:#819075}.event-card-total{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e5eada;padding-top:16px;margin-top:20px}.event-card-total span{font-size:10px;color:#5b7c49}.event-hub-card .button{border-radius:7px;min-height:44px;font-size:12px;align-items:center}.event-public-link{display:block;text-align:center;font-size:11px;color:#849772;margin-top:14px}.event-settings{border-top:1px solid #e1e7d8;margin-top:18px;padding-top:12px}.event-settings>summary{font-size:11px;color:#748965;cursor:pointer;padding:6px 0}.event-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px 0}.event-settings-grid label{font-size:11px;display:grid;gap:6px;margin:0;color:#718565}.event-settings-grid input,.event-settings-grid select,.event-settings-grid textarea{width:100%;min-width:0;margin:0;padding:10px;border:1px solid #cdd9c0;border-radius:6px;background:#fff;font-size:13px;color:#3e5834;line-height:1.5;min-height:42px}.event-settings-grid small{font-size:10px;line-height:1.6;color:#8b9b7a}.event-create-dialog{width:min(800px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:1px solid #c3d0b8;border-radius:14px;background:#fffdf8;color:#344537;padding:24px;overflow:auto}.event-create-dialog::backdrop{background:#17271fb8;backdrop-filter:blur(4px)}.event-create-dialog header{display:flex;justify-content:space-between;align-items:center;gap:20px}.event-create-dialog h2{font-size:34px;margin:0}.event-create-dialog header button{border:1px solid #cfdbc3;background:#fffdf8;width:38px;height:38px;border-radius:50%;font-size:24px;color:#81966f}.event-create-dialog .button{justify-content:center;border-radius:7px}.event-readiness-list{display:grid;gap:12px;margin-top:24px}.event-readiness-list article{display:flex;align-items:start;gap:22px;background:#fffdf8;padding:20px;border:1px solid #dbe4d0;border-radius:9px}.event-readiness-list h2{font-size:23px;letter-spacing:0;margin:0 0 7px}.event-readiness-list p,.event-readiness-note{font-size:12px;line-height:1.8;color:#829473;margin:0}.event-readiness-note{margin-top:24px}body:has(>.event-workspace-bar) .invitation-studio{height:calc(100dvh - 58px)}.generic-event .floral-welcome-frame{display:flex;align-items:center;justify-content:center;min-height:650px;background:#f4f4ec}.generic-event .welcome-floral-scene{display:none}.generic-event .design-has-background .welcome-floral-scene{display:block}.generic-event .floral-welcome-copy.formal-invitation{position:relative;inset:auto;transform:none;width:min(88%,650px);max-width:650px;text-align:center;container-type:inline-size}.generic-event .formal-invitation h1{font:400 clamp(46px,6vw,76px)/1.12 var(--serif);letter-spacing:-1px}.generic-event .formal-invitation .invitation-names{font-size:clamp(24px,4vw,36px)}.generic-event .formal-invitation .invitation-wording{font-size:clamp(19px,2vw,25px);line-height:1.7}.generic-event .generic-event-date{padding:70px 24px;text-align:center;background:#26382f;color:#f2dac0}.generic-date-row{display:flex;align-items:baseline;justify-content:center;gap:20px;font:400 clamp(30px,5vw,48px) var(--serif)}.generic-date-row strong{font-weight:500}.generic-event footer img{width:70px;height:70px;object-fit:contain}.generic-event footer img[hidden]{display:none}
@media(max-width:900px){.event-app-brand small,.event-workspace-bar label{display:none}.event-workspace-bar{gap:12px;padding-inline:18px}.event-workspace-bar select{max-width:260px}.event-hub{padding-top:32px}.event-hub-header{gap:20px}.event-hub-summary{gap:10px}.event-hub-grid{gap:16px}.event-hub-card{padding:20px}}
@media(max-width:600px){.event-workspace-bar{gap:8px;padding:9px 12px;flex-wrap:wrap}.event-app-brand{font-size:20px}.event-workspace-bar form{flex:1}.event-workspace-bar select{width:100%;max-width:none;font-size:11px;min-width:0}.event-workspace-bar>.event-status{display:none}.event-all-link{font-size:10px}.event-hub{padding:30px 16px 80px}.event-hub-header{align-items:start;flex-direction:column;gap:16px}.event-hub-header h1{font-size:42px}.event-hub-header .button{width:100%;justify-content:center}.event-hub-summary{grid-template-columns:1fr 1fr}.event-hub-grid{grid-template-columns:1fr}.event-hub-summary article{padding:16px}.event-settings-grid{grid-template-columns:1fr}.event-settings-grid input,.event-settings-grid select,.event-settings-grid textarea{font-size:16px}.event-readiness-list article{gap:14px;flex-direction:column}.event-create-dialog{padding:20px 16px}.event-create-dialog h2{font-size:29px}.generic-event .floral-welcome-frame{min-height:100svh}.generic-event .countdown-digits{gap:14px}body:has(>.event-workspace-bar) .invitation-studio{height:auto;min-height:calc(100dvh - 58px)}}
.event-template-fields>summary{font-size:12px;color:#748965;cursor:pointer;margin:14px 0}.event-template-fields>p{font-size:11px;line-height:1.8;color:#819075}

.studio-event-theme{display:grid;gap:8px;padding:14px;border:1px solid #d8dfd2;border-radius:10px;background:#fafbf7;margin-bottom:14px}.studio-event-theme strong{font-size:13px;color:#304636}.studio-event-theme>span{font-size:11px;color:#6d7867}.studio-theme-swatches{display:flex;gap:7px}.studio-theme-swatches i{display:block;width:24px;height:24px;border:1px solid #26382f30;border-radius:50%}
.generic-event .floral-welcome-frame{background:transparent}.generic-event .formal-invitation[data-title-font=script] h1{font-family:'Great Vibes',cursive}.generic-event .formal-invitation[data-title-font=serif] h1{font-family:var(--serif)}

/* Selectable invitation entrances */
.entry-glass{display:contents}.entry-scene,.entry-seal{display:none}.studio-entry-controls{padding:14px;background:#f2f5ed;border:1px solid #d9e1d0;border-radius:10px;margin-bottom:18px}.studio-entry-controls small{display:block;font-size:11px;line-height:1.6;margin-top:9px}.studio-entry-controls select{font-size:12px;width:100%}
.invitation-cover:not([data-entrance=glass]){left:0;right:0;width:100%;transform:none;box-shadow:none;background:radial-gradient(ellipse at 50% 35%,#fffdf7,#e7dfd0);perspective:1600px;--entry-width:min(84vw,660px);--entry-height:calc(var(--entry-width)*.65);isolation:isolate}.invitation-cover:not([data-entrance=glass]) .entry-glass{display:none}.invitation-cover:not([data-entrance=glass]) .cover-tap{top:auto;bottom:max(6%,28px);font-size:clamp(9px,1.1vw,12px);letter-spacing:2px;color:#574535;text-shadow:0 1px 4px #fff}.invitation-cover:not([data-entrance=glass]) .cover-tap:before{display:none}.invitation-cover[data-entrance=envelope] .entry-envelope,.invitation-cover[data-entrance=book] .entry-book,.invitation-cover[data-entrance=curtain] .entry-curtains{display:block}.entry-scene{position:absolute;inset:0;pointer-events:none}.entry-scene strong{font:400 clamp(24px,4vw,45px)/1.2 var(--serif);white-space:normal;text-align:center}.entry-kicker{font:500 9px 'DM Sans',sans-serif;letter-spacing:3px}.invitation-cover:not([data-entrance=glass]) .cover-open{position:absolute;left:50%;top:55%;width:clamp(64px,12vw,94px);height:clamp(64px,12vw,94px);transform:translate(-50%,-50%);padding:0;border:0;z-index:12;pointer-events:auto;border-radius:50%;background:none;box-shadow:none}.invitation-cover:not([data-entrance=glass]) .cover-open:before{display:none}.invitation-cover:not([data-entrance=glass]) .entry-seal{display:grid;place-items:center;position:relative;width:100%;height:100%;border-radius:47% 51% 46% 49%;background:radial-gradient(circle at 32% 22%,#dbb692,#a57959 54%,#60432e);border:2px solid #b78e68;box-shadow:inset 0 2px 3px #fff0c9aa,inset 0 -5px 6px #67412e,0 5px 0 #67462f,0 10px 15px #42281866;transition:filter .2s}.entry-seal:after{content:'';position:absolute;inset:8%;border:1px solid #f6d9af99;border-radius:50%;box-shadow:inset 0 1px 2px #53332399}.entry-seal img{width:80%;height:80%;object-fit:contain;border-radius:50%;filter:drop-shadow(0 1px 1px #503523)}.entry-seal img[hidden]{display:none}.entry-seal:has(img:not([hidden])) .entry-seal-symbol{display:none}.entry-seal-symbol{font:40px var(--serif);color:#eed9b6;text-shadow:0 2px 1px #6c432e}.invitation-cover:not([data-entrance=glass]) .cover-open:hover{filter:brightness(1.09)}
.envelope-body,.envelope-paper,.envelope-shadow{position:absolute;left:50%;top:50%;width:var(--entry-width);height:var(--entry-height);transform:translate(-50%,-50%);border-radius:5px}.envelope-shadow{box-shadow:0 30px 60px #58402844;filter:blur(10px);transform:translate(-50%,-44%)}.envelope-body{background:#b3bda8;filter:drop-shadow(0 10px 12px #4a49383b);perspective:1100px;transform-style:preserve-3d;transition:transform 1.3s .95s cubic-bezier(.6,0,.3,1),opacity 1s 1.8s}.envelope-lining{position:absolute;inset:0;background:repeating-linear-gradient(40deg,#a4b19b 0 1px,#c0c9b7 1px 9px);border:1px solid #78856d;border-radius:5px}.envelope-fold-left,.envelope-fold-right,.envelope-fold-bottom,.envelope-flap{position:absolute;inset:0;backface-visibility:visible}.envelope-fold-left{clip-path:polygon(0 0,55% 52%,0 100%);background:linear-gradient(110deg,#dfe3d2,#abb89d);filter:drop-shadow(2px 0 1px #566448)}.envelope-fold-right{clip-path:polygon(100% 0,45% 52%,100% 100%);background:linear-gradient(250deg,#dfe5d5,#b4bea6)}.envelope-fold-bottom{clip-path:polygon(0 100%,50% 43%,100% 100%);background:linear-gradient(15deg,#b9c4ab,#e4e8d8);box-shadow:inset 0 -2px 0 #8e9a7e}.envelope-flap{clip-path:polygon(0 0,100% 0,50% 58%);transform-origin:50% 0;z-index:5;background:linear-gradient(172deg,#e5e9dc,#bcc8ad);filter:drop-shadow(0 3px 2px #58684777);transition:transform 1s .15s cubic-bezier(.4,0,.25,1)}.envelope-paper{height:calc(var(--entry-height)*.88);width:calc(var(--entry-width)*.9);background:linear-gradient(125deg,#fffdf6,#f0e8d9);border:1px solid #d2bf9d;box-shadow:inset 0 0 0 12px #fffaf1,0 2px 5px #61513d22;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#58624b;transition:transform 1.5s .8s ease,opacity .6s 2.5s}.envelope-paper strong{max-width:85%}.envelope-paper>span:last-child{font-size:12px;letter-spacing:2px}.invitation-cover[data-entrance=envelope].opening .envelope-flap{transform:rotateX(180deg);z-index:0}.invitation-cover[data-entrance=envelope].opening .envelope-paper{transform:translate(-50%,-110%);opacity:0}.invitation-cover[data-entrance=envelope].opening .envelope-body{transform:translate(-50%,70%) rotateX(-12deg);opacity:0}.invitation-cover[data-entrance=envelope].opening .envelope-shadow{opacity:0;transition:opacity 1s}
.entry-book{width:min(74vw,430px);height:min(65svh,580px);inset:50% auto auto 50%;transform:translate(-50%,-50%);perspective:1600px;transform-style:preserve-3d}.book-pages{position:absolute;inset:4px -7px 4px 8px;border-radius:3px 12px 12px 3px;background:repeating-linear-gradient(90deg,#e9d4a0 0 1px,#fff7de 1px 3px);box-shadow:15px 20px 35px #39352244;border:1px solid #a88c53}.book-front{position:absolute;inset:0;transform-origin:left center;transform-style:preserve-3d;backface-visibility:visible;background:repeating-linear-gradient(0deg,#ffffff04 0 1px,#00000004 1px 3px),repeating-linear-gradient(90deg,#ffffff05 0 1px,#00000004 1px 3px),linear-gradient(120deg,#526953,#273f32);border:1px solid #728268;border-radius:4px 12px 12px 4px;box-shadow:inset 2px 1px 3px #aab29c,8px 2px 8px #1f332844;transition:transform 2.6s .2s cubic-bezier(.4,0,.2,1);color:#efdbac;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:30px;padding:15% 10% 28%}.book-border{position:absolute;inset:18px;border:1px solid #c4ab72;box-shadow:0 0 0 4px #d6bd8022}.book-spine{position:absolute;left:8px;top:0;bottom:0;width:9px;background:linear-gradient(90deg,#172e26bb,#78857077,#283b29)}.book-date{font-size:11px;letter-spacing:2px}.invitation-cover[data-entrance=book] .cover-open{top:77%}.invitation-cover[data-entrance=book].opening .book-front{transform:rotateY(-148deg)}.invitation-cover[data-entrance=book].opening .entry-book{opacity:0;transition:opacity .6s 2.6s}.invitation-cover[data-entrance=book].opening .book-pages{box-shadow:3px 5px 10px #39352222}
.curtain-panel{position:absolute;inset:0 auto 0 0;width:51%;background:repeating-linear-gradient(90deg,#2b3e32 0%,#65715b 5%,#263c2f 10%,#14271d 13%,#40553e 18%);box-shadow:inset -10px 0 22px #10291eb3,9px 0 15px #10291e88;transform-origin:left top;transition:transform 2.7s .2s cubic-bezier(.6,.01,.25,1);border-bottom:8px solid #ac8d55}.curtain-right{left:auto;right:0;transform-origin:right top;background-position:right}.curtain-rod{position:absolute;top:0;left:0;right:0;height:16px;background:linear-gradient(#e9d4a0,#775633,#d9ba7b);z-index:3}.curtain-valance{position:absolute;left:0;right:0;top:12px;height:10%;border-radius:0 0 40% 40%;background:repeating-linear-gradient(90deg,#1d3527,#526747 8%,#263d2c 15%);border-bottom:4px solid #b3945f;box-shadow:0 7px 15px #10291e88;z-index:2;transition:transform 1.6s .6s}.invitation-cover[data-entrance=curtain] .cover-tap{color:#f5e9ce;text-shadow:0 1px 3px #1b2f21}.invitation-cover[data-entrance=curtain].opening .curtain-left{transform:translateX(-83%) scaleX(.38)}.invitation-cover[data-entrance=curtain].opening .curtain-right{transform:translateX(83%) scaleX(.38)}.invitation-cover[data-entrance=curtain].opening .curtain-valance{transform:translateY(-130%)}.invitation-cover:not([data-entrance=glass]).opening{background:transparent;transition:background 1.6s 1s}.invitation-cover:not([data-entrance=glass]).opening .cover-open{opacity:0;transition:opacity .25s;transform:translate(-50%,-50%) scale(.9)}
.invitation-cover[data-entrance=glass] .entry-seal{display:none}.generic-event .invitation-cover[data-entrance=glass] .door-hardware{visibility:hidden}.generic-event .invitation-cover[data-entrance=glass] .entry-seal{display:grid}.generic-event .invitation-cover[data-entrance=glass] .cover-open{background:radial-gradient(circle,#e7d8bd,#a18454);box-shadow:0 4px 8px #604b35}.generic-event .invitation-cover[data-entrance=glass] .entry-seal-symbol{font-size:38px;color:#59452b}.generic-event .invitation-cover[data-entrance=glass] .entry-seal img{width:100%;height:100%}.generic-event .invitation-cover[data-entrance=glass] .entry-seal{width:100%;height:100%}
@media(max-width:600px){.invitation-cover:not([data-entrance=glass]){--entry-width:88vw}.envelope-paper{gap:12px}.envelope-paper .entry-kicker{font-size:7px;letter-spacing:2px}.entry-scene strong{font-size:clamp(22px,6vw,34px)}.entry-book{height:min(65svh,530px)}.book-front{gap:24px}.invitation-cover:not([data-entrance=glass]) .cover-tap{bottom:max(8%,32px)}}
@media(prefers-reduced-motion:reduce){.envelope-body,.envelope-paper,.envelope-flap,.book-front,.entry-book,.curtain-panel,.curtain-valance,.invitation-cover:not([data-entrance=glass]){transition:none!important}}

/* Event media library */
.media-library{max-width:1500px;margin:auto;padding:36px 4% 80px}.media-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:32px}.media-heading h1{font-size:clamp(38px,5vw,60px);margin:8px 0 12px}.media-heading p:last-child{font-size:13px;color:#74826b;line-height:1.6}.media-heading-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.media-heading-actions .button{font-size:12px;padding:14px 18px;border-radius:8px}.media-toolbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fdfbf5ed;backdrop-filter:blur(14px);padding:16px;border:1px solid #dde4d5;border-radius:10px;box-shadow:0 6px 15px #26382f08}.media-toolbar label{margin:0}.media-toolbar input,.media-toolbar select{margin:0;background:#fffdf8;border:1px solid #d6dfce;border-radius:7px;padding:11px 12px;font-size:13px;min-height:43px}.media-search{flex:1;min-width:180px}.media-search input{width:100%}.media-trash-toggle{display:flex;gap:7px;align-items:center;white-space:nowrap;font-size:12px}.media-toolbar .media-trash-toggle input{min-height:auto}.media-count{font-size:11px;color:#7d8c73}.media-toolbar .button{padding:12px 18px;border-radius:7px;font-size:12px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:20px;margin:22px 0}.media-tile{border:1px solid #d8dfd0;border-radius:11px;background:#fffdf8;overflow:hidden;text-align:left;padding:0;box-shadow:0 3px 10px #26382f04;color:#354b32;transition:box-shadow .2s,transform .2s;min-width:0}.media-tile:hover{box-shadow:0 8px 22px #26382f18;transform:translateY(-3px)}.media-tile:focus-visible{outline:3px solid #6c855d;outline-offset:4px}.media-thumb{display:grid;place-items:center;aspect-ratio:1;background:repeating-conic-gradient(#e9eade 0% 25%,#f8f8f1 0% 50%) 50%/20px 20px;padding:16px}.media-thumb img{width:100%;height:100%;object-fit:contain;min-height:0;max-height:210px}.media-tile strong,.media-tile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 13px}.media-tile strong{font:500 13px 'DM Sans',sans-serif;margin-top:14px}.media-tile small{font-size:10px;color:#7f8d73;margin:8px 0 14px}.media-empty{grid-column:1/-1;text-align:center;padding:70px 20px;color:#7e8d74}.media-empty>span{font-size:54px}.media-empty h2{font-size:32px;color:#425c3b}.media-status{font-size:13px;color:#7c5037;min-height:18px}.media-details,.media-upload-dialog{border:1px solid #d6dfcd;background:#faf8f0;color:#354c32;border-radius:16px;padding:24px;width:min(1180px,94vw);max-height:92dvh;overflow:auto;box-shadow:0 35px 90px #172c3155}.media-details::backdrop,.media-upload-dialog::backdrop{background:#192f25aa;backdrop-filter:blur(5px)}.media-details>header,.media-upload-dialog>header{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:20px}.media-details h2,.media-upload-dialog h2{font-size:32px;line-height:1.2;overflow-wrap:anywhere;margin:6px 0}.media-details header button,.media-upload-dialog header button{border:1px solid #cdd5c2;border-radius:50%;background:transparent;width:38px;height:38px;flex:none;font-size:22px}.media-detail-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:28px}.media-preview-area{background:#eaece2;border-radius:10px;padding:20px;align-self:start;text-align:center;position:sticky;top:0}.media-preview-area>img,.media-preview-area>canvas{max-height:57dvh;max-width:100%;width:auto;height:auto;object-fit:contain;margin:0 auto 20px;display:block}.media-preview-area [hidden]{display:none!important}.media-preview-area p{font-size:11px;line-height:1.7;color:#728064}.media-detail-controls label,.media-upload-dialog label{display:block;font-size:12px;margin-bottom:15px}.media-detail-controls input,.media-detail-controls textarea,.media-detail-controls select,.media-upload-dialog input,.media-upload-dialog select{width:100%;border:1px solid #d1d9c7;border-radius:7px;background:#fffdf7;padding:11px;margin-top:7px;font:14px 'DM Sans',sans-serif;color:#34492f}.media-detail-controls small{font-size:10px;line-height:1.6;display:block;color:#7c896e;margin-top:6px}.media-detail-controls .button,.media-upload-dialog .button{padding:12px 18px;border-radius:7px;font-size:12px}.media-detail-controls details{border-top:1px solid #d7dfcd;padding-top:15px;margin-top:20px}.media-detail-controls summary{cursor:pointer;font-weight:500;font-size:13px}.media-detail-controls details p{font-size:11px;line-height:1.7;color:#7b886e}.media-crop-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.media-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.media-danger{color:#91483e;border:1px solid #dabdb2;background:#fff6ef;border-radius:7px;padding:11px;font-size:11px}.media-danger:disabled{opacity:.45;cursor:not-allowed}.media-upload-dialog{max-width:560px}.media-dropzone{padding:25px;border:2px dashed #b6c5a6;border-radius:12px;text-align:center;background:#eef2e7}.media-dropzone span{display:block;font-size:11px;line-height:1.8;margin-top:15px}.media-pagination svg{width:20px;height:20px}.media-pagination{margin-top:30px}.media-pagination nav{display:flex;justify-content:space-between;gap:20px}.media-pagination a{display:inline-block;padding:8px 12px;border:1px solid #d5dfca;border-radius:6px}.media-pagination p{font-size:12px}.media-pagination nav>div{display:flex;gap:10px;align-items:center}.media-pagination nav>div:first-child{display:none}
@media(max-width:700px){.media-library{padding:26px 16px 60px}.media-heading{align-items:start;flex-direction:column}.media-heading-actions{width:100%;gap:12px}.media-heading-actions .button{flex:1;white-space:nowrap;font-size:11px}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.media-toolbar{gap:9px;padding:12px}.media-search{flex-basis:100%}.media-toolbar select{max-width:190px}.media-count{width:100%}.media-detail-layout{grid-template-columns:1fr;gap:20px}.media-preview-area{position:static}.media-details,.media-upload-dialog{padding:18px;width:calc(100vw - 20px);max-height:94dvh;border-radius:14px}.media-details h2{font-size:26px}.media-preview-area>img,.media-preview-area>canvas{max-height:34dvh}.media-detail-controls input,.media-detail-controls textarea,.media-detail-controls select,.media-upload-dialog input,.media-upload-dialog select{font-size:16px}.media-heading h1{font-size:44px}}
.media-library [hidden]{display:none!important}
.media-toolbar .button{width:auto}.media-toolbar>label:nth-child(2){min-width:0}@media(max-width:700px){.media-toolbar select{max-width:158px;width:100%}.media-toolbar .button{padding:12px}}
.studio-media-dialog{padding:0;border:1px solid #cad6bc;border-radius:14px;background:#faf8f0;width:min(1320px,96vw);max-width:96vw;height:94dvh;max-height:94dvh;overflow:hidden;box-shadow:0 30px 90px #1e332a66}.studio-media-dialog::backdrop{background:#1b3029aa;backdrop-filter:blur(5px)}.studio-media-dialog>header{height:56px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8e0d0}.studio-media-dialog>header button{background:transparent;border:1px solid #bdcdb0;border-radius:50%;width:32px;height:32px;font-size:22px}.studio-media-dialog>iframe{border:0;width:100%;height:calc(100% - 56px);display:block}
.invitation-cover:not([data-entrance=glass]){--entry-width:min(84vw,660px,90svh);--book-height:min(65svh,580px)}.entry-book{width:min(74vw,430px,calc(var(--book-height)*.74));height:var(--book-height)}.invitation-cover[data-entrance=book] .cover-open{top:calc(50% + var(--book-height)*.34)}.invitation-cover[data-entrance=envelope] .cover-open{top:calc(50% + var(--entry-height)*.08)}@media(max-width:600px){.invitation-cover:not([data-entrance=glass]){--entry-width:min(88vw,90svh);--book-height:min(65svh,530px)}.entry-book{height:var(--book-height)}}

/* Typography and safe inline text */
.studio-editor-source[hidden]{display:none!important}.studio-rich-editor{margin:8px 0;border:1px solid #cbd6bf;border-radius:8px;background:#fffdf7;overflow:hidden}.studio-rich-toolbar{display:none;flex-wrap:wrap;gap:4px;padding:7px;background:#edf2e5;border-bottom:1px solid #d2dcc6}.studio-rich-editor:focus-within .studio-rich-toolbar{display:flex}.studio-rich-toolbar button{min-width:28px;height:29px;padding:3px 7px;border:1px solid #bfcdb2;border-radius:4px;background:#fffdf6;color:#354832;font:600 12px 'DM Sans',sans-serif}.studio-rich-toolbar select{width:auto;max-width:135px;padding:4px;margin:0;min-height:29px;font:11px 'DM Sans',sans-serif;border:1px solid #bfcdb2;border-radius:4px}.studio-rich-toolbar input[type=color]{width:30px;height:29px;padding:2px;margin:0;border:1px solid #bfcdb2;border-radius:4px}.studio-rich-input{min-height:50px;max-height:300px;overflow:auto;padding:12px;outline:none;font:14px/1.6 'DM Sans',sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;color:#344a30;cursor:text}.studio-rich-editor:focus-within{box-shadow:0 0 0 2px #8ba17b55}.studio-rich-input:empty:before{content:'Write your text…';color:#97a18d}.studio-rich-editor.is-readonly{opacity:.7}.studio-rich-input div,.studio-rich-input p{margin:0}.studio-inspector-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important}.formal-invitation[data-title-font] h1{font-family:var(--studio-title-font,var(--serif))!important}.formal-invitation[data-body-font] .invitation-intro,.formal-invitation[data-body-font] .invitation-names,.formal-invitation[data-body-font] .invitation-wording,.formal-invitation[data-body-font] .invitation-parents{font-family:var(--studio-body-font,var(--serif))}.design-hide-art .welcome-floral-scene,.design-hide-art .scratch-floral-frame,.design-hide-art [data-design-original-graphic]{display:none!important}.design-hide-art .floral-welcome-frame{background:transparent}.studio-layer-list{display:grid;gap:6px;margin:14px 0}.studio-layer-list button{padding:10px;border:1px solid #d1dcc4;border-radius:6px;background:#f9fbf4;text-align:left;font:12px 'DM Sans',sans-serif;color:#41563a;overflow-wrap:anywhere}.studio-layer-list button[aria-pressed=true]{background:#dce8d0;border-color:#7f9b6b}.studio-layer-actions{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}.studio-layer-actions button{padding:7px;border:1px solid #c7d4bb;border-radius:5px;background:#f5f8ed;font-size:10px}#studio-layer-settings[hidden]{display:none!important}
/* Layer planes and compositor-friendly motion */
[data-design-section]{isolation:isolate}.design-image-layer{position:absolute;pointer-events:none;max-width:none;transform-origin:center;will-change:transform}.design-image-layer[hidden]{display:none!important}.design-image-layer>img{display:block;width:100%;height:auto;max-width:none;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}.layer-offscreen .design-image-layer>img{animation-play-state:paused}.studio-full-preview .design-image-layer{pointer-events:auto;cursor:move;touch-action:none}.studio-full-preview .design-image-layer>img{pointer-events:auto}.design-image-layer:not(.layer-front){z-index:0}[data-design-section]>.floral-welcome-frame,[data-design-section]>.scratch-card,[data-design-section]>.programme-heading,[data-design-section]>.programme-timeline{position:relative;z-index:10}.design-image-layer.layer-front{z-index:20}@keyframes studio-layer-float{from{transform:translateY(-8px)}to{transform:translateY(8px)}}@keyframes studio-layer-sway{from{transform:rotate(-3deg)}to{transform:rotate(3deg)}}@keyframes studio-layer-drift{from{transform:translate(-12px,4px)}to{transform:translate(12px,-4px)}}@keyframes studio-layer-zoom{from{transform:scale(.96)}to{transform:scale(1.04)}}@keyframes studio-layer-fade{from{opacity:.55}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.design-image-layer>img{animation:none!important}}
[data-font="script"]{font-family:"Great Vibes",cursive!important}
[data-font="serif"]{font-family:"Cormorant Garamond",Georgia,serif!important}
[data-font="sans"]{font-family:"DM Sans",sans-serif!important}
[data-font="playfair"]{font-family:"Playfair Display",Georgia,serif!important}
[data-font="lora"]{font-family:"Lora",Georgia,serif!important}
[data-font="baskerville"]{font-family:"Libre Baskerville",Georgia,serif!important}
[data-font="cinzel"]{font-family:"Cinzel",Georgia,serif!important}
[data-font="montserrat"]{font-family:"Montserrat",sans-serif!important}
[data-font="inter"]{font-family:"Inter",sans-serif!important}
[data-font="dancing"]{font-family:"Dancing Script",cursive!important}
[data-font="allura"]{font-family:"Allura",cursive!important}
[data-invitation-scene]>.welcome-floral-scene{z-index:0}[data-invitation-scene]>.floral-welcome-copy{z-index:12}[data-design-section]:not([data-design-section=cover]):not([data-design-section=invitation])>:is(h1,h2,h3,p,button,a,form,details,div):not(.design-image-layer):not(.design-decoration){position:relative;z-index:10}
/* Original stationery-inspired entrance collection */
.invitation-cover[data-entrance=ribbon] .entry-ribbon,.invitation-cover[data-entrance=gatefold] .entry-gatefold,.invitation-cover[data-entrance=keepsake] .entry-keepsake,.invitation-cover[data-entrance=bloom] .entry-bloom{display:block}.ribbon-card{position:absolute;width:min(78vw,440px,48svh);height:min(68svh,610px);left:50%;top:50%;transform:translate(-50%,-50%);padding:16% 8%;display:flex;align-items:center;justify-content:space-between;flex-direction:column;text-align:center;background:repeating-linear-gradient(0deg,#fffef708 0 2px,#c7bfa808 2px 3px),#fffaf0;box-shadow:inset 0 0 0 12px #f7efdf,inset 0 0 0 13px #d1ba8b,0 15px 45px #65533c30;border:1px solid #d5c7ad;color:#5f654f;transition:transform 1.9s .9s,opacity .8s 2s}.ribbon-card>span:last-child{font-size:12px;letter-spacing:2px}.silk-band{position:absolute;top:calc(50% - 28px);height:56px;width:50%;background:linear-gradient(#7b8d70,#d2dbbd 13%,#adbfa1 45%,#829877 60%,#bdcba9 90%,#718468);box-shadow:0 4px 5px #44553544,inset 0 1px 1px #f8ffe4;transition:transform 1.8s .35s,opacity 1s 1.6s}.silk-band-left{left:0;transform-origin:right center}.silk-band-right{right:0;transform-origin:left center}.ribbon-bow{position:absolute;left:50%;top:50%;width:110px;height:62px;border:1px solid #879c77;background:linear-gradient(150deg,#e0e9ce,#8b9f7c 40%,#c1cfaa 65%,#6c825c);box-shadow:inset 0 3px 4px #f5ffe2,0 5px 5px #42543055;transition:transform 1.4s,opacity 1s}.ribbon-bow-left{border-radius:90% 30% 25% 70%;transform:translate(-95%,-50%) rotate(16deg)}.ribbon-bow-right{border-radius:30% 90% 70% 25%;transform:translate(-5%,-50%) rotate(-16deg)}.invitation-cover[data-entrance=ribbon] .cover-open{top:50%;width:70px;height:70px}.invitation-cover[data-entrance=ribbon].opening .ribbon-bow-left{transform:translate(-230%,-100%) rotate(-20deg);opacity:0}.invitation-cover[data-entrance=ribbon].opening .ribbon-bow-right{transform:translate(130%,30%) rotate(25deg);opacity:0}.invitation-cover[data-entrance=ribbon].opening .silk-band-left{transform:translateX(-110%) rotate(-12deg);opacity:0}.invitation-cover[data-entrance=ribbon].opening .silk-band-right{transform:translateX(110%) rotate(12deg);opacity:0}.invitation-cover[data-entrance=ribbon].opening .ribbon-card{transform:translate(-50%,-65%) scale(1.05);opacity:0}
.gatefold-card{position:absolute;inset:50% auto auto 50%;width:min(82vw,600px,95svh);height:min(65svh,570px);transform:translate(-50%,-50%);perspective:1500px;filter:drop-shadow(0 18px 25px #51432e33)}.gatefold-page{position:absolute;inset:0 auto 0 0;width:50%;border:1px solid #c2a575;background:radial-gradient(ellipse at 100% 50%,#fffef8,#eee5d3);box-shadow:inset 0 0 0 12px #fdf7e9,inset 0 0 0 13px #ccb484;transform-origin:left center;transition:transform 2.5s .2s,opacity 1s 1.8s;backface-visibility:visible}.gatefold-right{left:auto;right:0;transform-origin:right center;background:radial-gradient(ellipse at 0 50%,#fffef8,#eee5d3)}.gatefold-page:before{content:'';position:absolute;inset:15%;border:1px solid #b89c6777;border-radius:50%;box-shadow:inset 1px 2px 1px #fffef4,1px 2px 1px #b49a6a44}.gatefold-emboss{position:absolute;left:50%;top:50%;font-size:clamp(55px,12vw,130px);color:#b99d6a;text-shadow:1px 2px 0 #fff9e4,-1px -1px 0 #91774d;transform:translate(-50%,-50%)}.invitation-cover[data-entrance=gatefold] .cover-open{top:50%}.invitation-cover[data-entrance=gatefold].opening .gatefold-left{transform:rotateY(-145deg);opacity:0}.invitation-cover[data-entrance=gatefold].opening .gatefold-right{transform:rotateY(145deg);opacity:0}
.keepsake-base,.keepsake-lid{position:absolute;left:50%;top:50%;width:min(82vw,620px,95svh);height:min(53svh,420px);padding:8%;transform:translate(-50%,-50%);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:22px}.keepsake-base{background:#f7efdd;border:10px solid #81734f;box-shadow:0 12px 0 #67583c,0 25px 35px #392e2455,inset 0 0 0 2px #cbbb91;color:#665d43;transition:opacity .8s 2s}.keepsake-lid{background:repeating-linear-gradient(45deg,#ffffff05 0 1px,#00000005 1px 3px),linear-gradient(140deg,#687457,#34482e);color:#f2deb0;border:1px solid #bba66b;box-shadow:inset 0 0 0 12px #35482f,inset 0 0 0 13px #b9a46a,0 10px 0 #243622,0 15px 10px #24362277;transform-origin:center top;transition:transform 2.4s .2s cubic-bezier(.4,0,.2,1),opacity .9s 1.8s}.keepsake-lid strong{font-size:clamp(23px,4vw,40px)}.keepsake-lid>span:last-child{font-size:11px;letter-spacing:2px}.invitation-cover[data-entrance=keepsake] .cover-open{top:calc(50% + min(53svh,420px)*.28)}.invitation-cover[data-entrance=keepsake].opening .keepsake-lid{transform:translate(-50%,-90%) rotateX(65deg) rotateZ(-5deg);opacity:0}.invitation-cover[data-entrance=keepsake].opening .keepsake-base{opacity:0}
.bloom-arch{position:absolute;left:0;top:0;width:50%;height:100%;background:radial-gradient(ellipse at 100% 50%,#fffcf3,#e0e6d4);border-right:1px solid #c4b17e;box-shadow:inset -6px 0 20px #a7ab8d33;transition:transform 2.6s .3s,opacity 1.5s 1.3s}.bloom-right{left:auto;right:0;border-right:0;border-left:1px solid #c4b17e;background:radial-gradient(ellipse at 0 50%,#fffcf3,#e0e6d4)}.bloom-leaf{position:absolute;left:50%;top:50%;width:clamp(40px,9vw,86px);height:clamp(95px,19vw,170px);background:linear-gradient(80deg,#6a7958,#a9b697 47%,#7b8d68 50%,#bec8a4 54%,#657752);border:1px solid #a3a46c;border-radius:95% 0 95% 0;transform:translate(-50%,-50%) rotate(var(--leaf-angle)) translateY(-110%);transform-origin:50% 50%;box-shadow:2px 5px 8px #40503226;transition:transform 2.5s var(--leaf-delay),opacity 1.6s var(--leaf-delay)}.invitation-cover[data-entrance=bloom] .cover-open{top:50%}.invitation-cover[data-entrance=bloom].opening .bloom-left{transform:translateX(-100%);opacity:0}.invitation-cover[data-entrance=bloom].opening .bloom-right{transform:translateX(100%);opacity:0}.invitation-cover[data-entrance=bloom].opening .bloom-leaf{transform:translate(-50%,-50%) rotate(var(--leaf-angle)) translateY(-380%) scale(.7);opacity:0}
@media(max-width:600px){.ribbon-bow{width:82px;height:48px}.silk-band{height:42px;top:calc(50% - 21px)}.ribbon-card{padding:20% 8%}.keepsake-lid{gap:16px}.keepsake-lid .entry-kicker{font-size:7px;letter-spacing:2px}}@media(prefers-reduced-motion:reduce){.ribbon-card,.silk-band,.ribbon-bow,.gatefold-page,.keepsake-base,.keepsake-lid,.bloom-arch,.bloom-leaf{transition:none!important}}
.studio-rich-toolbar input[type=text]{width:80px;min-height:29px;height:29px;padding:4px;margin:0;font:11px 'DM Sans',sans-serif;border:1px solid #bfcdb2;border-radius:4px}.studio-colour-row>input[type=text]{min-width:0;width:95px;font-size:12px}.studio-rich-input[data-rich-field], [data-rich-signature]{white-space:pre-wrap}
.studio-plain-editor .studio-rich-toolbar{display:none!important}
[data-rich-signature]{overflow-wrap:anywhere}[data-design-section]{overflow-x:clip}

/* Keep the stationery title clear of the ribbon and seal at every aspect ratio. */
.ribbon-card>strong{position:absolute;left:8%;right:8%;top:30%;transform:translateY(-50%);font-size:clamp(22px,4vw,38px);overflow-wrap:anywhere}.ribbon-card>.entry-kicker{position:absolute;top:15%;left:8%;right:8%}.ribbon-card>span:last-child{position:absolute;bottom:15%;left:8%;right:8%}
/* Section composition, motion tools and accessible navigation. */
.studio-inspector-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px}.studio-section-management{padding:12px 18px;border-bottom:1px solid #d9dfd0}.studio-section-management summary{font:500 12px 'DM Sans',sans-serif;cursor:pointer}.studio-section-management label{display:block;font-size:12px;margin-top:16px}.studio-section-management input{width:100%;padding:10px;background:#fffdf6;border:1px solid #ccd6bf;border-radius:6px;color:#354b3e}.studio-section-management small{font-size:10px;line-height:1.7;color:#7b886f}.studio-section-rail>#studio-add-section{margin:0 12px 15px;width:calc(100% - 24px);padding:10px}.studio-section-list button[draggable=true]{cursor:grab}.studio-section-list button[draggable=true]:active{cursor:grabbing}.studio-add-dialog{width:min(520px,calc(100vw - 24px));max-height:90dvh;overflow:auto;border:1px solid #becbad;border-radius:15px;padding:24px;background:#faf9f1;color:#354b3e;box-shadow:0 25px 80px #19322455}.studio-add-dialog::backdrop{background:#19322499;backdrop-filter:blur(4px)}.studio-add-dialog header{display:flex;align-items:center;justify-content:space-between;gap:15px}.studio-add-dialog h2{font-size:34px;margin:0}.studio-add-dialog header button{border:1px solid #bdcaaa;background:transparent;border-radius:50%;width:34px;height:34px;font-size:22px}.studio-add-dialog p{font:13px/1.7 'DM Sans',sans-serif}.studio-add-dialog label{display:block;margin:22px 0;font-size:12px}.studio-add-dialog select{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid #c1cdb4;border-radius:7px;background:#fffdf6;color:#354b3e}.studio-add-dialog .button{padding:13px 18px}.studio-add-dialog hr{border:0;border-top:1px solid #d5deca;margin:24px 0}.studio-custom-section{min-height:0;display:flex;align-items:center;justify-content:center;padding:clamp(36px,6vw,80px) clamp(24px,6vw,100px);background:#faf5e9;color:#354b3e;overflow:clip}.custom-section-copy{position:relative;z-index:12;width:min(100%,760px);text-align:inherit}.custom-section-copy h2{font:400 clamp(36px,6vw,72px)/1.15 var(--serif);margin:22px 0;overflow-wrap:anywhere}.custom-section-copy [data-design-text$=".body"]{font:18px/1.8 var(--serif);white-space:pre-wrap;overflow-wrap:anywhere}.custom-section-link{display:inline-block;margin-top:28px;padding:13px 25px;border:1px solid currentColor;border-radius:6px;color:inherit;font:13px 'DM Sans',sans-serif}.custom-section-link[hidden]{display:none!important}.design-custom-navigation>.welcome-scroll,.design-custom-navigation .welcome-scroll{display:none!important}.section-navigation{position:absolute!important;z-index:35!important;display:flex;gap:8px;align-items:center;width:auto!important}.section-navigation[data-vertical=top]{top:24px}.section-navigation[data-vertical=middle]{top:50%;translate:0 -50%}.section-navigation[data-vertical=bottom]{bottom:24px}.section-navigation[data-horizontal=left]{left:24px}.section-navigation[data-horizontal=center]{left:50%;transform:translateX(-50%)}.section-navigation[data-horizontal=right]{right:24px}.section-navigation a{width:var(--nav-size,46px);height:var(--nav-size,46px);min-width:28px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--nav-color) 30%,transparent);background:var(--nav-background);color:var(--nav-color);font:400 calc(var(--nav-size,46px)*.5)/1 Georgia,serif;text-decoration:none;box-shadow:0 3px 12px #26382f15;transition:translate .2s,scale .2s,color .2s,background .2s,box-shadow .2s}.section-navigation[data-shape=circle] a{border-radius:50%}.section-navigation[data-shape=square] a{border-radius:0}.section-navigation[data-shape=rounded] a{border-radius:12px}.section-navigation[data-shape=rectangle] a{width:calc(var(--nav-size)*1.6);border-radius:5px}.section-navigation[data-shape=none] a{background:transparent;border:0;box-shadow:none}.section-navigation a:hover{color:var(--nav-hover-color);background:var(--nav-hover-background)}.section-navigation[data-shape=none] a:hover{background:transparent;color:var(--nav-hover-background)}.section-navigation[data-hover=lift] a:hover{translate:0 -4px}.section-navigation[data-hover=grow] a:hover{scale:1.12}.section-navigation[data-hover=glow] a:hover{box-shadow:0 0 22px color-mix(in srgb,var(--nav-hover-background) 50%,transparent)}.section-navigation a:focus-visible{outline:3px solid currentColor;outline-offset:5px}.studio-full-preview .section-navigation{pointer-events:auto}.experience-motion:is(span,em,strong){display:inline-block}
@media(max-width:720px){.studio-section-rail>#studio-add-section{margin:10px 14px;width:calc(100% - 28px)}.section-navigation[data-horizontal=left]{left:16px}.section-navigation[data-horizontal=right]{right:16px}.studio-dynamic-fields input[type=number]{font-size:16px}.studio-add-dialog{padding:20px}}
@media(prefers-reduced-motion:reduce){.section-navigation a{transition:none!important}.section-navigation a:hover{scale:1!important;translate:0!important}}
.studio-inspector-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.studio-inspector-tabs button{min-width:0;padding:7px 3px}
.welcome-scroll[hidden]{display:none!important}
/* Layered backgrounds and gradient editing */
.design-gradient-layer{position:absolute;inset:0;z-index:1;pointer-events:none;background-size:100% 100%;background-repeat:no-repeat}.design-layer-paint{display:block;width:100%;height:auto;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}.design-shape-layer>.design-layer-paint{width:100%;height:100%}.design-image-layer.layer-fill>img{height:100%;object-fit:cover}.design-image-layer:not(.layer-front){z-index:2}.layer-offscreen .design-image-layer>.design-layer-paint{animation-play-state:paused}.studio-full-preview .design-image-layer>.design-layer-paint{pointer-events:auto}.studio-gradient-preview{height:125px;border:1px solid #c8d3bd;border-radius:10px;background-size:100% 100%}.studio-gradient-bar{position:relative;height:38px;margin:15px 12px 20px;border:1px solid #acbca0;border-radius:5px;touch-action:none;isolation:isolate}.gradient-stop-handle{position:absolute;top:24px;translate:-50% 0;width:22px;height:28px!important;min-height:28px!important;padding:0!important;border:3px solid #fffdf7;border-radius:4px;box-shadow:0 0 0 1px #849777;cursor:ew-resize}.gradient-stop-handle[aria-pressed=true]{box-shadow:0 0 0 3px #354d3a}.studio-gradient-presets{display:grid;grid-template-columns:1fr 1fr;gap:7px}.studio-gradient-presets strong{grid-column:1/-1;font-size:12px}.studio-gradient-presets button{min-height:40px;font-size:11px;border:1px solid #becdaf;border-radius:7px;background:#fffaf0;color:#354b3e;padding:7px}.studio-gradient-presets [data-gradient-preset=sage]{background:linear-gradient(120deg,#26382f,#f6e8ce);color:white}.studio-gradient-presets [data-gradient-preset=rose]{background:linear-gradient(120deg,#a66f67,#fffaf0)}.studio-gradient-presets [data-gradient-preset=midnight]{background:linear-gradient(120deg,#142530,#d7b981);color:white}.studio-gradient-presets [data-gradient-preset=pearl]{background:linear-gradient(120deg,#e2d8c7,#fffdf6,#c7d4c2)}#studio-shape-controls{display:grid;gap:14px;margin-top:16px}#studio-shape-controls[hidden],#studio-layer-image[hidden]{display:none!important}.studio-inspector-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important}.studio-inspector-tabs button{font-size:10px}.studio-preview-exit{display:none;position:sticky;top:0;z-index:200;align-items:center;justify-content:center;gap:18px;padding:12px 16px;background:#fffdf5f5;border-bottom:1px solid #c8d3bc;box-shadow:0 3px 18px #26382f18;color:#354b3e;font:12px 'DM Sans',sans-serif}.studio-preview-exit a{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border:1px solid #b7c6aa;border-radius:7px;background:#f4f7ee}.studio-standalone-preview>.studio-preview-exit,.standalone-wording-preview>.studio-preview-exit{display:flex}.studio-standalone-preview{padding-top:0}.studio-standalone-preview .invitation-cover{min-height:calc(100svh - 68px)}
@media(max-width:720px){.studio-back-label{display:inline!important;font-size:10px}.studio-back{width:auto!important;min-height:40px;gap:4px;padding:5px 7px;font-size:14px}.studio-header .studio-brand{font-size:11px}.studio-header .studio-brand small{display:none}.studio-header .button{font-size:10px;padding-inline:7px}.studio-header{gap:7px;padding:10px 12px}.studio-preview-exit{gap:8px;padding:8px;font-size:11px}.studio-preview-exit>span{display:none}.studio-preview-exit a{flex:1;justify-content:center}.studio-gradient-preview{height:145px}}
@media(prefers-reduced-motion:reduce){.design-layer-paint{animation:none!important}}
.floral-welcome>.welcome-scroll{z-index:40}
.studio-preview-exit{z-index:12000}
.studio-controls label[hidden]{display:none!important}
#studio-gradient-stop-list{display:flex!important;flex-wrap:wrap;gap:6px}#studio-gradient-stop-list button{flex:1;min-width:62px}
/* Keep the complete section list discoverable at every screen size. */
.studio-section-navigation-tools{display:flex;flex-direction:column;gap:10px;padding:0 12px 14px}.studio-section-jump{display:grid;gap:6px;font:500 10px 'DM Sans',sans-serif;color:#52664c;min-width:0}.studio-section-jump select{display:block;width:100%;min-width:0;min-height:42px;padding:8px 10px;border:1px solid #c7d3bb;border-radius:7px;background:#fffdf8;color:#354b3e;font:12px 'DM Sans',sans-serif}.studio-section-navigation-tools>#studio-add-section{margin:0;width:100%;padding:10px}
@media(max-width:1100px){.studio-section-navigation-tools{flex-direction:row;align-items:end;padding:10px 14px;gap:10px}.studio-section-jump{flex:1}.studio-section-navigation-tools>#studio-add-section{width:auto;flex:none;max-width:38%;font-size:11px}.studio-section-jump select{font-size:14px}}
.studio-section-jump{margin:0!important}

/* Responsive Studio shell: navigation owns its space instead of being clipped by fixed heights. */
.invitation-studio{--studio-header-height:68px;--studio-tabs-height:56px;min-width:0}.studio-grid>*{min-width:0}.studio-section-navigation-tools{flex:none}.studio-section-jump select{box-sizing:border-box;max-width:100%;text-overflow:ellipsis}.invitation-studio .studio-section-list{position:relative;min-width:0;min-height:58px}.invitation-studio .studio-section-list button{min-height:44px}.studio-controls{overscroll-behavior:contain}
@media(min-width:721px){
 body.helper-app:has(>.invitation-studio){height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
 body.helper-app:has(>.invitation-studio)>.event-workspace-bar{flex:none}
 body.helper-app:has(>.invitation-studio)>.invitation-studio{height:auto;min-height:0;flex:1;overflow:hidden}
 .invitation-studio .studio-section-rail{display:flex;flex-direction:column;overflow:hidden;height:100%;max-height:none;min-height:0}
 .studio-rail-heading,.studio-rail-tip{flex:none}
 .invitation-studio .studio-section-list{flex:1;overflow:auto;align-content:start;padding-bottom:12px;scrollbar-width:thin}
 .studio-section-navigation-tools{flex-direction:column;align-items:stretch;padding:0 12px 14px}
 .studio-section-navigation-tools>#studio-add-section{width:100%;max-width:none}
 .studio-section-jump{flex:none}
}
@media(min-width:721px) and (max-width:1200px){
 .invitation-studio .studio-grid{grid-template-columns:minmax(260px,310px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
 .invitation-studio .studio-section-rail{grid-column:1/-1;height:auto;max-height:none;position:static;border-right:0;border-bottom:1px solid #d8e0cf;overflow:visible;align-self:start}
 .studio-rail-heading,.studio-rail-tip{display:none}
 .studio-section-navigation-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:10px 14px;gap:12px}
 .studio-section-navigation-tools>#studio-add-section{width:auto;max-width:none;min-height:42px;white-space:nowrap}
 .invitation-studio .studio-section-list{display:flex;flex:none;overflow-x:auto;overflow-y:hidden;width:100%;max-width:100%;padding:8px 14px 10px;gap:6px}
 .studio-section-list button{flex:0 0 auto;width:auto;padding:6px 10px;white-space:nowrap}
 .studio-section-list i{display:none}
 .invitation-studio .studio-controls,.invitation-studio .studio-preview{height:100%;min-height:0}
 .studio-preview-toolbar{gap:10px;flex-wrap:wrap}.studio-canvas-tools{flex-wrap:wrap}
}
@media(max-width:720px){
 body.helper-app:has(>.invitation-studio){overflow-x:clip}
 body.helper-app:has(>.invitation-studio)>.invitation-studio{height:auto;min-height:calc(100dvh - 58px);overflow:visible}
 .invitation-studio .studio-header{position:sticky;top:0;z-index:60;min-width:0}
 .invitation-studio .studio-mobile-tabs{top:var(--studio-header-height);z-index:50}
 .invitation-studio .studio-section-rail{position:sticky;top:calc(var(--studio-header-height) + var(--studio-tabs-height));z-index:40;height:auto;max-height:none;overflow:visible;border-right:0}
 .studio-section-navigation-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:10px 12px;gap:8px}
 .studio-section-navigation-tools>#studio-add-section{width:auto;max-width:none;min-height:42px;padding:9px 10px;white-space:nowrap}
 .studio-section-jump select{font-size:14px;min-height:42px}
 .invitation-studio .studio-section-list{display:flex;overflow-x:auto;overflow-y:hidden;width:100%;max-width:100%;padding:6px 12px 9px;gap:6px;scrollbar-width:thin}
 .studio-section-list button{flex:0 0 auto;width:auto;padding:6px 9px;white-space:nowrap}
 .studio-rail-heading,.studio-rail-tip{display:none}
 .studio-inspector-heading{position:static}.studio-header-actions{min-width:0}.studio-back{flex:none}
}
@media(max-width:360px){.studio-header .studio-brand img{width:24px;height:24px}.studio-header .studio-brand{font-size:10px;gap:4px}.studio-header-actions{gap:4px}.studio-back{padding-inline:5px}.studio-header .button{padding-inline:6px}.studio-section-navigation-tools{gap:6px}.studio-section-navigation-tools>#studio-add-section{font-size:10px;padding-inline:8px}}
@media(max-width:720px) and (max-height:550px){.invitation-studio .studio-mobile-tabs,.invitation-studio .studio-section-rail{position:static}.invitation-studio .studio-preview-stage{min-height:240px}}
.invitation-studio .studio-section-rail{align-items:stretch}.studio-section-navigation-tools{width:100%;box-sizing:border-box}.studio-section-jump{max-width:none}
@media(min-width:721px) and (max-width:1200px){.studio-preview{padding:16px}.studio-preview-toolbar{flex-direction:row;align-items:center}.studio-preview-toolbar>div:first-child{min-width:0}.studio-preview-toolbar small{max-width:240px}.studio-device-controls{flex:none}}
/* Scratch covers and clear section management. */
.studio-section-title-row{display:flex;align-items:center;gap:10px;justify-content:space-between;margin:5px 0 18px}.studio-section-title-row h2{margin:0;min-width:0;overflow-wrap:anywhere}.studio-section-title-row button{flex:none;padding:6px 8px;min-height:34px;font-size:10px}.studio-add-dialog input[type=text]{width:100%;margin-top:8px;padding:12px;border:1px solid #c1cdb4;background:#fffdf6;color:#354b3e;border-radius:7px;font-size:14px}.studio-add-dialog h3{font-size:21px}.studio-scratch-swatches{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px!important}.studio-scratch-swatches i{height:45px;border:1px solid #c5cfbc;border-radius:6px}.studio-scratch-swatches [data-scratch-swatch=mirror]{background:linear-gradient(125deg,#697e76,#fafffc,#a7bab0,#667f72)}.studio-scratch-swatches [data-scratch-swatch=foil]{background:linear-gradient(125deg,#8d624a,#ffe3c4,#b28060,#fff5e3,#9e704e)}.studio-scratch-swatches [data-scratch-swatch=pearl]{background:linear-gradient(125deg,#e6dfd0,#fffdf6,#f4d9c4,#eff4e9)}.studio-scratch-swatches [data-scratch-swatch=frost]{background:linear-gradient(125deg,#bdcec9,#edf4f0,#dae6e0,#fcfffd)}
.section-scratch-cover{position:absolute;left:0;right:0;top:0;z-index:90;overflow:hidden;isolation:isolate;transition:opacity .35s;min-height:1px;box-sizing:border-box}.section-scratch-cover[hidden]{display:none!important}.section-scratch-cover canvas{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.section-scratch-prompt{position:absolute;left:8%;right:8%;top:50%;translate:0 -50%;display:grid;gap:12px;text-align:center;pointer-events:none;transition:opacity .15s}.section-scratch-prompt strong{font:italic 600 clamp(22px,4vw,34px)/1.3 var(--serif);text-shadow:0 1px 1px #fffaf0;overflow-wrap:anywhere}.section-scratch-prompt span{font:11px/1.5 'DM Sans',sans-serif;color:#394f43;background:#fffaf0d9;border:1px solid #a8b5a3;border-radius:20px;padding:6px 12px;justify-self:center}.section-scratch-cover.scratching .section-scratch-prompt{opacity:0}.section-scratch-cover .section-scratch-reveal{position:absolute;bottom:20px;left:50%;translate:-50% 0;max-width:90%;width:max-content;min-height:44px;padding:9px 15px;border:1px solid #98a692;background:#fffdf4ec;border-radius:24px;color:#354b3e;font:11px 'DM Sans',sans-serif;z-index:4;cursor:pointer}.section-scratch-reveal:focus-visible{outline:3px solid #354b3e;outline-offset:4px}.section-scratch-cover.scratch-finished{opacity:0;pointer-events:none}.section-scratch-flake{position:absolute;width:10px;height:16px;clip-path:polygon(0 0,100% 25%,40% 100%);pointer-events:none;z-index:3}.native-scratch-disabled #scratch-canvas,.native-scratch-disabled .scratch-gesture,.native-scratch-disabled #scratch-reveal,.native-scratch-disabled #scratch-status{display:none!important}.studio-full-preview .section-scratch-cover canvas{cursor:crosshair}.studio-full-preview .section-scratch-cover .section-scratch-reveal{pointer-events:auto}
@media(max-width:720px){.studio-section-title-row{gap:7px}.studio-section-title-row h2{font-size:22px}.studio-add-dialog input[type=text]{font-size:16px}.section-scratch-prompt strong{font-size:25px}.section-scratch-cover .section-scratch-reveal{bottom:14px}}
@media(prefers-reduced-motion:reduce){.section-scratch-cover,.section-scratch-prompt{transition:none!important}}
[data-design-section]>.section-scratch-cover{position:absolute!important;z-index:90!important}

/* Section visibility and ordering controls. */
.studio-section-management #studio-section-visibility{font:12px/1.6 'DM Sans',sans-serif;color:#52664b;margin:12px 0 6px}.studio-section-list button{position:relative}.studio-section-grip{display:inline-grid;place-items:center;flex:none;width:24px;min-height:32px;touch-action:none;cursor:grab;user-select:none;color:#718367;font:22px/1 sans-serif}.studio-section-list button:has(.studio-section-grip){grid-template-columns:24px 22px minmax(0,1fr);column-gap:6px}.studio-section-list.section-dragging{user-select:none}.studio-section-list .section-drag-source{opacity:.45}.studio-section-list button[data-drop-position]::after{content:'';position:absolute;left:4px;right:4px;height:3px;background:#8f6545;border-radius:3px;z-index:3}.studio-section-list button[data-drop-position=before]::after{top:-4px}.studio-section-list button[data-drop-position=after]::after{bottom:-4px}.studio-section-list.section-dragging .studio-section-grip{cursor:grabbing}
@media(max-width:1200px){.studio-section-list button:has(.studio-section-grip){display:flex;align-items:center;gap:6px}.studio-section-list button[data-drop-position]::after{top:4px;bottom:4px;width:3px;height:auto;left:auto;right:auto}.studio-section-list button[data-drop-position=before]::after{left:-4px}.studio-section-list button[data-drop-position=after]::after{right:-4px}}
@media(min-width:1201px){.studio-section-list button:has(.studio-section-grip){display:grid}.studio-section-list button>span:last-child{min-width:0;overflow-wrap:anywhere}}

.studio-section-jump select{appearance:none;-webkit-appearance:none;padding-right:38px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23536e44' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}.studio-section-list button{cursor:pointer!important}.studio-section-list .studio-section-grip{cursor:grab}.studio-hidden-section-preview{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px;text-align:center;background:#f4f5ef;color:#354b3e;box-sizing:border-box}.studio-hidden-section-preview[hidden]{display:none!important}.studio-hidden-section-preview strong{font:400 30px/1.3 var(--serif)}.studio-hidden-section-preview p{max-width:360px;font:14px/1.8 'DM Sans',sans-serif}

/* Framed, local scratch surfaces and full-page Studio preview. */
.studio-scratch-frame-tools,#studio-scratch-area-controls{display:grid;gap:14px}.studio-scratch-frame-tools>img{width:110px;height:140px;object-fit:contain;background:repeating-conic-gradient(#dce2d5 0 25%,#faf8ed 0 50%) 50%/14px 14px;border-radius:8px}.studio-scratch-frame-tools>img[hidden],#studio-scratch-area-controls[hidden]{display:none}.studio-preview-mode{display:flex;align-items:center;gap:12px;margin:8px 0 14px;font:11px/1.5 'DM Sans',sans-serif;color:#6b7c60}.studio-preview-mode label{display:flex;align-items:center;gap:10px;flex:none}.studio-preview-mode select{padding:8px 12px;border:1px solid #bbcbaa;border-radius:7px;background:#fffdf6;color:#354b3e}.studio-preview-mode small{max-width:340px}.section-scratch-frame{position:absolute!important;z-index:91!important;object-fit:fill;pointer-events:none;max-width:none!important}.section-scratch-frame[hidden]{display:none!important}.section-scratch-cover[data-area=area] .section-scratch-reveal{bottom:16%;font-size:10px;padding:7px 12px;min-height:36px;max-width:78%;white-space:normal}.section-scratch-cover[data-area=area] .section-scratch-prompt{top:45%;left:14%;right:14%}.section-scratch-cover[data-area=area] .section-scratch-prompt strong{font-size:clamp(18px,3.5vw,28px)}.section-scratch-flake[data-effect=sparkle]{clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%);width:14px;height:14px;box-shadow:0 0 10px #fff}.section-scratch-flake[data-effect=petals]{clip-path:none;border-radius:80% 0 80% 35%;width:14px;height:20px;box-shadow:inset 2px 2px 4px #fff8}.section-scratch-flake[data-effect=confetti]{clip-path:none;width:7px;height:14px;border-radius:1px}.section-scratch-flake[data-effect=ripple]{clip-path:none;width:22px;height:22px;border:1px solid #fffbe7;border-radius:50%;background:transparent!important;box-shadow:0 0 4px #fff9}.custom-date-scratch #scratch-canvas,.custom-date-scratch .scratch-gesture,.custom-date-scratch .studio-mirror-preview,.custom-date-scratch .scratch-floral-frame,.custom-date-scratch #scratch-reveal,.custom-date-scratch #scratch-status{display:none!important}.studio-full-preview[data-preview-view=page] #invitation-footer{min-height:0}.studio-full-preview[data-preview-view=page] .invitation-cover{position:relative}.studio-full-preview[data-preview-view=page] [data-design-section]{scroll-margin-top:0}
@media(max-width:720px){.studio-preview-mode{flex-wrap:wrap}.studio-preview-mode small{font-size:10px}.studio-preview-mode select{min-height:40px}}
.scratch-floral-frame[hidden]{display:none!important}.custom-date-area #scratch-card{visibility:hidden}.date-only-section>.section-scratch-date-content{position:absolute!important;z-index:12;inset:auto;margin:0;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden}.date-only-section>.section-scratch-date-content .printed-date-layout{width:76%}.section-scratch-cover[data-area=area] .section-scratch-reveal{bottom:24%}
#studio-scratch-area-controls summary{font:500 12px/1.5 'DM Sans',sans-serif;cursor:pointer;padding:12px;border:1px solid #c9d4be;border-radius:7px;background:#f2f5ed}.studio-scratch-geometry{display:grid;gap:16px;padding:16px 0}.studio-scratch-frame-tools strong{font-size:13px}

/* Component selection and alignment workspace. */
.studio-component-panel{padding:18px 20px;border-bottom:1px solid #ccd7c1;display:grid;gap:12px}.studio-component-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.studio-component-heading strong{font-size:14px}.studio-component-heading span,.studio-component-panel p,.studio-component-panel small{font:11px/1.6 'DM Sans',sans-serif;color:#718367}.studio-component-panel p{margin:0}.studio-component-list{display:grid;gap:3px;max-height:310px;overflow:auto;overscroll-behavior:contain}.studio-component-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;text-align:left;min-height:38px;padding:7px;border:1px solid #d6dfce;border-radius:5px;background:#fbfcf6;color:#354b3e;font:11px/1.5 'DM Sans',sans-serif}.studio-component-row>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-component-row[aria-pressed=true]{background:#e6efdc;border-color:#6c8959}.studio-align-tools{display:grid;gap:8px}.studio-align-tools label{font-size:11px}.studio-align-tools select{margin:5px 0 0;padding:8px;border:1px solid #bacbaa;border-radius:6px;width:100%;background:#fffdf5}.studio-align-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.studio-align-buttons button{min-height:34px;border:1px solid #bfceb0;border-radius:5px;background:#f4f7ee;font-size:19px;color:#354b3e}.studio-align-buttons button:disabled{opacity:.4}.studio-artwork-layer-heading{font:500 14px 'DM Sans',sans-serif;margin:20px}.studio-corner-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.studio-component-overlays{position:fixed;inset:0;z-index:2147483000;pointer-events:none;overflow:visible}.studio-component-overlays[hidden]{display:none!important}.studio-component-outline{position:absolute;border:1.5px solid #3a8cbd;box-sizing:border-box;pointer-events:none}.studio-component-outline-label{position:absolute;bottom:100%;left:-1px;background:#276e95;color:#fff;padding:3px 6px;font:10px/1.4 'DM Sans',sans-serif;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis}.studio-scratch-size-handle,.studio-scratch-vertex{position:absolute;width:10px;height:10px;border:1px solid #276e95;background:#fff;pointer-events:auto;touch-action:none;box-sizing:border-box;translate:-50% -50%}.studio-scratch-size-handle[data-scratch-handle=nw]{left:0;top:0;cursor:nwse-resize}.studio-scratch-size-handle[data-scratch-handle=n]{left:50%;top:0;cursor:ns-resize}.studio-scratch-size-handle[data-scratch-handle=ne]{left:100%;top:0;cursor:nesw-resize}.studio-scratch-size-handle[data-scratch-handle=e]{left:100%;top:50%;cursor:ew-resize}.studio-scratch-size-handle[data-scratch-handle=se]{left:100%;top:100%;cursor:nwse-resize}.studio-scratch-size-handle[data-scratch-handle=s]{left:50%;top:100%;cursor:ns-resize}.studio-scratch-size-handle[data-scratch-handle=sw]{left:0;top:100%;cursor:nesw-resize}.studio-scratch-size-handle[data-scratch-handle=w]{left:0;top:50%;cursor:ew-resize}.studio-scratch-vertex{width:7px;height:7px;border-radius:50%;background:#e1f7ff;cursor:crosshair}.studio-arrange-mode [data-studio-component]:not([data-studio-component=background]){cursor:move;touch-action:none}.studio-arrange-mode .section-scratch-frame,.studio-arrange-mode .scratch-floral-frame{pointer-events:auto}.studio-arrange-mode .section-scratch-cover{overflow:visible}.studio-arrange-mode .section-scratch-cover canvas{border-radius:inherit;clip-path:inherit}.studio-arrange-mode .section-scratch-reveal{pointer-events:none}.studio-arrange-mode .scratch-gesture{display:none!important}
@media(max-width:720px){.studio-component-panel{padding:16px}.studio-component-list{max-height:240px}.studio-scratch-size-handle{width:16px;height:16px}.studio-scratch-vertex{width:12px;height:12px}.studio-preview-mode label{flex:1 1 140px;flex-direction:column;align-items:stretch;gap:4px}.studio-preview-mode select{width:100%}}
.studio-scratch-radius{position:absolute;width:12px;height:12px;border:2px solid #946826;border-radius:50%;background:#fff0a5;pointer-events:auto;touch-action:none;cursor:ew-resize;box-sizing:border-box}.studio-scratch-radius:hover{background:#f2ce58}@media(max-width:720px){.studio-scratch-radius{width:20px;height:20px}}
.studio-align-buttons button{display:grid;place-items:center}.studio-align-buttons svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.3;fill:#617b4e;stroke-linecap:round}.studio-align-buttons path{fill:none}.studio-align-buttons button:hover:not(:disabled){background:#e0e9d5;border-color:#6b8b52}
.section-scratch-prompt strong{white-space:pre-line}

/* Consistent native-select chevrons, including narrow telephone-code controls. */
select:not([multiple]){appearance:none!important;-webkit-appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23596754' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:14px 14px!important;padding-inline-end:38px!important;box-sizing:border-box;min-width:0;max-width:100%;text-overflow:ellipsis}select[multiple],select[size]:not([size="1"]){background-image:none!important;padding-inline-end:12px!important}select:dir(rtl){background-position:left 12px center!important;padding-inline-start:38px!important;padding-inline-end:12px!important}
.studio-preview-options{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;min-width:0}.studio-view-switch{position:relative;display:flex;align-items:center;gap:8px;font:11px 'DM Sans',sans-serif;min-width:0}.studio-view-switch select{padding:8px 12px;border:1px solid #b7c6ac;border-radius:7px;background-color:#fffdf6;color:#354b3e;max-width:150px}.studio-view-switch [role=tooltip]{display:none;position:absolute;z-index:220;top:calc(100% + 10px);right:0;width:min(280px,80vw);padding:12px;background:#26382f;color:#fffaf0;border-radius:8px;box-shadow:0 4px 18px #14291c25;line-height:1.6}.studio-view-switch:hover [role=tooltip],.studio-view-switch:focus-within [role=tooltip]{display:block}
#studio-entry-code{border:1px solid #bdc9b1;border-radius:9px;padding:12px;min-width:0}#studio-entry-code[open]{display:grid;gap:12px}#studio-entry-code summary{cursor:pointer;font-weight:600}#studio-entry-code p,#studio-entry-code small{font-size:11px;line-height:1.6}#studio-entry-code label{display:grid;gap:6px}#studio-entry-code textarea{display:block!important;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;min-height:120px;white-space:pre;tab-size:2;background:#20342d;color:#f5ecd8;border-color:#6c806b;resize:vertical;max-width:100%;width:100%;padding:12px}.studio-code-starters{display:flex;flex-wrap:wrap;gap:8px}.studio-code-import input{font-size:11px;max-width:100%}.custom-entrance-frame{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:80;background:#fffaf0}.invitation-cover[data-entrance=custom]>.entry-glass,.invitation-cover[data-entrance=custom]>.entry-scene,.invitation-cover[data-entrance=custom]>.cover-open,.invitation-cover[data-entrance=custom]>.cover-instruction{display:none!important}
.studio-entry-interactive .cover-open{pointer-events:auto!important;cursor:pointer}.studio-entry-locked{overflow:hidden!important}.studio-entry-locked #invitation-cover{height:100svh!important;min-height:100svh!important;position:relative!important}.studio-entry-interactive #invitation-cover .studio-component-overlays{display:none}.studio-entry-opening #cover-open{pointer-events:none!important}
.media-frame-collection{padding:22px;margin:20px 0 30px;border:1px solid #d4d9cb;border-radius:16px;background:#f6f4e9}.media-frame-collection h2{font-size:clamp(24px,3vw,34px);margin:6px 0}.media-frame-collection header p{font-size:13px;line-height:1.6}.media-frame-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:20px}.media-frame-card{display:flex;flex-direction:column;gap:10px;min-width:0}.media-frame-card>a:first-child{display:grid;place-items:center;border-radius:10px;background:radial-gradient(ellipse,#fffdf7,#e0e4d8);padding:10px;aspect-ratio:3/4}.media-frame-card img{width:100%;height:100%;object-fit:contain;transition:transform .25s}.media-frame-card a:hover img{transform:scale(1.03)}.media-frame-card strong{font:12px/1.5 'DM Sans',sans-serif}.media-frame-card .button{padding:9px;font-size:11px;min-height:38px}.media-frame-card .text-link{font-size:11px}.access-share-control{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:14px 0 22px}.access-share-control .button{font-size:12px;min-height:40px;padding:10px 16px}.access-share-control [role=status]{font:12px/1.5 'DM Sans',sans-serif;max-width:400px}.access-share-control input{width:100%;padding:9px}
@media(max-width:1100px){.media-frame-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-preview-toolbar{flex-wrap:wrap;gap:12px}.studio-preview-options{justify-content:flex-start}}@media(max-width:520px){.media-frame-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-frame-collection{padding:14px}.studio-preview-options{width:100%;gap:8px;justify-content:space-between}.studio-view-switch{gap:5px}.studio-view-switch select{max-width:125px}.studio-device-controls button{padding:8px!important;font-size:10px!important}.studio-preview-toolbar{align-items:flex-start}.studio-preview-options .studio-device-controls{margin:0!important}}
@media(max-width:520px){.studio-view-switch select{max-width:165px;min-width:148px}}
/* Studio: compact, stable preview toolbar and focused property groups. */
.studio-preview-toolbar{display:grid!important;grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:14px}.studio-preview-options{display:flex;align-items:center;gap:16px;flex-wrap:nowrap;justify-content:flex-end}.studio-preview-options .studio-device-controls{display:flex;width:auto!important;flex:none;margin:0!important}.studio-view-toggle{display:flex!important;position:relative;align-items:center;gap:8px;white-space:nowrap;cursor:pointer;font:11px/1.4 'DM Sans',sans-serif;color:#354b3e}.studio-view-toggle input{position:absolute;width:1px;height:1px;opacity:0;margin:0}.studio-toggle-track{display:block;width:32px;height:19px;border-radius:20px;background:#c6cfc0;border:1px solid #9da994;transition:background .18s;flex:none}.studio-toggle-track::after{content:'';display:block;width:13px;height:13px;background:#fffdf5;border-radius:50%;margin:2px;box-shadow:0 1px 3px #243c2733;transition:translate .18s}.studio-view-toggle input:checked+.studio-toggle-track{background:#354b3e;border-color:#354b3e}.studio-view-toggle input:checked+.studio-toggle-track::after{translate:13px 0}.studio-view-toggle input:focus-visible+.studio-toggle-track{outline:3px solid #b8996c;outline-offset:3px}.studio-view-tooltip{display:none;position:absolute;z-index:250;top:calc(100% + 12px);right:0;width:230px;white-space:normal;padding:12px;border-radius:8px;background:#26382f;color:#fffaf0;box-shadow:0 5px 15px #26382f22}.studio-view-toggle:hover .studio-view-tooltip,.studio-view-toggle:focus-within .studio-view-tooltip{display:block}.studio-preview-mode{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:12px;margin:14px 0!important}.studio-preview-mode label{display:grid!important;gap:5px!important;min-width:0}.studio-preview-mode select{width:100%}.studio-preview-mode small{max-width:none!important;align-self:end;line-height:1.6}.studio-canvas-tools{display:flex!important;flex-wrap:wrap;gap:12px;align-items:center}.studio-canvas-tools label{min-width:0;display:flex;align-items:center;gap:6px}.studio-canvas-tools select{max-width:190px}.studio-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.studio-controls input,.studio-controls select,.studio-controls textarea{max-width:100%;min-width:0}.studio-controls label{min-width:0}.studio-controls [data-inspector]{min-width:0}.studio-layer-list button{overflow-wrap:anywhere}.studio-rich-toolbar{display:flex!important;flex-wrap:wrap;gap:5px}.studio-rich-toolbar select{max-width:100%;flex:1 1 95px;min-width:90px}.studio-rich-toolbar input[type=text]{min-width:70px;flex:1 1 70px}.studio-rich-toolbar input[type=color]{flex:0 0 32px}.studio-inspector-tabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px}.studio-inspector-tabs button{min-width:0!important;overflow-wrap:anywhere;padding:9px 3px!important}.design-text-layer{height:auto!important}.design-text-layer>.design-layer-paint{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;height:auto;text-wrap:pretty}.design-text-layer.layer-front{pointer-events:none}.studio-arrange-mode .design-text-layer{pointer-events:auto}
.section-navigation[data-shape=pill] a{border-radius:999px;min-width:calc(var(--nav-size,46px)*1.4)}.section-navigation[data-shape=diamond] a{border-radius:4px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.section-navigation[data-shape=hexagon] a{border-radius:0;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.section-navigation[data-icon=thin] a{font-family:Arial,sans-serif;font-weight:200}.section-navigation[data-icon=triangle] a{font-size:22px}.section-navigation[data-icon=caret] a{font:30px Arial,sans-serif}.section-navigation[data-icon=circle] a{font-size:25px}
.invitation-share-dialog{width:min(480px,calc(100vw - 28px));padding:24px;border:1px solid #c6cdbd;border-radius:18px;background:#fffaf0;color:#354b3e;max-height:calc(100dvh - 28px);overflow:auto;box-shadow:0 20px 100px #14251e40}.invitation-share-dialog::backdrop{background:#172c2580;backdrop-filter:blur(4px)}.invitation-share-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.invitation-share-dialog header button{border:0;background:transparent;font-size:28px;min-width:40px;min-height:40px}.invitation-share-dialog h2{font-size:30px;margin:0;overflow-wrap:anywhere}.invitation-share-dialog p{font:13px/1.6 'DM Sans',sans-serif}.invitation-share-dialog label{display:grid;gap:6px;margin-top:18px;font:12px 'DM Sans',sans-serif}.invitation-share-dialog input{width:100%;padding:12px;border:1px solid #bdc9b1;border-radius:8px;background:#fffdf6}.share-dialog-actions{display:grid;gap:10px;margin:18px 0}.share-dialog-actions .button{width:100%;justify-content:center;text-align:center}.share-dialog-actions [hidden]{display:none!important}.helper-share-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin:18px 0}.helper-share-toolbar small{font:12px/1.5 'DM Sans',sans-serif;max-width:400px}.helper-workspace td:last-child .text-link{display:block;margin:5px 0}
@media(max-width:1180px){.studio-preview-toolbar{grid-template-columns:1fr}.studio-preview-options{justify-content:flex-start}.studio-preview-mode{grid-template-columns:1fr}.studio-preview-mode small{font-size:10px}.studio-preview-options .studio-device-controls{flex:1 1 auto;justify-content:space-between}.studio-preview-options .studio-device-controls button{flex:1;min-width:0}}
@media(max-width:720px){.studio-preview-toolbar{gap:12px}.studio-preview-options{width:100%;gap:10px}.studio-preview-options .studio-device-controls{width:auto!important;flex:1}.studio-view-toggle{font-size:10px;gap:5px}.studio-toggle-track{width:29px}.studio-view-toggle input:checked+.studio-toggle-track::after{translate:10px 0}.studio-device-controls button{font-size:10px!important;padding:9px 7px!important}.studio-preview-mode{grid-template-columns:1fr!important;margin:12px 0!important}.studio-preview-mode small{display:none}.studio-canvas-tools{gap:8px}.studio-canvas-tools>span{width:100%;font-size:11px}.studio-canvas-tools select{max-width:160px}.studio-preview-stage{min-height:440px!important}.studio-field-pair{gap:8px}.invitation-share-dialog{padding:20px}}
.section-navigation[data-icon=circle] a{border:2px solid currentColor!important;border-radius:50%!important}.studio-controls [data-layer-field=text]{font:16px/1.6 Georgia,serif;min-height:110px}.studio-dynamic-fields>[hidden],#studio-text-layer-controls[hidden]{display:none!important}.studio-layer-settings-empty{font-size:12px}
.studio-preview-toolbar{margin-bottom:8px!important}.studio-preview-mode{display:flex!important;align-items:center;flex:0 0 auto!important;gap:8px!important;margin:6px 0 12px!important}.studio-preview-mode>label{display:flex!important;align-items:center;gap:10px!important;margin:0!important;padding:0;line-height:1.4}.studio-preview-mode>small{display:none}.studio-preview-mode select{width:180px;min-height:36px;height:36px;padding-top:6px;padding-bottom:6px}.studio-canvas-tools{margin:0!important}.invitation-studio .studio-preview-stage{min-height:320px}.studio-preview-footer{margin-top:8px}.studio-property-group{border-top:1px solid #d5decc;padding-top:12px;margin-top:12px}.studio-property-group summary{font-weight:600;cursor:pointer}.studio-property-group[open]{display:grid;gap:12px}.studio-controls label[hidden]{display:none!important}
.studio-preview-mode>label{flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;width:100%;text-align:left!important}.studio-preview-mode>label>select{flex:0 1 185px;margin:0!important}.studio-preview-mode{justify-content:flex-start!important;min-height:36px!important}.studio-preview-mode>label{min-height:36px!important}
.team-sending-summary{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}.team-sending-summary>span{display:flex;align-items:center;gap:9px;padding:12px 16px;border:1px solid #c6d0bc;border-radius:10px;background:#f4f6ed;font:12px 'DM Sans',sans-serif}.team-sending-summary strong{font-size:22px;color:#354b3e}.team-sending-summary small{max-width:390px;font:11px/1.6 'DM Sans',sans-serif;color:#6b7565}.team-send-badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:#eee4d1;border:1px solid #d7c7a9;padding:5px 9px;border-radius:999px;color:#715b36;font:11px/1.3 'DM Sans',sans-serif}.team-send-badge.is-sent{color:#294d3c;background:#e1ecdc;border-color:#b9cdb0}.team-send-badge.is-sent:before{content:'✓'}.helper-workspace td small{display:block;font-size:11px;line-height:1.5;margin-top:6px}.helper-workspace td .text-link{display:block;font-size:11px;min-height:30px;margin-top:6px}.helper-workspace .helper-search{display:grid;grid-template-columns:minmax(180px,2fr) minmax(140px,1fr) minmax(170px,1fr) auto auto;align-items:end;gap:12px}.helper-search label{min-width:0}.team-confirm-send{display:grid;gap:9px;margin:22px 0;max-width:460px}.team-confirm-send small{font:12px/1.6 'DM Sans',sans-serif;color:#6a7761}.studio-canvas-help{font:10px/1.5 'DM Sans',sans-serif;color:#6b7762;max-width:240px}.studio-rich-toolbar button[aria-label^="Clear formatting"]{font-size:10px;width:auto!important;min-width:65px}.invitee-bottom-nav .invitee-floating-filter span{white-space:normal;text-align:center;line-height:1.25}
@media(max-width:1000px){.helper-workspace .helper-search{grid-template-columns:1fr 1fr}.helper-workspace .helper-search>label:first-child{grid-column:1/-1}}@media(max-width:520px){.helper-workspace .helper-search{grid-template-columns:minmax(0,1fr)}.helper-workspace .helper-search>label:first-child{grid-column:auto}.studio-canvas-help{display:none}.team-sending-summary small{flex-basis:100%}}
.studio-rich-editor .studio-rich-toolbar{display:none!important}.studio-rich-editor:focus-within:not(.is-deleted) .studio-rich-toolbar{display:flex!important}.studio-field-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 12px}.studio-field-actions button{border:1px solid #cbd5bf;border-radius:6px;padding:7px 10px;background:#fffdf6;color:#354b3e;font:11px/1.4 'DM Sans',sans-serif;min-height:34px;cursor:pointer}.studio-field-actions button:last-child{color:#805643}.studio-field-deleted-note{display:none;font:11px 'DM Sans',sans-serif;color:#7c806e}.studio-rich-editor.is-deleted .studio-rich-input{display:none}.studio-rich-editor.is-deleted .studio-field-deleted-note{display:block}.studio-text-removed{display:none!important}.studio-added-text-card{border:1px solid #bfcdb2;background:#f8faef;border-radius:10px;padding:12px;margin:15px 0}.studio-added-text-card label{display:grid;gap:7px;font:12px 'DM Sans',sans-serif}.studio-added-text-card textarea{font:16px/1.6 Georgia,serif;width:100%;min-height:90px;background:#fffdf6;padding:12px;border:1px solid #c2d0b5;border-radius:7px}.studio-added-text-format{display:none;grid-template-columns:minmax(0,1fr) 75px;gap:8px;margin-top:10px}.studio-added-text-card:focus-within .studio-added-text-format{display:grid}.studio-added-text-format select,.studio-added-text-format input{width:100%;padding:8px;border:1px solid #c2d0b5;border-radius:6px}.studio-rich-editor.is-readonly .studio-field-actions{display:none}.section-scratch-cover[data-locked=true] .section-scratch-reveal{border:1px solid #8b7753;background:#fff9e7;color:#354b3e}
.studio-canvas-help{display:none}.studio-added-text-card:focus-within{border-color:#7e9a6c;box-shadow:0 0 0 2px #a9bc9133}
/* Invitation Team: compact workspace, readable cards, persistent actions. */
.team-dashboard{max-width:1180px;padding-bottom:110px}.team-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:12px 0 26px}.team-header h1{font-size:clamp(30px,4vw,46px);margin:0 0 8px}.team-header p{margin:6px 0}.team-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.team-metrics>div{background:#fffdf9;border:1px solid #dce2db;border-radius:16px;padding:20px 24px;display:flex;flex-direction:column;gap:8px}.team-metrics small{color:#647267}.team-metrics strong{font:600 32px 'DM Sans',sans-serif;color:#26382f}.team-explanation{font-size:13px;line-height:1.65;color:#627066;margin:16px 0}.team-group-panel{border:1px solid #dce2db;background:#f8faf6;border-radius:14px;padding:18px 20px;margin:20px 0}.team-group-panel summary{cursor:pointer;font-weight:600}.team-group-panel summary small{display:block;font-weight:400;color:#627066;margin:6px 0 0}.team-group-panel p{font-size:13px;line-height:1.6}.team-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.team-group-grid article{background:#fff;border:1px solid #e2e7df;border-radius:10px;padding:14px;display:grid;gap:10px;overflow-wrap:anywhere}.team-filter-toolbar{position:sticky;top:0;z-index:15;display:flex;gap:10px;align-items:start;padding:12px;background:#f7f8f3f5;backdrop-filter:blur(14px);border-block:1px solid #e2e7df;margin:24px 0}.team-search-label{flex:1;min-width:0}.team-filter-toolbar input,.team-filter-toolbar select{margin:0;min-width:0;width:100%}.team-filter-toolbar>.button{min-height:46px;padding:10px 20px}.team-filters{position:relative}.team-filters summary{list-style:none;cursor:pointer;border:1px solid #cbd5c9;border-radius:8px;padding:13px 18px;white-space:nowrap}.team-filters>div{position:absolute;right:0;top:54px;width:min(330px,80vw);background:#fffdf9;border:1px solid #d7dfd3;box-shadow:0 14px 35px #26382f22;border-radius:14px;padding:20px;display:grid;gap:14px}.team-filters label{display:grid;gap:8px;font-size:13px}.team-invitees{table-layout:auto;min-width:0;width:100%;font-size:13px}.team-invitees th,.team-invitees td{padding:15px 12px;vertical-align:top}.team-invitees td{overflow-wrap:anywhere}.team-invitees small{display:block;margin:6px 0;line-height:1.45;color:#687366}.team-invitees .team-person{min-width:180px}.team-invitees .text-link{font-size:12px;letter-spacing:0;display:block;margin-top:8px;text-align:left}.team-invitees .helper-select-all{display:flex;align-items:center;gap:6px;font-size:11px;white-space:nowrap}.team-footer{position:fixed;bottom:0;left:0;right:0;z-index:40;background:#fffef9f5;backdrop-filter:blur(16px);border-top:1px solid #dbe2d6;padding:12px max(20px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:clamp(16px,5vw,60px);box-shadow:0 -5px 25px #26382f08}.team-footer a{font-size:13px;font-weight:600;color:#344b3e;text-decoration:none}.team-footer .button{padding:13px 22px;font-size:13px}.team-edit-dialog{width:min(450px,calc(100vw - 32px));max-height:90dvh;overflow:auto;border:1px solid #d5dfd1;border-radius:20px;padding:28px;background:#fffdf8}.team-edit-dialog::backdrop{background:#14251e99;backdrop-filter:blur(5px)}.team-edit-dialog form{display:grid;gap:18px}.team-edit-dialog header{display:flex;align-items:center;justify-content:space-between}.team-edit-dialog h2{margin:0;font-size:28px}.team-edit-dialog header button{background:none;border:0;font-size:28px;cursor:pointer}.team-edit-dialog label{display:grid;gap:8px;font-size:14px}.team-edit-dialog small{color:#627066;line-height:1.6}.team-edit-audit{margin-top:7px;font-size:11px;font-weight:400}.team-edit-audit summary{color:#7d4a21;cursor:pointer;display:list-item}.team-edit-audit small{white-space:normal;display:block}.group-welcome{border-top:3px solid #b78d56;background:linear-gradient(125deg,#fffdf7,#f0f4eb);box-shadow:0 20px 70px #1d332b33}.group-welcome .invitee-greeting{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(28px,6vw,42px);line-height:1.12;overflow-wrap:anywhere}.studio-added-text-card>label:first-child{margin-bottom:14px}.studio-added-text-card [data-layer-label]{font:500 14px 'DM Sans',sans-serif}.studio-dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}#studio-add-text-dialog{width:min(440px,calc(100vw - 32px));padding:26px;border:1px solid #cbd8cd;border-radius:18px;background:#fffdf8}#studio-add-text-dialog::backdrop{background:#172c2380}#studio-add-text-dialog input{width:100%;box-sizing:border-box}#studio-add-text-dialog p{font-size:13px;line-height:1.6;color:#657267}
@media(max-width:700px){.team-dashboard{padding-inline:16px}.team-header{gap:10px}.team-header p{font-size:13px;line-height:1.5}.team-metrics{gap:8px}.team-metrics>div{padding:14px 10px;border-radius:12px}.team-metrics small{font-size:11px}.team-metrics strong{font-size:26px}.team-filter-toolbar{gap:7px}.team-filter-toolbar>.button{padding:12px;font-size:12px}.team-filters summary{padding:14px 10px;font-size:12px}.team-filters>div{position:fixed;inset:auto 0 0;width:auto;max-height:75dvh;overflow:auto;border-radius:20px 20px 0 0;z-index:70;padding:24px 20px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -15px 80px #26382f55}.team-filter-toolbar:has(.team-filters[open]){backdrop-filter:none}.team-table-wrap{overflow:visible;border:0;background:none}.team-invitees,.team-invitees tbody{display:block}.team-invitees thead{display:block;margin-bottom:12px}.team-invitees thead tr,.team-invitees thead th:first-child{display:block}.team-invitees thead th:not(:first-child){display:none}.team-invitees tbody tr{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);background:#fffdf9;border:1px solid #dce2d6;border-radius:14px;margin-bottom:12px;padding:14px 12px;gap:10px}.team-invitees td{display:block;border:0;padding:0}.team-invitees td.team-select{grid-column:1;grid-row:1}.team-invitees td.team-person{grid-column:2/4;min-width:0}.team-invitees td[data-label=Contact]{grid-column:2}.team-invitees td[data-label=Status]{grid-column:3}.team-invitees td[data-label]::before{content:attr(data-label);display:block;color:#748170;font-size:10px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}.team-invitees td.team-row-actions{grid-column:2/4;display:flex;flex-wrap:wrap;gap:4px 16px;border-top:1px solid #e7ebe3;padding-top:4px}.team-row-actions small{width:100%}.team-footer{gap:22px;padding-inline:16px}.team-footer .button{padding:13px 16px;font-size:12px}.team-group-panel{padding:15px}.team-group-grid{grid-template-columns:1fr}.team-header .text-link{font-size:12px;white-space:nowrap}}
.team-dashboard .team-filter-toolbar>.button,.team-dashboard .team-footer>.button{width:auto;flex:0 0 auto;margin:0;min-width:0}.team-dashboard .team-filter-toolbar .team-search-label{min-width:80px}.team-dashboard .team-footer{width:100%;max-width:none;margin:0;box-sizing:border-box}.team-dashboard .team-filters summary::after{display:none}.team-dashboard .team-group-panel summary{display:flex;align-items:center;justify-content:space-between;gap:16px}.team-dashboard .team-group-panel summary small{margin:0;text-align:right}.team-dashboard .team-group-panel summary::after{display:none}.team-dashboard .team-edit-dialog .button,.team-dashboard .team-filters .button{width:100%}
@media(max-width:700px){.team-dashboard .team-group-panel summary{display:grid;gap:6px}.team-dashboard .team-group-panel summary small{text-align:left}.team-dashboard .team-filter-toolbar input{font-size:13px;padding-inline:10px}.team-dashboard .team-footer a{white-space:nowrap}}
.team-dashboard .team-filters,.team-dashboard .team-group-panel details{margin:0;padding:0;border:0}.team-dashboard .team-group-panel summary{padding:0}.team-dashboard .team-filter-toolbar label{margin:0}.team-dashboard .team-filters summary{margin:0}.team-dashboard .team-filter-toolbar{padding-inline:0}.team-dashboard .team-filters>div label{margin:0}.team-dashboard .team-header>form{margin:0;padding:0}
.team-dashboard .team-filter-toolbar:has(.team-filters[open]){z-index:60}.team-dashboard .team-filter-heading{display:flex;justify-content:space-between;align-items:center}.team-dashboard .team-filter-heading button{width:auto;min-width:36px;background:transparent;border:0;font-size:25px;padding:0;cursor:pointer}.team-dashboard .team-filters>div{box-sizing:border-box}
.team-dashboard .team-invitees{min-width:0;width:100%;max-width:100%}
.invitee-summary-row .team-edit-audit{margin:6px 0 0;padding:0;border:0}.invitee-summary-row .team-edit-audit summary{padding:3px 6px;display:inline-block;border-radius:4px;background:#f4e6d6;color:#78512c;font-size:10px;line-height:1.5}.invitee-summary-row .team-edit-audit summary::after{display:none}.invitee-summary-row .team-edit-audit small{margin-top:4px;font-size:10px}
.team-dashboard{margin-inline:auto;padding-inline:clamp(16px,4vw,48px)}
/* Host names keep the third family centred below the two side families. */
.formal-invitation .invitation-parents[data-host-count="3"]{grid-template-columns:repeat(2,minmax(0,1fr));font-size:calc(clamp(15px,4.9cqi,25px)*var(--invitation-text-scale,1));row-gap:10px}.formal-invitation .invitation-parents[data-host-count="3"] [data-invitation-field="parents_middle"]{grid-column:1 / -1;justify-self:center;max-width:100%}.formal-invitation .invitation-parents[data-host-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.formal-invitation .invitation-parents[data-host-count="1"]{grid-template-columns:1fr}
.team-dashboard [data-team-cell]{touch-action:manipulation;cursor:text}.team-dashboard [data-team-cell]:focus-visible{outline:2px solid #829780;outline-offset:-2px}.team-dashboard [data-team-cell]>input{width:100%;min-width:0;box-sizing:border-box;font-size:14px;margin:0}.team-dashboard .team-inline-actions{display:flex;gap:8px;margin-top:8px}.team-dashboard .team-inline-actions button{width:auto;background:#f0f4eb;border:1px solid #c8d5c4;border-radius:6px;padding:7px 10px;font-size:12px;cursor:pointer}.team-inline-hint{font-size:12px;color:#657260;line-height:1.6}.studio-full-preview[data-preview-section="welcome"][data-preview-view="section"] #invitee-welcome{position:relative;left:auto;top:auto;transform:none;margin:60px auto;width:calc(100% - 40px);max-width:420px;box-sizing:border-box}.studio-full-preview[data-preview-section="welcome"][data-preview-view="section"]{min-height:100vh;background:#f5f1e8}.studio-full-preview[data-preview-section="welcome"] #invitation-main{min-height:0}
#invitee-welcome[data-design-section="welcome"]{position:fixed;min-height:0;height:auto}.studio-full-preview #invitee-welcome[data-design-section="welcome"]{min-height:0;height:auto}.studio-full-preview[data-preview-section="welcome"][data-preview-view="section"] #invitee-welcome{position:relative;min-height:0;height:auto}
#studio-welcome-controls:not([hidden]){display:grid;gap:16px;padding:20px;border-bottom:1px solid #dce2d6}#studio-welcome-controls label{margin:0}#studio-welcome-controls .studio-check{display:flex;align-items:center;gap:10px}#studio-welcome-controls p{margin:0}#invitee-welcome>button{position:absolute;right:12px;top:12px;left:auto;width:28px;height:28px;padding:0;border:0;background:transparent;display:grid;place-items:center;line-height:1;cursor:pointer}#invitee-welcome{max-height:calc(100dvh - 40px);overflow:auto}
/* Every family field inherits the same responsive default; rich-text overrides remain intentional. */
.formal-invitation .invitation-parents[data-host-count]{font-size:calc(clamp(18px,5.5cqi,26px)*var(--invitation-text-scale,1))}
.studio-text-label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;font:500 12px/1.5 'DM Sans',sans-serif;min-width:0}.studio-text-label-caption{overflow-wrap:anywhere;cursor:text;touch-action:manipulation}.studio-text-label .studio-text-label-edit{display:inline-grid;place-items:center;width:28px;height:28px;min-width:28px;border:1px solid #d0dac8;border-radius:6px;background:#f3f6ed;color:#52644a;padding:0;cursor:pointer;font-size:15px}.studio-text-label input{flex:1 1 120px;min-width:0;max-width:100%;padding:8px!important;margin:0!important;font:13px 'DM Sans',sans-serif}.studio-text-label .studio-label-save,.studio-text-label .studio-label-cancel{width:auto;padding:7px 9px;border:1px solid #c5d2bd;border-radius:5px;background:#eff4e7;color:#35472f;font-size:11px;cursor:pointer}.studio-text-label .studio-label-save{background:#3f5944;color:#fff}.studio-text-label-edit:focus-visible,.studio-text-label button:focus-visible{outline:2px solid #78956c;outline-offset:2px}
.studio-controls .studio-text-field{display:block;margin:0 0 20px;font:500 12px/1.5 'DM Sans',sans-serif;color:inherit;min-width:0}.studio-added-text-card>.studio-text-field{margin-bottom:12px}

/* The invitation is a full-screen scene; subsequent sections follow their content. */
#invitation-top{height:100svh;min-height:100svh;padding:0;box-sizing:border-box}
#invitation-top [data-invitation-scene]{height:100svh;min-height:100svh;box-sizing:border-box;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);--scene-width:max(100vw,133.333svh)}
#invitation-main>section:not(#invitation-top){height:auto;min-height:0;box-sizing:border-box}
.studio-full-preview[data-preview-view="page"] #rsvp{min-height:0;padding-block:clamp(36px,6vw,80px)}
.studio-full-preview[data-preview-view="page"] #invitation-footer{height:auto;min-height:0}
.custom-section-copy>:empty{display:none}
#invitation-main>section:not(#invitation-top).design-artwork-only{min-height:clamp(260px,45vw,520px)}
@media(max-height:500px){#invitation-top>.welcome-scroll{bottom:6px;width:24px;height:24px;min-width:24px;min-height:24px;line-height:1;font-size:16px}}

/* Workspace settings and consistent navigation across device sizes. */
.dashboard-utility-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;position:relative;z-index:35}.dashboard-utility-bar>span{font-size:12px;color:#6d7968}.workspace-settings{position:relative;min-width:0;color:#304138}.workspace-settings>summary{display:flex;gap:10px;align-items:center;list-style:none;cursor:pointer;border:1px solid #ccd6c4;border-radius:12px;padding:11px 16px;min-height:44px;background:#fffdf8;font-size:14px}.workspace-settings>summary::-webkit-details-marker{display:none}.workspace-settings .settings-chevron{margin-left:16px}.workspace-settings[open] .settings-chevron{rotate:180deg}.workspace-settings>nav{position:absolute;inset:calc(100% + 8px) 0 auto auto;width:320px;max-width:calc(100vw - 32px);padding:12px;background:#fffdf9;border:1px solid #d7dfcf;border-radius:16px;box-shadow:0 16px 48px #26382f22;z-index:100;max-height:min(540px,70svh);overflow:auto}.workspace-settings nav>p{font-size:10px;letter-spacing:1.6px;color:#7b8871;margin:8px 12px}.workspace-settings nav>a{display:flex;align-items:center;gap:12px;min-height:62px;padding:10px 12px;border-radius:10px;text-decoration:none;font-size:14px}.workspace-settings nav>a:hover,.workspace-settings nav>a:focus-visible{background:#edf2e7}.workspace-settings nav>a>span:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#eef1e8;font-size:21px;flex-shrink:0}.workspace-settings nav small{display:block;font-size:11px;color:#73806b;margin-top:3px}.workspace-settings nav i{margin-left:auto;font-style:normal}.host-dashboard>.host-navigation{display:none}.studio-header-actions{flex-wrap:wrap}.studio-navigation-insert{display:flex;gap:8px;flex-wrap:wrap}.studio-navigation-insert>button{flex:1 1 100px}.section-navigation[data-kind=button]>a,.section-navigation[data-kind=link]>a{width:auto;max-width:min(320px,80vw);min-width:var(--nav-size);height:auto;min-height:44px;padding:12px 20px;font:inherit;font-size:16px;line-height:1.4;white-space:normal;text-align:center;overflow-wrap:anywhere}.section-navigation[data-kind=link]>a{background:transparent!important;border:0;box-shadow:none;text-decoration:underline;text-underline-offset:5px}.studio-layer-actions{flex-wrap:wrap}
@media(min-width:1367px){.host-dashboard .host-mobile-nav{display:flex;position:sticky;bottom:16px;z-index:60;align-items:center;justify-content:center;gap:8px;max-width:960px;margin:28px auto 0;padding:10px;border:1px solid #d1dac7;border-radius:20px;background:#fffdf8f5;box-shadow:0 8px 30px #26382f16;backdrop-filter:blur(12px)}.host-dashboard .host-mobile-nav>a{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:12px;border-radius:10px;min-height:44px}.host-dashboard .host-mobile-nav svg{width:20px;height:20px}.host-dashboard .host-mobile-nav>a:hover,.host-dashboard .host-mobile-nav>a[aria-current=location]{background:#e5ecdc}}
@media(max-width:1366px){.host-dashboard .host-mobile-nav{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:720px){.studio-header{flex-wrap:wrap;gap:10px}.studio-header-actions{width:100%;gap:8px;justify-content:flex-end}.studio-header-actions #studio-save-state{flex:1;font-size:10px}.studio-header-actions .studio-back{font-size:11px;padding:8px;min-height:40px}.studio-header-actions .button{font-size:11px;padding:10px}.dashboard-utility-bar{gap:10px}.workspace-settings>nav{position:fixed;inset:auto 12px calc(86px + env(safe-area-inset-bottom));width:auto;max-width:none;max-height:65svh;border-radius:18px}.host-dashboard .host-mobile-nav>a{font-size:9px;padding-inline:1px}.host-dashboard .host-mobile-nav{gap:1px}}

@media(min-width:1367px){.host-dashboard .host-mobile-nav{position:fixed;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);margin:0}body:has(.host-dashboard){padding-bottom:100px}}
.workspace-settings{padding:0!important;margin:0!important;border:0!important;background:transparent!important}.workspace-settings>summary:after{content:none!important}.workspace-settings>nav{display:block;margin:0;gap:0;text-align:left}.workspace-settings>nav>a{margin:0;min-width:0;white-space:normal}.workspace-settings>nav>a>span:nth-child(2){min-width:0;flex:1}.workspace-settings>nav>a small{line-height:1.4}.host-dashboard .host-mobile-nav{box-sizing:border-box}
.workspace-settings>nav{height:auto;min-height:0;align-items:stretch;justify-content:initial}.workspace-settings>nav>a{height:auto}.host-dashboard .host-mobile-nav{height:auto;min-height:0}

.studio-inspector-tabs{grid-template-columns:repeat(auto-fit,minmax(74px,1fr))!important}.studio-inspector-tabs button{overflow-wrap:normal;word-break:normal;white-space:nowrap;font-size:10px;min-height:40px}.section-navigation[data-kind=button]>a{min-height:var(--nav-size)}
.section-navigation{height:auto;min-height:0;padding:0;margin:0;border:0;background:transparent;box-shadow:none;width:max-content!important;max-width:calc(100% - 32px)}
[data-design-section]:not([data-design-section=invitation]):not([data-design-section=cover])>.section-navigation[data-vertical=bottom]{position:relative!important;inset:auto!important;translate:none;transform:none;margin:28px auto 0;max-width:100%}
[data-design-section]:not([data-design-section=invitation]):not([data-design-section=cover])>.section-navigation[data-vertical=bottom][data-horizontal=left]{margin-left:0;margin-right:auto}
[data-design-section]:not([data-design-section=invitation]):not([data-design-section=cover])>.section-navigation[data-vertical=bottom][data-horizontal=right]{margin-right:0;margin-left:auto}
@media(max-width:720px){.studio-header-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px}.studio-header-actions #studio-save-state{display:none}.studio-header-actions .studio-back,.studio-header-actions .button{width:100%;min-width:0;min-height:40px;padding:7px 5px;font-size:10px;line-height:1.4;white-space:normal;text-align:center;justify-content:center}.studio-header-actions .studio-back{gap:3px}}
/* Breadcrumbs deliberately avoid the invitation's decorative navigation styles. */
nav.workspace-breadcrumbs{position:relative;inset:auto;height:auto;min-height:0;display:block;background:#f6f7f1;border:0;border-bottom:1px solid #dce2d5;margin:0;padding:11px clamp(14px,3vw,40px);color:#61745a;z-index:2;font:12px/1.6 'DM Sans',sans-serif;text-align:left;box-shadow:none}nav.workspace-breadcrumbs ol{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;list-style:none;margin:0;padding:0}nav.workspace-breadcrumbs li{display:flex;align-items:center;gap:10px;min-width:0}nav.workspace-breadcrumbs li+li:before{content:'›';color:#94a18b}nav.workspace-breadcrumbs a{display:inline-flex;align-items:center;gap:6px;font:inherit;margin:0;padding:2px 0;color:#63765d;text-decoration:none;min-width:0;overflow-wrap:anywhere}nav.workspace-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}nav.workspace-breadcrumbs svg{width:15px;height:15px;flex:none}nav.workspace-breadcrumbs [aria-current=page]{font-weight:600;color:#304b37;overflow-wrap:anywhere}.studio-download-panel{margin-top:24px;padding-top:16px;border-top:1px solid #d1dac7}.studio-download-panel>summary{font-size:15px;cursor:pointer}.studio-download-panel p{font-size:12px;line-height:1.7}.studio-download-panel input[type=file]{width:100%;max-width:100%;min-width:0;padding:12px 8px;background:#fffdf8;border:1px dashed #aab99f;border-radius:8px;font-size:12px}.studio-download-panel input[type=file]::file-selector-button{padding:8px;border:1px solid #ccd6c4;border-radius:6px;background:#edf2e6;color:#304b37}.studio-download-panel #studio-download-remove{margin-top:14px}.section-download{position:relative;z-index:25;display:flex;align-items:center;justify-content:center;gap:8px;width:fit-content;max-width:calc(100% - 32px);min-height:44px;margin:24px auto 0;padding:12px 22px;border:1px solid currentColor;border-radius:12px;color:inherit;background:#fffaf0e8;font:500 15px/1.5 'DM Sans',sans-serif;text-decoration:none;text-align:center;overflow-wrap:anywhere;transition:background .2s,box-shadow .2s}.section-download:hover{background:#fffdf8;box-shadow:0 4px 18px #26382f20}.section-download:focus-visible{outline:3px solid currentColor;outline-offset:4px}.floral-welcome>.section-download{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);margin:0;max-width:80%}.studio-download-panel small{display:block;font-size:11px;line-height:1.7}.studio-download-panel select{min-width:0;max-width:100%}
.studio-download-panel{scroll-margin-top:180px}
.studio-download-panel label.studio-check{display:flex!important;flex-direction:row;align-items:center;gap:10px;margin:16px 0;font-size:12px}.studio-download-panel label.studio-check input{width:16px;height:16px;min-width:16px;min-height:16px;margin:0;padding:0;flex:none}
.studio-insert-button{margin:0!important;padding:0!important;border:1px solid #cdd8c6!important;border-radius:9px;background:#fffdf8!important;flex:1;min-width:140px}.studio-insert-button>summary{padding:12px;cursor:pointer;font-size:12px;list-style:none}.studio-insert-button>div{padding:8px;display:grid;gap:8px}.studio-insert-button>div>button{width:100%}.studio-button-list{display:grid;gap:8px;margin:18px 0}.studio-button-list>button{width:100%;text-align:left;overflow-wrap:anywhere}.studio-button-list>button[aria-pressed=true]{background:#e4eddc;border-color:#778c6d;box-shadow:inset 3px 0 #546f45}.studio-button-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.studio-button-actions>button{flex:1;min-width:100px}#studio-button-editor{border:1px solid #d4dec9;border-radius:10px;padding:14px;margin:18px 0}#studio-button-editor h3{font-size:18px;margin:0 0 18px}.invitation-action-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:var(--action-size,46px);max-width:100%;padding:10px 20px;border:1px solid var(--action-color);border-radius:12px;background:var(--action-background);color:var(--action-color);line-height:1.4;text-decoration:none;overflow-wrap:anywhere;box-sizing:border-box;transition:color .2s,background .2s,scale .2s,box-shadow .2s}.invitation-action-button:hover{color:var(--action-hover-color);background:var(--action-hover-background)}.invitation-action-button[data-shape=none]{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px}.invitation-action-button[data-shape=circle]{border-radius:50%;aspect-ratio:1}.invitation-action-button[data-shape=square]{border-radius:0}.invitation-action-button[data-shape=pill]{border-radius:100px}.invitation-action-button[data-shape=rectangle]{border-radius:4px}.invitation-action-button[data-shape=diamond]{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);padding:24px 40px}.invitation-action-button[data-shape=hexagon]{clip-path:polygon(12% 0,88% 0,100% 50%,88% 100%,12% 100%,0 50%);padding-inline:28px}.invitation-action-button[data-hover=lift]:hover{translate:0 -3px}.invitation-action-button[data-hover=grow]:hover{scale:1.06}.invitation-action-button[data-hover=glow]:hover{box-shadow:0 0 20px var(--action-hover-background)}.invitation-action-button:focus-visible{outline:3px solid currentColor;outline-offset:4px}.section-buttons{position:relative;z-index:25;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;width:100%;max-width:100%;margin:24px auto 0}.section-buttons[data-layout=column]{flex-direction:column}.section-buttons[data-align=left]{justify-content:flex-start}.section-buttons[data-align=right]{justify-content:flex-end}.section-buttons[data-layout=column][data-align=left]{align-items:flex-start}.section-buttons[data-layout=column][data-align=right]{align-items:flex-end}.floral-welcome>.section-buttons{position:absolute;bottom:60px;left:50%;translate:-50% 0;width:78%;max-height:36svh;overflow:auto;margin:0;padding:5px}.studio-download-panel[hidden],#studio-button-link-fields[hidden],#studio-button-editor[hidden]{display:none!important}#studio-button-editor label.studio-check{display:flex!important;align-items:center;gap:10px}#studio-button-editor label.studio-check input{width:16px;min-width:16px;height:16px;margin:0;flex:none}@media(prefers-reduced-motion:reduce){.invitation-action-button{transition:none}.invitation-action-button:hover{scale:1;translate:none}}
.studio-insert-button>summary:after{content:'⌄'!important;margin-left:12px}.studio-insert-button[open]>summary:after{content:'⌃'!important}
/* Match the two insertion controls and give the text action breathing room. */
.studio-navigation-insert>.studio-insert-button{background:#ecf2e4!important;border:1px solid #c7d5b9!important;border-radius:6px;color:#526e41}.studio-insert-button>summary{display:flex;align-items:center;justify-content:center;text-align:center;min-height:42px;padding:10px 14px;font:500 12px/1.5 'DM Sans',sans-serif;color:#526e41}.studio-insert-button>summary:after{float:none!important;flex:none;margin-left:8px}.studio-insert-button>summary:hover{background:#e1ead8}.studio-text-add-action{display:flex!important;align-items:center;justify-content:center;width:fit-content;min-width:170px;max-width:100%;margin:24px auto 16px!important}.studio-text-help{margin:18px 0 26px!important;line-height:1.8!important}#studio-motion-isolate{width:100%;margin:0 0 18px}#studio-motion-selection-help{margin:10px 0 14px}#studio-motion-isolate:disabled{opacity:.5;cursor:not-allowed}
.studio-insert-button>summary{background:#ecf2e4}.studio-insert-button>summary:hover{background:#e1ead8}

/* Button design stays within Insert button at every inspector width. */
.studio-navigation-buttons{display:grid!important;grid-template-columns:minmax(0,1fr);gap:12px}.studio-navigation-buttons>.studio-insert-button{min-width:0;width:100%}.studio-insert-button>.studio-button-designer{display:block;padding:14px;background:#fffdf8;color:#354b3e;border-radius:0 0 8px 8px}.studio-button-designer>[data-button-add]{margin-bottom:8px}.studio-button-appearance{border-top:1px solid #d4dec9;padding-top:16px;margin-top:18px}.studio-button-appearance h4{margin:0 0 12px}.studio-button-appearance>#studio-button-original-style{margin-bottom:18px;width:100%;white-space:normal}.studio-button-designer .studio-field-pair{min-width:0}.invitation-action-button{border-color:var(--action-border,var(--action-color));border-width:var(--action-border-width,1px)}

.invitation-action-button .action-icon{font-size:19px;line-height:1;flex:none}.invitation-action-button:has(.action-icon){gap:20px}.invitation-action-button[data-icon=arrow]{gap:28px;padding:12px 25px}

/* Keep every desktop section row on the same grip / number / label grid. */
@media(min-width:1201px){
 .invitation-studio .studio-grid{grid-template-columns:216px 330px minmax(0,1fr)}
 .invitation-studio .studio-section-list{display:flex;flex-direction:column;gap:6px;padding:6px 10px 14px;align-content:initial}
 .invitation-studio .studio-section-list>button{display:grid;grid-template-columns:20px 26px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:50px;flex:none;margin:0;padding:8px;text-align:left;box-sizing:border-box;font:500 12px/1.4 'DM Sans',sans-serif}
 .invitation-studio .studio-section-list .studio-section-grip{width:20px;min-height:28px;margin:0}
 .invitation-studio .studio-section-list .studio-section-number{display:grid;place-items:center;width:26px;min-width:26px;height:28px;margin:0}
 .invitation-studio .studio-section-list .studio-section-label{min-width:0;white-space:normal;overflow-wrap:break-word}
 .invitation-studio .studio-section-list>button[data-reorderable=false] .studio-section-grip{visibility:hidden;cursor:default}
 .invitation-studio .studio-rail-heading{padding:22px 18px 18px}.invitation-studio .studio-section-navigation-tools{padding:0 12px 14px;gap:12px}.invitation-studio .studio-rail-tip{padding:14px 18px;margin:0;border-top:1px solid #d9e0d2}
}
.studio-insert-button>.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.studio-dynamic-fields label.studio-check{display:flex;align-items:center;justify-content:flex-start;gap:10px}.studio-dynamic-fields label.studio-check input{width:16px;min-width:16px;height:16px;margin:0;flex:none}
@media(max-width:1200px){.studio-section-list>button[data-reorderable=false]>.studio-section-grip{display:none}}

/* Independent tool accordions keep all design controls available by default. */
.studio-tool-panel{margin:10px 12px;border:1px solid #d9e0d0;border-radius:9px;background:#fffdf8;min-width:0;overflow:clip}
.studio-tool-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;list-style:none;cursor:pointer;color:#354b3e;font:600 13px/1.5 'DM Sans',sans-serif;background:#f2f5ec;min-height:48px;box-sizing:border-box}
.studio-tool-panel>summary::-webkit-details-marker{display:none}.studio-tool-panel>summary::after{content:'＋';font:18px/1 sans-serif;flex:none}.studio-tool-panel[open]>summary::after{content:'−'}.studio-tool-panel>summary:focus-visible{outline:2px solid #70865c;outline-offset:-3px}
.studio-tool-panel>[data-inspector]>.studio-dynamic-fields{padding:16px!important}.studio-tool-panel>[data-inspector=text]>#studio-card-controls{padding:0}.studio-tool-panel>[data-inspector] .studio-dynamic-fields{min-width:0}
.studio-tool-panel .studio-component-panel{margin:12px}.studio-tool-panel .studio-section{margin-inline:0}
.studio-button-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}.studio-button-actions>button{width:100%;min-width:0;min-height:36px;padding:8px 10px!important;font:500 11px/1.4 'DM Sans',sans-serif!important;text-align:center;white-space:normal;margin:0!important}
.studio-rich-editor .studio-field-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;width:100%;margin:10px 0 16px;box-sizing:border-box}
.studio-rich-editor .studio-field-actions>button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;min-width:90px;min-height:34px;margin:0;padding:7px 11px;text-align:center;font:500 11px/1.4 'DM Sans',sans-serif;box-sizing:border-box}
.studio-rich-editor .studio-field-actions>[data-text-remove]{color:#805643}.studio-rich-editor .studio-field-actions>.studio-text-save{background:#526e41;border-color:#526e41;color:#fffdf6}.studio-rich-editor .studio-field-actions>.studio-text-save:disabled{opacity:.45;cursor:default}.studio-rich-editor .studio-field-deleted-note{margin-right:auto}
@media(max-width:720px){.studio-tool-panel{margin:10px 14px}.studio-tool-panel>summary{padding:13px 14px}}

.studio-component-panel label.studio-check{display:flex;align-items:center;gap:10px}.studio-component-panel label.studio-check input{width:16px;min-width:16px;height:16px;margin:0}.studio-component-heading{align-items:flex-start;gap:12px}.studio-component-heading>strong{white-space:nowrap}.studio-component-heading>span{font-size:10px;line-height:1.5;text-align:right}
.studio-tool-panel details>summary::after{content:'＋'}.studio-tool-panel details[open]>summary::after{content:'−'}

@media(min-width:721px){
 html:has(body>.invitation-studio){height:100dvh;overflow:clip}
 body.helper-app:has(>.invitation-studio){position:fixed;inset:0;width:100%;overflow:clip}
 body.helper-app>.invitation-studio{overflow:clip}
}

.studio-tool-shortcuts{margin-top:12px}.studio-tool-shortcuts>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;cursor:pointer;list-style:none;font:500 12px/1.5 'DM Sans',sans-serif;color:#526e41}.studio-tool-shortcuts>summary::-webkit-details-marker{display:none}.studio-tool-shortcuts>summary::after{content:'＋'}.studio-tool-shortcuts[open]>summary::after{content:'−'}.studio-tool-shortcuts>summary:focus-visible{outline:2px solid #70865c;outline-offset:3px}
.studio-sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.studio-image-transform{margin:16px;padding:14px;border:1px solid #cbd6bf;border-radius:9px;background:#f8faef;min-width:0}.studio-image-transform[hidden]{display:none!important}.studio-image-transform h3{font:600 14px 'DM Sans',sans-serif;margin:0 0 12px}.studio-image-transform p,.studio-image-transform small{font:11px/1.7 'DM Sans',sans-serif;color:#718367}.studio-image-transform label{display:block;margin:15px 0;font:12px/1.5 'DM Sans',sans-serif}.studio-image-transform input[type=number]{width:100%;min-width:0;margin-top:7px;padding:10px;border:1px solid #c2ceb6;border-radius:6px;background:#fffdf6;color:#354b3e}.studio-image-transform label.studio-check{display:flex;align-items:center;gap:10px}.studio-image-transform label.studio-check input{width:16px;height:16px;margin:0;flex:none}.studio-image-transform .studio-field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.studio-image-size-handle,.studio-image-rotate-handle{position:absolute;display:block;width:12px;height:12px;background:#fff;border:2px solid #376a8b;pointer-events:auto!important;box-sizing:border-box;touch-action:none;z-index:5}.studio-image-size-handle[data-image-resize=nw]{left:-6px;top:-6px;cursor:nwse-resize}.studio-image-size-handle[data-image-resize=ne]{right:-6px;top:-6px;cursor:nesw-resize}.studio-image-size-handle[data-image-resize=sw]{left:-6px;bottom:-6px;cursor:nesw-resize}.studio-image-size-handle[data-image-resize=se]{right:-6px;bottom:-6px;cursor:nwse-resize}.studio-image-rotate-handle{left:calc(50% - 6px);top:-28px;border-radius:50%;cursor:grab}.studio-image-rotate-handle::before{content:'';position:absolute;left:3px;top:9px;width:1px;height:15px;background:#376a8b}

.studio-image-transform .studio-field-pair>label{display:flex;flex-direction:column;justify-content:space-between;gap:7px}.studio-image-transform .studio-field-pair input{margin-top:0;flex:none}#studio-assets-sync-status{font:11px/1.6 'DM Sans',sans-serif;color:#718367}.event-app-brand{gap:10px}.studio-sticky-shell{position:sticky;top:var(--workspace-header-height,58px);z-index:70;background:#fffdf8;flex:none}.studio-sticky-shell .studio-header{position:static;top:auto}.studio-sticky-shell .workspace-breadcrumbs{padding:9px 26px;margin:0;border-top:1px solid #e4e8dd;font-size:11px}.event-workspace-bar{position:sticky;top:0;z-index:90;flex:none}.gallery-collections{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.gallery-collections [aria-current=page]{background:#526e41;color:#fffdf6}.studio-image-rotate-handle{width:24px;height:24px;left:calc(50% - 12px);top:-38px;border:1px solid #376a8b;border-radius:50%;background:#fff;color:#376a8b;padding:3px}.studio-image-rotate-handle>svg{display:block;width:100%;height:100%}.studio-image-rotate-handle::before{left:11px;top:22px;height:15px}
@media(max-width:720px){.event-workspace-bar{display:flex!important;align-items:center;gap:12px;padding:10px 14px;min-height:50px}.event-workspace-bar>form,.event-workspace-bar>.event-status,.event-app-brand>small{display:none}.event-all-link{font-size:10px}.studio-sticky-shell{top:var(--workspace-header-height,50px)}}
@media(min-width:721px){.studio-sticky-shell{position:relative;top:0}}
.gallery-collections>.button{flex:0 0 auto;width:auto;min-width:150px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;min-height:44px;margin:0;border:1px solid #bccbb0;border-radius:8px;background:#fffdf8;color:#526e41;font:500 12px/1.5 'DM Sans',sans-serif}.gallery-collections>.button[aria-current=page]{background:#526e41;color:#fffdf6;border-color:#526e41}
@media(max-width:600px){.gallery-collections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery-collections>.button{width:100%;min-width:0;padding:10px}}

/* Built-in artwork shares the same Gallery grid as uploaded media. */
.media-builtin{display:flex;flex-direction:column}.media-builtin>a:first-child{display:block}.media-builtin>.button,.media-builtin>.text-link{margin:8px 14px 16px;width:auto;align-self:stretch;text-align:center;font-size:12px}.media-toolbar select{max-width:100%}

/* Keep Studio navigation independent of panel focus and document scrolling. */
body.helper-app>.invitation-studio{box-sizing:border-box;padding-top:var(--studio-shell-height,116px)}
body.helper-app>.invitation-studio>.studio-sticky-shell{position:fixed;inset:auto 0 auto 0;top:var(--workspace-header-height,58px);z-index:80;width:100%;box-sizing:border-box}
body.helper-app>.invitation-studio>.studio-sticky-shell>.studio-header{position:static}
@media(max-width:720px){body.helper-app>.invitation-studio{--studio-shell-height:132px}body.helper-app>.invitation-studio>.studio-sticky-shell{top:var(--workspace-header-height,50px)}}



.event-app-brand>.kokim-app-logo{display:block;width:138px;height:46px;flex:0 0 auto;object-fit:contain}.event-app-brand{gap:12px}@media(max-width:720px){.event-app-brand>.kokim-app-logo{width:108px;height:36px}.event-app-brand{gap:8px}}

/* Focused Studio inspector: content, style and advanced tools share one canvas. */
.studio-focused-workspace [hidden]{display:none!important}
.studio-focused-workspace .studio-inspector-heading{padding:16px 18px 10px!important;background:#fffdf8;z-index:25}
.studio-focused-workspace .studio-section-title-row h2{font-size:27px;line-height:1.2;overflow-wrap:anywhere}
.studio-focused-workspace .studio-section-title-row>.studio-secondary{padding:7px 9px;min-height:34px;font-size:10px;width:auto}
.studio-workspace-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0 10px}
.studio-workspace-tools button,.studio-inspector-groups button,.studio-outline-tabs button{border:1px solid #d3ddcb;border-radius:7px;padding:9px 7px;min-height:38px;background:#fffdf8;color:#40533b;font:500 11px/1.3 'DM Sans',sans-serif;cursor:pointer;width:auto;margin:0}
.studio-workspace-tools .studio-primary-insert{background:#354f3d;color:#fff9ed;border-color:#354f3d}
.studio-inspector-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;background:#edf1e7;border-radius:8px;padding:3px;margin:7px 0 8px}
.studio-inspector-groups button{border:0;background:transparent;padding:8px 4px;min-height:33px}
.studio-inspector-groups [aria-pressed=true]{background:#fffdf8;color:#26382f;box-shadow:0 1px 4px #26382f14}
.studio-focused-workspace .studio-inspector-tabs{display:flex!important;flex-wrap:wrap;gap:5px!important}
.studio-focused-workspace .studio-inspector-tabs button{flex:1 1 60px;min-height:35px;font-size:11px!important;padding:8px 6px!important;line-height:1.4}
.studio-focused-workspace .studio-tool-shortcuts{margin:0}.studio-focused-workspace .studio-tool-shortcuts>summary{font-size:10px;padding:6px 0}
.studio-focused-workspace .studio-all-tools{display:flex;align-items:center;gap:7px;font:10px/1.5 'DM Sans',sans-serif;color:#77866e;margin:10px 0 0}
.studio-all-tools input{width:13px!important;height:13px;min-height:0!important;margin:0!important;accent-color:#354f3d}
.studio-focused-workspace .studio-version-settings{border-bottom:1px solid #dfe5d8;background:#f5f7ef}
.studio-version-settings>summary{padding:12px 18px;font:11px/1.5 'DM Sans',sans-serif;color:#607258;cursor:pointer}
.studio-version-settings .studio-scope{padding:14px 18px}
.studio-focused-workspace #studio-entry-controls,.studio-focused-workspace #studio-footer-seal-controls,.studio-focused-workspace #studio-welcome-controls{margin:14px;padding:14px;border:1px solid #dbe2d2;border-radius:8px;background:#f6f7ee;font:12px/1.6 'DM Sans',sans-serif}
.studio-focused-workspace #studio-entry-controls label,.studio-focused-workspace #studio-welcome-controls label{display:grid;gap:7px;margin-bottom:14px}.studio-focused-workspace #studio-entry-controls select{max-width:100%;width:100%}
.studio-focused-workspace .studio-tool-panel{margin:12px;border-radius:10px}.studio-focused-workspace .studio-tool-panel>summary{min-height:42px;padding:10px 14px;font-size:12px}
.studio-outline-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:0 12px 10px;flex:none}
.studio-outline-tabs button[aria-pressed=true]{background:#e3ebd9;border-color:#b8c9a8;font-weight:600}
.studio-outline-list{min-height:0;overflow:auto;flex:1;padding:0 10px 20px;overscroll-behavior:contain}
.studio-outline-list>p{font:600 10px/1.5 'DM Sans',sans-serif;color:#7a8a6c;padding:8px 5px;text-transform:uppercase;letter-spacing:.7px}
.studio-outline-list>button{display:block;text-align:left;width:100%;padding:10px 8px;margin:3px 0;min-height:36px;border:1px solid transparent;border-radius:6px;background:transparent;color:#526548;font:11px/1.5 'DM Sans',sans-serif;overflow-wrap:anywhere;cursor:pointer}
.studio-outline-list>button[aria-pressed=true]{border-color:#b8c9a8;background:#edf2e6;color:#26382f}
.studio-outline-list small{font:11px/1.6 'DM Sans',sans-serif;color:#7b886d}
.studio-command-palette{width:min(620px,calc(100vw - 28px));max-height:80dvh;margin:auto;border:1px solid #c5d2b9;border-radius:15px;background:#fffdf8;color:#344d39;padding:20px;box-shadow:0 24px 100px #14271f60;overflow:hidden}
.studio-command-palette::backdrop{background:#1a2b23a6;backdrop-filter:blur(5px)}
.studio-command-palette>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.studio-command-palette h2{font:400 29px/1.2 var(--serif);margin:0}.studio-command-palette>header>button{border:1px solid #d2dcc8;border-radius:50%;background:#f5f7ef;color:#49633d;font:22px sans-serif;width:34px;height:34px;cursor:pointer}
.studio-command-palette>input{width:100%;margin:0 0 14px;padding:13px 14px;border:1px solid #bdcdae;border-radius:8px;background:#f5f7ef;color:#26382f;font:14px 'DM Sans',sans-serif}
.studio-command-results{display:grid;grid-template-columns:1fr;gap:6px;max-height:48dvh;overflow:auto;overscroll-behavior:contain}
.studio-command-result{padding:13px 15px;text-align:left;background:#fffdf8;border:1px solid #e1e7d8;border-radius:8px;color:#354b3e;display:grid;gap:4px;cursor:pointer;width:100%;margin:0;font:13px/1.5 'DM Sans',sans-serif}.studio-command-result:hover,.studio-command-result:focus-visible{background:#eef3e7;border-color:#a8be93;outline:0}.studio-command-result small{font-size:11px;color:#7d8b73}.studio-command-result[draggable=true]{cursor:grab}
.studio-command-tip{font:11px/1.6 'DM Sans',sans-serif;color:#7a886f;margin:14px 0 0}
@media(max-width:1200px){.studio-outline-tabs{padding:0 14px 9px;max-width:260px}.studio-outline-list{max-height:180px;display:flex;gap:6px;overflow:auto}.studio-outline-list>p{display:none}.studio-outline-list>button{width:160px;flex:none}.studio-focused-workspace .studio-section-list{min-height:50px}}
@media(max-width:720px){.studio-focused-workspace .studio-inspector-heading{position:static!important;padding:12px!important}.studio-focused-workspace .studio-section-title-row h2{font-size:25px}.studio-focused-workspace .studio-tool-shortcuts>summary{display:none}.studio-command-palette{padding:16px;max-height:85dvh}.studio-command-palette h2{font-size:25px}.studio-focused-workspace .studio-workspace-tools{margin-top:10px}}
.studio-outline-list{display:block;width:100%;box-sizing:border-box;overflow-x:hidden}.studio-outline-list>button{flex:none;white-space:normal}
@media(max-width:1200px){.studio-outline-list{display:flex;overflow-x:auto}.studio-outline-list>button{white-space:normal}}
.studio-structure-browser{display:flex;flex-direction:column;min-height:0;flex:1;margin:0;border:0;padding:0}.studio-structure-browser>summary{display:none}.studio-structure-browser>.studio-section-list,.studio-structure-browser>.studio-outline-list{min-height:0;flex:1}
.studio-focused-workspace .studio-version-settings>summary{padding:10px 16px!important;min-height:36px;line-height:1.5}.studio-focused-workspace .studio-version-settings{margin:0}
@media(max-width:1200px){.studio-structure-browser{display:block;flex:none}.studio-structure-browser>summary{display:block;padding:10px 15px;min-height:38px;font:500 11px/1.5 'DM Sans',sans-serif;color:#617655;cursor:pointer;border-top:1px solid #e1e7db}.studio-structure-browser>summary::after{content:'＋';float:right}.studio-structure-browser[open]>summary::after{content:'−'}.studio-structure-browser:not([open])>:not(summary){display:none!important}.studio-structure-browser>.studio-section-list{max-height:90px}.studio-structure-browser>.studio-outline-list{max-height:130px}}
@media(max-width:720px){
 .studio-focused-workspace .studio-header{flex-wrap:nowrap;align-items:center;padding:9px 12px;gap:7px}
 .studio-focused-workspace .studio-header .studio-brand{min-width:0;flex:1;gap:6px;font-size:10px}
 .studio-focused-workspace .studio-header .studio-brand img{width:27px;height:27px;flex:none}
 .studio-focused-workspace .studio-header-actions{display:flex!important;width:auto!important;flex:0 0 auto;gap:4px;flex-wrap:nowrap}
 .studio-focused-workspace .studio-header #studio-save-state{display:none}
 .studio-focused-workspace .studio-header .studio-back{width:32px!important;min-height:34px;justify-content:center;padding:5px;font-size:15px}
 .studio-focused-workspace .studio-header .studio-back-label{display:none!important}
 .studio-focused-workspace #studio-browser-preview{font-size:0!important}
 .studio-focused-workspace #studio-browser-preview::after{content:'↗';font-size:17px}
 .studio-focused-workspace .studio-header #studio-save{min-height:34px;font-size:10px;padding:8px;white-space:nowrap;width:auto}
 .studio-focused-workspace .studio-sticky-shell .workspace-breadcrumbs{padding:7px 12px;font-size:10px}
 .studio-focused-workspace .studio-section-navigation-tools{padding:8px 12px;gap:8px}
 .studio-focused-workspace .studio-section-jump{font-size:0}
 .studio-focused-workspace .studio-section-jump select{font-size:13px;margin:0;min-height:40px}
}
@media(max-width:720px){.studio-focused-workspace .studio-controls :is(input,select,textarea,.studio-rich-input,button,summary){scroll-margin-top:calc(var(--studio-header-height) + var(--studio-tabs-height) + 145px);scroll-margin-bottom:40px}}

/* Keep the complete inspector toolbox aligned in a readable, even grid. */
.studio-focused-workspace.studio-showing-all-tools .studio-inspector-tabs{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;
 padding:4px 0;margin:0;width:100%;
}
.studio-focused-workspace.studio-showing-all-tools .studio-inspector-tabs button{
 display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:42px;
 margin:0!important;padding:8px!important;white-space:normal;text-align:center;
 border:1px solid #d9e0d0;border-radius:7px;background:#fffdf8;line-height:1.35;
}
.studio-focused-workspace.studio-showing-all-tools .studio-inspector-tabs button[aria-pressed="true"]{
 background:#e7eedf;border-color:#b7c8a7;color:#354f3d;
}
.studio-focused-workspace.studio-showing-all-tools .studio-all-tools{
 padding-top:10px;border-top:1px solid #e1e5db;margin-top:8px;
}
.studio-focused-workspace.studio-showing-all-tools .studio-tool-panel{
 width:calc(100% - 24px);box-sizing:border-box;margin:12px;
}

/* Details content does not inherit its parent's flex layout: constrain the
   desktop outline explicitly so long lists scroll within the navigation rail. */
@media(min-width:1201px){
 .studio-focused-workspace .studio-structure-browser{position:relative;overflow:hidden}
 .studio-focused-workspace .studio-structure-content{position:absolute;inset:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}
 .studio-focused-workspace .studio-structure-content>.studio-outline-tabs{flex:0 0 auto}
 .studio-focused-workspace .studio-structure-content>:is(.studio-section-list,.studio-outline-list){flex:1 1 0%;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}
 .studio-focused-workspace .studio-structure-content>:is(.studio-section-list,.studio-outline-list):focus-visible{outline:2px solid #71865e;outline-offset:-2px}
}
@media(max-width:1200px){
 .studio-structure-content>.studio-section-list{max-height:90px}
 .studio-structure-content>.studio-outline-list{max-height:130px}
}

.media-display-options{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;margin:12px 0;color:#6b7b61;font-size:11px}.media-display-options button{padding:8px 12px;min-height:38px;border:1px solid #cdd7c2;border-radius:8px;background:#fffdf7;color:#47613c;font:11px sans-serif;cursor:pointer}.media-display-options button[aria-pressed=true]{background:#e5eddb;border-color:#8c9f7c}.media-builtin-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:auto}.media-builtin-actions a,.media-builtin-actions button{flex:1;text-align:center;white-space:nowrap;padding:8px 7px;min-height:36px;border:1px solid #d4ddca;background:#fffdf7;color:#426038;border-radius:7px;font:10px/1.5 sans-serif;text-decoration:none;cursor:pointer}.media-compact .media-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.media-compact .media-thumb{aspect-ratio:4/3;max-height:140px}.media-compact .media-tile{padding:10px}.media-compact .media-tile strong{font-size:12px}@media(max-width:600px){.media-display-options{justify-content:flex-start}.media-builtin-actions{gap:5px}.media-builtin-actions a,.media-builtin-actions button{font-size:10px;min-height:40px}.media-compact .media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}}
.media-heading-actions{justify-content:flex-end}.media-heading-actions .button{width:auto;flex:none;min-height:44px}.media-builtin-actions a:hover,.media-builtin-actions button:hover{background:#edf3e6}@media(max-width:700px){.media-heading-actions{justify-content:flex-start}.media-heading-actions .button{flex:1}}

.media-image-lightbox{width:min(1100px,94vw);max-width:94vw;max-height:94dvh;padding:0;border:1px solid #cbd4c2;border-radius:16px;background:#fffdf7;color:#263e32;overflow:auto}.media-image-lightbox::backdrop{background:#11251fd9;backdrop-filter:blur(6px)}.media-image-lightbox>header,.media-image-lightbox>footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 20px;background:#fffdf7}.media-image-lightbox>header{border-bottom:1px solid #d8dece}.media-image-lightbox h2{font:26px/1.25 Georgia,serif;overflow-wrap:anywhere;margin:0}.media-image-lightbox button{min-width:44px;min-height:44px;padding:10px 15px;border:1px solid #ccd7bf;border-radius:8px;background:#edf2e7;color:#3d5733;cursor:pointer}.media-lightbox-stage{display:flex;align-items:center;justify-content:center;min-height:180px;padding:18px;background-color:#e5e8e0;background-image:linear-gradient(45deg,#d8ded1 25%,transparent 25%),linear-gradient(-45deg,#d8ded1 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d8ded1 75%),linear-gradient(-45deg,transparent 75%,#d8ded1 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.media-lightbox-stage>img{max-width:100%;max-height:65dvh;object-fit:contain}.media-image-lightbox>footer .button{width:auto;margin:0;font-size:12px;min-height:44px}.media-image-lightbox>footer{position:sticky;bottom:0;border-top:1px solid #d8dece}@media(max-width:600px){.media-image-lightbox{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:94dvh}.media-image-lightbox>header,.media-image-lightbox>footer{padding:12px;gap:8px}.media-image-lightbox h2{font-size:21px}.media-image-lightbox>footer>*{flex:1;font-size:11px!important}.media-lightbox-stage{padding:10px}}
body:has(.media-image-lightbox[open]){overflow:hidden}

.studio-rich-toolbar .studio-font-size-control{display:flex;align-items:center;flex-wrap:wrap;gap:6px;flex:1 0 100%;padding:5px 0;border-block:1px solid #d5decb;margin:3px 0;min-width:0}
.studio-rich-toolbar .studio-font-size-label{display:flex!important;align-items:center;gap:6px!important;margin:0!important;font:11px/1.4 'DM Sans',sans-serif;white-space:nowrap;color:#435b37}
.studio-rich-toolbar .studio-font-size-label>input[type=number]{width:68px;min-width:0;min-height:30px;height:30px;padding:4px 5px;margin:0;border:1px solid #bfcdb2;border-radius:4px;background:#fffdf6;color:#354832;font:12px 'DM Sans',sans-serif}
.studio-rich-toolbar .studio-font-size-unit{font-size:10px;color:#738466}
.studio-rich-toolbar .studio-font-size-control>select{width:86px;max-width:100%;min-height:30px;height:30px;font-size:11px;margin:0;padding:4px 21px 4px 5px}
@media(max-width:600px){.studio-rich-toolbar .studio-font-size-label>input[type=number]{min-height:36px;height:36px;font-size:16px}.studio-rich-toolbar .studio-font-size-control>select{min-height:36px;height:36px}}
.studio-rich-input.studio-device-text-size,.studio-rich-input.studio-device-text-size *{font-size:var(--studio-device-text-size)!important}

/* A transformed seal must not be cropped by its original circular link. */
#invitation-footer{position:relative;overflow:visible;isolation:isolate}
#invitation-footer a:has(>[data-design-image="logo"]){overflow:visible;border-radius:0}
#invitation-footer [data-design-image="logo"]{overflow:visible;max-width:none;transform-origin:center}

.rsvp-dialog [data-consent-only][hidden]{display:none!important}

.invitation-action-button[hidden]{display:none!important}.studio-download-schedule{margin:12px 0}.studio-download-schedule[open]>div{display:grid;gap:12px;padding-top:12px}

#studio-download-schedule-fields[hidden]{display:none!important}

/* A scroll-led light traces the programme spine and lights each milestone. */
.programme-timeline.programme-track-animated{background-image:radial-gradient(circle,#fff7e6 0 3px,#efbd9dcc 4px,transparent 11px);background-size:24px 24px;background-repeat:no-repeat;background-position:calc(var(--programme-line-x) - 12px) calc(var(--programme-line-start) + var(--programme-progress-height) - 12px);transition:background-position .55s cubic-bezier(.2,.65,.3,1)}
.programme-timeline.programme-track-animated:before{top:var(--programme-line-start);bottom:auto;left:var(--programme-line-x);height:var(--programme-line-length);width:2px;background:#a38c684d;transform:translateX(-50%)}
.programme-timeline.programme-track-animated:after{content:'';position:absolute;top:var(--programme-line-start);left:var(--programme-line-x);width:3px;height:var(--programme-progress-height);transform:translateX(-50%);background:linear-gradient(to bottom,#b89465,#efbd9d 65%,#fff4da);box-shadow:0 0 12px #efbd9d99;transition:height .55s cubic-bezier(.2,.65,.3,1);pointer-events:none;border-radius:3px;z-index:0}
.programme-track-animated .programme-icon{z-index:1;transition:border-color .45s,box-shadow .45s,color .45s}
.programme-track-animated .programme-icon.programme-reached{border-color:#efbd9d;color:#ffe0ba;box-shadow:0 0 0 7px #26382f,0 0 19px 8px #efbd9d25}
.programme-track-animated .programme-icon.programme-current{animation:programme-milestone-glow 1.6s ease-in-out infinite;box-shadow:0 0 0 7px #26382f,0 0 24px 9px #efbd9d4a}
.programme-track-animated .programme-event-main .programme-icon.programme-reached{color:#354431}
@keyframes programme-milestone-glow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.3)}}
@media(prefers-reduced-motion:reduce){.programme-timeline.programme-track-animated,.programme-timeline.programme-track-animated:after,.programme-track-animated .programme-icon{transition:none;animation:none!important}}

/* Keep the caption centred while the action icon sits at the right edge. */
.invitation-action-button:has(.action-icon){gap:0;padding-inline:48px;min-width:112px}
.invitation-action-button>.action-icon{position:absolute;right:18px;top:50%;translate:0 -50%;pointer-events:none}
.studio-section-schedule{display:grid;gap:12px;padding-top:16px;margin-top:16px;border-top:1px solid #d6dfce}
#studio-section-schedule-fields{display:grid;gap:12px;min-width:0}
#studio-section-schedule-fields[hidden]{display:none!important}
.studio-section-schedule input[type=datetime-local]{width:100%;min-width:0;box-sizing:border-box}
.studio-section-schedule small,.studio-section-schedule p{font-size:11px;line-height:1.6;margin:0}

.scheduler-timezone{display:grid;gap:7px;min-width:0}.scheduler-timezone select{width:100%;min-width:0;max-width:100%;text-overflow:ellipsis;box-sizing:border-box}
#studio-button-editor .studio-button-opacity{display:grid;gap:10px;align-items:start;margin:16px 0}
#studio-button-editor .studio-button-opacity>span{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;line-height:1.5}
#studio-button-opacity-value{float:none;flex:none;min-width:48px;padding:3px 7px;border:1px solid #ccd7c1;border-radius:5px;background:#f1f5eb;text-align:center;font:500 12px/1.4 'DM Sans',sans-serif;color:#354b3e}
#studio-button-editor .studio-button-opacity input[type=range]{display:block;min-height:24px;height:24px;margin:0;padding:0;width:100%;accent-color:#526e41;box-sizing:border-box}
#studio-button-editor .studio-button-opacity small{margin:0;font-size:11px;line-height:1.5}
.studio-button-appearance .studio-field-pair{align-items:end}

#studio-button-text-field{min-width:0;margin-bottom:18px}#studio-button-text-field .studio-rich-editor{margin-bottom:0}#studio-button-text-field .studio-text-field{min-width:0}#studio-button-text-field .studio-rich-input{min-height:48px}
.invitation-action-button .action-label{display:block;min-width:0;width:100%;white-space:pre-wrap}.invitation-action-button .action-label :is(p,div){margin:0}.invitation-action-button .action-label :is(ul,ol){margin:0;padding-left:1.2em}

.studio-native-hidden,.native-icon-hidden{display:none!important}
.invitation-native-button{min-height:var(--action-size,48px)!important;max-width:100%;background:var(--action-background)!important;color:var(--action-color)!important;border:var(--action-border-width,1px) solid var(--action-border,var(--action-color))!important;line-height:1.4}
.invitation-native-button:hover{background:var(--action-hover-background)!important;color:var(--action-hover-color)!important}
.invitation-native-button[data-shape=none]{border:0!important;background:transparent!important}
#studio-button-native-reset{width:100%;margin:0 0 16px}#studio-native-button-note{margin:0 0 14px!important;padding:10px!important}#studio-button-native-reset[hidden],#studio-native-button-note[hidden]{display:none!important}
.invitation-native-button>span.design-button-label,#rsvp .invitation-native-button>span.design-button-label{display:block!important}
.invitation-native-button>.design-button-label:before,.invitation-native-button>.design-button-label:after{display:none}
.invitation-native-button .action-label{text-align:inherit!important;width:100%;display:block!important}
.invitation-native-button>.native-tool-icon{transform:none!important;translate:0 -50%;right:18px}
.invitation-native-button:has(.native-tool-icon){padding-inline:48px!important}

.invitation-native-button>.native-original-icon{transform:none!important;translate:0 -50%;right:18px}

body.calendar-modal-open{overflow:hidden}
.invitation-calendar-popup{width:min(460px,calc(100vw - 28px));max-height:90dvh;padding:0;border:1px solid #c4cfbb;border-radius:14px;background:#fffdf6;color:#354b3e;overflow:auto}
.invitation-calendar-popup::backdrop{background:#162b23b3;backdrop-filter:blur(4px)}
.invitation-calendar-popup>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #dce2d3}
.invitation-calendar-popup h2{font:500 30px/1.2 var(--serif);margin:0}
.invitation-calendar-popup>header button{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid #d0dac5;border-radius:50%;background:#f0f4e9;color:#354b3e;font-size:24px}
.calendar-popup-options{display:grid;gap:10px;padding:20px}
.calendar-popup-option{display:flex;align-items:center;min-height:48px;padding:12px 16px;border:1px solid #c8d3bd;border-radius:7px;background:#f4f7ed;font:14px/1.5 'DM Sans',sans-serif;overflow-wrap:anywhere}
.calendar-popup-option:hover{background:#e5eddc}

#studio-calendar-preview[hidden]{display:none!important}

.event-duplicate-button{width:100%;margin:12px 0 0;padding:11px 16px;border:1px solid #b9c9b0;border-radius:6px;background:#eef3e7;color:#354b3e;font:500 13px/1.4 'DM Sans',sans-serif;cursor:pointer}
.event-create-dialog .event-copy-option{display:flex;flex-direction:row;align-items:flex-start;gap:10px;margin:16px 0;font-size:14px;line-height:1.6}
.event-create-dialog .event-copy-option input{order:0;flex:none;width:18px;min-height:18px;height:18px;padding:0;margin:3px 0;accent-color:#354b3e}
.event-create-dialog .event-copy-actions{position:static;display:flex;flex-direction:row;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin:22px 0 0;padding:16px 0 0;border-top:1px solid #d4dfca;background:transparent;text-align:initial}
.event-create-dialog .event-copy-actions>button{width:auto;min-height:42px;margin:0;padding:10px 18px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid #b9c9b0;border-radius:6px;font:500 13px/1.4 'DM Sans',sans-serif}
.event-create-dialog .event-copy-actions>button:not(.button){background:#fffdf8;color:#354b3e}
.media-kind-tabs{display:flex;gap:6px;padding:5px;margin:16px 0;background:#eaf0e4;border:1px solid #d5decb;border-radius:9px;width:fit-content;max-width:100%}
.media-kind-tabs>a{display:flex;align-items:center;justify-content:center;min-height:40px;min-width:95px;padding:8px 16px;border-radius:6px;font:500 13px/1.5 'DM Sans',sans-serif}
.media-kind-tabs>a[aria-current=page]{background:#fffdf7;color:#294532;box-shadow:0 1px 4px #26382f18}
/* Scratch surfaces and PNG frames participate in the same editable section stack. */
[data-design-section]>.section-scratch-cover{z-index:var(--studio-layer-z,90)!important}
.section-scratch-frame{z-index:var(--studio-layer-z,91)!important}
/* Added artwork uses the full section; the outer section remains the export/scroll boundary. */
[data-design-section]>.design-image-layer{overflow:visible;max-width:none;max-height:none}
.floral-welcome-copy{z-index:10}
.studio-image-size-handle[data-image-resize=n]{left:50%;top:-6px;translate:-50% 0;cursor:ns-resize}
.studio-image-size-handle[data-image-resize=s]{left:50%;bottom:-6px;translate:-50% 0;cursor:ns-resize}
.studio-image-size-handle[data-image-resize=e]{right:-6px;top:50%;translate:0 -50%;cursor:ew-resize}
.studio-image-size-handle[data-image-resize=w]{left:-6px;top:50%;translate:0 -50%;cursor:ew-resize}

/* Keep the invitation scene permeable to full-section artwork stacking. */
[data-design-section] > [data-invitation-scene]{z-index:auto!important}

/* A blank native section keeps live event widgets available as reusable blocks. */
.design-build-canvas > :not(.design-image-layer):not(.design-decoration):not(.design-gradient-layer):not(.section-scratch-cover):not(.section-scratch-frame):not(.section-navigation):not(.section-button-list){visibility:hidden}
.design-build-canvas::before,.design-build-canvas::after{visibility:hidden}
.design-build-canvas .design-image-layer,.design-build-canvas .design-decoration,.design-build-canvas .design-gradient-layer{visibility:visible}

.design-build-canvas:not([data-canvas-blocks~="background"]){border-radius:0!important;box-shadow:none!important}

[data-canvas-block-state="visible"]{visibility:visible}
[data-canvas-block-state="hidden"],[data-canvas-block-state="hidden"] *{visibility:hidden!important}
[data-design-section] [data-design-section]{visibility:visible}

.design-build-canvas > [data-design-section]{visibility:visible!important}

.component-layout-active > .component-layout-source{display:none!important}
.component-layout-layer{max-width:none;min-width:0;box-sizing:border-box}
.component-layout-layer:not(.welcome-floral-scene):not(.floral-welcome-frame):not(.floral-welcome-copy){transform-origin:center}
.component-layout-layer .component-layout-layer{flex-shrink:0}
.component-layout-layer[data-composition-field=title]{white-space:pre-line}
.component-layout-layer[data-composition-field^=parents_]{white-space:pre-line}
.component-layout-active > .component-layout-layer[data-invitation-scene]{min-height:100svh;height:100svh;width:100%;position:relative}

/* Uploaded Gallery artwork has an explicit, keyboard-accessible Rename action. */
.media-upload-tile{display:flex;flex-direction:column;min-width:0}
.media-upload-open{display:block;min-width:0;width:100%;border:0;background:none;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}
.media-upload-actions{margin-top:auto;padding:0 12px 12px}
.media-upload-actions>button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:38px;padding:8px 12px;border:1px solid #d4ddca;border-radius:7px;background:#fffdf7;color:#426038;font:12px/1.4 'DM Sans',sans-serif;cursor:pointer}
.media-upload-actions>button:hover{background:#edf3e6}.media-upload-open:focus-visible,.media-upload-actions>button:focus-visible{outline:3px solid #78956c;outline-offset:-3px}
.media-rename-dialog{max-width:460px}.media-rename-dialog form>p{font:12px/1.6 'DM Sans',sans-serif;color:#64745d}.media-rename-dialog footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:20px}.media-rename-dialog footer .button{display:flex;align-items:center;justify-content:center;min-height:42px;margin:0;padding:10px 18px}
@media(max-width:600px){.media-rename-dialog footer .button{flex:1}.media-upload-actions{padding:0 8px 8px}}
.media-rename-dialog footer{padding:0;border:0;background:none;text-align:left}
#media-rename-form footer .button{flex:1 1 120px;width:auto;min-width:0;max-width:100%;background:#354b3e;border:1px solid #354b3e;color:#fffdf6;border-radius:7px;font:12px/1.4 'DM Sans',sans-serif}
#media-rename-form footer .button-outline{background:#fffdf7;color:#354b3e;border-color:#c5cfbd}

/* Gallery card actions share one inset grid, including Rename. */
.media-builtin-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:6px;margin-top:auto;padding:0 12px 12px;box-sizing:border-box}
.media-builtin-actions>a,.media-builtin-actions>button{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;min-height:38px;height:auto;box-sizing:border-box;margin:0;padding:8px 5px;white-space:normal;line-height:1.4}
.media-builtin-actions>:last-child:nth-child(3){grid-column:1/-1}
.media-upload-actions{padding:0 12px 12px;box-sizing:border-box}
.media-upload-actions>button{box-sizing:border-box}
.media-compact .media-builtin-actions,.media-compact .media-upload-actions{padding:0}
@media(max-width:600px){.media-builtin-actions>a,.media-builtin-actions>button,.media-upload-actions>button{min-height:40px}.media-builtin-actions,.media-upload-actions{padding:0 8px 8px}}

/* Keep the designed invitation card stable under mobile text inflation.
   Browser zoom remains available; forms retain their normal accessibility sizing. */
[data-invitation-copy],#invitee-welcome{-webkit-text-size-adjust:none;text-size-adjust:none}
[data-invitation-copy]{min-width:0;box-sizing:border-box}
[data-invitation-copy] :is(h1,p,.invitation-names){min-width:0;overflow-wrap:anywhere}
.formal-invitation .invitation-names span{white-space:normal}
.formal-invitation .invitation-wording{margin-inline:0;max-width:100%}
#invitee-welcome{box-sizing:border-box;max-width:calc(100vw - 32px);padding-inline:clamp(16px,5vw,30px);overscroll-behavior:contain}
#invitee-welcome :is(p,[data-welcome-recipient]){min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal}
#invitee-welcome .eyebrow{padding-inline:16px}

/* Keep the bride's parentage directly below her name on the formal card. */
.formal-invitation .invitation-names > [data-invitation-field="bride_relation"],
.formal-invitation .invitation-names > [data-composition-field="relation"]:last-child{display:block}

/* Inline name fragments need a transformable box for canvas movement. */
.formal-invitation .invitation-names > :is(b,span,i){display:inline-block;max-width:100%;vertical-align:baseline}

.programme-source-icon{display:block;width:48px;height:48px;max-width:100%;max-height:100%;object-fit:contain}
