:root{--forest:#142414;--forest-deep:#0b160d;--forest-mid:#233d27;--brand:#346d39;--cream:#f5f0e6;--cream-dim:#e2d6c3;--ink:#1b2a1e;--gold:#bba380;--hairline:rgba(229,216,190,.24);--sans:'DM Sans',Arial,sans-serif;--serif:'Cormorant Garamond','Bodoni MT',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--forest-deep);color:var(--cream);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}::selection{background:var(--gold);color:var(--forest)}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}section[id]{scroll-margin-top:75px}h1,h2,h3,p{margin-top:0}.container{max-width:1370px;width:calc(100% - 108px);margin:auto}.skip-link{position:fixed;top:-80px;left:16px;background:#fff;color:#111;padding:12px;z-index:1000}.skip-link:focus{top:16px}
/* navigation */
.site-header{height:104px;padding:0 clamp(25px,5.3vw,100px);position:absolute;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;gap:40px;border-bottom:1px solid rgba(248,237,210,.13);transition:background .4s,box-shadow .4s,height .4s}.site-header.is-scrolled{position:fixed;background:rgba(16,30,17,.96);box-shadow:0 10px 30px rgba(0,0,0,.12);height:78px;backdrop-filter:blur(20px)}.brand{width:205px;flex:none}.brand img{width:100%;height:auto}.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2.7vw,44px);margin-left:auto}.desktop-nav a{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.17em;color:#f5f0e6c7;transition:color .25s}.desktop-nav a:hover{color:white}.header-book{min-width:172px;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:15px 18px;color:var(--cream);border:1px solid rgba(245,240,230,.55);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:background .3s,color .3s}.header-book:hover{background:var(--cream);color:var(--forest)}.header-book span{font-size:15px}.menu-toggle{display:none;border:0;background:none;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:7px}.menu-toggle span{width:24px;height:1px;background:var(--cream);transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu[hidden]{display:none}.mobile-menu{position:fixed;z-index:28;inset:78px 0 auto;background:#112114;padding:22px 26px 35px;box-shadow:0 22px 50px #0006}.mobile-menu a{display:block;padding:17px 6px;border-bottom:1px solid #ffffff1b;text-transform:uppercase;letter-spacing:.16em;font-size:12px}.mobile-menu .mobile-menu-cta{background:var(--cream);color:var(--forest);margin-top:22px;text-align:center;border:0;font-weight:700}
/* hero */
.hero{min-height:820px;height:100svh;max-height:1100px;position:relative;background:var(--forest-deep);overflow:hidden}
.hero-photo{position:absolute;inset:0;background-image:url('assets/gallery-facade.webp');background-size:cover;background-position:center center;filter:saturate(.72) contrast(1.02) brightness(.72);transform:scale(1.03);animation:heroPhoto 1.7s cubic-bezier(.18,.68,.24,1) both}
.hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,28,17,.92) 0%,rgba(16,28,17,.88) 18%,rgba(16,28,17,.66) 38%,rgba(16,28,17,.28) 62%,rgba(12,21,13,.42) 100%),linear-gradient(0deg,rgba(11,21,12,.88) 0%,rgba(11,21,12,.18) 34%,rgba(11,21,12,.42) 100%);pointer-events:none}
.hero:after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 76% 45%,rgba(191,159,108,.08),transparent 24%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.18));pointer-events:none}
.hero-grain{position:absolute;inset:0;z-index:2;opacity:.1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.66' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.23'/%3E%3C/svg%3E")}
.hero-inner{position:relative;z-index:3;min-height:100svh;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:126px max(32px,calc((100vw - 1370px)/2)) 96px}
.hero-copy{max-width:700px;color:var(--cream);animation:heroCopy 1.4s cubic-bezier(.18,.68,.24,1) .1s both}
.hero-copy h1{font:500 clamp(44px,5.8vw,88px)/1 var(--serif);letter-spacing:-.04em;margin:24px 0 24px;max-width:820px;text-wrap:balance}.hero-copy h1 .hero-line{display:block}.hero-copy h1 .hero-line+.hero-line{margin-top:.24em}
.hero-copy h1 em{font-style:italic;color:#e7cda9}
.hero-divider{display:flex;align-items:center;gap:16px;color:#f1e9d8cc;font-size:10px;letter-spacing:.32em;text-transform:uppercase;margin:28px 0 22px}.hero-divider span:first-child{width:58px;height:1px;background:rgba(240,228,206,.7);display:block}
.hero-copy>p{max-width:560px;font-size:17px;line-height:1.8;color:#ece2d1d9;margin:0 0 32px}
.hero-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.hero-actions .button-cream{position:relative;isolation:isolate}
.hero-actions .button-cream:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:radial-gradient(circle at 50% 50%,rgba(200,233,190,.18),transparent 65%);opacity:.9;z-index:-1;pointer-events:none}
.button,.text-link{display:inline-flex;align-items:center;gap:10px}.button{padding:16px 22px;border-radius:2px;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:700}
.button span,.text-link span{font-size:17px;font-weight:400}.button-cream{background:linear-gradient(135deg,#4f6d4f 0%,#5d7e5c 55%,#6f936d 100%);color:#f8f3e9;border:1px solid rgba(227,239,220,.24);box-shadow:0 14px 34px rgba(18,36,20,.22),0 0 0 1px rgba(236,244,230,.08) inset,0 0 24px rgba(115,162,110,.18);transition:transform .25s ease,box-shadow .25s ease,filter .25s ease,background .25s ease}.button-cream:hover{background:linear-gradient(135deg,#587657 0%,#688966 55%,#7a9d77 100%);box-shadow:0 18px 40px rgba(18,36,20,.28),0 0 0 1px rgba(239,246,234,.12) inset,0 0 30px rgba(139,191,132,.28);transform:translateY(-2px);filter:saturate(1.04)}
.text-link{font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:600;border-bottom:1px solid rgba(245,240,230,.55);padding-bottom:9px}
.hero-side-note{position:absolute;right:max(32px,calc((100vw - 1370px)/2));top:50%;height:430px;transform:translateY(-47%);display:flex;writing-mode:vertical-rl;justify-content:space-between;align-items:center;font-size:10px;font-weight:600;letter-spacing:.25em;color:#fff9;z-index:5}
.hero-scroll{position:absolute;bottom:39px;left:max(54px,calc((100vw - 1370px)/2));z-index:5;display:flex;align-items:center;gap:14px;font-size:9px;letter-spacing:.29em;font-weight:600;color:var(--cream-dim)}
.scroll-indicator{width:23px;height:37px;border:1px solid var(--cream-dim);border-radius:13px;position:relative}.scroll-indicator:after{content:"";position:absolute;width:2px;height:8px;border-radius:2px;left:10px;top:7px;background:var(--cream);animation:scrollFloat 1.7s infinite}
.hero-corner{position:absolute;right:52px;bottom:37px;font:23px var(--serif);z-index:5;color:#f5f0e699;letter-spacing:.15em}
@keyframes heroCopy{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes heroPhoto{from{opacity:.35;transform:scale(1.08)}to{opacity:1;transform:scale(1.03)}}@keyframes scrollFloat{0%,100%{opacity:.4;transform:translateY(0)}60%{opacity:1;transform:translateY(9px)}}
@media(max-width:980px){.hero-copy h1{font-size:clamp(42px,7.2vw,72px);max-width:680px;margin:20px 0 22px}.hero-copy h1 .hero-line+.hero-line{margin-top:.28em}}
@media(max-width:640px){.hero-copy h1{font-size:clamp(34px,11vw,56px);line-height:1.03;max-width:100%;margin:18px 0 20px}.hero-copy h1 .hero-line+.hero-line{margin-top:.32em}}
.signature-band{padding:27px 30px;display:flex;justify-content:center;align-items:center;gap:clamp(20px,4.5vw,70px);background:#bba989;color:#17291a;font-size:10px;font-weight:700;letter-spacing:.27em;text-align:center}.signature-band i{width:4px;height:4px;border-radius:50%;background:#17291a;opacity:.55}
/* section system */
.section{padding:clamp(92px,9vw,156px) 0}.kicker{color:#527051;display:block;margin-bottom:22px}.kicker span{color:#9d7d5b;margin-right:12px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:62px}.section h2,.closing-strip h2{font:400 clamp(60px,7.3vw,108px)/.86 var(--serif);letter-spacing:-.035em;margin:0}.section-head-aside{max-width:335px;flex:0 1 335px;padding-bottom:10px}.section-head-aside p{font-size:15px;line-height:1.86;color:#5e675e}.inline-arrow{display:inline-flex;align-items:center;gap:55px;margin-top:18px;border-bottom:1px solid #71846c;padding-bottom:14px;font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:700}.inline-arrow span{font-size:19px}.reveal{opacity:1;transform:none}.js-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.js-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
/* services */
.services-section{background:var(--cream);color:var(--ink)}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-card{background:#ede6db;border:1px solid #e1d7c8;overflow:hidden;min-width:0;display:flex;flex-direction:column}.service-image{height:260px;position:relative;overflow:hidden;background:#d9d0c0}.service-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,#1122153b 100%);pointer-events:none}.service-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.77);transition:transform .6s ease,filter .5s}.service-card:hover .service-image img{transform:scale(1.045);filter:saturate(.96)}.service-featured{grid-column:span 1}.service-tag{position:absolute;z-index:1;left:19px;top:19px;background:#1c3326d9;color:#fff;padding:10px 12px;font-size:9px;letter-spacing:.18em;font-weight:600}.service-content{padding:27px 25px 25px;display:flex;flex:1;flex-direction:column}.service-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.service-title-row h3{font:500 35px/.99 var(--serif);margin:0;color:#1a2c1d}.service-title-row span{font:500 18px var(--serif);color:#a69c88}.service-content>p{font-size:13px;line-height:1.7;color:#687169;margin:15px 0 26px;flex:1}.service-bottom{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #c6bdb0;padding-top:16px}.service-bottom span{font-size:10px;letter-spacing:.15em;color:#6e776b}.service-bottom strong{font:600 30px/.9 var(--serif);color:#2b4b2d}.extras{border-top:1px solid #cbc3b6;margin-top:92px;padding-top:51px;display:grid;grid-template-columns:1fr 2fr;gap:40px}.extras-kicker{font-size:10px}.extras h3{font:400 53px/.95 var(--serif);letter-spacing:-.03em}.extras h3 em{font-weight:400}.extras ul{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 21px;padding:27px 0 0;margin:0;list-style:none}.extras li{font-size:12px;color:#58675a;padding-bottom:13px;border-bottom:1px solid #d5cfc3}.extras-note{font-size:12px;grid-column:2;color:#747d72;margin:-18px 0 0}
/* gallery */
.gallery-section{background:#142414;position:relative}.gallery-section:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#ffffff07}.light-head .kicker{color:#cab18c}.light-head h2{color:var(--cream)}.light-head .section-head-aside p{color:#b7c0b2}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:14px}.gallery-item{position:relative;border:0;padding:0;overflow:hidden;background:#2f4732;text-align:left;color:var(--cream)}.gallery-item img{width:100%;height:100%;object-fit:cover;filter:brightness(.85) saturate(.66);transition:transform .7s ease,filter .6s ease}.gallery-item:hover img,.gallery-item:focus-visible img{filter:brightness(.95) saturate(.9);transform:scale(1.055)}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,18,8,.72),transparent 40%);pointer-events:none}.gallery-item span{position:absolute;left:23px;bottom:21px;z-index:2;color:#eee6d9;font-size:10px;font-weight:600;letter-spacing:.19em}.gallery-large{grid-row:span 2}.gallery-wide{grid-column:span 2}.gallery-wide img{object-position:center 45%}
/* philosophy */
.philosophy-section{background:#eae2d5;color:#1d301f}.philosophy-intro{max-width:990px;margin-bottom:62px}.philosophy-intro h2{font-size:clamp(55px,7vw,103px)}.philosophy-intro>p:last-child{font-size:16px;line-height:1.9;max-width:470px;color:#576457;margin-top:27px}.pillars{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #aeb4a6;border-bottom:1px solid #aeb4a6}.pillar{padding:33px 24px 39px;border-left:1px solid #b9c0b4}.pillar:first-child{border-left:0;padding-left:0}.pillar:last-child{padding-right:0}.pillar-number{font:400 56px/.9 var(--serif);color:#779178}.pillar h3{font:500 28px/1 var(--serif);margin:25px 0 15px}.pillar p{font-size:12px;line-height:1.8;color:#687266;margin:0}
/* booking */
.booking-section{background:#182e1c;position:relative;overflow:hidden}.booking-image{position:absolute;inset:0 35% 0 0;background-image:linear-gradient(90deg,rgba(15,30,17,.84),rgba(15,30,17,.95)),url('assets/booking.webp');background-size:cover;background-position:center;opacity:.57;filter:saturate(.5)}.booking-wrap{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,7vw,120px);align-items:center}.booking-story .kicker{color:#d6c4a6}.booking-story h2{font-size:clamp(60px,6.3vw,96px)}.booking-story>p:not(.kicker){font-size:16px;line-height:1.84;color:#d0d6ca;max-width:445px;margin:30px 0 55px}.booking-steps{display:grid;gap:17px}.booking-steps div{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#e9e3d6;display:flex;gap:20px;align-items:center}.booking-steps span{font:400 24px var(--serif);color:var(--gold)}.booking-form{background:#f3ece0;color:var(--ink);padding:clamp(28px,4vw,56px);box-shadow:0 35px 75px #00000029}.form-label{display:flex;align-items:center;justify-content:space-between;letter-spacing:.2em;font-size:10px;font-weight:700;border-bottom:1px solid #c5bdaf;padding-bottom:22px;margin-bottom:24px}.form-label span{font-size:20px;font-weight:400}.booking-form label{display:block;font-size:11px;letter-spacing:.04em;font-weight:700;margin:18px 0 7px}.booking-form input,.booking-form select{width:100%;min-width:0;border:1px solid #c9c7be;border-radius:0;background:#fffefb;color:#223323;padding:14px 13px;font-size:14px;min-height:49px}.booking-form input::placeholder{color:#879083}.booking-form input:focus,.booking-form select:focus{border-color:#47794c;outline:2px solid #47794c22;outline-offset:0}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.optional{color:#778272;font-weight:400}.button-form{width:100%;background:#254a2b;color:#fff;margin-top:27px;min-height:59px;text-align:left}.button-form:hover{background:#183a20}.form-disclaimer{font-size:11px;line-height:1.55;color:#7a7f75;margin:13px 0 0}
/* closing, footer */
.closing-strip{background:#d8cbb8;color:#1a2c1c;padding:73px 0}.closing-strip .container{display:flex;align-items:end;justify-content:space-between;gap:40px}.closing-strip h2{font-size:clamp(52px,5.6vw,90px)}.closing-strip .kicker{font-size:10px}.button-dark{background:#1a3720;color:#f6f1e8;min-width:220px}.button-dark:hover{background:#315438}.footer{background:#0b170e;padding:78px 0 27px;color:#e8e7dc}.footer-grid{display:grid;grid-template-columns:2fr 1.3fr 1.1fr 1fr;gap:45px;padding-bottom:71px}.footer-brand img{width:230px;height:auto}.footer-brand p{max-width:220px;font-size:13px;color:#aebaa9;line-height:1.85;margin-top:24px}.footer h3{font-size:10px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:#c9ad87;margin:0 0 24px}.footer address,.footer p,.footer a{font-style:normal;font-size:13px;line-height:1.85;color:#bdc8b9}.footer a{display:block;width:fit-content;transition:color .2s}.footer a:hover{color:#fff}.footer-grid>div:not(:first-child)>a{margin-top:13px}.footer-bottom{border-top:1px solid #ffffff2a;padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:9px;font-weight:600;letter-spacing:.16em;color:#9eaea0}.footer-bottom a{font-size:9px;letter-spacing:.16em;color:#c7d2c4}
/* lightbox */
.lightbox{border:0;padding:55px 20px 30px;max-width:min(92vw,1100px);max-height:92vh;background:#0b170e;color:var(--cream);box-shadow:0 30px 90px #000b}.lightbox::backdrop{background:#050a06df;backdrop-filter:blur(6px)}.lightbox img{max-height:72vh;max-width:100%;width:auto;height:auto;margin:auto;object-fit:contain}.lightbox p{text-align:center;font-size:10px;letter-spacing:.24em;text-transform:uppercase;margin:20px 0 0}.lightbox-close{position:absolute;right:15px;top:8px;background:none;border:0;color:#fff;font-size:35px;line-height:1}
@media(max-width:1120px){.container,.hero-inner{width:calc(100% - 68px)}.desktop-nav{gap:17px}.desktop-nav a{font-size:10px}.brand{width:180px}.site-header{gap:20px}.hero h1{font-size:clamp(78px,9.3vw,118px)}.services-grid{grid-template-columns:repeat(2,1fr)}.pillars{grid-template-columns:repeat(3,1fr)}.pillar:nth-child(4){border-left:0}.pillar:nth-child(n+4){border-top:1px solid #b9c0b4}.footer-grid{grid-template-columns:1.4fr 1.2fr 1fr;gap:35px}.footer-grid>div:last-child{grid-column:2}}
@media(max-width:780px){.container,.hero-inner{width:calc(100% - 44px)}.site-header{height:78px;padding:0 22px}.site-header.is-scrolled{height:70px}.brand{width:174px}.desktop-nav{display:none}.header-book{margin-left:auto;min-width:auto;padding:12px 13px;letter-spacing:.08em;font-size:9px}.header-book span{display:none}.menu-toggle{display:flex}.hero{height:auto;min-height:800px;max-height:none}.hero-photo{inset:0 0 0 8%;background-position:62% 34%}.hero:after{background:linear-gradient(90deg,#142414 0%,#142414e8 25%,#1424147a 73%,#14241442 100%),linear-gradient(0deg,#142414 0%,transparent 40%,#14241499 100%)}.hero-inner{min-height:800px;padding:160px 0 105px;align-items:center}.hero-copy{max-width:100%;width:560px;padding-top:0}.hero h1{font-size:clamp(69px,12.9vw,102px);margin:37px 0 32px}.hero-copy>p{font-size:25px;max-width:390px}.hero-side-note{display:none}.hero-scroll{left:22px;bottom:32px}.hero-corner{right:22px;bottom:27px}.signature-band{gap:22px;flex-wrap:wrap;padding:23px 16px;font-size:8px;letter-spacing:.19em}.section{padding:88px 0}.section-head{align-items:start;flex-direction:column;gap:22px;margin-bottom:43px}.section-head-aside{flex-basis:auto;max-width:500px}.section-head-aside p{margin-bottom:0}.section h2{font-size:clamp(57px,10vw,83px)}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-image{height:215px}.service-content{padding:21px}.service-title-row h3{font-size:31px}.extras{grid-template-columns:1fr;gap:12px;margin-top:65px}.extras ul{grid-template-columns:repeat(3,1fr);padding:13px 0 0}.extras-note{grid-column:1;margin:0}.gallery-grid{grid-auto-rows:210px}.philosophy-intro h2{font-size:clamp(54px,9vw,87px)}.pillars{grid-template-columns:repeat(2,1fr)}.pillar:nth-child(odd){border-left:0}.pillar:nth-child(4){border-left:1px solid #b9c0b4}.pillar:nth-child(n+3){border-top:1px solid #b9c0b4}.pillar{padding:28px 22px}.booking-wrap{grid-template-columns:1fr;gap:40px}.booking-story h2{font-size:clamp(60px,9.8vw,85px)}.booking-story>p:not(.kicker){max-width:570px;margin-bottom:28px}.booking-steps{grid-template-columns:repeat(3,1fr);gap:12px}.booking-steps div{font-size:9px;line-height:1.5;gap:8px}.booking-image{inset:0;opacity:.35}.booking-form{max-width:680px;width:100%;justify-self:center}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:auto}.closing-strip .container{align-items:start;flex-direction:column}.closing-strip{padding:58px 0}.footer-bottom{flex-wrap:wrap}}
@media(max-width:530px){.site-header{padding:0 18px}.brand{width:146px}.header-book{font-size:9px;padding:11px 10px}.menu-toggle{width:29px}.hero{min-height:725px}.hero-photo{inset:0;background-position:60% 38%;filter:brightness(.58) saturate(.52)}.hero:after{background:linear-gradient(90deg,rgba(20,36,20,.9),rgba(20,36,20,.6) 65%,rgba(20,36,20,.25)),linear-gradient(0deg,#142414 0%,rgba(20,36,20,.35) 40%,#14241455)}.hero-inner{min-height:725px;padding:150px 0 115px}.hero h1{font-size:clamp(67px,14.4vw,88px);margin:32px 0 27px}.eyebrow-on-dark{gap:8px;letter-spacing:.17em;font-size:9px}.eyebrow-rule{width:23px}.hero-copy>p{font-size:22px;max-width:310px;margin:22px 0 29px}.hero-divider{gap:13px;letter-spacing:.22em;font-size:9px}.hero-divider span:first-child{width:37px}.hero-actions{gap:25px}.button{width:100%;max-width:360px;min-height:56px}.hero-actions .text-link{margin-left:3px}.hero-corner{display:none}.signature-band{gap:12px 16px}.signature-band span:last-child,.signature-band i:nth-last-child(2){display:none}.services-grid{grid-template-columns:1fr;gap:20px}.service-image{height:310px}.service-content{padding:24px}.service-title-row h3{font-size:39px}.service-content>p{font-size:14px}.section h2{font-size:clamp(53px,13vw,76px)}.extras ul{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:178px;gap:9px}.gallery-large{grid-row:span 2}.gallery-wide{grid-column:span 2}.gallery-item span{font-size:8px;left:12px;bottom:13px}.philosophy-intro h2{font-size:clamp(54px,12vw,77px)}.pillars{grid-template-columns:1fr}.pillar,.pillar:nth-child(4){border-left:0;border-top:1px solid #b9c0b4;padding:22px 0}.pillar:first-child{border-top:0}.pillar h3{font-size:31px;margin:11px 0 8px}.pillar-number{font-size:40px}.pillar p{font-size:13px}.booking-story h2{font-size:clamp(55px,12vw,75px)}.booking-steps{grid-template-columns:1fr;gap:10px}.booking-steps div{font-size:10px}.booking-form{padding:26px 21px}.booking-form input,.booking-form select{min-height:48px}.form-two{grid-template-columns:1fr}.footer{padding-top:56px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 20px}.footer-brand{grid-column:span 2}.footer-brand img{width:240px}.footer-grid>div:nth-child(2){grid-column:1}.footer-grid>div:nth-child(4){grid-column:2}.footer h3{margin-bottom:16px}.footer-bottom{gap:11px;flex-direction:column;align-items:start}.footer-bottom span:nth-child(2){display:none}.closing-strip h2{font-size:57px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-ready .reveal{opacity:1!important;transform:none!important}}


/* -----------------------------------------------
   LOCALIZAÇÃO — COMPACTA · MAPA PANORÂMICO
   ----------------------------------------------- */
.location-section{background:#e9e4d8;color:#1c3023;padding:64px 0 72px;position:relative;overflow:hidden}
.location-section:before{content:"";position:absolute;top:-270px;left:-240px;width:600px;height:600px;background:radial-gradient(circle,rgba(184,166,125,.08),transparent 68%);pointer-events:none}
.location-heading{position:relative;margin-bottom:25px}
.location-heading .kicker{color:#56775b;margin:0 0 12px}
.location-heading-row{display:flex;align-items:end;justify-content:space-between;gap:28px}
.location-heading-row h2{font:500 clamp(51px,5.8vw,83px)/.94 var(--serif);letter-spacing:-.044em;margin:0}
.location-heading-row h2 br{display:none}
.location-heading-row h2 em{color:#507255;font-weight:400}
.location-heading-row>p{font-size:13px;color:#677468;line-height:1.65;max-width:340px;margin:0 0 5px}
.location-layout{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(330px,.88fr);align-items:stretch;background:#f8f5ee;border:1px solid #d9d1c4;box-shadow:0 23px 55px -48px rgba(18,41,22,.33);min-width:0}
.location-map{display:flex;flex-direction:column;min-width:0;min-height:0;background:#1a3324;overflow:hidden}
.location-map-topline{height:43px;flex:none;display:flex;align-items:center;gap:10px;padding:0 18px;color:#f7f1e7;background:#1b3323;font-size:9px;font-weight:600;letter-spacing:.17em}
.location-map-pin{width:16px;height:16px;display:grid;place-items:center;color:#e0d1ac}
.location-map-pin svg{width:16px;height:16px}
.location-map-micro{margin-left:auto;font-size:8px;letter-spacing:.1em;color:#d7cbaa}
.location-map-frame{position:relative;flex:1;min-height:310px;background:#e5e2d8;overflow:hidden}
.location-map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.location-map-caption{min-height:42px;flex:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 18px;background:#1b3323;color:#e2d8c9;font-size:9px;font-weight:600;letter-spacing:.12em}
.location-map-caption>span{display:inline-flex;align-items:center;gap:9px}
.location-live-dot{width:6px;height:6px;display:inline-block;background:#b2c8a0;border-radius:50%;box-shadow:0 0 0 3px #b2c8a025}
.location-map-caption a{color:#f7ecdc;display:inline-flex;align-items:center;gap:7px;border-bottom:1px solid #c5b68d77;padding-bottom:3px;white-space:nowrap}
.location-map-caption a:hover{color:#e3c693}
.location-info{position:relative;display:flex;flex-direction:column;min-width:0;background:#faf7f0;overflow:hidden}
.location-facade-banner{margin:0;position:relative;flex:0 0 117px;min-height:117px;overflow:hidden;background:#253e2b}
.location-facade-banner img{display:block;width:100%;height:117px;object-fit:cover;object-position:center 51%;filter:saturate(.82) brightness(.78)}
.location-facade-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,31,19,.54),transparent 70%);pointer-events:none}
.location-facade-banner figcaption{position:absolute;bottom:14px;left:22px;z-index:1;color:#f6eee1;font-size:9px;font-weight:700;letter-spacing:.2em;text-shadow:0 1px 10px #1b2418}
.location-info-content{flex:1;display:flex;flex-direction:column;justify-content:center;padding:17px clamp(21px,2.3vw,32px) 21px}
.location-eyebrow,.location-detail-label{font-size:9px;letter-spacing:.17em;font-weight:700;color:#55795a}
.location-eyebrow{margin:0 0 5px}
.location-supporting-line{font:400 19px/1.14 var(--serif);margin:0 0 13px;color:#263b2a}
.location-address-block{border-top:1px solid #dedacf;padding-top:12px}
.location-detail-label{display:block;margin-bottom:7px}
.location-address-block address{font:500 clamp(20px,1.8vw,24px)/1.16 var(--serif);font-style:normal;color:#27402d}
.location-address-block address span{font:500 12px/1.7 var(--sans);color:#677568}
.location-schedule{border-top:1px solid #dedacf;margin-top:12px;padding-top:11px}
.location-schedule .location-detail-label{margin-bottom:5px}
.location-schedule>div{display:flex;justify-content:space-between;gap:10px;font-size:11px;line-height:1.6;color:#677568}
.location-schedule strong{font-weight:650;color:#25452e;white-space:nowrap}
.location-actions{display:flex;align-items:center;gap:15px;margin-top:14px;flex-wrap:wrap}
.location-cta{background:#2a5634;min-height:41px;color:#fff7e9;padding:0 16px;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;font-size:9px;font-weight:700;letter-spacing:.12em;transition:background .25s,transform .25s}
.location-cta:hover{background:#173d25;transform:translateY(-2px)}
.location-cta span:last-child{font-size:18px;font-weight:400}
.location-book{display:inline-flex;align-items:center;gap:8px;color:#3c5f42;font-size:9px;font-weight:700;letter-spacing:.11em;border-bottom:1px solid #7f9b80;padding:6px 0}
.location-book:hover{color:#172b1b}
@media(max-width:1050px){
  .location-layout{grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr)}
  .location-heading-row h2{font-size:clamp(49px,6vw,69px)}
  .location-map-frame{min-height:320px}
  .location-info-content{padding:17px 22px 20px}
  .location-supporting-line{font-size:17px}
  .location-address-block address{font-size:21px}
}
@media(max-width:780px){
  .location-section{padding:59px 0 68px}
  .location-heading{margin-bottom:21px}
  .location-heading-row{align-items:start;flex-direction:column;gap:9px}
  .location-heading-row h2{font-size:clamp(50px,8vw,70px)}
  .location-heading-row>p{max-width:540px;font-size:13px}
  .location-layout{grid-template-columns:1fr}
  .location-map-frame{min-height:265px}
  .location-facade-banner{flex-basis:145px;min-height:145px}
  .location-facade-banner img{height:145px}
  .location-info-content{padding:24px 28px 28px}
  .location-supporting-line{font-size:21px}
  .location-address-block address{font-size:24px}
  .location-actions{margin-top:20px}
}
@media(max-width:530px){
  .location-section{padding:40px 0 45px}
  .location-heading-row h2{font-size:clamp(44px,12vw,60px)}
  .location-map-topline{height:40px;padding:0 12px;font-size:8px;gap:7px;letter-spacing:.1em}
  .location-map-micro{font-size:8px;letter-spacing:0}
  .location-map-frame{min-height:195px}
  .location-map-caption{min-height:44px;padding:0 12px;font-size:8px;letter-spacing:.08em}
  .location-map-caption a{font-size:8px}
  .location-facade-banner{flex-basis:105px;min-height:105px}
  .location-facade-banner img{height:105px}
  .location-facade-banner figcaption{bottom:12px;left:16px;font-size:8px}
  .location-info-content{padding:22px 19px 26px}
  .location-supporting-line{font-size:19px}
  .location-address-block address{font-size:22px}
  .location-actions{gap:13px}
  .location-cta{min-height:42px;padding:0 14px}
}


/* V5 — ajustes aprovados: fachada ampliada e rolagem sem sobreposicao */
/* O convite de rolagem agora segue o fluxo dos botoes do Hero;
   nunca mais concorre com eles no rodape do primeiro painel. */
.hero{height:auto;min-height:100svh;max-height:none}
.hero-inner{height:auto;min-height:max(820px,100svh);padding-bottom:78px}
.hero-copy{width:min(100%,700px)}
.hero-copy .hero-scroll{position:static;left:auto;bottom:auto;margin-top:36px;
  display:inline-flex;align-items:center;gap:14px;color:var(--cream-dim);
  letter-spacing:.23em;font-size:9px;line-height:1.45;white-space:nowrap;
  width:max-content;max-width:100%;font-weight:600;}
.hero-copy .hero-scroll:hover{color:var(--cream)}
.hero-copy .hero-scroll .scroll-indicator{flex-shrink:0}
/* A foto passa a ter mais protagonismo, compensada pela remoção dos textos. */
.location-facade-banner{flex:0 0 177px;min-height:177px}
.location-facade-banner img{height:177px;object-position:center 49%}
.location-info-content{padding-top:17px;padding-bottom:19px}
.location-address-block{border-top:0;padding-top:0}
.location-detail-label{margin-bottom:8px}
@media(max-width:1050px){
  .hero-inner{min-height:max(780px,100svh)}
  .location-facade-banner{flex-basis:165px;min-height:165px}
  .location-facade-banner img{height:165px}
}
@media(max-width:780px){
  .hero{height:auto;max-height:none}
  .hero-inner{min-height:max(800px,100svh);padding-bottom:76px}
  .hero-copy .hero-scroll{margin-top:30px}
  .location-facade-banner{flex-basis:194px;min-height:194px}
  .location-facade-banner img{height:194px;object-position:center 50%}
  .location-info-content{padding-top:22px;padding-bottom:25px}
}
@media(max-width:530px){
  .hero{height:auto;max-height:none}
  .hero-inner{min-height:max(725px,100svh);padding-bottom:72px}
  .hero-copy .hero-scroll{margin-top:28px;letter-spacing:.16em;font-size:9px}
  .location-facade-banner{flex-basis:168px;min-height:168px}
  .location-facade-banner img{height:168px;object-position:center 52%}
  .location-info-content{padding-top:22px;padding-bottom:25px}
}
/* V5 polish — preservar o respiro lateral e manter as ações visíveis em telas menores. */
@media(max-width:780px){
  .hero-inner{margin-inline:auto;padding-top:132px;padding-bottom:66px}
  .hero h1{font-size:clamp(54px,8vw,74px);line-height:.96;margin:22px 0 20px}
  .hero-copy>p{font-size:18px;line-height:1.65;max-width:440px;margin:18px 0 25px}
  .hero-divider{margin:18px 0 15px}
}
@media(max-width:530px){
  .hero-inner{margin-inline:auto;padding-top:126px;padding-bottom:56px}
  .hero h1{font-size:clamp(46px,12vw,61px);line-height:.98;margin:17px 0 17px}
  .hero-copy>p{font-size:16px;line-height:1.64;max-width:345px;margin:16px 0 22px}
  .hero-divider{margin:16px 0 13px}
  .hero-actions{gap:17px}
  .hero-copy .hero-scroll{margin-top:24px}
}


/* V6 — Uma experiência além do corte (vídeo institucional) */
.experience-section{background:#102015;color:var(--cream);padding:100px 0 94px;position:relative;overflow:hidden}
.experience-section:before{content:"";position:absolute;pointer-events:none;inset:0;background:radial-gradient(circle at 79% 46%,rgba(100,139,94,.18),transparent 47%),linear-gradient(180deg,rgba(12,26,16,.35),transparent 25%,rgba(8,19,11,.32) 100%)}
.experience-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,430px);align-items:center;gap:clamp(50px,9vw,160px)}
.experience-copy{max-width:640px}
.experience-kicker{display:flex;align-items:center;gap:17px;color:#c9b590;font-size:10px;font-weight:700;letter-spacing:.3em;margin-bottom:34px}
.experience-kicker span{height:1px;width:41px;background:#b8a580;display:inline-block}
.experience-copy h2{font:500 clamp(68px,7vw,115px)/.88 var(--serif);letter-spacing:-.042em;color:#f7f1e7;margin:0 0 31px}
.experience-copy h2 em{font-weight:400;color:#cbb897}
.experience-lead{font:400 clamp(22px,2.1vw,29px)/1.32 var(--serif);color:#ece2ce;max-width:525px;margin:0 0 35px}
.experience-offerings{border-top:1px solid rgba(232,219,192,.25);max-width:540px}
.experience-offering{display:grid;grid-template-columns:44px 1fr 22px;gap:18px;align-items:center;border-bottom:1px solid rgba(232,219,192,.22);padding:17px 0}
.experience-offering>span:first-child{color:#c6b38e;font-size:10px;letter-spacing:.1em}
.experience-offering strong{font:500 clamp(22px,2.2vw,28px)/1.15 var(--serif);color:#f0eadf}
.experience-offering-mark{text-align:right;font:18px var(--sans);color:#aa987a}
.experience-note{font-size:13px;line-height:1.85;color:#b5c0b0;max-width:480px;margin:28px 0 25px}
.experience-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:49px;padding:13px 0;color:#e9d5b4;border-bottom:1px solid #a99575;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:color .2s,gap .2s}
.experience-link:hover{color:#fff;gap:37px}
.experience-link span{font-size:19px;font-weight:400}
.experience-media{display:flex;justify-content:flex-end}
.experience-video-shell{width:min(100%,385px);position:relative;padding:0 0 0 35px}
.experience-side-label{position:absolute;left:0;bottom:48px;writing-mode:vertical-rl;transform:rotate(180deg);color:#ae9b76;font-size:9px;letter-spacing:.31em;font-weight:700;white-space:nowrap}
.experience-video-frame{position:relative;overflow:hidden;box-shadow:0 30px 74px rgba(0,0,0,.32);background:#182b1d;border:1px solid rgba(231,217,189,.3);aspect-ratio:9/16}
.experience-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;background:#0f1c13}
.experience-play{position:absolute;z-index:1;left:50%;top:47%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:15px;border:0;padding:15px;background:transparent;color:#fff;white-space:nowrap}
.experience-play[hidden]{display:none}
.experience-play-circle{width:75px;height:75px;border:1px solid rgba(255,255,255,.8);border-radius:100%;background:rgba(23,46,29,.77);display:flex;align-items:center;justify-content:center;font-size:22px;padding-left:5px;box-shadow:0 0 0 10px rgba(255,255,255,.06);transition:transform .25s,background .25s}
.experience-play:hover .experience-play-circle,.experience-play:focus-visible .experience-play-circle{transform:scale(1.08);background:rgba(33,78,41,.94)}
.experience-play-text{font-size:9px;font-weight:700;letter-spacing:.26em;text-shadow:0 1px 9px #000}
.experience-video-footer{min-height:49px;padding:12px 0;display:flex;align-items:center;justify-content:space-between;color:#adbcaa;font-size:9px;letter-spacing:.17em;font-weight:700;gap:20px}
.experience-video-footer span:last-child{color:#e3d3b5}
@media(max-width:1080px){
  .experience-section{padding:85px 0}
  .experience-grid{grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:32px}
  .experience-copy h2{font-size:clamp(60px,7vw,84px)}
  .experience-video-shell{width:min(100%,335px)}
}
@media(max-width:780px){
  .experience-section{padding:75px 0 70px}
  .experience-grid{grid-template-columns:1fr;gap:41px}
  .experience-copy{max-width:640px}
  .experience-copy h2{font-size:clamp(64px,10vw,88px)}
  .experience-lead{font-size:26px}
  .experience-media{justify-content:center}
  .experience-video-shell{width:min(100%,345px)}
}
@media(max-width:530px){
  .experience-section{padding:65px 0 55px}
  .experience-kicker{font-size:9px;margin-bottom:24px}
  .experience-copy h2{font-size:clamp(56px,13vw,76px);margin-bottom:23px}
  .experience-lead{font-size:22px;margin-bottom:23px}
  .experience-offering{grid-template-columns:29px 1fr 16px;gap:9px;padding:13px 0}
  .experience-offering strong{font-size:22px}
  .experience-note{font-size:12px;margin:21px 0 18px}
  .experience-grid{gap:35px}
  .experience-video-shell{width:min(100%,315px);padding-left:20px}
  .experience-side-label{font-size:8px;bottom:42px;letter-spacing:.14em}
  .experience-play-circle{width:64px;height:64px;font-size:20px}
  .experience-video-footer{font-size:8px;letter-spacing:.1em}
}

/* V14 — ajuste pontual: escala +12–15%, preservando a identidade e o espaço entre frases. */
.hero .hero-copy{max-width:810px;width:min(100%,810px)}
.hero .hero-copy h1 {
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(52px,4.95vw,74px);
  line-height:1.02;
  letter-spacing:-.045em;
  max-width:810px;
  margin:22px 0 24px;
  text-wrap:balance;
}
.hero .hero-copy h1 em {
  font-weight:inherit;
  font-style:italic;
  color:#e7cda9;
}
.hero .hero-copy h1 .hero-line{display:block}
.hero .hero-copy h1 .hero-line+.hero-line{margin-top:.48em}
@media(max-width:780px){
  .hero .hero-copy{max-width:100%}
  .hero .hero-copy h1{font-size:clamp(47px,7vw,61px);line-height:1.025;margin:20px 0 23px}
  .hero .hero-copy h1 .hero-line+.hero-line{margin-top:.42em}
}
@media(max-width:530px){
  .hero .hero-copy h1{font-size:clamp(39px,10.5vw,48px);line-height:1.045;margin:18px 0 21px}
  .hero .hero-copy h1 .hero-line+.hero-line{margin-top:.47em}
}


/* V22 — services horizontal carousel */
.services-carousel{position:relative}
.services-carousel-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 18px}
.services-drag-hint{display:inline-flex;align-items:center;gap:11px;padding:13px 18px;border-radius:999px;background:linear-gradient(135deg,#163024 0%,#234332 100%);color:#f7f2e7;border:1px solid rgba(233,239,232,.16);box-shadow:0 12px 28px rgba(17,34,21,.12),inset 0 1px 0 rgba(255,255,255,.05);font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap}
.drag-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.12);font-size:15px;line-height:1;animation:services-drag-breathe 1.8s ease-in-out infinite}
@keyframes services-drag-breathe{0%,100%{transform:translateX(0);opacity:.88}50%{transform:translateX(4px);opacity:1}}
.services-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}
.services-control{appearance:none;border:0;cursor:pointer;width:54px;height:54px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#173125 0%,#254434 100%);color:#f7f2e7;box-shadow:0 14px 32px rgba(17,34,21,.14),0 0 0 1px rgba(255,255,255,.08) inset,0 0 0 1px rgba(14,32,18,.06);transition:transform .25s ease,box-shadow .25s ease,opacity .25s ease}
.services-control:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 18px 36px rgba(17,34,21,.18),0 0 0 1px rgba(255,255,255,.12) inset,0 0 24px rgba(54,104,74,.14)}
.services-control:active{transform:translateY(0) scale(.98)}
.services-control[disabled]{opacity:.34;cursor:default;transform:none;box-shadow:0 8px 18px rgba(17,34,21,.08),0 0 0 1px rgba(255,255,255,.04) inset}
.services-control span{font-size:20px;line-height:1}
.services-grid{display:flex!important;gap:22px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;padding:4px 2px 12px;cursor:grab}
.services-grid::-webkit-scrollbar{display:none}
.services-grid.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.services-grid:focus-visible{outline:2px solid rgba(35,67,50,.35);outline-offset:4px;border-radius:18px}
.services-grid .service-card{flex:0 0 min(31.6vw,440px);scroll-snap-align:start;min-width:330px}
.services-grid .service-card:last-child{margin-right:2px}
.services-grid .service-card.reveal{opacity:1;transform:none}
.services-grid .service-card .service-image{height:270px}
.services-grid .service-card .service-content{min-height:248px}
@media(max-width:1120px){.services-grid .service-card{flex-basis:min(42vw,420px)}}
@media(max-width:780px){.services-carousel-top{align-items:stretch;flex-direction:column;gap:14px}.services-controls{justify-content:flex-end}.services-grid{gap:16px;padding-bottom:8px}.services-grid .service-card{flex-basis:76vw;min-width:280px}.services-grid .service-card .service-image{height:240px}.services-grid .service-card .service-content{min-height:220px}}
@media(max-width:530px){.services-drag-hint{width:100%;justify-content:center;padding:12px 16px;font-size:9px;letter-spacing:.16em}.services-controls{justify-content:space-between}.services-control{width:50px;height:50px}.services-grid .service-card{flex-basis:84vw;min-width:260px}.services-grid .service-card .service-image{height:220px}.services-grid .service-card .service-content{padding:22px}.services-grid .service-card .service-title-row h3{font-size:33px}}


/* V23 — navegação minimalista e estável dos serviços */
.services-carousel{min-width:0;max-width:100%}
.services-carousel-top{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between;gap:14px;margin-bottom:19px}
.services-drag-hint{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;background:none;border:0;box-shadow:none;color:#526a55;border-radius:0;padding:0;width:auto;min-height:0;font-size:10px;letter-spacing:.14em;font-weight:700}
.services-drag-hint .drag-icon{width:27px;height:27px;border:1px solid rgba(38,75,48,.22);border-radius:50%;background:transparent;box-shadow:none;color:#2c5838;animation:none;font-size:13px}
.services-controls{gap:9px;justify-content:flex-end;flex-shrink:0}
.services-control{width:43px;height:43px;min-width:43px;border:1px solid #274832;border-radius:50%;background:#1b3b2b;color:#f7f2e7;box-shadow:0 6px 14px rgba(17,34,21,.13);transition:background .2s ease,transform .2s ease,box-shadow .2s ease,opacity .2s ease}
.services-control:hover:not(:disabled){background:#325640;transform:translateY(-1px);box-shadow:0 8px 20px rgba(17,34,21,.17)}
.services-control:disabled{opacity:.36;border-color:#a0b2a0;box-shadow:none;cursor:default}
.services-control span{font-size:19px}
.services-grid{display:flex!important;flex-wrap:nowrap!important;max-width:100%;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-left:0;scroll-padding-right:0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scrollbar-width:none;cursor:grab;padding:3px 0 8px}
.services-grid::-webkit-scrollbar{display:none}
.services-grid.dragging-with-mouse{scroll-snap-type:none!important;cursor:grabbing;user-select:none;-webkit-user-select:none}
.services-grid .service-card{min-width:0;flex:0 0 min(31.5vw,440px);scroll-snap-align:start;scroll-snap-stop:always;margin:0}
.services-grid .service-card:last-child{margin-right:0}
@media(max-width:1120px){.services-grid .service-card{flex-basis:min(42vw,420px)}}
@media(max-width:780px){.services-carousel-top{flex-direction:row!important;align-items:center!important;gap:8px;margin-bottom:15px}.services-drag-hint{width:auto;max-width:calc(100% - 103px);padding:0;font-size:9px;letter-spacing:.08em;white-space:nowrap}.services-controls{justify-content:flex-end;gap:8px}.services-control{width:41px;height:41px;min-width:41px}.services-grid{gap:12px}.services-grid .service-card{flex:0 0 calc(100% - 43px);min-width:0}.services-grid .service-card .service-image{height:225px}.services-grid .service-card .service-content{min-height:235px}}
@media(max-width:530px){.services-carousel-top{gap:8px}.services-drag-hint{width:auto;justify-content:flex-start;padding:0;font-size:9px;letter-spacing:.06em}.services-drag-hint .drag-icon{width:26px;height:26px}.services-controls{justify-content:flex-end}.services-control{width:40px;height:40px;min-width:40px}.services-grid{gap:12px;padding:3px 0 8px}.services-grid .service-card{flex:0 0 calc(100% - 43px);min-width:0}.services-grid .service-card .service-image{height:210px}.services-grid .service-card .service-content{min-height:245px;padding:22px}.services-grid .service-card .service-title-row h3{font-size:32px}}
/* Conter componentes nativos de data e hora no Safari iOS */
.booking-wrap,.booking-form,.form-two,.form-two>div{min-width:0;max-width:100%}
.form-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-two>div{width:100%;min-inline-size:0;overflow:visible}
.form-two input[type="date"],.form-two input[type="time"]{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-inline-size:0;max-inline-size:100%;font-size:16px;line-height:1.4;padding-inline:12px;overflow:hidden}
.form-two input[type="date"]::-webkit-date-and-time-value,.form-two input[type="time"]::-webkit-date-and-time-value{min-width:0;max-width:100%;text-align:left}
@media(max-width:780px){.booking-wrap{grid-template-columns:minmax(0,1fr)}.booking-form{width:100%;max-width:100%;min-width:0}.form-two{grid-template-columns:minmax(0,1fr)}}
@media(max-width:530px){.booking-form{padding:26px 21px}.form-two{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.form-two>div{width:100%;min-width:0;max-width:100%}.form-two input[type="date"],.form-two input[type="time"]{width:100%;max-width:100%;min-width:0;min-height:49px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.services-grid{scroll-behavior:auto}.services-control,.services-drag-hint .drag-icon{animation:none;transition:none}}

@media(max-width:360px){.philosophy-intro h2{font-size:clamp(44px,12vw,49px)}}

/* V24: Safari iOS — campos nativos de data/hora contidos em uma moldura.
   Absolute positioning removes the native min-content size from grid sizing;
   clipping guarantees the picker control cannot paint outside its border. */
.booking-form .form-two{min-width:0;max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
.booking-form .form-two>div{min-width:0;min-inline-size:0;max-width:100%;overflow:hidden}
.booking-form .native-field-frame{box-sizing:border-box;display:block;position:relative;width:100%;max-width:100%;min-width:0;min-inline-size:0;height:51px;overflow:hidden;border:1px solid #c9c7be;background:#fffefb;border-radius:0}
.booking-form .native-field-frame:focus-within{border-color:#47794c;outline:2px solid #47794c22;outline-offset:0}
.booking-form .native-field-frame input[type="date"],
.booking-form .native-field-frame input[type="time"]{position:absolute!important;inset:0!important;box-sizing:border-box!important;display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;min-inline-size:0!important;max-inline-size:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0 13px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;outline:0!important;overflow:hidden!important;line-height:1.35!important;font-size:16px!important;color:#223323!important}
.booking-form .native-field-frame input::-webkit-date-and-time-value{min-width:0;max-width:100%;text-align:left}
.booking-form .native-field-frame input::-webkit-datetime-edit{min-width:0;max-width:100%;padding:0}
.booking-form .native-field-frame input::-webkit-calendar-picker-indicator{margin-left:auto;flex-shrink:0}
@media(max-width:780px){
 .booking-form .form-two{grid-template-columns:minmax(0,1fr)!important}
 .booking-form .native-field-frame{width:100%;max-width:100%;height:50px}
}
