@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/224e262ef877bfa4-s.2yhdohbnxjaph.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/7f11d98043fdedc9-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1tzxx-40rxw3x.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.3aj86x1l4-kru.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.1d8-5gtibtj96.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.nunito_6508eb40-module__HFBzjG__className{font-family:Nunito,Nunito Fallback;font-style:normal}.nunito_6508eb40-module__HFBzjG__variable{--font-sans:"Nunito", "Nunito Fallback"}
@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/da4b870ab52b3094-s.2uxt0u9yugpfw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/86d70b7c76b6ec6e-s.2zeei6axiu3qn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/11cc37d7380d16b4-s.27211fhlic14m.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a85fe84266768609-s.p.00hx3ibfyf9qx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/da4b870ab52b3094-s.2uxt0u9yugpfw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/86d70b7c76b6ec6e-s.2zeei6axiu3qn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/11cc37d7380d16b4-s.27211fhlic14m.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a85fe84266768609-s.p.00hx3ibfyf9qx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/da4b870ab52b3094-s.2uxt0u9yugpfw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/86d70b7c76b6ec6e-s.2zeei6axiu3qn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/11cc37d7380d16b4-s.27211fhlic14m.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a85fe84266768609-s.p.00hx3ibfyf9qx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/da4b870ab52b3094-s.2uxt0u9yugpfw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/86d70b7c76b6ec6e-s.2zeei6axiu3qn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/11cc37d7380d16b4-s.27211fhlic14m.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a85fe84266768609-s.p.00hx3ibfyf9qx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat Fallback;src:local(Arial);ascent-override:124.77%;descent-override:38.99%;line-gap-override:0.0%;size-adjust:76.94%}.caveat_aac3010c-module__8UP2LG__className{font-family:Caveat,Caveat Fallback;font-style:normal}.caveat_aac3010c-module__8UP2LG__variable{--font-doodle:"Caveat", "Caveat Fallback"}
:root{--paper:#fff;--paper-dark:#f5f0e8;--ink:#1a1510;--ink-soft:#4a3f30;--muted:#7a6e5e;--gold:#c49a4a;--gold-light:#e8d5a0;--line:#d5c9b0;--red:#b94040;--green:#2d7a3b;--doodle:var(--font-doodle), "Caveat", cursive;--sans:var(--font-sans), "Nunito", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}html,body{min-height:100%;margin:0;padding:0}body{font-family:var(--sans);color:var(--ink);background:#fff;font-size:16px;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:var(--ink);text-decoration:none}a:hover{text-decoration:underline}.access-page{background:0 0;justify-content:center;align-items:center;min-height:100dvh;padding:32px 20px;display:flex}.access-card{text-align:center;background:var(--paper);border:2px solid var(--ink);border-radius:255px 15px 225px/15px 225px 15px 255px;width:100%;max-width:400px;padding:48px 32px 40px;box-shadow:5px 5px #1a151024}.access-eyebrow{font-family:var(--doodle);color:var(--muted);margin-bottom:6px;font-size:20px}.access-title{font-family:var(--doodle);margin:0 0 10px;font-size:52px;font-weight:700;line-height:1.05}.access-subtitle{color:var(--ink-soft);margin:0 0 28px;font-size:14px}.access-form{flex-direction:column;gap:12px;display:flex}.access-input{width:100%;font-size:18px;font-family:var(--sans);letter-spacing:.12em;text-align:center;text-transform:uppercase;color:var(--ink);background:var(--paper-dark);border:1.5px solid var(--ink);border-radius:8px;outline:none;padding:12px 16px;transition:box-shadow .15s}.access-input:focus{box-shadow:3px 3px 0 var(--ink)}.access-error{color:var(--red);min-height:18px;font-size:14px}.btn{font-family:var(--doodle);border:2px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;box-shadow:3px 3px 0 var(--gold);border-radius:255px 15px 225px/15px 225px 15px 255px;justify-content:center;align-items:center;padding:11px 28px;font-size:20px;text-decoration:none;transition:box-shadow .12s,transform 80ms;display:inline-flex}.btn:hover{box-shadow:5px 5px 0 var(--gold);color:var(--paper);text-decoration:none;transform:translate(-1px,-1px)}.btn:active{box-shadow:1px 1px 0 var(--gold);transform:translate(1px,1px)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:3px 3px 0 var(--gold);transform:none}.btn-ghost{color:var(--ink);box-shadow:3px 3px 0 var(--line);background:0 0}.btn-ghost:hover{box-shadow:5px 5px 0 var(--line);color:var(--ink)}.wedding-shell{background:0 0;min-height:100vh}.site-nav{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1.5px solid var(--ink);background:#ffffffed;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0}.site-nav .brand{font-family:var(--doodle);color:var(--ink);font-size:24px}.site-nav .brand:hover{text-decoration:none}.site-nav .links{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.site-nav .links a{font-family:var(--doodle);color:var(--ink-soft);font-size:19px;transition:color .15s}.site-nav .links a:hover{color:var(--ink);text-underline-offset:4px;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}@media (max-width:560px){.site-nav{padding:10px 16px}.site-nav .brand{font-size:19px}.site-nav .links{gap:14px}.site-nav .links a{font-size:16px}}.section{max-width:860px;margin:0 auto;padding:80px 20px}@media (max-width:560px){.section{padding:56px 20px}}.eyebrow{font-family:var(--doodle);color:var(--muted);text-align:center;margin-bottom:4px;font-size:20px;display:block;transform:rotate(-1deg)}.section-title{font-family:var(--doodle);text-align:center;-webkit-text-decoration:underline wavy;text-decoration:underline wavy;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:6px;margin:0 0 24px;font-size:clamp(34px,7vw,58px);font-weight:700;line-height:1.1;text-decoration-thickness:2px}.section-body{color:var(--ink-soft);text-align:center;max-width:600px;margin:0 auto;font-size:16px}.hero{text-align:center;justify-content:center;align-items:center;min-height:94dvh;display:flex;position:relative;overflow:hidden}.hero-bg{background-position:50%;background-size:cover;background-color:var(--paper-dark);position:absolute;inset:0}.hero-overlay{background:#ffffffc7;position:absolute;inset:0}.hero-content{z-index:2;max-width:760px;color:var(--ink);padding:40px 24px;position:relative}.hero-eyebrow{font-family:var(--doodle);color:var(--muted);margin-bottom:8px;font-size:22px;display:block;transform:rotate(-1.5deg)}.hero-names{font-family:var(--doodle);color:var(--ink);margin:0 0 14px;font-size:clamp(56px,13vw,120px);font-weight:700;line-height:1}.hero-date{font-family:var(--doodle);color:var(--ink-soft);font-size:22px}.countdown{flex-wrap:wrap;justify-content:center;gap:24px;margin-top:28px;display:flex}.countdown-unit{text-align:center;min-width:60px}.countdown-number{font-family:var(--doodle);color:var(--ink);font-size:46px;font-weight:700;line-height:1}.countdown-label{font-family:var(--doodle);color:var(--muted);margin-top:4px;font-size:16px}.doodle-divider{background:repeating-linear-gradient(90deg, var(--ink) 0, var(--ink) 4px, transparent 4px, transparent 8px);opacity:.3;width:80px;height:2px;margin:0 auto 32px;display:block}.info-grid{grid-template-columns:repeat(2,1fr);gap:24px;max-width:860px;margin:0 auto;display:grid}@media (max-width:640px){.info-grid{grid-template-columns:1fr;gap:20px}}.info-card{background:var(--paper-dark);border:2px solid var(--ink);text-align:center;border-radius:255px 15px 225px/15px 225px 15px 255px;padding:28px 24px;transform:rotate(-.6deg);box-shadow:4px 4px #1a15101a}.info-card:nth-child(2n){transform:rotate(.6deg)}.info-card h3{font-family:var(--doodle);margin:0 0 6px;font-size:28px;font-weight:700}.info-card .meta{font-family:var(--doodle);color:var(--muted);margin-bottom:10px;font-size:16px}.info-card p{color:var(--ink-soft);margin:4px 0;font-size:14px}.map-link{margin-top:12px;display:inline-block}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:16px;max-width:860px;margin:0 auto;display:grid}@media (max-width:560px){.gallery-grid{grid-template-columns:1fr}}.gallery-grid img{object-fit:cover;aspect-ratio:4/3;border:2px solid var(--ink);border-radius:4px;width:100%;height:100%;transition:transform .2s;box-shadow:4px 4px #1a15101a}.gallery-grid img:nth-child(odd){transform:rotate(-1.2deg)}.gallery-grid img:nth-child(2n){transform:rotate(.8deg)}.gallery-grid img:hover{transform:rotate(0)scale(1.02)}.rsvp-card{background:var(--paper-dark);border:2px solid var(--ink);text-align:center;border-radius:255px 15px 225px/15px 225px 15px 255px;max-width:520px;margin:0 auto;padding:36px 28px;box-shadow:5px 5px #1a15101a}.rsvp-household{font-family:var(--doodle);margin:0 0 4px;font-size:36px;font-weight:700}.rsvp-reserved{color:var(--ink-soft);margin:0 0 20px;font-size:15px}.rsvp-status-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:20px;display:flex}.rsvp-option{border:2px solid var(--line);background:var(--paper);cursor:pointer;font-family:var(--doodle);color:var(--ink);border-radius:255px 15px 225px/15px 225px 15px 255px;flex:140px;padding:11px 16px;font-size:18px;transition:border-color .15s,box-shadow .15s}.rsvp-option.selected{border-color:var(--ink);box-shadow:3px 3px 0 var(--ink)}.rsvp-guest-list,.rsvp-plusone-list{text-align:left;flex-direction:column;gap:8px;margin:0 0 16px;display:flex}.rsvp-guest{border:1.5px solid var(--ink);background:var(--paper);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.rsvp-guest .name{font-family:var(--doodle);font-size:18px}.rsvp-checkbox{width:20px;height:20px;accent-color:var(--ink)}.text-input,.textarea{width:100%;font-family:var(--sans);color:var(--ink);background:var(--paper);border:1.5px solid var(--ink);border-radius:6px;outline:none;padding:10px 14px;font-size:15px;transition:box-shadow .12s}.text-input:focus,.textarea:focus{box-shadow:2px 2px 0 var(--ink)}.textarea{resize:vertical;min-height:80px}.field-label{text-align:left;font-family:var(--doodle);color:var(--muted);margin:0 0 4px;font-size:17px;display:block}.rsvp-success{font-family:var(--doodle);min-height:18px;margin-top:12px;font-size:18px}.rsvp-section-label{font-family:var(--doodle);text-align:left;margin:16px 0 8px;font-size:22px}.site-footer{text-align:center;color:var(--muted);font-family:var(--doodle);border-top:2px dashed var(--line);padding:40px 20px 60px;font-size:20px}.info-grid--single{grid-template-columns:1fr;max-width:460px}.info-card--wide{transform:rotate(-.4deg)}.event-timeline{flex-direction:column;margin-top:18px;display:flex}.event-timeline-item{padding:14px 0}.event-timeline-item .event-title{font-family:var(--doodle);margin-bottom:2px;font-size:22px;font-weight:700}.event-timeline-item p{color:var(--ink-soft);margin:4px 0;font-size:14px}.event-timeline-divider{background:repeating-linear-gradient(90deg, var(--ink) 0, var(--ink) 4px, transparent 4px, transparent 8px);opacity:.25;width:48px;height:2px;margin:0 auto}.dress-colors{flex-wrap:wrap;justify-content:center;gap:28px;margin-top:28px;display:flex}.dress-color-swatch{flex-direction:column;align-items:center;gap:8px;display:flex}.dress-color-circle{border:2.5px solid var(--ink);border-radius:60% 40% 55% 45%/45% 55% 40% 60%;width:68px;height:68px;transition:transform .2s;transform:rotate(-4deg);box-shadow:3px 3px #1a15101f}.dress-color-swatch:nth-child(2n) .dress-color-circle{border-radius:40% 60% 45% 55%/55% 45% 60% 40%;transform:rotate(3deg)}.dress-color-swatch:nth-child(3n) .dress-color-circle{border-radius:50% 50% 40% 60%/60% 40% 50% 50%;transform:rotate(-2deg)}.dress-color-swatch:nth-child(4n) .dress-color-circle{border-radius:45% 55% 60% 40%/40% 60% 55% 45%;transform:rotate(5deg)}.dress-color-swatch:hover .dress-color-circle{transform:rotate(0)scale(1.1)}.dress-color-label{font-family:var(--doodle);color:var(--muted);text-align:center;max-width:72px;font-size:15px}.fade-in{animation:.7s both fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
