@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=Parisienne&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fcfaf5;color:#414d3d;font-family:'DM Sans',sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{outline-offset:5px}header{height:104px;display:flex;justify-content:space-between;align-items:center;max-width:1320px;margin:auto;padding:0 55px;border-bottom:1px solid #deded0}.brand{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:32px}.brand span{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:4px}nav{display:flex;align-items:center;gap:34px;font-size:11px}.nav-rsvp{border-bottom:1px solid #87927d;padding:12px 0}.hero{position:relative;overflow:hidden;text-align:center;min-height:780px;padding:70px 20px 60px}.hero-inner{position:relative;z-index:1}.eyebrow{font-size:9px;font-weight:500;letter-spacing:2.6px}.script{font-family:'Parisienne','Cormorant Garamond',cursive;font-size:37px;font-style:italic;color:#a58a6e;margin:34px 0 20px}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}h1{font-size:76px;line-height:1;margin:0}h1 em{display:block;font-size:49px;color:#a58a6e;line-height:1.25}h2{font-size:51px;line-height:1.06;margin:22px 0}i{font-weight:400;color:#768166}.date{margin:32px 0}.date span{font-size:8px;letter-spacing:2.4px}.date p{font-family:'Cormorant Garamond',serif;font-size:25px;margin:10px}.date small{font-size:11px;color:#7e8176}.button{border:0;background:#5d6d51;color:#fffdf7;display:inline-flex;gap:40px;padding:17px 23px;font-size:11px;cursor:pointer}.button:hover{background:#46583b}.button:disabled{opacity:.65;cursor:wait}.hero-foot{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;margin-top:21px;color:#777e6f}.scroll{display:block;position:relative;margin-top:50px;font-size:8px;letter-spacing:2px}.botanical{position:absolute;left:-36px;top:15px;width:32%;height:690px;transform:rotate(-10deg);opacity:.92}.botanical.right{left:auto;right:-36px;transform:scaleX(-1) rotate(-10deg)}.note{background:#f1f1e8;text-align:center;padding:65px 20px 70px}.ornament{font-size:35px;color:#96a186}.note>p:not(.eyebrow):not(.signature){max-width:590px;margin:22px auto;font-family:'Cormorant Garamond',serif;font-size:23px;line-height:1.55;color:#707664}.signature{font-family:'Parisienne',cursive;font-size:26px;color:#9a8267}.placeholder-note{font-size:9px;color:#7b8071}.moments{max-width:1250px;margin:auto;padding:85px 45px}.section-heading{display:flex;justify-content:space-between;align-items:end}.section-heading h2{margin-bottom:35px}.section-heading>span{font-size:10px;letter-spacing:2px;margin-bottom:45px}.photos{display:grid;grid-template-columns:repeat(4,1fr);gap:23px}figure{margin:0}figure:nth-child(even){padding-top:35px}.photo{height:290px;background:#e9e5db;border:1px solid #dfdbcf;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border-radius:140px 140px 0 0;overflow:hidden}.photo:before,.photo:after{content:'';position:absolute;width:180px;height:180px;border:1px solid #bdc5af;transform:rotate(35deg);border-radius:80% 0;opacity:.45;bottom:-65px;left:-70px}.photo:after{left:auto;right:-90px;bottom:-35px;transform:rotate(-20deg)}.photo-1{background:#e6e9df}.photo-2{background:#efe1d6}.photo-3{background:#e9e6dc}.photo-flower{font:48px Georgia;color:#929b82}.photo>span:not(.photo-flower){font-size:8px;letter-spacing:2px;margin-top:12px;color:#777c6b}.photo small{position:absolute;bottom:15px;font-family:Georgia;font-style:italic;color:#8c927f}figcaption{text-align:center;font:italic 20px 'Cormorant Garamond',serif;margin:15px 0}.rsvp{background:#edeedF;display:grid;grid-template-columns:1fr 1.1fr;gap:80px;padding:80px max(45px,calc((100vw - 1140px)/2));align-items:center}.rsvp-intro h2{font-size:65px}.rsvp-intro>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#727a68}.rsvp-intro small{font-size:10px;line-height:1.9;color:#737c68}.little-flower{font-size:64px;color:#9ca888;margin:20px 0}.form-card{background:#fcfaf5;padding:36px;border:1px solid #dddfcd;box-shadow:0 12px 35px #57613e05}.form-heading{border-bottom:1px solid #dedfce;padding-bottom:23px;margin-bottom:25px}.form-heading h3{font-size:35px;margin:0 0 8px}.form-heading>span{font-size:7px;letter-spacing:1.8px}fieldset{border:0;padding:0;margin:0 0 25px}legend{width:100%;font-size:8px;letter-spacing:2px;margin-bottom:18px}.remove{float:right;border:0;background:none;text-decoration:underline;font-size:10px;color:#7a5749;cursor:pointer}.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:10px;margin-bottom:17px}input,select{display:block;width:100%;margin-top:8px;padding:12px 10px;background:#fffdf8;border:1px solid #d8dacb;border-radius:0;color:#4e5945;font-size:12px}input::placeholder{color:#a3a596}.add{background:none;border:0;border-bottom:1px solid #abb49d;padding:0 0 5px;color:#66765a;font-size:11px;cursor:pointer}.submit{width:100%;justify-content:space-between;margin-top:15px}.privacy{font-size:8px;color:#848978;text-align:center;line-height:1.6;margin:15px 0 0}.error{font-size:11px;color:#9b4237}.success{text-align:center;padding:60px 0}.success span{font-size:60px;color:#a68b76}.success h3{font-size:38px}.success p{line-height:1.9;color:#737d68}footer{text-align:center;padding:35px 20px}footer .script{margin:10px 0 20px;font-size:35px}footer>span{display:block;font-size:8px;letter-spacing:2px}footer>a{display:block;margin-top:30px;font-size:9px;color:#87907b}.admin{max-width:1000px;margin:70px auto;padding:25px}.admin table{width:100%;border-collapse:collapse}.admin th,.admin td{padding:14px;text-align:left;border-bottom:1px solid #ddd} @media(min-width:1500px){.botanical{width:35%}}@media(max-width:700px){header{height:85px;padding:0 22px}.brand{font-size:27px}nav>a:not(.nav-rsvp){display:none}nav{gap:0}.hero{padding-top:55px;min-height:735px}h1{font-size:57px}.hero .eyebrow{font-size:7px;letter-spacing:1.7px}.botanical{width:45%;left:-105px;top:80px;opacity:.55}.botanical.right{right:-105px}.script{font-size:31px}.note{padding:50px 25px}h2{font-size:42px}.moments{padding:55px 22px}.photos{grid-template-columns:1fr 1fr;gap:18px}.photo{height:240px}.section-heading>span{display:none}.rsvp{grid-template-columns:1fr;gap:30px;padding:55px 22px}.rsvp-intro{text-align:center}.rsvp-intro h2{font-size:49px}.rsvp-intro h2 br{display:none}.rsvp-intro h2 i:before{content:' '}.little-flower{margin:5px}.form-card{padding:27px 22px}.name-fields{gap:10px}.admin{overflow:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.wedding{--paper:#fcfaf5;--wash:#edf0e4;--ink:#414d3d;--accent:#607350;--petal:#f4e2d8;--petal2:#fff0d8;--leaf:#ced6c2;--floral:#819079;background:var(--paper);color:var(--ink)}.theme-1{--paper:#fff8f5;--wash:#f5e4e1;--ink:#65474c;--accent:#a56b78;--petal:#f1bfc6;--petal2:#fce0df;--leaf:#c9d1bd;--floral:#9d8391}.theme-2{--paper:#faf8ff;--wash:#ece8f3;--ink:#50465f;--accent:#837098;--petal:#d8c6ed;--petal2:#ede0f5;--leaf:#c6cfcb;--floral:#9690ad}.theme-3{--paper:#f8fbfd;--wash:#e5eff3;--ink:#3c5665;--accent:#5c859b;--petal:#bdd9ed;--petal2:#e4edf7;--leaf:#bdcfc9;--floral:#7a9ca8}.theme-picker{padding:19px 20px;text-align:center;border-bottom:1px solid #aaa4;background:var(--wash)}.theme-picker>span{font-size:8px;letter-spacing:2px}.theme-picker>div{display:flex;justify-content:center;gap:10px;margin:12px 0}.theme-picker button{border:1px solid transparent;background:#ffffff70;color:var(--ink);padding:10px 16px;display:flex;align-items:center;gap:9px;cursor:pointer;font-size:11px;border-radius:30px}.theme-picker button[aria-pressed=true]{border-color:var(--accent);background:var(--paper);box-shadow:0 2px 8px #00000008}.theme-picker small{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px}.swatch{width:13px;height:13px;border-radius:50%;display:inline-block}.swatch-0{background:#80916e}.swatch-1{background:#c88e9a}.swatch-2{background:#ab98c7}.swatch-3{background:#8aafc8}.wedding .note,.wedding .rsvp{background:var(--wash)}.wedding .form-card,.wedding input,.wedding select{background:var(--paper);color:var(--ink)}.wedding .button{background:var(--accent)}.wedding i,.wedding .script,.wedding h1 em,.wedding .signature{color:var(--accent)}.wedding .hero{min-height:880px;padding-top:80px}.hero-inner{max-width:550px;margin:auto;z-index:3;pointer-events:none}.hero-inner a{pointer-events:auto}.wedding .botanical{width:34%;opacity:.75;top:0}.pinned-photos{position:absolute;inset:0;z-index:2;pointer-events:none}.polaroid{position:absolute;background:#fffefb;padding:12px 12px 3px;width:220px;box-shadow:3px 9px 17px #55473525,0 1px 2px #55473530}.polaroid .photo{height:210px;border:0;border-radius:0;background:var(--wash)}.polaroid figcaption{font-family:'Parisienne',cursive;font-size:22px;margin:15px 0 12px;color:var(--ink)}.polaroid .pin{position:absolute;top:-9px;left:50%;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff3ce,#aa7d4b 75%);box-shadow:2px 4px 4px #0005;z-index:4}.pin-0{top:90px;left:7%;transform:rotate(-9deg)}.pin-1{top:460px;left:10%;transform:rotate(7deg)}.pin-2{top:80px;right:7%;transform:rotate(8deg)}.pin-3{top:450px;right:10%;transform:rotate(-6deg)}.theme-1 .polaroid .pin{border-radius:0;width:75px;height:24px;left:34%;top:-10px;transform:rotate(-5deg);background:#c88e9a80;box-shadow:none}.theme-1 .hero-inner{border:1px solid #b77d8d50;padding:40px 15px;border-radius:220px 220px 0 0;background:#fff8f5c9}.theme-1 .hero{padding-top:35px}.theme-2 .hero-inner{background:linear-gradient(#faf8ffdd,#faf8ff77);border-top:1px solid #a08ab4;border-bottom:1px solid #a08ab4;padding:35px 10px}.theme-2 .polaroid{border:1px solid #d9c9e5}.theme-3 .hero-inner{outline:1px solid #91b1c277;outline-offset:8px;border:1px solid #91b1c277;padding:35px 10px;background:#f8fbfddd}.theme-3 .polaroid .pin{background:radial-gradient(circle at 35% 25%,white,#7396ad 75%)}
@media(max-width:1100px) and (min-width:701px){.polaroid{width:170px;padding:9px 9px 1px}.polaroid .photo{height:165px}.pin-0,.pin-1{left:3%}.pin-2,.pin-3{right:3%}.hero-inner{max-width:440px}.hero h1{font-size:60px}}
@media(max-width:700px){.theme-picker>div{display:grid;grid-template-columns:1fr 1fr;max-width:360px;margin:12px auto}.theme-picker button{justify-content:center;padding:10px 6px;font-size:10px}.wedding .hero{padding:45px 24px 35px;min-height:0}.hero-inner{max-width:100%;pointer-events:auto}.pinned-photos{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:30px 20px;margin:45px 5px 20px;inset:auto;order:2}.wedding .hero{display:flex;flex-direction:column}.hero-inner{order:1}.scroll{order:3}.polaroid{position:relative;inset:auto!important;width:100%;padding:8px 8px 1px!important}.polaroid .photo{height:160px}.polaroid figcaption{font-size:18px}.pin-0{transform:rotate(-5deg)}.pin-1{transform:rotate(5deg)}.pin-2{transform:rotate(4deg)}.pin-3{transform:rotate(-5deg)}.wedding .botanical{width:60%;opacity:.4;left:-105px}.wedding .botanical.right{right:-105px;left:auto}.theme-1 .hero-inner,.theme-2 .hero-inner,.theme-3 .hero-inner{width:100%;padding:35px 10px}.hero h1{font-size:52px}.theme-3 .hero-inner{outline-offset:5px}}

