:root{--sage:#7a9e7e;--sage-light:#e8f0e9;--sage-dark:#5a7e5e;--gold:#c2a05a;--gold-light:#f5f0e2;--gold-dark:#a08540;--cream:#f9f6f0;--cream-dark:#f0ebe3;--white:#ffffff;--blush:#f3dcd7;--blush-deep:#e6c2bb;--rose:#d9a8a1;--rose-deep:#c58a83;--champagne:#ecdcc4;--text:#3a3a3a;--text-light:#6b6b6b;--text-muted:#9a9080;--border:#e8e4de;--gutter:clamp(16px,4vw,32px);--section-y:clamp(48px,8vw,80px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;text-size-adjust:100%}body{font-family:Cormorant Garamond,Georgia,serif;color:var(--text);background:var(--cream);line-height:1.7;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(122,158,126,.15);overflow-x:hidden}img{max-width:100%;height:auto;display:block}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(48px,10vw,96px) var(--gutter);padding-left:max(var(--gutter),var(--safe-l));padding-right:max(var(--gutter),var(--safe-r));background:radial-gradient(ellipse at top left,rgba(122,158,126,.1) 0,transparent 55%),radial-gradient(ellipse at bottom right,rgba(194,160,90,.1) 0,transparent 55%),var(--cream);overflow:hidden}.hero:before{inset:clamp(16px,2.8vw,34px);border:1.5px solid rgba(160,133,64,.42);border-radius:1px}.hero:after,.hero:before{content:"";position:absolute;pointer-events:none;z-index:0}.hero:after{inset:clamp(21px,3.3vw,41px);border:1px solid rgba(160,133,64,.22);border-radius:1px}.hero-content{position:relative;z-index:1;max-width:min(640px,92%);display:flex;flex-direction:column;align-items:center}.hero-floral{position:absolute;width:clamp(208px,33.8vw,390px);height:clamp(208px,33.8vw,390px);z-index:0;pointer-events:none;transform-origin:center;opacity:0;animation:floral-bloom 1.6s cubic-bezier(.22,1,.36,1) .2s forwards}.hero-floral-tl{top:clamp(-12px,-1.5vw,4px);left:clamp(-12px,-1.5vw,4px)}.hero-floral-tr{top:clamp(-12px,-1.5vw,4px);right:clamp(-12px,-1.5vw,4px);animation-delay:.28s}.hero-floral-bl{bottom:clamp(-12px,-1.5vw,4px);left:clamp(-12px,-1.5vw,4px);animation-delay:.42s}.hero-floral-br{bottom:clamp(-12px,-1.5vw,4px);right:clamp(-12px,-1.5vw,4px);animation-delay:.5s}@keyframes floral-bloom{0%{opacity:0;transform:scale(.9) rotate(-3deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.stem-draw{animation:floral-draw var(--dur,1.5s) ease-out var(--d,.45s) forwards}.spray-filigree path,.stem-draw{stroke-dasharray:1;stroke-dashoffset:1}.spray-filigree path{animation:floral-draw 1.7s ease-out 1.4s forwards}@keyframes floral-draw{to{stroke-dashoffset:0}}.leaf-grow{opacity:0;transform-box:fill-box;transform-origin:left center;animation:leaf-grow .72s cubic-bezier(.22,1,.36,1) var(--d,1s) forwards}@keyframes leaf-grow{0%{opacity:0;transform:scale(.04) rotate(-7deg)}55%{opacity:1}to{opacity:1;transform:scale(1) rotate(0deg)}}.berry-pop circle{opacity:0;transform-box:fill-box;transform-origin:center;animation:berry-pop .5s cubic-bezier(.34,1.56,.64,1) var(--d,2s) forwards}@keyframes berry-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.filler-fade{opacity:0;animation:floral-fade .9s ease-out var(--d,2.3s) forwards}.floral-sway{transform-box:fill-box;transform-origin:top left;animation:floral-sway 8s ease-in-out 3.2s infinite}@keyframes floral-sway{0%{transform:rotate(0deg) translateY(0)}20%{transform:rotate(1.3deg) translateY(-.6px)}45%{transform:rotate(-.4deg) translateY(.3px)}50%{transform:rotate(0deg) translateY(0)}70%{transform:rotate(-1.3deg) translateY(-.4px)}90%{transform:rotate(.4deg) translateY(.2px)}to{transform:rotate(0deg) translateY(0)}}.hero-floral-tr .floral-sway{animation-delay:3.9s;animation-duration:9s}.hero-floral-bl .floral-sway{animation-delay:4.3s;animation-duration:8.5s}.hero-floral-br .floral-sway{animation-delay:4.7s;animation-duration:9.5s}.spray-tendril path{stroke-dasharray:1;stroke-dashoffset:1;animation:floral-draw 2.4s ease-out 1.9s forwards}.spray-flower{opacity:0;transform-box:fill-box;transform-origin:center;animation:floral-pop .9s cubic-bezier(.34,1.56,.64,1) var(--d,2s) forwards}@keyframes floral-pop{0%{opacity:0;transform:scale(0) rotate(-25deg)}70%{opacity:1;transform:scale(1.08) rotate(3deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.flower-breathe{transform-box:fill-box;transform-origin:center;animation:floral-breathe var(--bdur,6.5s) ease-in-out var(--bd,3s) infinite}@keyframes floral-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.055)}}.hero-divider{width:clamp(200px,46vw,300px);height:auto;margin:clamp(16px,2.6vw,24px) auto clamp(8px,1.4vw,12px);opacity:0;animation:floral-fade 1.4s ease-out 1.08s forwards}@keyframes floral-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.hero-floral{width:clamp(156px,44.2vw,234px);height:clamp(156px,44.2vw,234px);animation-name:floral-bloom-soft}}@keyframes floral-bloom-soft{0%{opacity:0;transform:scale(.9) rotate(-3deg)}to{opacity:.88;transform:scale(1) rotate(0deg)}}@media (prefers-reduced-motion:reduce){.berry-pop circle,.filler-fade,.floral-sway,.flower-breathe,.footer-garland,.hero-ampersand,.hero-date-row,.hero-divider,.hero-eyebrow,.hero-floral,.hero-name,.hero-script,.hero-scroll,.hero-venue,.leaf-grow,.spray-flower{animation:none;opacity:1;transform:none}.spray-filigree path,.spray-tendril path,.stem-draw{animation:none;stroke-dashoffset:0}}.hero-ampersand,.hero-date-row,.hero-eyebrow,.hero-name,.hero-script,.hero-scroll,.hero-venue{opacity:0;animation:hero-rise 1s cubic-bezier(.22,1,.36,1) forwards}.hero-eyebrow{animation-delay:.2s}.hero-script{animation-delay:.4s}.hero-name-1{animation-delay:.62s}.hero-ampersand{animation-delay:.78s}.hero-name-2{animation-delay:.92s}.hero-date-row{animation-delay:1.3s}.hero-venue{animation-delay:1.5s}.hero-scroll{animation-delay:1.7s}@keyframes hero-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero-eyebrow{font-family:Josefin Sans,sans-serif;font-weight:300;font-size:clamp(.72rem,1.7vw,.85rem);letter-spacing:.32em;text-transform:uppercase;color:var(--text-muted)}.hero-script{font-family:Allura,cursive;font-weight:400;font-size:clamp(2.6rem,7vw,4rem);color:var(--gold-dark);line-height:1;margin-top:clamp(8px,1.6vw,14px);margin-bottom:clamp(8px,1.6vw,14px);letter-spacing:.005em}.hero-names{font-family:Playfair Display,serif;font-size:clamp(2.6rem,8.5vw,4.4rem);font-weight:400;color:var(--text);letter-spacing:.015em;line-height:1.05;display:flex;flex-direction:column;align-items:center;gap:2px}.hero-name{display:block;line-height:1.05}.hero-ampersand{font-family:Playfair Display,serif;font-style:italic;color:var(--gold);font-size:clamp(1.9rem,6.2vw,3.1rem);line-height:1;margin:4px 0}.hero-date-row{display:flex;align-items:center;justify-content:center;gap:clamp(16px,3vw,26px);margin-top:clamp(16px,3vw,28px);padding-top:clamp(34px,5vw,46px);padding-bottom:clamp(8px,1.5vw,14px);position:relative;width:100%;max-width:480px}.hero-date-row:after,.hero-date-row:before{content:"";position:absolute;left:50%;transform:translateX(-50%);width:clamp(160px,28vw,240px);height:1px;background:linear-gradient(90deg,transparent 0,rgba(160,133,64,.4) 20%,rgba(160,133,64,.4) 80%,transparent)}.hero-date-row:before{top:0;background:linear-gradient(90deg,transparent 0,rgba(160,133,64,.22) 25%,rgba(160,133,64,.22) 75%,transparent)}.hero-date-row:after{bottom:0}.hero-date-cell{display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-date-side{flex:1 1;min-width:0;font-family:Cormorant Garamond,serif;font-size:clamp(1.2rem,3.2vw,1.7rem);font-weight:500;color:var(--text);font-style:italic;letter-spacing:.02em}.hero-date-row>.hero-date-side:first-child{align-items:flex-end}.hero-date-row>.hero-date-side:last-child{align-items:flex-start}.hero-date-center{position:relative;padding:0 clamp(14px,2.6vw,24px)}.hero-date-center:after,.hero-date-center:before{content:"";position:absolute;top:50%;width:1px;height:clamp(38px,7vw,56px);transform:translateY(-50%);background:rgba(160,133,64,.35)}.hero-date-center:before{left:0}.hero-date-center:after{right:0}.hero-date-weekday{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);white-space:nowrap;font-family:Josefin Sans,sans-serif;font-weight:300;font-size:clamp(.62rem,1.6vw,.8rem);letter-spacing:.32em;padding-left:.32em;text-transform:uppercase;color:var(--sage-dark)}.hero-date-day{font-family:Playfair Display,serif;font-weight:500;font-size:clamp(2.4rem,7vw,3.4rem);line-height:1;color:var(--text)}.hero-venue{margin-top:clamp(22px,4vw,30px);display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-light)}.hero-venue-place{font-family:Cormorant Garamond,serif;font-size:clamp(1rem,2.4vw,1.2rem);font-weight:500;letter-spacing:.04em;color:var(--sage-dark)}.hero-venue-city{font-size:clamp(.68rem,1.5vw,.78rem);letter-spacing:.28em}.hero-scroll,.hero-venue-city{font-family:Josefin Sans,sans-serif;font-weight:300;text-transform:uppercase;color:var(--text-muted)}.hero-scroll{margin-top:clamp(40px,7vw,60px);display:inline-flex;align-items:center;gap:10px;font-size:clamp(.7rem,1.5vw,.78rem);letter-spacing:.3em;text-decoration:none;padding:10px 4px;transition:color .25s ease}.hero-scroll svg{animation:hero-scroll-bob 2.4s ease-in-out infinite}@media (hover:hover){.hero-scroll:hover{color:var(--sage-dark)}}@keyframes hero-scroll-bob{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@media (prefers-reduced-motion:reduce){.hero-scroll svg{animation:none}}.ornament{display:flex;align-items:center;justify-content:center;gap:16px;margin:clamp(18px,4vw,24px) 0}.ornament-line{width:clamp(40px,10vw,60px);height:1px;background:var(--gold);opacity:.5}.ornament-diamond{width:8px;height:8px;background:var(--gold);transform:rotate(45deg);opacity:.6}.photo-collage{padding:clamp(40px,7vw,64px) 0;border-bottom:1px solid var(--border)}.collage-center,.photo-collage{background:var(--cream);text-align:center}.collage-center{display:flex;flex-direction:column;justify-content:center;padding:clamp(14px,2vw,26px) clamp(18px,2.6vw,34px);border-radius:10px;border:1px solid rgba(194,160,90,.28)}.collage-center .section-label{position:relative;margin:0 0 clamp(22px,3vw,34px);padding-bottom:clamp(12px,1.8vw,18px);font-size:clamp(.74rem,1.5vw,.84rem);letter-spacing:.34em}.collage-center .section-label:after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:clamp(40px,6vw,60px);height:1px;background:linear-gradient(to right,transparent,var(--gold) 20%,var(--gold) 80%,transparent);opacity:.7}.story-prose{text-align:left;max-width:60ch;margin:0 auto}.story-prose p{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.04rem,1.45vw,1.26rem);line-height:1.85;letter-spacing:.004em;color:var(--text);margin-bottom:1.05em}.story-prose p:first-of-type:first-letter{font-family:Playfair Display,serif;font-size:3.1em;line-height:.72;float:left;margin:.05em .11em 0 0;color:var(--gold-dark);font-weight:500}.story-prose p:last-child{margin-bottom:0;color:var(--text-light)}.collage{display:grid;grid-template-columns:1.25fr 1fr 1fr 1.25fr;grid-template-rows:clamp(190px,18vw,320px) auto clamp(190px,18vw,320px);grid-template-areas:"c1 c2 c3 c4" "c5 tx tx c6" "c5 c7 c8 c6";grid-gap:8px;gap:8px;width:100%;margin:0;padding:8px;background:var(--cream-dark);border-radius:0;box-shadow:0 14px 50px rgba(58,58,58,.18),0 2px 6px rgba(58,58,58,.08)}.collage-cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;margin:0;padding:0;font:inherit;cursor:pointer;position:relative;overflow:hidden;border-radius:10px;isolation:isolate;background:var(--border);transition:transform .3s ease,box-shadow .3s ease,z-index 0s linear .3s}.collage-cell:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.collage-cell:first-child{grid-area:c1}.collage-cell:nth-child(2){grid-area:c2}.collage-cell:nth-child(3){grid-area:c3}.collage-cell:nth-child(4){grid-area:c4}.collage-cell:nth-child(5){grid-area:c5}.collage-cell:nth-child(6){grid-area:c6}.collage-cell:nth-child(7){grid-area:c7}.collage-cell:nth-child(8){grid-area:c8}.collage-center{grid-area:tx}@media (hover:hover){.collage-cell:hover{transform:scale(1.025);z-index:2;box-shadow:0 10px 28px rgba(0,0,0,.22);transition:transform .3s ease,box-shadow .3s ease,z-index 0s}}.collage-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focus,50% 45%);opacity:0;transform:scale(1.04);transition:opacity 1.2s ease-in-out;will-change:opacity,transform;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.collage-img.is-on{opacity:1;animation:collage-kb 9s ease-out forwards}@keyframes collage-kb{0%{transform:scale(1.02)}to{transform:scale(1.14)}}.lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,56px);background:rgba(38,36,32,.88);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:lightbox-fade .25s ease both}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}.lightbox-img{max-width:min(94vw,1100px);max-height:88vh;object-fit:contain;border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.55);animation:lightbox-pop .28s cubic-bezier(.22,1,.36,1) both;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}@keyframes lightbox-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.lightbox-close,.lightbox-nav{position:absolute;display:flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;line-height:1;transition:background .2s ease,transform .2s ease;-webkit-tap-highlight-color:transparent}.lightbox-close{top:clamp(12px,2.4vw,28px);right:clamp(12px,2.4vw,28px);width:44px;height:44px;font-size:1.7rem}.lightbox-nav{top:50%;transform:translateY(-50%);width:50px;height:50px;font-size:2rem;padding-bottom:4px}.lightbox-prev{left:clamp(8px,2.4vw,32px)}.lightbox-next{right:clamp(8px,2.4vw,32px)}@media (hover:hover){.lightbox-close:hover,.lightbox-nav:hover{background:rgba(255,255,255,.28)}.lightbox-nav:hover{transform:translateY(-50%) scale(1.06)}}@media (max-width:520px){.lightbox-nav{width:42px;height:42px;font-size:1.6rem}}@media (prefers-reduced-motion:reduce){.lightbox,.lightbox-img{animation:none}}@media (max-width:1150px){.collage{grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto auto;grid-template-areas:"tx tx tx tx" "c1 c2 c3 c4" "c5 c6 c7 c8";aspect-ratio:auto}.collage>.collage-cell{aspect-ratio:4/3}}@media (max-width:760px){.collage{grid-template-columns:repeat(2,1fr);grid-template-rows:auto auto auto auto auto;grid-template-areas:"tx tx" "c1 c2" "c3 c4" "c5 c6" "c7 c8";aspect-ratio:auto;gap:6px;padding:6px}.collage-cell{border-radius:8px}.collage>.collage-cell{aspect-ratio:4/3}}@media (prefers-reduced-motion:reduce){.collage-img,.collage-img.is-on{transition-duration:.2s;animation:none!important;transform:none}}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:rgba(249,246,240,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.nav{background:rgba(249,246,240,.98)}}.nav-inner{max-width:1280px;margin:0 auto;display:flex;justify-content:center;flex-wrap:wrap;gap:2px;padding:0 var(--gutter)}.nav a{font-family:Josefin Sans,sans-serif;font-size:.72rem;font-weight:300;letter-spacing:.15em;text-transform:uppercase;color:var(--text-light);text-decoration:none;padding:16px 14px;transition:color .2s;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}@media (hover:hover){.nav a:hover{color:var(--sage-dark)}}.nav a:active{color:var(--sage-dark)}@media (max-width:820px){.nav-inner{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;padding-left:max(var(--gutter),var(--safe-l));padding-right:max(var(--gutter),var(--safe-r));mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent)}.nav-inner::-webkit-scrollbar{display:none}.nav a{padding:14px 12px;scroll-snap-align:center}}.container{max-width:1280px;margin:0 auto;padding:0 var(--gutter);padding-left:max(var(--gutter),var(--safe-l));padding-right:max(var(--gutter),var(--safe-r))}section{padding:var(--section-y) 0;border-bottom:1px solid var(--border)}section:last-of-type{border-bottom:none}.attire-weather-note,.faq-item,.hotel-note,.subhead,section>.section-label,section>.section-title,section>p{max-width:760px;margin-left:auto;margin-right:auto;text-align:center}.section-label{font-family:Josefin Sans,sans-serif;font-size:.7rem;font-weight:300;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.section-title{font-family:Playfair Display,serif;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:400;color:var(--text);margin-bottom:clamp(14px,3vw,20px);line-height:1.2}section p{font-size:clamp(1.02rem,2.2vw,1.15rem);line-height:1.8;color:var(--text);margin-bottom:16px}.event-card{background:var(--white);border-radius:16px;padding:clamp(22px,4vw,36px);margin:28px 0;box-shadow:0 2px 20px rgba(0,0,0,.04);border:1px solid var(--border);position:relative;overflow:hidden}.event-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(to bottom,var(--sage),var(--gold))}.event-card h3{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:500;color:var(--text);margin-bottom:4px}.event-card .event-subtitle{font-family:Josefin Sans,sans-serif;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);font-weight:300;margin-bottom:16px}.event-details{display:grid;grid-template-columns:auto 1fr;grid-gap:8px 20px;gap:8px 20px;font-size:1.05rem}.event-details dt{font-weight:600;color:var(--text-light);font-size:.9rem;font-family:Josefin Sans,sans-serif;letter-spacing:.05em;text-transform:uppercase;padding-top:2px}.event-details dd{color:var(--text)}.weekend-grid{display:grid;grid-template-columns:1fr 1.6fr 1fr;grid-gap:0;gap:0;margin:clamp(28px,5vw,36px) 0;border-radius:18px;overflow:hidden;box-shadow:0 4px 28px rgba(0,0,0,.06);border:1px solid var(--border)}.day-column{background:var(--white);border-right:1px solid var(--border);display:flex;flex-direction:column}.day-column:last-child{border-right:none}.day-column.day-highlight{background:linear-gradient(180deg,rgba(122,158,126,.06) 0,var(--white) 40%)}.day-header{padding:22px 16px 18px;text-align:center;border-bottom:1px solid var(--border);display:grid;grid-template-rows:auto auto 28px;justify-items:center;align-content:start;grid-row-gap:4px;row-gap:4px}.day-header .day-name{font-family:Josefin Sans,sans-serif;font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-muted);font-weight:300}.day-header .day-date{font-family:Playfair Display,serif;font-size:1.8rem;color:var(--text);line-height:1.2}.day-column.day-highlight .day-header .day-date{color:var(--sage-dark)}.day-header .day-label{font-family:Josefin Sans,sans-serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--white);background:var(--sage);display:inline-block;padding:3px 12px;border-radius:10px;margin-top:4px;font-weight:300;align-self:start}.day-header .day-label.gold{background:var(--gold)}.day-events{padding:16px;flex:1 1;display:flex;flex-direction:column;gap:12px}.day-event{padding:12px;border-radius:10px;background:var(--cream);border-left:3px solid var(--sage)}.day-event.compact{padding:8px 12px}.day-event.optional{border-left-color:var(--border);opacity:.85}.day-event.primary{background:var(--sage-light);border-left-color:var(--sage-dark)}.day-event.gold-accent{border-left-color:var(--gold)}.day-event .ev-time{font-family:Josefin Sans,sans-serif;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dark);font-weight:400;margin-bottom:3px}.day-event .ev-name{font-family:Playfair Display,serif;font-size:1.05rem;color:var(--text);line-height:1.3}.day-event .ev-detail{font-size:.9rem;color:var(--text-light);margin-top:4px;line-height:1.5}.day-event .ev-tag{font-family:Josefin Sans,sans-serif;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-top:6px;font-weight:300}@media (max-width:900px){.weekend-grid{grid-template-columns:1fr 1fr}.day-column{border-bottom:1px solid var(--border)}.day-column:nth-child(2){grid-column:1/-1;border-right:none}.day-column:first-child{border-right:1px solid var(--border)}.day-column:nth-child(3){border-right:none;border-bottom:none}.day-column:first-child,.day-column:nth-child(3){border-bottom:none}}@media (max-width:600px){.weekend-grid{grid-template-columns:1fr;border-radius:14px}.day-column{border-right:none;border-bottom:1px solid var(--border);min-height:auto}.day-column:last-child{border-bottom:none}}.welcome-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:clamp(10px,1.6vw,14px);gap:clamp(10px,1.6vw,14px);margin:clamp(24px,4vw,32px) 0}.welcome-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;box-shadow:0 4px 16px rgba(0,0,0,.08);transition:transform .35s ease,box-shadow .35s ease;display:block}@media (hover:hover){.welcome-gallery img:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.16)}}@media (max-width:768px){.welcome-gallery{grid-template-columns:1fr 1fr}.welcome-gallery img:first-child{grid-column:1/-1;aspect-ratio:21/9}}@media (max-width:480px){.welcome-gallery{grid-template-columns:1fr}.welcome-gallery img,.welcome-gallery img:first-child{aspect-ratio:16/10}}.info-row{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(20px,4vw,32px) clamp(48px,9vw,96px);margin:12px auto 0;max-width:760px;text-align:center}.info-row p{font-size:1.05rem;margin-bottom:0}.info-row .section-label{margin-bottom:4px}.venue-blurb{margin-top:clamp(20px,4vw,28px)}.info-row .info-secondary{color:var(--text-light)}.attire-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(20px,4vw,32px);gap:clamp(20px,4vw,32px);margin:clamp(28px,5vw,36px) 0;align-items:start}.attire-card{background:var(--white);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.05);border:1px solid var(--border)}.attire-photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--cream)}.attire-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.attire-card h3{font-family:Playfair Display,serif;font-size:1.3rem;padding:20px 24px 4px;color:var(--text)}.attire-card .attire-subtitle{font-family:Cormorant Garamond,serif;font-size:.95rem;color:var(--text-light);padding:0 24px 16px;line-height:1.6}.attire-tips{padding:16px 24px 20px;border-top:1px solid var(--border)}.attire-tips ul{list-style:none;padding:0}.attire-tips li{font-size:.92rem;color:var(--text-light);padding:4px 0;line-height:1.55}.attire-tips li:before{content:"✓ ";color:var(--sage);font-weight:600}.attire-weather-note{text-align:center;color:var(--text-muted);font-family:Josefin Sans,sans-serif;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;margin-top:8px;padding:0 8px}@media (max-width:720px){.attire-grid{grid-template-columns:1fr}}.venue-gallery{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(8px,1.4vw,14px);gap:clamp(8px,1.4vw,14px);margin:clamp(24px,4vw,32px) 0}.venue-gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;border-radius:14px;box-shadow:0 4px 18px rgba(0,0,0,.1);transition:transform .35s ease,box-shadow .35s ease;display:block}@media (hover:hover){.venue-gallery img:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.18)}}@media (max-width:600px){.venue-gallery{grid-template-columns:1fr}.venue-gallery img{aspect-ratio:3/2}}.subhead{font-family:Playfair Display,serif;font-size:clamp(1.2rem,3.5vw,1.4rem);font-weight:500;margin:clamp(28px,5vw,36px) auto 16px;color:var(--text)}.hotel-grid{display:grid;grid-gap:clamp(14px,3vw,20px);gap:clamp(14px,3vw,20px);margin:clamp(24px,4vw,28px) 0}.hotel-grid-featured,.hotel-grid-secondary{grid-template-columns:repeat(2,1fr)}.hotel-grid-secondary{margin-top:clamp(10px,2vw,14px)}.hotel-grid-all{grid-template-columns:repeat(4,1fr);align-items:stretch}.hotel-section-label{font-family:Josefin Sans,sans-serif;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);margin-top:clamp(20px,4vw,28px);margin-bottom:clamp(4px,1vw,6px);padding-top:clamp(16px,3vw,22px);border-top:1px solid var(--border)}.hotel-card{background:var(--white);border-radius:14px;padding:clamp(20px,4vw,26px);border:1px solid var(--border);box-shadow:0 2px 12px rgba(0,0,0,.03);display:flex;flex-direction:column}.hotel-card .hotel-cta{margin-top:auto;align-self:flex-start}.hotel-card h4{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:500;margin-bottom:4px}.hotel-badge{font-family:Josefin Sans,sans-serif;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--sage);font-weight:300;display:block;margin-bottom:12px}.hotel-card p{font-size:.95rem!important;line-height:1.6!important;margin-bottom:4px!important}.hotel-card-compact{padding:clamp(18px,3vw,22px) clamp(20px,3.5vw,24px);background:transparent;box-shadow:none;border:1px solid var(--border)}.hotel-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:2px}.hotel-card-head h4{margin-bottom:0}.hotel-price{font-family:Josefin Sans,sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.06em;color:var(--sage-dark);white-space:nowrap}.hotel-note{font-size:.95rem;color:var(--text-light);margin-top:8px}.hotel-card-featured{position:relative;border:1.5px solid var(--sage);box-shadow:0 6px 22px rgba(122,158,126,.16);background:linear-gradient(180deg,rgba(122,158,126,.045) 0,var(--white) 60%)}.hotel-tag{font-size:.62rem;letter-spacing:.22em;padding:5px 12px;border-radius:999px;margin-bottom:12px}.hotel-cta,.hotel-tag{display:inline-block;font-family:Josefin Sans,sans-serif;text-transform:uppercase;font-weight:400;color:var(--white);background:var(--sage)}.hotel-cta{margin-top:14px;padding:11px 22px;font-size:.74rem;letter-spacing:.18em;text-decoration:none;border-radius:8px;transition:background .2s ease,transform .2s ease}@media (hover:hover){.hotel-cta:hover{background:var(--sage-dark);transform:translateY(-1px)}}.hotel-cta:active{background:var(--sage-dark)}@media (max-width:860px){.hotel-grid-all{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.hotel-grid-all,.hotel-grid-featured,.hotel-grid-secondary{grid-template-columns:1fr}}.things-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:clamp(14px,3vw,20px);gap:clamp(14px,3vw,20px);margin:clamp(24px,4vw,28px) 0}.thing-card{background:var(--white);border-radius:14px;border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 12px rgba(0,0,0,.04);transition:transform .35s ease,box-shadow .35s ease}.thing-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform .6s ease}@media (hover:hover){.thing-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.14)}.thing-card:hover img{transform:scale(1.06)}}.thing-card-body{padding:18px 22px 22px}.thing-card h4{font-family:Playfair Display,serif;font-size:1.05rem;margin-bottom:6px}.thing-card p{font-size:.92rem!important;color:var(--text-light)!important;line-height:1.6!important;margin-bottom:0!important}@media (max-width:900px){.things-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.things-grid{grid-template-columns:1fr}}.faq-item{border-bottom:1px solid var(--border);padding:clamp(18px,3.5vw,24px) 0}.faq-item:last-child{border-bottom:none}.faq-question{font-family:Playfair Display,serif;font-size:clamp(1.05rem,3vw,1.2rem);color:var(--text);margin-bottom:8px}.faq-answer{font-size:clamp(.98rem,2.4vw,1.05rem);color:var(--text-light);line-height:1.75}.rsvp-section{background:var(--white);border-radius:20px;padding:clamp(28px,6vw,48px);box-shadow:0 4px 30px rgba(0,0,0,.06);border:1px solid var(--border);margin:clamp(24px,5vw,28px) 0;text-align:center}.rsvp-intro{font-size:clamp(1.05rem,2.6vw,1.2rem);color:var(--text-light)}.rsvp-form{max-width:560px;margin:clamp(24px,5vw,32px) auto 0;text-align:left}.form-group{margin-bottom:20px}.form-group label{display:block;font-family:Josefin Sans,sans-serif;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);margin-bottom:6px;font-weight:300}.form-group input,.form-group select,.form-group textarea{width:100%;padding:14px 16px;font-family:Cormorant Garamond,serif;font-size:16px;border:1px solid var(--border);border-radius:10px;background:var(--cream);color:var(--text);transition:border-color .2s;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'><path d='M1 1l6 6 6-6' stroke='%239a9080' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(122,158,126,.15)}.form-group textarea{resize:vertical;min-height:96px}.radio-group{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:6px}.radio-option{display:flex;align-items:center;gap:8px;font-size:1.05rem;cursor:pointer;min-height:44px}.radio-option input[type=radio]{width:20px;height:20px;accent-color:var(--sage)}.submit-btn{display:inline-block;width:100%;padding:16px 32px;font-family:Josefin Sans,sans-serif;font-size:.8rem;font-weight:300;letter-spacing:.25em;text-transform:uppercase;color:var(--white);background:var(--sage);border:none;border-radius:10px;cursor:pointer;transition:background .2s,transform .1s;margin-top:8px;min-height:48px}.submit-btn:hover{background:var(--sage-dark)}.submit-btn:active{transform:translateY(1px)}.rsvp-note{font-size:.88rem;color:var(--text-muted);margin-top:16px;text-align:center}.rsvp-thanks{padding:clamp(24px,5vw,32px);text-align:center}.rsvp-thanks-heart{font-size:2.5rem;margin-bottom:12px;color:var(--gold)}.rsvp-thanks h3{font-family:Playfair Display,serif;font-size:1.6rem;margin-bottom:8px}.rsvp-thanks p{font-size:1.1rem;color:var(--text-light)}.guest-search{position:relative}.guest-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;list-style:none;margin:0;padding:4px 0;background:var(--white);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.08);z-index:10;max-height:260px;overflow-y:auto}.guest-suggestions li{margin:0}.guest-suggestions button{display:block;width:100%;padding:10px 16px;text-align:left;background:transparent;border:none;font-family:Cormorant Garamond,serif;font-size:1.05rem;color:var(--text);cursor:pointer;min-height:40px}.guest-suggestions button:focus,.guest-suggestions button:hover{background:var(--sage-light);outline:none}.guest-add-field{position:relative}.guest-add-row{display:flex;gap:10px;align-items:stretch}.guest-add-row input{flex:1 1}.guest-add-btn{flex:0 0 auto;padding:0 22px;font-family:Josefin Sans,sans-serif;font-size:.72rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--white);background:var(--sage);border:none;border-radius:8px;cursor:pointer;transition:background .2s ease}@media (hover:hover){.guest-add-btn:hover{background:var(--sage-dark)}}.guest-add-btn:active{background:var(--sage-dark)}.guest-search-hint{font-size:.85rem;color:var(--text-muted);margin-top:6px}.guest-cards{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.guest-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.guest-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.guest-card-name{font-family:Playfair Display,serif;font-size:1.2rem;color:var(--text)}.guest-card-remove{background:transparent;border:none;font-size:1.6rem;line-height:1;color:var(--text-muted);cursor:pointer;padding:4px 8px;border-radius:6px;min-width:32px;min-height:32px}.guest-card-remove:hover{color:var(--text);background:var(--cream-dark)}.guest-card-meal{margin-top:12px;margin-bottom:0}.rsvp-error{color:#a04040;background:#fbecec;border:1px solid #f2c9c9;border-radius:8px;padding:10px 14px;margin:12px 0 0;font-size:.95rem}.registry-box{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:clamp(28px,6vw,48px) clamp(20px,5vw,40px);text-align:center;margin:clamp(24px,5vw,28px) 0}.registry-box .registry-intro{font-size:clamp(1.02rem,2.4vw,1.15rem);color:var(--text-light);max-width:480px;margin:0 auto}.registry-box .registry-link{display:inline-block;margin-top:20px;padding:16px 36px;font-family:Josefin Sans,sans-serif;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--gold-dark);border:1.5px solid var(--gold);border-radius:10px;transition:all .2s;font-weight:300;min-height:48px}.registry-box .registry-link:hover{background:var(--gold);color:var(--white)}.registry-box .registry-coming-soon{font-size:.88rem;color:var(--text-muted);margin-top:16px}.maps-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:clamp(16px,3vw,24px);gap:clamp(16px,3vw,24px);margin:clamp(20px,4vw,28px) 0}.map-cell{display:flex;flex-direction:column}.map-container{height:clamp(280px,38vw,420px);border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,.08)}.map-label{font-family:Josefin Sans,sans-serif;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}@media (max-width:700px){.maps-grid{grid-template-columns:1fr}}footer{position:relative;text-align:center;padding:clamp(40px,7vw,60px) var(--gutter) clamp(40px,8vw,60px);padding-bottom:max(clamp(40px,8vw,60px),env(safe-area-inset-bottom,0px));color:var(--text-muted);overflow:hidden;background:radial-gradient(ellipse at 50% 0,rgba(122,158,126,.1) 0,transparent 62%),radial-gradient(ellipse at 50% 118%,rgba(217,168,161,.13) 0,transparent 60%),linear-gradient(180deg,transparent,rgba(245,240,226,.5))}.footer-garland{display:block;width:clamp(264px,70vw,432px);height:auto;margin:0 auto clamp(14px,2.6vw,22px);animation:footer-garland-rise 1.2s cubic-bezier(.22,1,.36,1) both;animation-timeline:view();animation-range:entry 8% entry 86%}@keyframes footer-garland-rise{0%{opacity:0;transform:translateY(24px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}footer .footer-names{font-family:Playfair Display,serif;font-size:clamp(1.3rem,4vw,1.6rem);color:var(--text);margin-bottom:6px}footer .footer-date{font-family:Josefin Sans,sans-serif;font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-muted)}footer .footer-ornament{margin-top:clamp(16px,3vw,22px);margin-bottom:0;opacity:.85}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}