@import"https://fonts.googleapis.com/css2?family=Beau+Rivage&family=Poppins:wght@300;400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Clicker+Script&family=Lavishly+Yours&family=Lora:ital,wght@0,400..700;1,400..700&display=swap";:root{--olive: #a49a2c;--olive-dark: #7c7420;--cream: #fbf8f1;--text: #4f4a2e;--muted: #8c8354;--border: #e5dfc2;--envelope-max-width: 2200px;--envelope-max-height: 92dvh;--envelope-aspect: 1.5012;--paper-max-width: 1000px;--paper-max-height: 90vh;--shell-padding: clamp(1.35rem, 4vw, 3rem)}@media(min-width:801px){:root{--envelope-max-width: 820px;--envelope-max-height: 62dvh}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;display:flex;flex-direction:column;position:relative;font-family:Lora,serif;font-weight:400;color:var(--text);background:var(--cream);line-height:1.6}body:before{content:"";position:fixed;inset:0;z-index:-1;background:url(/assets/background.jpg) center / cover no-repeat;opacity:.15;pointer-events:none}main{flex:1}.container{width:min(100% - 2.5rem,2500px);margin-inline:auto}.header-banner-frame{display:block;overflow:hidden;margin:calc(-1 * var(--shell-padding)) calc(-1 * var(--shell-padding)) 1.5rem;border-radius:7px 7px 0 0}.header-banner{display:block;width:100%;height:auto}.header-banner-second{display:none}@media(min-width:801px){.header-banner-frame{display:flex}.header-banner{width:50%}.header-banner-second{display:block}}.header-content{text-align:center;padding:2rem 0 1.5rem}.logo{display:inline-block;font-family:Clicker Script,cursive;font-size:clamp(2.75rem,6vw,4.5rem);color:var(--olive);text-decoration:none;line-height:1}.couple-names{margin:1.75rem 0 .75rem;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--olive)}.event-line,.countdown{margin:0;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.countdown{margin-top:.35rem}.site-nav{margin-top:1.75rem;position:relative}.nav-toggle{display:none;border:1px solid var(--border);background:transparent;padding:.45rem .9rem;border-radius:999px;color:var(--olive);font-family:inherit;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}.menu{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin:0;padding:0}.menu a{display:inline-block;padding:.45rem .9rem;text-decoration:none;color:var(--text);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);border-radius:999px;transition:color .2s ease,background-color .2s ease,border-color .2s ease}.menu a:hover,.menu a.active{color:var(--olive);border-color:var(--olive);background:#a49a2c14}.menu a.active{color:#fff;background:var(--olive)}.info-strip{display:flex;justify-content:center;align-items:stretch;gap:3rem;padding:3rem 0 4rem;text-align:center}.info-strip .divider{width:1px;background:var(--border)}.info-strip h2{margin:0;font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--olive)}.home-reveal-experience{padding-top:1rem}.home-reveal-experience.is-sealed{padding:0;height:100dvh}.is-sealed .container{width:calc(100% - 40px)}.home-reveal-stage{position:relative;display:grid;place-items:start center;min-height:calc(100vh - 8rem)}.is-sealed .home-reveal-stage{place-items:center;min-height:100dvh}.is-sealed .home-paper-shell{display:none}body.is-envelope-sealed{overflow:hidden;height:100dvh}.envelope-button{position:relative;width:min(100%,var(--envelope-max-width),calc(var(--envelope-max-height) * var(--envelope-aspect)));aspect-ratio:var(--envelope-aspect);margin:0;padding:0;border:0;background:none;cursor:pointer}.envelope-image{position:absolute;left:-30.65%;top:-35.6%;width:161.3%;height:auto;filter:drop-shadow(0 20px 35px rgba(79,74,46,.2));transition:opacity .45s ease,transform .45s ease}.envelope-image-open{opacity:0;transform:translateY(10px) scale(.98)}.envelope-paper{position:absolute;left:50%;bottom:4%;width:84%;height:90%;border:1px solid #d8cfb1;border-radius:4px;background:linear-gradient(180deg,#fffffff2,#f6efdaf2),repeating-linear-gradient(0deg,transparent 0 27px,rgba(130,116,78,.08) 27px 28px);box-shadow:0 10px 22px #4f4a2e2e;opacity:0;transform:translate(-50%);transition:transform .95s cubic-bezier(.2,.7,.15,1),opacity .4s ease}.envelope-button.is-opening{pointer-events:none}.envelope-button.is-opening .envelope-image-closed{opacity:0;transform:scale(.98)}.envelope-button.is-opening .envelope-image-open{opacity:1;transform:translateY(0) scale(1)}.envelope-button.is-opening .envelope-paper{opacity:1;transform:translate(-50%,-62%)}.home-paper-shell{width:min(100%,var(--paper-max-width));max-height:var(--paper-max-height);overflow:auto;scroll-behavior:smooth;scrollbar-width:thin;-ms-overflow-style:thin;scrollbar-color:rgba(165,154,44,.5) transparent;margin-top:2.4rem;border:1px solid #dfd6ba;border-radius:8px;background:linear-gradient(180deg,#fffffff2,#f7f3e5f2),repeating-linear-gradient(0deg,transparent 0 30px,rgba(130,116,78,.06) 30px 31px);box-shadow:0 26px 52px #4f4a2e2e;padding:var(--shell-padding);opacity:0;pointer-events:none;transform:translateY(46px) scale(.97);transition:opacity .8s ease,transform .8s ease}.home-paper-shell.is-visible{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);animation:paper-reveal .8s cubic-bezier(.18,.72,.16,1.06)}.home-paper-shell::-webkit-scrollbar-track{background:#a59a2c14;border-radius:999px}.home-paper-shell::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#a49a2cb8,#7c7420c7);border:2px solid rgba(251,248,241,.9);border-radius:999px}.home-paper-shell::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#a49a2ceb,#7c7420f2)}@keyframes paper-reveal{0%{opacity:0;transform:translateY(-40px) scale(.93) rotate(-.8deg)}70%{opacity:1;transform:translateY(6px) scale(1.01) rotate(0)}to{transform:translateY(0) scale(1)}}.home-paper-shell .site-footer{padding-bottom:2rem}.page-title{text-align:center;padding:1rem 0 .5rem}.page-title h1{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--olive);margin:0 0 .5rem}.page-title p{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:1rem;margin:0}.section.alt{background:#f5f1e2;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section h2{text-align:center;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--olive);font-size:clamp(1.35rem,3vw,1.75rem);margin-bottom:1.5rem}.prose{max-width:750px;margin-inline:auto;text-align:center;color:var(--text)}.dress-code-image{display:block;width:100%;height:auto}.story-teaser{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}.story-teaser .story-photo{width:100%;border-radius:10px;border:1px solid var(--border)}.gallery{position:relative;overflow:hidden;border-radius:10px;border:1px solid var(--border);box-shadow:0 14px 30px #4f4a2e1f;background:#e9e4d1}.gallery-image{display:block;aspect-ratio:4 / 4;object-fit:cover;animation:gallery-fade-in .55s ease}.gallery-progress{position:absolute;right:0;bottom:0;left:0;display:flex;justify-content:center;gap:.45rem;padding:1.5rem 1rem .9rem;background:linear-gradient(transparent,#2d2a1a7a)}.gallery-dot{width:.55rem;height:.55rem;padding:0;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:#ffffff6b;cursor:pointer;transition:background .2s ease,transform .2s ease}.gallery-dot:hover,.gallery-dot:focus-visible,.gallery-dot.active{background:#fff;transform:scale(1.25)}@keyframes gallery-fade-in{0%{opacity:0}to{opacity:1}}.story-teaser .prose{text-align:left;margin:0}.story-teaser .prose h2{text-align:left}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:1.5rem;text-align:center}.card h3{margin:0 0 .5rem;letter-spacing:.06em;text-transform:uppercase;font-weight:500;color:var(--olive-dark);font-size:1rem}.card p{margin:.25rem 0;color:var(--text);font-size:.92rem}.button{display:inline-block;margin-top:.75rem;background:var(--olive);color:#fff;text-decoration:none;border-radius:999px;padding:.7rem 1.5rem;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}.button:hover{background:var(--olive-dark)}.center{text-align:center}.swatches{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.swatch{width:64px;text-align:center;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.swatch span{display:block;width:64px;height:64px;border-radius:50%;margin-bottom:.5rem;border:1px solid var(--border)}.faq-list{max-width:750px;margin:0 auto;display:grid;gap:.75rem}details{background:#fff;border:1px solid var(--border);border-radius:8px;padding:.85rem 1.1rem}summary{cursor:pointer;font-weight:500;letter-spacing:.03em;color:var(--olive-dark)}details p{margin:.6rem 0 0;color:var(--text)}.site-footer{margin-top:auto;text-align:center;padding:2rem 0 2.5rem;color:var(--muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}@media(max-width:800px){.home-reveal-stage{min-height:auto}.envelope-button{width:min(100%,var(--envelope-max-width),calc(var(--envelope-max-height) * var(--envelope-aspect)))}.home-paper-shell{width:calc(100% + 2rem);margin:1rem -1rem 0;--shell-padding: 1.35rem}.grid,.grid.cols-2{grid-template-columns:1fr 1fr}.story-teaser{grid-template-columns:1fr;gap:1.5rem}.story-teaser .prose,.story-teaser .prose h2{text-align:center}.info-strip{gap:1.5rem}.nav-toggle{display:none}.menu{display:flex;flex-wrap:nowrap;gap:.35rem}.menu a{padding:.35rem .6rem;font-size:.75rem;letter-spacing:.06em;white-space:nowrap}}@media(max-width:500px){.info-strip{gap:1rem;padding:1rem 0 2rem}.info-strip h2{font-size:1.15rem}}
