@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap";:root{--ink: #283247;--muted: #5f6370;--blue: #9eb7c8;--blue-dark: #6f8ca1;--paper: #fffdf6;--wash: #e8f0f5;--line: rgba(111, 140, 161, .34);--rose: #dca7a5;--shadow: 0 24px 80px rgba(42, 51, 65, .14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:linear-gradient(90deg,rgba(232,240,245,.65),transparent 22%,transparent 78%,rgba(246,232,222,.72)),#fbfaf5;font-family:Montserrat,Arial,sans-serif}body:before,body:after{position:fixed;z-index:-1;width:34vw;height:100vh;top:0;content:"";opacity:.42;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(90deg,#000,transparent);mask-image:linear-gradient(90deg,#000,transparent)}body:before{left:0}body:after{right:0;transform:scaleX(-1)}img{display:block;max-width:100%}a{color:inherit}main{overflow:hidden}.hero{min-height:100svh;padding:22px clamp(18px,4vw,64px) 34px;background:linear-gradient(180deg,#141b2794,#141b2733 48%,#fbfaf5f5),url(/images/hero-with-names.png) center 45% / cover;color:#fff}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1180px;margin:0 auto}.brand{font-family:Playfair Display,Georgia,serif;font-size:clamp(24px,3vw,34px);font-weight:700;text-decoration:none;text-shadow:0 1px 14px rgba(0,0,0,.28)}.nav-links{display:flex;gap:6px;padding:6px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:#ffffff1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.nav-links a{padding:10px 14px;border-radius:999px;font-size:13px;font-weight:600;text-decoration:none}.nav-links a:hover{background:#fff3}.hero-grid{position:absolute;width:80%;align-items:end;min-height:calc(100svh - 88px);margin:0 auto;top:0}.hero-copy{position:relative;max-width:620px;padding-bottom:clamp(36px,6vw,76px)}.rings{position:absolute;left:190px;top:20px;width:150px;height:60px;margin:0;object-fit:cover;object-position:center;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}.eyebrow{margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}h1,h2,h3{margin:0;font-family:Playfair Display,Georgia,serif;color:var(--blue-dark);line-height:.94}.hero h1{max-width:520px;color:#fff;font-size:clamp(70px,9.4vw,118px);text-transform:uppercase;text-shadow:0 4px 22px rgba(0,0,0,.22)}.lead{max-width:430px;margin:26px 0 0;color:#ffffffe0;font-size:clamp(16px,2vw,20px);line-height:1.65}.hero-photo{align-self:center;width:min(360px,100%);margin:0 0 28px auto;padding:12px 12px 22px;border-radius:2px;background:#ffffffe6;box-shadow:0 30px 90px #00000042;transform:rotate(2deg)}.hero-photo img{aspect-ratio:.7;object-fit:cover;object-position:center 48%}.paper,.place,.note-section,.dress,.rsvp{width:min(100% - 32px,1080px);margin:0 auto}.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.8fr);align-items:center;gap:clamp(28px,6vw,72px)}.brush{position:absolute;top:0;right:8%;width:240px;height:70px;background:linear-gradient(135deg,#96bcce3d,#96bcce00);transform:skew(-18deg)}.section-heading h2,.place h2,.schedule h2,.note-section h2,.dress h2,.rsvp h2{font-size:clamp(42px,7vw,74px)}.section-heading p,.place p,.note-section p,.dress p,.rsvp p{margin:25px 0 0;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-size:clamp(20px,2.2vw,28px);line-height:1.15}.polaroids{display:flex;grid-column:1 / -1;justify-content:center;gap:clamp(8px,2vw,18px);margin:-12px 0 8px}.polaroids img{width:clamp(110px,16vw,150px);aspect-ratio:.78;padding:8px 8px 20px;background:#fff;object-fit:cover;box-shadow:0 14px 32px #28324724}.polaroids img:nth-child(1){transform:rotate(-8deg)}.polaroids img:nth-child(2){transform:rotate(1deg) translateY(-8px)}.polaroids img:nth-child(3){transform:rotate(8deg)}.calendar{align-self:end;justify-self:center;width:min(320px,100%);text-align:center}.calendar h3{font-size:clamp(36px,5vw,54px)}.calendar p{margin:12px 0 18px;font-family:Playfair Display,Georgia,serif;font-size:18px}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;color:var(--muted);font-size:12px}.days{margin-top:12px}.days span{display:grid;min-height:24px;place-items:center}.days .selected{min-height:34px;margin:-5px 0;border:0;background:url(/images/calendar-heart.png) center / 34px 34px no-repeat;font-weight:700}.place{display:grid;grid-template-columns:minmax(0,.84fr) minmax(300px,1fr);align-items:center;gap:clamp(28px,5vw,60px);padding:clamp(66px,9vw,118px) 0}.place-copy{padding:0 clamp(6px,3vw,38px)}.venue-img{width:100%;aspect-ratio:1.34;object-fit:cover;box-shadow:var(--shadow)}.map-link,.rsvp-form button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:28px;padding:0 22px;border:1px solid var(--blue-dark);border-radius:999px;background:var(--blue-dark);color:#fff;font-size:13px;font-weight:700;text-decoration:none}.schedule{min-height:720px;text-align:center}.schedule ol{display:grid;gap:8px;max-width:360px;margin:24px auto 0;padding:0;list-style:none}.schedule li{display:grid;justify-items:center;color:var(--ink)}.schedule time{margin-top:8px;color:var(--blue-dark);font-family:Playfair Display,Georgia,serif;font-size:34px;font-weight:700}.line-icon{width:120px;margin:2px 0;object-fit:contain}.schedule span{font-family:Playfair Display,Georgia,serif;font-size:22px}.note-section{min-height:620px;display:grid;place-items:center;padding:clamp(64px,10vw,120px) 0}.note-text{position:relative;width:min(620px,100%);padding:clamp(36px,6vw,70px);text-align:center}.note-text:before{position:absolute;content:"";width:calc(100% + 100px);inset:25px 0 0 -50px;background:url(/images/wishes-heart.png) center / cover no-repeat;pointer-events:none}.note-text>*{position:relative}.rsvp-copy{text-align:center}.dress{padding:clamp(64px,9vw,104px) 0;text-align:center}.dress p{width:min(520px,100%);margin-inline:auto}.swatches{display:grid;grid-template-columns:repeat(5,54px);justify-content:center;gap:16px;margin-top:34px}.swatches span{width:54px;aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 0 1px #2832470f}.rsvp{display:grid;grid-template-columns:minmax(0,.85fr) minmax(300px,1fr);gap:clamp(28px,5vw,66px);align-items:start;padding:clamp(68px,9vw,112px) 0}.countdown{display:grid;grid-auto-flow:column;grid-auto-columns:auto;align-items:baseline;gap:8px;width:max-content;margin-top:28px;color:var(--blue-dark);margin-inline:auto}.countdown-event{width:fit-content;margin:28px auto 0;color:var(--blue-dark);font-family:Playfair Display,Georgia,serif;font-size:clamp(22px,3vw,32px);line-height:1.25;text-align:center}.rsvp-result .countdown-event{margin-top:4px}.countdown strong{font-family:Playfair Display,Georgia,serif;font-size:56px}.countdown span{color:var(--muted);font-size:13px;font-weight:600;text-transform:uppercase}.rsvp-form{display:grid;padding:clamp(22px,4vw,34px);border:1px solid rgba(111,140,161,.2);border-radius:24px;background:#fffdf6e0;box-shadow:var(--shadow)}.questionnaire-intro{padding:4px 0 12px;text-align:center}.questionnaire-intro h3{margin:0;color:var(--blue-dark);font-size:clamp(32px,4vw,46px);line-height:1.05}.questionnaire-intro p,.questionnaire-thanks{margin:4px 0 0;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-size:18px;line-height:1.35}.questionnaire-thanks{padding:18px 20px;border-radius:16px;background:#8eaabe1f;text-align:center}.rsvp-result{align-content:center;min-height:360px;text-align:center}.rsvp-result-text{margin:0 auto;color:var(--muted);font-size:16px;line-height:1.55}.rsvp-result .countdown{margin:4px auto 0}.questionnaire-details{display:grid;transform-origin:top center;animation:questionnaire-slide-in .42s cubic-bezier(.22,1,.36,1) both}@keyframes questionnaire-slide-in{0%{opacity:0;transform:translateY(-24px) scaleY(.97)}to{opacity:1;transform:translateY(0) scaleY(1)}}@media(prefers-reduced-motion:reduce){.questionnaire-details{animation:none}}.question-number{display:block}.rsvp-form>label,.rsvp-form fieldset{padding:20px}.rsvp-form label,.rsvp-form legend{color:var(--muted);font-size:14px;font-weight:700;line-height:1.4}.rsvp-form input,.rsvp-form textarea{width:100%;margin-top:13px;padding:14px 16px;border:1px solid rgba(111,140,161,.28);border-radius:12px;background:inherit;color:var(--ink);font:inherit}.rsvp-form input:focus,.rsvp-form textarea:focus{outline:2px solid rgba(111,140,161,.24);border-color:var(--blue-dark)}.rsvp-form fieldset{display:grid;gap:9px;margin:0}.rsvp-form legend{width:100%;margin-bottom:13px;padding:0;color:var(--muted)}.rsvp-form .question div label{display:flex;align-items:center;gap:12px;border-radius:12px;font-weight:500}.rsvp-form .rsvp-form_options{display:flex;flex-direction:column;gap:12px}.rsvp-form fieldset label:hover{border-color:#6f8ca138;background:#8eaabe24}.rsvp-form input[type=radio],.rsvp-form input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--blue-dark);flex:0 0 auto}.rsvp-form legend small{display:block;margin-top:4px;font-weight:500}.rsvp-form button{width:100%;min-height:52px;margin-top:16px;box-shadow:0 10px 24px #58778e33;cursor:pointer}.rsvp-form button:disabled{cursor:wait;opacity:.65}.rsvp-form-error{margin:0;padding:12px 14px;border:1px solid rgba(157,72,72,.24);border-radius:12px;background:#9d484814;color:#873f3f;font-size:14px;line-height:1.4;text-align:center}.rsvp-form button:hover,.map-link:hover{background:#58778e}@media(min-width:821px){.hero{min-height:100svh;padding:22px clamp(18px,4vw,64px) 34px;background:linear-gradient(180deg,#141b2794,#141b2733 48%,#fbfaf5f5),url(/images/couple-hero.jpg) center 45% / cover;color:#fff;overflow:hidden}.hero-copy{padding-left:200px}.rings{position:absolute;left:450px;top:37px;width:190px;height:100px;margin:0;object-fit:contain}.map-link{min-height:60px;width:300px;font-size:16px}.hero:before,.hero:after{display:none}.topbar{display:flex}.hero-grid{display:grid}.hero-photo{display:block}.intro{display:flex;flex-direction:column;justify-content:center;align-content:center}.calendar{align-self:center;justify-self:center;width:min(320px,100%);text-align:center}.section-heading{text-align:center}.place,.rsvp{grid-template-columns:minmax(0,1fr) minmax(250px,.8fr)}.place{grid-template-columns:minmax(0,.84fr) minmax(300px,1fr)}.rsvp{grid-template-columns:minmax(0,.72fr) minmax(460px,1.28fr);gap:clamp(42px,6vw,76px)}.rsvp.rsvp--submitted{grid-template-columns:minmax(460px,680px);justify-content:center}.rsvp-form{padding:clamp(30px,4vw,44px)}.rsvp-form .question div label{cursor:pointer}.question{padding:16px 14px;color:var(--muted);font-size:14px;font-weight:700;line-height:1.4}.paper{position:relative;min-height:720px;padding:clamp(52px,7vw,96px) clamp(22px,5vw,84px);background:var(--paper);box-shadow:var(--shadow)}.venue-visual{position:relative}.venue-couple{position:absolute;right:-7%;bottom:-15%;width:61%;max-height:112%;object-fit:contain;object-position:right bottom;filter:drop-shadow(0 14px 12px rgba(40,50,71,.2));pointer-events:none}}@media(max-width:820px){body{background:#fffdf7}body:before,body:after{display:none}.hero{position:relative;overflow:visible;min-height:100svh;padding:0;background:linear-gradient(180deg,#070c1633,#070c1605 48%,#070c161f),url(/images/hero-with-names.png) center center / cover}.hero:after{position:absolute;inset:0;z-index:1;content:"";background:linear-gradient(180deg,#070c1647,#070c1605 38%,#070c161f),linear-gradient(90deg,rgba(7,12,22,.18),transparent 28%,transparent 72%,rgba(7,12,22,.08));pointer-events:none}.hero:before{position:absolute;z-index:3;right:-2px;bottom:-89px;left:-2px;height:180px;content:"";background:url(/images/blue-ribbon.png) center / 100% auto no-repeat;filter:drop-shadow(0 4px 10px rgba(111,140,161,.12));pointer-events:none}.topbar,.nav-links{display:none}.hero-grid{display:block;min-height:100svh;max-width:none}.hero-photo{display:none}.hero-copy{position:absolute;z-index:2;inset:clamp(42px,8svh,72px) 22px auto;width:calc(100% - 44px);padding:0}.rings{position:absolute;left:110px;top:3px;width:142px;height:58px;margin:0;object-fit:contain}.eyebrow{display:none}.hero h1{max-width:330px;font-size:clamp(54px,15.4vw,60px);line-height:.98;overflow-wrap:normal;word-break:normal}.lead{display:none}.paper,.place,.note-section,.dress,.rsvp{width:min(100% - 24px,420px)}.paper{min-height:640px;padding:44px 20px}.intro,.place,.rsvp{grid-template-columns:1fr}.intro{padding-top:60px;gap:22px;text-align:center}.section-heading h2,.place h2,.schedule h2,.note-section h2,.dress h2,.rsvp h2{font-size:40px}.section-heading p,.place p,.note-section p,.dress p,.rsvp p{font-size:20px;font-weight:450;word-spacing:-.1rem}.polaroids{margin:0}.place{padding:56px 0 116px}.place-copy{padding:0;text-align:center}.venue-visual{position:relative}.venue-couple{position:absolute;right:-5%;bottom:-12%;width:62%;max-height:112%;object-fit:contain;object-position:right bottom;filter:drop-shadow(0 10px 9px rgba(40,50,71,.18));pointer-events:none}.schedule ol{margin-top:18px}.note-section{min-height:560px;padding:50px 0}.note-text{height:500px;padding:32px 20px}.swatches span{width:60px}.rsvp{padding:48px 0 72px}.rsvp-form{padding:18px 12px;border-radius:20px}.question{padding:16px 14px;color:var(--muted);font-size:14px;font-weight:700;line-height:1.4}.rsvp-form>label,.rsvp-form fieldset{padding:16px 14px}.rsvp-form fieldset label{min-height:46px;padding:10px}.questionnaire-thanks{padding:16px 12px;font-size:17px}.map-link{position:absolute;left:calc(50% - 80px);bottom:-60px;background:#2e2c2b;border:none;min-height:40px;width:160px;color:#f0f0f0}}
