:root{--bg: #141212;--bg-raised: #1b1918;--hairline: rgba(201, 173, 108, .22);--hairline-soft: rgba(201, 173, 108, .12);--ivory: #ece7dd;--ivory-dim: rgba(236, 231, 221, .92);--ivory-faint: rgba(236, 231, 221, .42);--gold-1: #cfc09f;--gold-2: #ffecb3;--gold-3: #c8a951;--gold-4: #3a2c0f;--burgundy: #7a2338;--burgundy-light: #b3495c;--burgundy-deep: #2c0e16;--serif: "Cormorant Garamond", serif;--sans: "Raleway", sans-serif;--container: 1180px;--gutter: clamp(24px, 6vw, 96px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ivory);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.wrap{max-width:var(--container);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}.gold-foil{background-image:linear-gradient(to bottom,#d9c385 22%,#e8d9ac 40%,#c8a951 60%,#a3843f 78%);background-size:100% 1.3em;background-repeat:repeat-y;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.hero-shimmer{background-image:linear-gradient(100deg,#a3843f,#c8a951,#e8d9ac,#d9c385,#a3843f,#c8a951,#e8d9ac 90%,#a3843f);background-size:250% 100%;background-repeat:repeat;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}@media(prefers-reduced-motion:no-preference){.hero-shimmer{animation:heroNameShimmer 4s linear infinite}}@media(prefers-reduced-motion:no-preference)and (max-width:860px){.hero-shimmer{animation-duration:9s}}@keyframes heroNameShimmer{0%{background-position:0% 0}to{background-position:200% 0}}@media(prefers-reduced-motion:no-preference){body{animation:pageFadeIn .5s ease-in}}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:.01em;margin:0;color:#fff}p{font-family:var(--serif)}h2{font-size:clamp(2.28rem,4.8vw,3.24rem)}.eyebrow{font-family:var(--sans);font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-1);font-weight:500}.site-nav{position:fixed;top:0;left:0;right:0;z-index:200;background:#141212b8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--hairline);transition:background .4s ease}.site-nav__inner{max-width:var(--container);margin:0 auto;padding:20px var(--gutter);display:flex;align-items:center;justify-content:space-between}.site-nav__mark{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-style:italic;font-size:1.15rem;letter-spacing:.02em}.site-nav__mark-icon{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.site-footer .site-nav__mark-icon{width:34px;height:34px}.site-nav__links{display:flex;gap:clamp(20px,3vw,44px);list-style:none;margin:0;padding:0}.site-nav__links a{position:relative;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory-dim);padding-bottom:6px;transition:color .3s ease}.site-nav__links a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gold-2);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.22,1,.36,1)}.site-nav__links a:hover,.site-nav__links a.is-active{color:var(--gold-2)}.site-nav__links a:hover:after,.site-nav__links a.is-active:after{transform:scaleX(1)}.site-nav__toggle{display:none;background:none;border:1px solid var(--hairline);width:40px;height:40px;border-radius:1px;color:var(--gold-1);align-items:center;justify-content:center;font-size:1.1rem}@media(max-width:860px){.site-nav__links{position:fixed;top:var(--nav-height, 73px);left:0;right:0;bottom:0;height:calc(100vh - var(--nav-height, 73px));height:calc(100dvh - var(--nav-height, 73px));background:#100f0e;flex-direction:column;align-items:center;justify-content:center;gap:32px;overflow-y:auto;padding:32px 24px;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease}.site-nav__links.is-open{opacity:1;transform:translateY(0);pointer-events:auto}.site-nav__links a{font-size:.9rem}.site-nav__toggle{display:inline-flex}}main{padding-top:88px}.page-hero{padding:88px 0 56px;text-align:center;border-bottom:1px solid var(--hairline-soft)}.page-hero .eyebrow{display:block;margin-bottom:18px}.hero-icon{width:92px;height:92px;object-fit:contain;display:block;margin:0 auto 22px}.page-hero h1{font-size:clamp(2.4rem,6vw,4.2rem)}.page-hero p{max-width:560px;margin:22px auto 0;color:var(--ivory-dim);font-size:1.25rem;line-height:1.8}.page-hero p.hero-date{max-width:640px;font-family:var(--serif);color:var(--ivory);font-size:21px;font-weight:500;font-style:italic}.hero-photo-section{color:var(--ivory-dim)}.hero-date__sep{color:var(--gold-1);margin-right:6px}@media(min-width:700px){.hero-date__line{white-space:nowrap}}section{padding:clamp(56px,9vw,120px) 0}.section-head{text-align:center;margin-bottom:clamp(36px,6vw,68px)}.section-head h2{font-size:clamp(1.9rem,4vw,2.7rem);margin-top:14px}hr.divider{border:none;height:1px;background:var(--hairline);margin:0 auto;width:60%}.site-footer{border-top:1px solid var(--hairline-soft);padding:48px 0 64px;text-align:center}.site-footer .site-nav__mark{display:inline-flex;justify-content:center;margin-bottom:10px;font-size:1.3rem}.site-footer p{color:var(--ivory-faint);font-size:.78rem;letter-spacing:.08em;margin:4px 0 0}.site-footer__credit{display:inline-block;color:var(--ivory-faint);font-size:.78rem;letter-spacing:.08em;margin:4px 0 0;text-decoration:underline}.btn-gold{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 40px;border:1px solid var(--gold-3);color:var(--gold-2);font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;background:transparent;transition:background .35s ease,color .35s ease,border-color .35s ease}.btn-gold:hover{background:var(--burgundy);color:var(--ivory);border-color:var(--burgundy)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.editorial-photo{position:relative;overflow:hidden;background:var(--bg-raised);border:1px solid var(--hairline-soft)}.editorial-photo img{width:100%;height:100%;object-fit:cover}.editorial-photo__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-raised)}.editorial-photo__placeholder span{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;color:var(--ivory-faint);border:1px solid var(--hairline-soft);padding:8px 16px;background:var(--bg)}.editorial-photo--portrait{aspect-ratio:3 / 4}.editorial-photo--landscape{aspect-ratio:16 / 10}.editorial-caption{margin-top:14px;font-family:var(--serif);font-style:italic;color:var(--ivory-faint);font-size:.95rem;text-align:center}.editorial-full{width:100%;aspect-ratio:21 / 9}.editorial-pair{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(16px,3vw,32px);align-items:end}.editorial-pair--reverse{grid-template-columns:.9fr 1.1fr}.editorial-pair--equal{grid-template-columns:1fr 1fr}.editorial-overlap{position:relative;display:grid;grid-template-columns:1fr;place-items:center;padding-bottom:clamp(40px,8vw,90px)}.editorial-overlap .editorial-photo:first-child{width:70%;justify-self:start}.editorial-overlap .editorial-photo:last-child{width:52%;justify-self:end;margin-top:-18%;border:6px solid var(--bg)}@media(max-width:720px){.editorial-pair{grid-template-columns:1fr}.editorial-overlap .editorial-photo:first-child,.editorial-overlap .editorial-photo:last-child{width:100%;margin-top:0;justify-self:center}.editorial-overlap{gap:24px;display:flex;flex-direction:column;padding-bottom:0}}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px)}@media(max-width:780px){.detail-grid{grid-template-columns:1fr}}.detail-card{border:1px solid var(--hairline);padding:clamp(32px,4vw,48px);text-align:center;background:var(--bg-raised)}.detail-card .eyebrow{margin-bottom:16px}.detail-card h3{font-size:clamp(1.5rem,3vw,1.9rem);margin-bottom:18px}.detail-card p{color:var(--ivory-dim);line-height:1.9;font-size:1.225rem;margin:0 0 6px}.detail-card .strong-line{color:var(--ivory);font-family:var(--serif);font-size:1.15rem;font-style:italic}.menu-course{text-align:center;margin-bottom:clamp(44px,6vw,72px)}.menu-course .eyebrow{margin-bottom:20px}.menu-course ul{list-style:none;margin:0;padding:0}.menu-course li{font-family:var(--serif);font-size:clamp(1.3rem,2.6vw,1.7rem);font-weight:400;padding:14px 0;border-bottom:1px solid var(--hairline-soft)}.menu-course li:last-child{border-bottom:none}.menu-note{text-align:center;max-width:540px;margin:0 auto;color:var(--ivory-dim);font-size:1.0625rem;line-height:1.9;letter-spacing:.02em}.registry-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px)}@media(max-width:780px){.registry-grid{grid-template-columns:1fr}}.registry-card{border:1px solid var(--hairline);padding:clamp(40px,5vw,56px) clamp(28px,4vw,40px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}.registry-card h3{font-size:clamp(1.7rem,3vw,2.1rem)}.registry-card p{color:var(--ivory-dim);line-height:1.85;font-size:1.1875rem;max-width:320px}.rsvp-form{max-width:720px;margin:0 auto}.guest-card{border:1px solid var(--hairline);padding:clamp(24px,4vw,36px);margin-bottom:28px;position:relative}.guest-card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.guest-card__head span{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--gold-1)}.guest-remove{background:none;border:none;color:var(--ivory-faint);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid transparent;transition:color .25s ease,border-color .25s ease}.guest-remove:hover{color:var(--burgundy-light);border-color:var(--burgundy-light)}.field{margin-bottom:22px}.field label{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-faint);margin-bottom:10px}.field input[type=text]{width:100%;background:transparent;border:none;border-bottom:1px solid var(--hairline);color:var(--ivory);font-family:var(--sans);font-size:1rem;padding:10px 2px;transition:border-color .3s ease}.field input[type=text]:focus{outline:none;border-color:var(--burgundy-light)}.field input::placeholder{color:var(--ivory-faint)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:560px){.field-row{grid-template-columns:1fr}}.toggle{display:inline-flex;border:1px solid var(--hairline)}.toggle button{background:none;border:none;color:var(--ivory-faint);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;padding:10px 22px;transition:background .3s ease,color .3s ease}.toggle button.is-active{background:var(--burgundy);color:var(--ivory)}.radio-row{display:flex;gap:28px}.radio-row label{display:inline-flex;align-items:center;gap:10px;font-size:.82rem;color:var(--ivory-dim);letter-spacing:.04em;text-transform:none;cursor:pointer}.radio-row input[type=radio]{accent-color:var(--gold-3);width:15px;height:15px}.add-guest-btn{display:block;width:100%;background:transparent;border:1px dashed var(--hairline);color:var(--gold-1);padding:18px;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:36px;transition:border-color .3s ease,color .3s ease}.add-guest-btn:hover{border-color:var(--burgundy-light);color:var(--burgundy-light)}.rsvp-submit-row{text-align:center}.rsvp-submit-row button{border:none;width:100%}.rsvp-status{text-align:center;margin-top:22px;font-size:.88rem;letter-spacing:.04em;color:var(--ivory-dim);min-height:1.4em}.rsvp-status:empty{min-height:0;margin-top:0}.rsvp-status.is-success{color:var(--ivory);background:var(--burgundy-deep);border:1px solid var(--burgundy);padding:24px 24px 20px;font-family:var(--serif);font-size:1.05rem;letter-spacing:.02em}.rsvp-status__icon{display:block;width:51px;height:51px;object-fit:contain;margin:0 auto 12px}.rsvp-status__photo{display:block;width:100%;max-width:360px;aspect-ratio:16 / 10;object-fit:cover;margin:0 auto 20px;border:1px solid var(--burgundy)}.rsvp-status.is-error{color:#d99a8a}
