@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Manrope:wght@400;500;600&display=swap";
:root{--cream:#fbf8f3;--ivory:#fffdf9;--sand:#e7dccf;--sage:#a6b29f;--sage-dark:#73816e;--rose:#c9979a;--rose-soft:#eedbd9;--gold:#b59663;--ink:#3e3935;--muted:#756d67;--line:#3e393524;--shadow:0 26px 70px #443a321f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--cream);margin:0;font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}main{min-height:100vh;overflow:hidden}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand strong,.footerBrand strong{font-family:Cormorant Garamond,serif}h1{letter-spacing:-.04em;margin-bottom:28px;font-size:clamp(52px,6vw,92px);font-weight:500;line-height:.96}h1 span{color:var(--rose);display:block}h2{letter-spacing:-.035em;margin-bottom:22px;font-size:clamp(42px,5vw,70px);font-weight:500;line-height:1}h3{margin-bottom:12px;font-size:29px;font-weight:500}p{color:var(--muted);line-height:1.8}.announcement{background:var(--rose);color:#fff;text-align:center;letter-spacing:.15em;text-transform:uppercase;padding:10px 20px;font-size:11px}.header{z-index:50;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbf8f3f0;grid-template-columns:1fr auto;align-items:center;gap:35px;min-height:82px;padding:13px 6vw;display:grid;position:sticky;top:0}.brand{flex-direction:column;width:fit-content;display:flex}.brand strong{letter-spacing:.08em;font-size:28px}.brand span{color:var(--rose);letter-spacing:.16em;text-transform:uppercase;margin-top:3px;font-size:10px}.nav{color:var(--muted);gap:25px;font-size:13px;display:flex}.nav a:hover{color:var(--sage-dark)}.hero{background:var(--ivory);grid-template-columns:45% 55%;min-height:720px;display:grid;position:relative;overflow:hidden}.heroCopy{z-index:3;flex-direction:column;justify-content:center;padding:84px 7vw;display:flex;position:relative}.eyebrow{color:var(--gold);letter-spacing:.22em;text-transform:uppercase;margin-bottom:18px;font-size:11px;font-weight:600}.lead{max-width:620px;margin-bottom:34px;font-size:18px}.heroActions{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.primaryButton{border:1px solid var(--rose);background:var(--rose);color:#fff;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-height:50px;padding:0 26px;transition:all .2s;display:inline-flex}.primaryButton:hover{color:var(--rose);background:0 0;transform:translateY(-2px)}.textLink{border-bottom:1px solid var(--gold);letter-spacing:.05em;width:fit-content;padding-bottom:4px;font-size:13px}.heroFacts{color:var(--muted);text-transform:uppercase;flex-wrap:wrap;gap:18px 26px;margin-top:45px;font-size:11px;display:flex}.heroFacts span:before{color:var(--gold);content:"◇";margin-right:8px}.heroMedia{background:#f5eee8;min-height:720px;overflow:hidden}.heroMedia img{object-fit:cover;object-position:center;width:100%;height:100%;min-height:720px;display:block}.eucalyptus{z-index:2;object-fit:cover;opacity:.26;pointer-events:none;mix-blend-mode:multiply;width:165px;height:470px;position:absolute}.eucalyptusLeft{bottom:-30px;left:-30px}.eucalyptusRight{top:120px;right:-35px}.section{padding:125px 6vw}.sectionIntro{max-width:850px;margin-bottom:55px}.centered{text-align:center;margin-left:auto;margin-right:auto}.why{background:#fff}.whyGrid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1180px;margin:0 auto;display:grid}.whyGrid article{border:1px solid var(--line);background:var(--cream);padding:38px 30px}.whyGrid article>span,.knowledgeGrid article>span{color:var(--rose);letter-spacing:.16em;margin-bottom:30px;font-size:12px;display:inline-block}.productGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.productCard{border:1px solid var(--line);background:#ffffff94;grid-template-columns:minmax(210px,.8fr) 1.2fr;min-height:420px;transition:all .2s;display:grid;overflow:hidden}.productCard:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.shapeBox{background:linear-gradient(145deg, var(--sand), #faf6f1);justify-content:center;align-items:center;padding:34px;display:flex}.shape{fill:#0000;width:min(74%,250px);stroke:var(--gold);stroke-width:1.65px;stroke-linejoin:round}.dateShapeText{fill:#0000;stroke:var(--gold);stroke-width:1.2px;font-family:Cormorant Garamond,serif;font-size:82px}.productBody{flex-direction:column;justify-content:center;padding:36px;display:flex}.priceList{border-top:1px solid var(--line);margin:10px 0 28px}.priceRow{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:15px 0;display:flex}.priceRow div{align-items:baseline;gap:13px;display:flex}.priceRow strong,.priceRow b{font-family:Cormorant Garamond,serif;font-size:19px;font-weight:500}.priceRow span{color:var(--muted);font-size:13px}.reservation{background:var(--rose-soft);padding:125px 7vw}.reservation>div:first-child{max-width:780px;margin-bottom:45px}.reservationCards{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.reservationCards article{background:#ffffff9e;border:1px solid #c9979a59;padding:30px}.reservationCards span{color:var(--rose);letter-spacing:.15em;margin-bottom:24px;font-size:12px;display:inline-block}.smallNote{margin:35px 0 0;font-size:13px}.process{background:var(--cream)}.timeline{grid-template-columns:repeat(5,1fr);gap:25px;max-width:1400px;margin:0 auto;display:grid;position:relative}.timeline:before{background:var(--rose);content:"";height:2px;position:absolute;top:21px;left:8%;right:8%}.timeline article{z-index:1;text-align:center;padding-top:0;position:relative}.timelineDot{background:var(--rose);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;margin:0 auto 24px;font-size:12px;display:grid}.timeline article h3{min-height:70px;font-size:25px}.timeline article p{font-size:14px}.knowledge{background:#fff}.knowledgeGrid{grid-template-columns:repeat(5,1fr);gap:18px;display:grid}.knowledgeGrid article{border:1px solid var(--line);background:var(--cream);padding:28px 22px}.knowledgeGrid h3{min-height:65px;font-size:23px}.knowledgeGrid p{font-size:14px}.contact{background:var(--sage);grid-template-columns:.9fr 1.1fr;gap:8vw;padding:125px 6vw;display:grid}.contactCopy{flex-direction:column;align-self:center;align-items:flex-start;display:flex}.contactCopy a{margin-bottom:8px}.contactForm{box-shadow:var(--shadow);background:#ffffffb8;grid-template-columns:1fr 1fr;gap:20px;padding:40px;display:grid}.contactForm label{letter-spacing:.06em;text-transform:uppercase;flex-direction:column;gap:9px;font-size:12px;display:flex}.contactForm input,.contactForm select,.contactForm textarea{color:var(--ink);text-transform:none;background:0 0;border:0;border-bottom:1px solid #3e393540;outline:none}.contactForm input,.contactForm select{min-height:48px}.contactForm textarea{resize:vertical;padding:14px 0}.full{grid-column:1/-1}.formStatus{margin:0;font-size:13px}.faq{background:var(--ivory)}.faqList{max-width:950px}.faqList details{border-top:1px solid var(--line)}.faqList details:last-child{border-bottom:1px solid var(--line)}.faqList summary{cursor:pointer;padding:28px 50px 28px 0;font-family:Cormorant Garamond,serif;font-size:26px;list-style:none;position:relative}.faqList summary:after{content:"+";color:var(--sage-dark);font-family:Manrope,sans-serif;position:absolute;right:8px}.faqList details[open] summary:after{content:"−"}.faqList p{max-width:760px;padding-bottom:26px}.footer{border-top:1px solid var(--line);background:var(--cream);grid-template-columns:1fr auto auto;align-items:center;gap:42px;padding:42px 6vw;display:grid}.footerBrand{flex-direction:column;display:flex}.footerBrand strong{letter-spacing:.08em;font-size:25px}.footerBrand span{color:var(--rose);letter-spacing:.16em;text-transform:uppercase;margin-top:4px;font-size:10px}.footer nav{color:var(--muted);gap:18px;font-size:12px;display:flex}.footer p{border-top:1px solid var(--line);grid-column:1/-1;margin:0;padding-top:18px;font-size:11px}.cookieBanner{z-index:90;border:1px solid var(--line);width:min(720px,100vw - 44px);box-shadow:var(--shadow);background:#fff;grid-template-columns:1fr auto;gap:24px;padding:24px;display:grid;position:fixed;bottom:22px;right:22px}.cookieBanner strong{font-family:Cormorant Garamond,serif;font-size:24px}.cookieBanner p{margin:6px 0 0;font-size:13px}.cookieButtons{align-items:center;gap:10px;display:flex}.cookieButtons button{border:1px solid var(--sage-dark);min-height:42px;color:var(--sage-dark);cursor:pointer;background:0 0;padding:0 16px}.cookieButtons .accept{background:var(--sage-dark);color:#fff}.legalPage{max-width:900px;margin:0 auto;padding:80px 24px 120px}.legalPage h1{margin-top:50px;font-size:clamp(52px,7vw,86px)}.legalPage h2{margin-top:40px;font-size:34px}@media (max-width:1100px){.nav{display:none}.hero{grid-template-columns:1fr}.heroMedia,.heroMedia img{min-height:560px}.whyGrid,.reservationCards,.productGrid{grid-template-columns:1fr}.timeline{grid-template-columns:1fr;max-width:760px}.timeline:before{width:2px;height:auto;inset:0 auto 0 22px}.timeline article{text-align:left;grid-template-columns:44px 1fr;column-gap:22px;display:grid}.timelineDot{grid-row:1/4;margin:0}.timeline article h3{min-height:auto}.knowledgeGrid{grid-template-columns:repeat(2,1fr)}.contact{grid-template-columns:1fr}}@media (max-width:700px){.announcement{font-size:9px}.header{min-height:70px;padding:12px 20px}.brand strong{font-size:22px}.heroCopy{padding:68px 24px}h1{font-size:50px}h2{font-size:42px}.heroMedia,.heroMedia img{min-height:440px}.eucalyptus{opacity:.18;width:110px;height:320px}.section,.reservation,.contact{padding:88px 24px}.productCard{grid-template-columns:1fr}.shapeBox{min-height:290px}.knowledgeGrid{grid-template-columns:1fr}.contactForm{grid-template-columns:1fr;padding:28px 22px}.contactForm label,.full{grid-column:1}.footer{text-align:center;grid-template-columns:1fr;gap:25px}.footer nav{flex-wrap:wrap;justify-content:center}.cookieBanner{grid-template-columns:1fr;width:calc(100vw - 24px);bottom:12px;right:12px}.cookieButtons{flex-wrap:wrap}}.hero{background:#fffdf9!important}.hero:before,.hero:after,.heroCopy:before,.heroCopy:after,.heroMedia:before,.heroMedia:after{content:none!important;background-image:none!important;display:none!important}.eucalyptus,.eucalyptusLeft,.eucalyptusRight{display:none!important}.heroCopy,.heroMedia{background-image:none!important}.header{grid-template-columns:1fr auto auto}.headerCta{border:1px solid var(--rose);background:var(--rose);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 24px;font-size:13px;transition:transform .2s,background .2s,color .2s;display:inline-flex}.headerCta:hover{color:var(--rose);background:0 0;transform:translateY(-2px)}.heroActions{justify-content:flex-start;gap:16px}.heroMainButton,.heroOutlineButton{letter-spacing:.03em;border-radius:6px;min-height:58px;padding:0 30px;font-size:13px;font-weight:600}.heroMainButton{min-width:230px;box-shadow:0 15px 34px #c9979a42}.heroOutlineButton{border:1px solid var(--rose);min-width:250px;color:var(--rose);justify-content:center;align-items:center;transition:transform .2s,background .2s,color .2s;display:inline-flex}.heroOutlineButton:hover{background:var(--rose);color:#fff;transform:translateY(-2px)}.why{padding-bottom:76px}.process{padding-top:72px}@media (max-width:1100px){.header{grid-template-columns:1fr auto}.headerCta{display:none}}@media (max-width:700px){.heroActions{flex-direction:column;align-items:stretch}.heroMainButton,.heroOutlineButton{width:100%;min-width:0}}.weddingHero{background:#fffdf9;grid-template-columns:minmax(0,44%) minmax(0,56%);width:100%;min-height:680px;display:grid;overflow:hidden}.weddingHeroContent{flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:78px clamp(34px,6vw,96px);display:flex}.weddingHeroEyebrow{color:var(--rose);letter-spacing:.2em;text-transform:uppercase;margin:0 0 24px;font-size:11px;font-weight:600}.weddingHeroTitle{max-width:720px;color:var(--ink);letter-spacing:-.035em;margin:0;font-size:clamp(48px,5.2vw,78px);font-weight:500;line-height:1.02}.weddingHeroLine{background:var(--rose);width:72px;height:2px;margin:30px 0 25px;display:block}.weddingHeroText{max-width:590px;margin:0 0 34px;font-size:16px;line-height:1.75}.weddingHeroButtons{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.weddingHeroPrimary,.weddingHeroSecondary{border-radius:5px;justify-content:space-between;align-items:center;gap:22px;min-height:56px;padding:0 25px;font-size:13px;font-weight:600;transition:transform .2s,box-shadow .2s,color .2s,background .2s;display:inline-flex}.weddingHeroPrimary{border:1px solid var(--rose);background:var(--rose);color:#fff;min-width:235px;box-shadow:0 16px 34px #c9979a3d}.weddingHeroSecondary{border:1px solid var(--rose);min-width:255px;color:var(--rose);background:#ffffffb3}.weddingHeroPrimary:hover,.weddingHeroSecondary:hover{transform:translateY(-3px);box-shadow:0 18px 38px #483a3224}.weddingHeroSecondary:hover{background:var(--rose);color:#fff}.weddingHeroImageArea{background:#efe5dc;min-width:0;min-height:680px;position:relative;overflow:hidden}.weddingHeroImage{object-fit:cover;object-position:center;filter:brightness(1.035)saturate(.96)contrast(.98);width:100%;height:100%;min-height:680px;display:block}.weddingHeroAppointment{color:#fff;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#a37352b8;border:1px solid #ffffffbf;border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;width:min(405px,100% - 44px);padding:20px 24px;transition:transform .22s,background .22s,box-shadow .22s;display:grid;position:absolute;bottom:30px;right:clamp(22px,4vw,64px);box-shadow:0 20px 48px #392a2038}.weddingHeroAppointment:hover{background:#a37352d6;transform:translateY(-5px)scale(1.01);box-shadow:0 25px 60px #392a204d}.weddingHeroCalendar{background:#ffffff4d;border-radius:50%;place-items:center;width:58px;height:58px;font-size:26px;display:grid}.weddingHeroAppointmentText{flex-direction:column;min-width:0;display:flex}.weddingHeroAppointment small{margin-bottom:4px;font-size:12px;line-height:1.5}.weddingHeroAppointment strong{font-family:Cormorant Garamond,serif;font-size:29px;font-weight:500;line-height:1.1}.menuButton{cursor:pointer;background:0 0;border:0;width:44px;height:44px;padding:10px;display:none}.menuButton span{background:var(--ink);width:100%;height:1.5px;margin:5px 0;display:block}.mobileNav{display:none}@media (max-width:1100px){.header{grid-template-columns:1fr auto}.headerCta,.nav{display:none}.menuButton{display:block}.mobileNav{z-index:49;background:#fbf8f3fa;max-height:0;padding:0 24px;transition:max-height .25s,padding .25s;display:grid;position:sticky;top:70px;overflow:hidden;box-shadow:0 18px 38px #3e393514}.mobileNavOpen{max-height:520px;padding-top:18px;padding-bottom:24px}.mobileNav a{border-bottom:1px solid var(--line);padding:13px 0;font-size:14px}.mobileNavCta{background:var(--rose);color:#fff;text-align:center;border-radius:999px;margin-top:12px;border:1px solid var(--rose)!important}.weddingHero{grid-template-columns:1fr}.weddingHeroContent{padding:72px 7vw 58px}.weddingHeroTitle{max-width:800px}.weddingHeroImageArea,.weddingHeroImage{min-height:570px}}@media (max-width:700px){.announcement{padding:9px 14px;font-size:8px}.header{min-height:68px;padding:10px 18px}.brand strong{font-size:20px}.brand span{font-size:8px}.mobileNav{top:68px}.weddingHeroContent{padding:58px 22px 48px}.weddingHeroEyebrow{margin-bottom:18px;font-size:9px;line-height:1.5}.weddingHeroTitle{font-size:clamp(42px,13vw,58px);line-height:1.01}.weddingHeroLine{margin:24px 0 20px}.weddingHeroText{font-size:15px}.weddingHeroButtons{flex-direction:column;align-items:stretch;width:100%}.weddingHeroPrimary,.weddingHeroSecondary{width:100%;min-width:0}.weddingHeroImageArea,.weddingHeroImage{min-height:455px}.weddingHeroImage{object-position:56% center}.weddingHeroAppointment{border-radius:14px;grid-template-columns:auto 1fr;gap:13px;width:calc(100% - 32px);padding:16px;bottom:16px;right:16px}.weddingHeroAppointment>b{display:none}.weddingHeroCalendar{width:48px;height:48px;font-size:22px}.weddingHeroAppointment small{font-size:10px}.weddingHeroAppointment strong{font-size:25px}.why{padding-top:82px}.process{padding-top:68px}}
