@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=Montserrat:wght@400;500;600&family=Parisienne&display=swap";:root{color:var(--ink);font-synthesis:none;background:#ece4d9;font-family:Montserrat,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#ece4d9;min-width:320px;min-height:100vh;margin:0}#app{min-height:100vh}a{color:inherit}button{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero-section{background-image:var(--hero-image);background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;max-width:759px;height:475px;margin:0 auto;position:relative}.site-header{z-index:3;background:#ece4d9;width:100%;position:relative}.top-nav{z-index:3;color:#29291f;text-transform:uppercase;background:0 0;justify-content:center;align-items:center;gap:27px;width:min(100%,759px);height:61px;margin:0 auto;padding:0 82px;font-size:7px;font-weight:600;display:flex;position:relative}.top-nav a{white-space:nowrap;border-bottom:1px solid #0000;padding:7px 0 5px;text-decoration:none}.top-nav a:hover,.top-nav .active,.top-nav .router-link-active{color:var(--terracotta);border-color:var(--terracotta)}.monogram{color:#5a352b;background:#ece4d9;border-radius:0 0 48px 48px;flex:none;justify-content:center;align-self:flex-start;align-items:flex-start;gap:15px;width:101px;height:93px;margin:0 -2px;padding-top:14px;font-family:Cormorant Garamond,serif;font-size:28px;font-weight:400;display:flex;position:relative;box-shadow:0 2px 5px #322b2214}.monogram b{font-weight:400}.monogram i{background:#9f6d59;width:1px;height:29px}.monogram small{color:#59613c;text-align:center;width:100%;font-family:Georgia,serif;font-size:26px;line-height:1;position:absolute;bottom:14px;left:0}.info-strip{z-index:5;background:#ece4d9;border-radius:14px;grid-template-columns:repeat(5,1fr);width:680px;height:144px;margin:-47px auto 10px;display:grid;position:relative;overflow:hidden;box-shadow:0 5px 12px #3029202e}.info-item{text-align:center;border-right:1px solid #ded5c8;padding:19px 12px 14px}.info-item:last-child{border-right:0}.info-item.interactive{cursor:pointer;transition:background-color .2s}.info-item.interactive:hover,.info-item.interactive:focus-visible{background:#e3d3c2;outline:none}.info-icon{color:#5b5b50;fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;width:29px;height:29px;margin:0 auto 10px;display:block}.info-item h2{color:#34342d;text-transform:uppercase;min-height:26px;margin:0 0 5px;font-family:Montserrat,sans-serif;font-size:8px;font-weight:500;line-height:1.55}.info-item p{margin:0;font-size:7.5px;line-height:1.45}.info-item .accent-text{color:var(--terracotta);font-weight:600}.venue-section{background:#e0d7c8;grid-template-columns:328px 431px;width:100%;max-width:759px;min-height:390px;margin:0 auto;display:grid;position:relative}.venue-copy{z-index:1;flex-direction:column;justify-content:center;padding:45px 42px;display:flex;position:relative}.venue-copy h2,.action-panel h2,.guest-messages h2{color:#39392f;text-transform:uppercase;margin:0;font-family:Cormorant Garamond,serif;font-weight:500}.venue-copy h2{font-size:30px;line-height:.95}.leaf-divider{object-fit:contain;width:52px;height:auto;display:block}.venue-copy .leaf-divider{margin:5px 0 8px 28px}.section-lead{letter-spacing:.03em;text-transform:uppercase;margin:0 0 24px;font-size:10px;font-weight:500}.address{margin:0 0 22px;font-size:7.8px;line-height:1.7}.address b{margin-bottom:3px;font-weight:600;display:block}.map-pin-art{vertical-align:-4px;object-fit:contain;width:10px;height:15px;margin-right:9px}.venue-section>img{object-fit:cover;width:431px;height:100%;min-height:390px;display:block}.venue-copy .button{min-height:26px;padding:7px 13px;font-size:7px}.button{background:var(--terracotta);color:#fffaf4;letter-spacing:.02em;text-transform:uppercase;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:29px;padding:8px 15px;font-size:7.5px;font-weight:600;line-height:1;text-decoration:none;transition:transform .2s,filter .2s;display:inline-flex}.button:hover{filter:brightness(.92);transform:translateY(-1px)}.button svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:12px;height:12px}.actions-section{background:#ece4d9;grid-template-columns:repeat(2,1fr);height:200px;display:grid;position:relative}.action-panel{grid-template-columns:112px 1fr;align-items:center;gap:18px;min-width:0;padding:18px 38px 16px 43px;display:grid}.action-panel+.action-panel{padding-left:47px}.action-art{object-fit:contain;width:112px;height:132px}.action-panel h2{font-size:24px;line-height:.96}.action-panel p{margin:11px 0 12px;font-size:8px;line-height:1.48}.heart-divider{z-index:2;object-fit:contain;pointer-events:none;width:55px;height:170px;position:absolute;top:15px;left:50%;transform:translate(-50%)}.story-section{background-image:var(--story-image);color:#faf6ed;background-position:50%;background-repeat:no-repeat;background-size:cover;align-items:center;min-height:310px;padding:48px 89px;display:grid;position:relative;overflow:hidden}.story-overlay{z-index:1;background:#444229b8;position:absolute;inset:0}.story-copy{z-index:2;width:min(100%,420px);position:relative}.story-title{color:#f3ece1;letter-spacing:.015em;text-transform:uppercase;margin:0;font-family:Cormorant Garamond,serif;font-size:31px;font-weight:400;line-height:.86}.story-title-sprig{color:#b57a55;width:47px;height:auto;margin:8px 0 10px 67px;display:block}.story-copy p{margin:0 0 7px;font-size:8.3px;line-height:1.45}.signature-art{object-fit:contain;width:176px;height:auto;margin:5px 0 0 9px;display:block}.guest-messages{z-index:2;text-align:center;background:#ece4d9;min-height:175px;padding:17px 29px 13px;position:relative}.guest-messages h2{font-size:25px;line-height:1}.messages-leaf{width:39px;margin:1px auto 5px}.messages-carousel{padding:0 47px;position:relative}.messages-grid{text-align:left;grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.message-card{background:#fffaf37a;border:1px solid #dfd4c5;border-radius:3px;height:96px;padding:12px 17px 8px;overflow:hidden}.message-card h3{margin:0 0 8px;font-size:7.5px;font-weight:600}.message-card p{margin:0 0 6px;font-size:7.3px;line-height:1.45}.message-card time{color:#5d5548;font-size:6.5px}.carousel-arrow{cursor:pointer;background:0 0;border:0;width:34px;height:34px;padding:0;position:absolute;top:31px}.carousel-arrow.previous{left:0}.carousel-arrow.next{right:0}.carousel-arrow img{object-fit:contain;width:100%;height:100%}.carousel-arrow:disabled{opacity:.35;cursor:not-allowed}.carousel-dots{justify-content:center;gap:4px;margin-top:4px;display:flex}.carousel-dots span{background:#c2b29c;border-radius:50%;width:5px;height:5px}.carousel-dots span.active{background:#8d6348}.dialog-backdrop{z-index:100;background:#1d2115b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.wedding-dialog{background:#ece4d9;border:1px solid #d8c9b7;border-radius:14px;width:min(100%,440px);max-height:calc(100vh - 40px);padding:36px;position:relative;overflow:auto;box-shadow:0 20px 60px #00000047}.wedding-dialog h2{text-transform:uppercase;margin:0 0 22px;font-family:Cormorant Garamond,serif;font-size:32px}.wedding-dialog>p:not(.dialog-kicker){margin:0 0 22px;font-size:13px;line-height:1.6}.dialog-kicker{color:var(--terracotta);letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;font-size:9px;font-weight:600}.dialog-close{color:#5a5146;cursor:pointer;background:0 0;border:0;width:32px;height:32px;font-size:26px;position:absolute;top:11px;right:13px}.wedding-dialog form{gap:14px;display:grid}.wedding-dialog label{text-transform:uppercase;gap:6px;font-size:10px;font-weight:600;display:grid}.wedding-dialog input,.wedding-dialog select,.wedding-dialog textarea{color:#39392f;text-transform:none;background:#f5eee5;border:1px solid #d8c9b7;border-radius:5px;width:100%;padding:11px 12px;font:13px Montserrat,sans-serif}.wedding-dialog textarea{resize:vertical}.wedding-dialog form .button{justify-self:start;margin-top:5px}.gift-options{gap:10px;display:grid}.gift-options button{color:#39392f;text-align:left;cursor:pointer;background:#f5eee5;border:1px solid #d8c9b7;border-radius:6px;justify-content:space-between;gap:18px;padding:14px 16px;display:flex}.gift-options button:hover{border-color:var(--terracotta)}.gift-options b{color:var(--terracotta);white-space:nowrap}@media (width>=1100px){.top-nav{font-size:8.5px}.monogram{font-size:32px}.info-item h2{font-size:9px}.info-item p{font-size:8.5px}.venue-copy h2{font-size:34px}.section-lead{font-size:11px}.address{font-size:9.5px}.action-panel h2{font-size:27px}.action-panel p{font-size:9px}.story-title{font-size:35px}.story-copy p{font-size:9.5px}.guest-messages h2{font-size:28px}.message-card h3{font-size:8.5px}.message-card p{font-size:8.3px}.message-card time{font-size:7.5px}.button{font-size:8.5px}}@media (width<=620px){.hero-section{background-position:50% 112px;background-size:100%;height:calc(147px + 47.25vw)}.top-nav{flex-wrap:wrap;align-content:flex-end;gap:9px 20px;height:112px;padding:12px 18px}.top-nav .monogram{order:-1;width:100px;height:72px;position:absolute;top:0;left:50%;transform:translate(-50%)}.monogram small{display:none}.info-strip{grid-template-columns:repeat(2,1fr);width:calc(100% - 32px);height:auto;margin-top:-22px}.info-item{border-bottom:1px solid #ded5c8;min-height:119px}.info-item:nth-child(2n){border-right:0}.info-item:last-child{border-bottom:0;grid-column:1/-1}.venue-section{grid-template-columns:1fr;height:auto}.venue-copy{min-height:261px;padding:35px 34px}.venue-section>img{aspect-ratio:431/261;width:100%;height:auto}.actions-section{grid-template-columns:1fr;height:auto}.action-panel{min-height:200px;padding:25px 34px}.action-panel+.action-panel{border-top:1px solid #dfd4c5;padding-left:34px}.heart-divider{display:none}.story-section{height:auto;padding:40px 34px}.story-copy{width:100%}.guest-messages{padding-inline:20px}.messages-carousel{padding:0 42px}.messages-grid{grid-template-columns:1fr;gap:10px}.message-card{height:auto;min-height:102px}.carousel-arrow{top:38px}footer:before,footer:after{width:96px}}@media (width<=390px){.top-nav{gap:8px 12px;font-size:6.5px}.action-panel{grid-template-columns:90px 1fr;gap:12px;padding-inline:22px}.action-art{width:90px}}
