:root{--paper:#fffdfa;--paper-deep:#f6f1ea;--ink:#5a463c;--ink-deep:#45342c;--ink-soft:#8b7a70;--rule:#cdd6cf;--blush:#f1c6d0;--butter:#f4d78c;--sky:#bfd0ee;--error:#b5584f;--font-serif:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;--font-script:"Pinyon Script","Snell Roundhand","Apple Chancery","URW Chancery L",cursive;color-scheme:light}*,:after,:before{box-sizing:border-box}html{height:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;min-height:100%;background:var(--paper-deep);color:var(--ink);font-family:var(--font-serif);font-size:1.0625rem;line-height:1.5;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.site{max-width:560px;margin-inline:auto;background:var(--paper);min-height:100vh;min-height:100svh}@media (min-width:600px){.site{box-shadow:0 0 0 1px rgba(90,70,60,.07),0 30px 60px -40px rgba(90,70,60,.35)}}.gutter{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.page{display:flex;flex-direction:column}.page-photo{min-height:100vh;min-height:100svh;padding-top:env(safe-area-inset-top,0)}.photo{margin:0}.photo img{width:100%;height:auto;max-height:calc(100svh - 13rem);object-fit:contain;object-position:center top}.countdown{display:flex;flex-direction:column;align-items:center;text-align:center;padding-block:1.1rem .4rem}.script-line{font-family:var(--font-script);font-weight:400;font-size:1.85rem;line-height:1.15;margin:0;color:var(--ink)}.cd-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:420px;margin-top:.55rem}.cd-unit{display:flex;flex-direction:column;align-items:center;padding-block:.2rem;border-left:1px solid var(--rule);min-width:0}.cd-unit:first-child{border-left:0}.cd-num{font-size:clamp(2rem,9vw,2.6rem);font-weight:500;line-height:1.1;letter-spacing:.02em;font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums}.cd-label{font-size:.66rem;letter-spacing:.22em;margin-top:.2rem}.cd-label,.cd-when{text-transform:uppercase;color:var(--ink-soft)}.cd-when{font-size:.72rem;letter-spacing:.18em;margin:.65rem 0 0}.cd-after{margin-top:.5rem}.cue{margin-top:auto;align-self:center;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.9rem 1rem 1.2rem;color:var(--ink-soft);text-decoration:none;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase}.cue:hover{color:var(--ink)}.cue svg{width:20px;height:20px;animation:float 2.4s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.invite{margin:0}.invite img{width:100%;height:auto}.actions{display:flex;flex-direction:column;align-items:stretch;gap:1rem;padding-block:.25rem 1.75rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;font:inherit;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:.75rem 1.5rem .75rem calc(1.5rem + .32em);border-radius:4px;letter-spacing:.32em;text-transform:uppercase;font-weight:600;font-size:1rem;transition:background-color .15s ease,color .15s ease,transform .1s ease,opacity .15s ease}.btn:active{transform:scale(.985)}.btn:focus-visible{outline:3px solid var(--blush);outline-offset:3px}.btn:disabled{opacity:.55;cursor:default;transform:none}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover:not(:disabled){background:var(--ink-deep)}.btn-secondary{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);min-height:48px}.btn-secondary:hover:not(:disabled){background:rgba(90,70,60,.06)}.textlink{color:var(--ink);text-decoration:none;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.45rem;padding:.35rem 0 .2rem;border-bottom:1px solid var(--rule)}.textlink:hover{border-bottom-color:var(--ink)}.textlink:focus-visible{outline:2px solid var(--blush);outline-offset:4px}.link-row{align-items:center;gap:.8rem}.link-row,.rsvp{display:flex;flex-direction:column}.rsvp{gap:1.1rem;padding-block:1.5rem 2rem;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.rsvp-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem}.rsvp-title{margin:0;font-size:1.6rem;font-weight:500;line-height:1.1;letter-spacing:.32em;text-transform:uppercase;padding-left:.32em}.rsvp-head p{margin:0;color:var(--ink-soft);font-size:.95rem}form{gap:1.25rem}.field,form{display:flex;flex-direction:column}.field{gap:.35rem;min-width:0}.field>label,.field>legend{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);padding:0}.opt{text-transform:none;letter-spacing:.04em;font-style:italic}.input{font:inherit;font-size:1.0625rem;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink-soft);border-radius:0;padding:.5rem 0;width:100%;min-height:44px}.input::placeholder{color:#b3a69e}.input:focus{outline:none;border-bottom-color:var(--ink);box-shadow:0 1px 0 var(--ink)}.input[aria-invalid=true]{border-bottom-color:var(--error);box-shadow:0 1px 0 var(--error)}textarea.input{resize:vertical;min-height:56px;line-height:1.45}fieldset.field{border:0;margin:0;padding:0}.chips{display:grid;grid-template-columns:1fr 1fr;grid-gap:.6rem;gap:.6rem;margin-top:.2rem}.chip{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;padding:.5rem .6rem;border:1px solid var(--rule);border-radius:4px;cursor:pointer;font-size:1rem;line-height:1.25;transition:border-color .15s ease,background-color .15s ease}.chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.chip:hover{border-color:var(--ink-soft)}.chip.is-on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:rgba(241,198,208,.22)}.chip:has(input:focus-visible){outline:3px solid var(--blush);outline-offset:2px}.stepper{display:inline-flex;align-items:center;border:1px solid var(--rule);border-radius:4px;width:max-content;margin-top:.2rem}.stepper button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font:inherit;font-size:1.5rem;line-height:1;width:48px;height:48px;color:var(--ink);cursor:pointer;border-radius:4px}.stepper button:hover:not(:disabled){background:rgba(90,70,60,.06)}.stepper button:focus-visible{outline:3px solid var(--blush);outline-offset:-3px}.stepper button:disabled{color:#c9bfb8;cursor:default}.stepper output{min-width:3rem;text-align:center;font-size:1.3rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hint{margin:0;font-size:.9rem;color:var(--ink-soft);font-style:italic}.form-error{color:var(--error)}.form-error,.notice{margin:0;font-size:.95rem}.notice{padding:.75rem .9rem;border:1px solid var(--rule);border-radius:4px;background:rgba(244,215,140,.18)}.inline-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font:inherit;color:var(--ink);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.inline-link:focus-visible{outline:2px solid var(--blush);outline-offset:2px}.member{display:flex;flex-direction:column;gap:.4rem}.member-name{font-size:1.1rem;margin:0}.member .chips{margin-top:0}.extra-row{display:flex;gap:.5rem;align-items:center}.extra-row .input{flex:1 1}.row-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.8rem}.done p{margin:0}.summary{width:100%;border:1px solid var(--rule);border-radius:4px;padding:.8rem 1rem;text-align:left;font-size:.98rem;line-height:1.5;overflow-wrap:anywhere}.summary .cd-label{display:block;margin:0 0 .3rem}.link-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font:inherit;color:var(--ink-soft);cursor:pointer;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;padding:.5rem;margin-top:.2rem}.link-btn:hover{color:var(--ink)}.link-btn:focus-visible{outline:2px solid var(--blush);outline-offset:2px}footer{padding-block:1.25rem 2.25rem;padding-bottom:calc(2.25rem + env(safe-area-inset-bottom, 0px));flex-direction:column;gap:.25rem;text-align:center}.names,footer{display:flex;align-items:center}.names{justify-content:center;gap:.8rem;margin:0;width:100%;max-width:360px}.names:after,.names:before{content:"";flex:1 1;height:1px;background:var(--rule)}.names span{font-size:1rem;letter-spacing:.28em;text-transform:uppercase}.names em{font-family:var(--font-script);font-style:normal;font-size:1.6rem;line-height:1;color:var(--ink)}.foot-when{margin:0;letter-spacing:.18em;text-transform:uppercase}.credit,.foot-when{font-size:.72rem;color:var(--ink-soft)}.credit{margin:1.1rem 0 0;font-family:Montserrat,Proxima Nova,Helvetica Neue,Arial,sans-serif;font-weight:400;letter-spacing:.04em;line-height:1}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cue svg{animation:none}.btn,.chip{transition:none}}