@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Great+Vibes&family=Manrope:wght@400;600;700;800&display=swap";:root{--paper:#fff;--paper-warm:#ebe3dd;--ink:#393532;--soft-ink:#746f6a;--muted:#7f7772;--wine:#81333c;--display:"Cormorant Garamond", Georgia, serif;--script:"Great Vibes", "Cormorant Garamond", cursive;--sans:"Manrope", "Segoe UI", system-ui, sans-serif;color:var(--ink);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#b9b2ad;font-size:17px}@media screen and (width<=576px){:root{background:#fff}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input{font:inherit}img{max-width:100%}::selection{background:#5b242b2e}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app{background:radial-gradient(circle at 20% 0,#ffffffc2,#0000 32%),linear-gradient(135deg,#d6d1cd,#918e8c 42%,#c9c2bd);min-height:100svh;padding:28px 0}@media screen and (width<=576px){.app{background:#fff}}.invite{background:var(--paper);width:min(100%,430px);margin:0 auto;overflow:hidden;box-shadow:0 34px 110px #24211f47}.section{padding:56px 24px}.section>p{color:#716b67;font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;margin:22px 0 0;font-size:1.18rem;font-weight:500;line-height:1.22}@media (width<=460px){.app{padding:0}.invite{width:100%;min-height:100svh;box-shadow:none}}@media (width<=576px){.invite{border-radius:0}}.invite{border-radius:28px}.section-heading{width:max-content;max-width:100%;margin:0 auto;position:relative}.section-heading p{z-index:1;color:#7f7772;font-family:var(--script);white-space:nowrap;margin:0;font-size:2rem;font-weight:400;line-height:1;position:absolute;top:-25px;right:-24px}.section-heading h2{color:var(--ink);font-family:var(--display);letter-spacing:0;margin:0;font-size:52px;font-weight:400;line-height:1}.contacts-section{padding-bottom:48px}.contacts-section>div{padding:42px 24px 0}.contacts-section__description{color:#716b67;font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;text-align:center;font-size:1.18rem;font-weight:500;line-height:1.22}.contacts-section__contact{width:fit-content;color:var(--ink);letter-spacing:.08em;text-transform:uppercase;border:1px solid #3935322e;margin:22px auto 0;padding:13px 18px;font-size:.74rem;font-weight:800;display:flex;box-shadow:0 12px 28px #39353229}.contacts-section a.contacts-section__contact{text-decoration:none}.details-section{padding-top:44px}.details-section .details-description{text-align:center}.details-section .accordion{border-top:1px solid #39353224;margin-top:28px}.details-section .accordion__item{border-bottom:1px solid #39353224}.details-section .accordion button{width:100%;color:var(--ink);cursor:pointer;font:inherit;letter-spacing:.08em;text-align:left;text-transform:uppercase;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;font-size:.84rem;font-weight:800;display:flex}.details-section .accordion__panel{overflow:hidden}.details-section .accordion__panel p{margin:0;padding:0 20px 18px 0;font-size:16px}.details-section .accordion-hint{color:#3935328f;letter-spacing:.08em;text-align:center;text-transform:uppercase;margin:16px 0 0;font-size:.76rem;font-weight:700}.footer{background:var(--paper);color:var(--ink);text-align:center}.footer__content{padding:34px 24px 18px}.footer__title{color:#4f4946;font-family:var(--script);margin:0;font-size:2.75rem;font-weight:400;line-height:1}.footer__signature{color:var(--ink);font-family:var(--display);letter-spacing:.02em;margin:28px 0 0;font-size:25px;font-weight:600;line-height:1.18}.footer__photo{object-fit:cover;object-position:center 38%;width:100%;height:clamp(340px,112vw,370px);display:block}.footer-countdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.footer-countdown__item{justify-items:center;gap:4px;min-width:0;display:grid;position:relative}.footer-countdown__item:not(:last-child):after{content:":";color:var(--ink);font-family:var(--display);font-size:1.72rem;font-weight:500;line-height:1;position:absolute;top:-1px;right:-9px}.footer-countdown__item strong{color:var(--ink);font-family:var(--display);font-variant-numeric:tabular-nums;font-size:1.86rem;font-weight:500;line-height:1}.footer-countdown__item span{color:#3935328a;font-family:var(--display);letter-spacing:.03em;text-transform:uppercase;font-size:.58rem;font-weight:500;line-height:1}@media (width<=360px){.footer__content{padding-inline:18px}.footer__title{font-size:2.42rem}.footer-countdown{gap:8px}.footer-countdown__item:not(:last-child):after{font-size:1.5rem;right:-6px}.footer-countdown__item strong{font-size:1.62rem}.footer-countdown__item span{font-size:.52rem}}.hero-screen{min-height:auto;color:var(--ink);background:#fff;padding:25px 18px;position:relative}.hero-screen .hero-paper{width:100%;max-width:390px;margin:0 auto}.hero-screen .hero-topline{grid-template-columns:minmax(0,1fr) 55px;align-items:start;gap:14px;display:grid}.hero-screen .handwritten{color:#56504d;max-width:150px;font-family:var(--script);text-align:center;margin:0;font-size:25px;line-height:1}.hero-screen .sound-prompt{color:var(--ink);cursor:pointer;font:inherit;text-transform:uppercase;background:0 0;border:0;justify-items:center;gap:3px;min-height:53px;padding:0;display:grid}.hero-screen .sound-prompt span{max-width:70px;font-family:var(--display);letter-spacing:.04em;text-align:center;font-size:.72rem;font-weight:500;line-height:1.05}.hero-screen .childhood-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.hero-screen .childhood-grid img{aspect-ratio:1;object-fit:cover;filter:saturate(.95)contrast(.98);border:1px solid #39353214;width:100%;display:block}.hero-screen .promise-line{width:fit-content;margin:20px 18px 0 auto;font-size:25px}.hero-screen .mini-calendar{text-align:center;margin-top:30px}.hero-screen .mini-calendar h1{color:#66605d;font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:2.15rem;font-weight:500;line-height:1}.hero-screen .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:18px;display:grid}.hero-screen .calendar-cell{color:#6a6461;min-width:0;font-family:var(--display);justify-items:center;gap:6px;display:grid}.hero-screen .calendar-cell span{text-transform:uppercase;font-size:1.5rem;font-weight:500}.hero-screen .calendar-cell strong{place-items:center;width:46px;height:42px;font-size:1.55rem;font-weight:400;line-height:1;display:grid;position:relative}.hero-screen .calendar-cell strong svg{fill:none;width:55px;height:55px;stroke:var(--wine);stroke-linecap:round;stroke-linejoin:round;stroke-width:5px;position:absolute;top:-1px;left:-4px}.hero-screen .calendar-cell .is-wedding-day{color:var(--wine)}.hero-screen .calendar-date{z-index:1;position:relative}.hero-screen .script-title{color:var(--ink);font-family:var(--script);text-align:center;margin:36px 0 0;font-size:3.05rem;font-weight:400;line-height:1}.hero-screen .header-copy{color:#716b67;max-width:340px;font-family:var(--display);letter-spacing:.02em;text-align:center;text-transform:uppercase;margin:20px auto 0;font-size:1.18rem;font-weight:500;line-height:1.22}.location{text-align:center;padding-top:22px;padding-bottom:22px}.location .section-heading h2{color:#1f1f1f;letter-spacing:-.03em;line-height:.82}.location .location-address{color:#716b67;width:100%;font-family:var(--display);font-feature-settings:"lnum" 1;font-variant-numeric:lining-nums;letter-spacing:.02em;text-transform:uppercase;margin:30px auto 0;font-size:20px;font-weight:500;line-height:1.18}.location .location-passport-note{color:#1f1f1f;width:100%;font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;margin:16px auto 0;font-size:1rem;font-weight:800;line-height:1.18}.location .location-map-image{object-fit:cover;width:calc(100% + 60px);max-width:none;height:242px;margin:28px -30px 0;display:block}.location .location-map-link{min-height:42px;color:var(--ink);font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;border:1px solid #39353275;justify-content:center;align-items:center;margin-top:22px;padding:0 22px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 12px 28px #39353229}.media-section{padding-bottom:48px}.media-section>div{padding:42px 24px 0}.media-section__description{color:#716b67;font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;font-size:1.18rem;font-weight:500;line-height:1.22}.media-section a{width:fit-content;color:var(--ink);letter-spacing:.08em;text-transform:uppercase;border:1px solid #3935322e;margin:22px auto 0;padding:13px 18px;font-size:.74rem;font-weight:800;text-decoration:none;display:flex;box-shadow:0 12px 28px #39353229}.rsvp{padding-top:18px;padding-bottom:66px}.rsvp .rsvp-form{gap:24px;margin-top:32px;display:grid}.rsvp .rsvp-form label,.rsvp .rsvp-form legend{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:800;line-height:1.18}.rsvp .rsvp-form>label,.rsvp .rsvp-form .guest-field{gap:12px;display:grid}.rsvp .rsvp-form .guest-field__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.rsvp .rsvp-form .guest-field input{font-weight:800}.rsvp .rsvp-form input{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;border-bottom:1px solid #39353238;border-radius:0;outline:none;margin:0;padding:10px 0 13px;font-size:.88rem;line-height:1.25;display:block}.rsvp .rsvp-form input::placeholder{color:#3935327a;font-weight:600}.rsvp .rsvp-form input:focus{border-bottom-color:var(--wine)}.rsvp .rsvp-form input[aria-invalid=true]{border-bottom-color:#a93e44}.rsvp .rsvp-form input[type=radio],.rsvp .rsvp-form input[type=checkbox]{width:20px;height:20px;accent-color:var(--wine);flex:none;margin:0;padding:0;display:inline-block}.rsvp .rsvp-form fieldset{border:0;gap:12px;margin:0;padding:0;display:grid}.rsvp .rsvp-form fieldset legend{margin-bottom:22px}.rsvp .rsvp-form fieldset label{color:var(--muted);letter-spacing:0;text-transform:none;align-items:center;gap:12px;font-size:.9rem;font-weight:700;line-height:1.15;display:flex}.rsvp .rsvp-form button{background:var(--ink);color:#fff;cursor:pointer;width:100%;min-height:52px;font:inherit;letter-spacing:.08em;text-transform:uppercase;border:0;border-radius:6px;justify-content:center;align-items:center;gap:9px;margin-top:8px;font-size:.76rem;font-weight:800;transition:background .2s,transform .2s;display:inline-flex}.rsvp .rsvp-form button[type=submit]{box-shadow:0 14px 32px #3935323d}.rsvp .rsvp-form button:disabled{cursor:wait;opacity:.68;transform:none}.rsvp .rsvp-form .guest-add-button{width:fit-content;min-height:36px;color:var(--ink);background:0 0;border:1px solid #39353238;border-radius:6px;margin-top:-10px;padding:0 12px;font-size:.72rem}.rsvp .rsvp-form .guest-remove-button{width:28px;min-height:28px;color:var(--muted);box-shadow:none;background:0 0;border:1px solid #3935322e;border-radius:6px;flex:none;margin:-5px 0;padding:0}.rsvp .form-error{color:#a93e44;margin:-8px 0 0;font-size:.78rem}.rsvp .success{text-align:center;align-content:center;place-items:center;gap:13px;min-height:360px;display:grid}.rsvp .success span{width:58px;height:58px;color:var(--wine);background:#5b242b1a;border-radius:999px;place-items:center;display:grid}.rsvp .success p{color:#716b67;font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;font-size:1.18rem;font-weight:500;line-height:1.22}.rsvp .success h3{color:var(--ink);font-family:var(--script);margin:0;font-size:3.05rem;font-weight:400;line-height:1}.rsvp .success button{background:var(--ink);color:#fff;cursor:pointer;width:100%;min-height:52px;font:inherit;letter-spacing:.08em;text-transform:uppercase;border:0;border-radius:6px;justify-content:center;align-items:center;gap:9px;padding:0 18px;font-size:.76rem;font-weight:800;transition:background .2s,transform .2s;display:inline-flex}.success-title{font-size:90px}.timing{background:var(--paper);padding:22px 30px;position:relative;overflow:hidden}.timing .timing-layout{grid-template-columns:126px minmax(0,1fr);align-items:start;gap:16px;margin-top:20px;display:grid;position:relative}.timing .timeline-list{z-index:2;gap:22px;margin-top:20px;display:grid;position:relative}.timing .timeline-list article{gap:5px;display:grid}.timing .timeline-list time{color:var(--ink);font-family:var(--display);font-size:2.05rem;font-weight:500;line-height:.9}.timing .timeline-list h3{color:#5f5a56;font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:1rem;font-weight:700;line-height:1}.timing .champagne-tower-frame{width:min(100%,226px);overflow:hidden}.timing .champagne-tower{mix-blend-mode:multiply;width:330px;max-width:none;display:block;position:relative;left:50%;transform:translate(-50%)}@media (width<=370px){.timing{padding-left:22px;padding-right:22px}.timing .section-heading p{font-size:1.7rem;top:-24px}.timing .section-heading h2{font-size:2.8rem}.timing .timing-layout{grid-template-columns:104px minmax(0,1fr);gap:8px;margin-top:48px}.timing .timeline-list time{font-size:1.78rem}.timing .timeline-list h3{font-size:.86rem}.timing .champagne-tower-frame{width:196px;height:306px;margin-top:-34px;margin-right:-22px}.timing .champagne-tower{width:344px}}.scroll-progress{z-index:20;background:var(--wine);transform-origin:0;width:100%;height:3px;position:fixed;top:0;left:0}
