:root{--burgundy: #4a0d0d;--burgundy-deep: #360808;--burgundy-glow: #6b1414;--cream: #fdf6ec;--ivory: #fbeee0;--white: #ffffff;--gold: #c9a86a;--gold-soft: #e8d4a8;--red-dark: #7a1010;--ink: #2a1010;--muted-ink: #5b3a3a;--font-display: "Playfair Display", "Cormorant Garamond", Georgia, serif;--font-serif: "Cormorant Garamond", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--shadow-card: 0 20px 60px rgba(0, 0, 0, .35), 0 4px 12px rgba(0, 0, 0, .2);--radius-card: 14px;--max-content: 1080px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}html,body{overflow-x:clip;max-width:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--burgundy);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.page{background:radial-gradient(ellipse at top,var(--burgundy-glow) 0%,var(--burgundy) 40%,var(--burgundy-deep) 100%);background-attachment:fixed;min-height:100vh;color:var(--cream)}.nav{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#360808bf;border-bottom:1px solid rgba(201,168,106,.2)}.nav-inner{max-width:var(--max-content);margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.nav-brand{font-family:var(--font-display);font-style:italic;font-size:20px;color:var(--gold-soft);letter-spacing:.02em}.nav-links{display:flex;gap:22px;list-style:none;flex-wrap:wrap}.nav-links a{color:var(--cream);text-decoration:none;font-size:14px;letter-spacing:.12em;text-transform:uppercase;transition:color .2s}.nav-links a:hover{color:var(--gold)}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:9px;flex-shrink:0;background:transparent;border:1px solid rgba(201,168,106,.35);border-radius:8px;cursor:pointer}.nav-toggle-bar{display:block;width:100%;height:2px;border-radius:2px;background:var(--gold-soft)}@media (max-width: 640px){.nav-inner{position:relative;flex-wrap:nowrap;gap:12px}.nav-brand{font-size:16px}.nav-toggle{display:flex}.nav-links{display:none;position:absolute;top:calc(100% + 10px);right:16px;left:16px;flex-direction:column;gap:0;padding:8px 0;background:#360808f7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(201,168,106,.25);border-radius:12px;box-shadow:0 20px 44px #00000073}.nav-links.open{display:flex}.nav-links li{width:100%}.nav-links a{display:block;padding:13px 22px;font-size:15px}.nav-links a:hover{color:var(--gold);background:#c9a86a1a}}.section{padding:12px;max-width:var(--max-content);margin:0 auto}.section-heading{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,4vw,3rem);color:var(--cream);text-align:center;letter-spacing:.02em;margin-bottom:12px}.section-subheading{text-align:center;color:var(--gold-soft);font-family:var(--font-serif);font-style:italic;font-size:1.15rem;margin-bottom:48px;letter-spacing:.04em}.card{background:var(--white);color:var(--ink);border-radius:var(--radius-card);padding:40px;box-shadow:var(--shadow-card);border:1px solid rgba(201,168,106,.15)}.card h3{font-family:var(--font-display);font-size:1.6rem;color:var(--burgundy);margin-bottom:12px}.card p{color:var(--muted-ink)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:80px 24px 48px;text-align:center;position:relative}.hero-inner{max-width:720px}.hero-eyebrow{font-family:var(--font-serif);font-style:italic;color:var(--gold);letter-spacing:.3em;text-transform:uppercase;font-size:.8rem;margin-bottom:24px}.hero-names{font-family:var(--font-display);font-size:clamp(3rem,9vw,6rem);font-weight:400;line-height:1.05;color:var(--cream);letter-spacing:.01em}.hero-names .name{display:inline}.hero-names .amp{display:inline;font-style:italic;color:var(--gold);font-size:.6em;margin:0 .25em}@media (max-width: 640px){.hero-names{font-size:clamp(2.6rem,15vw,4rem)}.hero-names .name:last-of-type{display:block}}.hero-date{margin-top:32px;font-family:var(--font-serif);font-size:1.4rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream)}.hero-venue{margin-top:8px;font-family:var(--font-serif);font-style:italic;color:var(--gold);font-size:1.1rem;letter-spacing:.06em}.hero-photo{margin-top:56px;width:100%;max-width:420px;aspect-ratio:4 / 5;object-fit:cover;border-radius:var(--radius-card);border:1px solid rgba(232,212,168,.25);display:block;margin-left:auto;margin-right:auto;box-shadow:var(--shadow-card)}.hero-scroll{margin-top:48px;color:var(--gold-soft);font-family:var(--font-serif);font-style:italic;letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;opacity:.85}.divider{display:flex;align-items:center;justify-content:center;padding:24px;gap:16px;color:var(--gold);opacity:.75}.divider .line{height:1px;width:80px;background:linear-gradient(90deg,transparent,var(--gold-soft),transparent)}.schedule-list{display:flex;flex-direction:column;gap:20px}.schedule-item{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:start}.schedule-time{font-family:var(--font-display);font-style:italic;color:var(--burgundy);font-size:1.25rem}.schedule-time small{display:block;font-family:var(--font-body);font-style:normal;color:var(--muted-ink);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;margin-top:4px}.schedule-body h4{font-family:var(--font-display);font-size:1.35rem;color:var(--burgundy);margin-bottom:6px}.schedule-body .venue{color:var(--red-dark);font-family:var(--font-serif);font-style:italic;font-size:1rem;margin-bottom:8px}@media (max-width: 640px){.schedule-item{grid-template-columns:1fr;gap:6px}}.logistics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.logistics-grid .icon{text-align:center}.logistics-grid .card h3{border-bottom:1px solid var(--gold-soft);padding-bottom:10px;margin-bottom:16px}.logistics-grid ul{list-style:none}.logistics-grid li{padding:8px 0;color:var(--muted-ink);border-bottom:1px dashed rgba(74,13,13,.15)}.logistics-grid li:last-child{border-bottom:none}.logistics-grid li strong{color:var(--burgundy);font-weight:600}.registry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:520px;margin:0 auto}.registry-card{text-align:center;padding:48px 32px}.card .icon{font-family:var(--font-display);font-size:2.5rem;color:var(--gold);margin-bottom:12px;font-style:italic;line-height:1}.registry-link{display:inline-block;margin-top:20px;padding:12px 28px;background:var(--burgundy);color:var(--cream);text-decoration:none;font-family:var(--font-body);font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;border-radius:4px;transition:background .2s}.registry-link:hover{background:var(--burgundy-glow)}.carousel{display:flex;align-items:center;justify-content:center;gap:16px}.carousel-stage{width:100%;max-width:480px;aspect-ratio:2 / 3;border-radius:var(--radius-card);overflow:hidden;border:1px solid rgba(232,212,168,.25);box-shadow:var(--shadow-card);background:var(--burgundy-deep)}.carousel-photo{width:100%;height:100%;object-fit:cover;display:block}.carousel-btn{flex-shrink:0;width:52px;height:52px;border-radius:50%;border:1px solid rgba(232,212,168,.35);background:#36080899;color:var(--gold-soft);font-size:1.8rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,transform .2s}.carousel-btn:hover{background:var(--burgundy-glow);color:var(--cream);transform:scale(1.05)}.carousel-dots{display:flex;justify-content:center;gap:10px;margin-top:24px}.carousel-dot{width:10px;height:10px;border-radius:50%;border:none;padding:0;cursor:pointer;background:#e8d4a84d;transition:background .2s,transform .2s}.carousel-dot:hover{background:#e8d4a899}.carousel-dot.active{background:var(--gold);transform:scale(1.2)}@media (max-width: 640px){.carousel{flex-wrap:wrap;gap:20px;padding:0 12px}.carousel-stage{order:-1;flex:0 0 100%;max-width:100%}.carousel-btn{width:48px;height:48px;font-size:1.6rem}.carousel-dots{display:none}}.contact-card{text-align:center;max-width:560px;margin:0 auto;padding:48px 40px}.contact-card p{color:var(--muted-ink);margin-bottom:24px}.contact-list{list-style:none;display:flex;flex-direction:column;gap:12px}.contact-list li{font-family:var(--font-serif);font-size:1.15rem;color:var(--burgundy)}.contact-list a{color:var(--burgundy);text-decoration:none;border-bottom:1px solid var(--gold-soft);transition:color .2s}.contact-list a:hover{color:var(--gold)}.footer{padding:32px 24px 72px;text-align:center;color:var(--gold-soft);font-family:var(--font-serif);font-style:italic;letter-spacing:.12em}.footer .signoff{font-size:1.4rem;color:var(--cream);margin-bottom:8px}.footer .year{font-size:.85rem;letter-spacing:.3em;text-transform:uppercase;opacity:.7}
