:root{--ink:#34232e;--muted:#745d68;--rose:#9b3154;--rose-deep:#701b3b;--petal:#f8e4e8;--paper:#fff9f5;--linen:#f2eadf;--sage:#536c64;--gold:#c78a45;--line:#57304129;--shadow:0 1.25rem 4rem #4823302e}*{box-sizing:border-box}body{background:radial-gradient(circle at top right, #c78a4533, transparent 26rem), linear-gradient(135deg, var(--paper), var(--linen));color:var(--ink);letter-spacing:0;margin:0;font-family:Avenir Next,Avenir,Segoe UI,Arial,sans-serif}.site-footer{color:#701b3bcc;z-index:3;background:#fff9f5b8;border-top:1px solid #9b31541f;justify-content:center;align-items:center;gap:.68rem;min-height:2.7rem;padding:.62rem 1rem;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(.82rem,1.1vw,.96rem);font-style:italic;display:flex;position:relative}.site-footer span{background:linear-gradient(90deg,#0000,#9b315457);width:clamp(1.5rem,5vw,3.8rem);height:1px}.site-footer span:last-child{transform:scaleX(-1)}button,input,textarea{font:inherit;letter-spacing:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.landing-page,.planning-page,.admin-page{min-height:100vh;position:relative;overflow:hidden}.heart-drift{pointer-events:none;z-index:2;position:fixed;inset:0;overflow:hidden}.drifting-heart{animation:float-heart var(--heart-duration) linear infinite;animation-delay:var(--heart-delay);color:#ffd0e0cc;filter:drop-shadow(0 .22rem .52rem #52142b9e)drop-shadow(0 0 .7rem #fff1f47a);font-size:var(--heart-size);left:var(--heart-left);line-height:1;position:absolute;top:108%}.landing-page{background:#ece2d9}.landing-hero{color:#57152f;text-shadow:0 .2rem 1rem #fffaf6b8;background:linear-gradient(90deg,#ecf7f21a,#e8f1ed6b 48%,#f4e2e8b8),radial-gradient(circle at 78% 48%,#fffaf5a3,#0000 24rem),url(/images/julius-jane-clean-hero.png) 0 100%/auto 105% no-repeat,url(/images/julius-jane-clean-hero.png) 50%/cover,linear-gradient(135deg,#edf6f1,#f7e9ed);grid-template-rows:auto 1fr;min-height:max(45rem,100svh - 4.4rem);padding:clamp(1.15rem,2.8vw,2.4rem) clamp(1.2rem,4vw,4.5rem);display:grid;position:relative}.landing-nav{z-index:3;justify-content:space-between;align-items:center;gap:clamp(1rem,3vw,2.5rem);display:flex;position:relative}.landing-brand{white-space:nowrap;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(1.2rem,1.8vw,1.65rem);font-weight:600}.landing-nav nav{justify-content:flex-end;align-items:center;gap:clamp(.85rem,2.4vw,2.3rem);min-width:0;font-size:clamp(.92rem,1.25vw,1.12rem);font-weight:700;display:flex}.landing-nav nav a,.landing-brand{border-bottom:1px solid #0000;padding-bottom:.18rem}.landing-menu-toggle{display:none}.landing-vow{text-align:center;z-index:3;grid-area:2/1;place-self:center;max-width:32rem;margin-left:clamp(7rem,20vw,24rem);padding:clamp(2.8rem,7vh,5rem) 1rem clamp(5rem,11vh,8rem);position:relative}.landing-vow h1{text-shadow:0 .2rem 1rem #fffaf6e0,0 0 .08rem #44162a52;margin-bottom:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(5.2rem,10vw,10.8rem);font-weight:600;line-height:.76}.landing-vow h1 span{display:block}.landing-vow h1 span:nth-child(2){font-size:.64em;line-height:.72}.landing-countdown{text-align:right;text-shadow:0 .2rem 1rem #fffaf6d1;z-index:3;grid-area:2/1;place-self:center end;gap:.85rem;min-width:min(18rem,24vw);max-width:min(19rem,27vw);margin-right:clamp(0rem,1.4vw,1.4rem);padding-bottom:clamp(3rem,10vh,7rem);display:grid;position:relative}.landing-countdown>p{text-transform:uppercase;margin-bottom:.25rem;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(1.25rem,2vw,2.15rem);font-weight:700;line-height:1.05;display:block}.countdown-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem;display:grid}.countdown-grid span{-webkit-backdrop-filter:blur(.42rem);backdrop-filter:blur(.42rem);text-align:center;text-transform:uppercase;background:#fff7f494;border:1px solid #701b3b2e;min-width:0;padding:.5rem .38rem;display:grid}.countdown-grid strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(1.35rem,2.4vw,2.4rem);line-height:1}.countdown-grid span,.countdown-meta span,.countdown-loading{font-size:.78rem;font-weight:800}.countdown-meta{justify-items:end;line-height:1.12;display:grid}.countdown-meta strong,.meeting-today{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(1.55rem,2.5vw,2.6rem)}.countdown-meta span{margin-top:.22rem;font-size:clamp(.95rem,1.45vw,1.4rem)}.countdown-empty,.countdown-loading{-webkit-backdrop-filter:blur(.42rem);backdrop-filter:blur(.42rem);background:#fff7f494;border:1px solid #701b3b2e;padding:.75rem;display:block}.meeting-today{line-height:1.02;display:block}.landing-after{color:var(--ink);text-align:center;z-index:3;background:#f4eee8;align-items:center;min-height:4.4rem;padding:1rem clamp(1.25rem,4vw,4rem);display:grid;position:relative}.landing-after p{margin-bottom:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(1.08rem,2vw,1.45rem)}.special-meeting-feature{color:var(--ink);z-index:3;background:radial-gradient(circle at 0,#d59aa12e,#0000 15rem),linear-gradient(110deg,#fff9f5fa,#f7dee2f0);border-top:1px solid #9b315429;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(.75rem,2vw,1.4rem);padding:clamp(1rem,2vw,1.45rem) clamp(1.25rem,4vw,4rem);display:grid;position:relative}.special-meeting-feature p{color:var(--rose);text-transform:uppercase;align-items:center;gap:.38rem;margin-bottom:.3rem;font-size:.78rem;font-weight:900;display:flex}.special-meeting-feature p svg,.special-meeting-feature a svg{width:.95rem;height:.95rem}.special-meeting-feature h2{margin-bottom:.28rem;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(1.65rem,3vw,2.65rem);font-weight:600;line-height:.96}.special-meeting-feature strong{color:var(--muted);font-size:clamp(.92rem,1.35vw,1.08rem);font-weight:700;display:block}.special-meeting-feature a{background:#ffffffa8;border:1px solid #9b31542e;gap:.38rem;min-width:min(18rem,100%);padding:.82rem .92rem;display:grid}.special-meeting-feature a span{align-items:center;gap:.46rem;display:flex}.planning-page{padding:clamp(1rem,4vw,3.2rem)}.planning-page:before{content:"";background:linear-gradient(135deg,#fff9f5e6,#f2eadfb8),url(/images/wedding-planning-hero.png) 50%/cover;height:clamp(14rem,28vw,23rem);position:absolute;inset:0 0 auto}.planning-header{z-index:3;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:clamp(1rem,3vw,2rem);max-width:78rem;min-height:clamp(10rem,20vw,15rem);margin:0 auto clamp(1.4rem,4vw,2.5rem);display:grid;position:relative}.back-home,.planning-header nav a{-webkit-backdrop-filter:blur(.65rem);backdrop-filter:blur(.65rem);border:1px solid var(--line);background:#fff9f5c7;align-items:center;gap:.55rem;min-height:2.9rem;padding:.7rem .95rem;display:inline-flex}.back-home svg,.planning-header nav svg{width:1rem;height:1rem}.planning-header p{color:var(--rose);text-transform:uppercase;margin-bottom:.7rem;font-size:.88rem;font-weight:800}.planning-header h1{margin-bottom:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(2.9rem,7vw,6.5rem);font-weight:600;line-height:.92}.planning-header nav{justify-content:end;gap:.55rem;display:flex}.planning-menu-toggle,.landing-menu-toggle{display:none}.planning-header nav a[aria-current=page]{background:var(--rose-deep);border-color:var(--rose-deep);color:#fff8f4}.planning-content{z-index:3;max-width:78rem;margin:0 auto;position:relative}.calendar-panel,.communications-panel{box-shadow:var(--shadow);background:#fff9f5f0;border:1px solid #ffffffd1;border-radius:.5rem;padding:clamp(1.1rem,3vw,2.2rem)}.bound-calendar{background:linear-gradient(90deg,#7c3c4c12 .08rem,#0000 .08rem) 3.15rem 0/100% 100%,repeating-linear-gradient(#825e5108,#825e5108 .08rem,#0000 .08rem 2.45rem),#fff8ed;border:1px solid #6137372e;border-radius:.5rem;margin-top:clamp(1.5rem,3vw,2.25rem);padding:clamp(2.8rem,5vw,4.2rem) clamp(.85rem,3.3vw,2.6rem) clamp(1rem,3vw,2rem);position:relative;box-shadow:0 1.4rem 4.5rem #4323282e,inset 0 0 0 .55rem #fffdf78f}.bound-calendar:before{content:"";background:linear-gradient(90deg,#8b4960,#b56a79 46%,#8a4b60);border-radius:.5rem .5rem 0 0;height:1.22rem;position:absolute;inset:0 0 auto;box-shadow:inset 0 -.18rem #44212b1f}.calendar-springs{pointer-events:none;z-index:1;justify-content:center;gap:clamp(.95rem,4.2vw,4rem);display:flex;position:absolute;inset:-.82rem 0 auto}.calendar-springs span{border:.24rem solid #6e6260;border-bottom:0;border-radius:999px 999px 0 0;width:1rem;height:2.15rem;display:block;box-shadow:inset .08rem 0 #ffffff9e,0 .18rem .35rem #35232347}.calendar-book-head{justify-content:space-between;align-items:end;gap:1rem;max-width:62rem;margin:0 auto clamp(1rem,2vw,1.45rem);display:flex}.calendar-book-head p,.meeting-modal>p{color:var(--rose);text-transform:uppercase;margin-bottom:.42rem;font-size:.82rem;font-weight:900}.calendar-book-head h2{margin-bottom:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(2.25rem,5vw,4.4rem);font-weight:600;line-height:.92}.month-controls{gap:.48rem;display:flex}.month-controls button,.modal-close{border:1px solid var(--line);color:var(--rose-deep);cursor:pointer;background:#fffdf7db;justify-content:center;align-items:center;min-width:3rem;min-height:3rem;display:inline-flex}.month-controls svg,.modal-close svg{width:1.35rem;height:1.35rem}.paper-calendar{background:radial-gradient(circle at 0 0,#ca8d5714,#0000 16rem),#fffdf7d1;border:1px solid #603f3b24;border-radius:.35rem;max-width:62rem;margin:0 auto;padding:clamp(.5rem,1.3vw,.95rem)}.weekday-row,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday-row{color:var(--rose-deep);text-align:center;text-transform:uppercase;border-bottom:1px solid #61373724;font-size:clamp(.72rem,1.25vw,.92rem);font-weight:900}.weekday-row span{padding:.6rem .2rem .78rem}.calendar-days{grid-auto-rows:minmax(clamp(3.25rem,8vw,6.1rem),auto)}.calendar-day,.calendar-blank{border-bottom:1px solid #6137371a;border-right:1px solid #61373714}.calendar-day{color:var(--ink);background:0 0;border-top:0;border-left:0;place-items:start center;padding:clamp(.46rem,1vw,.82rem) .22rem;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(1.18rem,2.4vw,2rem);font-weight:700;display:grid;position:relative}.calendar-day:not(:disabled){cursor:pointer}.calendar-day:disabled{cursor:default}.calendar-day>span{z-index:1;place-items:center;width:clamp(2rem,4.4vw,3.3rem);height:clamp(2rem,4.4vw,3.3rem);line-height:1;display:grid;position:relative}.calendar-day.has-meeting>span:before,.calendar-day.has-meeting>span:after{content:"";z-index:-1;border:clamp(.14rem,.32vw,.24rem) solid #9b3154c7;border-radius:45% 55% 48% 52%/56% 44% 55% 45%;position:absolute;inset:-.18rem -.28rem;transform:rotate(-11deg)}.calendar-day.has-meeting>span:after{border-width:.12rem;border-color:#c78a4573;inset:-.08rem -.38rem -.3rem -.16rem;transform:rotate(9deg)}.calendar-day em{background:var(--rose-deep);color:#fff8f4;z-index:2;border-radius:999px;min-width:1.15rem;padding:.25rem;font:800 .68rem/1 Avenir Next,Avenir,Segoe UI,Arial,sans-serif;position:absolute;top:clamp(.2rem,1vw,.65rem);right:clamp(.2rem,1vw,.65rem)}.calendar-hint,.calendar-empty{text-align:center;justify-content:center;align-items:center;gap:.52rem;margin:clamp(.8rem,2vw,1.2rem) auto 0;display:flex}.calendar-hint{color:var(--muted)}.calendar-hint svg{color:var(--rose);width:1.15rem;height:1.15rem}.bound-calendar.loading{gap:.9rem;display:grid}.calendar-month-skeleton,.calendar-grid-skeleton span{background:linear-gradient(100deg,#ead8d8 20%,#fff7eb 45%,#ead8d8 70%) 0 0/220% 100%;border-radius:.3rem;animation:1.3s infinite shimmer}.calendar-month-skeleton{max-width:19rem;height:clamp(2.8rem,5vw,4rem)}.calendar-grid-skeleton{grid-template-columns:repeat(7,minmax(0,1fr));gap:.38rem;display:grid}.calendar-grid-skeleton span{aspect-ratio:1}.meeting-modal-backdrop{-webkit-backdrop-filter:blur(.42rem);backdrop-filter:blur(.42rem);z-index:10;background:#2d192270;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.meeting-modal{background:linear-gradient(135deg,#ffffffd6,#0000),#fff4e9;border:1px solid #ffffffb3;border-radius:.5rem;width:100%;max-width:37rem;max-height:min(46rem,100vh - 2rem);padding:clamp(1.1rem,3vw,2rem);position:relative;overflow:auto;box-shadow:0 1.6rem 5rem #2512196b}.meeting-modal h2{margin:0 3rem 1.15rem 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:600;line-height:.98}.modal-close{border-radius:999px;min-width:2.6rem;min-height:2.6rem;position:absolute;inset:1rem 1rem auto auto}.meeting-detail-list{gap:.8rem;display:grid}.meeting-detail-list article{border:1px solid var(--line);border-left:.28rem solid var(--sage);background:#fffdf7d1;border-radius:.38rem;gap:.68rem;padding:.95rem;display:grid}.meeting-detail-list span,.meeting-detail-list div{align-items:start;gap:.56rem;display:flex}.meeting-detail-list svg{color:var(--rose);flex:none;width:1.08rem;height:1.08rem;margin-top:.14rem}.meeting-detail-list p{margin-bottom:0}.meeting-detail-list h3{color:var(--rose-deep);text-transform:uppercase;margin-bottom:.42rem;font-size:.82rem;font-weight:900}.meeting-detail-list section{min-width:0}.meeting-agenda ul{margin:0;padding-left:1.2rem}.meeting-agenda li+li{margin-top:.28rem}.meeting-notes{border-top:1px solid var(--line);padding-top:.68rem}.wedding-hero{color:#fff8f4;background:linear-gradient(90deg,#281726c7,#2817264f 48%,#28172629),url(/images/wedding-planning-hero.png) 50%/cover;min-height:clamp(31rem,72vh,49rem);padding:clamp(1.25rem,3vw,2.7rem);display:grid;position:relative}.hero-veil{background:linear-gradient(#0000 58%,#fff9f5f0);height:8.5rem;position:absolute;inset:auto 0 0}.wedding-hero nav,.admin-header>a{z-index:1;align-items:center;gap:.65rem;display:flex;position:relative}.wedding-hero nav{justify-content:space-between;align-self:start}.wedding-hero nav span{text-transform:uppercase;font-weight:800}.wedding-hero nav span,.hero-copy p,.admin-header p{letter-spacing:0;font-size:.82rem}.wedding-hero nav a,.admin-header>a{-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);color:inherit;background:#fff9f529;border:1px solid #ffffff45;border-radius:999px;min-height:2.75rem;padding:.62rem 1rem}.wedding-hero nav svg,.admin-header svg{flex:none;width:1.05rem;height:1.05rem}.hero-copy{text-shadow:0 .35rem 1.4rem #160a1294;z-index:1;align-self:center;max-width:34rem;padding-bottom:3.5rem;position:relative}.hero-copy p,.admin-header p{text-transform:uppercase;margin-bottom:.8rem;font-weight:800}.hero-copy h1,.admin-header h1{margin-bottom:1rem;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(4rem,11vw,9.6rem);font-weight:600;line-height:.82}.hero-copy strong{border-top:1px solid #fff8f48a;padding-top:1rem;font-size:clamp(1rem,2.3vw,1.42rem);display:inline-block}.planning-shell{z-index:3;max-width:78rem;margin:clamp(-4.8rem,-7vw,-3rem) auto 0;padding:0 clamp(1rem,3vw,2rem) clamp(3rem,7vw,5.5rem);position:relative}.tab-list{box-shadow:var(--shadow);background:#fff9f5e6;border:1px solid #ffffffb3;border-radius:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;max-width:100%;margin-bottom:1rem;padding:.35rem;display:inline-grid}.tab-list button,.meeting-form button{cursor:pointer;border:0;justify-content:center;align-items:center;gap:.58rem;min-height:3rem;font-weight:800;transition:background .18s,color .18s,transform .18s;display:flex}.tab-list button{color:var(--muted);background:0 0;border-radius:.35rem;min-width:min(15rem,42vw);padding:.68rem 1rem}.tab-list button[aria-selected=true],.meeting-form button{background:var(--rose-deep);color:#fff8f4}.tab-list svg,.meeting-form button svg{width:1.15rem;height:1.15rem}.tab-panel,.admin-calendar,.meeting-form{box-shadow:var(--shadow);background:#fff9f5eb;border:1px solid #ffffffd1;border-radius:.5rem}.tab-panel{padding:clamp(1.1rem,3vw,2.2rem)}.tab-panel[hidden]{display:none}.panel-intro{align-items:center;gap:1rem;margin-bottom:1.3rem;display:flex}.panel-intro>svg{background:var(--petal);color:var(--rose);border-radius:50%;flex:none;width:3.2rem;height:3.2rem;padding:.78rem}.panel-intro h2,.communications-head h2,.admin-calendar h2{margin-bottom:.35rem;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1}.panel-intro p,.communications-head p{color:var(--muted);margin-bottom:0}.notice{background:#fbecd3;border:1px solid #a6692538;border-radius:.45rem;margin:0 0 1rem;padding:.82rem 1rem}.notice.error{background:#fee5e8;border-color:#9b31543d}.notice.success{background:#e3f0e9;border-color:#536c643d}.meeting-table-wrap{border:1px solid var(--line);border-radius:.45rem;overflow:auto}.meeting-table{border-collapse:collapse;width:100%;min-width:40rem}.meeting-table caption{width:1px;height:1px;position:absolute;overflow:hidden}.meeting-table th{color:var(--rose-deep);text-transform:uppercase;background:#f1d9df;font-size:.86rem}.meeting-table th,.meeting-table td{text-align:left;vertical-align:top;padding:clamp(.85rem,2vw,1.15rem)}.meeting-table th svg{vertical-align:-.18rem;width:1rem;height:1rem;margin-right:.44rem}.meeting-table td{border-top:1px solid var(--line)}.meeting-table tr:nth-child(2n) td{background:#f2eadf6b}.meeting-table td:first-child{width:16rem}.meeting-table strong,.meeting-table span{display:block}.meeting-table span{color:var(--muted);margin-top:.28rem}.table-special-mark{color:var(--rose-deep);text-transform:uppercase;background:#9b31541f;margin-top:.52rem;padding:.28rem .42rem;font-size:.78rem;font-style:normal;font-weight:900;display:inline-block}.meeting-table p{color:var(--muted);margin:.42rem 0 0}.table-agenda-list{color:var(--muted);margin:.38rem 0 0;padding-left:1.12rem}.table-agenda-list li+li{margin-top:.18rem}.meeting-table .table-notes-title{margin-top:.72rem}.table-skeleton,.message-skeleton{gap:.8rem;display:grid}.table-skeleton span,.message-skeleton span{background:linear-gradient(100deg,#efdfdf 20%,#fff4ed 45%,#efdfdf 70%) 0 0/220% 100%;border-radius:.45rem;height:4.4rem;animation:1.3s infinite shimmer;display:block}.communications-head{margin-bottom:1.25rem}.communications-page{background:radial-gradient(circle at 78% 6%,#fbefe5f0,#0000 27rem),radial-gradient(circle at 14% 22%,#f8e2e7c7,#0000 22rem),#fff9f6;overflow:clip}.communications-page:before{background:linear-gradient(#fffbf847,#fff8f6fa),radial-gradient(circle at 72% 28%,#f8e9dad1,#0000 24rem);height:100%}.communications-page .planning-header{min-height:clamp(10rem,18vw,13.5rem);margin-bottom:clamp(.75rem,2vw,1.3rem)}.communications-page .planning-header h1,.calendar-page .planning-header h1{color:#8b2d4c;font-size:clamp(2.65rem,5.9vw,5.5rem);font-style:italic}.calendar-page .planning-header{min-height:clamp(10rem,18vw,13.5rem);margin-bottom:clamp(.75rem,2vw,1.3rem)}.communications-page .planning-content{padding-bottom:clamp(2.5rem,6vw,5.2rem)}.communications-seal{color:#9b315438;pointer-events:none;border:1px solid #c9667c3b;border-radius:50%;place-items:center;width:clamp(12rem,24vw,22rem);height:clamp(12rem,24vw,22rem);font:600 clamp(1rem,1.9vw,1.42rem)/1 Iowan Old Style,Palatino Linotype,Georgia,serif;display:grid;position:absolute;inset:clamp(-9rem,-9vw,-4rem) clamp(0rem,3vw,2.2rem) auto auto}.communications-seal:before{border-radius:inherit;content:"";border:1px dashed #c9667c33;position:absolute;inset:clamp(1.3rem,2.8vw,2.55rem)}.communications-seal span{clip-path:polygon(0 50%,16% 27%,50% 0,84% 27%,100% 50%,84% 73%,50% 100%,16% 73%);background:#fff8f4a8;place-items:center;min-width:clamp(6rem,11vw,9rem);min-height:4rem;display:grid}.communications-notice{color:var(--muted);background:#fff7f0d1;border-color:#c9667c3d;border-radius:.5rem;align-items:center;gap:1rem;min-height:5.6rem;padding:clamp(1rem,2.5vw,1.6rem) clamp(1rem,3vw,2rem);font-weight:700;display:flex}.communications-notice:before{content:"";background:#d98a9b;border-radius:999px;flex:none;width:.82rem;height:.82rem}.communications-page .communications-panel{box-shadow:none;background:0 0;border:0;padding:clamp(2rem,5vw,4.4rem) 0 0}.communications-head{position:relative}.communications-head h2{align-items:center;gap:.62rem;font-size:clamp(2rem,3.8vw,3.45rem);display:flex}.communications-head h2 svg{color:#9b315494;width:clamp(1.45rem,2.8vw,2.25rem);height:clamp(1.45rem,2.8vw,2.25rem)}.communications-head p,.meeting-ribbon-head p{font-size:clamp(1rem,1.9vw,1.35rem)}.message-grid{grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));gap:clamp(1rem,2vw,1.45rem);display:grid}.love-note{background:#ffffffdb;border:1px solid #e0b5bc70;border-radius:.5rem;grid-template-rows:auto auto 1fr auto;min-height:clamp(11.5rem,17vw,15.5rem);padding:clamp(1rem,2.2vw,2rem);display:grid;position:relative;overflow:hidden;box-shadow:0 1rem 3.2rem #9e5c6917}.love-note:before{content:"";background:linear-gradient(90deg,#ca526f,#d59aa1);height:.32rem;position:absolute;inset:0 0 auto}.love-note h3{margin-bottom:.58rem;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(1.45rem,2.25vw,2.05rem);font-weight:600;line-height:1}.love-note time{color:#c75b76;text-transform:uppercase;margin-bottom:clamp(.72rem,1.5vw,1rem);font-size:clamp(.72rem,1vw,.85rem);font-weight:900;display:block}.love-note p,.empty-state{color:var(--muted);margin-bottom:0}.love-note p{font-size:clamp(.92rem,1.25vw,1.1rem);line-height:1.48}.love-note footer{color:#d49a9e;text-transform:uppercase;border-top:1px solid #e0b5bc6b;align-items:center;margin-top:clamp(.8rem,1.7vw,1.3rem);padding-top:clamp(.68rem,1.25vw,.9rem);font-size:clamp(.68rem,.95vw,.82rem);font-weight:900;display:flex}.meeting-ribbon{margin-top:clamp(4rem,8vw,7.2rem);position:relative}.ribbon-kicker{color:#d49a9e;text-transform:uppercase;justify-content:center;align-items:center;gap:clamp(.7rem,2vw,1.2rem);margin-bottom:clamp(2.3rem,5vw,4.8rem);font-size:clamp(.92rem,1.6vw,1.08rem);font-weight:900;display:flex}.ribbon-kicker:before,.ribbon-kicker:after{content:"";background:#d59aa147;width:min(12rem,19vw);height:1px}.ribbon-kicker svg{width:1.05rem;height:1.05rem}.meeting-ribbon-head{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:clamp(1.4rem,3vw,2.3rem);display:flex}.meeting-ribbon-head h2{margin-bottom:.5rem;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(2.2rem,4.4vw,3.7rem);font-weight:600;line-height:1}.meeting-ribbon-head p{color:var(--muted);margin-bottom:0}.meeting-ribbon-head a{color:#9b3154;border:1px solid #e0b5bc9e;border-radius:999px;flex:none;align-items:center;gap:.42rem;min-height:2.9rem;padding:.72rem 1rem;font-weight:800;display:inline-flex}.meeting-ribbon-head svg{width:1rem;height:1rem}.meeting-date-row,.meeting-date-skeleton{grid-template-columns:repeat(auto-fit,minmax(min(9rem,100%),1fr));gap:clamp(.72rem,2vw,1.4rem);display:grid}.meeting-date-card{color:#855f69;text-align:center;background:#ffffffbd;border:1px solid #e0b5bc75;border-radius:.5rem;place-items:center;gap:.32rem;min-height:14rem;padding:clamp(.9rem,2vw,1.35rem);display:grid;overflow:hidden;box-shadow:0 .9rem 2.6rem #9e5c690f}.meeting-date-card span,.meeting-date-card em{text-transform:uppercase;font-style:normal;font-weight:900}.meeting-date-card span{font-size:.94rem}.meeting-date-card strong{color:var(--ink);font:600 clamp(2.45rem,4vw,3.4rem)/1 Iowan Old Style,Palatino Linotype,Georgia,serif}.meeting-date-card em{color:#c75b76;font-size:.82rem}.meeting-date-card small{color:#c75b76;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(.88rem,1.25vw,1rem);line-height:1.28;display:-webkit-box;overflow:hidden}.meeting-date-card small:after{content:"";background:currentColor;border-radius:50%;width:.48rem;height:.48rem;margin:.78rem auto 0;display:block}.meeting-date-card.featured{color:#f8dfe2;background:#902d49;border-color:#902d49;transform:translateY(.28rem)}.meeting-date-card.featured strong,.meeting-date-card.featured em,.meeting-date-card.featured small{color:#fff7f5}.meeting-date-skeleton span{background:linear-gradient(100deg,#f0dadbcc 20%,#fff9f4f5 45%,#f0dadbcc 70%) 0 0/220% 100%;border-radius:.5rem;min-height:14rem;animation:1.3s infinite shimmer}.date-preview{color:var(--muted);margin:1rem 0 0}.falling-ornaments{pointer-events:none;z-index:2;position:fixed;inset:0;overflow:hidden}.falling-ornament{animation:fall-ornament var(--ornament-duration) linear infinite;animation-delay:var(--ornament-delay);filter:drop-shadow(0 .35rem .8rem #c4698124);height:var(--ornament-size);left:var(--ornament-left);opacity:0;width:var(--ornament-size);position:absolute;top:-12vh}.falling-ornament.heart:before{color:#cb637e66;content:"♥";font-size:calc(var(--ornament-size) * 1.45);line-height:1;display:block}.falling-ornament.diamond{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);height:calc(var(--ornament-size) * .9);background:#d59aa170}.falling-ornament.flower:before{content:"";background:#f4c4cfad;border-radius:50%;width:.58em;height:.58em;position:absolute;inset:50%;transform:translate(-50%,-50%);box-shadow:.43em 0 #f4c4cfad,-.43em 0 #f4c4cfad,0 .43em #f4c4cfad,0 -.43em #f4c4cfad}.falling-ornament.flower:after{content:"";background:#c78a459e;border-radius:50%;width:.34em;height:.34em;position:absolute;inset:50%;transform:translate(-50%,-50%)}.admin-page{padding:clamp(1rem,4vw,3.2rem)}.admin-auth-page{place-items:center;display:grid}.admin-home-link{border:1px solid var(--line);color:var(--rose-deep);z-index:3;background:#fff9f5d1;align-items:center;gap:.42rem;min-height:2.75rem;padding:.62rem .85rem;font-weight:800;display:inline-flex;position:absolute;inset:clamp(1rem,3vw,2rem) auto auto clamp(1rem,4vw,3.2rem)}.admin-home-link svg{width:1rem;height:1rem}.admin-auth-card{box-shadow:var(--shadow);z-index:3;background:#fff9f5f0;border:1px solid #ffffffd1;border-radius:.5rem;gap:.92rem;width:min(100%,28rem);max-width:28rem;padding:clamp(1.2rem,3vw,2rem);display:grid;position:relative}.admin-auth-card h1{margin-bottom:.18rem;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(2.3rem,5vw,3.8rem);font-weight:600;line-height:.94}.admin-auth-card label{color:var(--muted);gap:.42rem;font-size:.92rem;font-weight:800;display:grid}.admin-auth-card input{border:1px solid var(--line);color:var(--ink);background:#ffffffc7;border-radius:.4rem;width:100%;min-height:2.9rem;padding:.72rem .82rem}.admin-auth-card button,.admin-signout{border:1px solid var(--line);cursor:pointer;justify-content:center;align-items:center;gap:.48rem;min-height:2.9rem;padding:.72rem .86rem;font-weight:800;display:inline-flex}.admin-auth-card button{background:var(--rose-deep);border-color:var(--rose-deep);color:#fff8f4}.admin-auth-card button:disabled{cursor:not-allowed;opacity:.58}.admin-auth-card svg,.admin-signout svg{width:1rem;height:1rem}.admin-header{z-index:3;align-items:start;gap:clamp(1rem,4vw,3rem);max-width:78rem;margin:0 auto clamp(1.4rem,4vw,2.5rem);display:flex;position:relative}.admin-signout{color:var(--rose-deep);z-index:3;background:#fff9f5c7;margin-top:.55rem;position:relative}.admin-header>a,.admin-header nav a{border-color:var(--line);color:var(--rose-deep);white-space:nowrap;background:#fff9f5c7;margin-top:.55rem}.admin-header nav{flex-wrap:wrap;align-items:center;gap:.48rem;margin-top:.55rem;display:flex}.admin-header nav a{border:1px solid var(--line);align-items:center;gap:.48rem;min-height:2.75rem;padding:.62rem .85rem;display:inline-flex}.admin-header p{color:var(--rose)}.admin-header h1{color:var(--ink);margin-bottom:0;font-size:clamp(3rem,8vw,6.5rem)}.admin-grid{z-index:3;grid-template-columns:minmax(19rem,27rem) minmax(0,1fr);gap:clamp(1rem,2vw,1.5rem);max-width:78rem;margin:0 auto;display:grid;position:relative}.admin-grid>*{min-width:0}.admin-messages-grid{margin-top:clamp(1rem,2vw,1.5rem)}.admin-list-controls{border:1px solid var(--line);background:#ffffff7a;border-radius:.42rem;grid-template-columns:minmax(10rem,13rem) auto minmax(8rem,1fr);align-items:end;gap:.72rem;margin:.88rem 0 1rem;padding:clamp(.72rem,1.7vw,.95rem);display:grid}.admin-list-controls label{color:var(--muted);text-transform:uppercase;gap:.36rem;min-width:0;font-size:.82rem;font-weight:900;display:grid}.admin-list-controls label span{align-items:center;gap:.4rem;display:flex}.admin-list-controls svg{width:.92rem;height:.92rem}.admin-list-controls input{border:1px solid var(--line);color:var(--ink);background:#ffffffc7;border-radius:.38rem;width:100%;min-width:0;min-height:2.65rem;padding:.58rem .68rem}.admin-list-controls>button,.admin-pagination button{border:1px solid var(--line);color:var(--rose-deep);cursor:pointer;background:#fff9f5db;min-height:2.65rem;padding:.58rem .72rem;font-weight:800}.admin-list-controls>p{color:var(--muted);align-self:center;margin:0;font-size:.92rem}.admin-pagination{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:.48rem;display:flex}.admin-pagination span{color:var(--muted);text-align:center;min-width:5.8rem;font-size:.88rem;font-weight:800}.admin-list-controls button:disabled{cursor:not-allowed;opacity:.45}.meeting-form,.admin-calendar{padding:clamp(1rem,2.6vw,1.7rem)}.form-mark,.meeting-form label span{align-items:center;gap:.48rem;display:flex}.form-mark{color:var(--rose);text-transform:uppercase;font-weight:800}.form-mark svg,.meeting-form label svg{width:1rem;height:1rem}.meeting-form{gap:1rem;height:fit-content;display:grid}.meeting-form label{color:var(--muted);gap:.42rem;font-size:.92rem;font-weight:800;display:grid}.special-meeting-toggle{border:1px solid var(--line);background:#ffffff85;border-radius:.42rem;align-items:center;min-height:3rem;padding:.72rem .82rem;gap:.68rem!important;display:flex!important}.special-meeting-toggle input{accent-color:var(--rose-deep);flex:none;width:1.15rem;height:1.15rem;min-height:0}.special-meeting-toggle span{display:block!important}.agenda-builder{border:1px solid var(--line);border-radius:.42rem;gap:.78rem;min-width:0;margin:0;padding:clamp(.82rem,2vw,1rem);display:grid}.agenda-builder legend{color:var(--muted);align-items:center;gap:.48rem;padding:0 .35rem;font-size:.92rem;font-weight:900;display:inline-flex}.agenda-builder legend svg,.agenda-item-row svg{width:1rem;height:1rem}.meeting-form .agenda-item-row{grid-template-columns:minmax(0,1fr) auto;gap:.48rem;display:grid}.agenda-item-row .remove-agenda-item,.agenda-builder .add-agenda-item{border:1px solid var(--line);color:var(--rose-deep);cursor:pointer;background:#ffffffad}.agenda-item-row .remove-agenda-item{justify-content:center;align-items:center;min-width:2.9rem;min-height:2.9rem;padding:.68rem;display:inline-flex}.agenda-builder .add-agenda-item{border-radius:.38rem;justify-content:center;align-items:center;gap:.48rem;min-height:2.75rem;padding:.62rem .78rem;font-weight:800;display:inline-flex}.meeting-form input,.meeting-form textarea{border:1px solid var(--line);color:var(--ink);background:#ffffffc7;border-radius:.4rem;width:100%;min-height:2.9rem;padding:.72rem .82rem}.meeting-form .special-meeting-toggle input[type=checkbox]{appearance:auto;box-shadow:none;background:0 0;border:0;border-radius:0;width:1.2rem;height:1.2rem;min-height:1.2rem;margin:0;padding:0}.meeting-form textarea{resize:vertical;min-height:8rem}.message-form textarea{min-height:6.25rem}.admin-messages h2{margin-bottom:1rem}.admin-message-list{gap:.8rem;display:grid}.admin-message-list article{border:1px solid var(--line);border-left:.24rem solid var(--rose);background:#ffffffa3;border-radius:.38rem;padding:clamp(.85rem,1.8vw,1.15rem)}.admin-message-list time{color:var(--rose);text-transform:uppercase;margin-bottom:.42rem;font-size:.78rem;font-weight:900;display:block}.admin-message-list h3{margin-bottom:.45rem;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(1.3rem,2vw,1.7rem);font-weight:600;line-height:1}.admin-message-list p{color:var(--muted);margin-bottom:0}.admin-row-actions{flex-wrap:wrap;gap:.42rem;margin-top:.72rem;display:flex}.admin-row-actions button,.meeting-form .cancel-edit{border:1px solid var(--line);color:var(--rose-deep);cursor:pointer;background:#fff9f5db;justify-content:center;align-items:center;gap:.36rem;min-height:2.35rem;padding:.48rem .62rem;font-size:.88rem;font-weight:800;display:inline-flex}.admin-row-actions button.danger{color:#a32642}.admin-row-actions svg{width:.92rem;height:.92rem}.meeting-form .cancel-edit{min-height:2.8rem}.split-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.meeting-form button{border-radius:.42rem;padding:.75rem}.meeting-form button:disabled{cursor:not-allowed;opacity:.58}.admin-calendar h2{margin-bottom:1rem}.route-loading{place-items:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.loading-ribbon{filter:brightness(.76);background:url(/images/landing-couple-hero.png) 50%/cover;position:absolute;inset:0}.loading-panel{box-shadow:var(--shadow);background:#fff9f5e6;border:1px solid #ffffffb8;border-radius:.5rem;place-items:center;gap:.75rem;min-width:min(22rem,100vw - 2rem);padding:2rem;display:grid;position:relative}.loading-panel p{margin-bottom:0}.loading-heart{color:var(--rose);font-size:2rem;animation:1.1s ease-in-out infinite pulse-heart}@keyframes float-heart{0%{opacity:0;transform:translate(0,0)rotate(-12deg)}12%{opacity:1}to{opacity:0;transform:translate(1.8rem,-120vh)rotate(18deg)}}@keyframes fall-ornament{0%{opacity:0;transform:translateY(-8vh)rotate(-14deg)}12%,86%{opacity:1}45%{transform:translate(1.4rem,56vh)rotate(12deg)}to{opacity:0;transform:translate(-1.2rem,118vh)rotate(34deg)}}@keyframes shimmer{to{background-position:-120% 0}}@keyframes pulse-heart{50%{transform:scale(1.18)}}@media (hover:hover){.landing-nav nav a:hover,.landing-brand:hover{border-bottom-color:currentColor}.tab-list button:hover,.meeting-form button:hover:not(:disabled){transform:translateY(-1px)}}@media (max-width:760px){.landing-hero{background:linear-gradient(#eef8f41f,#f1e2e84d),url(/images/julius-jane-clean-hero.png) 28% bottom/auto 100% no-repeat,url(/images/julius-jane-clean-hero.png) 28%/cover,linear-gradient(135deg,#edf6f1,#f7e9ed);min-height:max(43rem,100svh - 4.4rem);padding:1rem}.landing-nav{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0;display:grid}.landing-nav nav{-webkit-backdrop-filter:blur(.7rem);backdrop-filter:blur(.7rem);opacity:0;visibility:hidden;background:#fff9f5e6;border:1px solid #701b3b2e;grid-area:2/1/auto/-1;grid-template-rows:0fr;place-items:end;gap:0;width:calc(100% + 2rem);max-height:0;margin-top:.52rem;margin-left:-1rem;padding:0 clamp(.72rem,3vw,1rem);transition:grid-template-rows .26s,max-height .26s,opacity .21s,padding .26s,transform .26s,visibility 0s linear .26s;display:grid;overflow:hidden;transform:translateY(-.75rem);box-shadow:0 .9rem 2.6rem #48233029}.landing-nav nav.is-open{opacity:1;visibility:visible;grid-template-rows:1fr;max-height:15rem;padding-block:.48rem;transition-delay:0s;transform:translateY(0)}.landing-nav nav a{text-align:right;border-bottom:1px solid #701b3b1f;width:100%;min-height:2.85rem;padding:.72rem 0}.landing-nav nav a:last-child{border-bottom:0}.landing-menu-toggle{-webkit-backdrop-filter:blur(.65rem);backdrop-filter:blur(.65rem);color:#57152f;cursor:pointer;background:#fff9f5a8;border:1px solid #701b3b2e;grid-area:1/2;justify-content:center;align-items:center;min-width:2.85rem;min-height:2.85rem;padding:.66rem;display:inline-flex}.landing-menu-toggle svg{width:1.25rem;height:1.25rem}.landing-vow{place-self:center;margin-left:clamp(4rem,29vw,7.6rem);padding:1.5rem 0 12rem}.landing-vow h1{font-size:clamp(4.15rem,20vw,6.8rem)}.landing-countdown{background:linear-gradient(90deg,#0000,#fff4f2c2);place-self:end stretch;min-width:0;max-width:none;margin-right:-1rem;padding:1rem 1rem 1.2rem clamp(5rem,30vw,9rem)}.landing-countdown>p{font-size:1.3rem}.special-meeting-feature{grid-template-columns:1fr}.special-meeting-feature a{min-width:0}.countdown-grid{justify-self:end;width:min(14rem,100%)}.planning-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.planning-header>div{grid-area:2/1/auto/-1}.planning-header .back-home{grid-area:1/1;justify-self:start}.planning-menu-toggle{-webkit-backdrop-filter:blur(.65rem);backdrop-filter:blur(.65rem);border:1px solid var(--line);color:var(--rose-deep);cursor:pointer;z-index:2;background:#fff9f5c7;grid-area:1/2;justify-content:center;align-items:center;min-width:2.9rem;min-height:2.9rem;padding:.68rem;display:inline-flex;position:relative}.planning-menu-toggle svg{width:1.25rem;height:1.25rem}.planning-header nav{border:1px solid var(--line);opacity:0;visibility:hidden;z-index:4;background:#fff9f5f0;flex-direction:column;grid-area:1/1/auto/-1;justify-content:start;justify-self:center;align-items:end;gap:0;width:100vw;max-height:0;margin-top:3.35rem;padding:0 clamp(.42rem,2vw,.75rem);transition:max-height .28s,opacity .22s,padding .28s,transform .28s,visibility 0s linear .28s;display:flex;position:relative;overflow:hidden;transform:translateY(-.8rem);box-shadow:0 .9rem 2.6rem #48233024}.planning-header nav.is-open{opacity:1;visibility:visible;max-height:12rem;padding-block:.42rem;transition-delay:0s;transform:translateY(0)}.planning-header nav a{justify-content:flex-end;width:100%}.communications-seal{opacity:.58;width:10rem;height:10rem;inset:-1.5rem -1rem auto auto}.communications-head h2{align-items:start}.message-grid{gap:.78rem}.love-note{min-height:clamp(8.6rem,38vw,11rem);padding:clamp(.78rem,4vw,1.05rem)}.love-note h3{font-size:clamp(1.22rem,6vw,1.58rem)}.love-note p{font-size:clamp(.86rem,3.7vw,.98rem)}.meeting-ribbon-head{flex-direction:column;align-items:start}.meeting-date-row,.meeting-date-skeleton{grid-template-columns:none;grid-auto-columns:minmax(8.5rem,10.5rem);grid-auto-flow:column;margin-inline:-.15rem;padding:.15rem .15rem .8rem;overflow-x:auto}.meeting-date-card,.meeting-date-skeleton span{min-height:12.8rem}.wedding-hero{background-position:60%;min-height:36rem}.wedding-hero nav,.admin-header{flex-direction:column;align-items:flex-start}.wedding-hero nav span{max-width:calc(100vw - 2.5rem)}.planning-shell{margin-top:-3.2rem}.tab-list{width:100%;display:grid}.tab-list button{min-width:0;padding-inline:.58rem}.admin-grid{grid-template-columns:1fr}.admin-list-controls{grid-template-columns:1fr;align-items:stretch}.admin-list-controls>p{align-self:start}.admin-pagination{justify-content:space-between}.split-fields{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.heart-drift,.falling-ornaments{display:none}}
