@import "https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap";
:root{--green:#064f42;--dark-green:#003f34;--gold:#b98a3c;--cream:#faf7f0;--soft-green:#edf5ef;--text:#1e2a25}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background:var(--cream);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.header{z-index:1000;background:#fff;justify-content:space-between;align-items:center;width:100%;height:110px;padding:18px 60px;display:flex;position:fixed;top:0;left:0}.logo{text-align:center;background-position:0;background-size:cover;border:none;border-radius:50%;place-items:center;width:100px;height:100px;display:grid}.nav{text-transform:uppercase;letter-spacing:1px;gap:32px;font-size:13px;display:flex}.bookingCta{color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#075c4d,#003f34);border:none;justify-content:center;align-items:center;gap:10px;padding:16px 34px;font-size:14px;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 12px 28px #003f3440}.bookButton,.heroButton,.bookingCtaButton{color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#075c4d,#003f34);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:16px 34px;font-size:14px;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 12px 28px #003f3440}.callButton{color:#fff;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#075c4d,#003f34);border-radius:999px;justify-content:center;align-items:center;gap:8px;margin:0 10px;padding:12px 24px;font-size:13px;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 8px 20px #003f3433}.buttonGroup{justify-content:space-between;gap:12px;margin-top:auto;display:flex}.callButton,.infoButton{border-radius:999px;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px 18px;font-weight:600;text-decoration:none;display:inline-flex}.callButton{color:#fff;background:linear-gradient(135deg,#075c4d,#003f34)}.infoButton{color:var(--green);border:2px solid var(--green);background:#fff}.infoButton:hover{background:var(--green);color:#fff}.smallerBookingButton{color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#075c4d,#003f34);border-radius:999px;justify-content:center;align-items:center;gap:8px;width:fit-content;max-width:220px;padding:10px 20px;font-size:13px;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 12px 28px #003f3440}.bookButton:hover,.heroButton:hover,.bookingCtaButton:hover{transform:translateY(-3px);box-shadow:0 16px 35px #003f3459}.bookButton:active,.heroButton:active,.bookingCtaButton:active{transform:translateY(0)}.hicapsButton{color:#fff;letter-spacing:.4px;background:linear-gradient(135deg,#0b705d,#003f34);border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 22px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 6px 16px #003f3438}.hicapsButton:hover{background:linear-gradient(135deg,#0d806a,#075c4d);transform:translateY(-2px);box-shadow:0 9px 20px #003f344d}.hicapsButton:active{transform:translateY(0)}.tableTitle{color:#075c4d;letter-spacing:1px;text-transform:uppercase;margin:0 0 12px;font-size:13px;font-weight:700}.serviceButtons{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.serviceOptionButton{color:#075c4d;cursor:pointer;background:#fffdf8;border:1px solid #d8bf8c;border-radius:999px;padding:9px 18px;font-size:13px;font-weight:600;transition:background .2s,color .2s,border-color .2s,transform .2s}.serviceOptionButton:hover{color:#fff;background:#075c4d;border-color:#075c4d;transform:translateY(-2px)}.serviceOptionButton:focus-visible{outline-offset:3px;outline:3px solid #be945759}.addToCartButton{color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#075c4d,#003f34);border:none;border-radius:999px;justify-content:center;align-items:center;min-width:170px;height:52px;padding:0 28px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex;box-shadow:0 10px 25px #075c4d40}.addToCartButton:hover{background:linear-gradient(135deg,#0a705d,#075c4d);transform:translateY(-2px);box-shadow:0 16px 30px #075c4d59}.addToCartButton:active{transform:translateY(0);box-shadow:0 8px 16px #075c4d40}.addToCartButton:focus-visible{outline-offset:3px;outline:3px solid #be945766}.bookingCta a{background:var(--green);color:#fff;text-transform:uppercase;letter-spacing:1px;border-radius:999px;padding:15px 28px;font-size:13px}.bookingCta p{color:#003f34;letter-spacing:1px;font-size:13px}.hero{background:#fff;grid-template-columns:46% 54%;min-height:680px;display:grid}.heroText{padding:90px 50px 70px 70px}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:6px;margin-bottom:25px;font-family:Georgia,serif;font-size:26px}.hero h1{color:var(--green);text-transform:uppercase;letter-spacing:3px;font-family:Georgia,serif;font-size:72px;font-weight:400;line-height:1.1}.divider{color:var(--gold);align-items:center;gap:18px;margin:28px 0;display:flex}.divider span{background:var(--gold);width:130px;height:1px}.subtitle{margin-bottom:30px;font-size:21px;line-height:1.6}.miniFeatures{text-transform:uppercase;text-align:center;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:35px;font-size:11px;display:grid}.hero{background-image:url(/images/reception-bg.webp);background-position:100%;background-repeat:no-repeat;background-size:cover;width:100%;min-height:680px;padding-top:90px}.features{background:#fbf8f2;grid-template-columns:repeat(6,1fr);padding:55px 50px;display:grid}.featureCard{text-align:center;border-right:1px solid #ddd;padding:0 25px}.featureCard:last-child{border-right:none}.featureIcon{color:var(--green);margin-bottom:18px;font-size:42px}.featureCard h3{text-transform:uppercase;margin-bottom:14px;font-size:13px}.featureCard p{font-size:13px;line-height:1.7}.sessionIntro{background:var(--soft-green);grid-template-columns:42% 58%;min-height:320px;display:grid}.sessionImage{background:url(/images/spa-towels.webp) 50%/cover}.sessionContent{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.sessionContent h2{color:var(--gold);text-transform:uppercase;letter-spacing:6px;margin-bottom:25px;font-family:Georgia,serif;font-size:22px;font-weight:400}.sessionContent p{max-width:620px;line-height:1.8}.rates{text-align:center;text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;padding:45px 60px 55px;display:flex}.rates>h2{color:var(--green);text-transform:uppercase;letter-spacing:3px;margin-bottom:35px;font-family:Georgia,serif;font-size:34px;font-weight:400}.ratesGrid{grid-template-columns:repeat(3,minmax(350px,1fr));gap:30px;width:min(1400px,95%);margin:0 auto 40px;display:grid}.rateCard{background:#fff;border-radius:16px;padding:35px 22px;box-shadow:0 8px 28px #00000014}.rateDescription{margin-bottom:15px}.clock{width:55px;height:55px;color:var(--green);background:#edf4ef;border-radius:50%;place-items:center;margin:0 auto 18px;font-size:28px;display:grid}.rateCard h3{color:var(--green);font-size:14px}.smallLine{background:var(--gold);width:45px;height:1px;margin:18px auto}.rateCard strong{color:var(--gold);margin-bottom:15px;font-family:Georgia,serif;font-size:38px;font-weight:400;display:block}.rateCard p{font-size:14px;line-height:1.5}.rateImage{object-fit:cover;border-radius:20px;width:100%;height:180px;margin:0 auto 20px;overflow:hidden}.rateImage img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.importantBox{background:#fff;border-radius:18px;max-width:1180px;min-height:120px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 8px 28px #00000014}.importantBox h3{color:var(--green);text-transform:uppercase;font-size:15px}.importantBox p{font-size:13px}.importantContent{grid-template-columns:1.5fr repeat(3,1fr);gap:20px;padding:30px 260px 30px 35px;display:grid}.importantContent h3{color:var(--green);text-transform:uppercase;font-size:15px}.importantContent p{font-size:13px}.important-item{align-items:center;gap:8px;display:flex}.importantFlower{background-image:url(/images/important-box-img.webp);background-position:100%;background-size:cover;width:220px;height:100%;position:absolute;top:0;right:0}.bookingCta{background:var(--soft-green);justify-content:space-between;align-items:center;padding:45px 120px;display:flex}.bookingCta h2{color:var(--green);text-transform:uppercase;font-family:Georgia,serif;font-weight:400}.bookingCta p{margin-top:10px}.reviews{text-align:center;background:#faf7f0;padding:80px 60px}.reviewsEyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:5px;margin-bottom:12px;font-size:13px}.reviews h2{color:var(--green);margin-bottom:40px;font-family:Georgia,serif;font-size:38px;font-weight:400}.reviewGrid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1180px;margin:0 auto;display:grid}.reviewCard{background:#fff;border-radius:18px;padding:34px;box-shadow:0 10px 28px #00000014}.stars{color:#c79a43;justify-content:center;gap:5px;margin-bottom:18px;display:flex}.reviewCard p{margin-bottom:20px;line-height:1.7}.reviewCard h3{color:var(--green);font-size:16px}@media (max-width:900px){.reviewGrid{grid-template-columns:1fr}.reviews{padding:55px 24px}}.footer{background:var(--dark-green);color:#fff;grid-template-columns:1fr 1.4fr 1fr;gap:40px;margin-top:0;padding-top:180px;display:grid;position:relative;overflow:hidden}.footer:before{content:"";z-index:1;background:#faf7f0;border-bottom:5px solid #c7a35b;border-radius:0 0 100% 100%;width:130%;height:280px;position:absolute;top:-160px;left:-15%}.footer>*{z-index:2;align-items:center;position:relative}.footerLogo{border:1px solid var(--gold);width:110px;height:110px;color:var(--gold);text-align:center;background-image:url(/images/logo__green.webp);background-position:100%;background-size:cover;border-radius:50%;place-items:center;margin:0 auto;font-family:Georgia,serif;display:grid}.footerInfo{flex-direction:column;align-items:center;gap:14px;display:flex}.infoItem{justify-content:center;align-items:center;gap:10px;display:inline-flex}.infoItem svg{color:var(--gold);flex-shrink:0;font-size:18px}.socials{justify-content:center;align-items:center;gap:18px;width:100%;display:flex}.socials a{color:#fff;border:1px solid #ffffff4d;border-radius:50%;place-items:center;width:42px;height:42px;transition:all .3s;display:grid}.socials a:hover{background:var(--gold);border-color:var(--gold)}.footer small{text-align:center;grid-column:1/-1;margin-top:20px}@media (max-width:900px){.nav{display:none}.hero,.sessionIntro{grid-template-columns:1fr}.hero h1{font-size:48px}.features,.ratesGrid,.importantBox{grid-template-columns:1fr}.featureCard{text-align:center;border-right:1px solid #ddd;flex-direction:column;align-items:center;padding:0 25px;display:flex}.featureIcon{color:#5a7568;stroke-width:1.5px;margin-bottom:20px;font-size:48px}.featureCard h3{text-transform:uppercase;letter-spacing:1px;color:#24342d;margin-bottom:12px;font-size:13px}.featureCard p{color:#666;font-size:13px;line-height:1.7}.miniFeature{text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.featureTitle{margin-bottom:1rem}.bookingCta,.footer{flex-direction:column;align-items:flex-start;display:flex}}html,body{max-width:100%;overflow-x:hidden}img{max-width:100%;height:auto}@media (max-width:1024px){.header{padding:16px 28px}.nav{display:none}.hero{grid-template-columns:1fr}.heroText{text-align:center left;padding:60px 28px}.hero h1{font-size:56px}.divider{justify-content:center left}.heroImage{background-position:50%;background-size:cover;min-height:460px}.miniFeatures{display:none}.features{grid-template-columns:repeat(2,1fr);padding:40px 24px}.sessionIntro{grid-template-columns:1fr}.sessionImage{min-height:320px}.sessionContent{text-align:center;padding:50px 28px}.ratesGrid{grid-template-columns:repeat(2,1fr)}.importantContent{text-align:center;grid-template-columns:1fr;padding:28px}.importantFlower{display:none}.bookingCta{text-align:center;flex-direction:column;gap:24px;padding:45px 24px}.footer{text-align:center;grid-template-columns:1fr;padding:150px 24px 32px}.footerLogo{margin:0 auto}}@media (max-width:600px){.logo{width:70px;height:70px}.bookButton{display:none}.heroText{padding:45px 20px}.hero h1{font-size:40px}.subtitle{font-size:16px}.miniFeatures,.divider,.heroText{display:none}.heroImage{min-height:320px}.features{grid-template-columns:1fr}.featureCard{border-bottom:1px solid #ddd;border-right:none;padding:28px 16px}.featureCard:last-child{border-bottom:none}.rates{padding:40px 20px}.ratesGrid{grid-template-columns:1fr}.rateCard{padding:28px 18px}.locationCard{text-align:center;flex-direction:column;width:90%}}.desktopNav{gap:32px;display:flex}.mobileMenuButton{color:var(--green);cursor:pointer;background:0 0;border:none;font-size:34px;display:none}.mobileMenu{display:none}@media (max-width:1024px){.desktopNav,.bookButton{display:none}.mobileMenuButton{display:block}.header{position:relative}.mobileMenu{background:#fff;flex-direction:column;width:100%;max-height:0;transition:max-height .35s;display:flex;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 15px 30px #00000014}.mobileMenu.show{max-height:400px}.mobileMenu a{color:var(--green);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #eee;padding:18px 28px;font-size:14px}.mobileMenu a:hover{background:#f7f7f7}}.aboutSection{background:url(/images/bg-green.webp) 50%/cover no-repeat;padding:100px 0 70px;position:relative;overflow:hidden}.aboutContainer{grid-template-columns:1fr 1fr;align-items:center;gap:70px;width:min(1200px,92%);margin:auto;display:grid}.sectionHeading{color:#be9457;align-items:center;gap:25px;margin-bottom:35px;display:flex}.sectionHeading span{letter-spacing:5px;font-size:13px}.headingDivider{align-items:center;gap:15px;display:flex}.headingDivider span{background:#be9457;width:120px;height:1px}.headingDivider svg{font-size:30px}.aboutContent h2{color:#0d4d40;margin-bottom:18px;font-family:Cormorant Garamond,serif;font-size:72px;line-height:.95}.aboutContent h3{color:#be9457;margin-bottom:30px;font-family:Great Vibes,cursive;font-size:58px;font-weight:400;line-height:1.2}.aboutContent p{color:#444;max-width:520px;margin-bottom:25px;font-family:Poppins,sans-serif;line-height:2}.aboutImage img{border-radius:25px;width:100%;height:100%;overflow:hidden}.aboutFeatures{background:#edf5ef;border-radius:20px;grid-template-columns:repeat(4,1fr);gap:0;width:min(1140px,90%);margin:40px auto;padding:24px;display:grid}.icon{background:#78967f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.feature{border-right:1px solid #d9d9d9;align-items:center;gap:18px;padding:24px;display:flex}.feature:last-child{border-right:none}.feature h4{color:#0d4d40;margin-bottom:8px}.feature p{color:#666;font-size:14px}.leaf{opacity:.12;pointer-events:none;background-repeat:no-repeat;background-size:contain;width:280px;height:420px;position:absolute}.left{background-image:url(/images/leaf-outline-left.webp);bottom:20px;left:-50px}.right{background-image:url(/images/leaf-outline-right.webp);top:20px;right:-40px}@media (max-width:900px){.aboutContainer{text-align:center;grid-template-columns:1fr}.aboutContent p{margin:auto auto 25px}.aboutContent h2{font-size:54px}.sectionHeading{justify-content:center}.aboutFeatures{grid-template-columns:1fr}.feature{border-bottom:1px solid #eee;border-right:none}.feature:last-child{border-bottom:none}}.contactSection{background:#f8f8f3;padding:100px 0}.contactContainer{width:min(1200px,92%);margin:auto}.contactSection h2{color:var(--green);margin:20px 0;font-family:Cormorant Garamond,serif;font-size:clamp(2.8rem,5vw,4rem)}.contactIntro{color:var(--gold);margin-bottom:15px;font-size:1.2rem}.contactSection>.contactContainer>p{color:#555;max-width:720px;margin-bottom:50px;line-height:1.9}.contactGrid{grid-template-columns:repeat(2,1fr);gap:25px;display:grid}.contactCard{background:#fff;border-radius:20px;align-items:flex-start;gap:20px;padding:30px;transition:all .3s;display:flex;box-shadow:0 12px 30px #0000000f}.contactCard:hover{transform:translateY(-5px)}.contactCard svg{color:var(--gold);flex-shrink:0;margin-top:5px;font-size:26px}.contactCard h3{color:var(--green);margin-bottom:10px}.contactCard p{color:#666;margin:0;line-height:1.8}@media (max-width:768px){.contactGrid{grid-template-columns:1fr}.contactCard{padding:24px}}.mapSection{border-radius:25px;width:min(1300px,95%);margin:80px auto;overflow:hidden;box-shadow:0 20px 50px #00000014}.mapSection iframe{width:100%;height:500px;display:block}.pageHero{background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;width:100%;height:100vh;min-height:500px;display:flex}.pageHero h1{color:#fff;text-transform:uppercase;letter-spacing:6px;text-align:center;font-size:clamp(4rem,8vw,7rem)}.heroSerif h1{font-family:Cormorant Garamond,serif}.heroScript h1{text-transform:none;font-family:Great Vibes,cursive}.heroModern h1{font-family:Poppins,sans-serif}.servicesGrid{grid-template-columns:repeat(3,1fr);gap:35px;width:min(1300px,92%);margin:80px auto;display:grid}.serviceImage{height:240px;overflow:hidden}.serviceImage img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.serviceCard:hover img{transform:scale(1.08)}.serviceContent{flex-direction:column;flex:1;align-items:center;padding:28px;display:flex}.serviceContent h3{text-align:center;color:var(--green);margin-bottom:12px;font-family:Cormorant Garamond,serif;font-size:32px}.serviceDescription{color:#666;flex:1;margin-bottom:20px;line-height:1.8}.serviceMeta{color:var(--gold);justify-content:space-between;margin-bottom:20px;font-weight:600;display:flex}.serviceButton{justify-content:center;width:100%}.sectionNumber{color:var(--gold);letter-spacing:2px;margin-bottom:8px;font-size:18px;font-weight:600;display:block}.sectionHeader h2{color:var(--green);margin-bottom:16px;font-family:Cormorant Garamond,serif;font-size:52px}.sectionHeader p{color:#666;max-width:700px;line-height:1.8}.servicesSection{padding:80px 0}.sectionHeader{width:min(1200px,92%);margin:0 auto 40px}.serviceContentLayout{grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr);align-items:start;gap:60px;width:min(1350px,92%);margin:0 auto;display:grid}.priceTableWrapper,.serviceCardWrapper{width:100%}.servicesSection.reverse .priceTableWrapper{order:2}.serviceCardWrapper{min-width:0}.priceTable{background:#fffdf9;border:1px solid #d9c7a6;border-radius:14px;width:100%;overflow:hidden;box-shadow:0 8px 20px #0000000f}.priceTableHeader,.priceRow{grid-template-columns:2fr 1fr 1fr;align-items:center;display:grid}.priceTableHeader span,.priceRow span,.priceRow strong{padding:14px 18px}.priceTableHeader span:nth-child(2),.priceTableHeader span:nth-child(3),.priceRow strong,.priceRow span:last-child{text-align:center}.priceTableHeader{color:#fff;text-transform:uppercase;background:linear-gradient(135deg,#075c4d,#003f34);font-size:13px;font-weight:700}.priceTableHeader span:first-child,.priceRow span{border-right:1px dashed #be945766}.priceRow{background:#fffdf9;border-bottom:1px solid #ece3d4}.priceRow:nth-child(odd){background:#f8f3ea}.priceRow:last-child{border-bottom:none}.priceRow strong{text-align:center;color:#222}.servicesSection.reverse .serviceCardWrapper{order:2}.servicesSection.reverse .priceTable{order:1}@media (max-width:900px){.serviceContentLayout{grid-template-columns:1fr}.servicesSection.reverse .serviceCardWrapper,.servicesSection.reverse .priceTable{order:initial}}@media (max-width:1000px){.servicesGrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.servicesGrid{grid-template-columns:1fr}}.contactFormSection{justify-content:center;align-items:center;width:min(1200px,92%);margin:50px auto 0;display:flex}.contactForm{background:#fff;border-radius:24px;max-width:700px;margin:50px auto 0;padding:40px;box-shadow:0 18px 45px #00000014}.formRow{grid-template-columns:1fr 1fr;gap:18px;display:grid}.contactForm input,.contactForm select,.contactForm textarea{border:1px solid #d8e2dc;border-radius:14px;outline:none;width:100%;margin-bottom:18px;padding:16px 18px;font-size:15px}.contactForm textarea{resize:vertical}.contactForm input:focus,.contactForm select:focus,.contactForm textarea:focus{border-color:var(--green)}.contactFormButton{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:14px 30px}.formSuccess{color:var(--green);margin-top:18px}@media (max-width:700px){.formRow{grid-template-columns:1fr}.contactForm{padding:28px 20px}}.giftPage{background:#f7f5f4;min-height:100vh;padding:30px 0 90px}.giftPageContainer{width:min(1200px,94%);margin:0 auto}.giftPageContainer>h1{color:#675851;margin:0 0 18px;font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:500}.giftCertificateList{background:#fff;border:1px solid #ece8e5;overflow:hidden;box-shadow:0 2px 10px #231a1614}.giftCertificateCard{background:#fff;grid-template-columns:200px minmax(0,1fr) 130px;align-items:start;gap:22px;min-height:220px;padding:34px 28px;display:grid}.giftCertificateCard:not(:last-child){border-bottom:1px solid #ece8e5}.giftCertificateImage{border-radius:16px;width:200px;height:128px;overflow:hidden}.giftCertificateImage img{object-fit:cover;width:100%;height:100%;display:block}.giftCertificateContent{padding-top:2px}.giftCertificateContent h2{color:#6b5d56;margin:0 0 2px;font-family:Arial,Helvetica,sans-serif;font-size:17px;font-weight:600}.giftCertificatePrice{color:#6b5d56;margin:0 0 24px;font-size:16px}.giftCertificateDescription{color:#71645f;max-width:640px;font-size:16px;line-height:1.4}.giftCertificateDescription p{margin:0}.giftCertificateDescription strong{font-weight:500}.giftCertificateAction{justify-content:flex-end;padding-top:0;display:flex}.galleryPage{background:radial-gradient(circle at 0 0,#be94571a,#0000 30%),#faf8f3;min-height:100vh;padding:90px 0}.gallerySection{width:min(1350px,92%);margin:0 auto}.galleryEyebrow{color:#be9457;text-align:center;margin:0 0 8px;font-family:Great Vibes,cursive;font-size:46px;line-height:1}.gallerySection>h1{color:#075c4d;text-align:center;margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(42px,6vw,68px);font-weight:500;line-height:1.1}.galleryIntro{color:#63706c;text-align:center;max-width:680px;margin:18px auto 60px;font-size:16px;line-height:1.8}.galleryToolbar{background:#ffffffd1;border:1px solid #be94574d;border-radius:20px;justify-content:space-between;align-items:center;gap:25px;margin-bottom:28px;padding:22px 26px;display:flex;box-shadow:0 12px 30px #15483c0f}.galleryToolbarText{color:#075c4d;align-items:center;gap:14px;display:flex}.galleryToolbarText h2{margin:0 0 3px;font-family:Cormorant Garamond,serif;font-size:28px}.galleryToolbarText p{color:#6a7471;margin:0;font-size:14px}.galleryUploadButton{color:#fff;letter-spacing:.6px;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#075c4d,#003f34);border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:12px 24px;font-size:13px;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 10px 22px #075c4d33}.galleryUploadButton:hover{transform:translateY(-2px);box-shadow:0 14px 26px #075c4d4d}.galleryUploadButton input{display:none}.galleryGrid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:190px;gap:18px;display:grid}.galleryItem{background:#ece7dc;border-radius:24px;grid-column:span 4;position:relative;overflow:hidden;box-shadow:0 12px 28px #1a372f1a}.galleryItem-1,.galleryItem-6{grid-area:span 2/span 8}.galleryItem-2,.galleryItem-5{grid-area:span 2/span 4}.galleryItem-3,.galleryItem-4{grid-column:span 6}.galleryImageButton{cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0}.galleryImageButton img{object-fit:cover;width:100%;height:100%;transition:transform .6s;display:block}.galleryItem:hover .galleryImageButton img{transform:scale(1.06)}.galleryOverlay{color:#fff;text-align:left;opacity:0;background:linear-gradient(#0000,#002d24d1);flex-direction:column;align-items:flex-start;gap:4px;padding:50px 22px 20px;transition:opacity .3s;display:flex;position:absolute;inset:auto 0 0}.galleryItem:hover .galleryOverlay,.galleryImageButton:focus-visible .galleryOverlay{opacity:1}.galleryOverlay span{color:#e3be82;letter-spacing:1.4px;text-transform:uppercase;font-size:11px;font-weight:700}.galleryOverlay strong{font-family:Cormorant Garamond,serif;font-size:23px}.galleryRemoveButton{color:#8b3030;cursor:pointer;background:#ffffffeb;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex;position:absolute;top:14px;right:14px;box-shadow:0 5px 16px #0000002e}.emptyGallery{color:#075c4d;text-align:center;background:#fffdf9;border:2px dashed #be945773;border-radius:24px;padding:80px 25px}.emptyGallery h3{margin:16px 0 7px;font-family:Cormorant Garamond,serif;font-size:30px}.emptyGallery p{color:#707b77;margin:0 0 24px}.galleryStorageNote{color:#7a8581;text-align:center;margin:22px 0 0;font-size:13px}.galleryLightbox{z-index:9999;background:#001a14e6;justify-content:center;align-items:center;padding:30px;display:flex;position:fixed;inset:0}.galleryLightboxClose{color:#fff;cursor:pointer;background:0 0;border:none;font-size:44px;line-height:1;position:fixed;top:22px;right:28px}.galleryLightboxContent{background:#fff;border-radius:22px;width:min(1000px,95vw);max-height:90vh;overflow:hidden}.galleryLightboxContent img{object-fit:contain;background:#0d1714;width:100%;max-height:75vh;display:block}.galleryLightboxContent div{padding:18px 24px 22px}.galleryLightboxContent span{color:#be9457;letter-spacing:1.3px;text-transform:uppercase;font-size:12px;font-weight:700}.galleryLightboxContent h3{color:#075c4d;margin:4px 0 0;font-family:Cormorant Garamond,serif;font-size:28px}@media (max-width:900px){.galleryGrid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:240px}.galleryItem,.galleryItem-1,.galleryItem-2,.galleryItem-3,.galleryItem-4,.galleryItem-5,.galleryItem-6{grid-area:span 1/span 1}}@media (max-width:650px){.galleryPage{padding:60px 0}.galleryToolbar{flex-direction:column;align-items:stretch}.galleryUploadButton{width:100%}.galleryGrid{grid-template-columns:1fr;grid-auto-rows:260px}.galleryOverlay{opacity:1}}
