:root{--stone-50: #f8f5f2;--stone-100: #f1ece6;--stone-200: #e5ddd5;--stone-300: #d9d0c5;--ink: #1e1a1b;--ink-soft: #554d4a;--muted: #6a615d;--accent: #784953;--accent-deep: #612e35;--blush: #c6a3a4;--button-hover: #612e35;--rose: #c6a3a4;--rose-soft: rgba(198, 163, 164, .18);--accent-gradient: linear-gradient(135deg, #784953 0%, #612e35 100%);--line: rgba(120, 73, 83, .16);--panel: rgba(255, 255, 255, .5);--glass-blur: blur(14px) saturate(1.15);--glass-edge: inset 0 1px 0 rgba(255, 255, 255, .7);--canvas-background: #fcf9f3;--font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--shadow: 0 24px 60px rgba(97, 46, 53, .08);font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--ink);background:var(--canvas-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,rgba(198,163,164,.16),transparent 38%),var(--canvas-background)}img{max-width:100%;display:block}button,input,select,textarea,a{font:inherit}button{transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.wedding-page{max-width:1440px;margin:0 auto;padding:1rem 1.45rem 2.5rem}.topbar{display:none}.brand{font-family:var(--font-display);font-size:clamp(1.45rem,2.2vw,2.05rem);font-weight:500;letter-spacing:.06em;color:var(--ink);line-height:1.1}.brand span,.hero-copy h1 span{color:var(--accent-deep)}.main-nav{display:flex;align-items:center;gap:1.5rem;font-size:.95rem}.main-nav a{color:#564846cc;text-decoration:none;letter-spacing:.04em}.nav-button,.primary-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;text-decoration:none;transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.nav-button,.primary-btn{background:var(--accent-gradient);color:#fffffff5;box-shadow:0 14px 28px #612e3529}.nav-button{padding:.8rem 1.25rem;font-weight:600}.primary-btn,.secondary-btn{padding:.9rem 1.5rem;font-weight:500}.secondary-btn{border:1px solid rgba(120,73,83,.45);color:var(--accent-deep);background:#ffffff80;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.nav-button:hover,.primary-btn:hover,.secondary-btn:hover,button:not(:disabled):hover{transform:translateY(-1px)}.hero{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:2.1rem;padding:.1rem 0 2.6rem;align-items:end}.hero-copy{display:flex;flex-direction:column;padding:.2rem 0 .75rem}.countdown-strip{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:center;gap:2rem;grid-column:1 / -1;width:100%;padding:.75rem clamp(1rem,2.8vw,2.2rem);border-top:1px solid rgba(120,73,83,.14);border-bottom:1px solid rgba(120,73,83,.14);background:linear-gradient(135deg,#ffffffbf,#c6a3a433);box-shadow:var(--glass-edge),0 8px 22px #612e350d;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);overflow:hidden}.countdown-strip:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.32) 41%,rgba(255,255,255,.14) 52%,transparent 100%);transform:translate(-100%);animation:countdown-sweep 9s ease-in-out infinite}@keyframes countdown-sweep{0%{transform:translate(-100%)}40%,to{transform:translate(100%)}}.countdown-strip-label{color:var(--accent-deep);font-size:.68rem;letter-spacing:.22rem;text-transform:uppercase;font-weight:700;white-space:nowrap}.countdown-strip-values{display:flex;align-items:baseline;justify-content:center;gap:1.7rem;font-family:var(--font-display);font-size:clamp(2.5rem,3.2vw,5.2rem);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.06em;color:var(--ink)}.countdown-strip-values span{display:inline-flex;align-items:baseline;gap:.25rem;justify-content:center}.countdown-strip-values strong{font-weight:700;min-width:2.2ch;text-align:right;line-height:.82;display:inline-block;transform-origin:center;animation:countdown-react 7s ease-in-out infinite}.countdown-strip-values span:nth-child(2) strong{animation-delay:1.4s}.countdown-strip-values span:nth-child(3) strong{animation-delay:2.8s}.language-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.22rem;border:1px solid rgba(120,73,83,.14);border-radius:999px;background:#ffffff8c;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-edge),0 2px 10px #612e350f;align-self:flex-start;margin-bottom:2rem}.language-toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--muted);min-width:2.5rem;padding:.38rem .55rem;border-radius:999px;font-size:.68rem;letter-spacing:.14em;font-weight:700;text-transform:uppercase;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.language-toggle button:hover{color:var(--ink)}.language-toggle button.active{background:var(--accent-gradient);color:#fffaf7;box-shadow:0 8px 16px #612e352e}@keyframes countdown-react{0%,17%,to{transform:scale(1);opacity:.96}23%{transform:scale(1.04);opacity:1}28%{transform:scale(1.015);opacity:.98}35%{transform:scale(1);opacity:.96}}.countdown-strip-values em{font-style:normal;font-size:.9rem;color:var(--accent-deep);text-transform:uppercase}.hero-media{position:relative;min-height:620px;padding:.6rem 0 0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(190px,.72fr);align-items:stretch;gap:.85rem}.media-frame{position:relative;overflow:hidden;border-radius:30px;border:1px solid rgba(30,26,27,.08);background:#f3ebe8;box-shadow:var(--shadow);height:100%}.media-frame img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(.85) contrast(1.03) brightness(.96)}.media-frame-large{width:100%;min-height:560px;border-radius:26px}.media-frame-large img{object-position:center 46%}.media-frame-small{position:relative;width:100%;min-height:360px;margin-top:auto;z-index:2;border-radius:28px}.floating-note{position:absolute;left:1.2rem;bottom:1.2rem;display:flex;flex-direction:column;gap:.35rem;padding:.9rem 1rem;border-radius:18px;background:linear-gradient(135deg,#fcf9f3d1,#c6a3a46b);border:1px solid rgba(255,255,255,.65);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-edge),0 20px 45px #612e351a}.floating-note span{color:var(--accent-deep);font-size:.7rem;letter-spacing:.16rem;text-transform:uppercase;font-weight:700}.floating-note{color:var(--ink);font-size:.95rem}.eyebrow,.section-label,.card-kicker{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 .8rem;color:var(--accent-deep);font-size:.75rem;letter-spacing:.22rem;text-transform:uppercase;font-weight:700}.card-icon{display:inline-flex;align-items:center;justify-content:center;width:.8rem;height:.8rem;color:var(--accent-deep);transform:translateY(-1px)}.card-icon svg{width:100%;height:100%;display:block;stroke:currentColor;fill:none}.hero-copy h1{margin:0;font-family:var(--font-display);font-size:clamp(4.8rem,7vw,10rem);font-weight:400;line-height:.82;letter-spacing:-.065em;color:var(--ink)}.date-line{margin:1.2rem 0 0;font-size:1.02rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.lede{max-width:700px;margin-top:1.5rem;font-size:1.08rem;line-height:1.5;color:var(--ink-soft)}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.rsvp-deadline-note{margin:.9rem 0 0;font-size:.82rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.hero-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:28px;padding:1.6rem;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.event-grid{display:grid;gap:1rem;margin-top:1rem}.event-grid div{display:flex;flex-direction:column;gap:.25rem;padding:1.1rem 1rem;border-radius:16px;background:linear-gradient(180deg,#ffffffb3,#c6a3a424);color:var(--ink);font-weight:500}.event-grid span{color:var(--accent-deep);font-size:.72rem;letter-spacing:.12rem;text-transform:uppercase;font-weight:700}.stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:.5rem;padding:1.1rem 1.4rem;border:1px solid var(--line);border-radius:18px;background:#fff6;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.stats-strip div{display:flex;flex-direction:column;gap:.25rem}.stats-strip span{color:var(--muted);font-size:.72rem;letter-spacing:.12rem;text-transform:uppercase}.stats-strip strong{font-size:1.02rem}.story-section,.schedule,.faq-section,.rsvp-section,.travel-block{margin-top:2.6rem}.story-section{position:relative;overflow:hidden;text-align:center;max-width:760px;margin-left:auto;margin-right:auto;padding:1.2rem 1.2rem .4rem}.story-section>*{position:relative;z-index:1}.story-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 15% 25%,rgba(120,73,83,.16) 0,rgba(120,73,83,.16) 1px,transparent 1.8px),radial-gradient(circle at 72% 18%,rgba(198,163,164,.3) 0,rgba(198,163,164,.3) 1.2px,transparent 2px),radial-gradient(circle at 62% 70%,rgba(120,73,83,.12) 0,rgba(120,73,83,.12) 1.1px,transparent 2px),radial-gradient(circle at 30% 55%,rgba(198,163,164,.3) 0,rgba(198,163,164,.3) 1px,transparent 1.8px);opacity:.8;animation:story-glow 12s ease-in-out infinite alternate}.story-section:after{content:"";position:absolute;left:12%;bottom:14%;width:0;height:0;opacity:0}.shooting-star{position:absolute;left:12%;bottom:14%;width:190px;height:2px;display:block;border-radius:999px;filter:opacity(.35);opacity:0;transform:translate3d(-30px,28px,0) rotate(-28deg) scaleX(.5);transform-origin:left center;animation:shooting-star 9s linear infinite;will-change:transform,opacity}.shooting-star:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:linear-gradient(90deg,transparent 0%,rgba(198,163,164,.22) 8%,rgba(198,163,164,.12) 15%,rgba(120,73,83,.7) 22%,rgba(120,73,83,.24) 42%,rgba(120,73,83,.06) 68%,transparent 100%);box-shadow:0 0 10px #c6a3a433,0 0 22px #7849531a}.shooting-star:after{content:"";position:absolute;right:-6px;top:50%;width:12px;height:12px;transform:translateY(-50%);background:linear-gradient(135deg,#c6a3a4,#784953);clip-path:polygon(50% 0%,61% 35%,100% 50%,61% 65%,50% 100%,39% 65%,0% 50%,39% 35%);box-shadow:0 0 0 1px #ffffff73,0 0 8px #c6a3a480,0 0 18px #c6a3a438}.story-section:after,.story-section:before,.shooting-star{pointer-events:none}@keyframes story-glow{0%{transform:scale(1);opacity:.45}to{transform:scale(1.04);opacity:.85}}@keyframes shooting-star{0%{opacity:0;transform:translate3d(-32px,28px,0) rotate(-28deg) scaleX(.5)}8%{opacity:.12;transform:translate3d(-4px,14px,0) rotate(-28deg) scaleX(.62)}18%{opacity:.42;transform:translate3d(34px,0,0) rotate(-28deg) scaleX(.8)}34%{opacity:.9;transform:translate3d(102px,-42px,0) rotate(-28deg) scaleX(.96)}54%{opacity:.95;transform:translate3d(190px,-90px,0) rotate(-28deg) scaleX(1)}72%{opacity:.66;transform:translate3d(286px,-146px,0) rotate(-28deg) scaleX(.9)}88%{opacity:.2;transform:translate3d(392px,-198px,0) rotate(-28deg) scaleX(.7)}to{opacity:0;transform:translate3d(500px,-228px,0) rotate(-28deg) scaleX(.5)}}.faq-section{background:#ffffff80;border:1px solid var(--line);border-radius:30px;padding:2rem 1.5rem;box-shadow:var(--shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.faq-section h2{margin:0;font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.1rem);font-weight:500;line-height:1.12;text-align:center}.faq-list{display:grid;margin-top:1.5rem;border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line);transition:background .3s ease}.faq-item[open]{background:linear-gradient(90deg,#c6a3a429,#c6a3a408);box-shadow:inset 2px 0 0 var(--accent)}.faq-item summary{list-style:none;cursor:pointer;padding:1.1rem 1rem;font-family:var(--font-display);font-size:1.2rem;font-weight:500;line-height:1.35;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:1rem}.faq-item summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";flex-shrink:0;font-family:var(--font-display);font-size:1.4rem;color:var(--accent);line-height:1}.faq-item[open] summary:after{content:"−"}.faq-item p{margin:0;padding:0 1rem 1.2rem;color:var(--ink-soft);line-height:1.7}.story-section h2,.rsvp-copy h2{margin:0;text-wrap:balance;font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.3rem);font-weight:500;line-height:1.12}.story-section p:not(.section-label){font-size:1.1rem;color:var(--muted);margin-top:1rem;max-width:55ch;margin-left:auto;margin-right:auto;text-align:left;line-height:1.8}@media (min-width: 1200px){.story-section p:not(.section-label){max-width:80ch}}.details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin-top:2rem}.info-card{background:#ffffff80;border:1px solid var(--line);border-radius:22px;padding:1.7rem;box-shadow:var(--glass-edge),0 18px 40px #612e350d;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.info-card h3{margin:0 0 1rem;font-size:1.6rem;font-family:var(--font-display)}.info-card p{margin:.2rem 0;font-size:.95rem;color:var(--ink-soft)}.story-gallery{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(220px,.75fr);gap:1.2rem;margin-top:2.2rem;align-items:stretch}.photo-carousel{position:relative;min-height:500px;border-radius:30px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(30,26,27,.08);background:#fff6}.carousel-slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;transition:opacity .5s ease}.carousel-slide.active{opacity:1;pointer-events:auto}.carousel-slide img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) contrast(1.03) brightness(.96)}.carousel-ui{position:absolute;left:1.2rem;right:1.2rem;bottom:1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .9rem;border-radius:999px;background:#612e3547;border:1px solid rgba(255,255,255,.28);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.carousel-ui button{width:2.6rem;height:2.6rem;border:none;border-radius:50%;background:#fffc;color:var(--ink);font-size:1.2rem;cursor:pointer}.carousel-dots{display:flex;gap:.5rem;align-items:center;justify-content:center;flex:1}.carousel-dots .dot{width:.6rem;height:.6rem;padding:0;border-radius:50%;border:none;background:#ffffff80;cursor:pointer}.carousel-dots .dot.active{background:#fff;transform:scale(1.15)}.supporting-gallery{display:grid;grid-template-rows:1.3fr .7fr;gap:1.2rem}.supporting-panel{position:relative;min-height:0;border-radius:24px;overflow:hidden;border:1px solid rgba(30,26,27,.08);box-shadow:var(--shadow);background:linear-gradient(160deg,#1f1a1b0d,#1f1a1b40)}.tall-panel{min-height:300px}.short-panel{min-height:180px}.supporting-panel img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85) contrast(1.04) brightness(.96)}.supporting-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#120c0e05,#120c0e2e)}.schedule-list{display:grid;gap:1rem;margin-top:1rem}.schedule-item{display:grid;grid-template-columns:180px 1fr auto;gap:1rem;align-items:center;background:#ffffff80;border:1px solid var(--line);border-radius:18px;padding:1.2rem 1.3rem;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.schedule-item span,.schedule-item em{color:var(--muted)}.schedule-item strong{font-size:1.08rem}.travel-block{display:grid;gap:1.5rem;background:#ffffff80;border:1px solid var(--line);border-radius:28px;padding:1.8rem 1.7rem 1.4rem;box-shadow:var(--shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.travel-layout{display:grid;grid-template-columns:1.3fr .9fr;gap:1.2rem;align-items:stretch}.travel-copy{display:flex;flex-direction:column;justify-content:center;padding-right:.8rem}.travel-copy h3{margin:0;font-family:var(--font-display);font-size:clamp(2.1rem,4vw,4rem);font-weight:500;line-height:.98;letter-spacing:-.04em}.travel-copy p:last-child{color:var(--muted);margin-top:1rem;line-height:1.7;max-width:740px}.travel-options{margin-top:1.25rem;display:grid;gap:.8rem;padding:1.1rem 1.1rem 1rem;border:1px solid var(--line);border-radius:18px;background:#ffffff73;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.travel-options-label{margin:0;font-size:.7rem;letter-spacing:.14rem;text-transform:uppercase;font-weight:700;color:var(--muted)}.travel-option-line{margin:0;font-size:1.05rem;font-weight:700;color:var(--ink)}.travel-options p{margin:0;color:var(--muted);line-height:1.7}.transport-note{display:grid;gap:.5rem;padding-top:.8rem;border-top:1px solid rgba(30,26,27,.08)}.transport-note strong{font-size:.8rem;letter-spacing:.12rem;text-transform:uppercase;color:var(--ink)}.transport-note a{color:var(--accent-deep);font-weight:700;text-decoration:underline;text-underline-offset:.16rem}.stay-map-panel{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#fffc;box-shadow:0 18px 40px #1e1a1b0a}.map-info-badge{position:absolute;right:1rem;top:1rem;width:2.2rem;height:2.2rem;border-radius:8px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:1.1rem;font-weight:700;z-index:1;box-shadow:0 10px 20px #612e3538}.stay-map-panel img{display:block;width:100%;height:250px;object-fit:cover}.stay-map-meta{display:grid;gap:.35rem;padding:1rem 1.1rem 1.2rem}.stay-map-meta span,.stay-tag{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.stay-map-meta strong{font-size:1.35rem;font-family:var(--font-display);font-weight:500;color:var(--ink)}.stay-map-meta small{color:var(--muted);line-height:1.5}.stay-recommendations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.stay-swipe-hint,.stay-pager,.stay-card.stay-map-card{display:none}.stay-card{display:grid;gap:.9rem;padding:.85rem;border-radius:22px;background:linear-gradient(135deg,#c6a3a433,#ffffffbf);border:1px solid var(--line);box-shadow:0 12px 24px #1e1a1b05}.stay-card-featured{background:linear-gradient(135deg,#c6a3a452,#ffffffd9)}.stay-card-image img{display:block;width:100%;height:200px;object-fit:cover;border-radius:14px}.stay-card-body{display:grid;gap:.35rem}.stay-book-group{display:contents}.stay-book-btn{justify-self:start;margin-top:.6rem;padding:.75rem 1.3rem;font-size:.95rem}.stay-book-note{color:var(--ink-soft);font-size:.85rem}.stay-site-link{justify-self:start;margin-top:.5rem;color:var(--accent-deep);font-size:.9rem;font-weight:600;text-decoration:underline;text-underline-offset:3px}.stay-card-body h4{margin:0;font-size:1.6rem;font-family:var(--font-display);font-weight:500;color:var(--ink)}.stay-card-body p{margin:0;color:var(--muted);font-weight:600}.stay-card-body small{color:var(--muted);line-height:1.6}.stay-tag{display:inline-flex;align-items:center;width:fit-content;padding:.38rem .5rem;background:#ffffffb3;border-radius:999px;border:1px solid rgba(30,26,27,.08)}.stay-tag.alt{background:#fff9}.guest-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin:2rem auto 0;max-width:1280px}.guest-info-card{background:#ffffff80;border:1px solid var(--line);border-radius:22px;padding:1.5rem 1.3rem;box-shadow:var(--glass-edge),0 18px 40px #612e350d;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);text-align:left}.guest-info-card h3{margin:0 0 .75rem;font-size:1.4rem;font-family:var(--font-display);text-align:left}.guest-info-card p:not(.card-kicker){margin:0;color:var(--muted);line-height:1.6;text-align:left}.travel-card p,.travel-card span{margin:0;color:var(--muted)}.travel-card strong{font-size:1.4rem;font-family:var(--font-display)}.rsvp-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:2rem;align-items:start;background:#ffffff80;border:1px solid var(--line);border-radius:30px;padding:1.8rem 2rem;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow)}.rsvp-copy{grid-column:1 / -1;padding:.5rem 0 1.6rem;border-bottom:1px solid var(--line);text-align:center}.rsvp-copy p:last-of-type{max-width:46rem;color:var(--muted);margin:.75rem auto 0}.rsvp-photo{display:block;width:100%;height:100%;max-height:54rem;min-height:0;object-fit:cover;object-position:47% center;border-radius:22px;box-shadow:var(--shadow)}.rsvp-form{display:flex;flex-direction:column;gap:1rem}.rsvp-form label{display:flex;flex-direction:column;gap:.5rem;font-weight:600;color:var(--ink)}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{width:100%;min-height:52px;box-sizing:border-box;border:1px solid rgba(120,73,83,.2);border-radius:14px;background:#fff9;color:var(--ink);padding:.9rem 1rem}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{outline:2px solid rgba(120,73,83,.2);border-color:var(--accent)}.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.rsvp-form button{margin-top:.5rem;border:none;border-radius:999px;background:var(--accent-gradient);color:#fff;font-weight:700;padding:.95rem 1.4rem;cursor:pointer;box-shadow:0 18px 35px #612e3538}:is(.nav-button,.primary-btn,.secondary-btn,button):not(:disabled):is(:hover,:focus-visible){background:var(--button-hover);color:#fff;border-color:var(--button-hover)}.status{margin:.25rem 0 0;padding:.8rem 1rem;border-radius:12px;font-weight:600;line-height:1.5}.status.success{background:#f0fdf4;color:#166534}.status.error{background:#fef2f2;color:#991b1b}.footer{text-align:center;color:var(--muted);padding:2rem 0 1rem;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase}.footer-countdown{display:flex;flex-direction:column;align-items:center;gap:.7rem}.footer-text{font-size:.82rem;letter-spacing:.08em;color:var(--ink-soft)}.footer-amp{color:var(--accent-deep)}.footer-countdown-values{display:flex;align-items:baseline;justify-content:center;gap:1rem;font-size:1.2rem;font-variant-numeric:lining-nums tabular-nums}.footer-countdown-values span{display:inline-flex;align-items:baseline;gap:.2rem}.footer-countdown-values strong{font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:var(--ink)}.footer-countdown-values em{font-style:normal;font-size:.9rem;font-weight:600;letter-spacing:.14em;color:var(--accent-deep);text-transform:uppercase}@media (max-width: 900px){.hero,.rsvp-section,.details-grid,.countdown-strip{flex-wrap:wrap;justify-content:center}.countdown-strip-values{width:100%;justify-content:center}.hero,.details-grid,.travel-layout,.travel-block,.story-gallery,.rsvp-section,.guest-info-grid{grid-template-columns:1fr}.guest-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rsvp-photo{height:auto;aspect-ratio:4 / 5}.supporting-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.topbar{padding-bottom:1.4rem}.brand{font-size:clamp(1.25rem,5vw,1.75rem)}.main-nav{gap:1rem;font-size:.82rem;flex-wrap:wrap;justify-content:center}.hero-copy{padding-top:0}.hero-copy h1{font-size:clamp(2.8rem,12vw,4.7rem)}.date-line{font-size:.98rem;letter-spacing:.06em}.date-line .date-sep{display:none}.date-line .date-venue{display:block}.hero-media{min-height:auto;padding:0;grid-template-columns:1fr}.countdown-strip{margin-bottom:.8rem}.media-frame-large{min-height:460px}.media-frame-small{position:static;width:100%;min-height:220px;margin-top:.9rem}.floating-note{left:.9rem;right:.9rem;bottom:.9rem}.schedule-item{grid-template-columns:1fr;text-align:left}}@media (max-width: 640px){.wedding-page{padding-left:1rem;padding-right:1rem}.topbar{flex-wrap:wrap;justify-content:center;text-align:center;gap:.85rem}.main-nav{width:100%;justify-content:center;flex-wrap:wrap;gap:.7rem 1rem}.nav-button{width:100%}.stats-strip,.guest-info-grid{grid-template-columns:1fr}.stay-recommendations{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;gap:.8rem;margin:0 -1.25rem;padding:.2rem 1.25rem .9rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:1.25rem;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.stay-recommendations::-webkit-scrollbar{display:none}.stay-card{scroll-snap-align:start;grid-template-rows:auto 1fr;padding:.6rem;gap:.75rem}.stay-card-body{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:0 .25rem .25rem}.stay-card-image img{height:180px}.stay-swipe-hint{display:flex;align-items:center;gap:.4rem;margin:0 0 .7rem;font-size:.82rem;font-weight:600;letter-spacing:.04em;color:var(--accent-deep)}.stay-card.stay-map-card{display:grid}.travel-layout .stay-map-panel{display:none}.stay-swipe-hint span{display:inline-block;animation:swipe-nudge 1.6s ease-in-out infinite}.stay-pager{display:flex;justify-content:center;gap:.4rem;margin-top:.5rem}.stay-pager span{width:6px;height:6px;border-radius:999px;background:#7849534d;transition:width .25s ease,background .25s ease}.stay-pager span.active{width:18px;background:var(--accent-deep)}.stay-card-body h4{font-size:1.5rem}.stay-card-body p{font-size:.9rem;font-weight:500}.stay-card-body small{font-size:.98rem;line-height:1.6}.stay-book-group{display:grid;gap:.55rem;width:100%;margin-top:auto;padding-top:.9rem;border-top:1px solid rgba(120,73,83,.16)}.stay-book-btn{justify-self:stretch;width:100%;min-height:44px;margin-top:.25rem;padding:.9rem 1rem;font-size:1rem;border-radius:14px;box-shadow:0 8px 16px #612e3524;text-align:center}.stay-book-note{font-size:.84rem;line-height:1.5;text-align:center}@keyframes swipe-nudge{0%,to{transform:translate(0)}50%{transform:translate(5px)}}.stay-site-link{display:block;width:100%;margin-top:auto;padding:.8rem 1rem;border:1px solid rgba(120,73,83,.35);border-radius:14px;font-size:.95rem;text-align:center;text-decoration:none}.row{grid-template-columns:1fr}.hero-actions{flex-direction:column}.countdown-strip{flex-direction:column;align-items:center;text-align:center;gap:.35rem;padding:.7rem 1rem;border-inline:1px solid rgba(120,73,83,.14)}.countdown-strip-values{justify-content:center;gap:clamp(.4rem,3vw,.95rem);width:100%;font-size:clamp(1.8rem,9vw,3.2rem)}.countdown-strip-label{letter-spacing:.16rem;font-size:.8rem}.rsvp-deadline-note{margin-top:1.25rem;text-align:center;text-transform:none;letter-spacing:.02em;font-size:clamp(.85rem,3.6vw,.95rem);text-wrap:balance}.language-toggle button{min-width:44px;min-height:44px}.carousel-ui{left:50%;right:auto;bottom:1rem;width:max-content;padding:.6rem 1rem;transform:translate(-50%)}.carousel-ui>button{display:none}.carousel-dots{flex:none;pointer-events:none}.travel-block a,.faq-item a{display:inline-block;min-height:44px;padding-block:.6rem}.footer-countdown-values{flex-wrap:wrap;gap:.5rem .9rem}.countdown-strip-values em{font-size:1.05rem;font-weight:600}.media-frame-large{min-height:360px}.media-frame-small{min-height:180px}.travel-block{padding:1.5rem 1.25rem 1.25rem;gap:1.1rem;border-radius:24px}.travel-copy{padding-right:0}.travel-copy h3{font-size:clamp(2rem,9vw,2.5rem);line-height:1.05}.travel-copy p:last-child{font-size:1rem;line-height:1.6;margin-top:.85rem;text-wrap:pretty}.faq-section{padding:1.6rem 1.1rem 1rem;border-radius:24px}.faq-section h2{font-size:clamp(2rem,9vw,2.5rem);text-align:left;text-wrap:balance}.faq-list{margin-top:1.25rem}.faq-item summary{align-items:flex-start;gap:.9rem;padding:1.05rem .1rem;font-size:1.12rem;line-height:1.3;text-wrap:balance}.faq-item summary{align-items:flex-start}.faq-item summary:after{content:"";flex-shrink:0;width:2rem;height:2rem;margin-top:-.27rem;border-radius:50%;background-color:#c6a3a447;background-image:linear-gradient(var(--accent-deep),var(--accent-deep)),linear-gradient(var(--accent-deep),var(--accent-deep));background-position:center;background-repeat:no-repeat;background-size:.8rem 1.5px,1.5px .8rem;transition:background-color .2s ease,background-size .25s ease}.faq-item[open] summary:after{content:"";background-color:transparent;background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),var(--accent-gradient);background-size:.8rem 1.5px,1.5px 0,auto;background-position:center,center,center;background-repeat:no-repeat}.faq-item[open]{box-shadow:none;background:none}.faq-item[open] summary{color:var(--accent-deep)}.faq-item p{padding:0 .1rem 1.25rem;font-size:.98rem;line-height:1.6;text-wrap:pretty;animation:faq-reveal .28s ease both}.faq-item p+p{margin-top:-.6rem}.faq-item a{color:var(--accent-deep);font-weight:600;text-underline-offset:3px}@keyframes faq-reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.faq-item p{animation:none}}.rsvp-section{padding:1.4rem 1.1rem 1.5rem;gap:1.4rem;border-radius:24px}.rsvp-copy{padding:.25rem 0 1.25rem}.rsvp-photo{aspect-ratio:16 / 10;height:auto;border-radius:18px}.rsvp-form{gap:.95rem}.rsvp-form label{gap:.45rem;font-size:.92rem;letter-spacing:.01em}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{min-height:52px;padding:.85rem 1rem;font-size:16px;font-weight:400;line-height:1.4;border:1px solid rgba(120,73,83,.22);border-radius:14px;background-color:#ffffffbf;-webkit-appearance:none;-moz-appearance:none;appearance:none}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#1e1a1b66;opacity:1}.rsvp-form select{padding-right:2.75rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23784953' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px 8px;text-overflow:ellipsis}.rsvp-form input[type=number]::-webkit-inner-spin-button,.rsvp-form input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rsvp-form input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.rsvp-form textarea{min-height:112px;resize:vertical}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #78495329}.rsvp-form input:disabled{opacity:.55}.rsvp-form button{width:100%;min-height:54px;margin-top:.5rem;border-radius:16px;font-size:1rem;letter-spacing:.01em;box-shadow:0 12px 24px #612e352e}.rsvp-form button:disabled{opacity:.7}.nav-button,.primary-btn,.secondary-btn{width:100%}}