.reception{--paper:#f9f5eb;--wash:#e5e8dd;--ink:#4b5646;--accent:#ad5835;--petal:#c37b52;--petal2:#dfb38a;--leaf:#a7b099;--floral:#7b866e}.reception .hero{padding-top:50px;min-height:900px}.reception .hero-inner{background:#727b65;color:#fff9e9;outline:1px solid #ece6d1;outline-offset:-14px;padding:50px 25px 38px;min-height:720px;box-shadow:0 12px 35px #5660441c}.reception .hero-inner .script,.reception h1 em{color:#f3e7cc}.reception h1{font-size:84px}.reception .hero-foot,.reception .date small{color:#f0eddd}.reception .hero .eyebrow{color:#f0eddd;line-height:1.9}.reception .date p{font-size:26px}.reception .botanical{opacity:.9}.reception .hero-inner .button{background:#a64d2b}.reception .polaroid .pin{background:radial-gradient(circle at 35% 25%,#f1c798,#a34c2c 75%)}.reception-details{text-align:center;padding:65px 30px 75px;background:var(--paper)}.venue{font:24px 'Cormorant Garamond',serif}.timings{display:grid;grid-template-columns:repeat(3,1fr);max-width:1000px;margin:40px auto 0;gap:25px}.timings article{border-top:1px solid #aeb7a0;padding:25px 10px}.timings span{font-size:9px;letter-spacing:2px;color:#9b4d2e}.timings h3{font-size:39px;margin:16px 0}.timings p{font-size:12px;line-height:1.7;color:#69705f}.attendance-fields{border-top:1px solid #d9ddce;padding-top:18px}.reception .form-card{border-top:3px solid var(--accent)}.reception .note .signature{color:#a45130}.reception .rsvp-intro p{max-width:350px}.reception footer{background:#727b65;color:#fff9e9}.reception footer .script,.reception footer>a{color:#f2e6d0}@media(max-width:1100px) and (min-width:701px){.reception .hero-inner{max-width:420px}.reception h1{font-size:70px}}@media(max-width:700px){.reception .hero{min-height:0;padding-top:30px}.reception .hero-inner{width:100%;padding:45px 22px;min-height:0}.reception h1{font-size:65px}.reception .hero .script{font-size:31px}.reception .date p{font-size:23px}.timings{grid-template-columns:1fr;gap:5px;margin-top:25px}.reception-details{padding:45px 25px}.reception .rsvp-intro p{margin-left:auto;margin-right:auto}}
/* A quiet venue photograph, washed into the invitation paper. */
.reception-details{position:relative;isolation:isolate;overflow:hidden;padding-top:90px;padding-bottom:100px}
.reception-details:before{content:"";position:absolute;inset:0;z-index:-2;background:none;opacity:.16;filter:saturate(.65)}
.reception-details:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,var(--paper),transparent 23%,transparent 77%,var(--paper));pointer-events:none}
@media(max-width:700px){.reception-details{padding-top:55px;padding-bottom:55px}.reception-details:before{background-position:54% center;opacity:.13}}

