@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/noto-serif-sc-0.woff2) format('woff2');
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./fonts/noto-serif-sc-1.woff2) format('woff2');
}

@font-face {
  font-family: 'Asap';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(./fonts/asap-0.woff2) format('woff2');
}
@font-face {
  font-family: 'Asap';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url(./fonts/asap-1.woff2) format('woff2');
}
@font-face {
  font-family: 'Asap';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(./fonts/asap-2.woff2) format('woff2');
}
@font-face {
  font-family: 'Asap';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(./fonts/asap-3.woff2) format('woff2');
}

:root{--cream:#f2e0d0;--ink:#2f3d40;--forest:#47594e;--olive:#a6a381;--ochre:#bf814b;--paper:#fbf7f2;--line:rgba(47,61,64,.2);--serif:'Noto Serif SC',Georgia,serif;--sans:'Asap',Arial,sans-serif;--gutter:clamp(24px,5.4vw,104px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.21}h1{font-size:clamp(46px,5.3vw,86px)}h2{font-size:clamp(35px,3.6vw,60px)}h3{font-size:clamp(26px,2.2vw,36px)}p+p{margin-top:20px}p{max-width:65ch}button{color:inherit}::selection{background:var(--ochre);color:var(--paper)}:focus-visible{outline:3px solid var(--ochre);outline-offset:5px}section[id]{scroll-margin-top:95px}.section-pad{padding:104px var(--gutter)}.eyebrow{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;line-height:1.5;margin-bottom:20px}.small{font-size:13px;line-height:1.6}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid var(--ink);background:var(--ink);color:var(--cream);padding:17px 25px;min-height:54px;font-weight:500;font-size:14px;line-height:1.3;transition:background .2s,color .2s,transform .2s}.button:hover{background:var(--forest);border-color:var(--forest)}.button span,.text-link span{font-size:20px;line-height:1}.button-cream{background:var(--cream);color:var(--ink);border-color:var(--cream)}.button-cream:hover{background:var(--paper);border-color:var(--paper)}.button-small{padding:12px 20px;min-height:46px;gap:28px}.button-outline{background:transparent;color:var(--ink);border-color:var(--line)}.button-outline:hover{color:var(--cream)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;border:0;border-bottom:1px solid currentColor;padding:10px 0 8px;background:none;font-size:14px;line-height:1.4}.text-link:hover{color:#805027}.plain-button{padding:0;border:0;background:none;text-align:left}.inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--cream);padding:12px 20px}.skip-link:focus{top:12px}
.site-header{height:94px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:36px;background:var(--ink);color:var(--cream);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(242,224,208,.16)}.brand{display:block;flex-shrink:0;width:184px}.brand img{height:auto;object-fit:contain}.desktop-nav{display:flex;gap:32px;align-items:center;margin-left:auto;font-size:13px}.desktop-nav a{padding:8px 0;position:relative}.desktop-nav a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--cream);transform:scaleX(0);transform-origin:left;transition:transform .2s}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:15px}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.mobile-nav{display:none}.hero{position:relative;min-height:660px;height:calc(100svh - 94px);max-height:900px;overflow:hidden;background:var(--forest);color:var(--cream)}.hero-media{position:absolute;inset:0}.hero-media img{object-position:center 54%;animation:hero-in 1.3s ease-out both}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,28,25,.71),rgba(18,28,25,.32) 53%,rgba(18,28,25,.02)),linear-gradient(0deg,rgba(18,28,25,.65),transparent 35%)}.hero-content{position:relative;z-index:1;padding:clamp(70px,11vh,130px) var(--gutter) 100px;max-width:950px}.hero-content .eyebrow{margin-bottom:28px}.hero h1{font-size:clamp(44px,4.65vw,76px);line-height:1.21;letter-spacing:-.04em}.hero-description{font-size:17px;margin-top:26px;line-height:1.65}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:36px}.hero-link{font-size:14px;display:flex;align-items:center;gap:15px;border-bottom:1px solid rgba(242,224,208,.5);padding:11px 0}.hero-bottom{position:absolute;bottom:28px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(242,224,208,.35);padding-top:22px;font-size:11px;letter-spacing:.08em}.hero-bottom a span{margin-left:20px}.quick-facts{padding:28px var(--gutter);background:var(--cream);display:grid;grid-template-columns:1.3fr 1fr 1.15fr auto;align-items:center;gap:25px;border-bottom:1px solid var(--line)}.quick-facts .eyebrow{font-size:9px;margin-bottom:8px;letter-spacing:.15em}.quick-facts strong{display:block;font-weight:500;font-size:18px;line-height:1.5}.quick-facts small{font-size:12px;font-weight:400}.quick-facts div>span:last-child:not(.eyebrow){font-size:12px}.quick-facts .text-link{font-size:12px;gap:20px}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.intro-copy p:not(.eyebrow){font-size:17px;line-height:1.8;margin-top:26px;max-width:440px}.intro-copy .text-link{margin-top:30px}.intro-image{height:600px;position:relative}.intro-image figcaption{position:absolute;bottom:20px;left:22px;right:22px;font-size:12px;color:var(--cream)}.intro-image:after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.35));pointer-events:none}.intro-image figcaption{z-index:1}.small-facts{display:flex;gap:30px;margin-top:50px;padding-top:25px;border-top:1px solid var(--line)}.small-facts>span{font-family:var(--serif);font-size:28px;line-height:1.2}.small-facts small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.04em;margin-top:10px}.moments{padding-top:20px}.heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:48px}.heading-row>p{max-width:370px;font-size:16px;line-height:1.8}.moment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.moment img{height:350px;margin-bottom:27px}.moment:nth-child(2){padding-top:65px}.moment:nth-child(3){padding-top:130px}.moment:nth-child(2) img{object-position:65% center}.moment .eyebrow{margin-bottom:12px;font-size:10px}.moment h3{font-size:28px}.moment>p:last-child{font-size:15px;margin-top:18px;max-width:340px}.occasion-panel{display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:var(--cream)}.occasion-photo{min-height:680px;max-height:850px}.occasion-photo img{object-position:center 43%}.occasion-copy{padding:90px clamp(35px,6.5vw,120px);align-self:center}.occasion-copy h2{font-size:clamp(36px,3.7vw,62px)}.occasion-copy>p:not(.eyebrow){margin-top:28px;font-size:16px;line-height:1.8}.occasion-copy .button{margin-top:34px}.occasion-copy>.small{display:block;margin-top:20px;font-size:11px}.special-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.special-image{height:380px;position:relative}.special-image img{object-position:center 45%}.image-label{position:absolute;left:20px;bottom:20px;background:var(--paper);color:var(--ink);font-size:10px;letter-spacing:.09em;padding:9px 13px;line-height:1.5}.special-body{padding:28px 0}.special-body .eyebrow{font-size:9px;margin-bottom:12px}.special-body p:not(.eyebrow){font-size:16px;max-width:460px;margin-top:16px}.special-body .text-link{margin-top:20px}.specials-bottom{border-top:1px solid var(--line);padding-top:24px;margin-top:20px;display:flex;align-items:center;gap:35px;flex-wrap:wrap}.specials-bottom p{font-size:14px;margin-right:auto}.specials-bottom .text-link{font-size:12px}.location{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.location-image{height:470px}.location-copy>p:not(.eyebrow){margin-top:25px;font-size:16px}.location address{font-size:14px;font-style:normal;margin:28px 0 14px;line-height:1.8}.location .inline-actions{gap:24px}.location .text-link{font-size:12px}.other-uses{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px}.other-uses>.eyebrow{max-width:200px}.other-uses p:not(.eyebrow){font-size:14px;margin:16px 0}.other-uses h3{font-size:25px}.other-uses .text-link{font-size:12px}.invitation{background:var(--forest);text-align:center;color:var(--cream)}.invitation h2{font-size:clamp(36px,4.2vw,64px)}.invitation p{margin-left:auto;margin-right:auto}.invitation .button{margin:35px 0 20px}.invitation .small{opacity:.85}.footer{background:var(--ink);color:var(--cream);padding:60px var(--gutter) 25px}.footer-top{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:60px;padding-bottom:55px;align-items:start}.footer .brand{width:220px}.footer-top>p{font-family:var(--serif);font-size:24px;line-height:1.5;letter-spacing:-.03em}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:13px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:23px;border-top:1px solid rgba(242,224,208,.2);font-size:10px;letter-spacing:.08em}.mobile-cta{display:none}
.nature-opening{padding-top:70px;padding-bottom:55px;display:flex;align-items:flex-end;justify-content:space-between;gap:60px}.nature-opening h1{font-size:clamp(58px,6.5vw,100px)}.nature-opening .eyebrow{font-size:10px}.nature-intro{padding-bottom:8px;max-width:420px}.nature-intro>p{font-family:var(--serif);font-size:24px;line-height:1.5;letter-spacing:-.02em}.nature-intro>span{font-size:13px;display:block;margin-top:14px}.nature-intro .inline-actions{margin-top:28px}.gallery{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:240px 240px;gap:12px;margin:0 var(--gutter)}.gallery-tile{border:0;padding:0;position:relative;overflow:hidden;background:var(--forest)}.gallery-tile img{transition:transform .65s}.gallery-tile:hover img{transform:scale(1.025)}.gallery-tile>span{position:absolute;bottom:18px;right:18px;width:34px;height:34px;background:var(--cream);border-radius:50%;display:grid;place-items:center}.gallery-main{grid-row:1/3}.gallery-note{padding:14px var(--gutter);font-size:11px;max-width:none}.page-nav{display:flex;justify-content:center;gap:55px;padding:20px var(--gutter);border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;margin-top:20px;background:var(--paper)}.nature-story{text-align:center;padding-bottom:85px}.nature-story .eyebrow{margin-left:auto;margin-right:auto}.story-columns{display:grid;grid-template-columns:1fr 1fr;max-width:860px;margin:32px auto 0;gap:50px;text-align:left}.story-columns p{font-size:16px;line-height:1.85}.story-columns p+p{margin:0}.inclusions{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:0}.inclusion-photo{height:310px;margin-top:35px;position:relative}.inclusion-photo img{object-position:center 65%}.inclusion-photo figcaption{font-size:11px;margin-top:12px}.inclusion-list{padding-top:20px}.inclusion-list details,.faq-list details{border-top:1px solid var(--line)}.inclusion-list details:last-of-type,.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:20px;padding:23px 0;font-size:16px;line-height:1.5}summary::-webkit-details-marker{display:none}summary>b{font-size:22px;font-weight:400;margin-left:auto;transition:transform .2s}details[open] summary>b{transform:rotate(45deg)}summary>span{font-size:10px;color:var(--forest)}details>p{padding:0 35px 24px 0;font-size:15px;line-height:1.8}.inclusion-note{margin-top:28px;max-width:390px}.rates{background:var(--cream)}.section-heading{text-align:center;max-width:720px;margin:0 auto 45px}.section-heading .eyebrow{margin-left:auto;margin-right:auto}.section-heading>p:last-child{margin-top:24px;font-size:16px}.rate-grid{display:grid;grid-template-columns:1fr 1fr;max-width:900px;margin:auto;border:1px solid var(--line)}.rate{padding:40px 45px}.rate+.rate{border-left:1px solid var(--line)}.rate .eyebrow{font-size:10px}.rate-price{font-family:var(--serif);font-size:45px;letter-spacing:-.04em;line-height:1.25}.rate-price>span{display:block;font-family:var(--sans);font-size:13px;letter-spacing:0;margin-top:15px}.rate .button{margin-top:30px;width:100%;font-size:12px}.rate-notes{max-width:900px;margin:25px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:50px;font-size:12px;line-height:1.8}.rate-notes p+p{margin:0}.rate-notes strong{font-weight:500}.extras{display:grid;grid-template-columns:.9fr 1fr;gap:12%;align-items:center}.extras-image{height:600px;position:relative}.extras>div:last-child>p:not(.eyebrow){margin-top:25px;max-width:430px;font-size:16px}.extra-options{margin:30px 0}.extra-button{display:flex;width:100%;align-items:center;justify-content:space-between;border:0;border-top:1px solid var(--line);padding:17px 0;background:none;font-size:14px;text-align:left}.extra-button:last-child{border-bottom:1px solid var(--line)}.extra-button:hover{color:#805027}.extras>.text-link{font-size:12px}.journey-strip{background:var(--forest);color:var(--cream)}.journey-strip>div{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px;margin-top:50px}.journey-strip article{border-top:1px solid rgba(242,224,208,.35);padding-top:24px}.journey-strip article>span{font-family:var(--serif);font-size:30px;letter-spacing:-.03em}.journey-strip article p{font-size:14px;margin-top:15px;max-width:300px}.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%}.faq .text-link{margin-top:25px}.faq-list summary{font-size:15px}.faq-list p{font-size:14px}
.info-dialog{width:min(620px,calc(100% - 32px));max-height:85svh;border:0;background:var(--paper);color:var(--ink);padding:60px 48px;overflow:auto}.info-dialog::backdrop,.gallery-dialog::backdrop{background:rgba(23,32,29,.65);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:20px;top:14px;border:0;background:none;font-size:30px;min-width:44px;min-height:44px;z-index:2}.info-dialog h2{font-size:39px;margin-bottom:23px}.info-dialog p{font-size:15px;line-height:1.8}.info-dialog p+p{margin-top:18px}.info-dialog .button{margin-top:28px}.info-dialog .text-link{margin-top:15px}.info-dialog ul{font-size:14px;padding-left:18px;margin:20px 0}.info-dialog li{padding:6px 0}.gallery-dialog{width:min(1100px,96vw);max-height:96svh;padding:50px 30px 20px;border:0;color:var(--cream);background:var(--ink)}.gallery-dialog figure img{height:70svh;width:100%;object-fit:contain}.gallery-dialog figcaption{font-size:12px;text-align:center;padding-top:16px;max-width:700px;margin:auto}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:15px;font-size:12px}.gallery-controls button{border:1px solid rgba(242,224,208,.3);color:var(--cream);background:none;width:44px;height:44px}.noscript{padding:20px var(--gutter);background:var(--cream)}.reveal{opacity:1}.js-motion .reveal.ready{opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .75s ease}.js-motion .reveal.visible{opacity:1;transform:none}@keyframes hero-in{from{transform:scale(1.035);opacity:.6}to{transform:scale(1);opacity:1}}
@media(min-width:1600px){.hero-media img{object-position:center 58%}.section-pad{padding-top:120px;padding-bottom:120px}.moments{padding-top:20px}}
@media(max-width:1100px){.site-header{gap:25px}.desktop-nav{gap:20px}.brand{width:155px}.hero-content{padding-top:100px}.quick-facts{grid-template-columns:1.2fr 1fr 1.2fr}.quick-facts>.text-link{grid-column:1/-1;justify-self:start}.intro{gap:7%}.intro-image{height:540px}.moment img{height:280px}.occasion-copy{padding:55px 35px}.occasion-photo{min-height:610px}.special-image{height:330px}.other-uses{gap:25px}.footer-top{gap:35px}.nature-intro{max-width:350px}.gallery{grid-template-rows:200px 200px}.rate{padding:35px 25px}}
@media(max-width:780px){html{scroll-padding-top:90px}.site-header{height:78px;padding:0 24px;gap:12px}.site-header .brand{width:142px}.desktop-nav{display:none}.header-actions .button{font-size:11px;padding:11px 13px;min-height:42px;gap:12px}.header-actions .button span{display:none}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:40px;height:44px;border:0;background:none}.menu-toggle span{display:block;width:21px;height:1px;background:var(--cream);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{display:flex;position:absolute;top:78px;left:0;right:0;background:var(--ink);padding:20px 25px 35px;flex-direction:column;align-items:flex-start;gap:20px;border-top:1px solid rgba(242,224,208,.2)}.section-pad{padding:70px 24px}.hero{height:calc(92svh - 78px);min-height:640px;max-height:850px}.hero-media img{object-position:63% center}.hero-media:after{background:linear-gradient(0deg,rgba(18,28,25,.83),rgba(18,28,25,.05) 75%),linear-gradient(90deg,rgba(18,28,25,.32),transparent)}.hero-content{padding:190px 24px 110px;max-width:600px}.hero h1{font-size:clamp(37px,7.5vw,60px)}.hero-content .eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:20px}.hero-description{font-size:14px;margin-top:23px}.hero-actions{margin-top:25px;gap:20px}.hero-actions .button{font-size:12px;padding:15px 18px;gap:20px}.hero-link{font-size:12px}.hero-bottom{left:24px;right:24px;bottom:22px;font-size:10px}.hero-bottom>span{display:none}.quick-facts{padding:26px 24px;grid-template-columns:1fr 1fr;gap:22px}.quick-facts>div:first-child{grid-column:1/-1;padding-bottom:18px;border-bottom:1px solid var(--line)}.quick-facts>.text-link{grid-column:1/-1}.quick-facts strong{font-size:17px}.quick-facts .eyebrow{font-size:8px}.intro{grid-template-columns:1fr;gap:40px}.intro-copy p:not(.eyebrow){max-width:none;font-size:16px;margin-top:22px}.intro-image{height:520px}.small-facts{margin-top:35px;justify-content:space-between;gap:15px}.heading-row{display:block;margin-bottom:35px}.heading-row>p{margin-top:22px;max-width:500px;font-size:15px}.moments{padding-top:0}.moment-grid{grid-template-columns:1fr;gap:42px}.moment:nth-child(2),.moment:nth-child(3){padding-top:0}.moment img{height:360px;margin-bottom:22px}.moment:nth-child(2) img{object-position:center 40%}.moment>p:last-child{max-width:500px}.moment h3{font-size:29px}.occasion-panel{grid-template-columns:1fr}.occasion-photo{min-height:0;height:460px}.occasion-copy{padding:55px 24px 60px}.occasion-copy h2{font-size:40px}.special-grid{grid-template-columns:1fr;gap:30px}.special-image{height:390px}.special-body{padding:25px 0}.special-body h3{font-size:32px}.specials-bottom{gap:18px}.specials-bottom p{width:100%}.location{grid-template-columns:1fr;gap:36px}.location-image{height:360px}.other-uses{grid-template-columns:1fr;gap:30px}.other-uses>.eyebrow{max-width:none;margin-bottom:0}.other-uses>div{border-top:1px solid var(--line);padding-top:25px}.footer{padding:45px 24px 110px}.footer-top{grid-template-columns:1fr;gap:32px;padding-bottom:35px}.footer-top>p{font-size:24px}.footer .brand{width:180px}.footer-bottom{font-size:9px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;padding:12px 20px max(12px,env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);background:var(--paper);z-index:25;box-shadow:0 -5px 30px rgba(0,0,0,.04)}.mobile-cta>div{font-size:12px;line-height:1.5}.mobile-cta small{font-size:9px;display:block}.mobile-cta .button{min-height:42px;font-size:11px;padding:11px 16px;gap:20px}.nature-opening{display:block;padding-top:45px;padding-bottom:35px}.nature-opening h1{font-size:58px}.nature-opening .eyebrow{font-size:9px}.nature-intro{max-width:none;margin-top:25px}.nature-intro>p{font-size:21px}.nature-intro .inline-actions{margin-top:23px}.gallery{margin:0 16px;grid-template-columns:1fr 1fr;grid-template-rows:300px 160px;gap:8px}.gallery-main{grid-column:1/-1;grid-row:auto}.gallery-note{font-size:10px;padding:12px 24px}.page-nav{padding:15px 20px;gap:0;justify-content:space-between;font-size:11px;margin-top:8px}.nature-story{padding-top:60px;padding-bottom:45px}.story-columns{grid-template-columns:1fr;gap:20px;margin-top:25px}.story-columns p{font-size:15px}.inclusions{grid-template-columns:1fr;padding-top:0;gap:25px}.inclusion-photo{height:360px}.inclusion-photo img{object-position:50% 65%}.inclusion-list{padding-top:10px}.section-heading{text-align:left}.section-heading .eyebrow{margin-left:0}.section-heading>p:last-child{font-size:15px}.rate-grid{grid-template-columns:1fr}.rate{padding:28px}.rate+.rate{border-left:0;border-top:1px solid var(--line)}.rate-price{font-size:40px}.rate-notes{grid-template-columns:1fr;gap:15px;font-size:11px}.extras{grid-template-columns:1fr;gap:35px}.extras-image{height:430px}.extra-button{font-size:14px}.journey-strip>div{grid-template-columns:1fr;gap:25px;margin-top:30px}.journey-strip article>span{font-size:27px}.journey-strip article p{max-width:none}.faq{grid-template-columns:1fr;gap:30px}.faq-list summary{font-size:14px;gap:15px}.info-dialog{padding:60px 26px 35px}.info-dialog h2{font-size:32px}.gallery-dialog{padding:50px 12px 16px}.gallery-dialog figure img{height:60svh}.invitation .eyebrow{font-size:9px}}
@media(max-width:380px){.site-header{padding:0 16px}.site-header .brand{width:125px}.header-actions{gap:6px}.hero-content{padding-top:170px}.hero h1{font-size:35px}.hero-actions{gap:16px}.hero-link{font-size:10px}.hero-actions .button{padding:14px;font-size:11px}.quick-facts strong{font-size:15px}.footer-bottom{gap:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal.ready{opacity:1;transform:none}}

/* Components used across several page families. */
.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;padding:25px var(--gutter);font-size:11px;border-bottom:1px solid var(--line)}
.breadcrumbs a:hover{text-decoration:underline}
.visit-bridge{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:30px var(--gutter);background:var(--cream);border-top:1px solid var(--line)}
.visit-bridge p{font-size:14px}.visit-bridge .text-link{flex-shrink:0}
.program-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.program-faq summary{font-size:15px}.program-faq details a{text-decoration:underline;text-underline-offset:4px}
.inline-contact{padding:0;border:0;background:none;display:inline;font:inherit;text-decoration:underline;text-underline-offset:3px;text-align:left}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:780px){.breadcrumbs{padding:20px 24px;gap:8px;font-size:10px}.visit-bridge{display:block;padding:27px 24px}.visit-bridge .text-link{margin-top:12px}.program-faq{grid-template-columns:1fr;gap:28px}.program-faq summary{font-size:14px}}

