@font-face{font-family:WeddingRound;src:local('Arial Rounded MT Bold');font-weight:900;font-display:swap}
:root{--paper:#f4ecdf;--blue:#3048a5;--ink:#293c83;--line:#3048a533;--light:#fcf8f1;--muted:#63709a;--pink:#e4c4bf;--display:WeddingRound,'Arial Rounded MT Bold',Arial,sans-serif;--body:'Avenir Next',Avenir,'Trebuchet MS',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--blue);font-family:var(--body);font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bd7147;outline-offset:5px}::selection{background:#d6b9b2;color:var(--ink)}.top-line{height:32px;background:var(--blue);color:var(--paper);text-align:center;font-size:10px;letter-spacing:2.6px;display:flex;justify-content:center;align-items:center;gap:20px}header{height:104px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:35px}.brand{font-family:var(--display);font-size:32px;letter-spacing:-2px;white-space:nowrap}.brand>span:first-child{font-family:Georgia,serif;font-style:italic;font-size:28px;padding:0 4px}.brand-star{display:inline-block;font-size:27px;padding-left:11px;transform:translateY(-6px)}nav{display:flex;gap:30px;font-size:12px}nav a{padding:10px 0;border-bottom:1px solid transparent}nav a[aria-current]{border-bottom-color:var(--blue)}.nav-actions{display:flex;align-items:center;gap:18px}.button{background:var(--blue);color:var(--paper);border:1px solid var(--blue);border-radius:3px;padding:14px 23px;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:13px;font-weight:600;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#25398c;transform:translateY(-1px)}.button.small{font-size:11px;padding:11px 17px}.button span{font-size:20px;line-height:1}.button.full{width:100%}.button.outline{color:var(--blue);background:transparent}.button.outline:hover{background:#3048a50c}.button:disabled{opacity:.6;cursor:wait;transform:none}.text-button{background:none;border:0;color:var(--blue);font-size:12px;padding:8px 0}.hero{max-width:1500px;margin:auto;display:grid;grid-template-columns:1.06fr 1fr;min-height:745px}.hero-art{position:relative;text-align:center;padding:350px 25px 44px;overflow:hidden}.disco{position:absolute;width:530px;max-width:95%;height:auto;top:-30px;left:50%;transform:translateX(-50%);pointer-events:none}.script{font-family:'Snell Roundhand','Brush Script MT','Segoe Script',cursive;font-weight:400;line-height:1.25}.intro{font-size:30px;margin:12px 0 15px}.couple-title{font-family:var(--display);font-weight:900;letter-spacing:-5px;font-size:105px;line-height:.95;margin:0;transform:rotate(-2deg);text-shadow:1px 0 currentColor,-1px 0 currentColor}.date{font-size:34px;margin:26px 0 23px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.1px;line-height:1.6}.location{font-size:9px;letter-spacing:2px}.hero-invite{padding:100px 12% 40px 8%;display:flex;flex-direction:column;justify-content:center}.invite-card{background:var(--light);border:1px solid var(--blue);padding:44px 38px 28px;position:relative;max-width:470px;width:100%;margin:auto;box-shadow:8px 8px 0 #3048a50b}.invite-card>.star{position:absolute;width:40px;right:29px;top:28px;transform:rotate(12deg)}.star{width:50px;fill:none;stroke:var(--blue);stroke-width:1.7}.invite-card h2{font-family:var(--display);font-size:39px;letter-spacing:-1.4px;line-height:1.13;font-weight:900;margin:26px 0 18px}.invite-card>p:not(.eyebrow):not(.tiny){font-size:13px;line-height:1.9;max-width:310px}.invite-card form{margin-top:27px}.invite-card label,.admin-search label,.import-box form>label{display:block;font-size:11px;font-weight:600;margin-bottom:8px}.invite-card input{margin-bottom:6px}.code-input{text-transform:uppercase;letter-spacing:1px}input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea{background:transparent;color:var(--ink);border:1px solid #3048a54a;border-radius:2px;width:100%;padding:13px 14px;font-size:13px;resize:vertical}input::placeholder,textarea::placeholder{color:#7a819b;opacity:1}.tiny{font-size:10px;line-height:1.7}.invite-card>.tiny{margin:18px 0 0;text-align:center;color:var(--muted)}.under-card{text-align:center;font-size:11px;font-family:Georgia,serif;font-style:italic;margin:22px auto 0}.form-error{color:#a13439;font-size:12px;margin:0;min-height:22px}.form-error:not(:empty){margin:8px 0 12px}.celebration-strip{background:var(--blue);color:var(--paper);padding:18px 7%;display:flex;align-items:center;justify-content:space-between;gap:22px;font-size:25px}.celebration-strip span{font-family:var(--display);font-weight:900;font-size:17px;letter-spacing:1px}.details-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;padding:95px 9%;max-width:1400px;margin:auto}.details-intro h2{font-family:var(--display);font-size:40px;line-height:1.2;letter-spacing:-1.5px;margin:20px 0}.details-intro p{font-size:13px}.text-link{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid var(--blue);padding-bottom:5px;font-size:12px;margin-top:15px}.mini-details{border-left:1px solid var(--line);padding-left:50px}.mini-details>div{margin-bottom:25px}.mini-details span{font-size:9px;letter-spacing:2px;display:block;margin-bottom:8px}.mini-details strong{font-weight:500;font-size:17px}.mini-details p{margin:2px 0}footer{margin:0 5%;padding:28px 0 65px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px}.footer-name{font-family:'Snell Roundhand',Georgia,serif;font-style:italic;font-size:24px}.preview-bar{position:fixed;bottom:0;left:0;right:0;min-height:35px;display:flex;justify-content:center;align-items:center;gap:14px;background:#efe1d1;border-top:1px solid var(--line);color:var(--ink);font-size:10px;z-index:20;padding:5px 15px}.preview-bar>span{font-size:9px;letter-spacing:1.3px}.preview-bar button{font-size:10px;border:0;background:none;color:var(--blue);font-weight:700;padding:0}.preview-bar a{text-decoration:underline;margin-left:10px}.page{max-width:1200px;margin:auto;padding:60px 45px 90px;min-height:65vh}.page.narrow{max-width:600px}.page-heading{text-align:center;margin:5px auto 55px;max-width:700px}.page-heading h1{font-family:var(--display);font-size:64px;line-height:1.06;letter-spacing:-2.7px;margin:20px 0}.page-heading>p:last-child{font-size:13px;max-width:510px;margin:auto}.page.narrow .page-heading h1{font-size:46px}.invitation-members{margin:22px 0 28px}.invitation-members>div{padding:12px 0;border-top:1px solid var(--line)}.invitation-members strong{font-size:17px;font-weight:500;display:block}.invitation-members span{font-size:10px}.welcome-card h2{font-size:36px}.schedule-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:65px}.timeline-item{display:grid;grid-template-columns:112px 1fr;gap:28px;padding:25px 0 35px;position:relative}.timeline-item:not(:last-child){border-bottom:1px solid var(--line)}.time{font-family:var(--display);font-size:33px;letter-spacing:-1px;padding-top:20px}.time.tbc{font-family:var(--body);font-size:11px;letter-spacing:0;max-width:85px;padding-top:22px}.timeline-item h2{font-family:var(--display);font-size:29px;letter-spacing:-1px;margin:8px 0}.timeline-item p{font-size:13px}.note{padding:14px;border-left:2px solid var(--blue);background:#3048a507}.day-aside{border:1px solid var(--line);align-self:start;text-align:center;padding:45px 32px;background:var(--light)}.day-aside .script{font-size:37px}.day-aside>p:not(.script){font-size:12px;margin-bottom:30px}.rsvp-page{max-width:1050px}.rsvp-guests{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}fieldset{min-width:0}.guest-card{border:1px solid var(--blue);background:var(--light);padding:20px 28px 30px;margin:0}.guest-card legend{padding:0 12px;font-family:var(--display);font-size:32px;letter-spacing:-1px}.guest-intro{font-size:9px;letter-spacing:2px;margin:0 0 23px}.event-response{padding:15px 0;border-top:1px solid var(--line)}.event-response>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.event-response strong{font-weight:500;font-size:14px}.event-response>div>span{font-size:10px}.segmented{display:flex;gap:6px}.segmented label{flex:1}.segmented input{position:absolute;opacity:0;width:1px;height:1px}.segmented span{border:1px solid var(--line);display:block;text-align:center;padding:10px 6px;font-size:10px;cursor:pointer}.segmented input:checked+span{background:var(--blue);color:var(--paper);border-color:var(--blue)}.segmented input:focus-visible+span{outline:3px solid #bd7147;outline-offset:2px}.field-label{display:block;font-size:11px;font-weight:600;margin:18px 0 8px}.field-label span{font-size:10px;font-weight:400}.saved-note{font-size:11px;margin-bottom:0}.privacy-note{font-size:11px;max-width:560px;margin:30px auto 10px;text-align:center}.submit-rsvp{display:flex;margin:15px auto;min-width:220px}#save-confirmation{text-align:center;font-size:13px}#save-confirmation strong{display:block;font-size:22px}.travel-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.venue-card{border:1px solid var(--blue);text-align:center;background:var(--light);padding:30px 30px 45px;align-self:start}.venue-illustration{display:flex;position:relative;align-items:center;padding:20px 0}.venue-illustration svg{width:100%}.venue-illustration span{position:absolute;font-size:35px;left:0;top:0}.venue-illustration span:last-child{left:auto;right:0;top:45px}.venue-card h2{font-family:var(--display);font-size:40px;letter-spacing:-1.5px;margin:10px 0}.venue-card>p:not(.eyebrow){font-size:12px}.venue-card .button{margin-top:20px;min-width:210px}.travel-notes article{border-bottom:1px solid var(--line);padding:0 0 28px;margin-bottom:27px}.travel-notes h2{font-family:var(--display);font-size:31px;line-height:1.2;letter-spacing:-.8px}.travel-notes p{font-size:13px}.faq-page{max-width:900px}.faq-list{border-top:1px solid var(--blue)}details>summary{list-style:none;cursor:pointer}details>summary::-webkit-details-marker{display:none}.faq-list details{border-bottom:1px solid var(--line);padding:22px 5px}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:17px}.faq-list summary>span{font-size:25px;font-weight:300}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{font-size:13px;max-width:620px;margin:18px 0 2px}.faq-bottom{text-align:center;padding:55px 0 0}.faq-bottom .star{width:33px}.faq-bottom .script{font-size:35px;margin:10px}.faq-bottom>p:last-child{font-size:12px}.admin-login{margin-top:30px}.admin-page .page-heading{text-align:left;margin-left:0}.admin-toolbar{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:30px 0}.stats>div{padding:20px}.stats strong{display:block;font-family:var(--display);font-size:36px}.stats span{font-size:9px;letter-spacing:1px}.import-box{background:var(--light);border:1px solid var(--line);padding:22px 26px;margin-bottom:35px}.import-box summary{display:flex;justify-content:space-between;font-weight:600}.import-box p{font-size:12px}.import-box input[type=file]{display:block;font-size:12px;margin:14px 0}.admin-search{max-width:420px;margin:25px 0}.household{border-top:1px solid var(--line)}.household:last-child{border-bottom:1px solid var(--line)}.household>summary{display:flex;align-items:center;gap:22px;padding:20px 4px}.household summary>div{flex:1}.household summary strong{font-weight:500;font-size:18px;display:block}.household summary div>span{font-size:10px}.badge{font-size:10px;background:#e6d9cc;padding:4px 13px;border-radius:30px}.badge.active{background:#dce3cf;color:#465a32}.household-form{padding:10px 5px 35px}.household-form fieldset{border:1px solid var(--line);padding:15px 22px;margin-bottom:18px}.household-form legend{font-size:17px;padding:0 8px}.household-form .tiny{margin-top:0}.access-checks{display:flex;gap:25px;flex-wrap:wrap}.access-checks label,.check-label{font-size:12px;display:flex;align-items:center;gap:8px}.check-label{margin:15px 0}input[type=checkbox]{accent-color:var(--blue);width:17px;height:17px}.response-info{font-size:12px}.code-result:not(:empty){background:#eee5d8;padding:20px;margin-top:20px}.code-result p{font-size:12px}.code-result strong{font-family:monospace;font-size:22px;display:block;margin:15px 0;overflow-wrap:anywhere}.empty-state{padding:40px;background:var(--light);text-align:center;font-size:13px}.loading{text-align:center;margin:25vh auto;font-family:Georgia,serif;font-style:italic}#notice{position:fixed;right:25px;top:25px;max-width:min(450px,90vw);padding:15px 22px;background:var(--blue);color:var(--paper);font-size:12px;box-shadow:0 6px 25px #0002;opacity:0;transform:translateY(-20px);pointer-events:none;transition:.2s;z-index:50}#notice.visible{opacity:1;transform:none}
@media(min-width:1450px){.hero-art{padding-top:350px}.disco{width:600px}.hero{min-height:800px}.couple-title{font-size:120px}}
@media(max-width:1100px){header{gap:20px}nav{gap:18px;font-size:11px}.hero-invite{padding-right:8%;padding-left:4%}.invite-card{padding:38px 28px 25px}.invite-card h2{font-size:34px}.couple-title{font-size:90px}.hero-art{padding-top:330px}.disco{top:-10px}.hero{min-height:700px}.intro{font-size:25px}.schedule-layout{gap:35px}.page{padding-left:30px;padding-right:30px}.travel-grid{gap:40px}}
@media(max-width:760px){header{height:auto;min-height:120px;padding:19px 6% 13px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.brand{font-size:28px}nav{grid-row:2;grid-column:1/-1;justify-content:space-between;gap:12px;font-size:11px}.nav-actions{justify-self:end;gap:12px}.nav-actions .small{font-size:10px;padding:9px 12px;gap:10px}.text-button{font-size:10px}.hero{display:block}.hero-art{padding:315px 20px 28px}.disco{width:470px;max-width:96%;top:-33px}.intro{font-size:26px;margin-top:0}.couple-title{font-size:96px;letter-spacing:-4px}.date{font-size:31px;margin:20px 0 14px}.location{font-size:8px}.hero-invite{padding:20px 8% 45px}.invite-card{padding:33px 29px 25px;max-width:450px}.invite-card h2{font-size:36px}.invite-card .eyebrow{font-size:9px}.under-card{margin-top:20px}.celebration-strip{padding:16px 5%;gap:14px;font-size:20px;overflow:hidden;white-space:nowrap;justify-content:center}.celebration-strip span{font-size:12px;letter-spacing:.3px}.celebration-strip span:last-of-type,.celebration-strip>:last-child{display:none}.details-intro{display:block;padding:55px 8%}.details-intro h2{font-size:34px}.mini-details{margin-top:35px;padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:25px}.mini-details>div{margin-bottom:18px}footer{margin:0 8%;flex-wrap:wrap;padding:23px 0 80px;gap:12px}footer>span:last-child{width:100%}.preview-bar{font-size:9px;gap:7px;flex-wrap:wrap}.preview-bar>span{font-size:8px}.preview-bar a{margin-left:4px}.page{padding:40px 7% 60px}.page-heading{margin-bottom:35px}.page-heading h1{font-size:45px;letter-spacing:-1.6px}.page-heading>p:last-child{font-size:12px}.page.narrow .page-heading h1{font-size:40px}.schedule-layout,.travel-grid{display:block}.day-aside{margin-top:30px}.timeline-item{grid-template-columns:80px 1fr;gap:14px;padding:15px 0 25px}.time{font-size:27px}.timeline-item h2{font-size:26px}.timeline-item p{font-size:12px}.time.tbc{max-width:70px;font-size:10px}.rsvp-guests{display:block}.guest-card{margin-bottom:28px;padding:17px 23px 25px}.guest-card legend{font-size:29px}.travel-notes{margin-top:40px}.venue-card{padding:20px 25px 35px}.faq-list summary{font-size:15px}.stats>div{padding:15px 5px}.stats strong{font-size:30px}.stats span{font-size:8px;letter-spacing:.2px}.admin-toolbar{gap:15px}.admin-toolbar .text-link{font-size:10px}.import-box{padding:19px}.household summary strong{font-size:16px}.household>summary{gap:10px}.access-checks{gap:15px}.code-result strong{font-size:17px}.admin-login{margin-top:10px}}
@media(max-width:370px){.hero-art{padding-top:250px}.disco{width:400px}.couple-title{font-size:80px}.intro{font-size:23px}.nav-actions .small{font-size:9px}.brand{font-size:24px}.segmented span{font-size:9px}.invite-card{padding:30px 22px}.invite-card h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* The home-page album keeps the original photos intact, with responsive display crops. */
.photo-album{max-width:1280px;margin:0 auto;padding:66px 6% 10px}.photo-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.photo-heading h2{font-family:var(--display);font-size:38px;line-height:1.2;letter-spacing:-1.3px;margin:0}.photo-heading .star{width:32px;flex-shrink:0}.photo-collage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:215px 215px;gap:19px;padding:6px}.collage-photo{margin:0;border:7px solid var(--light);box-shadow:0 5px 18px #293c8317;background:var(--light);min-width:0;overflow:hidden}.collage-photo img{display:block;width:100%;height:100%;object-fit:cover}.collage-photo-0{grid-column:2;grid-row:1/3;transform:rotate(-1deg)}.collage-photo-0 img{object-position:50% 32%}.collage-photo-1{grid-column:1;grid-row:1;transform:rotate(-2deg)}.collage-photo-1 img{object-position:50% 40%}.collage-photo-2{grid-column:3;grid-row:1;transform:rotate(2deg)}.collage-photo-3{grid-column:1;grid-row:2;transform:rotate(1.5deg)}.collage-photo-4{grid-column:3;grid-row:2;transform:rotate(-1.5deg)}.collage-photo-4 img{object-position:50% 38%}.more-photos{margin-top:30px}.more-photos>summary{display:flex;justify-content:center;align-items:center;gap:22px;width:max-content;margin:0 auto;border-bottom:1px solid var(--blue);font-size:12px;padding:9px 0}.more-photos>summary span{font-size:20px;line-height:1}.more-photos[open]>summary span{transform:rotate(45deg)}.photo-collection{columns:4;column-gap:18px;margin-top:30px;padding:4px}.photo-collection figure{margin:0 0 18px;break-inside:avoid;border:6px solid var(--light);background:var(--light);box-shadow:0 3px 12px #293c8310}.photo-collection img{display:block;width:100%;height:auto}.photo-collection figure:nth-child(3n){transform:rotate(.6deg)}.photo-collection figure:nth-child(4n){transform:rotate(-.6deg)}
@media(max-width:1000px){.photo-collage{grid-template-rows:185px 185px;gap:14px}.photo-collection{columns:3}}
@media(max-width:760px){.photo-album{padding:45px 7% 5px}.photo-heading h2{font-size:30px;max-width:310px}.photo-collage{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:15px}.collage-photo-0{grid-column:1/-1;grid-row:auto;aspect-ratio:4/3;max-height:470px}.collage-photo-0 img{object-position:50% 25%}.collage-photo-1,.collage-photo-2,.collage-photo-3,.collage-photo-4{grid-column:auto;grid-row:auto;aspect-ratio:4/3}.photo-collection{columns:2;column-gap:13px}.photo-collection figure{margin-bottom:13px;border-width:5px}.more-photos{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.collage-photo{transform:none}}
.venue-photo{display:block;width:100%;height:auto;margin:0 0 28px;border-radius:2px}