[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-100px;z-index:20;background:#fff;padding:14px}
.skip-link:focus{top:12px}
.admin-title{font-size:52px;margin:30px 0}
.login-form{max-width:400px;margin:30px 0}
.logout-form{margin:20px 0}
.table-scroll{overflow-x:auto;margin-top:25px}
.admin h2{font-size:38px}
.admin table{min-width:760px;font-size:13px}
.admin th{font-weight:600}
@media(max-width:700px){.admin{margin:30px auto;padding:22px}.admin-title{font-size:42px}.admin h2{font-size:30px}}


/* Private invitations and administration. */
textarea{display:block;width:100%;margin-top:8px;padding:12px 10px;background:#fffdf8;border:1px solid #d8dacb;color:#4e5945;font:inherit;font-size:12px;resize:vertical;outline-offset:5px}
.code-entrance{position:relative;isolation:isolate;overflow:hidden;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:65px 24px 95px}
.code-entrance .botanical{position:absolute;z-index:-1;height:100%;width:36%;top:0;opacity:.65;pointer-events:none}
.entrance-card{width:540px;max-width:100%;background:#727b65;color:#fff9e9;text-align:center;padding:38px 48px 42px;outline:1px solid #ece6d1;outline-offset:-13px;box-shadow:0 16px 50px #56604420}
.entrance-card .brand{font-size:40px;margin:0 0 35px}.entrance-card .eyebrow{font-size:8px;letter-spacing:2px}.entrance-card h1{font-size:66px;line-height:1.05;margin:25px 0}.entrance-note{font:italic 24px/1.45 'Cormorant Garamond',serif;margin:20px 0 30px}.code-form label{font-size:12px;text-align:left}.code-form input{font-size:17px;text-align:center;letter-spacing:2px;padding:17px 10px}.code-form .button{width:100%;justify-content:space-between;background:#a64d2b}.code-form #code-help{font-size:10px;text-align:left;color:#f0eddd}.code-form .error{color:#fff1cb;line-height:1.6;text-align:left}.entrance-small{font-size:10px;line-height:1.7;margin:26px 0 0;color:#f0eddd}.admin-entrance{position:absolute;bottom:27px;font-size:10px;color:#6a7560;text-decoration:underline}
.event-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:32px;max-width:1000px;margin:35px auto 0}.event-card{padding:26px 24px;border:1px solid #aab39b80;background:#f9f5ebc9}.event-card h3{font-size:35px;margin:10px 0 20px}.event-card p{line-height:1.7}.event-card .event-time{font:27px 'Cormorant Garamond',serif;color:#a64d2b}.event-card .invited-names{font-size:11px;border-top:1px solid #aab39b60;padding-top:18px;margin-top:25px}.venue-wash{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.16;filter:saturate(.65)}
.invited-guest{padding:18px 0 10px;border-bottom:1px solid #d9ddce}.invited-guest legend,.party-questions legend{font:26px 'Cormorant Garamond',serif;letter-spacing:0;margin-bottom:0}.invited-guest .attendance-fields{border:0;padding-top:8px}.party-questions{margin-top:30px}.saved-note{border-left:2px solid #ad5835;padding-left:16px}.personal-note{font-style:italic}.wedding header nav form{margin:0}.wedding header nav button{font-size:10px}
.admin-body{background:#f7f6ef}.admin-wide{max-width:1400px;margin:25px auto 70px;padding:25px 35px}.admin-header{height:100px;max-width:1400px;padding:0 35px}.admin-nav{max-width:1400px;margin:auto;padding:18px 35px;display:flex;gap:30px;overflow-x:auto;border-bottom:1px solid #dbdfd1}.admin-nav a{white-space:nowrap;padding-bottom:5px;font-size:12px}.admin-nav a[aria-current=page]{color:#a64d2b;border-bottom:2px solid #a64d2b}.admin-title{font-size:48px}.admin-intro{max-width:850px;line-height:1.8;margin-bottom:30px}.admin-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:25px;align-items:start}.panel{background:#fffdf7;border:1px solid #dde1d3;padding:28px;margin-bottom:25px}.panel h2{font-size:32px;margin:0 0 24px}.panel h3{font-size:25px;margin:20px 0 16px}.panel p{font-size:12px;line-height:1.8}.panel label{font-size:12px}.panel hr{margin:28px 0;border:0;border-top:1px solid #dde1d3}.panel .helper,.helper{font-size:11px;color:#747d68;line-height:1.7}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-heading h2{margin-bottom:12px}.panel-heading form{flex-shrink:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.checks{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0}.checks label{display:flex;align-items:center;gap:8px;margin:0;font-size:12px}.checks input{display:inline-block;width:auto;margin:0;accent-color:#617451}.notice{padding:18px 22px;background:#e9eddc;border-left:3px solid #6c7d57;line-height:1.7;margin-bottom:25px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0 30px}.stat-grid article{padding:24px;background:#e8eddf;border:1px solid #d6ddcc}.stat-grid span{font-size:9px;letter-spacing:1.5px;display:block}.stat-grid strong{display:block;font:32px 'Cormorant Garamond',serif;margin:15px 0}.stat-grid small{font-size:11px;line-height:1.7}.cell-note{display:block;font-size:11px;line-height:1.7;color:#777f6c;margin-top:7px}.status-pill{display:inline-block;background:#edf0e4;padding:6px 9px;white-space:nowrap;font-size:10px}.text-link{text-decoration:underline;text-underline-offset:4px;color:#9c4b2b;white-space:nowrap}.filter-form,.filters{display:flex;align-items:end;gap:15px}.filter-form label{flex:1}.filter-form .button,.filters .button{margin-bottom:17px}.filters label{min-width:180px}.admin .table-scroll{margin-top:15px}.admin table{min-width:650px}.admin td{vertical-align:top}.admin .answer-list{margin:0;min-width:200px}.answer-list dt{font-size:11px;font-weight:600;line-height:1.6;margin-top:8px}.answer-list dt:first-child{margin-top:0}.answer-list dd{font-size:12px;line-height:1.7;margin:2px 0 8px;white-space:pre-wrap}.question-details{border-top:1px solid #dde1d3;padding:18px 0}.question-details summary{cursor:pointer;line-height:1.8}.question-details summary small{display:block;color:#7a836e;font-size:10px}.question-editor{margin-top:24px}.guest-edit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.guest-editor{border:1px solid #dde1d3;padding:22px}.code-notice{padding:30px;background:#e6ebdc;border:1px solid #c9d1bd;margin-bottom:25px}.generated-code{font-family:monospace;font-size:28px;letter-spacing:3px;overflow-wrap:anywhere}.code-notice p{max-width:700px;line-height:1.8;font-size:12px}.login-panel{max-width:600px;margin:80px auto}.settings-form>.button{margin-top:0}
@media(max-width:1000px){.admin-columns{grid-template-columns:1fr}.admin-wide{padding:20px}.admin-header{padding:0 20px}.admin-nav{padding:16px 20px;gap:22px}.panel-heading{align-items:start;flex-direction:column}}
@media(max-width:700px){.code-entrance{padding:28px 20px 75px}.entrance-card{padding:35px 25px}.entrance-card h1{font-size:51px}.code-entrance .botanical{width:65%;opacity:.4;left:-100px}.code-entrance .botanical.right{left:auto;right:-100px}.entrance-note{font-size:22px}.code-form input{font-size:15px;letter-spacing:1px}.wedding header nav>a:not(.nav-rsvp){display:none}.wedding header nav{gap:15px}.wedding header .brand span{font-size:6px;letter-spacing:1px}.wedding header nav .add{font-size:8px}.event-cards{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr;gap:12px}.stat-grid article{padding:20px}.stat-grid strong{margin:10px 0}.admin-title{font-size:38px}.panel{padding:20px}.form-grid,.guest-edit-grid{grid-template-columns:1fr}.filters,.filter-form{flex-wrap:wrap}.filters label{min-width:0;flex:1 1 130px}.generated-code{font-size:21px;letter-spacing:1px}.admin-header .brand{font-size:27px}.admin-header .brand span{font-size:6px}.admin-header{height:85px}.admin-nav{gap:18px}.venue-wash{opacity:.13}}
@media print{.admin-header,.admin-nav{display:none}.admin> :not(.code-notice):not(.admin-title){display:none!important}.code-notice{background:#fff;border:1px solid #aaa}.code-notice button{display:none}.admin{margin:0}.admin-title{font-size:30px}}

.guest-section{border:1px solid #dde1d3;padding:14px 16px 6px;margin:5px 0 22px}
.guest-section legend{width:auto;padding:0 7px;margin:0;font:600 12px 'DM Sans',sans-serif;letter-spacing:0}
.guest-section .checks{margin:10px 0 15px}
.guest-section .helper{margin:4px 0 10px}
.guest-status{background:#f0f2e8}
.guest-status-help p{margin:0 0 12px;font-size:12px;line-height:1.7}

.party-guest-row{border:1px solid #dce1d0;padding:18px 16px 0;margin:24px 0}
.party-guest-row>legend{font:24px 'Cormorant Garamond',serif;letter-spacing:0;padding:0 8px;margin-bottom:10px;width:auto;min-width:100px}
.party-guest-row>legend .remove{margin-left:24px;float:none;vertical-align:middle}
.personal-code-action{margin-top:14px}.code-notice .personal-code-table{min-width:0;width:100%;margin:20px 0}.personal-code-table .generated-code{font-size:20px;letter-spacing:1px}
#create-party-form>#add-party-guest{margin-top:2px}

.photo-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.photo-admin-card .panel-heading h2{margin:0}.photo-admin-card .panel-heading{margin-bottom:10px}
.admin-photo-preview{height:260px;background:#e8ecdf;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;margin:20px 0 25px;overflow:hidden;border:1px solid #dde1d3}
.admin-photo-preview>span:not(.photo-flower){font-size:11px;color:#768167}
.admin-photo-preview img{display:block;width:100%;height:100%;object-fit:cover}
.polaroid .photo.has-image::before,.polaroid .photo.has-image::after{display:none}
.polaroid .photo img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:700px){.photo-admin-grid{grid-template-columns:1fr}.admin-photo-preview{height:240px}.pinned-photos[data-visible-count="1"]{grid-template-columns:1fr;max-width:260px;width:100%;margin-left:auto;margin-right:auto}}

.admin-columns.invitation-layout{grid-template-columns:minmax(0,1fr)}
.invitation-layout>.panel:last-child{width:100%;max-width:760px}
.admin .invitation-party-table{min-width:900px}
.event-invite-list{display:flex;flex-direction:column;gap:9px}
.event-invite-item{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px;min-height:20px}
.invite-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 19px;width:19px;height:19px;border-radius:50%;font-size:12px;font-weight:600}
.invite-mark.is-invited{color:#287640;background:#e4f1e5}
.invite-mark.not-invited{color:#a43c35;background:#f8e5e2}

.deadline-notice{padding:18px;background:#edf0e3;border-left:3px solid #a75a35;margin-bottom:24px;line-height:1.7;font-size:12px}
.deadline-notice p{margin:8px 0 0}.rsvp-editable-fields{padding:0;margin:0;border:0;min-width:0}.rsvp-editable-fields:disabled input,.rsvp-editable-fields:disabled select,.rsvp-editable-fields:disabled textarea{opacity:.8;cursor:default}.rsvp-editable-fields:disabled .submit{display:none}
.admin-response-panel{max-width:900px}.admin-response-panel .custom-question{margin-top:18px}.audit-entry{border-top:1px solid #dde1d3;padding:22px 0}.audit-entry h3{font-size:26px;margin:0 0 8px}.audit-entry .table-scroll{margin-top:12px}.audit-entry td{white-space:pre-wrap;overflow-wrap:anywhere}

/* Rendered botanical artwork: one coherent spray on each edge. */
.wedding .botanical{width:clamp(210px,31vw,460px);height:auto;max-height:820px;object-fit:contain;left:-18px;top:20px;transform:none;opacity:.76;pointer-events:none;user-select:none}
.wedding .botanical.right{left:auto;right:-18px;transform:scaleX(-1)}
.code-entrance .botanical{width:clamp(230px,32vw,480px);height:auto;max-height:90vh;top:auto;bottom:0;opacity:.65}
@media(max-width:700px){.wedding .botanical{width:210px;max-height:none;left:-120px;top:20px;opacity:.32}.wedding .botanical.right{left:auto;right:-120px}.code-entrance .botanical{width:240px;top:auto;bottom:0;left:-130px;opacity:.4}.code-entrance .botanical.right{left:auto;right:-130px}}
