:root{--forest:#142a1c;--forest-deep:#112619;--forest-soft:#17341f;--cream:#f5eadc;--cream-light:#fff8ee;--text:#171a14;--rust:#aa461e;--rust-bright:#c35b2d;--olive:#8b843d;--serif:'Playfair Display',Georgia,'Times New Roman',serif;--sans:'DM Sans','Manrope',Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:75px}body{margin:0;background:var(--cream);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,article:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #dca45f;outline-offset:4px}a{text-decoration:none;color:inherit}svg{display:block}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-xs{width:15px;height:15px}.site-shell{overflow:hidden;position:relative;min-width:320px}.eyebrow{display:block;font-family:'Manrope',var(--sans);font-size:9px;font-weight:800;line-height:1.5;letter-spacing:.17em}.site-header{position:absolute;inset:0 0 auto;z-index:30;height:55px;color:white}.site-header.scrolled{position:fixed;background:rgba(15,35,23,.94);box-shadow:0 7px 26px #061c1228;backdrop-filter:blur(16px);animation:header-slide .36s var(--ease) both}@keyframes header-slide{from{transform:translateY(-100%)}to{transform:translateY(0)}}.header-inner{height:100%;display:flex;align-items:center;gap:30px;padding:0 4.1%;margin:auto;max-width:1550px}.brand{display:inline-flex;align-items:center;gap:11px;white-space:nowrap;font-family:'Manrope',var(--sans);font-size:18px;font-weight:700;letter-spacing:.33em}.brand-trees{width:37px;height:37px;opacity:.96}.desktop-nav{margin-left:auto;display:flex;gap:clamp(26px,3.7vw,49px);align-items:center}.desktop-nav a{font-size:12px;font-weight:500;white-space:nowrap;position:relative;transition:color .2s}.desktop-nav a::after{content:'';position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:#ebc68c;transition:right .3s}.desktop-nav a:hover{color:#f5d9a3}.desktop-nav a:hover::after{right:0}.header-actions{display:flex;align-items:center;gap:20px;margin-left:auto}.lang-btn,.login-btn,.menu-toggle{background:transparent;border:0;color:inherit;display:flex;align-items:center;justify-content:center}.lang-btn{font-size:12px;gap:3px;padding:7px 0}.login-btn{border:1px solid #fff;border-radius:100px;padding:5px 12px;gap:6px;font-size:12px;white-space:nowrap;transition:background .2s,color .2s}.login-btn .icon{width:18px;height:18px}.login-btn:hover{color:var(--forest);background:#fff}.menu-toggle{display:none}.mobile-nav{display:none}
.hero{height:380px;background:var(--forest);color:white;position:relative;isolation:isolate}.hero-visual{position:absolute;top:0;right:0;width:min(62%,790px);height:300px;overflow:hidden;z-index:-2;background:#172a1b}.hero-visual img{width:100%;height:100%;object-fit:fill;animation:hero-breathe 17s ease-in-out infinite alternate;transform-origin:58% 56%}.hero-visual::before{position:absolute;inset:0;content:'';z-index:1;background:linear-gradient(180deg,rgba(8,23,12,.18),transparent 45%,rgba(9,22,11,.08) 100%)}@keyframes hero-breathe{0%{transform:scale(1)}100%{transform:scale(1.055)}}.hero-shape{position:absolute;z-index:-1;top:0;left:0;height:355px;width:57%;background:var(--forest);clip-path:polygon(0 0,100% 0,98% 13%,88% 20%,80% 34%,74% 53%,66% 75%,53% 100%,0 100%)}.hero::before{content:'';position:absolute;z-index:-1;inset:255px 0 0;background:linear-gradient(90deg,#172b18 0%,#23351a 48%,#182917 100%)}.hero-content{position:relative;z-index:2;left:5.55%;top:73px;width:max-content;max-width:48%}.hero-eyebrow{font-size:9px;letter-spacing:.04em;color:#f6f3ea;text-shadow:0 1px 7px #001}.hero h1{font-family:var(--serif);font-size:clamp(44px,4.8vw,62px);font-weight:500;line-height:.91;letter-spacing:-.055em;margin:13px 0 13px;white-space:nowrap}.hero h1 em{font-weight:400;letter-spacing:-.065em}.hero p{font-size:15px;line-height:1.42;font-weight:500;margin:0;letter-spacing:-.01em}.hero-spark{position:relative;display:inline-block;width:58px;height:53px;vertical-align:middle;margin-left:6px}.hero-spark i{background:#e7a244;position:absolute;height:3px;border-radius:4px;display:block;transform-origin:left center}.hero-spark i:nth-child(1){width:35px;left:7px;top:12px;transform:rotate(-69deg)}.hero-spark i:nth-child(2){width:29px;left:26px;top:24px;transform:rotate(-45deg)}.hero-spark i:nth-child(3){width:26px;left:26px;top:43px;transform:rotate(-8deg)}.hero-wave{position:absolute;left:0;bottom:-1px;width:100%;height:155px;z-index:0;pointer-events:none}.search-bar{position:absolute;z-index:8;top:295px;left:calc(50% + 15px);transform:translateX(-50%);width:min(790px,calc(100% - 45px));height:65px;background:#fff8ef;color:#131811;border:1px solid #fefaf5;border-radius:13px;box-shadow:0 10px 18px #080e0850,0 2px 3px #fdfcfbb0;display:grid;grid-template-columns:1.05fr 1.03fr .88fr 185px;align-items:center;padding:11px;gap:0}.search-item{height:40px;position:relative;border-right:1px solid #c9bcae}.search-item:nth-child(3){border-right:0}.search-field{display:flex;align-items:center;gap:14px;padding:2px 15px 2px 19px;width:100%;height:100%;text-align:left;background:transparent;border:none;color:#0c150e}.search-icon{width:24px;height:24px;stroke-width:1.5}.field-text{display:flex;flex-direction:column;min-width:0;gap:2px;flex:1}.field-text strong{font-size:11px;font-weight:800}.field-text small{font-size:12px;color:#0e140f;white-space:nowrap}.field-chevron{transition:transform .2s}.search-field[aria-expanded="true"] .field-chevron{transform:rotate(180deg)}.primary-btn{background:linear-gradient(105deg,#a9401b 0%,#bd5225 60%,#ad461d 100%);color:white;border:0;border-radius:25px;display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;padding:0 21px 1px 24px;font-size:14px;font-weight:500;white-space:nowrap;box-shadow:0 4px 10px #8a321019;transition:transform .28s var(--ease),box-shadow .28s,background .28s}.primary-btn .icon{transition:transform .28s var(--ease)}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 9px 22px #752a1b4d}.primary-btn:hover .icon{transform:translateX(4px)}.search-submit{height:40px;border-radius:14px;margin-left:7px;padding-left:35px;padding-right:20px;font-size:13px}.field-popover{position:absolute;top:calc(100% + 22px);left:0;width:270px;background:#fffaf3;border-radius:18px;box-shadow:0 13px 50px #0b211c3d;color:#173020;padding:19px;z-index:50;border:1px solid #e9d7c0;animation:popover-in .22s var(--ease)}.field-popover[hidden]{display:none}@keyframes popover-in{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.field-popover label{font-size:12px;font-weight:800}.field-popover input{display:block;width:100%;padding:12px;margin-top:9px;background:#fff;border:1px solid #dbcbb7;border-radius:10px;color:#18251a;color-scheme:light}.popover-hint{margin:8px 0 0;font-size:11px;color:#726b61}.guests-popover{width:295px;left:-45px}.guest-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0 15px}.guest-row + .guest-row{padding-top:15px;border-top:1px solid #e4d8c6}.guest-row span{display:flex;flex-direction:column;gap:3px}.guest-row strong{font-size:13px}.guest-row small{font-size:11px;color:#777368}.stepper{display:flex;align-items:center;gap:12px}.stepper output{font-size:13px;font-weight:700;min-width:12px;text-align:center}.stepper-button{display:grid;place-items:center;width:27px;height:27px;border:1px solid #b1bcae;border-radius:50%;background:white;color:var(--forest)}.stepper-button .icon{width:14px;height:14px}.stepper-button:disabled{opacity:.35;cursor:not-allowed}.popover-done{border:0;background:var(--forest);color:white;border-radius:100px;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px;width:100%;font-size:12px;font-weight:700}.popover-done .icon{width:16px;height:16px}
.stays{position:relative;background:var(--cream);height:265px;z-index:3}.stays-inner{position:relative;z-index:2;display:grid;grid-template-columns:250px minmax(0,1fr);gap:15px;margin-left:clamp(52px,7.4vw,95px);margin-right:29px;padding-top:18px}.stays-intro .eyebrow{font-size:9px;margin-bottom:11px}.stays-intro h2{font-family:var(--serif);font-weight:500;font-size:35px;line-height:.96;letter-spacing:-.055em;margin:0}.stays-intro h2 em{font-weight:400}.ink-underline{height:2px;width:183px;transform:rotate(-3deg);background:#b94d26;margin:11px 0 8px 47px}.stays-intro p{font-size:11.5px;line-height:1.34;font-weight:600;max-width:246px;margin:0 0 12px}.dark-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:15px;min-height:33px;padding:0 14px 1px 21px;background:#142a1b;color:#fff;border:none;border-radius:100px;font-size:11.5px;box-shadow:0 3px 8px #0e2a1433;transition:transform .25s var(--ease),background .2s}.dark-btn .icon{width:19px;height:19px}.dark-btn:hover{background:#28523a;transform:translateY(-2px)}.tree-ornament{position:absolute;z-index:3;width:115px;height:440px;object-fit:contain;left:0;top:-127px;pointer-events:none}.stays-list{display:grid;grid-template-columns:.95fr 1fr 1fr;gap:16px;min-width:0;margin-top:2px;align-self:start}.stay-card{height:198px;position:relative;overflow:visible;border-radius:12px;color:white;background:#091a13;isolation:isolate;cursor:pointer;box-shadow:0 2px 2px #0b241711;transition:transform .42s var(--ease),box-shadow .35s}.stay-card>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;border-radius:12px;transition:transform .8s var(--ease);filter:saturate(1.07)}.stay-card{overflow:hidden}.stay-card:hover,.stay-card:focus-visible{transform:translateY(-7px);box-shadow:0 16px 25px #0c2a1730}.stay-card:hover>img{transform:scale(1.065)}.card-gradient{pointer-events:none;position:absolute;z-index:-1;inset:0;border-radius:12px;background:linear-gradient(180deg,#020d0800 42%,#02120b22 58%,#020d08eb 99%)}.popular-ribbon{position:absolute;left:-9px;top:3px;z-index:4;background:#ad4a26;color:white;display:block;padding:7px 16px 6px 17px;font-weight:800;letter-spacing:.04em;transform:rotate(-9deg);box-shadow:0 2px 5px #0003;font-size:12px}.stay-card:first-child .popular-ribbon{display:none}/* First ribbon is already part of the exact photo reference. */.fav-btn{position:absolute;right:9px;top:10px;z-index:5;background:#122b1a22;border:0;padding:2px;display:grid;place-items:center;width:29px;height:29px;color:#fff;filter:drop-shadow(0 1px 3px #000a);transition:transform .2s}.fav-btn .icon{width:24px;height:24px;stroke-width:1.9;fill:transparent;transition:fill .2s,stroke .2s}.fav-btn:hover{transform:scale(1.15)}.fav-btn[aria-pressed="true"] .icon{fill:#f4e4d1;stroke:#fff;animation:heart-pop .35s var(--ease)}@keyframes heart-pop{50%{transform:scale(1.24)}}.stay-card-content{position:absolute;bottom:13px;left:16px;right:11px}.card-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:4px}.stay-card h3{font-family:var(--serif);font-size:21px;font-weight:400;line-height:1;white-space:nowrap;letter-spacing:-.04em;margin:0}.price{display:flex;align-items:baseline;gap:2px;white-space:nowrap;position:relative;padding-top:11px}.price small{position:absolute;right:0;top:0;font-size:9px;font-weight:400}.price strong{font-size:12px;font-weight:700}.price span{font-size:9px}.stay-card-content p{font-size:10px;font-weight:600;line-height:1.25;margin:5px 0 0;white-space:nowrap}.stay-card-content p span{margin:0 3px;color:#f4daba}.search-feedback{position:absolute;left:28%;bottom:0;background:#e0ebd4;color:#1b442a;padding:9px 15px;border-radius:10px 10px 0 0;font-size:12px;z-index:4}.search-feedback[hidden]{display:none}.stay-card.is-filtered-out{opacity:.3;filter:grayscale(.7);pointer-events:none}.stay-card.is-match{outline:2px solid #d39d53;outline-offset:3px}
.experiences{position:relative;z-index:4;background:var(--forest-soft);min-height:172px;color:#fff}.experiences-wave{position:absolute;left:0;top:-51px;width:100%;height:85px;z-index:0;pointer-events:none}.experiences-inner{position:relative;display:flex;gap:22px;padding-top:28px;padding-bottom:23px;margin-left:6.4%;margin-right:6.3%;min-height:172px}.experiences-heading{flex:0 0 250px}.experiences-heading .eyebrow{font-size:9px;letter-spacing:.16em;white-space:nowrap;margin-bottom:8px}.experiences-heading h2{font-family:var(--serif);font-size:38px;line-height:.95;letter-spacing:-.055em;font-weight:500;margin:0}.experiences-heading h2 em{font-weight:400}.tiny-sparks{font:40px var(--sans);color:#dd9d48;position:absolute;left:192px;top:82px;transform:rotate(15deg)}.amenities{display:flex;justify-content:space-between;flex:1;max-width:570px;margin-top:5px}.amenity{min-width:0;flex:1;display:flex;align-items:center;flex-direction:column;justify-content:flex-start;text-align:center;color:#f3f0e8;background:none;border:0;padding:0 7px 0;position:relative;transition:transform .3s var(--ease),color .3s}.amenity:not(:last-child)::after{content:'';position:absolute;right:0;top:8px;height:83px;width:1px;background:#e3dfcc42}.amenity:hover{transform:translateY(-5px);color:#f4c380}.amenity-art{width:52px;height:50px;margin-top:0;margin-bottom:1px}.amenity strong{font-size:13px;font-weight:700}.amenity>span{font-size:10px;line-height:1.27;margin-top:4px;font-weight:500}.polaroid{position:absolute;right:-6px;top:-14px;transform:rotate(6.3deg);width:231px;height:186px;z-index:2;padding:8px 8px 15px;background:#f7f6ef;box-shadow:1px 5px 12px #0a1b0e78;transition:transform .5s var(--ease)}.polaroid:hover{transform:rotate(2deg) translateY(-5px)}.polaroid img{width:100%;height:100%;object-fit:cover;object-position:center}.polaroid::after{content:'';position:absolute;background:#888033;width:60px;height:29px;left:30%;top:-17px;transform:rotate(-1deg);z-index:3;clip-path:polygon(3% 0,100% 0,95% 100%,0 100%)}
.cta-section{height:175px;background:var(--cream);position:relative;isolation:isolate}.cta-blob{position:absolute;background:var(--cream);left:35%;top:-33px;width:72%;height:90px;z-index:-1;border-radius:40% 15% 0 0 / 100% 70% 0 0}.cta-fire{position:absolute;left:0;top:-18px;width:39%;height:193px;overflow:hidden;z-index:-2}.cta-fire img{width:100%;height:100%;object-fit:cover;object-position:left bottom}.cta-fire::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 77%,#f5eadc1a)}.cta-content{position:relative;display:flex;align-items:flex-end;gap:27px;padding-top:9px;margin-left:41%;margin-right:2.5%;height:143px}.cta-title-group{flex:none}.cta-title-group .eyebrow{font-size:9px;letter-spacing:.12em;white-space:nowrap;margin-bottom:8px}.cta-title-group h2{font-family:var(--serif);font-size:36px;font-weight:500;line-height:.94;letter-spacing:-.06em;margin:0 0 15px;white-space:nowrap}.cta-title-group h2 em{color:#aa461e;font-weight:500}.cta-spark{color:#b35b26;font:34px var(--sans);display:inline-block;position:relative;top:-14px;left:8px}.cta-description{border-left:1px solid #b3a99a;padding-left:24px;font-size:11px;line-height:1.4;font-weight:700;max-width:240px;flex:1;margin-bottom:26px;white-space:nowrap}.cta-btn{margin-bottom:23px;margin-left:auto;min-width:193px;height:46px;font-size:15px}.wood-decoration{position:absolute;right:-25px;top:-90px;width:151px;height:160px;object-fit:cover;object-position:right center;mix-blend-mode:multiply;pointer-events:none;z-index:3;mask-image:radial-gradient(ellipse at 68% 55%,#000 45%,transparent 78%)}.site-footer{display:flex;gap:18px;justify-content:space-between;align-items:center;background:#152c1f;color:#e5e9df;padding:25px 6%;font-size:11px}.site-footer div{display:flex;gap:20px}.site-footer a:hover{text-decoration:underline}
.site-dialog{padding:0;border:0;background:var(--cream-light);border-radius:23px;box-shadow:0 30px 100px #06120cf0;max-width:min(780px,calc(100% - 30px));width:100%;overflow:visible;color:var(--forest)}.site-dialog::backdrop{background:rgba(6,22,12,.72);backdrop-filter:blur(8px)}.site-dialog[open]{animation:dialog-in .35s var(--ease)}@keyframes dialog-in{from{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-close{border:0;background:#f9f4e8;position:absolute;right:12px;top:12px;display:grid;place-items:center;z-index:4;width:37px;height:37px;border-radius:50%;color:var(--forest);box-shadow:0 3px 14px #0002}.detail-layout{display:grid;grid-template-columns:43% 57%;min-height:380px;overflow:hidden;border-radius:23px}.detail-image{width:100%;height:100%;object-fit:cover;object-position:center}.detail-copy{padding:45px 34px 28px}.detail-copy h2,.booking-dialog h2,.login-dialog h2{font-family:var(--serif);font-size:36px;font-weight:500;letter-spacing:-.045em;line-height:1.1;margin:10px 0 16px}.detail-copy p,.dialog-intro,.login-dialog p{font-size:13px;line-height:1.65;color:#576355}.detail-features{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0}.feature-pill{display:inline-flex;background:#e3e9db;color:#274532;padding:7px 11px;border-radius:100px;font-size:11px;font-weight:700}.detail-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px}.detail-bottom>span{font-size:14px;font-weight:700}.detail-bottom .primary-btn{min-height:40px}.booking-dialog{width:min(520px,calc(100% - 30px))}.booking-dialog-inner{padding:34px}.booking-dialog h2{margin-bottom:9px}.dialog-intro{margin-bottom:22px}.booking-form{display:grid;gap:14px}.booking-form label{font-size:12px;font-weight:800;display:flex;flex-direction:column;gap:6px}.booking-form input,.booking-form select{width:100%;padding:12px 13px;background:#fff;border:1px solid #d8cdbd;border-radius:11px;color:var(--forest);font-size:13px;min-height:43px}.booking-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;border-top:1px solid #dccfbe;margin-top:8px;font-size:12px}.booking-summary strong{font-size:16px}.booking-confirm{width:100%;justify-content:center}.booking-success{text-align:center;padding:24px 4px}.booking-success[hidden]{display:none}.success-symbol{margin:0 auto 16px;width:60px;height:60px;background:#194d2e;color:white;border-radius:50%;display:grid;place-items:center}.success-symbol .icon{width:30px;height:30px}.booking-success h3{font:500 28px var(--serif);margin:0 0 8px}.booking-success p{font-size:13px;line-height:1.7;color:#536254}.booking-success .dark-btn{margin-top:14px}.login-dialog{width:min(410px,calc(100% - 30px));padding:37px}.login-dialog .dark-btn{margin-top:14px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,50px);border-radius:100px;padding:12px 19px;background:#193925;color:#fff;box-shadow:0 12px 30px #0004;font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:opacity .3s,transform .35s var(--ease);max-width:calc(100vw - 30px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
.reveal{opacity:0;transform:translateY(17px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.reveal.is-visible,.reveal-in{opacity:1;transform:translateY(0)}.reveal-in{animation:intro-up .8s var(--ease) both}@keyframes intro-up{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}.stays-list .stay-card:nth-child(2),.amenities .amenity:nth-child(2){transition-delay:70ms}.stays-list .stay-card:nth-child(3),.amenities .amenity:nth-child(3){transition-delay:130ms}.amenities .amenity:nth-child(4){transition-delay:190ms}.amenities .amenity:nth-child(5){transition-delay:250ms}
@media (min-width:1400px){.hero{height:440px}.hero-visual{width:min(66%,1025px);height:365px}.hero-content{top:90px}.hero h1{font-size:72px}.hero p{font-size:17px}.hero-wave{height:180px}.search-bar{top:346px}.stays{height:290px}.stays-inner{max-width:1300px;margin-left:auto;margin-right:auto;grid-template-columns:280px 1fr;padding-top:25px}.stays-intro h2{font-size:39px}.stay-card{height:225px}.stays-list{margin-top:0}.experiences{min-height:195px}.experiences-inner{max-width:1300px;margin:0 auto;min-height:195px;padding-top:39px}.experiences-heading{flex-basis:290px}.experiences-heading h2{font-size:45px}.amenities{max-width:690px}.polaroid{right:10px;width:260px;height:200px}.cta-section{height:190px}.cta-content{margin-left:37%;margin-right:5%;padding-top:20px}.cta-title-group h2{font-size:43px}.cta-fire{height:208px}}
@media (max-width:1170px){.header-inner{gap:15px;padding:0 3%}.brand{font-size:15px;letter-spacing:.25em}.desktop-nav{gap:21px}.header-actions{gap:10px}.hero-content{left:4.4%}.hero h1{font-size:55px}.stays-inner{margin-left:5.7%;margin-right:2.8%;grid-template-columns:225px minmax(0,1fr);gap:14px}.stays-intro h2{font-size:31px}.stays-intro p{font-size:11px}.stays-list{gap:11px}.stay-card h3{font-size:19px}.stay-card-content{left:12px;right:9px}.stay-card-content p{font-size:9px}.experiences-inner{margin-left:5%;margin-right:4%;gap:12px}.experiences-heading{flex-basis:215px}.experiences-heading h2{font-size:34px}.amenities{max-width:560px}.amenity{padding:0 3px}.polaroid{width:195px;height:170px;right:0}.cta-content{margin-left:38%;gap:16px}.cta-title-group h2{font-size:31px}.cta-title-group .eyebrow{font-size:8px}.cta-description{padding-left:14px;font-size:10px;max-width:200px}.cta-btn{min-width:160px;font-size:13px;padding:0 13px}}
@media (max-width:980px){.desktop-nav{display:none}.header-inner{padding:0 5%}.brand{font-size:17px}.menu-toggle{display:flex;padding:5px}.menu-toggle .icon{width:26px;height:26px}.mobile-nav{display:flex;flex-direction:column;gap:0;position:absolute;left:0;right:0;top:55px;background:#142b1e;border-bottom:1px solid #ffffff25;padding:10px 5% 20px;transform-origin:top;transform:scaleY(.7) translateY(-15px);opacity:0;visibility:hidden;transition:opacity .25s,transform .3s var(--ease),visibility .25s;box-shadow:0 14px 28px #0004}.mobile-nav.is-open{transform:scaleY(1) translateY(0);opacity:1;visibility:visible}.mobile-nav a{padding:13px 4px;border-bottom:1px solid #ffffff18;font-size:15px}.hero-visual{width:68%}.hero-shape{width:68%}.hero-content{top:87px}.hero h1{font-size:48px}.hero p{font-size:13px}.search-bar{left:50%;width:calc(100% - 65px);grid-template-columns:1.08fr 1.08fr .86fr 175px}.search-field{padding:0 9px;gap:7px}.search-icon{width:20px}.field-text strong{font-size:10px}.field-text small{font-size:11px}.search-submit{padding:0 15px;font-size:12px}.stays{height:auto;padding-bottom:41px}.stays-inner{grid-template-columns:1fr;gap:20px;margin:0 5%;padding-top:20px}.stays-intro{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;column-gap:20px}.stays-intro .eyebrow{grid-column:1;align-self:end}.stays-intro h2{grid-column:1;grid-row:2/4;font-size:36px}.ink-underline{display:none}.stays-intro p{grid-column:2;grid-row:1/3;max-width:300px;font-size:12px}.stays-intro .dark-btn{grid-column:2;grid-row:3;justify-self:start}.stays-list{width:100%;gap:13px}.stay-card{height:220px}.stays-list .stay-card h3{font-size:19px}.tree-ornament{left:-32px;top:-70px;opacity:.5}.experiences{min-height:205px}.experiences-inner{min-height:205px;flex-direction:column;gap:16px;margin:0 5%;padding-top:24px}.experiences-heading{flex:initial}.experiences-heading h2 br{display:none}.experiences-heading h2{font-size:33px}.amenities{max-width:100%;width:80%;margin-top:3px}.amenity-art{height:45px;width:46px}.polaroid{width:180px;height:145px;right:0;top:-28px}.cta-content{margin-left:35%;margin-right:3%;gap:15px}.cta-title-group h2{font-size:27px}.cta-title-group .eyebrow{font-size:8px}.cta-description{font-size:10px;white-space:normal;max-width:155px}.cta-btn{min-width:135px;font-size:12px;min-height:39px;padding:0 12px}.cta-btn .icon{width:16px}.wood-decoration{width:120px;right:-25px}}
@media (max-width:700px){html{scroll-padding-top:58px}.site-header{height:60px}.site-header.scrolled{height:60px}.mobile-nav{top:60px}.header-inner{padding:0 5%}.brand{font-size:14px;letter-spacing:.25em;gap:8px}.brand-trees{width:32px;height:32px}.header-actions{gap:8px}.login-btn{padding:7px;border:0}.login-btn .icon{width:22px;height:22px}.login-btn span{display:none}.lang-btn{font-size:12px}.hero{height:625px}.hero-visual{width:100%;height:400px;top:0;opacity:.89}.hero-visual img{object-fit:cover;object-position:60% center}.hero-shape{width:100%;height:468px;background:linear-gradient(90deg,rgba(14,37,22,.97),rgba(15,38,23,.78) 54%,rgba(15,34,19,.13));clip-path:polygon(0 0,100% 0,100% 87%,68% 100%,0 100%)}.hero::before{inset:360px 0 0;background:var(--forest)}.hero-wave{height:155px}.hero-wave path{d:path('M0 60 C150 100 240 50 350 75 C490 105 560 70 700 85 L700 155 L0 155Z')}.hero-content{left:6%;top:115px;max-width:92%}.hero-eyebrow{font-size:8px;letter-spacing:.01em}.hero h1{font-size:clamp(44px,9vw,62px);line-height:1.02;margin:19px 0 14px}.hero p{font-size:14px;line-height:1.5;max-width:330px}.hero-spark{transform:scale(.8);margin-left:0}.search-bar{position:absolute;top:373px;left:50%;width:calc(100% - 32px);height:auto;display:grid;grid-template-columns:1fr 1fr;gap:9px;background:#fffbf4;border-radius:19px;padding:12px;box-shadow:0 10px 35px #07160ba6}.search-item{height:67px;border:1px solid #e6ded1!important;border-radius:11px;background:white}.search-field{padding:8px;gap:7px}.search-icon{width:20px;height:20px}.field-text strong{font-size:11px}.field-text small{font-size:11px}.field-chevron{width:11px}.guest-item{grid-column:1/3}.guest-item .search-field{padding:8px 15px}.search-submit{grid-column:1/3;margin:0;height:47px;border-radius:11px;justify-content:center;gap:30px;font-size:14px}.field-popover{top:calc(100% + 7px);left:0;width:min(265px,calc(100vw - 40px));padding:15px}.search-item:nth-child(2) .field-popover{left:auto;right:0}.guests-popover{width:100%;min-width:250px}.stays{padding-bottom:38px}.stays-inner{padding-top:28px;margin:0 5%;gap:23px}.stays-intro{display:block;padding-left:15px}.stays-intro .eyebrow{font-size:9px}.stays-intro h2{font-size:39px;margin:8px 0}.ink-underline{display:block;width:176px;margin-top:3px}.stays-intro p{font-size:12px;max-width:330px;margin-bottom:16px}.stays-list{grid-template-columns:1fr;gap:17px}.stay-card{height:310px}.stay-card-content{bottom:17px;left:18px;right:15px}.stay-card h3,.stays-list .stay-card h3{font-size:26px}.stay-card-content p{font-size:12px;margin-top:10px}.price strong{font-size:16px}.price small,.price span{font-size:10px}.fav-btn{right:16px;top:14px}.tree-ornament{left:-52px;top:-90px;width:112px;opacity:.35}.search-feedback{position:relative;left:auto;bottom:auto;margin:12px 5%;border-radius:10px}.experiences{min-height:360px}.experiences-wave{top:-43px}.experiences-inner{min-height:360px;padding:18px 0 24px;margin:0 5%}.experiences-heading .eyebrow{font-size:8px}.experiences-heading h2{font-size:38px}.experiences-heading h2 br{display:block}.tiny-sparks{top:70px}.amenities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 0;width:100%;margin-top:6px}.amenity{min-height:103px}.amenity:not(:last-child)::after{display:none}.amenity-art{width:47px;height:48px}.amenity strong{font-size:12px}.amenity>span{font-size:10px}.polaroid{width:145px;height:122px;top:-35px;right:0}.cta-section{height:auto;min-height:380px;padding:50px 0 40px}.cta-blob{left:26%;width:80%;top:-39px;height:75px}.cta-fire{top:auto;bottom:0;width:100%;height:190px;opacity:.68}.cta-fire::after{background:linear-gradient(180deg,var(--cream) 0%,#f5eadc65 40%,#f5eadc00 100%)}.cta-content{display:block;margin:0 6%;padding:0;height:auto}.cta-title-group .eyebrow{font-size:9px;white-space:normal}.cta-title-group h2{font-size:clamp(36px,9vw,50px);margin:13px 0 20px}.cta-description{border-left:2px solid #c4af94;max-width:100%;padding-left:14px;white-space:normal;font-size:12px;margin:0 0 21px}.cta-btn{min-width:190px;height:45px;font-size:14px;margin:0}.wood-decoration{width:115px;top:-71px}.site-footer{padding:23px 6%;font-size:10px;flex-wrap:wrap}.site-footer>span:nth-child(2){display:none}.detail-layout{grid-template-columns:1fr}.detail-image{height:225px}.detail-copy{padding:24px}.detail-copy h2{font-size:30px}.booking-dialog-inner{padding:27px 20px}.booking-dates{grid-template-columns:1fr 1fr;gap:8px}}
@media (max-width:380px){.brand{font-size:12px;letter-spacing:.2em}.header-actions{gap:2px}.hero h1{font-size:41px}.hero-eyebrow{font-size:7px}.search-field{gap:4px;padding:5px}.search-icon{width:18px}.field-text strong{font-size:10px}.field-text small{font-size:10px}.stay-card{height:270px}.experiences{min-height:380px}.experiences-inner{min-height:380px}.polaroid{width:110px;height:95px;right:-7px}.cta-title-group h2{font-size:36px}.booking-dates{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
/* Final composition refinements against the provided 1280px reference. */
.stay-card:first-child .popular-ribbon{display:block}
.booking-form[hidden]{display:none}
@media (min-width:981px) and (max-width:1399px){
  .stays{height:285px}
  .experiences,.experiences-inner{min-height:152px}
  .experiences-inner{padding-top:8px}
  .polaroid{top:-34px}
}
@media (min-width:981px){.cta-content{top:-25px}}
@media (max-width:700px){.tree-ornament{display:none}}
@media (min-width:701px) and (max-width:980px){
  .experiences-heading h2 br{display:block}
  .cta-fire{width:33%}
  .cta-content{margin-left:37%}
}

/* Revision 2: keep every interactive layer in view, eliminate hard visual cuts,
   and let the medium-width layout fit its actual content. */
.hero {
  z-index: 10; /* date/guest menus must sit above the accommodation section */
}
.hero-visual {
  height: calc(100% - 2px);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 70%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 70%, transparent 100%);
}
.hero-visual img {
  object-fit: cover;
  object-position: 50% 20%;
}
.hero::before {
  background: linear-gradient(90deg, #172b18 0%, #243719 48%, #182917 100%);
}
.stays {
  height: auto;
  min-height: 285px;
  padding-bottom: 36px;
}
.stays-inner {
  position: relative;
  z-index: 2;
}
.stays-intro {
  position: relative;
  z-index: 2;
}
.tree-ornament {
  z-index: 1;
  -webkit-mask-image: linear-gradient(90deg, #000 30%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 30%, transparent 100%);
}
.search-bar {
  overflow: visible;
}
.field-popover {
  z-index: 100;
  max-width: min(300px, calc(100vw - 32px));
}

@media (min-width: 981px) and (max-width: 1399px) {
  .stays { min-height: 285px; }
  .stays-inner { padding-top: 18px; }
}

@media (min-width: 1400px) {
  .stays { min-height: 290px; }
}

/* Landscape tablets and small laptops: cards and booking CTA are independent
   of fixed heights, so neither labels nor buttons can collide. */
@media (min-width: 701px) and (max-width: 1170px) {
  .stays { padding-bottom: 44px; }
  .stays-list .stay-card { min-width: 0; }
  .stay-card-content p { white-space: normal; }
  .card-title-row { align-items: flex-end; }
  .cta-section {
    height: auto;
    min-height: 218px;
  }
  .cta-content {
    top: 0;
    min-height: 195px;
    height: auto;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(145px, .9fr);
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 18px;
    row-gap: 8px;
    margin-left: 36%;
    margin-right: 3%;
    padding: 22px 0 20px;
  }
  .cta-title-group {
    grid-column: 1;
    grid-row: 1 / 3;
    min-width: 0;
  }
  .cta-title-group .eyebrow { white-space: normal; }
  .cta-title-group h2 {
    font-size: clamp(26px, 2.7vw, 34px);
    white-space: normal;
    margin-bottom: 0;
  }
  .cta-description {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    margin: 0;
    padding-left: 12px;
    white-space: normal;
    max-width: none;
  }
  .cta-btn {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    justify-self: start;
    width: min(100%, 190px);
    min-width: 0;
  }
  .cta-fire { top: 0; bottom: 0; height: 100%; }
}

@media (min-width: 701px) and (max-width: 980px) {
  .stays { min-height: 0; }
  .stays-inner { padding-top: 28px; }
  .tree-ornament { left: -65px; opacity: .37; }
  .experiences { min-height: 235px; }
  .experiences-inner { min-height: 235px; padding-bottom: 26px; }
  .amenities { width: calc(100% - 185px); max-width: none; }
  .polaroid { top: -9px; right: -4px; }
  .cta-content { margin-left: 34%; }
}

@media (max-width: 700px) {
  .hero {
    z-index: 10;
  }
  .hero-visual {
    height: 420px;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 70%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 70%, transparent 100%);
  }
  .stays {
    min-height: 0;
    padding-bottom: 55px;
  }
  .stays-inner { padding-top: 30px; }
  .tree-ornament { display: none; }
  .cta-section { min-height: 380px; }
  .cta-content { display: block; height: auto; min-height: 0; }
  .field-popover { max-width: min(300px, calc(100vw - 32px)); }
}

@media (min-width: 550px) and (max-width: 700px) {
  .stays-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .stay-card { height: 275px; }
  .stay-card:last-child { grid-column: 1 / -1; }
  .stay-card h3, .stays-list .stay-card h3 { font-size: 22px; }
  .stay-card-content p { font-size: 10px; white-space: normal; }
}

@media (max-width: 380px) {
  .hero h1 { font-size: clamp(37px, 11vw, 41px); }
  .search-item { min-width: 0; }
  .search-field { min-width: 0; }
  .field-text small { overflow: hidden; text-overflow: ellipsis; }
  .stays-intro { padding-left: 0; }
  .stays-intro h2 { font-size: 36px; }
  .stay-card-content p { white-space: normal; }
}

/* Keep the cabin and the seal fully visible while filling the dark lower edge. */
.hero-visual {
  -webkit-mask-image: none;
  mask-image: none;
}
.hero-visual img {
  object-fit: fill;
}
/* Previously a late pseudo-element painted a solid rectangle OVER the photo. */
.hero::before { z-index: -3; }
@media (min-width: 1171px) and (max-width: 1399px) {
  .cta-content { gap: clamp(12px, 1.8vw, 25px); }
}

/* Revision 3 — structural fixes for the three reported clipping defects.
   The image is clipped in its own layer; the featured ribbon can extend
   outside the card without cutting the picture or the rounded corners. */
.stay-card {
  overflow: visible;
  isolation: isolate;
}
.stay-card-media {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  border-radius: 12px;
  pointer-events: none;
  background: #071b0f;
}
.stay-card-media > img {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  object-fit: cover;
  transition: transform .8s var(--ease);
}
.stay-card:hover .stay-card-media > img {
  transform: scale(1.065);
}
.stay-card-media .card-gradient {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 12px;
  background: linear-gradient(180deg, transparent 40%, #03150a33 60%, #03120cf2 100%);
}
.stay-card-content {z-index: 2;}
.stay-card .popular-ribbon,
.stay-card:first-child .popular-ribbon {
  display: block;
  top: -9px;
  left: -9px;
  z-index: 6;
  padding: 8px 18px 7px;
  transform: rotate(-8deg);
  transform-origin: center center;
  font-size: 12px;
  line-height: 1.25;
  clip-path: polygon(0 0, 100% 0, 97% 100%, 0 100%);
}

/* A clean stacking boundary for the forest-to-cream transition.  The CTA
   no longer intrudes upward under the green experiences surface. */
.experiences {z-index: 7;}
.cta-section {
  position: relative;
  z-index: 5;
  isolation: isolate;
  overflow: hidden;
  background: var(--cream);
  height: auto;
  min-height: 210px;
  padding: 0;
}
.cta-blob {display: none;}
.cta-fire {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: 0;
  width: 38%;
  height: 100%;
  overflow: hidden;
}
.cta-fire::after {
  background: linear-gradient(90deg, transparent 65%, rgba(245,234,220,.42) 89%, var(--cream));
}
.cta-content {
  position: relative;
  z-index: 2;
  top: auto;
  display: grid;
  grid-template-columns: minmax(250px, 1.15fr) minmax(170px, .85fr) minmax(160px, .77fr);
  grid-template-rows: auto;
  column-gap: clamp(12px, 1.5vw, 24px);
  align-items: center;
  height: auto;
  min-height: 210px;
  margin: 0 2.8% 0 40%;
  padding: 22px 0 23px;
}
.cta-title-group {min-width: 0; grid-column: 1;}
.cta-title-group .eyebrow {white-space: normal; line-height: 1.55;}
.cta-title-group h2 {
  font-size: clamp(29px, 3.05vw, 44px);
  line-height: 1.02;
  white-space: normal;
  margin: 10px 0 0;
}
.cta-spark {font-size: 27px; top: -7px; left: 5px;}
.cta-description {
  grid-column: 2;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding-left: 17px;
  white-space: normal;
  font-size: clamp(10px, .86vw, 12px);
  line-height: 1.47;
}
.cta-description br {display: none;}
.cta-btn {
  grid-column: 3;
  justify-self: stretch;
  margin: 0;
  min-width: 0;
  padding-inline: clamp(14px, 1.5vw, 22px);
  font-size: clamp(12px, 1.05vw, 15px);
  height: 46px;
}
/* The supplied wood crop contains rectangular background pixels.
   Hide this decorative fragment rather than let it cover text or CTA. */
.wood-decoration {display: none;}

@media (min-width: 1400px) {
  .cta-section {min-height: 220px;}
  .cta-content {
    margin-left: 37%;
    margin-right: 5%;
    min-height: 220px;
    grid-template-columns: minmax(285px,1.2fr) minmax(190px,.9fr) minmax(175px,.7fr);
  }
}
@media (min-width: 981px) and (max-width: 1190px) {
  .cta-section {min-height: 244px;}
  .cta-content {
    top: auto;
    min-height: 244px;
    grid-template-columns: minmax(0,1.2fr) minmax(0,.9fr);
    grid-template-rows: auto auto;
    margin-left: 37%;
    margin-right: 4%;
    gap: 12px 18px;
    padding: 22px 0;
  }
  .cta-title-group {grid-row: 1 / span 2;}
  .cta-title-group h2 {font-size: clamp(29px, 3.25vw, 38px);}
  .cta-description {grid-column:2;grid-row:1;padding-left:14px;font-size:11px;}
  .cta-btn {grid-column:2;grid-row:2;justify-self:start;width:min(100%,205px);font-size:14px;}
}
@media (min-width: 701px) and (max-width: 980px) {
  .cta-section {min-height: 250px;}
  .cta-content {
    top: auto;
    min-height: 250px;
    margin-left: 34%;
    margin-right: 3%;
    padding: 27px 0;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    grid-template-rows: auto auto;
    align-items: center;
    gap: 12px 14px;
  }
  .cta-title-group {grid-column:1;grid-row:1 / span 2;}
  .cta-title-group h2 {font-size: clamp(27px, 3.7vw, 36px);}
  .cta-description {grid-column:2;grid-row:1;padding-left:12px;font-size:10px;}
  .cta-btn {grid-column:2;grid-row:2;justify-self:start;width:min(100%,195px);font-size:12px;}
  .cta-fire {width: 34%;}
}
@media (max-width:700px) {
  .cta-section {
    min-height: 355px;
    padding: 0;
  }
  .cta-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    min-height: 355px;
    margin: 0 6%;
    padding: 39px 0 52px;
  }
  .cta-title-group h2 {
    margin: 10px 0 0;
    font-size: clamp(36px, 8.4vw, 48px);
  }
  .cta-description {
    border-left: 2px solid #b3a99a;
    padding-left: 14px;
    font-size: 12px;
  }
  .cta-btn {width: 205px;min-height:46px;font-size:14px;flex:none;}
  .cta-fire {
    top: auto;
    bottom: 0;
    height: 160px;
    width: 100%;
    opacity: .30;
  }
  .cta-fire::after {
    background: linear-gradient(180deg, var(--cream), rgba(245,234,220,.45));
  }
  .stay-card .popular-ribbon {top:-7px;left:-7px;}
}

/* Mobile hero wave must span the entire 1280-unit SVG viewBox.
   The old 700-unit shape ended halfway, creating the straight green stripe. */
@media (max-width:700px) {
  .hero-wave {height:145px;}
  .hero-wave path {
    d: path('M0 70 C180 70 290 135 480 127 C680 118 820 95 1280 108 L1280 155 L0 155 Z');
  }
}


/* V4: assets from the newly generated high-resolution photo series.
   No stretched photos: object-fit: cover always retains intrinsic ratio.
   Hero badge is a separately positioned, transparent overlay. */
.hero-visual picture {display:block;width:100%;height:100%;}
.hero-visual picture img {display:block;width:100%;height:100%;object-fit:cover;object-position:58% 45%;}
.hero-badge {
  position:absolute;
  z-index:3;
  top:clamp(64px,6.5vw,88px);
  right:clamp(22px,4vw,76px);
  display:block;
  width:clamp(125px,12vw,170px);
  height:auto;
  aspect-ratio:1122 / 1402;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 7px 11px rgba(10,24,15,.15));
  transform:rotate(6deg);
  animation:badge-arrive 900ms var(--ease) both;
}
@keyframes badge-arrive {from {opacity:0;transform:translateY(16px) rotate(0deg) scale(.95);} to {opacity:1;transform:rotate(6deg) scale(1);}}
@media (min-width:1400px) {
  .hero-visual picture img {object-position:56% 48%;}
  .hero-badge {top:82px;right:max(5%,calc((100vw - 1510px)/2));width:clamp(170px,12vw,205px);}
}
@media (min-width:701px) and (max-width:980px) {
  .hero-badge {top:74px;right:3%;width:clamp(118px,15vw,145px);}
}
@media (max-width:700px) {
  .hero-visual picture img {object-fit:cover;object-position:center 42%;}
  .hero-badge {top:65px;right:4%;width:clamp(80px,18vw,116px);transform:rotate(7deg);}
  .hero-content {z-index:4;}
}
@media (prefers-reduced-motion:reduce) {.hero-badge{animation:none;}}

/* V5 — feather the ornamental pine into the lower section.
   The source tree art has opaque pixels all the way to its bottom edge;
   masking its lower portion prevents an abrupt rectangular truncation when
   the next dark-green section paints above this section. The fade belongs
   to the independent decorative layer, not to the section or photo. */
.tree-ornament {
  -webkit-mask-image: linear-gradient(to bottom,
      #000 0%,
      #000 52%,
      rgba(0,0,0,.98) 58%,
      rgba(0,0,0,.65) 69%,
      rgba(0,0,0,.26) 80%,
      transparent 88%);
  mask-image: linear-gradient(to bottom,
      #000 0%,
      #000 52%,
      rgba(0,0,0,.98) 58%,
      rgba(0,0,0,.65) 69%,
      rgba(0,0,0,.26) 80%,
      transparent 88%);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}


/* V6 — eliminate the extra olive-green gradient below the hero image.
   The entire first-screen background now uses exactly one forest tone;
   the responsive cream wave and separate photograph remain unchanged. */
.hero::before { content: none; }
.hero, .hero-shape, .hero-visual { background-color: var(--forest); }
