@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Italiana&family=Parisienne&display=swap";:root{--ivory: #f8f4ea;--paper: #fffaf1;--paper-dark: #eee7da;--olive: #636a54;--olive-dark: #434a3a;--sage: #969d86;--sage-light: #bbbda9;--blush: #d8aaa0;--rose: #b77d74;--gold: #a98a5d;--ink: #39382f;font-family:Cormorant Garamond,serif;color:var(--ink);background:var(--ivory)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.7),transparent 30%),var(--ivory)}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,a{font:inherit}.svg-envelope-intro{position:fixed;z-index:1000;inset:0;width:100%;height:100vh;height:100svh;display:grid;place-items:center;overflow:hidden;overscroll-behavior:none;isolation:isolate;background:#f3eee6}.svg-envelope-intro:before{content:none}.svg-envelope-shell{position:relative;width:min(82vw,980px);perspective:1600px;transform-origin:center center}.svg-envelope-video-shell{width:100vw;aspect-ratio:3 / 2;perspective:none;transform:translateY(-4svh)}.svg-envelope-video{display:block;width:100%;height:100%;object-fit:contain}.svg-envelope-pocket-layer{position:absolute;z-index:4;inset:0;pointer-events:none;clip-path:polygon(0 34%,50% 58%,100% 34%,100% 100%,0 100%)}.envelope-transition-card{position:absolute;z-index:3;left:50%;top:48%;width:47%;aspect-ratio:1.45 / 1;transform:translate(-50%);transform-origin:50% 50%;display:grid;place-items:center;visibility:hidden;opacity:0;overflow:hidden;border:1px solid #b8a482;background:#fffaf1;box-shadow:0 14px 28px #3e3a3033;color:var(--olive-dark);will-change:transform,opacity}.envelope-transition-card:before{content:"";position:absolute;inset:4%;border:1px solid rgba(169,138,93,.6)}.envelope-transition-card__content{position:relative;z-index:1;text-align:center}.envelope-transition-card__content p{margin:0 0 .7rem;font-family:Italiana,serif;font-size:clamp(1rem,2.2vw,2rem);letter-spacing:.18em}.envelope-transition-card__content span{font-size:clamp(.55rem,.9vw,.8rem);letter-spacing:.24em;text-transform:uppercase}.svg-envelope-video-shell .svg-envelope-seal{border:0;background:transparent;box-shadow:none;color:transparent}.svg-envelope-video-shell .svg-envelope-seal:before,.svg-envelope-video-shell .svg-envelope-seal:after{display:none}.svg-envelope-video-shell .svg-envelope-seal span{opacity:0}.svg-envelope-video-shell .svg-envelope-seal:hover{filter:none;box-shadow:none}.svg-envelope-art{display:block;width:100%;height:auto;overflow:visible}.svg-envelope-flap{transform-box:fill-box;transform-origin:50% 0%;will-change:transform}.svg-envelope-botanicals{transform-box:fill-box;transform-origin:center bottom;will-change:transform,opacity}.svg-envelope-seal{position:absolute;left:50%;top:54%;width:clamp(58px,5.4vw,86px);aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid rgba(116,64,58,.28);border-radius:48% 52% 46% 54%/53% 47% 55% 45%;background:radial-gradient(circle at 34% 26%,#dda59b,#a96059 72%);box-shadow:0 9px 16px #4b2d2842,inset 0 0 0 5px #783d3733,inset 0 0 0 8px #f7c1b624;color:#75403b;cursor:pointer;transition:filter .2s ease,box-shadow .2s ease;will-change:transform,opacity}.svg-envelope-seal:before{content:"";position:absolute;inset:14%;border:1px solid rgba(110,57,52,.48);border-radius:50%}.svg-envelope-seal:after{content:"❧";position:absolute;inset:25%;display:grid;place-items:center;color:#69363180;font-family:Georgia,serif;font-size:clamp(.75rem,1.3vw,1rem);transform:translateY(3px)}.svg-envelope-seal span{position:relative;font-family:Italiana,serif;z-index:1;font-size:clamp(.68rem,1.1vw,.88rem);letter-spacing:.1em;transform:translateY(-7px)}.svg-envelope-seal:hover{filter:brightness(1.04);box-shadow:0 11px 20px #4b2d284d,inset 0 0 0 5px #783d3733}.svg-envelope-seal:focus-visible{outline:2px solid var(--olive-dark);outline-offset:6px}.svg-envelope-seal:disabled{cursor:default}.svg-envelope-prompt{position:absolute;left:50%;bottom:max(1.75rem,3.5svh);z-index:2;transform:translate(-50%);margin:0;color:var(--olive-dark);font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;white-space:nowrap}@media(max-width:700px){.svg-envelope-shell{width:94vw;height:auto}.svg-envelope-video-shell{width:115vw;transform:translateY(-4svh)}.envelope-transition-card{top:48%;width:47%}.svg-envelope-seal{top:54%;width:clamp(58px,17vw,72px)}.svg-envelope-prompt{bottom:max(1.5rem,env(safe-area-inset-bottom))}}@media(max-width:480px)and (orientation:portrait){.svg-envelope-video-shell{width:115vw;max-width:none;transform:translate(-7vw,-3svh)}.svg-envelope-pocket-layer{clip-path:polygon(0 33%,50% 54%,100% 33%,100% 100%,0 100%)}.envelope-transition-card{top:47%;width:46%}.envelope-transition-card__content p{font-size:clamp(.82rem,4.2vw,1.05rem)}.envelope-transition-card__content span{font-size:clamp(.46rem,2vw,.62rem);letter-spacing:.18em}}@media(max-width:700px)and (orientation:landscape){.svg-envelope-video-shell{width:min(100vw,145svh);transform:translateY(-2svh)}}@media(prefers-reduced-motion:reduce){.svg-envelope-seal{transition:none}}h1,h2,h3,p{margin-top:0}h2{font-family:Italiana,serif;font-weight:400;text-transform:uppercase;letter-spacing:.16em;color:var(--olive-dark)}.eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:.72rem}.script-large,.script-small,.rsvp-script,.hero-and,.hero-location,.opening-location{font-family:Parisienne,cursive}.script-large{font-size:clamp(2rem,5vw,3.4rem)}.script-small{font-size:1.8rem}.button{display:inline-block;padding:.9rem 2.2rem;background:var(--olive);color:#fff;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;transition:transform .25s ease,background .25s ease}.button:hover{transform:translateY(-2px);background:var(--olive-dark)}.three-envelope-intro{position:relative;height:320vh;background:#f7f1e7}.three-envelope-sticky{position:sticky;z-index:120;top:0;width:100%;height:100vh;overflow:hidden;background:#f7f1e7;transition:opacity .1s linear}.three-envelope-sticky:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 0 120px #554a3714}.envelope-ambient{position:absolute;z-index:1;width:min(34rem,42vw);aspect-ratio:1;border-radius:50%;filter:blur(12px);opacity:.42;pointer-events:none}.envelope-ambient-left{left:-15rem;top:-14rem;background:radial-gradient(circle,rgba(189,199,174,.7),transparent 68%)}.envelope-ambient-right{right:-15rem;bottom:-14rem;background:radial-gradient(circle,rgba(218,180,166,.5),transparent 68%)}.three-envelope-canvas{position:absolute;inset:0}.three-envelope-canvas canvas{width:100%!important;height:100%!important;display:block}.three-envelope-copy{position:absolute;z-index:20;left:50%;bottom:5vh;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;padding:1rem 2rem 0;border:0;background:transparent;cursor:pointer;color:var(--olive);transition:color .25s ease,opacity .1s linear}.three-envelope-copy:hover,.three-envelope-copy:focus-visible{color:var(--olive-dark)}.three-envelope-copy:focus-visible{outline:1px solid rgba(67,74,58,.45);outline-offset:4px}.three-envelope-copy>span{margin-bottom:1.25rem;font-family:Italiana,serif;letter-spacing:.22em;font-size:.95rem}.three-envelope-copy>span i{margin:0 .35rem;color:var(--rose);font-size:.55em;font-style:normal;vertical-align:middle}.three-envelope-copy p{margin:0;text-transform:uppercase;letter-spacing:.3em;font-size:.65rem}.three-scroll-line{width:1px;height:28px;margin:.8rem 0;background:#50584659}.three-envelope-copy strong{font-weight:400;font-size:1rem}.photo-envelope-intro{position:relative;height:240vh;background:#f4efe6}.photo-envelope-sticky{position:sticky;z-index:120;top:0;height:100vh;overflow:hidden;display:grid;place-items:center;background:#f4efe6}.photo-envelope-frame{position:relative;width:min(1120px,86vw);aspect-ratio:3 / 2;filter:drop-shadow(0 28px 35px rgba(71,65,52,.08))}.photo-envelope-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .08s linear;will-change:opacity,transform}.photo-envelope-action{position:absolute;left:50%;bottom:clamp(1rem,3.5vh,2.5rem);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:.75rem 1.5rem;border:0;background:#f4efe6c2;color:var(--olive-dark);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer}.photo-envelope-action span{font-family:Italiana,serif;letter-spacing:.2em}.photo-envelope-action span i{color:var(--rose);font-style:normal}.photo-envelope-action strong{font-size:.68rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase}.photo-envelope-action b{font-size:1rem;font-weight:400;animation:invitation-arrow 1.8s ease-in-out infinite}@keyframes invitation-arrow{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media(max-width:700px){.photo-envelope-intro{height:200vh}.photo-envelope-frame{width:112vw}.photo-envelope-action{bottom:2.25vh}}@media(prefers-reduced-motion:reduce){.photo-envelope-action b{animation:none}}.layered-envelope-intro{position:relative;height:280vh;background:#f4efe6}.layered-envelope-sticky{position:sticky;z-index:120;top:0;height:100vh;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.9),transparent 46%),#f4efe6}.layered-envelope-scene{position:relative;width:min(1050px,95vw);aspect-ratio:1400 / 1225;perspective:1400px;transform:translateY(-7vh) rotate(-.35deg);filter:drop-shadow(0 26px 26px rgba(60,56,45,.16))}.layered-envelope-base{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:contain;clip-path:inset(calc((1 - var(--flap)) * 37%) 0 0 0);pointer-events:none}.layered-envelope-shadow{position:absolute;z-index:0;left:13%;right:13%;bottom:3%;height:18%;border-radius:50%;background:#36332b33;filter:blur(28px);transform:scaleX(calc(.85 + var(--flap) * .15))}.layered-envelope-reveal{position:absolute;z-index:3;left:20%;top:12%;width:60%;height:55%;overflow:hidden;opacity:var(--rise);pointer-events:none}.layered-invitation-card{position:absolute;inset:4% 5% auto;height:88%;padding:9% 7%;border:1px solid rgba(102,111,88,.42);background:linear-gradient(#fffbf2f0,#fffbf2f0),url(/images/envelope-floral-liner.png) center / cover;box-shadow:0 8px 18px #3d382c21;text-align:center;transform:translateY(calc(72% - var(--rise) * 65%));will-change:transform}.layered-invitation-card>span{display:block;font-size:clamp(.42rem,.85vw,.66rem);letter-spacing:.22em;text-transform:uppercase}.layered-invitation-card h1{display:flex;flex-direction:column;margin:7% 0 3%;color:var(--olive-dark);font-family:Italiana,serif;font-size:clamp(1rem,3vw,2rem);font-weight:400;letter-spacing:.12em;line-height:1.12;text-transform:uppercase}.layered-invitation-card h1 em{margin:.2em 0;color:var(--gold);font-family:Parisienne,cursive;font-size:.68em;letter-spacing:0;text-transform:none}.layered-invitation-card>i{color:var(--gold)}.layered-invitation-card p{margin:3% 0 0;font-size:clamp(.48rem,1vw,.76rem);letter-spacing:.12em;text-transform:uppercase}.layered-envelope-cats{position:absolute;z-index:2;left:12%;bottom:-26%;width:76%;transform:translateY(calc(46% - var(--rise) * 46%));filter:drop-shadow(0 5px 4px rgba(53,49,39,.12));will-change:transform}.layered-envelope-flap{position:absolute;z-index:6;left:15.5%;top:36.5%;width:69%;height:35.5%;transform-origin:50% 0;transform-style:preserve-3d;transform:rotateX(calc(var(--flap) * 180deg));will-change:transform}.layered-flap-face{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 100%);backface-visibility:hidden}.layered-flap-front{background:linear-gradient(145deg,#ffffff0d,#2c35260a),url(/images/envelope-closed-photo.png) center 46% / 155% auto;box-shadow:inset 0 1px #ffffff8c}.layered-flap-back{transform:rotateX(180deg);background:url(/images/envelope-floral-liner.png) center bottom / cover;box-shadow:inset 0 -4px 9px #47433614}.layered-wax-seal{position:absolute;z-index:8;left:50%;top:59%;width:clamp(52px,7.5%,72px);aspect-ratio:1;display:grid;place-items:center;border-radius:46% 54% 51% 49%/53% 45% 55% 47%;background:radial-gradient(circle at 36% 28%,#dca49a,#aa625b 72%);box-shadow:0 5px 5px #4c2d2847,inset 0 0 0 4px #783c383d,inset 0 0 0 6px #f0b5aa38;color:#79433f;font-family:Italiana,serif;font-size:clamp(.62rem,1.2vw,.9rem);transform:translate(-50%,-50%) translateY(calc((1 - var(--seal)) * 18px)) rotate(calc((1 - var(--seal)) * 9deg)) scale(calc(.72 + var(--seal) * .28));opacity:var(--seal)}@media(max-width:700px){.layered-envelope-intro{height:230vh}.layered-envelope-scene{width:108vw;transform:translateY(-3vh)}}.envelope-curtain{position:relative;z-index:110;height:185vh;background:transparent}.envelope-curtain-sticky{position:sticky;top:0;width:100%;height:100vh;overflow:hidden;perspective:1500px;pointer-events:none}.envelope-curtain-sticky:before{content:"";position:absolute;inset:0;z-index:0;background:#f4efe6;opacity:calc(1 - var(--home-reveal))}.envelope-curtain-stage{position:absolute;z-index:1;left:50%;top:50%;width:100vw;height:100vh;transform:translate(-50%,-50%) scale(calc(1 - var(--home-reveal) * .04));will-change:transform}.envelope-curtain-photo{position:absolute;z-index:1;inset:0;background:url(/images/envelope-closed-photo.png) center / cover no-repeat;opacity:clamp(0,calc(25.5 - var(--flap-open) * 50),1);transform:scale(calc(1 + var(--flap-open) * .015));filter:saturate(.92) contrast(.98);will-change:opacity,transform}.envelope-curtain-photo-open{z-index:2;background-image:url(/images/sage-envelope.png);background-size:contain;opacity:calc(clamp(0,calc(var(--flap-open) * 50 - 24.5),1) * (1 - var(--home-reveal)));transform:translateY(calc((1 - var(--flap-open)) * 1.5vh)) scale(calc(.97 + var(--flap-open) * .03))}.envelope-curtain-action{position:absolute;z-index:8;left:50%;bottom:3.5vh;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.42rem;padding:.75rem 1.35rem .65rem;border:0;background:transparent;color:var(--olive-dark);cursor:pointer;pointer-events:auto;opacity:calc(1 - var(--flap-open) * 4)}.envelope-curtain-action strong{font-size:.64rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase}.envelope-curtain-action-line{width:1px;height:14px;background:#434c396b}.envelope-curtain-action b{height:.65rem;font-family:Georgia,serif;font-size:1rem;line-height:.4;font-weight:400;animation:invitation-arrow 1.8s ease-in-out infinite}.home-behind-envelope{position:relative;z-index:1;margin-top:-100vh}@media(max-width:700px){.envelope-curtain{height:170vh}.envelope-curtain-photo{background-size:contain}}@media(prefers-reduced-motion:reduce){.envelope-curtain-action b{animation:none}}.section-dots{position:fixed;z-index:100;left:2rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:1.35rem}.section-dot-line{position:absolute;z-index:-1;top:7px;bottom:7px;left:50%;width:1px;transform:translate(-50%);background:#555d4929}.section-dot{position:relative;width:18px;height:18px;border:0;padding:0;background:transparent;cursor:pointer}.section-dot-circle{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%);background:var(--sage);border:1px solid rgba(72,81,63,.45);transition:width .25s ease,height .25s ease,background .25s ease,box-shadow .25s ease}.section-dot-active .section-dot-circle{width:14px;height:14px;background:var(--olive);box-shadow:0 0 0 4px #646c551a}.section-dot-label{position:absolute;left:30px;top:50%;transform:translateY(-50%) translate(-8px);opacity:0;white-space:nowrap;pointer-events:none;color:var(--olive-dark);font-family:Cormorant Garamond,serif;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;transition:opacity .2s ease,transform .2s ease}.section-dot:hover .section-dot-label,.section-dot-active .section-dot-label{opacity:1;transform:translateY(-50%) translate(0)}.main-content{width:100%}.hero-section{position:relative;min-height:100vh;padding:6rem 3rem 4rem;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.hero-floral{position:absolute;width:min(420px,38vw);pointer-events:none;opacity:.7}.hero-floral-left{left:-8%;top:-4%;transform:rotate(3deg)}.hero-floral-right{right:-8%;top:-5%;transform:scaleX(-1)}.hero-names{display:flex;flex-direction:column;margin:1.4rem 0;font-family:Italiana,serif;font-weight:400;text-transform:uppercase;letter-spacing:.16em;color:var(--olive);font-size:clamp(3.5rem,8vw,7rem);line-height:.95}.hero-and{padding:.28em 0;color:var(--gold);text-transform:lowercase;letter-spacing:0;font-size:.45em}.hero-villa{width:min(820px,80vw);margin:1rem auto 1.5rem;filter:drop-shadow(0 12px 18px rgba(70,64,48,.08))}.hero-date{text-transform:uppercase;letter-spacing:.26em;font-size:.85rem}.hero-location{margin-bottom:0;color:var(--olive);font-size:clamp(2rem,4vw,3rem)}.scroll-down{margin-top:2rem;color:var(--olive);font-size:1.4rem}.celebration-section{min-height:430px;padding:4.5rem;display:grid;grid-template-columns:minmax(190px,.7fr) minmax(300px,1.2fr) minmax(300px,1fr);align-items:center;gap:3rem;border-top:1px solid rgba(80,80,65,.13);border-bottom:1px solid rgba(80,80,65,.13)}.celebration-heading{text-align:center}.celebration-copy{font-size:1.1rem;line-height:1.75}.celebration-coast{width:100%}.welcome-section{min-height:620px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:center;gap:clamp(2.5rem,6vw,6rem);padding:clamp(4rem,8vw,7rem);border-bottom:1px solid rgba(80,80,65,.13);background:var(--paper)}.welcome-collage{position:relative;min-height:clamp(390px,47vw,610px)}.welcome-collage:before{content:"";position:absolute;inset:9% 6% 7% 4%;background:#bbbda938;transform:rotate(-2deg)}.welcome-photo{position:absolute;display:block;padding:clamp(.45rem,1vw,.75rem);border:1px solid rgba(169,138,93,.22);background:var(--paper);object-fit:cover;box-shadow:0 18px 38px #39382f2b}.welcome-photo--ocean{top:1%;left:1%;width:78%;aspect-ratio:4 / 3;transform:rotate(-2.2deg)}.welcome-photo--friends{right:0;bottom:0;z-index:1;width:48%;aspect-ratio:3 / 4;object-position:center 70%;transform:rotate(3deg)}.welcome-copy{max-width:560px;text-align:center}.welcome-copy h2{margin:.85rem 0 0;color:var(--olive-dark);font-family:Italiana,serif;font-size:clamp(2rem,4vw,3.6rem);font-weight:400;line-height:1.18;letter-spacing:.06em}.welcome-copy>p:not(.eyebrow){margin:0 auto 1.1rem;font-size:1.12rem;line-height:1.75}.botanical-divider{display:flex;justify-content:center;gap:.3rem;margin:1rem 0 2rem;color:var(--sage)}.content-section{padding:7rem 5rem;text-align:center;border-bottom:1px solid rgba(80,80,65,.13)}.content-section h2{font-size:clamp(2rem,4vw,3.4rem)}.section-intro{max-width:650px;margin:0 auto 3rem;font-size:1.15rem;line-height:1.8}.coming-soon-card{width:min(600px,100%);margin:3rem auto 0;padding:4rem 2rem;border:1px solid rgba(80,80,65,.18);background:#ffffff40}.ceremony-icon{margin-bottom:1rem;color:var(--sage);font-size:3rem}.coming-soon-card h3{font-family:Italiana,serif;color:var(--olive-dark);letter-spacing:.12em}.coming-soon-card span{display:block;margin-top:1.2rem;color:var(--sage);font-style:italic}.timeline{max-width:1000px;margin:3rem auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.timeline-item{display:flex;flex-direction:column;gap:.6rem;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.timeline-icon{margin-bottom:.7rem;color:var(--sage);font-size:2.5rem}.travel-section{padding:0;display:grid;grid-template-columns:1.35fr 1fr;min-height:600px}.travel-image-wrapper{min-height:600px;display:flex;align-items:center;overflow:hidden;background:#edf0ec}.travel-image{width:100%;object-fit:contain;transform:scale(1.08)}.travel-copy{padding:6rem 4rem;display:flex;flex-direction:column;justify-content:center}.travel-copy p{line-height:1.7}.travel-detail{padding:1.2rem 0;display:flex;flex-direction:column;gap:.35rem;border-top:1px solid rgba(80,80,65,.14)}.travel-detail span{text-transform:uppercase;letter-spacing:.18em;font-size:.65rem}.travel-detail strong{font-weight:500;font-size:1.1rem}.small-note{color:#686c5e;font-style:italic}.accommodation-preview{max-width:950px;margin:3rem auto 0;display:grid;grid-template-columns:1.2fr .8fr;align-items:stretch;border:1px solid rgba(80,80,65,.14);background:#ffffff47}.accommodation-illustration{display:flex;align-items:center;min-height:370px;padding:2rem;background:#edf0ea}.accommodation-illustration img{width:100%}.accommodation-coming-soon{position:relative;padding:4rem 3rem;display:flex;flex-direction:column;justify-content:center;text-align:left}.accommodation-coming-soon h3{margin-bottom:1rem;color:var(--olive-dark);font-family:Italiana,serif;font-size:1.7rem;line-height:1.4}.accommodation-coming-soon p{line-height:1.7}.card-number{color:var(--sage);text-transform:uppercase;letter-spacing:.2em;font-size:.72rem}.coming-label{color:var(--sage);text-transform:uppercase;letter-spacing:.2em;font-size:.7rem}.faq-list{max-width:760px;margin:3rem auto 0;text-align:left}.faq-list details{padding:1.25rem 0;border-bottom:1px solid rgba(80,80,65,.18)}.faq-list summary{cursor:pointer;font-family:Italiana,serif;color:var(--olive-dark)}.faq-list p{margin:1rem 0 0;line-height:1.7}.rsvp-section{min-height:630px;padding:6rem 5rem;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:4rem;background:var(--paper-dark)}.rsvp-art-wrapper{display:flex;justify-content:center}.rsvp-art{width:min(650px,100%);filter:drop-shadow(0 18px 22px rgba(60,54,42,.12))}.rsvp-copy{max-width:520px;text-align:center}.rsvp-copy h2{font-size:clamp(2.2rem,4vw,3.5rem)}.rsvp-copy p{line-height:1.7}.rsvp-script{margin-top:2rem;color:var(--olive);font-size:2rem}.heart{display:block;margin-bottom:.5rem;color:var(--blush)}.villa-page{min-height:100vh;background:var(--ivory)}.villa-header{position:relative;min-height:90vh;padding:5rem 2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.back-link{position:absolute;top:30px;left:35px;text-transform:uppercase;letter-spacing:.15em;font-size:.7rem}.villa-header-monogram{margin-bottom:4rem;color:var(--olive);letter-spacing:.25em}.villa-header h1{margin-bottom:1.5rem;color:var(--olive);font-family:Italiana,serif;font-weight:400;text-transform:uppercase;letter-spacing:.15em;font-size:clamp(3rem,9vw,7rem)}.villa-dates{text-transform:uppercase;letter-spacing:.28em}.villa-intro{max-width:800px;margin:auto;padding:7rem 2rem;text-align:center}.villa-intro h2{font-size:2.4rem}.villa-intro p{font-size:1.2rem;line-height:1.8}.villa-included{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(80,80,65,.13);border-bottom:1px solid rgba(80,80,65,.13)}.villa-included>div{padding:4rem 3rem;text-align:center}.villa-included>div+div{border-left:1px solid rgba(80,80,65,.13)}.villa-icon{display:block;margin-bottom:1rem;color:var(--sage);font-size:2.5rem}.villa-included h3{color:var(--olive-dark);font-family:Italiana,serif}.villa-included p{line-height:1.7}.villa-itinerary{max-width:900px;margin:auto;padding:8rem 2rem}.villa-itinerary>h2,.villa-itinerary>.eyebrow{text-align:center}.villa-itinerary>h2{margin-bottom:5rem;font-size:clamp(2rem,5vw,3.5rem)}.villa-day{padding:3rem 0;display:grid;grid-template-columns:100px 1fr;gap:2rem;border-top:1px solid rgba(80,80,65,.15)}.day-number{color:var(--sage);font-family:Italiana,serif;font-size:2rem}.day-name{color:var(--rose);text-transform:uppercase;letter-spacing:.22em;font-size:.72rem}.villa-day h3{color:var(--olive-dark);font-family:Italiana,serif;font-size:1.8rem}.villa-day p{line-height:1.7}.optional-note{padding-left:1rem;border-left:2px solid var(--sage-light);font-style:italic}.wedding-day-villa{padding-left:2rem;padding-right:2rem;background:#d6ada214}.villa-footer{padding:7rem 2rem;text-align:center;background:var(--paper-dark)}.villa-footer-cats{display:flex;justify-content:center;margin-bottom:2rem}.villa-footer-cats img{width:min(600px,100%)}@media(max-width:900px){.hero-floral{width:55vw;opacity:.4}.celebration-section{padding:4rem 2rem;grid-template-columns:1fr;text-align:center}.celebration-coast{max-width:600px;margin:auto}.welcome-section{min-height:auto;grid-template-columns:1fr;gap:2.5rem;padding:4.5rem 2rem}.welcome-collage{width:min(680px,100%);margin:0 auto}.welcome-copy{margin:0 auto}.content-section{padding:5rem 2rem}.travel-section{grid-template-columns:1fr}.travel-image-wrapper{min-height:auto;padding:2rem}.travel-copy{padding:4rem 2rem}.accommodation-preview{grid-template-columns:1fr}.accommodation-coming-soon{text-align:center;padding:3rem 2rem}.rsvp-section{padding:5rem 2rem;grid-template-columns:1fr}.villa-included{grid-template-columns:1fr}.villa-included>div+div{border-left:0;border-top:1px solid rgba(80,80,65,.13)}}@media(max-width:800px){.envelope-intro-section{height:220vh}.envelope-stage{--envelope-width: 94vw}.intro-background-floral{width:65vw}.intro-invitation-card{width:72%;left:14%;height:116%}.invitation-card-border{padding:1.4rem}.invitation-names{font-size:clamp(2rem,9vw,3.7rem)}.intro-cats{width:48%;left:26%}.section-dots{top:auto;right:auto;left:50%;bottom:1rem;transform:translate(-50%);flex-direction:row;gap:.8rem;padding:.7rem 1rem;border:1px solid rgba(90,94,78,.13);border-radius:30px;background:#f8f4ead9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 5px 20px #33302714}.section-dot-line{inset:50% 7px auto;width:auto;height:1px;transform:translateY(-50%)}.section-dot-label{display:none}}@media(max-width:650px){.envelope-intro-section{height:200vh}.envelope-stage{--envelope-width: 95vw}.intro-invitation-card{width:76%;left:12%;height:118%}.invitation-card-border{padding:1rem}.invitation-overline{font-size:.45rem;letter-spacing:.2em}.invitation-date{font-size:.5rem}.invitation-city{font-size:1.25rem}.intro-cats{width:54%;left:23%}.intro-wax-seal{width:58px;height:58px;font-size:.9rem}.hero-section{padding:5rem 1.5rem 3rem}.hero-names{font-size:3rem}.hero-villa{width:95vw}.timeline{grid-template-columns:1fr 1fr;gap:3rem 1rem}.villa-day{grid-template-columns:55px 1fr;gap:1rem}.villa-day h3{font-size:1.45rem}}@media(max-width:800px){.section-dots{left:50%;right:auto;top:auto;bottom:1rem;transform:translate(-50%);flex-direction:row;gap:.75rem;padding:.65rem .9rem;border-radius:999px;background:#f8f4eae0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 5px 20px #33302714}.section-dot-line{inset:50% 7px auto;width:auto;height:1px;transform:translateY(-50%)}.section-dot-label{display:none}}
