:root{--black:#191715;--cream:#f4ecdd;--paper:#fcf8f0;--ruby:#981b2f;--muted:#6d645c;--line:#d8cbbb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--black);font:15px/1.65 Arial,sans-serif}header{background:var(--black);color:var(--cream);padding:19px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #4a3d36;gap:20px}header span,.eyebrow,.chapter,footer>span{font-size:10px;letter-spacing:2px;font-weight:600}.brand{font:22px Georgia,serif;text-decoration:none;color:inherit}.brand em{color:#c95a6b}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.13}h1{font-size:clamp(36px,5vw,58px);margin:0}h2{font-size:36px;margin:12px 0 22px}h3{font-size:25px;margin:12px 0}h1 i,h2 i{color:var(--ruby);font-weight:400}p{margin:12px 0 18px}.hero{display:grid;grid-template-columns:1.05fr 1fr;background:var(--black);color:var(--cream)}.hero-copy{padding:60px 9%;display:flex;flex-direction:column;justify-content:center}.hero-copy>.eyebrow{color:#d5bda0}.main-logo{width:100%;max-width:510px;margin:28px 0 18px}.intro{font:italic 29px/1.25 Georgia,serif}.hero-copy>p:not(.intro):not(.eyebrow){color:#c5b8a7}.hero-art{position:relative;max-height:660px;overflow:hidden}.hero-art>img{width:100%;height:100%;object-fit:cover;object-position:center 43%}.hero-art>span{position:absolute;bottom:0;left:0;right:0;padding:20px;background:#191715e8;color:var(--cream);letter-spacing:4px;text-align:center;font-size:11px}.hero-bottom{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:24px}#countdown{font-size:12px;color:#d5bda0}main{max-width:1280px;margin:auto;padding:40px 5%}.chapter{display:flex;justify-content:space-between;gap:20px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:22px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin:36px 0}.section-heading>p{max-width:360px;color:var(--muted)}button,.button,select,input{font:inherit}button,.button{padding:12px 18px;min-height:46px;border:1px solid var(--line);background:transparent;color:var(--black);cursor:pointer;text-decoration:none;border-radius:3px}button:hover,.button:hover{border-color:var(--ruby)}button[aria-pressed=true]{background:var(--black);color:var(--cream);border-color:var(--black)}.cream{background:var(--cream);color:var(--black)}nav{display:flex;gap:5px;flex-wrap:wrap;padding:14px 0;border-block:1px solid var(--line);margin:30px 0}nav button{border:0}.daybar{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:26px 0 36px}.daybar button{text-align:left;padding:13px 16px}.daybar strong{font:26px Georgia,serif;display:block}.daybar span{font-size:11px;letter-spacing:1px}.itinerary-layout{display:grid;grid-template-columns:1fr 290px;gap:48px}.day-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.day-heading h2{font-size:34px}.day-heading button{font-size:12px;white-space:nowrap}.weather{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:12px;margin:10px 0 25px}select,input{padding:10px;border:1px solid var(--line);background:var(--paper);color:var(--black);border-radius:3px;min-height:44px}select{max-width:100%}.event{display:grid;grid-template-columns:100px 1fr;gap:22px;padding:22px 0;border-top:1px solid var(--line)}.event time{font-size:12px;color:var(--muted);padding-top:4px}.event h3{font-size:25px;margin:9px 0}.event p{margin:8px 0;color:var(--muted)}.badge{display:inline-block;font-size:9px;font-weight:600;letter-spacing:1.1px;text-transform:uppercase;padding:4px 8px;background:#eee5d7;border-radius:2px;color:#625646}.badge.confirmed{background:#e3e9dc;color:#35452c}.badge.optional{background:#f0e4db;color:#794b32}.badge.tentative{background:#f4e1e4;color:#7e2030}aside{background:var(--black);color:var(--cream);padding:28px;align-self:start}aside h2{font-size:33px}aside p{color:#d0c1af}aside hr{border:0;border-top:1px solid #544339;margin:28px 0}.aside-mark{display:block;width:110px;margin:34px auto 4px}.light-link{color:var(--cream)}a{color:var(--ruby);text-underline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b97522;outline-offset:3px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{border:1px solid var(--line);padding:26px}.dark{background:var(--black);color:var(--cream);border:0}.space{margin-top:35px}.note{padding:16px 20px;border-left:3px solid var(--ruby);background:#f0e9df;font-size:13px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0}.check-row{display:flex;gap:15px;align-items:center;padding:17px 4px;border-bottom:1px solid var(--line)}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--ruby);flex-shrink:0}.check-row:has(input:checked) span{text-decoration:line-through;color:var(--muted)}#task-count{font:13px Arial,sans-serif;color:var(--muted)}.budget-summary{background:var(--black);color:var(--cream);display:flex;justify-content:space-between;align-items:center;padding:28px;gap:25px;flex-wrap:wrap}.budget-summary input{display:block;width:180px;margin-top:8px}.cost-row{display:grid;grid-template-columns:1fr 150px;gap:20px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.cost-row input{width:100%}#export{margin-top:24px}footer{border-top:1px solid var(--line);margin-top:70px;padding:45px 0 15px;text-align:center}footer img{width:260px;max-width:90%}footer p{color:var(--muted)}.small{font-size:11px;max-width:640px;margin:22px auto} [hidden]{display:none!important}@media(max-width:760px){header{padding:16px 5%}header span{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:34px 7%}.main-logo{margin:15px 0;max-width:420px}.hero-art{height:290px}.hero-art>img{object-position:center 47%}.hero-copy>.intro{font-size:25px}.hero-bottom{margin-top:12px}.chapter{font-size:9px}.chapter span:last-child{display:none}.section-heading{display:block}.section-heading>p{margin-top:20px}.itinerary-layout{grid-template-columns:1fr;gap:25px}.daybar{gap:4px}.daybar button{padding:9px 7px;text-align:center}.daybar strong{font-size:24px}.daybar span{font-size:9px}.day-heading{align-items:start}.day-heading h2{font-size:30px}.event{grid-template-columns:70px 1fr;gap:14px}.grid{grid-template-columns:1fr}main{padding:28px 5%}nav{gap:3px}nav button{font-size:13px;padding:10px 12px}h2{font-size:31px}.cost-row{grid-template-columns:1fr 115px}input,select{font-size:16px}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.couple-section{margin-top:65px}.couple-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:50px;margin:30px 0}.couple-feature>img{display:block;width:100%;height:auto;max-width:420px;justify-self:center}.couple-copy{max-width:430px}.couple-copy h2{font-size:clamp(34px,4vw,52px)}.couple-copy p{color:var(--muted)}.couple-gallery{border-block:1px solid var(--line);padding:18px 0}.couple-gallery summary{cursor:pointer;min-height:44px;font-family:Georgia,serif;font-size:23px;padding:8px 0}.couple-gallery summary span{font:12px Arial,sans-serif;color:var(--muted);display:inline-block;margin-left:15px}.couple-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;align-items:start}.couple-photos figure{margin:0}.couple-photos img{width:100%;height:auto;display:block}.couple-photos .couple-wide{grid-column:1/-1}.couple-gallery summary:focus-visible{outline:3px solid #b97522;outline-offset:3px}@media(max-width:600px){.couple-feature{grid-template-columns:1fr;gap:24px}.couple-copy{max-width:none}.couple-photos{grid-template-columns:1fr;gap:16px}.couple-gallery summary{font-size:21px}}

.hero-art>img{object-position:center 38%}.edition-poster{margin-top:30px;border-block:1px solid var(--line);padding:18px 0}.edition-poster summary{font:22px Georgia,serif;cursor:pointer;padding:10px 0;min-height:44px}.edition-poster>img{display:block;width:100%;max-width:600px;height:auto;margin:24px auto}.edition-poster summary:focus-visible{outline:3px solid #b97522;outline-offset:3px}@media(max-width:760px){.hero-art{height:auto;max-height:none}.hero-art>img{height:auto;object-fit:contain;display:block}.hero-art>span{position:static;display:block}}

.shared-photos{margin-top:38px}.shared-photos form{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.shared-photos label{width:100%}.shared-photos input{max-width:100%}.shared-photos button{margin:8px 0}
