:root{--sage:#7c9a6e;--sage-light:#a8c49a;--sage-pale:#dce8d5;--lavender:#9b8ec4;--lavender-light:#c4b8e0;--lavender-pale:#e8e0f5;--ocean:#6b9cc3;--ocean-light:#a3c4dd;--ocean-pale:#d4e6f1;--sand:#e8dcc8;--sand-light:#f2ece0;--cream:#faf8f4;--text:#3a3a3a;--text-light:#6b6b6b;--text-lighter:#9a9a9a;--white:#ffffff;--gold:#c4a962;--gold-light:#e0d5a8;--rose:#d4a0a0}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-josefin),"Josefin Sans",sans-serif;color:var(--text);background:var(--cream);overflow-x:hidden;-webkit-font-smoothing:antialiased}.petals-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;overflow:hidden}.petal{position:absolute;top:-20px;opacity:0;pointer-events:none;will-change:transform,opacity;animation:petalFall linear forwards}@keyframes petalFall{0%{opacity:0;transform:translateX(0) rotate(0deg) scale(.8)}10%{opacity:.7}90%{opacity:.5}to{opacity:0;transform:translateX(var(--drift)) rotate(var(--spin)) scale(.4);top:105vh}}.tropical-corner{position:absolute;z-index:1;pointer-events:none}.tropical-top-left{left:0}.tropical-top-left,.tropical-top-right{top:0;width:clamp(300px,50vw,720px);height:clamp(420px,70vh,1000px)}.tropical-top-right{right:0}.ocean-waves{position:absolute;bottom:0;left:0;right:0;height:80px;z-index:1;pointer-events:none}.ocean-waves svg{width:100%;height:100%;animation:waveGently 8s ease-in-out infinite}@keyframes waveGently{0%,to{transform:translateX(0)}50%{transform:translateX(-15px)}}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(170deg,#e8e0f5,#dce8d5 25%,#d4e6f1 50%,#e8dcc8 75%,#faf8f4);background-size:400% 400%;animation:gradientShift 20s ease infinite;overflow:hidden}@keyframes gradientShift{0%,to{background-position:0 50%}25%{background-position:100% 0}50%{background-position:100% 100%}75%{background-position:0 100%}}.hero-overlay{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 0,rgba(250,248,244,.3) 100%)}.hero-content{position:relative;z-index:2;text-align:center;padding:2rem;max-width:800px}.rings-icon{margin-bottom:1.2rem;opacity:.85;animation:gentleFloat 4s ease-in-out infinite;filter:drop-shadow(0 2px 8px rgba(155,142,196,.25))}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero-pretext{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-weight:300;font-size:1.1rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);margin-bottom:.8rem;line-height:1.8}.hero-names{font-size:clamp(3.5rem,10vw,7rem);font-weight:400;color:var(--lavender);line-height:1.1;margin-bottom:.5rem;text-shadow:0 2px 30px rgba(155,142,196,.15)}.hero-names,.hero-names .amp{font-family:var(--font-great-vibes),"Great Vibes",cursive}.hero-names .amp{color:var(--sage);margin:0 .2em}.hero-divider{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1.5rem 0}.hero-divider .line{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.divider-flower{animation:gentleSpin 12s linear infinite}@keyframes gentleSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hero-tagline{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-style:italic;font-size:1.3rem;color:var(--text-light);margin-bottom:1.5rem;font-weight:300}.hero-date{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-weight:500;font-size:1.2rem;letter-spacing:.15em;color:var(--text);margin-bottom:.3rem}.hero-location{font-weight:300;font-size:1rem;letter-spacing:.2em;color:var(--text-light);margin-bottom:2.5rem}.hero-cta,.hero-location{font-family:var(--font-josefin),"Josefin Sans",sans-serif;text-transform:uppercase}.hero-cta{display:inline-block;padding:1rem 3rem;border:1.5px solid var(--lavender);color:var(--lavender);text-decoration:none;font-weight:400;font-size:.9rem;letter-spacing:.25em;transition:all .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;border-radius:2px}.hero-cta:before{content:"";position:absolute;inset:0;background:var(--lavender);transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.4,0,.2,1);z-index:-1}.hero-cta:hover{color:var(--white);border-color:var(--lavender)}.hero-cta:hover:before{transform:scaleX(1);transform-origin:left}.hero-nav-btns{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-top:.5rem}.hero-nav-btn{padding:.7rem 1.6rem;border:1.5px solid rgba(155,142,196,.5);background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--lavender);font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-weight:400;font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;cursor:pointer;border-radius:2px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.hero-nav-btn:before{content:"";position:absolute;inset:0;background:var(--lavender);transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.4,0,.2,1);z-index:-1}.hero-nav-btn:hover{color:var(--white);border-color:var(--lavender)}.hero-nav-btn:hover:before{transform:scaleX(1);transform-origin:left}.hero-nav-btn-cta{background:var(--lavender);color:var(--white);border-color:var(--lavender)}.hero-nav-btn-cta:before{background:var(--lavender-light)}.scroll-indicator{position:absolute;bottom:2rem;left:0;right:0;z-index:3;align-items:center}.mouse,.scroll-indicator{display:flex;justify-content:center}.mouse{width:26px;height:40px;border:1.5px solid var(--text-lighter);border-radius:13px;padding-top:8px}.wheel{width:3px;height:8px;background:var(--text-lighter);border-radius:2px;animation:scrollWheel 2s ease-in-out infinite}@keyframes scrollWheel{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.3;transform:translateY(8px)}}.section-container{max-width:900px;margin:0 auto;padding:0 2rem}.section-title{font-family:var(--font-great-vibes),"Great Vibes",cursive;font-size:clamp(2.5rem,6vw,3.5rem);color:var(--lavender);text-align:center;margin-bottom:1rem;font-weight:400}.save-the-date{padding:5rem 0 6rem;background:var(--white);position:relative;overflow:hidden}.save-the-date .section-container,.std-row{max-width:1400px}.std-row{display:flex;align-items:center;gap:4rem;margin:0 auto}.std-left{flex:0 0 380px;max-width:380px}.std-right{flex:1 1;min-width:0}@media (max-width:900px){.std-row{flex-direction:column;gap:2.5rem}.std-left{flex:none;max-width:none}.std-left,.std-right{width:100%}.std-card{max-width:100%;margin:0 auto}}.photo-collage{display:grid;grid-template-columns:repeat(var(--collage-cols,4),1fr);grid-template-rows:repeat(var(--collage-rows,4),1fr);grid-gap:.5rem;gap:.5rem;width:100%;aspect-ratio:1.1}.collage-cell{border-radius:10px;overflow:hidden;transition:opacity 1.2s ease,transform 1.2s ease}.collage-cell img{display:block;width:100%;height:100%;object-fit:cover;border-radius:10px}.std-subtitle{text-align:center;font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.15rem;color:var(--text-light);font-weight:300;font-style:italic;margin-bottom:2.5rem}.std-card{max-width:500px;margin:0;position:relative;border-radius:12px;overflow:visible;box-shadow:0 15px 50px rgba(0,0,0,.08);transition:transform .5s ease,box-shadow .5s ease}@media (hover:hover) and (pointer:fine){.std-card:hover{transform:translateY(-4px);box-shadow:0 25px 60px rgba(0,0,0,.12)}}.std-image-wrapper{border-radius:12px;overflow:hidden}.std-image{width:100%;height:auto;display:block;border-radius:12px}.std-frame-corner{position:absolute;pointer-events:none;z-index:2}.std-frame-tl{top:-12px;left:-12px}.std-frame-tr{top:-12px;right:-12px}.std-frame-bl{bottom:-12px;left:-12px}.std-frame-br{bottom:-12px;right:-12px}.std-placeholder{padding:4rem 2rem;text-align:center;background:linear-gradient(135deg,var(--lavender-pale) 0,var(--sage-pale) 30%,var(--ocean-pale) 60%,var(--sand-light) 100%);border-radius:12px;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center}.std-placeholder-icon{margin-bottom:2rem;opacity:.5}.std-placeholder-names{font-family:var(--font-great-vibes),"Great Vibes",cursive;font-size:2.5rem;color:var(--lavender);margin-bottom:.5rem}.std-placeholder-date{font-weight:500;font-size:1.1rem;letter-spacing:.15em;color:var(--text);margin-bottom:.3rem}.std-placeholder-date,.std-placeholder-location{font-family:var(--font-josefin),"Josefin Sans",sans-serif}.std-placeholder-location{font-weight:300;font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);margin-bottom:2rem}.std-placeholder-hint{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-style:italic;font-size:1rem;color:var(--text-lighter)}.site-nav{position:fixed;top:0;left:0;right:0;z-index:999;background:#faf8f4;border-bottom:1px solid rgba(0,0,0,.06);transform:translateY(-100%);transition:transform .4s cubic-bezier(.4,0,.2,1);overflow:visible}.site-nav.nav-visible{transform:translateY(0)}.nav-inner{display:flex;align-items:center;justify-content:center;gap:.2rem;padding:.8rem;flex-wrap:wrap}.nav-link{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-light);text-decoration:none;padding:.5rem .7rem;border-radius:4px;white-space:nowrap;transition:all .3s ease;font-weight:400}.nav-link:hover{color:var(--lavender);background:var(--lavender-pale)}.nav-link-active{color:var(--lavender);font-weight:600}.nav-link-cta,nav .nav-link.nav-link-cta{color:var(--white);background:var(--lavender);margin-left:.3rem}.nav-link-cta:hover,nav .nav-link.nav-link-cta:hover{background:#8b7db8;color:var(--white)}.at-a-glance{padding:5rem 0;background:var(--white);position:relative}.glance-grid{display:flex;align-items:center;justify-content:center;gap:0;background:var(--white);border-radius:12px;padding:2rem 2.5rem;box-shadow:0 8px 30px rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.04);flex-wrap:wrap}.glance-item{text-align:center;padding:.5rem 1.5rem;flex:1 1;min-width:140px}.glance-label{display:block;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-weight:400;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lavender);margin-bottom:.4rem}.glance-value{display:block;font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.15rem;font-weight:600;color:var(--text)}.glance-divider{width:1px;height:40px;background:linear-gradient(180deg,transparent,var(--lavender-light),transparent)}.glance-welcome{margin-top:2rem;text-align:center}.glance-welcome p{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.15rem;line-height:1.8;color:var(--text-light);font-weight:300;font-style:italic;max-width:700px;margin:0 auto}.note-accent{position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--sage),var(--lavender))}.note-icon{flex-shrink:0}.origin-toggle-section{padding:4rem 0;background:linear-gradient(135deg,var(--lavender-pale) 0,var(--sage-pale) 100%);position:relative}.origin-subtitle{text-align:center;font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.1rem;color:var(--text-light);font-weight:300;font-style:italic;margin-bottom:2rem}.origin-toggle{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.origin-btn{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:1.8rem 2.5rem;background:var(--white);border:2px solid rgba(0,0,0,.06);border-radius:16px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);min-width:220px;box-shadow:0 4px 15px rgba(0,0,0,.04)}.origin-btn:hover{border-color:var(--lavender-light);transform:translateY(-3px);box-shadow:0 8px 30px rgba(155,142,196,.15)}.origin-btn.origin-active{border-color:var(--lavender);background:linear-gradient(135deg,var(--lavender-pale),var(--white));box-shadow:0 8px 30px rgba(155,142,196,.2);transform:translateY(-3px)}.origin-flag{font-size:2rem;line-height:1}.origin-btn-label{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.85rem;font-weight:400;letter-spacing:.05em;color:var(--text)}.origin-btn.origin-active .origin-btn-label{color:var(--lavender);font-weight:500}.origin-inline{margin-top:3rem;text-align:center;padding:2.5rem 2rem;background:linear-gradient(135deg,var(--lavender-pale) 0,var(--sage-pale) 100%);border-radius:16px}.origin-inline-title{font-size:1.6rem;font-weight:500;color:var(--text);margin-bottom:.3rem}.origin-inline-sub,.origin-inline-title{font-family:var(--font-cormorant),"Cormorant Garamond",serif}.origin-inline-sub{font-size:1.05rem;color:var(--text-light);font-weight:300;font-style:italic;margin-bottom:1.5rem}.schedule{padding:6rem 0;background:var(--white);position:relative}.schedule:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--lavender-pale),var(--sage-pale),transparent)}.schedule-subtitle{font-size:1.15rem;font-weight:300;font-style:italic;margin-bottom:2rem}.schedule-intro,.schedule-subtitle{text-align:center;font-family:var(--font-cormorant),"Cormorant Garamond",serif;color:var(--text-light)}.schedule-intro{max-width:700px;margin:0 auto 3rem;font-size:1.1rem;line-height:1.7}.event-context{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:.95rem;line-height:1.6;color:var(--text-lighter);font-style:italic;margin-top:.5rem;padding-left:1rem;border-left:2px solid var(--lavender-pale)}.schedule-days{display:grid;grid-template-columns:1fr 1fr;grid-gap:2.5rem;gap:2.5rem}.schedule-day{background:var(--cream);border-radius:12px;overflow:hidden;border:1px solid rgba(0,0,0,.04)}.day-header{padding:1.8rem 2rem 1.5rem;background:linear-gradient(135deg,var(--lavender-pale) 0,var(--sage-pale) 100%);text-align:center}.day-label{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-weight:400;font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:var(--lavender);display:block;margin-bottom:.3rem}.day-date{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.4rem;font-weight:600;color:var(--text)}.day-venue{display:inline-flex;align-items:center;gap:.4rem;margin-top:.5rem;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-weight:300;font-size:.72rem;letter-spacing:.08em;color:var(--text-light)}.day-venue svg{flex-shrink:0;opacity:.7}.timeline{padding:1.5rem 2rem 2rem}.timeline-event{display:flex;gap:1.5rem;padding:1.2rem 0;border-bottom:1px solid rgba(0,0,0,.04)}.timeline-event:last-child{border-bottom:none;padding-bottom:0}.event-time{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-weight:400;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lavender);min-width:80px;padding-top:.2rem;flex-shrink:0}.event-name{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.25rem;font-weight:600;color:var(--text);margin-bottom:.4rem}.event-description{font-size:.9rem;color:var(--text-light);line-height:1.6;font-weight:300;margin-bottom:.5rem}.event-dress-hint{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.75rem;letter-spacing:.05em;color:var(--gold);font-weight:400}.event-dress-link{color:var(--lavender);text-decoration:none;transition:opacity .2s ease}.event-dress-link:hover{opacity:.7}.schedule-note{background:linear-gradient(135deg,var(--lavender-pale) 0,var(--sage-pale) 100%);padding:2rem 2.5rem;border-radius:8px;position:relative;overflow:hidden;margin-top:2.5rem;display:flex;align-items:center;gap:1.2rem}.schedule-note p{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.1rem;line-height:1.7;color:var(--text);text-align:center;flex:1 1}.venue{padding:6rem 0;background:linear-gradient(135deg,var(--sage-pale) 0,var(--cream) 50%,var(--lavender-pale) 100%);position:relative}#venue .section-container{max-width:1320px}.venue-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:3rem;gap:3rem;max-width:1280px;margin:0 auto;align-items:stretch}.venue-column{display:flex;flex-direction:column;min-width:0}.venue-day-label{margin:0 0 1rem;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-weight:500;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lavender);text-align:center}.venue-column .venue-image-wrapper{max-width:none;margin:0 0 1.2rem}.venue-column .venue-image{aspect-ratio:3/2;object-fit:cover}.venue-column .venue-card{max-width:none;margin:0;flex:1 1;display:flex;flex-direction:column}.venue-column .venue-description{flex:1 1}.venue-card{max-width:800px;margin:0 auto;background:var(--white);border-radius:14px;padding:2.5rem;box-shadow:0 4px 20px rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.04)}.venue-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(0,0,0,.06)}.venue-name{font-family:var(--font-great-vibes),"Great Vibes",cursive;font-size:2.2rem;color:var(--lavender);font-weight:400;margin-bottom:.3rem}.venue-address{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.8rem;letter-spacing:.1em}.venue-address,.venue-description{color:var(--text-light);font-weight:300}.venue-description{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.05rem;line-height:1.7;text-align:center;margin-bottom:1.5rem}.venue-actions{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;margin-bottom:2rem}.venue-image-wrapper{max-width:800px;margin:0 auto 2rem;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.06)}.venue-image{width:100%;height:auto;display:block}.venue-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.4rem;border-radius:25px;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.75rem;letter-spacing:.08em;text-decoration:none;transition:all .3s ease;cursor:pointer}.venue-btn-primary{background:var(--lavender);color:var(--white);border:1.5px solid var(--lavender)}.venue-btn-primary:hover{background:#8b7db8;transform:translateY(-1px);box-shadow:0 4px 12px rgba(155,142,196,.25)}.venue-btn-secondary{background:none;color:var(--lavender);border:1.5px solid rgba(155,142,196,.4)}.venue-btn-secondary:hover{background:var(--lavender);color:var(--white);transform:translateY(-1px)}.venue-amenities{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem}.amenity{text-align:center;padding:1rem .5rem;border-radius:8px;background:rgba(196,184,224,.06);border:1px solid rgba(0,0,0,.03)}.amenity-icon{color:var(--sage);margin-bottom:.4rem}.amenity span{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.7rem;color:var(--text-light);font-weight:300;letter-spacing:.03em}.travel{padding:6rem 0;background:var(--white);position:relative}.travel:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--sage-pale),var(--ocean-pale),transparent)}.travel-subtitle{text-align:center;font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.15rem;color:var(--text-light);font-weight:300;font-style:italic;margin-bottom:3rem}.travel-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem}.travel-card{background:var(--cream);border-radius:12px;padding:2.5rem 2rem;border:1px solid rgba(0,0,0,.04);transition:all .4s ease}.travel-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.06)}.travel-card-icon{color:var(--sage);margin-bottom:1.2rem}.travel-card h3{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.4rem;font-weight:600;color:var(--text);margin-bottom:1rem}.travel-card>p{font-size:.9rem;color:var(--text-light);line-height:1.7;font-weight:300;margin-bottom:1.2rem}.travel-tips{background:var(--white);border-radius:8px;padding:1.2rem 1.5rem;margin-bottom:1.2rem}.travel-tips p{font-size:.85rem;color:var(--text-light);line-height:1.6;font-weight:300;margin-bottom:.5rem}.travel-tips p:last-child{margin-bottom:0}.travel-tips strong{font-weight:500;color:var(--text)}.travel-link{display:inline-block;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.85rem;color:var(--lavender);text-decoration:none;letter-spacing:.05em;font-weight:400;transition:color .3s}.travel-link:hover{color:#8b7db8}.weather-hero-card{max-width:800px;margin:0 auto 2.5rem;background:var(--white);border-radius:14px;padding:2.5rem;box-shadow:0 4px 20px rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.04)}.weather-hero-text{color:var(--text-light);font-size:.95rem;line-height:1.7;text-align:center;margin-bottom:1.5rem;max-width:600px;margin-left:auto;margin-right:auto}.weather-unit-toggle{display:flex;justify-content:center;gap:0;margin-bottom:1.5rem}.weather-unit-btn{padding:.4rem 1.2rem;border:1px solid rgba(155,142,196,.3);background:transparent;color:var(--text-light);font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.8rem;letter-spacing:.05em;cursor:pointer;transition:all .2s ease}.weather-unit-btn:first-child{border-radius:6px 0 0 6px}.weather-unit-btn:last-child{border-radius:0 6px 6px 0;border-left:none}.weather-unit-active{background:var(--lavender);color:var(--white);border-color:var(--lavender)}.weather-stats{display:flex;gap:1rem;justify-content:center}.weather-stat-card{flex:1 1;text-align:center;padding:1.2rem 1rem;background:rgba(196,184,224,.06);border-radius:10px;border:1px solid rgba(0,0,0,.03)}.weather-stat-icon{color:var(--lavender);margin-bottom:.5rem;display:flex;justify-content:center}.weather-stat-value{display:block;font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.25rem;font-weight:600;color:var(--lavender);margin-bottom:.25rem}.weather-stat-label{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-lighter);font-weight:300}.dress-code{padding:6rem 0;background:var(--white);position:relative}.dresscode-subtitle{text-align:center;font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.15rem;color:var(--text-light);font-weight:300;font-style:italic;margin-bottom:3rem}.dresscode-events{display:flex;flex-direction:column;gap:3rem}.dresscode-day-heading{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-weight:300;font-size:1.1rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-light);margin-bottom:1.2rem}.dresscode-day-heading span{display:block;font-size:.8rem;letter-spacing:.1em;opacity:.6;margin-top:.2rem}.dresscode-day-label{display:flex;align-items:baseline;gap:.75rem;margin-bottom:1.2rem;padding-bottom:.8rem;border-bottom:1px solid rgba(0,0,0,.08)}.dresscode-day-number{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-weight:500;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text)}.dresscode-day-date{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1rem;color:var(--text-light);font-style:italic}.dresscode-day-cards{display:grid;grid-template-columns:1fr;grid-gap:1.5rem;gap:1.5rem}@media (min-width:1100px){.dress-code .section-container{max-width:1200px}.dresscode-day-cards{grid-template-columns:repeat(2,1fr);align-items:start}.dresscode-day:last-child .dresscode-day-cards{grid-template-columns:1fr}}.dresscode-card{background:var(--white);border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.04)}.dresscode-card,.dresscode-header{display:flex;flex-direction:column}.dresscode-header{padding:2rem 2.5rem;text-align:center;min-height:140px;align-items:center;justify-content:center}.dresscode-haldi{background:linear-gradient(135deg,#fef3c7,#fde68a);position:relative;overflow:hidden}@keyframes haldiFloat1{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-12px) rotate(15deg)}}@keyframes haldiFloat2{0%,to{transform:translateY(0) rotate(10deg)}50%{transform:translateY(-8px) rotate(-10deg)}}.dresscode-haldi:before{width:8px;height:8px;background:rgba(240,180,40,.35);top:30%;left:8%;box-shadow:30px 15px 0 3px rgba(232,150,30,.25),90px -10px 0 2px rgba(240,196,48,.3),170px 20px 0 4px rgba(245,215,110,.3),260px -5px 0 2px rgba(224,123,48,.2),340px 12px 0 3px rgba(240,196,48,.25),420px -8px 0 2px rgba(232,150,30,.2),500px 18px 0 3px rgba(245,215,110,.25);animation:haldiFloat1 5s ease-in-out infinite}.dresscode-haldi:after,.dresscode-haldi:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.dresscode-haldi:after{width:6px;height:6px;background:rgba(232,150,30,.3);top:55%;left:15%;box-shadow:50px 10px 0 2px rgba(245,215,110,.25),130px -8px 0 3px rgba(240,196,48,.3),210px 15px 0 2px rgba(224,123,48,.2),300px -12px 0 4px rgba(232,150,30,.25),380px 8px 0 2px rgba(245,215,110,.3),470px -5px 0 3px rgba(240,196,48,.2);animation:haldiFloat2 7s ease-in-out infinite}.dresscode-cocktail{background:linear-gradient(135deg,#2a2848,#3d3a6e);position:relative;overflow:hidden}@keyframes twinkle1{0%,to{opacity:.3}50%{opacity:1}}@keyframes twinkle2{0%,to{opacity:.6}50%{opacity:.15}}.dresscode-cocktail:before{background:rgba(255,255,255,.8);top:25%;left:8%;box-shadow:40px 25px 0 1px rgba(255,255,255,.6),100px -10px 0 0 rgba(200,190,230,.5),180px 30px 0 1px rgba(255,255,255,.5),250px -15px 0 0 rgba(255,255,255,.4),330px 20px 0 1px rgba(200,190,230,.6),410px -5px 0 0 rgba(255,255,255,.5),480px 15px 0 1px rgba(200,190,230,.4);animation:twinkle1 3s ease-in-out infinite}.dresscode-cocktail:after,.dresscode-cocktail:before{content:"";position:absolute;width:2px;height:2px;border-radius:50%;pointer-events:none}.dresscode-cocktail:after{background:rgba(200,190,230,.6);top:60%;left:18%;box-shadow:60px -20px 0 0 rgba(255,255,255,.5),140px 15px 0 1px rgba(200,190,230,.4),220px -8px 0 0 rgba(255,255,255,.6),310px 22px 0 1px rgba(200,190,230,.5),390px -12px 0 0 rgba(255,255,255,.4),460px 10px 0 1px rgba(255,255,255,.5);animation:twinkle2 4s ease-in-out infinite}.dresscode-header.dresscode-cocktail h3{color:#ffffff;font-size:2.8rem}.dresscode-cocktail .dresscode-event-label{color:var(--white);opacity:.7}@keyframes weddingShimmer{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes weddingFloat1{0%,to{transform:translateY(0) rotate(0deg);opacity:.3}50%{transform:translateY(-10px) rotate(20deg);opacity:.5}}@keyframes weddingFloat2{0%,to{transform:translateY(0) rotate(15deg);opacity:.4}50%{transform:translateY(-8px) rotate(-15deg);opacity:.25}}.dresscode-wedding{background:linear-gradient(135deg,var(--lavender-pale) 0,#e8d5e0 25%,#d4e0b8 50%,#e0d5a8 75%,var(--lavender-pale) 100%);background-size:200% 200%;animation:weddingShimmer 8s ease-in-out infinite;position:relative;overflow:hidden}.dresscode-wedding:before{width:6px;height:6px;background:rgba(196,184,224,.4);top:30%;left:10%;box-shadow:50px 15px 0 2px rgba(232,213,224,.35),130px -8px 0 3px rgba(196,184,224,.3),220px 20px 0 2px rgba(184,212,208,.3),310px -5px 0 3px rgba(224,213,168,.3),400px 12px 0 2px rgba(168,196,212,.35);animation:weddingFloat1 6s ease-in-out infinite}.dresscode-wedding:after,.dresscode-wedding:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.dresscode-wedding:after{width:5px;height:5px;background:rgba(232,213,224,.35);top:60%;left:20%;box-shadow:40px -10px 0 3px rgba(184,212,208,.3),120px 18px 0 2px rgba(224,213,168,.3),200px -12px 0 3px rgba(196,184,224,.35),290px 8px 0 2px rgba(168,196,212,.3),370px -5px 0 3px rgba(232,213,224,.3);animation:weddingFloat2 8s ease-in-out infinite}.dresscode-event-label{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-weight:400;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);display:block;margin-bottom:.3rem}.dresscode-header h3{font-family:var(--font-great-vibes),"Great Vibes",cursive;font-size:2.2rem;font-weight:400;color:var(--text)}.dresscode-body{padding:2.5rem;flex:1 1;display:flex;flex-direction:column}.dc-options-bottom{margin-top:auto}.dresscode-what{margin-bottom:2rem}.dresscode-guide h4,.dresscode-what h4{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-weight:500;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lavender);margin-bottom:.8rem}.dresscode-what p{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.1rem;line-height:1.8;color:var(--text);font-weight:300}.dresscode-options{display:flex;flex-direction:column;gap:1.5rem}.dresscode-option{background:var(--cream);border-radius:8px;padding:1.5rem;border-left:3px solid var(--sage-light)}.dresscode-option-label{display:block;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-weight:500;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--sage);margin-bottom:.5rem}.dresscode-option p{font-size:.95rem;color:var(--text-light);line-height:1.7;font-weight:300}.dresscode-option strong{font-weight:500;color:var(--text)}.dresscode-glossary{list-style:none;padding:0;margin-top:.8rem}.dresscode-glossary li{padding:.6rem 0;font-size:.9rem;color:var(--text-light);line-height:1.6;font-weight:300;border-bottom:1px solid rgba(0,0,0,.04)}.dresscode-glossary li:last-child{border-bottom:none}.dresscode-glossary strong{font-weight:500;color:var(--text)}.dresscode-color-palette{display:flex;flex-wrap:nowrap;gap:.5rem;padding:1.5rem 0 0;justify-content:center}.color-swatch{width:32px;height:32px;flex-shrink:1;min-width:24px;border-radius:50%;border:2px solid var(--white);box-shadow:0 2px 8px rgba(0,0,0,.1);transition:transform .3s ease}.color-swatch:hover{transform:scale(1.2)}.dc-culture-note{max-width:700px;margin:0 auto 2.5rem;text-align:center;padding:1.5rem 2rem;background:rgba(196,184,224,.08);border-radius:12px;border:1px solid rgba(196,184,224,.15)}.dc-culture-note p{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.05rem;margin:0}.dc-culture-note p,.dc-event-intro{line-height:1.7;color:var(--text-light)}.dc-event-intro{font-size:.95rem;font-weight:300;margin-bottom:1.5rem}.dc-event-intro strong{font-weight:500;color:var(--text)}.dc-palette-section{background:rgba(196,184,224,.06);border-radius:10px;padding:1.2rem 1.5rem;margin-bottom:1.5rem;text-align:center}.dc-palette-label{font-weight:500;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lavender);margin-bottom:.6rem}.dc-palette-hint,.dc-palette-label{font-family:var(--font-josefin),"Josefin Sans",sans-serif}.dc-palette-hint{font-size:.75rem;color:var(--text-lighter);letter-spacing:.03em;margin-top:.5rem}.dc-inline-section{margin-bottom:1.2rem}.dc-inline-section p{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1rem;line-height:1.6;color:var(--text-light)}.dc-options-section{margin-bottom:1.5rem}.dc-options-columns{display:grid;grid-template-columns:1fr;grid-gap:0;gap:0}@media (min-width:1100px){.dc-options-columns{grid-template-columns:1fr 1fr;gap:2rem}}.dc-section-label{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-weight:500;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lavender);margin-bottom:.8rem}.dc-accordion{border:1px solid rgba(0,0,0,.06);border-radius:8px;margin-bottom:.5rem;overflow:hidden;background:var(--cream)}.dc-accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.2rem;border:none;background:none;cursor:pointer;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.85rem;font-weight:400;color:var(--text);letter-spacing:.02em}.dc-accordion-trigger:hover{background:rgba(196,184,224,.06)}.dc-accordion-icon{color:var(--lavender);transition:transform .2s ease;flex-shrink:0}.dc-accordion-open .dc-accordion-icon{transform:rotate(180deg)}.dc-accordion-content{padding:0 1.2rem 1.2rem}.dc-accordion-content p{font-size:.9rem;color:var(--text-light);line-height:1.6;font-weight:300}.dc-shop-links{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.8rem}.dc-shop-link{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.7rem;letter-spacing:.05em;color:var(--lavender);text-decoration:none;padding:.35rem .8rem;border:1px solid rgba(155,142,196,.3);border-radius:20px;transition:all .2s ease}.dc-shop-link:hover{background:var(--lavender);color:var(--white);border-color:var(--lavender)}.dc-shop-grid{gap:.8rem;margin-bottom:.8rem}.dc-shop-card,.dc-shop-grid{display:flex;flex-direction:column}.dc-shop-card{gap:.3rem;padding:1rem;background:var(--cream);border-radius:8px;border:1px solid rgba(0,0,0,.04);text-decoration:none;transition:all .2s ease}.dc-shop-card:hover{border-color:var(--lavender);transform:translateY(-1px)}.dc-shop-card strong{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.8rem;color:var(--text);font-weight:500}.dc-shop-card span{font-size:.75rem;color:var(--text-lighter);line-height:1.4}.dc-shop-note{font-size:.85rem;color:var(--text-lighter);font-style:italic;text-align:center}.dc-jewelry-note{background:var(--cream);border-radius:8px;padding:1.2rem 1.5rem}.dc-jewelry-note p{font-size:.9rem;color:var(--text-light);line-height:1.6;font-weight:300;margin-bottom:.8rem}.dc-jewelry-list{list-style:none;padding:0;margin:0 0 .8rem}.dc-jewelry-list li{padding:.4rem 0;font-size:.85rem;color:var(--text-light);line-height:1.5;font-weight:300;border-bottom:1px solid rgba(0,0,0,.04)}.dc-jewelry-list li:last-child{border-bottom:none}.dc-jewelry-list strong{font-weight:500;color:var(--text)}.dc-shop-section{margin-top:4rem;text-align:center}.dc-shop-section-title{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-weight:300;font-size:1.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text);margin-bottom:.5rem}.dc-shop-section-subtitle{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.1rem;color:var(--text-light);margin-bottom:1.5rem}.dc-shop-section .dc-shop-grid{display:flex;flex-direction:row;gap:1rem}.dc-shop-section .dc-shop-card{flex:1 1}.dc-bottom-note{display:flex;align-items:flex-start;gap:1rem;margin-top:1.5rem;padding:2rem;background:var(--white);border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.04)}.dc-bottom-note-icon{flex-shrink:0;color:var(--gold);margin-top:.1rem}.dc-bottom-note p{font-size:.9rem;color:var(--text-light);line-height:1.7;margin:0}.dc-bottom-note p strong{color:var(--text)}.dc-bottom-link{display:block;margin-top:.5rem;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.75rem;letter-spacing:.05em;color:var(--lavender);text-decoration:none;transition:opacity .2s ease;margin-left:.3rem}.dc-bottom-link:hover{opacity:.7}.things-to-do{padding:6rem 0;background:var(--white);position:relative}.things-to-do:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--ocean-pale),var(--sage-pale),transparent)}.explore-subtitle{text-align:center;font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.15rem;color:var(--text-light);font-weight:300;font-style:italic;margin-bottom:3rem}.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.5rem;gap:1.5rem}.explore-card{background:var(--cream);border-radius:12px;padding:2rem 1.5rem;text-align:center;border:1px solid rgba(0,0,0,.04);transition:all .4s ease}.explore-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.06)}.explore-emoji{font-size:2rem;margin-bottom:.8rem}.explore-card h4{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.3rem;font-weight:600;color:var(--text);margin-bottom:.6rem}.explore-card p{font-size:.9rem;color:var(--text-light);line-height:1.6;font-weight:300}.faq{padding:6rem 0;background:linear-gradient(135deg,var(--cream) 0,var(--sage-pale) 50%,var(--ocean-pale) 100%);position:relative}.faq-subtitle{text-align:center;font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.15rem;color:var(--text-light);font-weight:300;font-style:italic;margin-bottom:3rem}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1.5rem;gap:1.5rem}.faq-item{background:var(--white);border-radius:12px;padding:2rem;border:1px solid rgba(0,0,0,.04);transition:all .3s ease}.faq-item:hover{box-shadow:0 8px 25px rgba(0,0,0,.05)}.faq-item h4{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.25rem;font-weight:600;color:var(--text);margin-bottom:.6rem}.faq-item p{font-size:.9rem;color:var(--text-light);line-height:1.7;font-weight:300}.faq-item strong{font-weight:500;color:var(--text)}.faq-link{display:inline-block;margin-top:.8rem;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.8rem;color:var(--lavender);text-decoration:none;letter-spacing:.05em;font-weight:400;transition:color .3s}.faq-link:hover{color:#8b7db8}.contact{padding:5rem 0;background:var(--white);position:relative}.contact:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--lavender-pale),var(--sage-pale),transparent)}.contact-subtitle{text-align:center;font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.15rem;color:var(--text-light);font-weight:300;font-style:italic;margin-bottom:2.5rem}.contact-inline-link{color:var(--lavender);text-decoration:none;font-style:normal;font-weight:400}.contact-inline-link:hover{text-decoration:underline}.contact-cards{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:2rem;gap:2rem;max-width:700px;margin:0 auto}.contact-card{text-align:center;background:var(--cream);border-radius:12px;padding:2.5rem 2rem;border:1px solid rgba(0,0,0,.04)}.contact-card h4{font-family:var(--font-great-vibes),"Great Vibes",cursive;font-size:1.8rem;color:var(--lavender);font-weight:400;margin-bottom:.6rem}.contact-card p{font-size:.9rem;color:var(--text-light);line-height:1.6;font-weight:300;margin-bottom:1rem}.contact-link{display:block;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.85rem;color:var(--lavender);text-decoration:none;letter-spacing:.03em;margin-bottom:.3rem;transition:color .3s}.contact-link:hover{color:#8b7db8}.countdown-section{padding:5rem 0 6rem;background:linear-gradient(135deg,var(--lavender-pale) 0,var(--ocean-pale) 50%,var(--sage-pale) 100%);position:relative;overflow:hidden}.beach-decoration{position:absolute;inset:0;pointer-events:none}.beach-decoration svg{width:100%;height:100%}.countdown-subtitle{text-align:center;font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.1rem;color:var(--text-light);font-weight:300;font-style:italic;margin-bottom:.5rem}.countdown{display:flex;justify-content:center;align-items:center;gap:.6rem;margin-top:2rem;flex-wrap:wrap}.countdown-item{text-align:center;min-width:70px}.countdown-number{display:block;font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:clamp(2.5rem,6vw,4rem);font-weight:300;color:var(--lavender);line-height:1;margin-bottom:.3rem}.countdown-label{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);font-weight:300}.countdown-separator{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:2.5rem;color:var(--sage);font-weight:300;margin-top:-1.2rem}.wave-divider{position:absolute;bottom:-1px;left:0;right:0;height:60px;z-index:2}.wave-divider svg{width:100%;height:100%}.rsvp{padding:6rem 0;background:var(--white);position:relative;overflow:hidden}.rsvp-decoration{position:absolute;top:50%;transform:translateY(-50%);pointer-events:none}.rsvp-deco-left{left:2%}.rsvp-deco-right{right:2%}.rsvp-subtitle{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.2rem;color:var(--text-light);margin-bottom:.5rem;font-style:italic}.rsvp-note,.rsvp-subtitle{text-align:center;font-weight:300}.rsvp-note{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.85rem;color:var(--text-lighter);margin-bottom:3rem}.rsvp-form{max-width:640px;margin:0 auto}.guest-entry{background:var(--cream);border:1px solid rgba(0,0,0,.04);border-radius:12px;padding:2rem;margin-bottom:1.5rem;position:relative;animation:slideInUp .5s ease forwards;transition:box-shadow .3s ease}.guest-entry:hover{box-shadow:0 4px 20px rgba(0,0,0,.04)}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.guest-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.06)}.guest-number{font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--lavender)}.guest-number,.remove-guest{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.8rem}.remove-guest{background:none;border:none;color:var(--text-lighter);cursor:pointer;letter-spacing:.1em;transition:color .3s;padding:.3rem .5rem}.remove-guest:hover{color:var(--rose)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.2rem;gap:1.2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:400;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);margin-bottom:.5rem}.form-group input,.form-group label,.form-group textarea{font-family:var(--font-josefin),"Josefin Sans",sans-serif}.form-group input,.form-group textarea{width:100%;padding:.9rem 1.2rem;border:1.5px solid rgba(0,0,0,.08);border-radius:6px;font-size:.95rem;font-weight:300;color:var(--text);background:var(--white);transition:all .3s ease;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-lighter)}.form-group input:focus,.form-group textarea:focus{border-color:var(--lavender-light);box-shadow:0 0 0 3px rgba(155,142,196,.1)}.form-group textarea{resize:vertical;min-height:80px}.attendance-toggle{display:grid;grid-template-columns:1fr 1fr;grid-gap:.8rem;gap:.8rem}.attendance-toggle input[type=radio]{display:none}.toggle-option{display:flex!important;align-items:center;justify-content:center;gap:.5rem;padding:1rem!important;border:1.5px solid rgba(0,0,0,.08);border-radius:8px;cursor:pointer;text-align:center;font-size:.85rem!important;letter-spacing:.05em!important;text-transform:none!important;transition:all .4s cubic-bezier(.4,0,.2,1);color:var(--text-light)!important;margin-bottom:0!important;background:var(--white)}.toggle-icon{font-size:1rem;transition:transform .3s ease}.toggle-option:hover{border-color:var(--lavender-light)}input[type=radio]:checked+.toggle-yes{background:linear-gradient(135deg,var(--sage-pale),#c8dbc0);border-color:var(--sage);color:var(--sage)!important;transform:scale(1.02)}input[type=radio]:checked+.toggle-no{background:linear-gradient(135deg,#f5e6e6,#f0d5d5);border-color:var(--rose);color:var(--rose)!important;transform:scale(1.02)}.add-guest-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem;background:none;border:1.5px dashed var(--lavender-light);border-radius:12px;color:var(--lavender);font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.85rem;letter-spacing:.1em;cursor:pointer;transition:all .3s ease;margin-bottom:2rem}.add-guest-btn:hover{background:var(--lavender-pale);border-color:var(--lavender)}.plus-icon{font-size:1.2rem;font-weight:300;line-height:1}.submit-btn{display:block;width:100%;padding:1.2rem;background:linear-gradient(135deg,var(--lavender),#8b7db8);color:var(--white);border:none;border-radius:8px;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.95rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.submit-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#8b7db8,var(--lavender));opacity:0;transition:opacity .4s ease}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(155,142,196,.35)}.submit-btn:hover:before{opacity:1}.submit-btn:active{transform:translateY(0)}.btn-loading,.btn-text{position:relative;z-index:1}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle;margin-right:.3rem}@keyframes spin{to{transform:rotate(1turn)}}.success-message{text-align:center;padding:3rem;animation:fadeInScale .6s ease forwards}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.success-icon{margin-bottom:1.5rem}.success-circle{stroke-dasharray:226;stroke-dashoffset:226;animation:drawCircle .8s ease .2s forwards}.success-check{stroke-dasharray:50;stroke-dashoffset:50;animation:drawCheck .5s ease .8s forwards}@keyframes drawCircle{to{stroke-dashoffset:0}}@keyframes drawCheck{to{stroke-dashoffset:0}}.success-message h3{font-family:var(--font-great-vibes),"Great Vibes",cursive;font-size:2.5rem;color:var(--sage);margin-bottom:.8rem;font-weight:400}.success-message p{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.15rem;color:var(--text-light);font-weight:300;font-style:italic}.success-palm{margin-top:1.5rem;animation:gentleFloat 3s ease-in-out infinite}.footer{padding:4rem 2rem;background:linear-gradient(135deg,var(--lavender-pale) 0,var(--sage-pale) 100%);text-align:center;position:relative}.footer-waves{position:absolute;top:-1px;left:0;right:0;height:60px}.footer-waves svg{width:100%;height:100%}.footer-names{font-family:var(--font-great-vibes),"Great Vibes",cursive;font-size:2rem;color:var(--lavender);margin-bottom:.5rem}.footer-date{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-weight:300;font-size:.85rem;letter-spacing:.15em;color:var(--text-light);margin-bottom:1rem}.footer-flower{animation:gentleSpin 15s linear infinite}.fade-up{opacity:0;transform:translateY(30px);animation:fadeUp .8s ease forwards}.fade-up:first-child{animation-delay:.1s}.fade-up:nth-child(2){animation-delay:.2s}.fade-up:nth-child(3){animation-delay:.3s}.fade-up:nth-child(4){animation-delay:.4s}.fade-up:nth-child(5){animation-delay:.5s}.fade-up:nth-child(6){animation-delay:.6s}.fade-up:nth-child(7){animation-delay:.7s}.fade-up:nth-child(8){animation-delay:.8s}.fade-up:nth-child(9){animation-delay:.9s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.slide-in{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}.slide-in.visible{opacity:1;transform:translateY(0)}.slide-in:nth-child(2){transition-delay:.1s}.slide-in:nth-child(3){transition-delay:.2s}.slide-in:nth-child(4){transition-delay:.3s}.admin-panel{position:fixed;inset:0;background:var(--white);z-index:10000;overflow-y:auto;padding:2rem}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.08)}.admin-header h2{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.8rem;color:var(--text)}.admin-actions{display:flex;gap:.8rem}.admin-btn{padding:.7rem 1.5rem;background:var(--lavender);color:var(--white);border:none;border-radius:6px;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.85rem;cursor:pointer;letter-spacing:.05em;transition:all .3s}.admin-btn:hover{background:#8b7db8}.admin-btn.secondary{background:none;color:var(--text-light);border:1px solid rgba(0,0,0,.1)}.admin-btn.secondary:hover{background:var(--cream)}.admin-stats{display:flex;gap:2rem;margin-bottom:2rem}.stat-card{padding:1.2rem 2rem;background:var(--cream);border-radius:8px;text-align:center}.stat-number{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:2rem;font-weight:600;color:var(--lavender)}.stat-label{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-lighter)}.admin-table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;padding:.8rem 1rem;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-lighter);border-bottom:1px solid rgba(0,0,0,.08);font-weight:500}.admin-table td{padding:.8rem 1rem;border-bottom:1px solid rgba(0,0,0,.04);font-size:.9rem;font-weight:300}.admin-table .attending-yes{color:var(--sage);font-weight:500}.admin-table .attending-no{color:var(--rose);font-weight:500}@media (max-width:768px){.details-grid{grid-template-columns:1fr;gap:1.2rem}.detail-card{padding:1.8rem 1.5rem}.form-row{grid-template-columns:1fr;gap:0}.countdown{gap:.3rem}.countdown-item{min-width:55px}.countdown-separator{font-size:1.5rem}.countdown-number{font-size:2.2rem}.schedule-days{grid-template-columns:1fr;gap:2rem}.venue-grid{grid-template-columns:1fr;gap:2.5rem}.timeline-event{flex-direction:column;gap:.5rem}.event-time{min-width:auto}.venue-card{padding:2rem 1.5rem}.venue-amenities{gap:1rem}.venue-name{font-size:2rem}.travel-grid{grid-template-columns:1fr;gap:1.5rem}.weather-stats{flex-direction:column;gap:.8rem}.weather-hero-card{padding:1.8rem 1.2rem}.dresscode-body,.dresscode-header{padding:1.5rem}.schedule-note{padding:1.5rem 1.5rem 1.5rem 2rem;text-align:center}.dc-shop-section .dc-shop-grid,.schedule-note{flex-direction:column}.dc-bottom-note{padding:1.5rem}.venue-card{padding:1.8rem 1.2rem}.venue-amenities{grid-template-columns:repeat(2,1fr)}.glance-grid{flex-direction:column;gap:0;padding:1.5rem}.glance-divider{width:60px;height:1px;margin:.5rem auto}.glance-item{padding:.8rem 1rem}.explore-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.faq-grid{gap:1.2rem}.contact-cards,.faq-grid{grid-template-columns:1fr}.contact-cards{gap:1.5rem}.nav-inner{gap:.15rem;padding:.5rem .4rem;justify-content:center}.nav-link{font-size:.55rem;padding:.3rem .4rem;letter-spacing:.03em}.guest-entry,.hero-content{padding:1.5rem}.accommodation-note{padding:1.5rem 1.5rem 1.5rem 2rem;flex-direction:column;text-align:center}.rsvp-decoration{display:none}.admin-header{flex-direction:column;gap:1rem;align-items:flex-start}.admin-stats{flex-wrap:wrap;gap:1rem}.admin-table{font-size:.8rem}.admin-table td,.admin-table th{padding:.5rem}.attendance-toggle{grid-template-columns:1fr}.std-card{max-width:100%}}@media (max-width:480px){.hero-names{font-size:3rem}.section-title{font-size:2.2rem}.countdown-number{font-size:2rem}.tropical-top-left,.tropical-top-right{width:220px;height:300px}.explore-grid{grid-template-columns:1fr}.hero-nav-btns{gap:.4rem}.hero-nav-btn{padding:.45rem .9rem;font-size:.65rem;letter-spacing:.1em}}section{position:relative}.lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:10001;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease;cursor:pointer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-close{position:absolute;top:1rem;right:1.5rem;background:none;border:none;color:white;font-size:2.5rem;cursor:pointer;z-index:10002;line-height:1;opacity:.8;transition:opacity .2s}.lightbox-close:hover{opacity:1}.lightbox-content{max-width:90vw;max-height:90vh;cursor:default}.lightbox-image{width:auto!important;height:auto!important;max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px}.subpage{padding-top:60px;min-height:100vh;background:var(--white)}.subpage-header{max-width:900px;margin:0 auto;padding:1.5rem 2rem 0}.back-link{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);text-decoration:none;transition:color .3s ease}.back-link:hover{color:var(--lavender)}.slide-in-visible{opacity:1;transform:none}.flights{padding:4rem 0;background:var(--white)}.flights-subtitle{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.15rem;font-weight:300;font-style:italic;margin-bottom:2rem}.flights-intro,.flights-subtitle{text-align:center;color:var(--text-light)}.flights-intro{max-width:650px;margin:0 auto 2.5rem;font-size:.95rem;line-height:1.7}.flights-card{max-width:700px;margin:0 auto 2.5rem}.flights-info{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2.5rem}.flights-info-item{display:flex;gap:1rem;align-items:flex-start}.flights-info-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--lavender)}.flights-info-item h4{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.2rem;font-weight:500;margin-bottom:.3rem}.flights-info-item p{font-size:.9rem;color:var(--text-light);line-height:1.6}.flights-sub{margin-top:.3rem;font-size:.85rem!important;color:var(--text-lighter)!important}.flights-form-section{background:var(--sand-light);border-radius:12px;padding:2rem;text-align:center}.flights-form-section h3{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.4rem;font-weight:500;margin-bottom:.5rem}.flights-form-section>p{font-size:.9rem;color:var(--text-light);margin-bottom:1.5rem;line-height:1.6}.flights-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.flights-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.5rem;border-radius:6px;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;transition:all .3s ease;cursor:pointer}.flights-btn-primary{background:var(--lavender);color:var(--white);border:1.5px solid var(--lavender)}.flights-btn-primary:hover{background:#8b7db8}.flights-btn-secondary{background:var(--white);color:var(--text);border:1.5px solid rgba(0,0,0,.1)}.flights-btn-secondary:hover{border-color:var(--lavender-light);color:var(--lavender)}.flights-note{max-width:700px;margin:0 auto;display:flex;align-items:flex-start;gap:.8rem;background:var(--lavender-pale);border-radius:10px;padding:1.2rem 1.5rem;position:relative;overflow:hidden}.flights-note .note-accent{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--lavender)}.flights-note p{font-size:.88rem;color:var(--text-light);line-height:1.6;font-style:italic}.subpage-origin-prompt{max-width:900px;margin:0 auto 1rem;padding:1rem 2rem;background:linear-gradient(135deg,var(--lavender-pale),var(--sage-pale));border-radius:10px;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.subpage-origin-prompt p{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.05rem;color:var(--text);font-weight:500;margin:0}.subpage-origin-btns{display:flex;gap:.6rem}.subpage-origin-btn{padding:.5rem 1.2rem;border:1.5px solid var(--lavender);background:var(--white);color:var(--lavender);font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.75rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:2px;transition:all .3s ease}.subpage-origin-btn:hover{background:var(--lavender);color:var(--white)}.origin-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.origin-modal{background:var(--white);border-radius:16px;padding:2.5rem 2rem;max-width:420px;width:90%;text-align:center;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.15);animation:modalSlideUp .3s ease}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.origin-modal-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:1.6rem;color:var(--text-light);cursor:pointer;line-height:1}.origin-modal-title{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.6rem;font-weight:500;color:var(--text);margin-bottom:.4rem}.origin-modal-sub{font-size:.85rem;color:var(--text-light);margin-bottom:1.8rem}.origin-modal-btns{display:flex;gap:1rem;justify-content:center}.origin-modal-btn{display:flex;align-items:center;gap:.5rem;padding:.8rem 1.6rem;border:1.5px solid var(--lavender-light);border-radius:8px;background:var(--white);font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.95rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text);cursor:pointer;transition:all .25s ease}.origin-modal-btn:hover{background:var(--lavender);color:var(--white);border-color:var(--lavender);transform:translateY(-1px)}.origin-modal-flag{font-size:1.3rem}.contact-cards-two{grid-template-columns:repeat(2,1fr);max-width:700px;margin-left:auto;margin-right:auto}.nav-dropdown-item,.nav-dropdown-trigger,nav .nav-link{background:none;border:none;cursor:pointer}.nav-dropdown{position:relative}.nav-dropdown-trigger{display:flex;align-items:center;gap:.3rem;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-light);padding:.5rem .7rem;border-radius:4px;white-space:nowrap;transition:all .3s ease;font-weight:400}.nav-dropdown-trigger:hover{color:var(--lavender);background:var(--lavender-pale)}.nav-dropdown-trigger.nav-link-active{color:var(--lavender);font-weight:600}.nav-dropdown-arrow{transition:transform .2s ease}.nav-dropdown:hover .nav-dropdown-arrow{transform:rotate(180deg)}.nav-dropdown-menu{position:fixed;top:auto;left:auto;background:#faf8f4;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:.4rem 0;min-width:160px;box-shadow:0 8px 24px rgba(0,0,0,.08);z-index:10000;animation:dropdownFade .15s ease}.nav-dropdown-menu:before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nav-dropdown-item{display:block;width:100%;text-align:left;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-light);text-decoration:none;padding:.5rem 1rem;transition:all .2s ease;font-weight:400}.nav-dropdown-item:hover{color:var(--lavender);background:var(--lavender-pale)}.nav-dropdown-item-active{color:var(--lavender);font-weight:600}.detail-link-btn-cta{background:var(--lavender)!important;color:var(--white)!important;text-decoration:none}.detail-link-btn-cta:hover{background:var(--lavender-light)!important}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem}.detail-card{text-align:center;background:var(--white);border-radius:12px;padding:2rem 1.5rem;box-shadow:0 8px 30px rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.04);transition:transform .3s ease,box-shadow .3s ease}.detail-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.08)}.detail-icon{margin-bottom:1rem;display:flex;justify-content:center}.detail-label{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-weight:400;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lavender);margin-bottom:.4rem}.detail-value{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.2rem;font-weight:600;color:var(--text);margin-bottom:.2rem}.detail-sub{font-size:.78rem;color:var(--text-lighter);font-weight:300}.detail-sub,.detail-venue-btn{font-family:var(--font-josefin),"Josefin Sans",sans-serif}.detail-venue-btn{display:inline-block;margin-top:.6rem;font-size:.7rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--sage);border:1px solid var(--sage);border-radius:20px;padding:.35rem 1rem;text-decoration:none;transition:background .3s,color .3s}.detail-venue-btn:hover{background:var(--sage);color:white}.detail-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:2.5rem}.detail-link-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:8px;background:var(--white);border:1px solid rgba(0,0,0,.08);color:var(--text);text-decoration:none;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.82rem;font-weight:400;letter-spacing:.05em;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.04);cursor:pointer}.detail-link-btn:hover{background:var(--lavender-pale);border-color:var(--lavender-light);color:var(--lavender);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.06)}.detail-link-arrow{font-size:1rem;transition:transform .3s ease}.detail-link-btn:hover .detail-link-arrow{transform:translateX(3px)}.explore-note{position:relative;background:var(--white);border-radius:12px;padding:1.5rem 1.5rem 1.5rem 2.5rem;margin-top:3rem;box-shadow:0 4px 20px rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.04);display:flex;align-items:flex-start;gap:1rem;overflow:hidden}.explore-note .note-accent{position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--sage),var(--lavender))}.explore-note p{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.1rem;line-height:1.6;color:var(--text-light);font-style:italic}@media (max-width:768px){.details-grid{grid-template-columns:1fr;gap:1rem}.detail-card{padding:1.5rem 1rem}.detail-links{flex-direction:column;align-items:stretch}.detail-link-btn{justify-content:space-between}.subpage-header{padding:1rem 1.5rem 0}.contact-cards-two{grid-template-columns:1fr}.origin-modal-btns{flex-direction:column}.origin-modal-btn{justify-content:center}.nav-inner{gap:.15rem;padding:.6rem 1rem}.nav-dropdown-trigger,.nav-link{font-size:.7rem;padding:.4rem .5rem}}.hotels{padding:4rem 0;background:var(--cream)}.hotels-subtitle{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.15rem;margin-bottom:2.5rem;font-style:italic}.hotels-intro,.hotels-subtitle{text-align:center;color:var(--text-light)}.hotels-intro{max-width:700px;margin:0 auto 2.5rem;line-height:1.7}.hotels-card{max-width:800px;margin:0 auto 2rem;background:var(--white);border-radius:12px;padding:2.5rem;box-shadow:0 4px 20px rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.04)}.hotels-card h3{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.4rem;color:var(--text);margin-bottom:1rem}.hotels-info-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1.2rem;gap:1.2rem;margin-top:1.5rem}.hotels-info-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:rgba(196,184,224,.06);border-radius:8px}.hotels-info-item h4{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--lavender);margin-bottom:.3rem}.hotels-info-item p{font-size:.9rem;color:var(--text-light);line-height:1.5;margin:0}.hotels-note{max-width:700px;margin:2rem auto 0;display:flex;align-items:flex-start;gap:1rem;padding:1.2rem 1.5rem;background:rgba(196,184,224,.08);border-radius:10px;position:relative;overflow:hidden}.hotels-note .note-accent{position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--lavender-light),var(--sage-light))}.hotels-note p{color:var(--text-light);font-size:.9rem;line-height:1.6;margin:0}.hotels-section-heading{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.8rem;color:var(--text);text-align:center;margin-top:3rem;margin-bottom:.5rem}.hotels-details-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem;gap:1rem;margin-top:1.5rem}.hotels-detail{display:flex;align-items:flex-start;gap:.8rem;padding:.8rem 1rem;background:rgba(196,184,224,.06);border-radius:8px;color:var(--lavender)}.hotels-detail div{display:flex;flex-direction:column;gap:.15rem}.hotels-detail strong{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--lavender)}.hotels-detail span{font-size:.9rem;color:var(--text-light)}.hotel-recs{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.06)}.hotel-rec-label{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--lavender);margin-bottom:.4rem}.hotel-recs ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}.hotel-recs li{font-size:.85rem;color:var(--text-light);background:rgba(196,184,224,.08);padding:.3rem .8rem;border-radius:20px}@media (max-width:600px){.hotels-details-grid{grid-template-columns:1fr}}.transportation{padding:4rem 0;background:var(--cream)}.transport-subtitle{text-align:center;font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.15rem;color:var(--text-light);margin-bottom:2.5rem;font-style:italic}.transport-grid{max-width:800px;margin:0 auto;display:grid;grid-gap:1.5rem;gap:1.5rem}.transport-card{background:var(--white);border-radius:12px;padding:2rem 2.5rem;box-shadow:0 4px 20px rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.04)}.transport-card h3{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.3rem;color:var(--text);margin-bottom:.8rem}.transport-card p{color:var(--text-light);font-size:.95rem;line-height:1.7}.transport-card .transport-card-icon{color:var(--lavender);margin-bottom:.8rem}.transport-note{max-width:700px;margin:2rem auto 0;display:flex;align-items:flex-start;gap:1rem;padding:1.2rem 1.5rem;background:rgba(196,184,224,.08);border-radius:10px;position:relative;overflow:hidden}.transport-note .note-accent{position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--lavender-light),var(--sage-light))}.transport-note p{color:var(--text-light);font-size:.9rem;line-height:1.6;margin:0}.travel-tips-page{padding:4rem 0;background:var(--white)}.travel-tips-subtitle{text-align:center;font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.15rem;color:var(--text-light);margin-bottom:2.5rem;font-style:italic}.travel-tips-grid{max-width:800px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1.5rem;gap:1.5rem}.travel-tips-card{background:var(--white);border-radius:12px;padding:2rem;box-shadow:0 4px 20px rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.04)}.travel-tips-card-icon{color:var(--lavender);margin-bottom:.8rem}.travel-tips-card h3{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.3rem;color:var(--text);margin-bottom:.8rem}.travel-tips-card p{color:var(--text-light);font-size:.95rem;line-height:1.7}.travel-tips-link{display:inline-block;margin-top:.8rem;color:var(--lavender);font-size:.9rem;text-decoration:none;font-weight:500}.travel-tips-link:hover{color:#8b7db8;text-decoration:underline}@media (max-width:600px){.travel-tips-grid{grid-template-columns:1fr}}.flights-form{flex-direction:column}.flights-form,.flights-form-row{display:flex;gap:1rem}.flights-form-group{flex:1 1;display:flex;flex-direction:column;gap:.3rem}.flights-form-group label{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-light)}.flights-form-group input,.flights-form-group textarea{padding:.7rem .9rem;border:1px solid rgba(0,0,0,.1);border-radius:6px;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.9rem;color:var(--text);background:var(--cream);transition:border-color .3s ease}.flights-form-group input:focus,.flights-form-group textarea:focus{outline:none;border-color:var(--lavender)}.flights-submit-btn{padding:.8rem 2rem;background:var(--lavender);color:var(--white);border:none;border-radius:6px;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:background .3s ease;align-self:flex-start}.flights-submit-btn:hover{background:#8b7db8}.flights-submit-btn:disabled{opacity:.6;cursor:not-allowed}.flights-or-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0}.flights-or-line{flex:1 1;height:1px;background:rgba(0,0,0,.1)}.flights-or-text{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-light)}.flights-alt-text{color:var(--text-light);font-size:.9rem;margin-bottom:.8rem}.flights-success{text-align:center;padding:2rem}.flights-success-icon{margin-bottom:1rem}.flights-success h3{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.5rem;color:var(--text);margin-bottom:.5rem}.flights-success p{color:var(--text-light);font-size:.95rem}.flights-book-section{margin-bottom:2.5rem;padding:2rem 2.5rem;background:rgba(196,184,224,.08);border-radius:12px;text-align:center}.flights-book-section h3{font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1.4rem;color:var(--text);margin-bottom:.6rem}.flights-book-section>p{color:var(--text-light);font-size:.9rem;margin-bottom:1rem}.flights-book-links{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}.flights-book-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 2.5rem;border-radius:25px;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;background:var(--lavender);color:var(--white);border:none;transition:all .3s ease}.flights-book-btn:hover{background:#8b7db8}.flights-book-hint{color:var(--text-light);font-size:.95rem;font-style:italic;margin-bottom:1.5rem;line-height:1.6;max-width:500px;margin-left:auto;margin-right:auto}.flights-inline-link{color:var(--lavender);text-decoration:underline;text-underline-offset:2px}.flights-inline-link:hover{color:#8b7db8}.flights-form-group select{padding:.7rem .9rem;border:1px solid rgba(0,0,0,.1);border-radius:6px;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.9rem;color:var(--text);background:var(--white);transition:border-color .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.flights-form-group select:focus{outline:none;border-color:var(--lavender)}.flights-passengers{margin-bottom:1.5rem}.flights-passenger-entry{margin-bottom:1rem}.flights-passenger-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.flights-passenger-num{letter-spacing:.1em;color:var(--lavender);font-weight:400}.flights-passenger-num,.flights-passenger-remove{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.7rem;text-transform:uppercase}.flights-passenger-remove{background:none;border:none;color:var(--text-lighter);cursor:pointer;letter-spacing:.05em;transition:color .2s}.flights-passenger-remove:hover{color:#c0392b}.flights-passenger-entry input{width:100%;padding:.7rem .9rem;border:1px solid rgba(0,0,0,.1);border-radius:8px;font-family:var(--font-cormorant),"Cormorant Garamond",serif;font-size:1rem;background:var(--white);color:var(--text);box-sizing:border-box}.flights-passenger-entry input:focus{outline:none;border-color:var(--lavender)}.flights-add-passenger{background:none;border:1px dashed rgba(0,0,0,.15);border-radius:8px;padding:.6rem 1.2rem;font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--lavender);cursor:pointer;width:100%;transition:border-color .2s,background .2s}.flights-add-passenger:hover{border-color:var(--lavender);background:rgba(196,184,224,.06)}.flights-upload-section{margin-top:.5rem}.flights-upload-section>label{font-family:var(--font-josefin),"Josefin Sans",sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-light)}.flights-upload-hint{font-size:.85rem;color:var(--text-lighter);margin:.3rem 0 .8rem}.flights-upload-area{border:2px dashed rgba(155,142,196,.3);border-radius:10px;padding:1.5rem;text-align:center;cursor:pointer;transition:all .2s ease}.flights-upload-area:hover{border-color:var(--lavender);background:rgba(155,142,196,.04)}.flights-upload-has-file{border-style:solid;border-color:rgba(124,154,110,.3);background:rgba(124,154,110,.04)}.flights-upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-lighter)}.flights-upload-placeholder span{font-size:.85rem}.flights-upload-preview{display:flex;align-items:center;justify-content:center;gap:.6rem}.flights-upload-preview span{font-size:.9rem;color:var(--text)}.flights-upload-remove{background:none;border:none;color:var(--text-lighter);font-size:.8rem;cursor:pointer;text-decoration:underline;padding:0}.flights-upload-remove:hover{color:var(--text)}@media (max-width:600px){.flights-form-row{flex-direction:column}.hotels-info-grid{grid-template-columns:1fr}.flights-book-links{flex-direction:column}}