/* One-question conversation, in the Cambirela palette. */
.cv-modal{border:1px solid rgba(242,224,208,.3);padding:0;margin:auto;width:min(590px,calc(100% - 40px));height:min(790px,calc(100dvh - 64px));max-height:calc(100dvh - 32px);max-width:100%;background:var(--paper);color:var(--ink);border-radius:16px;box-shadow:0 24px 100px rgba(12,24,20,.25);overflow:hidden}
.cv-modal::backdrop{background:rgba(23,32,29,.65);backdrop-filter:blur(5px)}
.cv{height:100%;display:flex;flex-direction:column;line-height:1.55;font-size:15px}
.cv-head{display:flex;align-items:center;gap:13px;padding:23px 26px;background:var(--forest);color:var(--cream);flex-shrink:0}
.cv-symbol{height:40px;width:40px;object-fit:contain;flex-shrink:0}
.cv-who{flex:1;min-width:0}.cv-who h2{font-family:var(--serif);font-size:23px;line-height:1.35;letter-spacing:-.035em}.cv-who p{font-size:11px;letter-spacing:.03em;margin-top:3px;color:var(--cream)}
.cv-close{font-size:28px;line-height:1;background:none;border:0;color:inherit;width:44px;height:44px;flex-shrink:0;border-radius:50%}.cv-close:hover{background:rgba(242,224,208,.12)}
.cv-context{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 26px;background:var(--cream);font-size:12px;flex-shrink:0}
.cv-gift{flex-shrink:0;padding:10px 20px;background:#e8eee6;color:#243f36;border-bottom:1px solid #cdd8c9;font-size:12px;line-height:1.5}.cv-gift[hidden]{display:none}.cv-gift strong,.cv-gift span{display:block}.cv-gift strong{font-weight:600}.cv-gift span{font-size:11px;margin-top:3px}
.cv-change{border:0;background:none;color:var(--ink);font-size:11px;text-decoration:underline;text-underline-offset:4px;min-height:36px;padding:4px 0;white-space:nowrap}
.cv-scroll{position:relative;overflow-y:auto;overflow-x:hidden;min-height:0;flex:1;padding:26px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--olive) transparent}
.cv-log{display:flex;flex-direction:column;gap:12px}.cv-msg{max-width:91%;width:fit-content;padding:15px 18px;border-radius:14px 14px 14px 3px;background:#edece3;color:var(--ink);animation:cv-arrive .22s ease-out;font-size:15px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}
.cv-msg p{font-family:var(--sans);margin:0;font-size:inherit;line-height:inherit;letter-spacing:0}.cv-msg.me{align-self:flex-end;background:var(--forest);color:var(--paper);border-radius:14px 14px 3px 14px;padding:12px 17px;max-width:86%}.cv-msg.bot+.cv-msg.bot{margin-top:3px}
.cv-input{padding-top:16px;display:flex;flex-direction:column;align-items:stretch;gap:13px;margin-left:12px}.cv-hint{font-size:12px;line-height:1.65;margin:0;color:#546258;max-width:none}
.cv-options{display:flex;flex-wrap:wrap;gap:9px}.cv-option{border:1px solid #a4aa9c;background:var(--paper);border-radius:8px;padding:12px 15px;text-align:left;font-size:14px;line-height:1.4;min-height:46px;max-width:100%;transition:background .18s,border-color .18s,color .18s}
.cv-option:hover{background:#eeede3;border-color:var(--forest)}.cv-option[aria-pressed=true]{background:var(--forest);border-color:var(--forest);color:var(--paper)}
.cv-primary{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:15px;border:1px solid var(--forest);background:var(--forest);color:var(--paper);border-radius:8px;min-height:48px;padding:13px 20px;font-size:14px;line-height:1.35;transition:background .18s}
.cv-primary:hover{background:var(--ink);border-color:var(--ink)}.cv-link{align-self:flex-start;background:none;border:0;padding:9px 0;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:4px;color:var(--forest);line-height:1.6;text-align:left}.cv-link:hover{color:var(--ink)}
.cv-handoff{display:flex;flex-direction:column;gap:7px}.cv-recipient{font-size:12px;line-height:1.6;margin:0!important;color:var(--ink)}.cv-whatsapp{max-width:100%;text-align:center}
.cv-form{display:flex;flex-direction:column;gap:12px}.cv-text{width:100%;min-width:0;min-height:50px;border:1px solid #899784;border-radius:8px;padding:13px 15px;background:#fffdf9;color:var(--ink);font-size:16px;line-height:1.5}.cv-text::placeholder{color:#687267}.cv-text[aria-invalid=true]{border-color:#914225}.cv-text[type=date]{min-width:0;max-width:100%;appearance:none}textarea.cv-text{resize:vertical;min-height:110px;max-height:240px}.cv-form .cv-primary{align-self:flex-end}.cv-alternatives{display:flex;flex-wrap:wrap;gap:0 20px}
.cv-error{color:#914225;font-size:13px;margin:0;line-height:1.5}.cv-error:empty{display:none}.cv-foot{padding:13px 26px;font-size:10px;line-height:1.6;text-align:center;border-top:1px solid var(--line);background:var(--paper);flex-shrink:0;color:#546258}
.cv-review{margin:4px 0 0;padding:23px 22px;background:var(--cream);border:1px solid rgba(166,163,129,.5);border-radius:14px}.cv-review h3{font-size:24px;letter-spacing:-.03em;margin-bottom:20px;line-height:1.5}.cv-summary{margin:0}.cv-summary>div{padding:11px 0;border-top:1px solid var(--line)}.cv-summary dt{font-size:10px;letter-spacing:.07em;text-transform:uppercase}.cv-summary dd{margin:4px 0 0;font-size:14px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.cv-review .cv-hint{margin-top:15px}.cv-copy-status{font-size:12px;line-height:1.6;margin:0}.cv-copy-status:empty{display:none}
.cv-send{flex-shrink:0;padding:15px 26px max(15px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column;gap:12px;box-shadow:0 -8px 22px rgba(30,45,36,.035)}
.cv-send[hidden],.cv-foot[hidden]{display:none}.cv-send-status strong{display:block;font-family:var(--sans);font-size:15px;font-weight:500;color:var(--ink)}.cv-send-status p{font-family:var(--sans);font-size:12px;line-height:1.5;color:#546258;margin:3px 0 0}.cv-send .cv-whatsapp{width:100%;align-self:stretch;min-height:50px}
.cv-save-status{display:block;font-weight:500;min-height:16px;margin-top:2px}.cv-save-status:empty{display:none}
@media(max-width:600px){.cv-send{padding:13px 18px max(13px,env(safe-area-inset-bottom));gap:10px}}
@media(max-height:520px){.cv-send{padding:8px 18px;gap:6px}.cv-send-status strong{font-size:13px}.cv-send-status p{font-size:11px}.cv-send .cv-whatsapp{min-height:44px;padding:9px 14px}}
.cv-typing{display:flex;align-items:center;gap:5px;background:#edece3;padding:18px;width:62px;border-radius:12px 12px 12px 3px}.cv-typing i{height:5px;width:5px;border-radius:50%;background:var(--forest);animation:cv-dot .7s ease-in-out infinite alternate}.cv-typing i:nth-child(2){animation-delay:.15s}.cv-typing i:nth-child(3){animation-delay:.3s}
.cv-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cv :focus-visible{outline:2px solid var(--ochre);outline-offset:3px}
@keyframes cv-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes cv-dot{to{opacity:.3;transform:translateY(-2px)}}
@media(max-width:600px){.cv-modal{width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}.cv-head{padding:max(16px,env(safe-area-inset-top)) 18px 16px;gap:11px}.cv-who h2{font-size:21px}.cv-symbol{width:34px;height:34px}.cv-context{padding:6px 20px}.cv-scroll{padding:22px 18px}.cv-msg{max-width:94%;font-size:15px;padding:13px 15px}.cv-input{margin-left:8px}.cv-option{padding:11px 13px;font-size:13px}.cv-foot{padding:10px 18px max(10px,env(safe-area-inset-bottom))}.cv-review{padding:19px 17px}.cv-review h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.cv *, .cv *:before{animation:none!important;transition:none!important}.cv-scroll{scroll-behavior:auto}}

/* Searchable IBGE municipality field. The snapshot is loaded locally on demand. */
.cv-location{position:relative;display:flex;flex-direction:column;gap:0}
.cv-location-search{-webkit-appearance:none;appearance:none;padding-right:42px}
.cv-location-search::-webkit-search-cancel-button{cursor:pointer}
.cv-location-list{position:relative;z-index:3;margin-top:7px;max-height:252px;overflow-y:auto;border:1px solid #899784;border-radius:4px;background:#fffdf9;box-shadow:0 16px 35px rgba(30,45,36,.12);overscroll-behavior:contain}
.cv-location-list[hidden]{display:none}
.cv-location-option{display:flex;width:100%;min-height:56px;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;line-height:1.35}
.cv-location-option:last-child{border-bottom:0}
.cv-location-option:hover,.cv-location-option[aria-selected=true]{background:var(--cream)}
.cv-location-option strong{font-family:var(--sans);font-size:15px;font-weight:600}
.cv-location-option span{font-size:12px;color:#546258;text-align:right}
.cv-location-status{min-height:20px;margin:0;font-size:12px;line-height:1.55;color:#546258}
@media(max-width:600px){.cv-location-list{max-height:228px}.cv-location-option{min-height:58px;padding:12px}.cv-location-option strong{font-size:15px}.cv-location-option span{font-size:11px;max-width:44%}}

/* Shared refinements from the cross-page mobile UX review. */
.header-reservation{display:none;border:0;background:transparent;color:var(--cream);font:inherit;cursor:pointer;gap:6px}
.coupon-invitation{margin:0;padding:32px clamp(24px,6vw,96px);background:var(--cream);color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:28px;border-block:1px solid rgba(47,61,64,.14)}
.coupon-invitation .eyebrow{margin-bottom:8px}
.coupon-invitation h2{font-family:var(--serif);font-size:clamp(25px,3vw,34px);line-height:1.3;margin:0 0 9px}
.coupon-invitation p:not(.eyebrow){font-size:15px;line-height:1.6;max-width:48ch;margin:0}
.coupon-invitation .button{flex-shrink:0;background:transparent;border:1px solid var(--ink);color:var(--ink)}
.coupon-invitation .button:hover{background:var(--ink);color:var(--cream)}
.rates .coupon-invitation{margin-top:28px;padding:28px 32px}
@media(max-width:600px){.coupon-invitation{align-items:flex-start;flex-direction:column;gap:18px;padding:26px 24px}.coupon-invitation .button{width:100%;justify-content:space-between}.rates .coupon-invitation{padding:24px 20px}.coupon-invitation p:not(.eyebrow){font-size:14px}}
.menu-toggle{flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;border:0;background:none}
.menu-toggle span{display:block;width:21px;height:1px;background:var(--cream);transition:transform .2s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.site-header .brand{min-height:44px;display:flex;align-items:center}
.desktop-nav a[aria-current=page]:after,.desktop-nav a[data-active=true]:after{transform:scaleX(1)}
.desktop-nav a{min-height:44px;display:inline-flex;align-items:center}
.text-link{min-height:44px}
.breadcrumbs{align-items:center;padding-block:12px;min-height:64px}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:40px}
.page-nav,.experience-index,.service-index,.visit-index{align-items:center;padding-block:10px}
.page-nav>a,.experience-index>a,.service-index>a,.visit-index>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.footer-links{gap:2px}
.footer-links>a,.footer-links>.plain-button{display:inline-flex;align-items:center;min-height:44px}
.footer-bottom{align-items:center}
.footer-bottom .plain-button{min-height:44px}
.hero-bottom>a{min-height:44px;display:flex;align-items:center}
.hero-bottom{padding-top:12px}
.button{max-width:100%}
.button>span{flex-shrink:0}
.menu-dialog{padding:0;border:1px solid rgba(242,224,208,.2);background:var(--ink);color:var(--cream);margin:0 0 0 auto;width:min(440px,100%);max-width:100%;height:100dvh;max-height:100dvh;overflow:hidden}
.menu-dialog[open]{display:flex;flex-direction:column}
.menu-dialog::backdrop{background:rgba(20,30,25,.65);backdrop-filter:blur(4px)}
.menu-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 24px;border-bottom:1px solid rgba(242,224,208,.25);flex-shrink:0}
.menu-heading p{font-family:var(--serif);font-size:22px;letter-spacing:-.03em}
.menu-close{border:0;background:none;color:inherit;font-size:30px;width:44px;height:44px;flex-shrink:0}
.menu-dialog .mobile-nav{display:flex;position:static;flex-direction:column;align-items:stretch;gap:0;padding:14px 24px max(24px,env(safe-area-inset-bottom));border:0;overflow:auto;overscroll-behavior:contain;min-height:0;max-height:none}
.menu-dialog .mobile-nav>a{display:flex;align-items:center;min-height:48px;padding:10px 0;font-size:16px;line-height:1.5}
.menu-dialog .mobile-nav>a[aria-current=page]{color:var(--paper);font-weight:600}
.menu-dialog .mobile-nav>a[aria-current=page]:before{content:'';width:6px;height:6px;background:var(--ochre);border-radius:50%;margin-right:12px;flex-shrink:0}
.menu-dialog .mobile-nav>a[href="/experiencias/apakani/"],.menu-dialog .mobile-nav>a[href="/experiencias/celebracao-a-dois/"]{padding-left:20px;font-size:14px}
.menu-dialog .menu-reservation{justify-content:space-between;margin-top:16px;border-top:1px solid rgba(242,224,208,.25);padding-top:20px!important}
.gallery-dialog{height:min(900px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);max-width:calc(100% - 16px);padding:54px 24px 20px;overflow:hidden}
.gallery-dialog[open]{display:flex;flex-direction:column}
.gallery-dialog figure{display:flex;flex-direction:column;flex:1;min-height:0}
.gallery-dialog figure img{height:auto;min-height:0;flex:1;object-fit:contain}
.gallery-dialog figcaption{flex-shrink:0;max-height:23dvh;overflow:auto;margin-inline:auto;padding-top:14px}
.gallery-controls{flex-shrink:0}
.gallery-controls button{min-width:44px;min-height:44px}
.cv-change{min-height:44px;font-size:12px}
.cv-revisit{border-top:1px solid var(--line);padding-top:13px;width:100%;margin-top:4px}
.cv-input{padding-bottom:8px}
@media(max-width:980px){.desktop-nav{display:none}.menu-toggle{display:flex}}
@media(max-width:780px){
  .header-actions>.button{display:none}
  .header-reservation{display:inline-flex;align-items:center;min-height:44px;padding:6px 8px;font-size:13px;white-space:nowrap}
  .header-reservation:hover{text-decoration:underline;text-underline-offset:4px}
  .menu-toggle{width:44px;min-width:44px;flex-shrink:0}
  .mobile-cta{padding-inline:16px}
  .mobile-cta>div{min-width:0;font-size:13px;line-height:1.45}
  .mobile-cta small{font-size:11px;line-height:1.45}
  .mobile-cta .button{font-size:12px;min-height:48px;gap:16px;padding:12px 16px;flex-shrink:0}
  .mobile-cta .button span{font-size:18px}
  .footer-links{font-size:14px}
  .footer-bottom{font-size:11px;letter-spacing:.02em}
  .page-nav,.experience-index,.service-index,.visit-index{gap:4px 12px;justify-content:flex-start;flex-wrap:wrap;font-size:12px;padding:8px 24px}
  .page-nav>a,.experience-index>a,.service-index>a,.visit-index>a{justify-content:flex-start;margin-right:4px}
  .breadcrumbs{padding-inline:24px;column-gap:10px;font-size:12px}
  .inline-actions{gap:16px 22px}
  .hero-actions{flex-wrap:wrap;gap:12px 20px}
  .hero-actions .button,.hero-link{font-size:13px}
  .hero-link{min-height:48px}
  .hero-content{padding-top:clamp(110px,22svh,190px);padding-bottom:100px}
  .hero{height:auto;min-height:calc(100svh - 158px);max-height:none}
  .hero-bottom{font-size:11px;bottom:14px}
  .hero-description{font-size:16px}
  .quick-facts .eyebrow{font-size:10px}
  .quick-facts strong{font-size:18px}
  .quick-facts small{display:block;margin-top:3px}
  .quick-facts>.text-link{font-size:13px}
  .button,.text-link,.extra-button{min-height:48px}
  .button{font-size:14px}
  .text-link{font-size:14px}
  .hero-content .eyebrow{font-size:10px}
  .rate .button,.experience-choice-copy .button,.program-hero-copy .button,.experience-invitation .button,.shoot-hero .button,.partner-path-grid .button,.photographer-invite .button,.gathering-format-grid .button,.place-opening .button,.visit-opening .button{font-size:14px;gap:20px;padding:15px 18px}
  .gallery-dialog{width:calc(100% - 16px);padding:50px 12px 14px}
  .gallery-dialog figure img{height:auto}
  .gallery-dialog figcaption{font-size:12px;line-height:1.6}
  .gallery-controls{margin-top:12px}
  #conteudo:focus{outline:none}
}
@media(max-width:600px){
  .cv-modal{height:var(--cv-height,100dvh);max-height:var(--cv-height,100dvh);top:var(--cv-top,0px);bottom:auto}
  .cv-option{font-size:14px;min-height:48px}
  .cv-link{font-size:13px}
  .cv-foot{font-size:11px;padding-block:8px max(8px,env(safe-area-inset-bottom))}
}
@media(max-width:380px){
  .hero h1{font-size:clamp(30px,9.2vw,35px)}
  .hero-content{padding-top:100px}
  .hero-actions .button{font-size:13px}
  .mobile-cta>div{font-size:12px}
  .mobile-cta small{font-size:10px}
  .mobile-cta .button{gap:12px;padding-inline:12px}
  .nature-opening h1{font-size:clamp(44px,14vw,54px)}
}
@media(max-height:500px) and (max-width:600px){
  .cv-head{padding:8px 16px}
  .cv-who h2{font-size:18px}
  .cv-who p{display:none}
  .cv-context{padding-block:0}
  .cv-scroll{padding-top:16px}
  .cv-foot{font-size:10px;padding-block:5px}
}

/* Shared interface finish. Brand colors and type are defined in styles.css. */
html { scroll-padding-top: 94px; }
section[id] { scroll-margin-top: 20px; }
body { --focus: var(--forest); }
.site-header, .footer, .occasion-panel, .partner-hero, .photographer-invite,
.place-privacy, .visit-reservation, .gathering-privacy, .celebration-proposal,
.elements-section, .modality-mentor, .service-invitation, .experience-invitation,
.invitation, .visit-closing, .gallery-dialog, .cv-head { --focus: var(--cream); }
.cv-modal, .info-dialog { --focus: var(--forest); }
:focus-visible, .cv :focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
.ui-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  vertical-align: middle;
  color: inherit;
  pointer-events: none;
}
.button, .text-link, .hero-link, .extra-button, .occasion-choice,
.header-reservation, .footer-links > .plain-button {
  column-gap: 18px;
  text-align: left;
}
.button, .cv-primary { border-radius: 2px; }
.button-small .ui-icon, .header-reservation .ui-icon { width: 17px; height: 17px; flex-basis: 17px; }
.footer-links > a, .footer-links > .plain-button { gap: 12px; }
.footer-links .ui-icon { width: 16px; height: 16px; flex-basis: 16px; }
.hero-bottom .ui-icon { margin-left: 18px; width: 17px; height: 17px; }
.menu-close, .dialog-close, .gallery-controls button, .cv-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.menu-close .ui-icon, .dialog-close .ui-icon, .cv-close .ui-icon { width: 24px; height: 24px; flex-basis: 24px; }
.disclosure-icon { display: inline-flex; flex: 0 0 20px; }
.disclosure-icon .ui-icon { width: 18px; height: 18px; flex-basis: 18px; }
.gallery-expand { pointer-events: none; }
.gallery-tile > .gallery-expand, .scene-image > .gallery-expand {
  width: 40px; height: 40px; border-radius: 2px;
}
.gallery-expand .ui-icon { width: 19px; height: 19px; }
.gallery-controls button { border-radius: 2px; width: auto; min-width: 76px; padding: 10px 14px; font-size: 12px; }
.gallery-dialog .dialog-close { background: var(--ink); border-radius: 50%; }
.cv-option[aria-pressed=true]::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 11px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  margin-right: 10px;
}
.cv-option, .cv-text { border-radius: 4px; }
.cv-primary { gap: 14px; }
.cv-who p { font-size: 12px; letter-spacing: 0; }
.cv-context { font-size: 13px; }
.cv-change { font-size: 12px; }
.cv-hint { font-size: 13px; }
.cv-summary dt { font-size: 12px; text-transform: none; letter-spacing: .01em; }
.cv-review { border-radius: 6px; }
.cv-review h3 { margin-bottom: 16px; }
.cv-foot { font-size: 12px; }
.cv-scroll { scrollbar-gutter: stable; }

/* Clear typographic hierarchy, without ornamental counters. */
h1, h2, h3 { text-wrap: balance; }
p, dd { text-wrap: pretty; }
.eyebrow { letter-spacing: .14em; }
.small-facts { gap: 22px; }
.small-facts > span { font-size: clamp(22px,2.1vw,30px); }
.small-facts small { font-size: 12px; letter-spacing: 0; }
.moment h3 { margin-top: 24px; }
.scene figcaption { gap: 0; }
.scene figcaption p { font-size: 14px; }
.scene-note, .gallery-note, .inclusion-photo figcaption,
.extras-editorial figcaption, .celebration-sequence-grid figcaption,
.partner-reference figcaption, .visit-arrival-photo figcaption,
.place-detail figcaption { font-size: 13px; line-height: 1.65; }
.service-steps li, .celebration-sequence-grid li { display: block; }
.element-tabs button { padding-top: 23px; }
.element-tabs small { font-size: 12px; }
.place-path-symbol { width: 30px; height: 30px; color: var(--forest); }
.place-care dt { font-size: clamp(22px,2vw,27px); }
.visit-opening-copy > p:first-child {
  font-family: var(--sans); font-size: 18px; line-height: 1.7; letter-spacing: 0;
}
.coupon-invitation { padding-block: 28px; }
.coupon-invitation h2 { font-size: 28px; margin-bottom: 6px; }
.coupon-invitation .button { white-space: nowrap; }
.image-label, .offering-status { font-size: 12px; letter-spacing: .02em; padding: 7px 11px; }
.service-meta, .program-meta { font-size: 13px; line-height: 1.65; }
.extra-detail .text-link, .program-terms .text-link { font-size: 14px; }
.extra-detail .small, .program-terms p { font-size: 14px; }
.rate-notes, .reservation-note, .partner-note { font-size: 13px; }
.visit-booking-note dl { font-size: 14px; }
.text-link, .inline-contact { text-underline-offset: 5px; }
button.inline-contact { min-height: 44px; padding-block: 8px; }
.text-link:hover { color: var(--forest); }
:is(.occasion-panel,.partner-hero,.photographer-invite,.place-privacy,
.visit-reservation,.gathering-privacy,.celebration-proposal,.elements-section,
.modality-mentor,.service-invitation,.experience-invitation) .text-link:hover { color: var(--cream); }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .button > .ui-icon, .text-link > .ui-icon, .hero-link > .ui-icon { transition: transform .2s ease; }
  .button:hover > .ui-icon, .text-link:hover > .ui-icon, .hero-link:hover > .ui-icon { transform: translate(2px,-2px); }
}

@media (max-width:780px) {
  html { scroll-padding-top: 78px; }
  body { -webkit-text-size-adjust: 100%; }
  .section-pad { padding-block: 60px; }
  .hero-content { padding-top: clamp(110px,19svh,160px); padding-bottom: 72px; }
  .hero-description { max-width: 31ch; line-height: 1.65; }
  .hero-content .eyebrow { font-size: 11px; letter-spacing: .11em; }
  .hero-actions { gap: 12px 22px; }
  .hero h1 { font-size: clamp(32px,9.4vw,55px); line-height: 1.19; }
  .nature-opening, .experience-opening, .program-hero-copy, .shoot-hero,
  .partner-hero, .gathering-hero, .place-opening, .visit-opening {
    padding-top: 34px;
    padding-bottom: 40px;
  }
  .nature-opening h1, .experience-opening h1, .program-hero h1,
  .shoot-hero h1, .partner-hero h1, .gathering-hero h1,
  .place-opening h1, .visit-opening h1 {
    font-size: clamp(36px,10.6vw,56px);
    line-height: 1.16;
    letter-spacing: -.04em;
  }
  .nature-intro { margin-top: 23px; }
  .nature-intro > p { font-size: 21px; }
  .program-hero-copy > p:not(.eyebrow), .experience-opening-copy > p:not(.eyebrow),
  .shoot-hero-copy > p:not(.eyebrow), .place-opening-copy > p:not(.eyebrow),
  .visit-opening-copy > p:first-child { font-size: 16px; margin-top: 23px; }
  .program-hero { min-height: 0; }
  .breadcrumbs { min-height: 54px; font-size: 12px; padding-block: 8px; }
  .eyebrow { margin-bottom: 16px; font-size: 11px; letter-spacing: .12em; }
  .section-heading .eyebrow, .rate .eyebrow, .reservation-paths .eyebrow,
  .quick-facts .eyebrow, .visit-essentials .eyebrow { font-size: 11px; }
  .heading-row { margin-bottom: 28px; }
  .heading-row > p { margin-top: 20px; line-height: 1.7; }
  .intro-image { height: 430px; }
  .moments { padding-top: 0; }
  .moment img { height: 320px; margin-bottom: 20px; }
  .moment h3 { margin-top: 0; }
  .moment > p:last-child { margin-top: 13px; }
  .moment-grid { gap: 36px; }
  .special-body { padding-block: 22px; }
  .special-image { height: 330px; }
  .specials-bottom { margin-top: 12px; }
  .coupon-invitation { gap: 17px; padding-block: 24px; }
  .coupon-invitation h2 { font-size: 25px; }
  .coupon-invitation .button { width: auto; min-height: 44px; padding: 11px 16px; }
  .coupon-invitation p:not(.eyebrow) { font-size: 14px; }
  .gallery-note { padding-block: 14px; }
  .page-nav, .experience-index, .service-index, .visit-index { font-size: 13px; }
  .small-facts > span { font-size: 24px; }
  .small-facts small { font-size: 11px; }
  .inclusion-note { font-size: 14px; }
  summary, .faq-list summary, .visit-faq-groups .faq-list summary { font-size: 16px; padding-block: 21px; }
  summary { gap: 14px; }
  details > p, .faq-list p { font-size: 15px; padding-right: 10px; }
  .scene h3 { font-size: clamp(21px,5.4vw,26px); }
  .scene figcaption p { font-size: 13px; margin-top: 8px; }
  .scene-image > .gallery-expand { width: 34px; height: 34px; }
  .program-meta, .service-meta { font-size: 12px; margin-top: 20px; }
  .program-hero-copy .text-link { font-size: 14px; }
  .program-hero-photo figcaption, .shoot-cover figcaption, .place-cover figcaption { font-size: 12px; }
  .element-tabs button { font-size: 24px; padding: 19px 8px; }
  .element-tabs small { font-size: 11px; }
  .element-panels > section { min-height: 0; }
  .element-word { font-size: 48px; }
  .place-path { grid-template-columns: 32px 1fr 22px; gap: 14px; }
  .place-path-symbol { width: 26px; height: 26px; }
  .place-path h3 { font-size: 28px; }
  .visit-essentials small { font-size: 12px; }
  .visit-essentials .eyebrow { font-size: 11px; }
  .visit-essentials { margin-bottom: 24px; }
  .mobile-cta { padding-block: 10px max(10px,env(safe-area-inset-bottom)); }
  .mobile-cta > div { font-size: 13px; }
  .mobile-cta small { font-size: 11px; }
  .mobile-cta .button { min-height: 46px; gap: 12px; }
  .footer { padding-bottom: calc(110px + env(safe-area-inset-bottom)); }
}
@media (max-width:600px) {
  .cv-scroll { padding: 22px 18px; scrollbar-gutter: auto; }
  .cv-input { margin-left: 0; }
  .cv-options { gap: 10px; }
  .cv-option { font-size: 15px; }
  .cv-foot { font-size: 11px; }
  .cv-summary dd { font-size: 15px; }
}
@media (max-width:380px) {
  .hero-content { padding-top: 105px; }
  .hero h1 { font-size: clamp(27px,9.1vw,34px); }
  .small-facts { gap: 12px; }
  .small-facts > span { font-size: 21px; }
  .element-tabs small { display: none; }
  .element-tabs button { font-size: 22px; }
  .mobile-cta > div { font-size: 12px; }
  .mobile-cta small { font-size: 10px; }
  .mobile-cta .button { font-size: 12px; padding-inline: 12px; }
}
@media (max-height:500px) {
  .cv-head { padding-block: 8px; }
  .cv-who h2 { font-size: 21px; }
  .cv-who p { display: none; }
  .cv-context { padding-block: 0; }
  .cv-foot { font-size: 10px; padding-block: 5px; }
}
@media (max-height:500px) and (min-width:601px) {
  .cv-modal { height: calc(100dvh - 16px); max-height: calc(100dvh - 16px); }
  .cv-scroll { padding: 18px 24px; }
}

/* Responsive photography and a lightbox that only loads on demand. */
picture{display:contents}
.gallery-note{display:flex;align-items:center;justify-content:space-between;gap:18px}
.gallery-note p{margin:0}.gallery-note .text-link{font-size:12px;flex-shrink:0}
.gallery-dialog{height:min(900px,96dvh);max-height:96dvh;padding:54px 28px 20px;overflow:hidden}
.gallery-dialog[open]{display:flex;flex-direction:column}
.gallery-dialog figure{min-height:0;flex:1;display:flex;flex-direction:column;justify-content:center}
.gallery-dialog figure img{flex:1;min-height:0;width:100%;height:100%;object-fit:contain;touch-action:pan-y pinch-zoom}
.gallery-dialog figure img:not([src]){visibility:hidden}
.gallery-dialog figcaption{flex-shrink:0;line-height:1.5;padding-top:14px}
.gallery-controls{flex-shrink:0;min-height:44px}
.gallery-dialog.is-loading figure img{opacity:.35}
.gallery-dialog figure img{transition:opacity .15s ease}
.gallery-preview{padding-top:45px}
.gallery-preview .heading-row{align-items:end}
.gallery-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gallery-preview-grid figure{height:410px;margin:0;overflow:hidden}
.gallery-preview-grid figure:nth-child(2){margin-top:50px}
@media(max-width:780px){.gallery-preview-grid{gap:10px}.gallery-preview-grid figure{height:240px}.gallery-preview-grid figure:nth-child(2){margin-top:28px}.gallery-preview .heading-row>.text-link{margin-top:22px}.gallery-note{align-items:flex-start;flex-direction:column;gap:10px}.gallery-dialog{padding:54px 12px 16px}.gallery-dialog figcaption{font-size:12px}}
@media(max-width:400px){.gallery-preview-grid figure{height:185px}}
@media(max-height:480px){.gallery-dialog{padding:12px 64px 12px 16px}.gallery-dialog[open]{flex-direction:row}.gallery-dialog figure{height:100%;width:100%}.gallery-dialog figcaption{font-size:10px;padding-top:6px}.gallery-controls{flex-direction:column;gap:8px;margin:0 0 0 16px}.gallery-dialog .dialog-close{top:6px;right:6px}}
@media(prefers-reduced-motion:reduce){.gallery-dialog figure img{transition:none}}

.gift[hidden],.gift [hidden],.gift-teaser[hidden],.coupon-invitation[hidden]{display:none!important}
.gift-teaser{position:fixed;right:24px;bottom:24px;z-index:35;width:360px;max-height:calc(100svh - 110px);overflow:auto;padding:26px;background:#243f36;color:#fff7ec;border:1px solid #bba478;box-shadow:0 12px 50px #18292238;animation:gift-arrive .35s ease-out both}
.gift-teaser .eyebrow{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.12em;margin:0 25px 12px 0;color:#e8d2a9}
.gift-box{display:block;flex:none;width:48px;height:48px;overflow:visible;animation:gift-float 3s ease-in-out 3}
.gift-box-lid{transform-origin:32px 27px;animation:gift-lid 3s ease-in-out 3}
@keyframes gift-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes gift-lid{0%,25%,70%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-5px) rotate(-5deg)}55%{transform:translateY(-5px) rotate(4deg)}}
.gift-teaser h2{font-size:30px;line-height:1.18;max-width:16ch;letter-spacing:-.035em}
.gift-teaser-copy{font-size:13px;line-height:1.6;margin:12px 0 20px;max-width:32ch}
.gift-teaser .button{width:100%;min-height:48px;justify-content:center;font-size:13px;padding:14px 12px}
.gift-teaser-note{font-size:11px;line-height:1.5;margin:12px 0 0;color:#e0dfd4}
.gift-teaser-close{position:absolute;top:8px;right:8px;width:44px;height:44px;padding:0;border:0;background:transparent;color:inherit;font-size:26px;line-height:1}
.gift-teaser-status{font-size:12px;line-height:1.5;margin-top:12px}
.gift-teaser-status:empty{display:none}
.gift-teaser button:disabled{opacity:.65;cursor:wait}
.gift-invite-visible .mobile-cta{display:none}
@keyframes gift-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.gift-teaser{right:16px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 32px);padding:22px}.gift-teaser h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.gift-teaser,.gift-box,.gift-box-lid{animation:none}}
@media(max-height:500px){.gift-teaser{padding:20px}.gift-teaser h2{font-size:24px}.gift-teaser-copy{margin:8px 0 12px}.gift-teaser .eyebrow{margin-bottom:10px}.gift-box{width:32px;height:32px}}
.gift{margin:32px var(--gutter);padding:30px 32px;background:#eee9df;color:var(--ink);border:1px solid #d6d3c9;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(150px,.7fr) auto;gap:24px 32px;align-items:center;scroll-margin-top:110px}
.gift .eyebrow{font-size:10px;margin-bottom:12px;letter-spacing:.13em}
.gift h2{font-size:clamp(24px,2.3vw,34px);line-height:1.3;letter-spacing:-.035em;max-width:22ch}
.gift-copy>p:last-child{font-size:14px;line-height:1.65;margin-top:12px;max-width:53ch}
.gift-benefit{display:flex;flex-direction:column;gap:4px}
.gift-benefit strong{font-family:var(--serif);font-size:clamp(32px,3vw,44px);font-weight:400;white-space:nowrap;letter-spacing:-.04em;line-height:1.3}
.gift-benefit span{font-size:12px;line-height:1.5}
.gift-actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.gift .button{min-height:48px;white-space:normal;text-align:center;justify-content:center;font-size:13px;padding:15px 22px}
.gift button:disabled{opacity:.6;cursor:wait}
.gift-details{grid-column:1/-1;border-top:1px solid #c9cec4;padding-top:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:32px}
.gift-deadline p{font-size:12px;line-height:1.7;max-width:36ch}
.gift-deadline strong{display:block;font-variant-numeric:tabular-nums;font-size:30px;font-weight:400;letter-spacing:.03em;margin:8px 0}
.gift-terms p{font-size:13px;line-height:1.75;margin:0 0 12px}
.gift-terms strong{font-weight:500}
.gift-terms .gift-code{font-size:11px;overflow-wrap:anywhere;margin-bottom:0}
.gift-status{grid-column:1/-1;font-size:13px;line-height:1.6;margin:0}
.gift-status:empty{display:none}
@media(max-width:1100px){.gift{grid-template-columns:minmax(0,1fr) auto}.gift-actions{grid-column:1/-1}.gift h2{max-width:none}}
@media(max-width:600px){.gift{margin:24px 16px;padding:24px;grid-template-columns:minmax(0,1fr);gap:18px}.gift h2{font-size:27px;max-width:21ch}.gift-copy>p:last-child{font-size:14px}.gift-benefit{gap:2px}.gift-benefit strong{font-size:38px}.gift-actions{align-items:stretch}.gift .button{width:100%}.gift-details{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:20px}.gift-deadline strong{font-size:30px}.gift-terms p{font-size:13px}}
