@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--cream:#f4f0e5;--paper:#fffcf5;--ink:#204f68;--muted:#5d6e72;--line:#c9cec3;--yellow:#edcf6d;--green:#cee1d1;--green-ink:#205647;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}button,select{-webkit-tap-highlight-color:transparent;font:inherit;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.52}button:focus-visible,select:focus-visible{outline:3px solid #197aa2;outline-offset:5px}button:hover:not(:disabled){filter:brightness(.96)}[hidden]{display:none!important}.shell{width:min(1280px,calc(100% - 96px));margin-inline:auto}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:600;margin:0}.title-lockup{text-align:center;padding:54px 0 32px}h1{font-family:var(--serif);font-weight:400;font-size:clamp(66px,7.8vw,116px);letter-spacing:-3px;line-height:1.03;margin:14px 0 0}h1:focus{outline:none}h1 em{font-weight:400;white-space:nowrap}.title-second-line{white-space:nowrap}.hero-photo{position:relative;margin:0}.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:2.36;object-fit:cover}.stamp{position:absolute;bottom:-25px;right:35px;display:flex;align-items:center;justify-content:center;flex-direction:column;width:126px;height:126px;border-radius:50%;background:var(--yellow);outline:1px solid var(--ink);outline-offset:-8px;transform:rotate(10deg);color:var(--ink)}.stamp span{font-size:8px;letter-spacing:1px;white-space:nowrap}.stamp strong{font:45px/.95 var(--serif);margin:7px 0}.stamp .stamp-bottom{font-size:7px;letter-spacing:.65px}.availability{padding:78px 0 70px;max-width:600px}h2{font:400 54px/1.04 var(--serif);letter-spacing:-.8px;margin:0 0 30px;text-align:center}h2 em{font-weight:400;white-space:nowrap}.couple-field{position:relative;margin-bottom:18px}.couple-field select{display:block;width:100%;min-height:57px;appearance:none;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink);padding:16px 45px 16px 20px;font-size:16px;cursor:pointer}.couple-field svg{position:absolute;right:18px;top:20px;width:18px;height:18px;pointer-events:none}.calendar-panel{background:var(--paper);padding:28px;border:1px solid var(--line);box-shadow:5px 5px 0 #e6e5d9}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}h3{font:400 36px var(--serif);margin:0}.calendar-heading h3 em{font-weight:400;color:var(--muted)}.calendar-icon{font-size:36px;line-height:1;color:#b99736}.direction{font-size:13px;margin:0 0 24px;color:var(--muted)}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekdays{font-size:11px;text-align:center;margin-bottom:10px;color:var(--muted)}.day,.empty-day{aspect-ratio:1;min-width:0}.day{position:relative;border:1px solid #d9ddcf;background:var(--paper);color:var(--ink);border-radius:3px;font-size:17px;min-height:44px;display:flex;align-items:center;justify-content:center;transition:background .13s,transform .13s}.day:active{transform:scale(.94)}.day[aria-pressed="true"]{background:var(--green);border-color:#acc9b3;color:var(--green-ink)}.day-symbol{position:absolute;right:5px;bottom:1px;font-size:11px;line-height:1.4}.calendar-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px}.clear-button{border:0;background:transparent;color:var(--ink);padding:12px 0;font-size:13px;text-decoration:underline;text-underline-offset:4px}.submit-button{border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:var(--paper);padding:14px 38px;min-height:46px;font-size:14px;font-weight:500}.submit-error{border-left:3px solid #80524a;padding:12px;background:#eee0da;color:#80524a;font-size:12px;line-height:1.6;margin-top:15px}.confirmed main{padding-bottom:60px}
@media(max-width:1050px){.shell{width:calc(100% - 64px)}.availability{max-width:600px}}
@media(max-width:720px){.shell{width:calc(100% - 36px)}.title-lockup{padding:35px 0 25px}.eyebrow{font-size:10px;letter-spacing:1.7px}h1{font-size:clamp(55px,11vw,78px);letter-spacing:-1.5px;line-height:.97;margin:17px 0 0}.title-second-line{display:block}.hero-photo img{aspect-ratio:1.52;object-position:48% 50%}.stamp{width:96px;height:96px;right:13px;bottom:-20px;outline-offset:-6px}.stamp strong{font-size:34px;margin:5px 0}.stamp span{font-size:6.5px;letter-spacing:.8px}.stamp .stamp-bottom{font-size:5.7px;letter-spacing:.3px}.availability{padding:59px 0 40px}h2{font-size:43px;line-height:1.05;margin-bottom:24px}.couple-field{margin-bottom:14px}.couple-field select{min-height:54px;padding-left:16px}.calendar-panel{padding:22px 17px;box-shadow:4px 4px 0 #e6e5d9}.calendar-heading{margin-bottom:14px}h3{font-size:34px}.direction{font-size:12px;margin-bottom:22px}.weekdays,.calendar-grid{gap:5px}.weekdays{font-size:10px}.day{font-size:15px}.day-symbol{right:3px;font-size:9px}.calendar-actions{margin-top:20px}.submit-button{padding:13px 32px}.confirmed main{padding-bottom:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
