:root{--green:#304b40;--deep:#1d352c;--sage:#738b75;--soft:#ebeee8;--cream:#f9f7f2;--sand:#e8ddcd;--gold:#c6aa7e;--ink:#25302b;--muted:#67736b;--white:#fff;--serif:Georgia,'Palatino Linotype','Book Antiqua',serif;--sans:'Segoe UI',Arial,Helvetica,sans-serif;--wrap:1280px;--shadow:0 18px 50px rgba(26,43,34,.12)}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2}p{line-height:1.8}h1,h2,h3{font-weight:400}h1 em,h2 em,h3 em,.quote-inner em{font-weight:400;color:inherit}.wrap{width:min(calc(100% - 104px),var(--wrap));margin-inline:auto}.sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{display:inline-block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip{position:absolute;left:8px;top:-70px;z-index:9999;background:white;padding:12px 20px}.skip:focus{top:8px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b78943;outline-offset:4px}.topline{background:var(--deep);color:#d6e1d9;min-height:35px;display:flex;align-items:center;font-size:11px;letter-spacing:.065em}.topline-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:6px 0}.topline span,.topline a{display:flex;gap:9px;align-items:center}.topline .icon{width:12px;height:12px;stroke-width:2}.topline a:hover{color:#fff}.header{position:sticky;top:0;z-index:100;background:rgba(249,247,242,.97);backdrop-filter:blur(15px);box-shadow:0 1px 0 rgba(29,53,44,.1);transition:box-shadow .25s}.header.scrolled{box-shadow:0 8px 28px rgba(25,44,32,.10)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:88px}.brand{display:flex;align-items:center;gap:13px;white-space:nowrap;min-width:0}.brand-mark{position:relative;display:block;width:42px;height:49px;border:1.5px solid var(--green);flex:none}.mark-arch{position:absolute;inset:6px 7px 5px;border:2px solid var(--green);border-radius:16px 16px 0 0;border-bottom-width:0}.mark-arch::after{content:'';position:absolute;inset:12px 7px 0;border-left:2px solid var(--green);border-right:2px solid var(--green)}.mark-center{position:absolute;left:7px;right:7px;bottom:4px;height:2px;background:var(--green)}.brand-copy{display:flex;flex-direction:column;line-height:1.13;letter-spacing:.19em;color:var(--deep)}.brand-copy strong{font-family:var(--serif);font-size:21px;font-weight:400;letter-spacing:.15em}.brand-copy span{font-size:10px;letter-spacing:.32em;margin-top:6px}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2vw,32px);margin-left:auto}.desktop-nav a{font-size:13px;letter-spacing:.025em;color:#465349;white-space:nowrap;position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:-9px;left:0;right:100%;height:1px;background:var(--sage);transition:right .22s}.desktop-nav a:hover:after{right:0}.header-actions{display:flex;align-items:center;gap:20px;margin-left:12px}.language{display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.08em}.language button{border:0;background:none;padding:8px 2px;color:#8a968c}.language button.active{color:var(--deep);font-weight:800}.language span{color:#b6bdb6}.header-book{background:var(--green);color:#fff;min-height:44px;display:flex;gap:18px;padding:0 17px;align-items:center;justify-content:center;font-size:12px;letter-spacing:.02em;white-space:nowrap;transition:background .2s}.header-book:hover,.btn-olive:hover{background:#496756}.header-book .icon{height:17px;width:17px}.menu-toggle{display:none;align-items:center;justify-content:center;border:1px solid #cdd6cd;background:transparent;color:var(--deep);min-width:44px;height:44px}.mobile-menu{display:none}.hero{height:min(790px,calc(100vh - 120px));min-height:660px;position:relative;overflow:hidden;color:white;background:var(--deep)}.hero-image{position:absolute;inset:0;transform:scale(1.04);will-change:transform}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 47%}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,34,27,.91) 0%,rgba(19,39,31,.88) 25%,rgba(25,40,31,.66) 49%,rgba(20,30,22,.16) 82%,rgba(18,34,27,.12) 100%),linear-gradient(0deg,rgba(16,35,27,.3),transparent 35%)}.hero-inner{height:100%;display:flex;align-items:center;position:relative;z-index:1}.hero-content{max-width:690px;padding-top:12px;padding-bottom:54px}.eyebrow{display:flex;gap:14px;align-items:center;color:#718875;font-size:11px;font-weight:700;letter-spacing:.21em;text-transform:uppercase;line-height:1.6}.eyebrow-light{color:#e8ddc8}.shortline{display:block;width:32px;height:1px;background:currentColor;flex:none}.hero h1{font-family:var(--serif);font-size:clamp(56px,5.7vw,89px);line-height:1.08;letter-spacing:-.038em;margin:30px 0 24px}.hero h1 em{color:#d0bf9d}.hero p{font-size:16px;max-width:530px;color:#e3eae3;line-height:1.95}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:35px}.btn{border:0;display:inline-flex;gap:22px;justify-content:center;align-items:center;min-height:55px;padding:14px 24px;font-size:13px;font-weight:700;letter-spacing:.01em;transition:transform .2s,background .2s;color:var(--deep);line-height:1.4}.btn:hover{transform:translateY(-2px)}.btn .icon{width:19px;height:19px}.btn-cream{background:#f4eee2;color:var(--deep)}.btn-cream:hover{background:#fff}.btn-olive{background:var(--green);color:#fff}.hero-text-link{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:#f4efe7}.hero-text-link .icon{width:19px}.hero-text-link:hover{color:#d0bf9d}.hero-micro{display:flex;align-items:center;gap:12px;margin-top:65px;font-size:11px;letter-spacing:.045em;color:#e0e6dd}.micro-seal{font-size:22px;font-weight:400;color:#d4bb8d}.hero-side-label{position:absolute;z-index:2;right:20px;bottom:145px;writing-mode:vertical-rl;letter-spacing:.25em;font-size:10px;color:rgba(255,255,255,.88)}.availability{position:relative;margin-top:-55px;z-index:3;padding-bottom:25px}.availability-card{background:white;box-shadow:var(--shadow);border-bottom:4px solid var(--gold);padding:25px 26px;display:grid;grid-template-columns:1fr 1fr .73fr 1.44fr;align-items:end;gap:23px}.quick-field{display:flex;flex-direction:column;gap:9px;min-width:0}.quick-field label{font-size:11px;letter-spacing:.11em;font-weight:700;text-transform:uppercase;color:var(--deep)}.date-entry{display:flex;align-items:center;gap:8px;border-bottom:1px solid #d5ddd4;min-width:0;height:42px}.date-entry .icon{width:18px;height:18px;color:var(--sage)}input[type=date]{color-scheme:light}.date-entry input,.quick-field select{width:100%;height:41px;min-width:0;appearance:auto;border:0;outline:0;background:transparent;color:var(--ink);font-size:13px}.date-entry:focus-within{border-color:var(--deep)}.guest-field select{border-bottom:1px solid #d5ddd4}.quick-submit{min-height:55px;padding-inline:13px;white-space:nowrap}.section{padding:122px 0}.intro{padding-top:122px;padding-bottom:135px}.intro-grid{display:grid;grid-template-columns:1fr .86fr;gap:clamp(60px,9vw,132px);align-items:center}.intro-image{height:610px;position:relative}.intro-image img{width:100%;height:100%;object-fit:cover;object-position:54% center}.intro-image:before{content:'';position:absolute;left:-19px;top:25px;bottom:-20px;right:22px;border:1px solid #d9cab4;z-index:-1}.photo-corner{position:absolute;right:-16px;bottom:-16px;background:var(--green);width:92px;height:92px;z-index:-1}.intro-copy{padding:12px 0}.intro h2,.section-heading h2,.center-head h2,.location-info h2,.reserve-info h2{font:400 clamp(44px,4.1vw,67px)/1.19 var(--serif);letter-spacing:-.045em;margin:25px 0 27px;color:var(--deep)}.intro h2 em,.section-heading h2 em,.center-head h2 em,.location-info h2 em{color:#6e8a75}.section-lead{font:400 23px/1.6 var(--serif);color:var(--deep);margin-bottom:18px}.intro-copy>p:not(.section-lead){color:#69756c;font-size:15px;line-height:1.95}.signature-block{display:flex;align-items:center;gap:18px;margin:35px 0 21px;font:italic 19px var(--serif);color:#5a705f}.signature-line{width:35px;height:1px;background:#9ba992}.text-arrow{display:inline-flex;align-items:center;gap:12px;color:var(--deep);font-size:13px;font-weight:700;padding:8px 0;border-bottom:1px solid #9cac9e}.text-arrow .icon{width:18px;height:18px;transition:transform .25s}.text-arrow:hover .icon{transform:translateX(5px)}.stay-section{background:#eeeee8}.section-heading{display:flex;justify-content:space-between;gap:70px;align-items:end;margin-bottom:46px}.section-heading h2{max-width:630px;margin-bottom:0}.section-heading>p{max-width:340px;margin:0 0 5px;font-size:14px;color:#69776c}.stay-grid{display:grid;grid-template-columns:1.11fr 1fr;gap:22px}.stay-feature,.mini-card{background:#fff;overflow:hidden}.image-frame{overflow:hidden}.image-frame img{height:100%;width:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,.61,.36,1)}.stay-feature:hover .image-frame img,.mini-card:hover .image-frame img{transform:scale(1.025)}.stay-feature>.image-frame{height:435px}.stay-feature-body{padding:28px 32px 38px}.stay-feature-body h3{font:400 32px/1.2 var(--serif);margin:15px 0 12px;color:var(--deep)}.stay-feature-body p,.mini-body p{color:#748076;font-size:14px;line-height:1.85;margin:0}.stay-kicker{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.13em;color:#8a9b8b;font-weight:700}.stay-side{display:grid;grid-template-rows:1fr 1fr;gap:22px}.mini-card{display:grid;grid-template-columns:45% 55%;min-height:250px}.mini-card .image-frame{min-width:0}.mini-card .image-frame img{height:100%}.mini-body{padding:29px 28px;display:flex;flex-direction:column;justify-content:center}.small-overline{color:#91a091;font-size:11px;letter-spacing:.1em}.mini-body h3{font:400 25px/1.28 var(--serif);margin:12px 0;color:var(--deep)}.stay-bottom{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:33px;padding-top:27px;border-top:1px solid #d8ddd2}.stay-bottom>div{display:flex;align-items:center;gap:11px;font-size:12px;color:#657569}.stay-bottom>div .icon{color:#6d8873}.stay-bottom .text-arrow{font-size:12px;white-space:nowrap}.facilities{background:var(--cream)}.center-head{text-align:center;max-width:760px;margin:0 auto 58px}.center-head .eyebrow{justify-content:center}.center-head h2{margin-bottom:22px}.center-head p{color:#6a796e;font-size:14px}.amenity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.amenity{text-align:center;background:#fff;border:1px solid #edeae1;min-height:245px;padding:40px 21px 32px;transition:transform .2s,box-shadow .2s}.amenity:hover{transform:translateY(-5px);box-shadow:0 18px 28px rgba(39,54,40,.07)}.amenity-icon{margin:auto;display:flex;width:60px;height:60px;align-items:center;justify-content:center;border-radius:50%;background:#e8eee7;color:#587662}.amenity-icon .icon{height:26px;width:26px;stroke-width:1.8}.amenity h3{font:400 24px var(--serif);margin:24px 0 8px;overflow-wrap:anywhere}.amenity p{font-size:12px;color:#68776b;margin:0;overflow-wrap:anywhere}.amenity-note{text-align:center;margin:30px auto 0;font-size:12px;color:#7a867b}.quote-section{background:var(--green);color:#f8f6ef;padding:88px 0;text-align:center}.quote-inner{max-width:800px}.quote-line{height:1px;width:65px;background:#c4b48d;margin:0 auto 27px}.quote-inner p{font:400 clamp(30px,3.3vw,48px)/1.45 var(--serif);margin:0 auto 22px}.quote-inner em{color:#dac8a6}.quote-inner span{font-size:10px;letter-spacing:.22em;color:#c8d4c6}.gallery-section{background:#f8f7f3}.gallery-grid{display:grid;grid-template-columns:1.24fr .83fr .83fr;gap:16px;min-height:395px}.gallery-photo{border:0;padding:0;overflow:hidden;background:#dce3da;min-width:0;height:415px;cursor:zoom-in}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery-photo:hover img{transform:scale(1.035)}.gallery-message{background:#e7e9df;padding:30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.gallery-monogram{font:400 14px var(--serif);letter-spacing:.3em;color:#738675;border-bottom:1px solid #aebbaa;padding-bottom:12px}.gallery-message h3{font:400 clamp(24px,2vw,31px)/1.45 var(--serif);margin:22px 0}.gallery-message h3 em{color:#63806a}.location-section{background:#f0f2ec}.location-grid{display:grid;grid-template-columns:.8fr 1.1fr;gap:9%;align-items:center}.location-info h2{margin-bottom:23px}.location-info>p{font-size:14px;color:#718075;max-width:465px}.address-tile{display:flex;align-items:center;gap:15px;margin:34px 0 12px}.pin-circle{width:51px;height:51px;border-radius:50%;background:#dbe4d9;color:var(--green);display:grid;place-items:center}.address-tile>div{display:flex;flex-direction:column;line-height:1.5;font-size:14px}.address-tile strong{font-weight:700}.address-tile>div span{font-size:12px;color:#748377}.map-shell{height:390px;min-width:0;background:#e0e8db;border:10px solid #fff;box-shadow:0 20px 38px rgba(41,58,44,.1)}.map-placeholder{height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:radial-gradient(circle at 12% 20%,rgba(220,230,215,.9),transparent 28%),linear-gradient(35deg,#e6eadc 25%,#dce5db 25%,#dce5db 26%,#e6eadc 26%,#e6eadc 66%,#dce5db 66%,#dce5db 67%,#e6eadc 67%)}.map-placeholder:before,.map-placeholder:after{content:'';position:absolute;width:120%;height:8px;background:rgba(255,255,255,.7);transform:rotate(-28deg);pointer-events:none}.map-placeholder:before{left:-11%;top:19%}.map-placeholder:after{top:81%;left:-10%}.map-pin-large{width:66px;height:66px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:white;margin-bottom:14px;box-shadow:0 7px 18px #b0bbac;z-index:1}.map-pin-large .icon{height:30px;width:30px}.map-placeholder strong{font:400 23px var(--serif);z-index:1}.map-placeholder span{font-size:13px;z-index:1}.map-placeholder p{font-size:12px;max-width:260px;margin:13px 0;line-height:1.6;z-index:1}.map-placeholder .btn{min-height:45px;padding:10px 18px;z-index:1}.map-live{height:100%}.map-live iframe{height:100%;width:100%;border:0}.reserve-section{background:var(--deep);color:#fff;padding:111px 0 124px;overflow:hidden}.reserve-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:10%;align-items:center}.reserve-info{position:relative}.reserve-info h2{color:#fff;margin:28px 0}.reserve-info h2 em{color:#d5c29e}.reserve-info>p{color:#cddbd0;max-width:470px;font-size:15px;line-height:1.9}.reserve-contact{display:flex;flex-direction:column;gap:8px;margin-top:44px;font-size:13px;color:#c7d8ce}.reserve-contact a{font:400 25px var(--serif);color:#fff}.reserve-decor{font:400 85px var(--serif);letter-spacing:.22em;color:rgba(255,255,255,.043);margin-top:45px;white-space:nowrap}.reserve-form{background:#fcfaf6;padding:40px 42px;color:var(--ink);box-shadow:0 12px 50px rgba(0,0,0,.08)}.reserve-form h3{font:400 34px var(--serif);color:var(--deep);margin:0 0 11px}.form-intro{font-size:12px;color:#6b786e;line-height:1.8;margin-bottom:28px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:20px;min-width:0}.field label{display:block;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.09em;margin-bottom:9px;color:#4c5e52}.field input,.field select,.field textarea{width:100%;max-width:100%;background:#fff;border:1px solid #dedfd8;color:#263b2e;outline:0;min-height:46px;padding:10px 11px;font-size:13px;border-radius:0}.field textarea{resize:vertical;min-height:84px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#69826e;outline:2px solid #a2b69e;outline-offset:1px}.form-submit{width:100%;min-height:54px;gap:10px;justify-content:center}.form-submit .icon{margin-left:auto}.wa-icon{width:22px;height:24px;filter:invert(1)}.form-fine{font-size:11px;color:#7e8c7f;line-height:1.65;margin:14px 0 0}.form-error{font-size:12px;color:#9c3829;background:#fff0ec;border-left:3px solid #ae5140;padding:10px 13px;margin-bottom:16px}.footer{background:#172c24;color:#f0f2eb}.footer-main{display:grid;grid-template-columns:1.35fr .6fr 1fr .7fr;gap:55px;padding:77px 0 65px;border-bottom:1px solid rgba(255,255,255,.13)}.footer-brand .brand-mark{border-color:#d1d7c9}.footer-brand .mark-arch{border-color:#d1d7c9}.footer-brand .mark-center{background:#d1d7c9}.footer-brand .brand-copy{color:#fff}.footer-main>div:first-child>p{font-size:13px;color:#b2c0b4;margin:21px 0 0;max-width:235px}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-links h3{font-size:13px;letter-spacing:.08em;font-weight:650;margin:4px 0 10px}.footer-links a{font-size:13px;color:#c0cec3;line-height:1.55}.footer-links a:hover{color:#fff}.footer-words{text-align:right;display:flex;flex-direction:column;justify-content:center;align-items:flex-end}.footer-initial{font:400 47px var(--serif);color:#66816f;letter-spacing:.06em}.footer-words p{font:italic 17px var(--serif);color:#acbdaf}.footer-bottom{padding:24px 0 30px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#a7b8a9;gap:24px;flex-wrap:wrap}.foot-bottom-links{display:flex;gap:13px;align-items:center;flex-wrap:wrap}.foot-bottom-links a:hover{color:#f3e9d3}.wa-float,.to-top{position:fixed;z-index:80;right:22px;bottom:calc(22px + env(safe-area-inset-bottom));width:53px;height:53px;display:flex;justify-content:center;align-items:center;color:#fff;border-radius:50%;box-shadow:0 8px 22px rgba(22,42,31,.24);transition:transform .2s}.wa-float{background:#1fbd61}.wa-float:hover{transform:translateY(-4px)}.wa-float img{filter:brightness(0) invert(1);width:27px;height:31px}.to-top{bottom:calc(89px + env(safe-area-inset-bottom));border:0;background:var(--green);opacity:0;visibility:hidden;transform:translateY(10px)}.to-top.show{visibility:visible;opacity:1;transform:translateY(0)}.to-top:hover{background:#4c6754}.to-top .icon{width:24px;height:24px;stroke-width:3}.lightbox{padding:0;border:0;background:#182920;color:#fff;box-shadow:0 25px 80px #000a;max-width:min(1000px,calc(100% - 20px));max-height:calc(100dvh - 40px)}.lightbox::backdrop{background:rgba(7,19,13,.88)}.lightbox-inner{position:relative;padding:12px}.lightbox-inner>img{object-fit:contain;max-height:calc(100dvh - 145px);margin:auto}.lightbox-close{position:absolute;right:18px;top:18px;background:rgba(23,44,34,.92);color:white;border:1px solid #a3b0a6;width:45px;height:45px;display:grid;place-items:center}.lightbox-toolbar{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.lightbox-actions{display:flex;gap:10px}.lightbox-actions button{width:44px;height:44px;display:grid;place-items:center;color:#fff;background:#39584a;border:1px solid #67816d}.chevron-left{transform:rotate(180deg)}.lightbox-actions .icon{stroke-width:3}.privacy-main{min-height:70vh;background:var(--cream)}.privacy-banner{background:var(--green);color:#fff;padding:85px 0 65px}.privacy-banner h1{font:400 clamp(42px,5vw,68px) var(--serif);margin:20px 0 14px}.privacy-banner p{color:#c9d8ca;font-size:13px;margin:0}.privacy-copy{max-width:880px;padding:72px 0 105px}.privacy-copy h2{font:400 27px var(--serif);color:var(--deep);margin:36px 0 10px}.privacy-copy p{font-size:15px;color:#5f6f62;line-height:1.9}.privacy-copy .privacy-intro{font:400 21px/1.75 var(--serif);color:var(--deep)}.privacy-warning{padding:19px 20px;background:#edf0e6;border-left:3px solid var(--sage)}.privacy-copy .btn{margin-top:16px}.reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}.js .reveal:not(.is-visible){opacity:0;transform:translateY(22px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.js .reveal{opacity:1!important;transform:none!important}.hero-image{transform:none!important}}@media(max-width:1220px){.wrap{width:min(calc(100% - 70px),var(--wrap))}.desktop-nav{gap:16px}.header-actions{gap:12px}.brand-copy strong{font-size:19px}.intro-grid{gap:58px}.stay-bottom>div{max-width:240px}.gallery-grid{grid-template-columns:1.15fr 1fr .9fr}.gallery-message{padding:22px}}@media(max-width:1040px){.desktop-nav{display:none}.menu-toggle{display:flex}.header-inner{min-height:76px}.mobile-menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);padding:14px max(28px,calc((100% - 900px)/2)) 26px;border-top:1px solid #dde5dc;box-shadow:0 14px 25px #1d342719}.mobile-menu.open{display:flex;flex-direction:column}.mobile-menu a{padding:10px 0;min-height:44px;display:flex;align-items:center;border-bottom:1px solid #e5e9e2;font-size:15px}.hero{min-height:630px}.hero h1{font-size:clamp(56px,7vw,77px)}.availability-card{grid-template-columns:1fr 1fr .6fr;gap:22px}.quick-submit{grid-column:1/-1}.section{padding:100px 0}.intro-image{height:520px}.stay-grid{grid-template-columns:1fr 1fr}.stay-feature>.image-frame{height:375px}.mini-card{grid-template-columns:1fr;grid-template-rows:190px auto;min-height:0}.stay-side{grid-template-rows:1fr 1fr}.mini-body{padding:21px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-photo{height:360px}.gallery-message{grid-column:1/-1;min-height:220px;padding:40px}.gallery-message h3{max-width:530px}.location-grid{gap:5%}.reserve-grid{gap:5%}.footer-main{gap:34px;grid-template-columns:1.2fr .7fr .9fr}.footer-words{display:none}}@media(max-width:760px){.wrap{width:calc(100% - 42px)}.topline{font-size:10px}.topline-inner{gap:8px}.topline a{white-space:nowrap}.header-inner{min-height:71px}.brand-mark{width:35px;height:41px}.brand-copy strong{font-size:18px}.brand-copy span{font-size:9px;margin-top:4px}.header-book{display:none}.header-actions{margin-left:auto;gap:13px}.hero{min-height:685px;height:auto}.hero-inner{min-height:685px;align-items:center}.hero-image img{object-position:57% 40%}.hero-wash{background:linear-gradient(90deg,rgba(12,31,25,.9),rgba(14,33,25,.70) 55%,rgba(13,28,21,.3)),linear-gradient(0deg,rgba(9,25,16,.3),transparent 45%)}.hero-content{max-width:560px;padding:57px 0 105px}.hero h1{font-size:clamp(49px,9vw,68px);margin:24px 0}.hero p{font-size:14px;max-width:445px}.hero-micro{margin-top:34px}.hero-side-label{display:none}.availability{margin-top:-45px;padding-bottom:5px}.availability-card{grid-template-columns:1fr 1fr;gap:18px;padding:23px}.guest-field{grid-column:1/-1}.quick-submit{grid-column:1/-1}.intro-grid,.location-grid,.reserve-grid{grid-template-columns:1fr;gap:47px}.intro{padding:82px 0 95px}.intro-image{height:480px}.intro-copy{padding:0}.intro h2,.section-heading h2,.center-head h2,.location-info h2,.reserve-info h2{font-size:clamp(42px,6vw,57px)}.section{padding:90px 0}.section-heading{display:block;margin-bottom:34px}.section-heading>p{max-width:550px;margin-top:19px}.stay-grid{grid-template-columns:1fr}.stay-feature>.image-frame{height:420px}.stay-side{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.mini-card{grid-template-rows:225px auto}.stay-bottom{gap:18px}.amenity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid{grid-template-columns:1fr 1fr}.map-shell{height:400px}.reserve-section{padding:87px 0 95px}.reserve-decor{display:none}.reserve-form{padding:34px}.footer-main{grid-template-columns:1fr 1fr;padding:62px 0 54px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{padding:24px 0}.privacy-banner{padding:68px 0 54px}}@media(max-width:520px){.wrap{width:calc(100% - 34px)}.topline-inner>span .icon{display:none}.topline{font-size:9px}.topline-inner{letter-spacing:0}.brand{gap:9px}.brand-copy strong{font-size:16px}.brand-copy span{letter-spacing:.22em;font-size:8px}.brand-mark{width:30px;height:38px}.header-inner{min-height:67px}.language{gap:4px}.language button{padding:8px 0;font-size:11px}.menu-toggle{min-width:43px;height:43px}.header-actions{gap:10px}.hero,.hero-inner{min-height:660px}.hero-content{padding:67px 0 110px}.eyebrow{font-size:9px;letter-spacing:.17em;gap:9px}.shortline{width:20px}.hero h1{font-size:clamp(44px,11vw,58px);line-height:1.13;letter-spacing:-.045em;max-width:490px}.hero p{font-size:13px;line-height:1.8}.hero-actions{gap:19px}.hero-micro{font-size:10px}.btn{font-size:12px;gap:11px;min-height:52px;padding:13px 15px}.hero-text-link{font-size:12px}.availability-card{padding:20px 17px;gap:14px}.quick-field label{font-size:10px}.quick-submit{white-space:normal}.date-entry input{font-size:12px}.intro-image{height:350px}.intro-image:before{left:-8px;right:10px;top:12px;bottom:-10px}.photo-corner{right:-9px;bottom:-9px;width:55px;height:55px}.section{padding:76px 0}.intro{padding-top:76px;padding-bottom:76px}.intro h2,.section-heading h2,.center-head h2,.location-info h2,.reserve-info h2{font-size:42px;margin:20px 0}.section-lead{font-size:21px}.intro-copy>p:not(.section-lead){font-size:14px}.stay-feature>.image-frame{height:260px}.stay-feature-body{padding:23px}.stay-feature-body h3{font-size:28px}.stay-side{grid-template-columns:1fr;gap:18px}.mini-card{display:grid;grid-template-columns:42% 58%;grid-template-rows:auto;min-height:185px}.mini-card>.image-frame{height:100%}.mini-body{padding:15px}.mini-body h3{font-size:22px}.mini-body p{font-size:12px}.stay-bottom{display:grid}.center-head{margin-bottom:36px}.amenity-grid{gap:10px}.amenity{padding:28px 11px 25px;min-height:205px}.amenity h3{font-size:21px}.amenity p{font-size:11px}.amenity-icon{height:49px;width:49px}.amenity-icon .icon{width:23px;height:23px}.quote-section{padding:66px 0}.quote-inner p{font-size:32px}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-photo{height:250px}.gallery-photo.big{grid-column:1/-1;height:280px}.gallery-message{grid-column:1/-1;padding:29px;min-height:240px}.gallery-message h3{font-size:29px}.location-info h2{max-width:380px}.map-shell{height:350px}.map-placeholder{padding:12px}.map-placeholder strong{font-size:21px}.reserve-form{padding:28px 19px}.reserve-form h3{font-size:30px}.form-row{gap:10px}.form-intro{font-size:12px}.field input,.field select,.field textarea{font-size:12px;padding:10px 9px}.form-submit{font-size:12px}.footer-main{grid-template-columns:1fr 1fr;gap:26px}.footer-links a{font-size:12px}.footer-bottom{font-size:11px}.wa-float,.to-top{width:49px;height:49px;right:13px;bottom:calc(16px + env(safe-area-inset-bottom))}.to-top{bottom:calc(76px + env(safe-area-inset-bottom))}.privacy-copy{padding:50px 0}.privacy-copy h2{font-size:24px}}@media(max-width:355px){.wrap{width:calc(100% - 28px)}.topline-inner>span{font-size:8px}.topline-inner a{font-size:8px}.header-inner{gap:5px}.brand-copy strong{font-size:14px}.brand-copy span{font-size:7px}.brand-mark{width:27px;height:35px}.header-actions{gap:7px}.menu-toggle{min-width:40px;height:40px}.hero h1{font-size:43px}.hero-actions{flex-direction:column;align-items:flex-start;gap:15px}.availability-card{padding:17px 12px;gap:12px}.date-entry .icon{display:none}.date-entry input{font-size:11px}.mini-card{grid-template-columns:40% 60%}.mini-body h3{font-size:20px}.mini-body p{font-size:11px}.gallery-photo{height:205px}.reserve-form{padding:24px 15px}.reserve-form .form-row{grid-template-columns:1fr}.reserve-form .field{margin-bottom:14px}.footer-main{grid-template-columns:1fr 1fr}.foot-bottom-links{gap:8px}}


/* === v2 refinement overrides === */
:root{--green:#3f6455;--deep:#22392f;--sage:#7d9885;--soft:#eef2ec;--gold:#ccb084}
.desktop-nav a{font-size:15px;letter-spacing:.03em;font-weight:500}
.header-book{font-size:13px}
.topline{font-size:12px}
.hero-image img{object-position:center 45%;filter:saturate(1.03) contrast(1.04) brightness(1.02)}
.hero-wash{background:linear-gradient(90deg,rgba(12,31,25,.82) 0%,rgba(18,38,31,.74) 28%,rgba(22,40,31,.48) 55%,rgba(20,30,22,.12) 84%,rgba(18,34,27,.08) 100%),linear-gradient(0deg,rgba(16,35,27,.24),transparent 35%)}
.hero-image img,.intro-image img,.image-frame img,.gallery-photo img,.map-live iframe{border-radius:24px}
.hero{overflow:hidden}
.hero-image,.intro-image,.image-frame,.gallery-photo,.map-shell,.amenity,.reserve-form,.availability-card,.stay-feature,.mini-card{border-radius:24px}
.intro-image:before{border-radius:28px}
.image-frame img,.gallery-photo img,.intro-image img{transform:scale(1.06);transition:transform .8s cubic-bezier(.22,.61,.36,1),filter .45s ease}
.stay-feature:hover .image-frame img,.mini-card:hover .image-frame img,.gallery-photo:hover img,.intro-image:hover img{transform:scale(1)}
.stay-kicker,.small-overline{letter-spacing:.14em;color:#718875}
.small-overline{font-size:10px;font-weight:700}
.amenity,.stay-feature,.mini-card,.gallery-photo,.location-info .address-tile,.availability-card,.reserve-form,.map-shell{box-shadow:0 18px 50px rgba(26,43,34,.08)}
.amenity{transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.amenity:hover{transform:translateY(-6px);box-shadow:0 20px 42px rgba(26,43,34,.14)}
.amenity-icon{transition:transform .25s ease, background .25s ease, color .25s ease}
.amenity:hover .amenity-icon{transform:translateY(-3px) scale(1.06);background:var(--green);color:#fff}
.stay-bottom .icon,.footer .icon,.social-link .icon{transition:transform .25s ease,color .25s ease}
.stay-bottom>div:hover .icon,.footer-links a:hover + .icon,.social-link:hover .icon{transform:translateY(-2px) scale(1.08);color:var(--green)}
.quote-section,.reserve-section{position:relative;overflow:hidden;background:linear-gradient(135deg,#284638 0%,#355a49 52%,#274538 100%)}
.quote-section::before,.reserve-section::before{content:'';position:absolute;inset:-10% -5%;background:
radial-gradient(circle at 18% 26%, rgba(255,255,255,.07), transparent 16%),
radial-gradient(circle at 82% 18%, rgba(204,176,132,.18), transparent 15%),
radial-gradient(circle at 78% 78%, rgba(255,255,255,.06), transparent 20%),
linear-gradient(145deg, transparent 0 35%, rgba(255,255,255,.05) 35% 36%, transparent 36% 100%);
pointer-events:none}
.quote-section::after,.reserve-section::after{content:'';position:absolute;right:7%;top:14%;width:240px;height:240px;border:1px solid rgba(255,255,255,.12);border-radius:50%;pointer-events:none}
.quote-inner,.reserve-grid{position:relative;z-index:1}
.location-section{background:linear-gradient(180deg,#f3f5f0 0%,#eef1ea 100%)}
.map-shell{padding:12px;background:#fff}
.map-live,.map-live-inline{display:block;height:100%;min-height:380px;border-radius:20px;overflow:hidden}
.map-live iframe,.map-live-inline iframe{width:100%;height:100%;border:0;display:block}
.footer-social{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}
.social-link{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f6f7f3;border:1px solid rgba(63,100,85,.16);transition:transform .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease;color:var(--deep)}
.social-link:hover{transform:translateY(-3px);background:var(--green);color:#fff;box-shadow:0 12px 24px rgba(35,57,47,.18)}
.social-link img{width:22px;height:22px;filter:none}
.social-link.wa:hover img{filter:brightness(0) invert(1)}
.footer-bottom{align-items:center}
.gallery-photo.big{grid-row:span 2}
.gallery-message{background:linear-gradient(135deg,#355947 0%,#2d4a3c 100%);color:#fff;border-radius:24px;position:relative;overflow:hidden}
.gallery-message::before{content:'';position:absolute;inset:auto -60px -60px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 66%)}
.gallery-message .text-arrow{color:#fff;border-color:rgba(255,255,255,.28)}
.gallery-message h3,.gallery-message h3 em{color:#fff}
.footer{background:linear-gradient(180deg,#22392f 0%,#1c3028 100%)}
.footer-desc,.footer p{max-width:420px}
@media (max-width:1040px){.desktop-nav a{font-size:14px}}
@media (max-width:760px){.map-live,.map-live-inline{min-height:340px}.topline{font-size:10px}.hero-image img{border-radius:0 0 18px 18px}.hero-image img,.intro-image img,.image-frame img,.gallery-photo img,.map-live iframe{border-radius:18px}.hero-image img{object-position:60% 43%}}
@media (max-width:520px){.desktop-nav a{font-size:13px}.topline{font-size:9px}.social-link{width:42px;height:42px}.gallery-message{min-height:220px}.map-live,.map-live-inline{min-height:300px}}


/* === v3 hover refinement === */
.image-frame img,.gallery-photo img,.intro-image img{transform:scale(1.14);transition:transform .85s cubic-bezier(.22,.61,.36,1),filter .45s ease}
.stay-feature:hover .image-frame img,.mini-card:hover .image-frame img,.gallery-photo:hover img,.intro-image:hover img{transform:scale(1)}
.hero-image img{transition:transform .9s cubic-bezier(.22,.61,.36,1), filter .45s ease}
.hero:hover .hero-image img{transform:scale(1.01)}


/* v4: map sits flush without an outer frame */
.map-shell{background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;border-radius:20px;overflow:hidden}
.map-live,.map-live-inline{border-radius:20px!important;overflow:hidden}
.map-live iframe,.map-live-inline iframe{border:0!important;border-radius:20px!important;display:block;width:100%;height:100%}

html,body{overflow-x:clip}

/* v4: restrained hero headline typing, no layout reflow */
.hero-type-char{opacity:0;transition:none!important}
.hero-type-char.typed{opacity:1}
.hero-type-char.typing-caret{position:relative}
.hero-type-char.typing-caret::after{content:'';position:absolute;right:-3px;top:.16em;height:.80em;width:2px;background:currentColor;animation:cwo-type-caret .72s steps(1,end) infinite;pointer-events:none}
@keyframes cwo-type-caret{0%,45%{opacity:1}46%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.hero-type-char{opacity:1!important}.hero-type-char.typing-caret::after{display:none!important}}
