@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&display=swap";
:root{--wine:#521f2e;--wine2:#35131e;--cream:#f7f1e7;--paper:#fffdf8;--ink:#221d1b;--gold:#c8a56a;--line:#221d1b29}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,sans-serif;font-size:16px;line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Italiana,serif;font-weight:400;line-height:.96}h2{letter-spacing:-.04em;margin:.2em 0;font-size:clamp(3.6rem,8vw,7.8rem)}.site-header{z-index:10;color:#fff;border-bottom:1px solid #ffffff40;justify-content:space-between;align-items:center;width:100%;height:94px;padding:0 4vw;display:flex;position:absolute;top:0;left:0}.monogram{color:inherit;font-family:Italiana;font-size:1.65rem;text-decoration:none}.monogram span{color:var(--gold);font-style:italic}.site-header nav{align-items:center;gap:2.1vw;display:flex}.site-header nav a{color:#fff;text-transform:uppercase;letter-spacing:.13em;font-size:.73rem;text-decoration:none}.nav-rsvp{border:1px solid #ffffff8c;padding:.75rem 1rem}.menu-toggle{color:#fff;text-transform:uppercase;letter-spacing:.12em;background:0 0;border:0;display:none}.hero{color:#fff;height:min(920px,100vh);min-height:680px;position:relative;overflow:hidden}.hero-carousel{position:absolute;inset:0}.hero-carousel img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1.4s;position:absolute}.hero-carousel img.active{opacity:1}.hero-shade{background:linear-gradient(90deg,#100a08c7 0%,#100a0847 50%,#100a081a 100%),linear-gradient(#0000 50%,#0f090866);position:absolute;inset:0}.hero-copy{z-index:2;position:absolute;top:50%;left:8vw;transform:translateY(-44%)}.hero h1{letter-spacing:-.055em;margin:.12em 0 .2em;font-size:clamp(5rem,11vw,10.5rem)}.hero h1 i{color:var(--gold);font-weight:400}.eyebrow{text-transform:uppercase;letter-spacing:.24em;color:var(--wine);font-size:.72rem;font-weight:600}.eyebrow.light{color:#e8cfab}.date-line{text-transform:uppercase;letter-spacing:.18em;align-items:center;gap:1.25rem;margin-bottom:1.4rem;display:flex}.date-line>span{background:var(--gold);width:45px;height:1px;display:block}.date-line p{margin:0;font-size:.8rem}.date-line small{opacity:.76;font-size:.65rem}.text-link{text-transform:uppercase;letter-spacing:.13em;color:var(--ink);border-bottom:1px solid;align-items:center;gap:1rem;padding-bottom:.32rem;font-size:.74rem;font-weight:600;text-decoration:none;display:inline-flex}.text-link span{font-size:1rem}.text-link.light{color:#fff}.scroll-note{z-index:2;text-transform:uppercase;letter-spacing:.18em;writing-mode:vertical-rl;font-size:.66rem;position:absolute;bottom:2.5rem;right:3vw}.scroll-note span{padding-top:1rem}.section-pad{padding:9rem 8vw}.announcement{text-align:center;background:var(--cream)}.announcement .lead{max-width:730px;margin:2.5rem auto 4.5rem}.announcement em,.story em,.gallery em,.details em,.party em,.guestbook em,.gifts em{color:var(--wine);font-weight:400}.countdown{border-top:1px solid var(--line);justify-content:center;padding-top:2rem;display:flex}.countdown div{border-right:1px solid var(--line);min-width:125px;padding:0 2rem}.countdown div:last-child{border:0}.countdown strong{font-family:Italiana;font-size:2.8rem;font-weight:400;display:block}.countdown span{text-transform:uppercase;letter-spacing:.2em;font-size:.62rem}.story{grid-template-columns:1fr 1fr;min-height:760px;display:grid}.story-photo{filter:saturate(.78);background:linear-gradient(#4919281f,#4919281f),url(/images/hero.png) 74%/cover no-repeat}.story-copy{flex-direction:column;justify-content:center;padding:8rem 8vw;display:flex}.story-copy h2{font-size:clamp(3rem,6vw,6rem)}.story-copy p:not(.eyebrow){max-width:560px}.story-copy .text-link{align-self:flex-start;margin-top:1.7rem}.section-heading{margin-bottom:5rem}.section-heading h2{font-size:clamp(3.5rem,7vw,7rem)}.center{text-align:center}.gallery{background:var(--paper)}.gallery-grid{grid-template-columns:1fr 1.2fr .9fr;align-items:center;gap:2.5vw;display:grid}.photo-card{background-image:url(/images/hero.png);background-repeat:no-repeat;background-size:cover;height:480px}.p1{background-position:12%}.p2{background-position:66%;height:650px}.p3{background-position:90%;height:400px}.gallery figure{margin:0}.gallery figcaption{text-transform:uppercase;letter-spacing:.16em;margin-top:.8rem;font-size:.65rem}.details{background:var(--wine2);color:#fff}.details .section-heading em{color:#e4c08d}.event-grid{border:1px solid #fff3;grid-template-columns:repeat(3,1fr);display:grid}.event-grid article{flex-direction:column;min-height:470px;padding:4rem 3vw;display:flex}.event-grid article+article{border-left:1px solid #fff3}.event-grid .featured{background:var(--wine)}.event-no{letter-spacing:.15em;color:#ddb981;margin-bottom:3rem;font-size:.7rem}.event-grid h3{margin:1.2rem 0 2rem;font-size:3.4rem}.event-grid article>p:not(.event-no):not(.eyebrow):not(.dress){color:#ffffffb3}.dress{text-transform:uppercase;letter-spacing:.15em;margin-top:auto;font-size:.66rem}.travel{background:var(--cream)}.travel-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.travel-grid article{background:var(--cream);padding:3.5rem 3vw}.travel-grid .icon{color:var(--wine);font-size:2rem}.travel-grid h3{margin:2rem 0 1rem;font-size:2rem}.travel-grid p{min-height:90px}.venue-card{color:#fff;background:linear-gradient(100deg,#2d0d19f0,#2d0d1959),url(/images/hero.png) 50% 62%/cover;justify-content:space-between;align-items:flex-end;min-height:400px;margin-top:5rem;padding:5rem;display:flex}.venue-card h3{font-size:4.5rem}.button{text-transform:uppercase;letter-spacing:.14em;cursor:pointer;border:0;padding:1rem 1.5rem;font:600 .72rem DM Sans;text-decoration:none;display:inline-block}.button.ghost{color:#fff;border:1px solid #fff}.button.dark{background:var(--wine);color:#fff}.button.outline{border:1px solid var(--wine);color:var(--wine);background:0 0}.party-grid{grid-template-columns:repeat(4,1fr);gap:2vw;display:grid}.party-grid article{text-align:center}.avatar{aspect-ratio:4/5;color:#ffffffa6;background:linear-gradient(135deg,#714153,#2b1820);place-items:center;font-family:Italiana;font-size:2rem;display:grid}.a2{background:linear-gradient(135deg,#2b2422,#88674b)}.a3{background:linear-gradient(135deg,#b78d70,#512e3d)}.a4{background:linear-gradient(135deg,#705948,#211a1a)}.party-grid h3{margin:1.3rem 0 .3rem;font-size:1.7rem}.party-grid p{text-transform:uppercase;letter-spacing:.1em;color:#766d68;font-size:.7rem}.gifts{background:var(--wine);color:#fff;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;display:grid}.gifts em{color:#e6c38f}.gift-copy>p:last-child{color:#ffffffb8;max-width:520px}.gift-actions a{color:#fff;border-bottom:1px solid #ffffff42;grid-template-columns:45px 1fr auto;align-items:center;padding:2rem 0;text-decoration:none;display:grid}.gift-actions span{color:#d8b682;font-size:.65rem}.gift-actions strong{font-family:Italiana;font-size:2rem;font-weight:400}.gift-actions i{font-style:normal}.guestbook{background:var(--cream)}.guestbook .lead.small{max-width:680px}.forms{grid-template-columns:1.2fr .8fr;gap:3vw;display:grid}.forms form{background:var(--paper);border:1px solid var(--line);padding:3rem}.form-label{font-family:Italiana;font-size:2rem}.forms label{text-transform:uppercase;letter-spacing:.13em;margin:1.6rem 0;font-size:.65rem;font-weight:600;display:block}.forms input,.forms textarea{text-transform:none;letter-spacing:0;background:0 0;border:0;border-bottom:1px solid #aaa;outline:none;width:100%;padding:.9rem 0;font:1rem DM Sans;display:block}.forms textarea{resize:vertical;height:105px}.forms input:focus,.forms textarea:focus{border-color:var(--wine)}.password-field{display:block;position:relative}.password-field input{padding-right:3.5rem}.password-reveal{text-transform:uppercase;letter-spacing:.1em;color:var(--wine);cursor:pointer;background:0 0;border:0;padding:.4rem 0;font-size:.65rem;font-weight:600;position:absolute;top:50%;right:0;transform:translateY(-50%)}.success{color:var(--wine);margin-top:1.5rem;font-weight:600}footer{color:#fff;text-align:center;background:#160f11;padding:6rem 2rem}footer .large{font-size:4rem}footer p{color:#ffffffa6}.footer-date{text-transform:uppercase;letter-spacing:.3em;font-size:.7rem}.modal{z-index:30;background:#0c0808b8;justify-content:center;align-items:center;padding:1.5rem;display:none;position:fixed;inset:0}.modal.open{display:flex}.modal-panel{background:var(--paper);max-width:560px;padding:4rem;position:relative}.modal-panel h2{font-size:4rem}.modal-close{cursor:pointer;background:0 0;border:0;font-size:2rem;position:absolute;top:.6rem;right:1rem}.reveal{opacity:0;transition:all .8s;transform:translateY(25px)}.reveal.visible{opacity:1;transform:none}@media (max-width:900px){.site-header{height:74px}.menu-toggle{display:block}.site-header nav{background:var(--wine2);flex-direction:column;align-items:flex-start;padding:2rem;display:none;position:absolute;top:74px;left:0;right:0}.site-header nav.open{display:flex}.hero-copy{left:7vw}.hero h1{font-size:5rem}.section-pad{padding:6rem 6vw}.story{grid-template-columns:1fr}.story-photo{min-height:520px}.story-copy{padding:6rem 7vw}.gallery-grid{grid-template-columns:1fr 1fr}.g3{display:none}.event-grid{grid-template-columns:1fr}.event-grid article+article{border-top:1px solid #fff3;border-left:0}.travel-grid{grid-template-columns:1fr}.travel-grid article p{min-height:auto}.party-grid{grid-template-columns:1fr 1fr}.gifts,.forms{grid-template-columns:1fr}}@media (max-width:560px){h2{font-size:3.5rem}.hero{min-height:650px}.hero-carousel img{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#100a08c7,#100a082e)}.hero h1{font-size:4rem}.scroll-note{display:none}.countdown div{flex:1;min-width:0;padding:0 .65rem}.countdown strong{font-size:1.8rem}.story-photo{min-height:400px}.gallery-grid{display:block}.gallery figure{margin-bottom:2rem}.photo-card,.p2{height:430px}.event-grid h3{font-size:3rem}.venue-card{padding:3rem 1.7rem;display:block}.venue-card h3{font-size:3rem}.venue-card .button{margin-top:2rem}.party-grid{grid-template-columns:1fr}.forms form{padding:2rem 1.3rem}.modal-panel{padding:3rem 1.5rem}.gift-actions strong{font-size:1.5rem}}.story-photo,.photo-card,.avatar{background-image:none;position:relative;overflow:hidden}.story-photo img{object-fit:cover;object-position:74% center}.photo-card img,.avatar img{object-fit:cover}.p1 img{object-position:12% center}.p2 img{object-position:66% center}.p3 img{object-position:90% center}.sample-banner{background:var(--cream);text-align:center;color:var(--wine);border-bottom:1px solid var(--line);padding:.6rem 1.5rem;font-size:.75rem}.standalone{min-height:80vh;padding:150px 8vw 6rem}.standalone h1,.login-page h1{font-size:clamp(3rem,6vw,6rem)}body:has(.standalone) .site-header{background:var(--wine2)}.journal-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2.5rem;margin-top:3rem;display:grid}.journal-card{color:inherit;text-decoration:none;display:block}.journal-card-photo{aspect-ratio:4/3;margin-bottom:1rem;position:relative;overflow:hidden}.journal-card-photo img{object-fit:cover}.journal-card h2{margin:.25rem 0 0;font-size:2rem}.journal-byline{text-transform:uppercase;letter-spacing:.14em;color:var(--wine);margin-top:.5rem;font-size:.72rem}.journal-entry{max-width:760px}.journal-entry-photo{aspect-ratio:16/10;margin:2rem 0;position:relative}.journal-entry-photo img{object-fit:cover}.journal-entry-video{aspect-ratio:16/9;margin:2rem 0;position:relative}.journal-entry-video iframe,.journal-entry-video video{background:#000;border:0;width:100%;height:100%;position:absolute;inset:0}.checklist{max-width:720px;margin-top:3rem}.checklist-group{margin-bottom:2.5rem}.checklist-group h2{text-transform:uppercase;letter-spacing:.14em;color:var(--wine);margin-bottom:1.2rem;font-size:1.6rem}.checklist-group ul{margin:0;padding:0;list-style:none}.checklist-group li{border-bottom:1px solid var(--line);align-items:flex-start;gap:1rem;padding:.9rem 0;display:flex}.checklist-mark{border:1px solid var(--wine);border-radius:50%;flex:none;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;margin-top:.15rem;font-size:.85rem;display:flex}.checklist-done .checklist-mark{background:var(--wine);color:#fff}.checklist-done .checklist-title{opacity:.7;text-decoration:line-through}.checklist-title{margin:0 0 .2rem;font-weight:600}.checklist-due{text-transform:uppercase;letter-spacing:.08em;color:var(--wine);margin:0 0 .3rem;font-size:.78rem}.single{grid-template-columns:1fr;max-width:720px}.small-heading{font-size:2.5rem}select{border:1px solid var(--line);background:var(--paper);width:100%;font:inherit;color:var(--ink);padding:.8rem;display:block}fieldset{border:1px solid var(--line);margin:1rem 0;padding:1rem}input[type=checkbox]{width:auto;display:inline-block}.check{align-items:center;gap:.7rem;display:flex!important}.honeypot{clip-path:inset(50%);width:1px;height:1px;overflow:hidden;position:absolute!important}button:disabled{opacity:.6;cursor:wait}:focus-visible{outline-offset:4px;outline:3px solid var(--gold)!important}.skip-link{z-index:100;background:var(--paper);padding:1rem;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:1rem}.gift-actions details{border-bottom:1px solid #ffffff42;padding:1.5rem 0}.gift-actions summary{cursor:pointer;font:2rem Italiana,serif}footer a{color:var(--gold)}blockquote{border-left:2px solid var(--gold);background:var(--paper);margin:1rem 0;padding:2rem}.login-page{background:var(--cream);min-height:100vh;padding:5rem 8vw}.login-page .monogram{margin-bottom:3rem;display:block}.admin-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.admin-nav{background:var(--wine2);color:var(--cream);height:100vh;padding:2rem;position:sticky;top:0;overflow:auto}.admin-nav nav{gap:.25rem;margin:2rem 0;display:grid}.admin-nav nav a{color:var(--cream);text-transform:capitalize;border-left:2px solid #0000;padding:.4rem .7rem;text-decoration:none}.admin-nav nav a[aria-current=page]{background:var(--wine);border-color:var(--gold)}.admin-main{background:var(--cream);min-width:0;padding:4rem 5vw}.admin-main h1{text-transform:capitalize;font-size:clamp(3rem,5vw,5rem)}.admin-main h2,.panel h2{letter-spacing:0;font-size:2rem}.panel{background:var(--paper);border:1px solid var(--line);margin:1rem 0;padding:1.7rem}.editor-message:not(:empty){background:var(--cream);border:1px solid var(--line);border-left:3px solid var(--wine);margin:1.2rem 0 0;padding:.9rem 1.2rem;font-weight:600}.section-note{background:var(--cream);border:1px solid var(--line);border-left:3px solid var(--wine);margin:1rem 0 1.5rem;padding:.9rem 1.2rem;font-size:.9rem}.stat-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.stat-grid .panel{margin:0}.stat-grid strong{color:var(--wine);font:3rem Italiana,serif;display:block}.stat-grid span{text-transform:capitalize;font-size:.85rem}.toolbar{flex-wrap:wrap;align-items:end;gap:1rem;margin:1.5rem 0;display:flex}.admin-main label{font-size:.8rem;display:block}.admin-main input:not([type=checkbox]),.admin-main textarea{border:1px solid var(--line);width:100%;font:inherit;background:var(--paper);padding:.7rem;display:block}.admin-main textarea{min-height:140px}.field-grid{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.field-grid .wide{grid-column:1/-1}.record-list .panel{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.record-list .panel>div{flex:1;min-width:180px}.record-list h2{margin:0 0 .5rem}.record-list p{overflow-wrap:anywhere;margin:0}pre{white-space:pre-wrap;overflow-wrap:anywhere}.admin-toggle{display:none}.editor{scroll-margin-top:1rem}.button{line-height:1.6}.forms input,.forms textarea{border-bottom-color:#766d68}@media (max-width:900px){.admin-shell{display:block}.admin-nav{height:auto;padding:1rem 6vw;position:relative}.admin-nav nav{display:none}.admin-nav nav.open{grid-template-columns:1fr 1fr;display:grid}.admin-toggle{margin:0 1rem 0 0;display:inline-block}.admin-nav .eyebrow{margin-bottom:.5rem}.admin-main{padding:3rem 6vw}.stat-grid{grid-template-columns:1fr 1fr}.site-header nav{gap:1rem}.standalone{padding-top:120px}}@media (max-width:560px){.field-grid{grid-template-columns:1fr}.stat-grid{gap:.5rem}.stat-grid .panel{padding:1rem}.admin-main .toolbar{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
