:root{--wine:#743014;--dark:#442d1c;--paper:#faf5e9;--rose:#e8d1a7;--gold:#84592b;--ink:#442d1c;--muted:#71604d;--line:#d8c8ad}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}:focus-visible{outline:3px solid #84592b;outline-offset:4px}.site-header{padding:22px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:24px}.monogram{font:30px Georgia,serif;letter-spacing:-2px}.monogram span{font-style:italic;font-size:24px;color:#84592b;margin:0 5px}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav a:hover{text-decoration:underline}.nav-private{border-left:1px solid var(--line);padding-left:32px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px;background:var(--wine);color:var(--paper)}.hero-copy{padding:64px 10% 65px 12%}.eyebrow{font-size:12px;letter-spacing:2.4px;font-weight:700;margin:0 0 26px}.hero h1{font:clamp(76px,8vw,128px)/.94 Georgia,serif;letter-spacing:-5px;margin:22px 0 28px;font-weight:400}.hero h1 em{font-weight:400;color:#e8d1a7;font-size:.72em}.full-names{font-size:12px;letter-spacing:2px}.hero-rule{width:54px;height:1px;background:#9d9167;margin:30px 0 20px}.season{font:28px Georgia,serif;margin:0}.hero-note{color:#f3e4c9;margin:16px 0 30px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--wine);color:white;border:1px solid var(--wine);padding:13px 22px;font-size:14px;font-weight:600;border-radius:3px;min-height:48px}.button:hover{filter:brightness(1.16)}.button.cream{background:var(--paper);color:var(--wine);border-color:var(--paper)}.button.secondary{background:transparent;color:var(--wine);border-color:var(--line)}.hero-art{position:relative;overflow:hidden;min-height:600px}.hero-art img{width:100%;height:100%;object-fit:cover;position:absolute}.photo-caption{position:absolute;bottom:30px;left:0;width:100%;text-align:center;font-size:11px;letter-spacing:3px;text-shadow:0 1px 8px black}.celebration{padding:90px 7%;text-align:center}h2{font:44px/1.15 Georgia,serif;font-weight:400;margin:0 0 24px}.intro{max-width:610px;margin:0 auto;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:62px;text-align:left}.detail-grid article{padding:0 30px;border-left:1px solid var(--line)}.detail-grid article:first-child{border-left:0}.number{font-size:12px;font-weight:700;letter-spacing:2px;color:#84592b}h3{font:25px/1.3 Georgia,serif;margin:20px 0 12px}.detail-grid p{color:var(--muted);white-space:pre-line}.dad-note{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;margin:0 7% 90px;border-top:1px solid var(--line);padding-top:55px}.dad-note h2{font-style:italic}.dad-note p{margin-top:0}.dad-note .signature{font:italic 26px Georgia,serif;color:var(--wine)}.travel{background:#e8d1a7;padding:65px 7%;display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}.travel h2{font-size:36px;margin:0}.travel>p{white-space:pre-line}footer{display:flex;justify-content:space-between;align-items:center;padding:32px 5%;gap:24px}footer p,footer>a:last-child{font-size:14px;color:var(--muted)}.text-button{border:0;background:none;padding:8px;color:var(--wine);font-size:14px}.login{max-width:520px;margin:65px auto;padding:0 25px}.login h1{font:52px/1.13 Georgia,serif;color:var(--wine);margin:0 0 24px}.login>p{color:var(--muted)}form label{display:block;font-size:14px;font-weight:600;margin:18px 0 7px}input,textarea,select{width:100%;padding:11px 12px;border:1px solid #ad9978;border-radius:4px;background:#fffdf7;color:var(--ink);min-height:46px}textarea{min-height:90px;resize:vertical}.login .button{width:100%;margin-top:20px}.small{font-size:13px}.error{color:#a12834;font-size:14px;white-space:pre-wrap}.workspace{max-width:1250px;padding:42px 5% 80px;margin:auto}.workspace h1{font:44px Georgia,serif;margin:5px 0 12px;color:var(--wine)}.workspace .eyebrow{margin-bottom:10px}.muted{color:var(--muted)}.workspace-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin:30px 0;border-radius:6px;background:white}.stat{padding:20px 24px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat span{display:block;font-size:13px;color:var(--muted)}.stat strong{display:block;font:30px Georgia,serif;margin:8px 0}.tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);overflow-x:auto;margin-bottom:28px}.tabs button{border:0;border-bottom:3px solid transparent;background:none;padding:12px 3px;color:var(--muted);white-space:nowrap}.tabs button.active{border-color:var(--wine);color:var(--wine);font-weight:700}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:28px 0}.panel-head h2{font-size:30px;margin:0}.empty{border:1px dashed #9d9167;text-align:center;padding:50px 20px;background:#fffdf7;border-radius:5px}.empty h3{margin-top:0}.cards{display:grid;gap:14px}.entry{padding:22px;background:white;border:1px solid var(--line);border-radius:5px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.entry h3{margin:0 0 7px;font-size:24px}.entry p{margin:4px 0;white-space:pre-line;overflow-wrap:anywhere}.entry .meta{font-size:14px;color:var(--muted)}.entry-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.badge{display:inline-block;font-size:12px;background:#e8d1a7;color:var(--wine);padding:3px 9px;border-radius:3px;margin-right:8px}.entry input[type=checkbox]{width:22px;min-height:22px;accent-color:var(--wine)}.done h3{text-decoration:line-through;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.full{grid-column:1/-1}.settings{max-width:800px}.settings h3{margin-top:30px}.settings .button{margin-top:24px}dialog{border:1px solid var(--line);border-radius:8px;padding:28px;max-width:610px;width:calc(100% - 32px);max-height:90vh;box-shadow:0 20px 90px #442d1c33;background:var(--paper)}dialog::backdrop{background:#442d1cc0}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{font-size:32px;margin:0}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:20px}.danger{color:#a12834}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--wine);color:white;padding:12px 24px;border-radius:6px;box-shadow:0 4px 25px #0002;z-index:20;display:none}#toast.visible{display:block}[hidden]{display:none!important}@media(max-width:760px){.site-header{padding:17px 5%}nav{gap:16px;font-size:13px}.nav-private{padding-left:0;border:0}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 8%}.hero h1{font-size:96px}.hero-art{min-height:330px;max-height:400px}.hero-art img{object-position:center 48%}.celebration{padding:60px 7%}h2{font-size:36px}.detail-grid{grid-template-columns:1fr;margin-top:35px}.detail-grid article,.detail-grid article:first-child{padding:25px 0;border:0;border-top:1px solid var(--line)}.dad-note{grid-template-columns:1fr;gap:16px;margin-bottom:50px;padding-top:35px}.travel{grid-template-columns:1fr;gap:15px}.travel h2{font-size:32px}footer{flex-wrap:wrap}footer p{margin:0}.stats{grid-template-columns:1fr 1fr}.stat{border-bottom:1px solid var(--line)}.stat:nth-child(2){border-right:0}.stat:nth-child(3){border-bottom:0}.workspace{padding:28px 5%}.workspace h1{font-size:36px}.workspace-top{align-items:flex-start;flex-direction:column}.entry{padding:17px;flex-wrap:wrap}.entry-actions{margin-left:auto}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.login h1{font-size:42px}.panel-head{gap:12px}.panel-head .button{gap:8px;padding:10px 13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:760px){.hero h1{font-size:clamp(64px,20vw,96px);letter-spacing:-3px}.site-header{flex-wrap:wrap}nav{flex-wrap:wrap}.dad-note #dad-letter{white-space:pre-line}.stat{padding:17px}.stat strong{font-size:26px}}

/* The couple’s autumn palette and portrait. */
:root{--cocoa:#442d1c;--olive:#9d9167;--caramel:#84592b;--golden:#e8d1a7}
.hero{background:var(--cocoa)}.hero-art{background:var(--cocoa)}.hero-art img{object-fit:cover;object-position:center 37%}.hero .button.cream{background:var(--golden);border-color:var(--golden);color:var(--cocoa)}.dad-note{border-top:3px solid var(--olive)}.photo-caption{color:#fff8e9;background:linear-gradient(transparent,#442d1c99);bottom:0;padding:40px 12px 24px}.badge{border-left:3px solid var(--olive)}
@media(max-width:760px){.hero-art{min-height:0;max-height:none;aspect-ratio:720 / 1040}.hero-art img{object-position:center 35%}}
.tabs{flex-wrap:wrap;gap:4px 22px;overflow-x:visible}.guest-summary{display:flex;flex-wrap:wrap;gap:12px 25px;padding:18px 0 28px}.guest-summary strong{color:var(--wine)}.budget-form{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.budget-form input{max-width:280px}.budget-form .error{flex-basis:100%}.settings #password-form{max-width:520px}

.excel-download{max-width:310px}.excel-download p{margin:6px 0}.excel-download .button{white-space:nowrap}
