@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500;600&display=swap";:root{--font-heading:"Cormorant Garamond";--font-body:"Inter";--color-ink:#302725;--color-muted:#756b67;--color-ivory:#fbf7f2;--color-paper:#fffdf9;--color-blush:#ead8d1;--color-rose:#b47b76;--color-rose-deep:#8f5d5b;--color-rose-soft:#d9b7b0;--color-line:#4e393224;--ink:var(--color-ink);--muted:var(--color-muted);--cream:var(--color-ivory);--paper:var(--color-paper);--blush:var(--color-blush);--rose:var(--color-rose);--line:var(--color-line)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;font-family:var(--font-body), sans-serif;color:var(--color-ink);background:var(--color-ivory);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}body::selection{background:var(--color-blush);color:var(--color-ink)}body:before{content:"";z-index:9999;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");position:fixed;inset:0}main{overflow:clip}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}img,video{max-width:100%;display:block}section{position:relative}h1,h2,h3,p{overflow-wrap:anywhere}a{color:inherit}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--font-heading:"Playfair Display";--font-body:"Montserrat"}html,body{margin:0;padding:0}body{min-width:320px;font-family:var(--font-body), sans-serif}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading), serif;margin:0}button{font-family:inherit}.wedding-names{font-family:var(--font-heading), serif;font-weight:500}.test-font{font-family:Playfair Display,serif;font-size:48px}.language-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);background:#2a1f1eb8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.language-dialog{background:var(--color-ivory);text-align:center;border:1px solid #ffffff80;border-radius:2px;width:min(460px,100%);padding:58px 38px 42px;position:relative;box-shadow:0 30px 90px #00000047}.language-dialog:before{content:"♡";color:var(--color-rose);font-family:var(--font-heading), serif;margin-bottom:14px;font-size:26px;display:block}.language-dialog h1{font-family:var(--font-heading), serif;white-space:pre-line;margin:0 0 32px;font-size:clamp(32px,8vw,46px);font-weight:400;line-height:1.05}.language-options{gap:10px;display:grid}.language-options button{min-height:52px;color:var(--color-ink);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #30272629;border-radius:999px;font-size:12px;font-weight:600;transition:background-color .18s,color .18s,transform .18s}.language-options button:hover{background:var(--color-ink);color:var(--color-ivory);transform:translateY(-1px)}.language-options button:active{transform:scale(.98)}@media (width<=480px){.language-dialog{padding:48px 24px 30px}}.language-switcher{z-index:900;-webkit-backdrop-filter:blur(14px);background:#fffaf7c7;border:1px solid #3027261a;border-radius:999px;align-items:center;gap:2px;padding:6px;display:flex;position:fixed;top:22px;right:22px;box-shadow:0 10px 30px #30272614}.language-switcher button{min-width:34px;color:var(--color-muted);letter-spacing:.08em;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 7px;font-size:10px;font-weight:700;transition:background-color .18s,color .18s}.language-switcher button.active,.language-switcher button:hover{background:var(--color-ink);color:var(--color-ivory)}@media (width<=600px){.language-switcher{top:14px;right:14px}}.hero{isolation:isolate;background:radial-gradient(circle at 50% 36%,#fffffffa,#0000 43%),linear-gradient(135deg,#f7ebe5 0%,#fffdf9 50%,#eee0da 100%);justify-content:center;align-items:center;min-height:100svh;padding:96px 24px 130px;display:flex;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";z-index:-1;border:1px solid #a96f6824;border-radius:50%;width:480px;height:480px;position:absolute}.hero:before{top:-260px;left:-190px}.hero:after{bottom:-260px;right:-220px}.hero__content{z-index:1;text-align:center;flex-direction:column;align-items:center;width:min(920px,100%);animation:1.2s cubic-bezier(.2,.7,.2,1) both hero-enter;display:flex;position:relative}.hero__eyebrow{color:var(--rose);letter-spacing:.42em;text-transform:uppercase;margin:0 0 30px;font-size:10px;font-weight:600;line-height:1.4}.hero__names{flex-direction:column;align-items:center;width:100%;min-width:0;display:flex}.hero__names h1{width:100%;min-width:0;font-family:var(--font-heading),serif;letter-spacing:-.035em;white-space:nowrap;text-align:center;margin:0;font-size:clamp(62px,11vw,118px);font-weight:400;line-height:.84}.hero__ampersand{color:var(--rose);font-family:var(--font-heading),serif;margin:20px 0 17px;font-size:clamp(42px,6vw,62px);font-style:italic;line-height:1}.hero__date{color:var(--muted);letter-spacing:.3em;text-transform:uppercase;margin:48px 0 0;font-size:11px;font-weight:500;line-height:1.4}.hero__invitation{max-width:430px;color:var(--muted);font-family:var(--font-heading),serif;margin:18px auto 0;font-size:20px;line-height:1.5}.hero__scroll{left:50%;bottom:max(18px,env(safe-area-inset-bottom));z-index:3;width:max-content;color:var(--muted);letter-spacing:.2em;text-align:center;text-transform:uppercase;white-space:nowrap;pointer-events:none;flex-direction:column;align-items:center;gap:6px;font-size:9px;line-height:1.4;display:flex;position:absolute;transform:translate(-50%)}.hero__scroll:before{content:"";background:linear-gradient(var(--rose),transparent);width:1px;height:28px;margin-bottom:2px}.hero__scroll-arrow{color:var(--rose);font-size:20px;line-height:1;animation:2.2s ease-in-out infinite scroll-arrow}@keyframes hero-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-arrow{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(7px)}}@media (width<=480px){.hero{padding:72px 20px 120px}.hero__eyebrow{letter-spacing:.3em;margin-bottom:25px;font-size:8px}.hero__names h1{font-size:clamp(40px,15vw,78px)}.hero__date{letter-spacing:.2em;margin-top:38px;font-size:9px}.hero__invitation{max-width:330px;font-size:17px}.hero__scroll{bottom:max(14px,env(safe-area-inset-bottom));font-size:8px}.hero__scroll:before{height:22px}}@media (orientation:landscape) and (height<=450px){.hero{box-sizing:border-box;justify-content:center;align-items:center;height:100svh;min-height:0;display:flex;padding:0 18px 22px!important}.hero:before,.hero:after{display:none!important}.hero__content{box-sizing:border-box;z-index:1;width:100%!important;min-width:0!important;max-width:760px!important;margin:0!important;padding:0!important;animation:none!important;position:relative!important;top:auto!important;left:auto!important;transform:none!important}.hero__eyebrow{letter-spacing:.22em!important;margin:0 0 22px!important;font-size:12px!important;line-height:1!important}.hero__names{flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:0!important;width:100%!important;margin:0!important}.hero__names h1{letter-spacing:-.035em!important;white-space:nowrap!important;flex:none!important;width:auto!important;min-width:0!important;margin:0!important;font-size:clamp(42px,11vh,54px)!important;line-height:.78!important}.hero__ampersand{flex:none!important;margin:7px 0!important;font-size:30px!important;line-height:.65!important}.hero__date{letter-spacing:.16em!important;margin:22px 0 0!important;font-size:11px!important;line-height:1!important}.hero__invitation{max-width:600px!important;margin:14px auto 0!important;font-size:16px!important;line-height:1.05!important}.hero__scroll{letter-spacing:.1em!important;z-index:3!important;gap:1px!important;font-size:7px!important;line-height:1!important;position:absolute!important;bottom:2px!important;left:50%!important}.hero__scroll:before{height:5px!important;margin-bottom:1px!important}.hero__scroll-arrow{font-size:13px!important}}@media (prefers-reduced-motion:reduce){.hero__content,.hero__scroll-arrow{animation:none}}.our-story{background:var(--color-paper);padding:clamp(110px,14vw,180px) 24px;overflow:hidden}.our-story__heading{text-align:center;width:min(760px,100%);margin:0 auto 80px}.our-story__eyebrow{color:var(--color-rose-deep);letter-spacing:.34em;text-transform:uppercase;margin:0 0 18px;font-size:10px;font-weight:600}.our-story h2{font-family:var(--font-heading), serif;letter-spacing:-.035em;white-space:nowrap;margin:0;font-size:clamp(28px,6vw,82px);font-weight:400;line-height:1}.our-story__intro{width:min(100%,680px);color:var(--color-muted);white-space:pre-line;margin:25px auto 0;font-size:clamp(10px,1.4vw,14px);line-height:1.8}.our-story__photos{width:min(1050px,100%);min-height:820px;margin:0 auto;position:relative}.our-story__photo{width:34%;transition:transform .5s cubic-bezier(.2,.7,.2,1);position:absolute}.our-story__photo:hover{z-index:5;transform:translateY(-8px)rotate(0)scale(1.025)}.our-story__photo--1{top:0;left:8%;transform:rotate(-4deg)}.our-story__photo--2{top:90px;right:8%;transform:rotate(5deg)}.our-story__photo--3{z-index:2;width:38%;top:285px;left:32%;transform:rotate(-1deg)}.our-story__photo--4{top:430px;left:3%;transform:rotate(4deg)}.our-story__photo--5{top:500px;right:4%;transform:rotate(-5deg)}.our-story__photo--6{z-index:3;width:32%;top:650px;left:35%;transform:rotate(3deg)}@media (width<=700px){.our-story{padding:92px 16px}.our-story__heading{margin-bottom:55px}.our-story h2{font-size:28px}.our-story__intro{width:min(100%,360px);font-size:10px}.our-story__photos{min-height:710px}.our-story__photo{width:43%}.our-story__photo--1{top:0;left:3%}.our-story__photo--2{top:65px;right:3%}.our-story__photo--3{width:48%;top:205px;left:27%}.our-story__photo--4{top:355px;left:0}.our-story__photo--5{top:405px;right:0}.our-story__photo--6{width:42%;top:535px;left:30%}}@media (orientation:landscape) and (height<=600px){.our-story__photos{min-height:600px}.our-story__photo{width:38%}.our-story__photo--1{top:0;left:4%}.our-story__photo--2{top:45px;right:4%}.our-story__photo--3{width:42%;top:155px;left:31%}.our-story__photo--4{top:280px;left:1%}.our-story__photo--5{top:325px;right:1%}.our-story__photo--6{width:34%;top:430px;left:34%}}.photo-reveal{opacity:.25;justify-content:center;align-items:center;width:100%;margin:0;transition:opacity .9s,transform 1s cubic-bezier(.2,.7,.2,1);display:flex;position:relative;transform:translateY(24px)scale(.985)}.photo-reveal:after{content:"";pointer-events:none;opacity:0;border:1px solid #ffffff6b;transition:opacity .7s;position:absolute;inset:14px}.photo-reveal--visible{opacity:1;transform:translateY(0)scale(1)}.photo-reveal--visible:after{opacity:1}.photo-reveal img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:82vh;transition:transform 1.6s cubic-bezier(.2,.7,.2,1),box-shadow .7s;display:block;transform:scale(1.035);box-shadow:0 28px 70px #3027261f}.photo-reveal--visible img{transform:scale(1);box-shadow:0 30px 80px #30272626}@media (width<=768px){.photo-reveal img{max-height:80vh}.photo-reveal:after{inset:8px}}@media (prefers-reduced-motion:reduce){.photo-reveal,.photo-reveal img,.photo-reveal:after{opacity:1;transition:none;transform:none}}@media (width<=900px) and (orientation:landscape){.photo-reveal img{max-height:48vh}}.wedding-details{background:var(--color-ivory);padding:clamp(110px,14vw,180px) 24px}.wedding-details__heading{text-align:center;width:min(760px,100%);margin:0 auto 70px}.wedding-details__eyebrow{color:var(--color-rose-deep);letter-spacing:.34em;text-transform:uppercase;margin:0 0 18px;font-size:10px;font-weight:600}.wedding-details__heading h2{width:max-content;max-width:none;font-family:var(--font-heading), serif;letter-spacing:-.03em;margin:0 auto;font-size:clamp(30px,5.5vw,72px);font-weight:400;line-height:1.05}.wedding-details__grid{border-top:1px solid #30272526;border-bottom:1px solid #30272526;grid-template-columns:.8fr 1.2fr;width:min(900px,100%);margin:0 auto 55px;display:grid}.wedding-details__date,.wedding-details__venue{padding:38px}.wedding-details__date{text-align:center;border-right:1px solid #30272526;flex-direction:column;justify-content:center;display:flex}.wedding-details__date span,.wedding-details__venue>span{color:var(--color-rose-deep);letter-spacing:.2em;text-transform:uppercase;font-size:9px;font-weight:600}.wedding-details__date strong{font-family:var(--font-heading), serif;margin:12px 0;font-size:clamp(32px,4vw,46px);font-weight:400}.wedding-details__venue h3{font-family:var(--font-heading), serif;margin:12px 0 7px;font-size:30px;font-weight:400}.wedding-details__venue p{color:var(--color-muted);margin:0 0 18px;font-size:12px;line-height:1.6}.wedding-details__venue a{color:var(--color-rose-deep);letter-spacing:.18em;text-transform:uppercase;font-size:9px;font-weight:600;text-decoration:none}.wedding-details__map{border-radius:10px;width:min(900px,100%);height:380px;margin:0 auto;overflow:hidden}.wedding-details__map iframe{border:0;width:100%;height:100%}@media (width<=650px){.wedding-details{padding:92px 20px}.wedding-details__heading{margin-bottom:52px}.wedding-details__heading h2{white-space:normal;text-wrap:balance;width:min(100%,100vw - 40px);font-size:25px}.wedding-details__grid{grid-template-columns:1fr}.wedding-details__date{border-bottom:1px solid #30272526;border-right:0}.wedding-details__date,.wedding-details__venue{padding:30px 24px}.wedding-details__venue{text-align:center}.wedding-details__map{border-radius:10px;height:300px}}@media (orientation:landscape) and (width>=651px){.wedding-details__heading{width:min(100%,100vw - 48px)}.wedding-details__heading h2{white-space:normal;text-wrap:balance;width:100%;max-width:100%;font-size:clamp(30px,5vw,64px)}}.photo-gallery{background:var(--color-ivory);padding:clamp(120px,15vw,200px) 24px;position:relative;overflow:hidden}.photo-gallery:before{content:"LOVE";color:#7f4e520a;font-family:var(--font-heading), serif;letter-spacing:.12em;pointer-events:none;font-size:clamp(120px,20vw,250px);font-weight:500;position:absolute;top:38px;left:50%;transform:translate(-50%)}.photo-gallery__intro{text-align:center;width:min(760px,100%);margin:0 auto 120px;position:relative}.photo-gallery__intro:after{content:"❦";color:var(--color-rose);font-family:var(--font-heading), serif;margin-top:30px;font-size:25px;display:block}.photo-gallery__eyebrow{color:var(--color-rose-deep);letter-spacing:.34em;text-transform:uppercase;margin:0 0 18px;font-size:10px;font-weight:600}.photo-gallery__intro h2{font-family:var(--font-heading), serif;letter-spacing:-.035em;margin:0;font-size:clamp(52px,8vw,90px);font-weight:400;line-height:.9}.photo-gallery__photos{grid-template-columns:repeat(12,1fr);align-items:start;gap:clamp(48px,7vw,100px) 24px;width:min(1180px,100%);margin:0 auto;display:grid}.photo-gallery__photos>*{grid-column:2/span 7}.photo-gallery__photos>:nth-child(2n){grid-column:6/span 7;margin-top:130px}.photo-gallery__photos>:nth-child(3n){grid-column:3/span 8;margin-top:40px}@media (width<=700px){.photo-gallery{padding:96px 16px}.photo-gallery__intro{margin-bottom:72px}.photo-gallery__intro:after{margin-top:24px}.photo-gallery__photos{flex-direction:column;gap:74px;display:flex}.photo-gallery__photos>:nth-child(2n),.photo-gallery__photos>:nth-child(3n){margin-top:0}}
