:root{--cream:#f8f1e4;--cream-deep:#f1e8d5;--burgundy:#d40000;--burgundy-deep:#a00000;--olive:#5c6b3d;--olive-soft:#8a9669;--forest:#2d3d2d;--ink:#2a1a1c;--blush:#e8d4d0}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Cormorant Garamond,Georgia,serif;font-size:18px;line-height:1.6}body.he{font-family:Frank Ruhl Libre,Cormorant Garamond,serif}body.he .script,body.he .section-title,body.he .save-the-date,body.he .names,body.he .venue-card h3,body.he footer .mark,body.he nav .monogram{font-family:Bellefair,Frank Ruhl Libre,serif;font-style:normal}body.he .label,body.he nav a{letter-spacing:.15em;font-family:Frank Ruhl Libre,serif}body.he .timeline-event h3,body.he .travel-card h4{letter-spacing:.1em;font-family:Frank Ruhl Libre,serif;font-weight:500}body.he .timeline-time,body.he .gift-card .script{font-family:Bellefair,serif;font-style:normal}body.he .timeline-item{grid-template-columns:1fr 140px}body.he .timeline-time{text-align:left}.script{font-family:Allura,cursive;font-weight:400}.label{letter-spacing:.08em;color:var(--forest);font-family:Outfit,sans-serif;font-size:.95rem;font-weight:500}.serif-italic{font-family:Cormorant Garamond,serif;font-style:italic}nav{z-index:50;background:var(--cream);border-bottom:1px solid #2d3d2d40;position:sticky;top:0;box-shadow:0 2px 12px #2d3d2d14}nav .inner{justify-content:space-between;align-items:center;gap:1rem;max-width:1100px;margin:0 auto;padding:1.1rem 2rem;display:flex}nav .monogram{color:var(--burgundy);font-family:Allura,cursive;font-size:2rem;line-height:1}nav ul{gap:2rem;list-style:none;display:flex}nav a{color:var(--forest);letter-spacing:.08em;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .2s}nav a:hover{color:var(--burgundy)}.lang-toggle{border:1px solid var(--burgundy);color:var(--burgundy);letter-spacing:.1em;cursor:pointer;background:0 0;align-items:center;gap:.4rem;padding:.4rem .7rem;font-family:Outfit,sans-serif;font-size:.8rem;font-weight:500;transition:background .2s,color .2s;display:flex}.lang-toggle:hover{background:var(--burgundy);color:var(--cream)}.lang-toggle .sep{opacity:.4}.lang-toggle .pick{font-weight:700}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 2rem 4rem;display:flex;position:relative}.hero-split{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;width:100%;max-width:1200px;margin:0 auto;display:grid}.hero-split>.hero-title{text-align:center}.hero-photo{object-fit:cover;aspect-ratio:3/4;background:var(--cream-deep);border:1px solid #d4000026;width:100%;height:auto;display:block}body.he .hero-split{direction:rtl}@media (max-width:900px){.hero-split{grid-template-columns:1fr;gap:2.5rem}.hero-photo{aspect-ratio:4/5;max-width:400px;margin:0 auto}}.hero .save-the-date{color:var(--burgundy);margin-bottom:2.5rem;font-family:Allura,cursive;font-size:clamp(3rem,8vw,6.5rem);line-height:1}body.he .hero .save-the-date{letter-spacing:.05em;font-size:clamp(2.4rem,6vw,5rem)}.save-the-date-crop{aspect-ratio:297.75/95;width:100%;max-width:1000px;margin:1rem auto 2.5rem;position:relative;overflow:hidden}.save-the-date-crop img{width:100%;height:auto;display:block;position:absolute;bottom:0;left:0}.bonbon-logo{width:100%;max-width:180px;height:auto;margin:2rem auto 1.5rem;display:block}.hero .date{color:var(--burgundy);letter-spacing:.5em;margin-bottom:2rem;font-family:Cormorant Garamond,serif;font-size:1.6rem;font-style:italic;font-weight:500}body.he .hero .date{letter-spacing:.3em;font-family:Bellefair,serif;font-style:normal}.hero .names{color:var(--burgundy);font-family:Allura,cursive;font-size:clamp(2.8rem,7vw,5.5rem);line-height:1}body.he .hero .names{letter-spacing:.04em;font-size:clamp(2.4rem,6vw,4.8rem)}.hero .ampersand{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:400}section{max-width:1100px;margin:0 auto;padding:7rem 2rem}.section-eyebrow{text-align:center;margin-bottom:.5rem}.section-title{text-align:center;color:var(--burgundy);margin-bottom:3rem;font-family:Allura,cursive;font-size:clamp(3rem,6vw,5rem);line-height:1}body.he .section-title{letter-spacing:.04em;font-size:clamp(2.4rem,5vw,4rem)}.divider{color:var(--burgundy);opacity:.5;justify-content:center;align-items:center;gap:1rem;margin:0 auto 4rem;display:flex}.divider .line{background:var(--burgundy);flex:0 0 80px;height:1px}.schedule-bg{background:var(--cream-deep);margin:0;padding:7rem 2rem}.schedule-inner{max-width:800px;margin:0 auto}.timeline{flex-direction:column;gap:2.5rem;margin-top:2rem;display:flex}.timeline-item{grid-template-columns:140px 1fr;align-items:baseline;gap:3rem;display:grid}.timeline-time{color:var(--burgundy);text-align:right;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-style:italic;font-weight:500}.timeline-event h3{letter-spacing:.04em;color:var(--forest);margin-bottom:.3rem;font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:600}.timeline-event p{color:var(--ink);opacity:.75;font-style:italic}body.he .timeline-event p{font-style:normal}.timeline-item+.timeline-item{border-top:1px solid #8b1a2b26;padding-top:2.5rem}.menu-trio{grid-template-columns:repeat(3,1fr);align-items:end;gap:1.5rem;margin-top:4rem;display:grid}.menu-trio img{width:100%;height:auto;display:block}@media (max-width:768px){.menu-trio{grid-template-columns:1fr;gap:2rem;max-width:320px;margin-left:auto;margin-right:auto}}.venue-card{text-align:center;background:var(--cream);border:1px solid #8b1a2b40;padding:4rem 3rem;position:relative}.venue-card:before,.venue-card:after{content:"";border:1px solid var(--burgundy);width:30px;height:30px;position:absolute}.venue-card:before{border-bottom:none;border-right:none;top:14px;left:14px}.venue-card:after{border-top:none;border-left:none;bottom:14px;right:14px}.venue-card h3{color:var(--burgundy);margin-bottom:1rem;font-family:Allura,cursive;font-size:3.5rem;line-height:1}body.he .venue-card h3{font-size:2.6rem}.venue-card .address{color:var(--ink);opacity:.85;margin-bottom:2rem;font-size:1.15rem;font-style:italic}body.he .venue-card .address{font-style:normal}.travel-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.travel-card{text-align:center;background:var(--cream);border:1px solid #5c6b3d4d;padding:2.5rem 1.5rem}.travel-card svg{margin:0 auto 1.2rem;display:block}.travel-card h4{letter-spacing:.04em;color:var(--forest);margin-bottom:.8rem;font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:600}.travel-card p{opacity:.85;font-size:1rem;font-style:italic}body.he .travel-card p{font-style:normal}.rsvp-bg{background:var(--burgundy);color:var(--cream);margin:0;padding:7rem 2rem}.rsvp-inner{text-align:center;max-width:600px;margin:0 auto}.rsvp-inner .label{color:var(--cream);opacity:.7}.rsvp-inner .section-title{color:var(--cream)}.rsvp-inner p.lede{opacity:.9;margin-bottom:3rem;font-size:1.2rem;font-style:italic}body.he .rsvp-inner p.lede{font-style:normal}.rsvp-form{text-align:left;flex-direction:column;gap:1.2rem;display:flex}body.he .rsvp-form{text-align:right}.rsvp-form input,.rsvp-form select{color:var(--cream);background:0 0;border:none;border-bottom:1px solid #f8f1e466;outline:none;padding:.8rem .2rem;font-family:Cormorant Garamond,serif;font-size:1.1rem;transition:border-color .2s}body.he .rsvp-form input,body.he .rsvp-form select{font-family:Frank Ruhl Libre,serif}.rsvp-form input::placeholder{color:#f8f1e48c;font-style:italic}body.he .rsvp-form input::placeholder{font-style:normal}.rsvp-form select{color:#f8f1e48c;font-style:italic}.rsvp-form input:focus,.rsvp-form select:focus{border-bottom-color:var(--cream)}.rsvp-form button{border:1px solid var(--cream);color:var(--cream);letter-spacing:.08em;cursor:pointer;background:0 0;margin-top:1.5rem;padding:1rem 2rem;font-family:Outfit,sans-serif;font-size:1rem;font-weight:500;transition:background .25s,color .25s}body.he .rsvp-form button{letter-spacing:.15em;font-family:Frank Ruhl Libre,serif}.rsvp-form button:hover{background:var(--cream);color:var(--burgundy)}.rsvp-form button:disabled{opacity:.5;cursor:not-allowed}.gift-inner{text-align:center;max-width:720px;margin:0 auto}.gift-inner p.lede{opacity:.85;margin-bottom:3rem;font-size:1.2rem;font-style:italic}body.he .gift-inner p.lede{font-style:normal}.gift-card{background:var(--cream);border:1px solid #8b1a2b40;padding:3rem 2.5rem;position:relative}.gift-amounts{flex-wrap:wrap;justify-content:center;gap:.8rem;margin:2rem 0;display:flex}.gift-amounts .pill{border:1px solid var(--burgundy);color:var(--burgundy);letter-spacing:.04em;cursor:pointer;padding:.7rem 1.4rem;font-family:Outfit,sans-serif;font-size:1rem;font-weight:500;transition:background .2s,color .2s}body.he .gift-amounts .pill{font-family:Frank Ruhl Libre,serif}.gift-amounts .pill:hover,.gift-amounts .pill.active{background:var(--burgundy);color:var(--cream)}.gift-cta{background:var(--burgundy);color:var(--cream);letter-spacing:.08em;cursor:pointer;border:none;margin-top:1rem;padding:1rem 3rem;font-family:Outfit,sans-serif;font-size:1rem;font-weight:500;transition:background .2s}body.he .gift-cta{letter-spacing:.15em;font-family:Frank Ruhl Libre,serif}.gift-cta:hover{background:var(--burgundy-deep)}.gift-meta{opacity:.65;margin-top:1.5rem;font-size:.85rem;font-style:italic}body.he .gift-meta{font-style:normal}.gallery-grid{column-count:4;column-gap:1rem;margin-top:2rem}.gallery-grid img{break-inside:avoid;background:var(--cream-deep);border:1px solid #d400001f;width:100%;height:auto;margin-bottom:1rem;display:block}@media (max-width:1000px){.gallery-grid{column-count:3}}@media (max-width:700px){.gallery-grid{column-count:2}}footer{text-align:center;background:var(--cream-deep);border-top:1px solid #8b1a2b1a;padding:4rem 2rem 3rem}footer .mark{color:var(--burgundy);margin-bottom:1rem;font-family:Allura,cursive;font-size:2.5rem;line-height:1}footer p{letter-spacing:.08em;color:var(--forest);opacity:.85;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:500}body.he footer p{letter-spacing:.15em;font-family:Frank Ruhl Libre,serif}@media (max-width:768px){nav ul{display:none}.travel-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:90px 1fr;gap:1.5rem}body.he .timeline-item{grid-template-columns:1fr 90px}.timeline-time{font-size:1.15rem}section,.schedule-bg,.rsvp-bg{padding:5rem 1.5rem}}
