:root{--hero-text-main: #F9F3EC;--hero-nav-text: #1C2A2E;--hero-text-sub: #f0e2d5;--hero-accent: #f5c58b;--hero-Nav-Hover: #39A6A3;--hero-overlay: rgba(0, 0, 0, .4);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#222;background-color:#faf7f5}*,*:before,*:after{box-sizing:border-box}body{margin:0;position:center}a{color:inherit;text-decoration:none}.hero{position:relative;height:100vh;min-height:540px;width:100%;overflow:hidden;color:#fff}.hero-slide{position:absolute;inset:0;background-size:cover;background-repeat:no-repeat;opacity:0;transition:opacity 1.5s ease-in-out;will-change:transform,opacity}.hero-slide.active{opacity:1}.hero-slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s ease-in-out;will-change:transform,opacity}.hero-slide-img.active{opacity:1}.hero-nav{position:absolute;top:30px;left:50%;transform:translate(-50%);padding:18px 40px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:20}.hero-links{display:flex;gap:20px}.hero-links a{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600;letter-spacing:.08em;color:var(--hero-nav-text);position:relative;padding:4px 8px;transition:color .25s ease}.hero-links a:before{content:"";position:absolute;inset:-4px -10px;background:#f9f3ec38;border-radius:10px;opacity:0;transform:scale(.9);transition:opacity .25s ease,transform .25s ease;z-index:-1}.hero-links a:hover{color:var(--hero-Nav-Hover)}.hero-links a:hover:before{opacity:1;transform:scale(1)}.hero-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:10;padding:0 16px;text-shadow:0 3px 18px rgba(0,0,0,.85);color:var(--hero-text-main)}.hero-overlay h1{font-family:Playfair Display,serif;font-size:clamp(3.2rem,6vw,5rem);margin:0 0 .5rem;font-weight:600;letter-spacing:.02em;color:#f9f3ec}.hero-date{font-size:1.1rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.5rem;color:#e5e7ea}.hero-cta{display:inline-block;padding:.75rem 2.5rem;border-radius:999px;border:1px solid rgba(255,255,255,.85);background:#00000073;font-weight:600;color:var(--hero-text-main);box-shadow:0 8px 25px #00000073;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.hero-cta:hover{background:var(--hero-accent);color:#3c2a1e;transform:translateY(-2px);box-shadow:0 12px 30px #0000008c}.hero-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,#0000001a,#00000059 70%,#0000008c);z-index:9}@media(max-width:768px){.hero-links,.hero-menu-btn,.hero-nav{display:none!important}.hero-nav-top{justify-content:center}}main{padding:40px 0 80px}.section{padding:70px 16px;background:#f7f2ee}.section:nth-child(odd){background:#f7f2ee}.section:nth-child(2n){background:#f0e7df}.section--card .section-inner{max-width:780px;margin:0 auto;text-align:center;padding:36px 26px 44px;border-radius:20px;background:#ffffffeb;box-shadow:0 18px 40px #0000000f;opacity:0;transform:translateY(26px);transition:opacity .7s ease-out,transform .7s ease-out}.section-inner.in-view{opacity:1;transform:translateY(0)}.section-inner{max-width:760px;margin:0 auto;text-align:center;padding:36px 26px 44px;border-radius:20px;background:#ffffffe6;box-shadow:0 18px 40px #0000000f;opacity:0;transform:translateY(32px);transition:opacity .7s ease-out,transform .7s ease-out}.section h2{font-family:Playfair Display,serif;font-size:2rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .75rem;color:#1c2a2e}.section h2:after{content:"";display:block;width:64px;height:2px;margin:10px auto 0;background:linear-gradient(to right,#39a6a3,#c13832);border-radius:999px}.section-content{font-size:1rem;line-height:1.9;color:#2a2f32;margin-top:1.6rem}.section-content ul,.section-content ol{text-align:left;display:inline-block;margin:0 auto;padding-left:1.2rem}*/ @media (max-width: 768px){.section{padding:52px 12px}.section--card .section-inner{padding:26px 18px 32px;border-radius:16px}}@media(max-width:900px){.location-layout{grid-template-columns:1fr;gap:24px}.location-text{text-align:center;align-items:center}}.split{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:stretch}@media(max-width:900px){.split{grid-template-columns:1fr;gap:24px}}.map-wrapper{width:100%;height:100%}.wedding-map{width:100%;height:100%;min-height:420px;border:none;box-shadow:none;border-radius:0}@media(max-width:900px){.wedding-map{min-height:320px}}.reveal{opacity:0;transition:opacity .7s ease,transform .7s ease}@media(min-width:901px){.reveal-left{transform:translate(-36px)}.reveal-right{transform:translate(36px)}}@media(max-width:900px){.reveal-left,.reveal-right{transform:translateY(18px)}}.section-inner.in-view .reveal{opacity:1;transform:translate(0) translateY(0)}.rsvp-form{max-width:480px;margin:0 auto;text-align:center;display:grid;gap:1rem;background:#fff;padding:32px 28px;border-radius:16px;box-shadow:0 12px 28px #00000014}.rsvp-form label{display:flex;flex-direction:column;font-size:.95rem;gap:.25rem}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{padding:.5rem .75rem;border-radius:6px;border:1px solid #ccc;font:inherit}.rsvp-form button{padding:.7rem 1.5rem;border-radius:999px;border:none;background:#222;color:#fff;font-weight:600;cursor:pointer;justify-self:flex-start}.rsvp-form button:disabled{opacity:.6;cursor:default}.rsvp-status{font-size:.9rem}.rsvp-status.success{color:#137a25}.rsvp-status.error{color:#b00020}.gallery-container{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:0!important}.gallery{column-count:6;column-gap:5px!important;row-gap:10px;margin:0!important;padding:0!important}@media(max-width:900px){.gallery{column-count:3}}@media(max-width:600px){.gallery{column-count:2}}.gallery-item{break-inside:avoid;margin:0 0 5px!important;padding:0!important;border:none!important;transition-delay:calc(var(--stagger-index, 0) * .18s)}.gallery-item.show{opacity:1;transform:translateY(0)}.gallery-item img{width:100%;height:auto;display:block;margin:0!important;padding:0!important;object-fit:contain!important;border:none!important}section#gallery{padding:0;background:#f4eee8;min-height:100vh}section#gallery .section-inner{max-width:100%;padding:40px 0 0;border-radius:0;background:transparent;box-shadow:none}section#gallery h2{margin-bottom:1.2rem}section#gallery .section-content{margin-top:0}.gallery-item:hover img{transform:scale(1.06)}.lightbox{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:3000;animation:fadeIn .3s ease}.lightbox-img{max-width:92vw;max-height:92vh;border-radius:12px;animation:zoomIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomIn{0%{transform:scale(.85)}to{transform:scale(1)}}.lightbox-prev,.lightbox-next,.lightbox-close{position:absolute;color:#fff;background:#00000040;border:none;padding:8px 14px;font-size:28px;border-radius:8px;cursor:pointer;transition:background .2s ease}.lightbox-prev:hover,.lightbox-next:hover,.lightbox-close:hover{background:#0006}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-close{top:20px;right:20px;font-size:28px;padding:6px 10px}.footer{text-align:center;padding:20px;font-size:.85rem;background-color:#111;color:#eee}@media(max-width:600px){.lightbox-prev,.lightbox-next{left:calc(50% - 50vw) + 60px;right:calc(50% - 50vw) + 10px}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-close{top:10px;right:9px}}.hero-nav--sticky{position:fixed!important;top:18px;left:50%;transform:translate(-50%)!important;z-index:2500}.hero-nav--sticky .hero-nav--past:not(.hero-nav--expanded){padding:10px 14px;border-radius:999px;background:#f9f3ec8c;box-shadow:0 14px 34px #00000029}.hero-nav--sticky .hero-menuPill{border:none;cursor:pointer;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;background:#f9f3ec9e;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 12px 28px #0000001f;transition:transform .18s ease,background .18s ease}.hero-nav--sticky .hero-menuPill:hover{transform:translateY(-1px)}.hero-nav--sticky .hero-menuPillText{font-family:Cormorant Garamond,serif;font-size:1.15rem;font-weight:600;letter-spacing:.26em;color:var(--hero-nav-text)}.hero-nav--sticky .hero-nav--expanded{background:#f9f3ec4d}
