@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Google+Sans:wght@400;500;600&family=Parisienne&display=swap');
:root{--rose:#af6d7d;--wine:#8e485b;--blush:#f5eae7;--ink:#393332;--muted:#776d68;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Google Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;padding:36px;background:transparent;color:var(--ink);font:14px var(--sans)}.site-shell{max-width:1440px;margin:auto;background:#fffdfa;border:2px solid #ead8ce;border-radius:25px;overflow:hidden;box-shadow:0 14px 50px #51273540}.wrap{width:calc(100% - 120px);max-width:1160px;margin-inline:auto}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--wine);outline-offset:5px}p{line-height:1.9;margin:0 0 18px}h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0}em{font-weight:400}h2{font-size:49px;line-height:1.04;letter-spacing:-1px}h3{font-size:27px}button{border:0;background:none}.sale-bar{display:flex;justify-content:center;align-items:center;gap:18px;background:var(--rose);color:white;min-height:29px;padding:6px 15px;font-size:10px}.sale-bar button{color:white;text-decoration:underline;text-underline-offset:3px;font-size:10px}.header{position:absolute;left:0;right:0;z-index:3;height:100px;display:flex;align-items:center;justify-content:space-between}.logo{font:500 42px var(--serif);letter-spacing:-2px;display:inline-flex;align-items:center;gap:8px}.logo span{font-size:38px;color:var(--wine)}.header .logo{color:#fff}.header .logo span{color:#f7d5df}.header nav{display:flex;gap:28px;font-size:11px;color:white}.header a:hover{text-decoration:underline;text-underline-offset:5px}.menu-toggle{display:none}.hero{height:690px;position:relative;display:grid;place-items:center;text-align:center;color:white}.hero-photo,.hero-shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:50% 52%}.hero-shade{background:linear-gradient(#2922274d,#36232e55 60%,#fffdfa 100%)}.hero-copy{position:relative;padding:40px 20px 55px;max-width:850px;text-shadow:0 2px 16px #20151e35}.script-label{font-family:'Parisienne',cursive;font-size:34px;line-height:1.2;color:var(--rose);margin-bottom:5px;font-weight:400}.hero .script-label{color:#f7ced9;font-size:39px}.hero h1{font-size:76px;line-height:1.02;letter-spacing:-1.5px}.hero h1 em{font-style:normal}.hero-copy>p:not(.script-label){font-size:13px;line-height:1.8;margin:23px 0}.hero-actions{display:flex;justify-content:center;gap:13px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:30px;padding:13px 24px;font-size:10px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--rose);color:white}.primary:hover{background:var(--wine)}.glass{background:#fff3;border:1px solid #ffffffb3;backdrop-filter:blur(14px);color:#fff}.hero-location{display:block;font-size:8px;letter-spacing:2px;margin-top:27px}.down{position:absolute;bottom:18px;background:var(--rose);color:white;width:33px;height:33px;border-radius:50%;display:grid;place-items:center}.section{padding-block:80px}.about{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:30px;text-align:center;align-items:center;padding-top:35px;padding-bottom:90px}.about h2{font-size:43px;margin-bottom:20px}.about-copy p:not(.script-label){font-size:11px;color:var(--muted);max-width:420px;margin-inline:auto}.about .script-label{font-size:31px}.status{display:block;font-size:9px;color:var(--muted);margin-top:12px}.photo-pair{position:relative;height:350px}.photo-pair img{position:absolute;object-fit:cover;border:5px solid #fff;border-radius:17px;box-shadow:0 0 0 2px #dcc5b7;width:70%;height:240px}.photo-pair img:first-child{top:0;right:0}.photo-pair img:last-child{bottom:0;left:0;height:180px}.right img:first-child{left:0;right:auto}.right img:last-child{left:auto;right:0}.celebrations{background:var(--blush)}.section-title{text-align:center;max-width:740px;margin:0 auto 40px}.section-title>p:not(.script-label){font-size:12px;color:var(--muted);margin:16px 0 0}.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.event-card{position:relative;padding:0;text-align:center}.event-card img{width:100%;height:250px;object-fit:cover;border-radius:13px;transition:transform .3s}.event-card:hover img{transform:translateY(-5px)}.card-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--rose);color:white;position:absolute;left:calc(50% - 16px);top:234px;font-size:10px;border:3px solid var(--blush)}.event-card h3{margin:25px 0 10px;color:var(--wine)}.event-card p{font-size:11px;color:var(--muted);line-height:1.7;max-width:210px;margin:0 auto 12px}.card-link{font-size:9px;color:var(--wine);border-bottom:1px solid #c6a4a9;padding-bottom:4px}.image-disclaimer{font-size:8px;text-align:center;color:var(--muted);margin:33px 0 0}.moments{padding-bottom:0}.photo-gallery{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:25px;align-items:center}.photo-gallery img{width:100%;height:270px;object-fit:cover;border-radius:14px}.photo-gallery img:nth-child(2){height:355px}.little-details{text-align:center;padding:48px 0 60px}.little-details .script-label{font-size:37px}.little-details>div{display:flex;justify-content:center;gap:75px;margin-top:24px}.little-details span{display:flex;flex-direction:column;color:var(--rose);font-size:38px;gap:12px}.little-details strong{font-size:10px;font-weight:400;color:var(--ink)}.vision{background:linear-gradient(130deg,#faf3ef,#fffdfa)}.vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.vision h2{margin-bottom:24px}.vision p:not(.script-label){font-size:12px;color:var(--muted)}.steps{margin-top:20px}.steps article{display:flex;gap:17px;margin-top:19px}.steps article>span{font:italic 27px var(--serif);color:var(--rose)}.steps h3{font-size:23px}.steps p{margin:5px 0 0;line-height:1.6}.vision-images{height:475px;position:relative}.vision-images img{position:absolute;width:76%;height:365px;object-fit:cover;border:5px solid white;border-radius:17px;box-shadow:0 0 0 1px #dec8bc}.vision-images img:first-child{top:0;right:0}.vision-images img:last-child{bottom:0;left:0;width:59%;height:240px}.partner-section{background:#dcbeb6;text-align:center;position:relative}.partner-section:before{content:'❀';position:absolute;top:25px;left:35px;color:#f9eeeb;font-size:90px;transform:rotate(-20deg)}.partner-section .script-label{color:#a86977}.partner-circles{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;max-width:850px;margin:0 auto 30px}.partner-circles img{width:165px;height:165px;border-radius:50%;object-fit:cover;border:5px solid #e7ccc4}.partner-circles h3{font-size:25px;margin:15px 0 9px}.partner-circles p{font-size:11px;line-height:1.7;margin:0}.light{background:#fffaf4;color:var(--wine)}.partner-note{font-size:9px;margin:14px 0 0}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.faq>img{width:100%;height:380px;object-fit:cover;border:5px solid #fff;border-radius:17px;box-shadow:0 0 0 2px #d6c0b3}.faq h2{margin:0 0 25px}.faq details{background:#f1e4df;margin:7px 0;border-radius:5px;padding:14px 17px}.faq summary{font-size:11px;display:flex;justify-content:space-between;gap:15px;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq details p{font-size:11px;color:var(--muted);margin:13px 0 0;line-height:1.8}.faq details[open] summary span{transform:rotate(45deg)}.closing{text-align:center;background:var(--blush);padding:45px 25px}.closing .script-label{font-size:30px}.closing h2{font-size:36px;margin:10px 0 24px}footer{display:grid;grid-template-columns:1fr .8fr 1.2fr;gap:35px;padding-block:42px;align-items:center}footer .logo{font-size:38px}footer p{font-size:9px;color:var(--muted);margin:10px 0 0}footer>div:nth-child(2){display:flex;flex-direction:column;gap:12px;font-size:10px}footer>div:last-child{text-align:right}footer button{color:var(--wine);font-size:10px;padding:0}.bottom-line{text-align:center;color:white;background:var(--rose);padding:12px;font-size:8px}dialog{width:min(560px,calc(100% - 36px));padding:45px;border:1px solid white;border-radius:20px;background:#fff8f2ee;backdrop-filter:blur(25px);box-shadow:0 25px 100px #38151d40;color:var(--ink)}dialog::backdrop{background:#46233373;backdrop-filter:blur(6px)}dialog h2{font-size:37px;margin-bottom:20px}dialog .script-label{font-size:29px}#dialog-content p{font-size:12px;color:var(--muted)}.dialog-close{position:absolute;right:15px;top:9px;font-size:28px}.dialog-done{margin-top:7px}
@media(min-width:1600px){.header{max-width:1160px}.hero{height:760px}}@media(max-width:1100px){body{padding:22px}.wrap{width:calc(100% - 70px)}.header nav{gap:18px}.about{gap:20px;grid-template-columns:.8fr 1.5fr .8fr}.about h2{font-size:35px}.photo-pair{height:300px}.photo-pair img{width:90%;height:200px}.photo-pair img:last-child{height:150px}.event-grid{gap:17px}.event-card img{height:210px}.card-number{top:194px}.event-card h3{font-size:25px}.vision-grid{gap:40px}.partner-circles{gap:30px}.little-details>div{gap:45px}.faq{gap:40px}}
@media(max-width:760px){body{padding:12px}.site-shell{border-radius:18px}.wrap{width:calc(100% - 40px)}.sale-bar{font-size:8px;gap:10px}.sale-bar button{font-size:8px}.header{height:80px}.header .logo{font-size:35px}.menu-toggle{display:block;background:#fff3;border:1px solid #ffffff80;border-radius:25px;padding:10px 14px;color:#fff;font-size:10px;backdrop-filter:blur(12px)}.header nav{display:none;position:absolute;top:72px;left:0;right:0;padding:22px;background:#fff8f2f5;border:1px solid white;border-radius:12px;color:var(--wine);backdrop-filter:blur(18px)}.header nav.open{display:flex;flex-direction:column;gap:22px}.hero{height:610px}.hero-copy{padding:70px 18px 45px}.hero .script-label{font-size:29px}.hero h1{font-size:54px;letter-spacing:-1px}.hero-copy>p:not(.script-label){font-size:11px}.hero-actions{gap:9px}.button{padding:13px 18px;font-size:9px}.hero-location{font-size:7px}.section{padding-block:52px}h2{font-size:38px}.script-label{font-size:29px}.about{grid-template-columns:1fr 1fr;gap:20px;padding-top:25px}.about-copy{grid-column:1/-1;grid-row:1}.about h2{font-size:39px}.photo-pair{height:250px;max-width:230px;width:100%;margin:auto}.photo-pair img{width:75%;height:190px}.photo-pair img:last-child{height:140px}.about-copy p:not(.script-label){font-size:11px}.section-title{margin-bottom:30px}.section-title>p:not(.script-label){font-size:11px}.event-grid{grid-template-columns:1fr 1fr;gap:32px 17px}.event-card img{height:230px}.card-number{top:214px}.event-card h3{font-size:27px}.event-card p{font-size:10px}.photo-gallery{gap:10px;grid-template-columns:1fr 1.3fr 1fr}.photo-gallery img{height:175px;border-radius:8px}.photo-gallery img:nth-child(2){height:225px}.moments{padding-bottom:0}.little-details{padding-block:35px}.little-details>div{display:grid;grid-template-columns:1fr 1fr;gap:25px}.little-details span{font-size:32px;gap:7px}.vision-grid{grid-template-columns:1fr;gap:30px}.vision h2{font-size:39px}.vision-images{height:350px;max-width:420px;width:100%;margin:auto}.vision-images img{height:290px}.vision-images img:last-child{height:185px}.partner-section:before{font-size:45px;top:13px;left:10px}.partner-circles{gap:15px}.partner-circles img{width:100px;height:100px;border-width:3px}.partner-circles h3{font-size:22px}.partner-circles p{font-size:9px}.faq{grid-template-columns:1fr;gap:28px}.faq>img{height:260px;width:72%;margin:auto}.faq>div{grid-row:1}.faq .script-label,.faq h2{text-align:center}.closing h2{font-size:32px}footer{grid-template-columns:1fr 1fr;gap:25px}footer>div:nth-child(2){text-align:right}footer>div:last-child{grid-column:1/-1;text-align:center;border-top:1px solid #e7d9d0;padding-top:20px}dialog{padding:35px 25px}dialog h2{font-size:32px}}
@media(max-width:400px){body{padding:7px}.wrap{width:calc(100% - 30px)}.hero h1{font-size:46px}.hero{height:575px}.hero .script-label{font-size:26px}.hero-actions{flex-wrap:wrap}.event-card img{height:190px}.card-number{top:174px}.event-card h3{font-size:25px}.partner-circles{gap:9px}.partner-circles img{width:83px;height:83px}.partner-circles h3{font-size:20px}.photo-pair{height:215px}.photo-pair img{height:165px}.photo-pair img:last-child{height:120px}.about h2{font-size:35px}.script-label{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* More generous sizing on desktop screens. */
@media (min-width: 1000px) {
  .wrap { max-width: 1240px; }
  .header { height: 112px; }
  .logo { font-size: 49px; }
  .header nav { font-size: 13px; gap: 32px; }
  .sale-bar, .sale-bar button { font-size: 12px; }
  .sale-bar { min-height: 35px; }
  .hero { height: 770px; }
  .hero-copy { max-width: 1000px; }
  .hero .script-label { font-size: 45px; }
  .hero h1 { font-size: 88px; }
  .hero-copy > p:not(.script-label) { font-size: 15px; }
  .hero-location { font-size: 10px; }
  .button { font-size: 12px; padding: 16px 29px; }
  .section { padding-block: 92px; }
  .script-label { font-size: 39px; }
  h2 { font-size: 56px; }
  h3 { font-size: 31px; }
  .section-title { max-width: 820px; }
  .section-title > p:not(.script-label) { font-size: 14px; }
  .about { padding-top: 45px; padding-bottom: 100px; }
  .about h2 { font-size: 48px; }
  .about .script-label { font-size: 35px; }
  .about-copy p:not(.script-label) { font-size: 13px; }
  .photo-pair { height: 390px; }
  .photo-pair img { height: 270px; }
  .photo-pair img:last-child { height: 205px; }
  .status { font-size: 11px; }
  .event-card img { height: 285px; }
  .card-number { top: 267px; width: 36px; height: 36px; left: calc(50% - 18px); font-size: 12px; }
  .event-card h3 { font-size: 31px; margin-top: 29px; }
  .event-card p { font-size: 13px; max-width: 240px; }
  .card-link { font-size: 11px; }
  .image-disclaimer { font-size: 10px; }
  .photo-gallery img { height: 305px; }
  .photo-gallery img:nth-child(2) { height: 400px; }
  .moments { padding-bottom: 0; }
  .little-details strong { font-size: 12px; }
  .vision p:not(.script-label) { font-size: 14px; }
  .steps h3 { font-size: 27px; }
  .vision-images { height: 520px; }
  .vision-images img { height: 400px; }
  .vision-images img:last-child { height: 265px; }
  .partner-circles { max-width: 1000px; }
  .partner-circles img { width: 190px; height: 190px; }
  .partner-circles h3 { font-size: 29px; }
  .partner-circles p { font-size: 13px; }
  .partner-note { font-size: 11px; }
  .faq > img { height: 425px; }
  .faq summary, .faq details p { font-size: 13px; }
  .faq details { padding: 17px 20px; }
  .closing { padding-block: 56px; }
  .closing h2 { font-size: 43px; }
  footer p { font-size: 11px; }
  footer > div:nth-child(2), footer button { font-size: 12px; }
}
/* Keep only a narrow transparent edge around the desktop page. */
@media (min-width: 1000px) {
  body { padding: 12px; }
  .site-shell { max-width: none; }
}

/* Increase navigation and descriptive copy by 2px. */
.header nav { font-size: 13px; }
.hero-copy > p:not(.script-label) { font-size: 15px; }
.about-copy p:not(.script-label), .event-card p, .partner-circles p { font-size: 13px; }
.section-title > p:not(.script-label), .vision p:not(.script-label) { font-size: 14px; }
@media (min-width: 1000px) {
  .header nav { font-size: 15px; }
  .hero-copy > p:not(.script-label) { font-size: 17px; }
  .about-copy p:not(.script-label), .event-card p, .partner-circles p { font-size: 15px; }
  .section-title > p:not(.script-label), .vision p:not(.script-label) { font-size: 16px; }
}
@media (max-width: 760px) {
  .hero-copy > p:not(.script-label), .about-copy p:not(.script-label), .section-title > p:not(.script-label) { font-size: 13px; }
  .event-card p { font-size: 12px; }
  .partner-circles p { font-size: 11px; }
}
[hidden] { display: none !important; }
#info-dialog > a.button { margin: 4px 8px 8px 0; }
/* Persistent sale notice, with room below the page for the last content. */
body { padding-bottom: 115px; }
.sale-bar a { color: white; text-decoration: underline; text-underline-offset: 3px; font-size: 10px; }
footer > div:last-child > a { color: var(--wine); font-size: 12px; }
a.event-card { display: block; cursor: pointer; }
a.event-card > .card-link { display: inline-block; }
.selling-bar { position: fixed; z-index: 20; left: 24px; right: 24px; bottom: 18px; max-width: 1150px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 17px 22px; border: 1px solid #ffffffc9; border-radius: 16px; background: #fff8f1eb; backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); box-shadow: 0 8px 38px #542d3c26; }
.selling-bar > div { display: flex; flex-direction: column; gap: 5px; }
.selling-bar strong { font-size: 16px; font-weight: 600; color: var(--wine); }
.selling-bar span { font-size: 12px; color: var(--muted); }
.selling-bar .button { flex-shrink: 0; font-size: 12px; padding: 15px 23px; }
@media (min-width: 1000px) { .sale-bar a { font-size: 12px; } }
@media (max-width: 760px) {
 body { padding-bottom: 155px; }
 .sale-bar a { font-size: 8px; }
 .selling-bar { left: 12px; right: 12px; bottom: 10px; padding: 14px 16px; gap: 12px; flex-wrap: wrap; }
 .selling-bar strong { font-size: 14px; }
 .selling-bar span { font-size: 11px; }
 .selling-bar .button { width: 100%; padding: 12px 17px; font-size: 11px; }
}
