:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f1e4;--bg-soft:#fbf7ee;--card:#fffdf8eb;--card-strong:#fffbf4fa;--ink:#1f3f63;--text:#34322c;--muted:#6f6a62;--muted-soft:#9a948a;--accent:#1f9d9a;--accent-strong:#147c79;--coral:#ef8a78;--coral-strong:#df6f5b;--gold:#f0b24a;--sage:#a9b09c;--line:#1f3f6329;--shadow:0 26px 70px #1f3f631f;--shell-gutter:clamp(18px, 5vw, 28px);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:radial-gradient(circle at 6% 3%,#f0b24a29,#0000 26rem),radial-gradient(circle at 94% 7%,#1f9d9a29,#0000 28rem),radial-gradient(circle at 50% 100%,#ef8a781f,#0000 30rem),linear-gradient(160deg,#f8f3e8 0%,#fbf7ee 55%,#f2ebdb 100%);margin:0}body:before{content:"";pointer-events:none;opacity:.33;background-image:linear-gradient(#1f3f630a 1px,#0000 1px),linear-gradient(90deg,#1f3f6308 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 72%);mask-image:linear-gradient(#000,#0000 72%)}.skip-link{z-index:20;color:#fffaf2;background:var(--accent-strong);border-radius:999px;padding:10px 14px;font-weight:800;position:fixed;top:12px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.topbar{z-index:10;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf2e0;border-radius:999px;align-items:center;gap:12px;width:min(1120px,100% - 24px);margin:12px auto 0;padding:10px;display:flex;position:sticky;top:12px;box-shadow:0 18px 50px #1f3f631a}.brand{min-width:54px;min-height:42px;color:var(--ink);background:#1f3f6314;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-family:Cormorant Garamond,Georgia,serif;font-size:1.35rem;font-weight:700;text-decoration:none;display:inline-flex}.brand span{color:var(--accent);margin:0 3px;font-weight:400}.nav-links{gap:18px;margin-left:auto;display:none}.nav-links a{color:var(--muted);font-size:.92rem;font-weight:700;text-decoration:none}.nav-links a:hover{color:var(--text)}.topbar>.button{margin-left:auto}.site-shell{width:min(1120px,100%);padding:16px var(--shell-gutter) 48px;margin:0 auto}.hero{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(145deg,#ffffffc2,#f5e8d3d1);border-radius:30px;gap:0;display:grid;overflow:hidden}.hero__visual{justify-items:center;padding:clamp(16px,5vw,34px) clamp(16px,5vw,34px) clamp(8px,2vw,14px);display:grid}.hero__image{--hero-image:url(/assets/invita-placeholder.svg);aspect-ratio:1285/1800;background:var(--hero-image) center / contain no-repeat;background-color:#fffcf699;border-radius:22px;width:100%;max-width:440px;box-shadow:0 24px 62px #1f3f6329}.hero__image--missing{--hero-image:url(/assets/invita-placeholder.svg)}.hero__content{text-align:center;padding:0 clamp(20px,6vw,40px) clamp(22px,6vw,38px)}.eyebrow,.section-kicker{color:var(--accent-strong);letter-spacing:.2em;text-transform:uppercase;margin:0 0 10px;font-size:.74rem;font-weight:800}h1,h2{color:var(--ink);margin:0;font-family:Cormorant Garamond,Georgia,serif;font-weight:600;line-height:1.06}h1{letter-spacing:-.046em;max-width:10ch;margin-inline:auto;font-size:clamp(2.9rem,12vw,7.4rem)}h1 span{color:var(--accent);letter-spacing:-.02em;font-size:.72em;font-weight:400;display:block}h2{letter-spacing:-.028em;margin-bottom:14px;font-size:clamp(1.7rem,5.8vw,2.95rem)}p{color:var(--muted);line-height:1.64}.hero__date{color:var(--coral-strong);letter-spacing:.07em;text-transform:uppercase;margin:16px 0 0;font-size:clamp(.88rem,2.5vw,.98rem);font-weight:800}.hero__lead{max-width:34rem;margin:18px auto 26px;font-size:clamp(.98rem,2.6vw,1.06rem)}.hero__actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.button{letter-spacing:.01em;text-align:center;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:50px;padding:0 22px;font-size:.96rem;font-weight:800;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s;display:inline-flex}.button--small{color:#fff;background:linear-gradient(135deg,#25b0ac,#147c79);min-height:42px;padding:0 16px;font-size:.9rem}.button--primary{color:#fff;background:linear-gradient(135deg,#25b0ac,#147c79);box-shadow:0 16px 34px #147c7942}.button--ghost{color:var(--accent-strong);border-color:var(--line);background:#fff9}.button:hover{transform:translateY(-2px)}.button--inline{width:fit-content}.map-links{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.map-links .button{flex:145px;min-width:145px}.button:focus-visible,summary:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #9f6f4352}.section{margin-top:clamp(20px,4vw,28px)}.card{border:1px solid var(--line);background:var(--card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:28px;box-shadow:0 18px 58px #1f3f631a}.intro,.timeline-card,.weather-card,.photos-card,.cta{padding:clamp(24px,6vw,36px)}.section-heading{text-align:center;max-width:760px;margin-inline:auto}.section-heading--wide{max-width:860px}.intro .section-heading{text-align:left;max-width:100%;margin-inline:0}.intro h2{max-width:100%;margin-inline:0}.intro p,.timeline-card .section-heading p{margin-bottom:0}.grid{gap:clamp(16px,4vw,22px);display:grid}.two-columns{grid-template-columns:1fr;scroll-margin-top:92px}.grid .card,.faq .card{padding:clamp(24px,6vw,34px)}.detail-card{flex-direction:column;min-height:100%;display:flex}.detail-card h2{max-width:100%;font-size:clamp(1.5rem,2.8vw,2.1rem)}.detail-card .map-links{margin-top:auto;padding-top:22px}.card-number{border:1px solid var(--line);width:44px;height:44px;color:var(--accent-strong);background:#ffffff85;border-radius:999px;place-items:center;margin-bottom:22px;font-size:.8rem;font-weight:800;display:inline-grid}.detail-main{color:var(--text);margin:0;font-size:1rem;font-weight:800}.detail-meta{color:var(--coral-strong);margin:10px 0 0;font-weight:800}.timeline{gap:0;margin:24px 0 0;padding:0;list-style:none;display:grid}.timeline li{border-top:1px solid var(--line);grid-template-columns:minmax(0,120px) minmax(0,1fr);align-items:start;gap:16px;padding:18px 0;display:grid}.time-range,time{color:var(--coral-strong);letter-spacing:.04em;font-weight:800}.timeline span{color:var(--text);line-height:1.55}.timeline .time-range{color:var(--coral-strong)}.timeline .time-range time{color:inherit}.timeline strong{font-weight:800}.faq{gap:12px;display:grid}.faq>.section-kicker,.faq>h2{text-align:center;width:100%}.faq h2{margin:0 0 4px}details{overflow:hidden}summary{cursor:pointer;color:var(--text);font-weight:800;list-style:none}summary::-webkit-details-marker{display:none}details p{margin-bottom:0}.cta{text-align:center;background:radial-gradient(circle at top right, #1f9d9a24, transparent 22rem), radial-gradient(circle at bottom left, #ef8a781f, transparent 22rem), linear-gradient(135deg, #fffdf8f2, #f4ecdee6), var(--card-strong);justify-items:stretch;gap:clamp(18px,5vw,30px);display:grid}.cta p{margin:0}.cta__content{justify-items:center;gap:14px;display:grid}.cta__content .button{margin-top:4px}.cta__reminder{max-width:44ch;color:var(--muted-soft);margin-top:2px;font-size:.82rem}.cta__note{border:1px solid var(--line);background:#ffffff8f;border-radius:22px;gap:8px;padding:18px;display:grid;box-shadow:0 16px 42px #1f3f6314}.cta__note strong{color:var(--text)}.cta__badge{width:fit-content;color:var(--coral-strong);letter-spacing:.16em;background:#ef8a781f;border-radius:999px;justify-self:center;padding:7px 12px;font-size:.72rem;font-weight:800}.weather-card{text-align:center}.weather-card .weather__status{margin-bottom:0}.weather{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(14px,4vw,30px);margin-top:22px;display:flex}.weather[hidden]{display:none}.weather__icon{font-size:clamp(3rem,11vw,4.2rem);line-height:1}.weather__max{color:var(--ink);font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(3rem,11vw,4.4rem);font-weight:600;line-height:1}.weather__min{letter-spacing:.02em;color:var(--accent-strong);font-size:1rem;font-weight:800}.weather__meta{color:var(--muted);flex-basis:100%;margin:6px 0 0}.photos-card{text-align:center}.photos{justify-items:center;gap:clamp(20px,5vw,36px);display:grid}.photos[hidden]{display:none}.photos__text h2{margin-bottom:12px}.photos__text p{max-width:46ch;margin:0 auto 22px}.photos__text .button{width:fit-content}.photos__qr{border:1px solid var(--line);background:#fff;border-radius:22px;justify-items:center;gap:10px;max-width:100%;padding:16px;display:grid;box-shadow:0 16px 40px #1f3f631f}.photos__qr canvas{border-radius:8px;width:100%;max-width:200px;height:auto;display:block}.photos__qr-label{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-strong);font-size:.72rem;font-weight:800}.photos__pending{color:var(--muted);margin:4px 0 0;font-weight:600}.footer{width:min(1120px, calc(100% - (var(--shell-gutter) * 2)));color:var(--muted-soft);flex-direction:column;gap:4px;margin:0 auto 28px;padding:0 4px;display:flex}.footer p{margin:0}.footer__small{font-size:.9rem}@media (width<=430px){.topbar{width:min(100% - 16px,1120px);top:8px}.button{width:100%}.topbar .button{width:auto}.hero__actions .button{flex:100%}.grid .card,.faq .card,.intro,.timeline-card,.weather-card,.photos-card,.cta{padding:24px 22px}.detail-card h2{max-width:100%}.timeline li{grid-template-columns:1fr;gap:6px}}@media (width>=720px){:root{--shell-gutter:24px}.nav-links{display:flex}.site-shell{padding:18px var(--shell-gutter) 72px}.hero{max-width:760px;margin-inline:auto}.hero__visual{padding:clamp(36px,4vw,54px) clamp(28px,4vw,52px) 10px}.hero__image{max-width:480px}.hero__content{padding:6px 24px clamp(30px,4vw,46px)}.section{margin-top:22px}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.intro,.timeline-card,.weather-card,.photos-card,.cta{padding:42px}.photos{text-align:left;grid-template-columns:1fr auto;align-items:center}.photos__qr{justify-self:end}.cta{text-align:left;grid-template-columns:minmax(0,1fr) minmax(240px,320px);align-items:center}.cta__content{justify-items:start}.cta__badge{justify-self:start}.grid .card,.faq .card{padding:34px}.footer{flex-direction:row;justify-content:space-between;align-items:center}}
