:root{color:#17332c;--green:#173d34;--lime:#d9e48d;--line:#d9ded6;background:#f7f4ed;font-family:Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}.site-header{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f4edf2;align-items:center;gap:2rem;height:84px;padding:0 clamp(1rem,4vw,4rem);display:flex;position:sticky;top:0}.brand{letter-spacing:.12em;flex-direction:column;font-weight:600;line-height:1;text-decoration:none;display:flex}.brand small{letter-spacing:.3em;margin-top:.35rem;font-size:.56rem}.site-header nav{gap:clamp(.7rem,2vw,1.8rem);margin-left:auto;display:flex}.site-header nav a{color:#52645f;font-size:.86rem;text-decoration:none}.site-header nav a.active{color:var(--green)}.button{background:var(--green);color:#fff;border:0;border-radius:999px;justify-content:center;padding:.9rem 1.35rem;font-weight:600;text-decoration:none;display:inline-flex}.button-small{padding:.65rem 1rem;font-size:.85rem}.hero{grid-template-columns:1fr 1.1fr;align-items:center;gap:4vw;min-height:calc(100vh - 84px);padding:clamp(2rem,6vw,6rem);display:grid}.hero>img{object-fit:cover;border-radius:48% 48% 8px 8px;width:100%;height:min(70vh,650px)}.hero-copy{max-width:38rem}.eyebrow{letter-spacing:.18em;color:#567269;font-size:.72rem;font-weight:600}.hero h1,.page-hero>h1,.confirmation h1{letter-spacing:-.05em;margin:1rem 0 1.5rem;font-family:Georgia,serif;font-size:clamp(3.2rem,7vw,7rem);line-height:.94}.hero h1 em,.page-hero h1 em,.confirmation h1 em{color:#7b8d55;font-weight:400}.hero-copy>p:not(.eyebrow){color:#50605b;max-width:31rem;font-size:1.1rem;line-height:1.8}.actions{align-items:center;gap:1.5rem;margin-top:2rem;display:flex}.text-link{text-underline-offset:.3rem}.private-note{background:var(--green);color:#fff;grid-template-columns:1fr 3fr;gap:2rem;padding:5rem clamp(1rem,10vw,10rem);display:grid}.private-note>span{color:var(--lime);font:4rem Georgia}.private-note h2,.section h2,.image-band h2{margin:.5rem 0;font:600 clamp(2rem,4vw,4rem) Georgia}.private-note p:last-child{color:#d8e2de;max-width:48rem;line-height:1.9}.section{max-width:1440px;margin:auto;padding:clamp(4rem,8vw,8rem) clamp(1rem,6vw,6rem)}.section-heading{text-align:center;margin-bottom:3rem}.villa-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.villa-grid article{background:#fff}.villa-grid img{aspect-ratio:4/3;object-fit:cover;width:100%}.villa-grid article>div{padding:1.5rem}.villa-grid .wide{grid-column:1/-1;grid-template-columns:1.4fr 1fr;display:grid}.villa-grid .wide img{aspect-ratio:2;height:100%}.villa-grid h3{margin:.4rem 0;font:600 2rem Georgia}.villa-grid p{color:#5d6864;line-height:1.7}.image-band{background:#d7dfc5;grid-template-columns:1.25fr 1fr;display:grid}.image-band img{object-fit:cover;width:100%;height:600px}.image-band>div{align-self:center;padding:clamp(2rem,8vw,7rem)}.light{color:var(--green);background:#fff}.page-hero{min-height:70vh}.gallery{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.gallery figure{margin:0}.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%}.gallery figcaption{padding:.7rem 0}.feature-list{background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:4rem;display:grid}.feature-list article{background:#f7f4ed;padding:2rem}.map-placeholder{text-align:center;background:#dce4d4;border-radius:1rem;place-items:center;min-height:360px;margin-top:3rem;display:grid}.faq{max-width:760px;margin-top:3rem}.faq details{border-top:1px solid var(--line);padding:1.4rem 0}.rate-list{max-width:780px;margin-top:3rem}.rate-list article{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:1.4rem 0;display:flex}.rate-list article div,.rate-list b{flex-direction:column;display:flex}.fine-print{color:#66736e;font-size:.9rem}footer{color:#fff;background:#102e27;justify-content:space-between;padding:4rem clamp(1rem,6vw,6rem) 6rem;display:flex}.booking-page{background:#e8ebdf;grid-template-columns:minmax(270px,.7fr) minmax(0,1.3fr);min-height:calc(100vh - 84px);display:grid}.booking-intro{background:var(--green);color:#fff;padding:clamp(2rem,6vw,6rem)}.booking-intro h1{font:600 clamp(2.8rem,5vw,5.5rem)/1 Georgia}.booking-intro h1 em{color:var(--lime)}.steps{padding:2rem 0;list-style:none}.steps li{color:#81958f;align-items:center;gap:.8rem;padding:.5rem 0;display:flex}.steps li span{border:1px solid;border-radius:50%;place-items:center;width:1.7rem;height:1.7rem;display:grid}.steps li.active{color:#fff}.booking-card{background:#fff;align-self:start;margin:clamp(1rem,4vw,4rem);padding:clamp(1.2rem,5vw,4rem)}.step-title{align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.step-title h2{margin:0;font:600 clamp(1.7rem,3vw,2.5rem) Georgia}.field-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}label{flex-direction:column;gap:.5rem;margin-bottom:1rem;font-size:.86rem;font-weight:600;display:flex}input,textarea{background:#fafbf8;border:1px solid #ced7d1;border-radius:.45rem;width:100%;padding:.9rem}textarea{min-height:90px}.children,.option-list>button,.night-lines>div,.price dl>div{justify-content:space-between;align-items:center;display:flex}.children{margin:1rem 0}.children div,.option-list span,.night-lines span{flex-direction:column;display:flex}.chip,.back{color:#315f52;background:0 0;border:0;text-decoration:underline}.inline{display:flex}.inline button{border:0}.full{width:100%;margin-top:1rem}.notice{background:#f4f4d8;border-left:4px solid #a7b654;padding:1rem}.notice.error{background:#fff0ec;border-color:#c96b55}.option-list{gap:.8rem;display:grid}.option-list>button{border:1px solid var(--line);text-align:left;background:#fff;padding:1.4rem}.option-list b{text-align:right;flex-direction:column;display:flex}.night-lines>div,.price dl>div{border-bottom:1px solid var(--line);padding:1rem 0}.price dd{margin:0}.price .total{font-size:1.2rem}.check{flex-direction:row;align-items:center}.check input{width:auto}.pet-box,.review-summary{background:#f3f5ed;padding:1rem}.review-summary{display:grid}.confirmation{text-align:center;background:#fff;max-width:850px;margin:4rem auto;padding:clamp(2rem,6vw,5rem)}.reference{font-size:1.5rem}.confirmation-grid{background:#f3f5ee;grid-template-columns:repeat(4,1fr);margin:2rem 0;display:grid}.confirmation-grid span{flex-direction:column;padding:1rem;display:flex}@media (width<=900px){.site-header nav{display:none}.site-header .button{margin-left:auto}.hero,.booking-page{grid-template-columns:1fr}.steps{display:flex;overflow:auto}.steps li{flex-direction:column;min-width:7rem}.gallery{grid-template-columns:1fr 1fr}.feature-list,.image-band{grid-template-columns:1fr}}@media (width<=600px){.site-header{height:68px}.site-header>.button{display:none}.hero{min-height:auto;padding:2rem 1rem 4rem}.hero h1{font-size:3.2rem}.hero>img{height:390px}.private-note{grid-template-columns:1fr;padding:3rem 1.25rem}.villa-grid{grid-template-columns:1fr}.villa-grid .wide{grid-column:auto;display:block}.gallery{grid-template-columns:1fr}.section{padding:4rem 1rem}.mobile-book{background:var(--lime);z-index:30;text-align:center;border-radius:999px;padding:.9rem;font-weight:600;text-decoration:none;display:block;position:fixed;bottom:1rem;left:1rem;right:1rem}.booking-card{margin:0;padding:2rem 1rem}.field-grid{grid-template-columns:1fr}.confirmation-grid{grid-template-columns:1fr 1fr}footer{padding-bottom:7rem}}.location-preview{background:#d9e48d;grid-template-columns:2fr 1fr;align-items:center;gap:3rem;padding:clamp(3rem,8vw,7rem);display:grid}.location-preview h2{margin:.7rem 0;font:600 clamp(2.3rem,5vw,5rem)/1 Georgia}.map-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.light-outline{color:var(--green);border:1px solid var(--green);background:0 0}.coordinate-card{color:#fff;background:#173d34;flex-direction:column;justify-content:space-between;min-height:190px;padding:2rem;display:flex}.coordinate-card strong{font:400 clamp(1.5rem,3vw,2.5rem)/1.4 Georgia}.location-page address{max-width:40rem;font-size:1.1rem;font-style:normal;line-height:1.7}.coordinates{font-variant-numeric:tabular-nums}.map-frame{aspect-ratio:16/8;background:#dce4d4;border-radius:1rem;width:100%;margin-top:3rem;position:relative;overflow:hidden}.map-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.map-confirmation{min-height:48px;margin:1.5rem 0}footer a{align-items:center;min-height:44px;display:inline-flex}.brand{flex:none;align-items:center;width:142px;height:68px;display:flex}.brand img{object-fit:contain;object-position:left center;width:100%;height:100%;display:block}.footer-logo{background:#fff;border-radius:.35rem;width:150px;height:auto;padding:.3rem;display:block}.footer-logo img{object-fit:contain;width:100%;height:auto;display:block}.hero-cover{background:#102e27;width:100%}.hero-cover>img{aspect-ratio:16/9;object-fit:contain;width:100%;height:auto;display:block}.hero-cta{color:#fff;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem clamp(1rem,6vw,6rem) 1.5rem;display:flex}.hero-cta p{margin:0;font-size:clamp(.95rem,2vw,1.15rem)}.hero-cta .actions{flex:none;margin:0}.hero-cta .light-outline{color:#fff;border-color:#fff}@media (width<=900px){.location-preview{grid-template-columns:1fr}.hero-cta{flex-direction:column;align-items:flex-start}.hero-cta .actions{width:100%}}@media (width<=600px){.brand{width:108px;height:56px}.map-actions{display:grid}.map-actions .button{min-height:48px}.map-frame{aspect-ratio:1}.hero-cover>img{aspect-ratio:auto}.hero-cta .actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.hero-cta .button{min-height:48px}}.site-header{height:78px}.brand{width:136px;height:62px}.hero-cover{min-height:min(760px,100svh - 78px);position:relative;overflow:hidden}.hero-cover>img{object-fit:cover;object-position:center 58%;width:100%;height:100%;position:absolute;inset:0}.hero-cover:after{content:"";background:linear-gradient(90deg,#081c18d1 0%,#081c188f 42%,#081c1814 78%),linear-gradient(#0000 45%,#081c1859);position:absolute;inset:0}.hero-overlay{z-index:1;color:#fff;max-width:760px;padding:clamp(5rem,12vw,9rem) clamp(1rem,7vw,7rem);position:relative}.hero-overlay .eyebrow{color:var(--lime)}.hero-overlay h1{letter-spacing:-.055em;margin:.8rem 0 1.5rem;font:600 clamp(3.5rem,8vw,7.5rem)/.9 Georgia}.hero-overlay>p:not(.eyebrow){font-size:clamp(1rem,2vw,1.25rem);line-height:1.75}.hero-outline{color:#fff;background:0 0;border:1px solid #fff}.highlights{background:#fff;grid-template-columns:repeat(4,1fr);padding:0 clamp(1rem,6vw,6rem);display:grid}.highlights div{border-right:1px solid var(--line);flex-direction:column;padding:2rem clamp(.7rem,3vw,2rem);display:flex}.highlights div:last-child{border:0}.highlights strong{font:600 clamp(1.7rem,3vw,2.8rem) Georgia}.highlights span{color:#64716d;margin-top:.3rem}.intro-section{grid-template-columns:1.2fr 1fr;align-items:end;gap:clamp(2rem,8vw,8rem);max-width:1320px;margin:auto;padding:clamp(4rem,9vw,8rem) clamp(1rem,6vw,6rem);display:grid}.intro-section h2,.showcase h2,.contact-section h2{margin:.7rem 0;font:600 clamp(2.2rem,5vw,4.8rem)/1.05 Georgia}.intro-section>p{color:#53635d;font-size:1.05rem;line-height:1.9}.villa-grid article{border-radius:.7rem;overflow:hidden;box-shadow:0 12px 35px #173d3410}.villa-grid img{aspect-ratio:16/10}.villa-grid ul{color:#53635d;padding-left:1.2rem;line-height:1.8}.villa-grid .content-note{border-left:3px solid var(--lime);color:#52605b;background:#eef1e3;grid-column:1/-1;margin:0;padding:1rem 1.2rem}.center-action{text-align:center;margin-top:2.5rem}.showcase{background:var(--green);color:#fff;grid-template-columns:1.15fr 1fr;display:grid}.showcase img{object-fit:cover;object-position:center 60%;width:100%;height:560px}.showcase>div{align-self:center;padding:clamp(2rem,7vw,6rem)}.showcase .eyebrow{color:var(--lime)}.showcase p{color:#d6e0dc;line-height:1.8}.gallery{grid-auto-flow:dense}.gallery figure{background:#e3e7df;position:relative;overflow:hidden}.gallery img{transition:transform .35s;display:block}.gallery figure:hover img{transform:scale(1.025)}.gallery figcaption{color:#fff;background:#102e27dd;padding:.45rem .65rem;font-size:.78rem;position:absolute;bottom:.65rem;left:.65rem}.location-preview{grid-template-columns:1fr .8fr}.location-preview>img{object-fit:cover;width:100%;height:420px}.contact-section{grid-template-columns:1fr 240px;align-items:center;gap:4rem;max-width:1200px;margin:auto;padding:clamp(4rem,8vw,7rem) clamp(1rem,6vw,6rem);display:grid}.contact-section.compact{background:#fff;max-width:none}.contact-section .actions{flex-wrap:wrap}.contact-section>img{width:100%;height:auto}.facility-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:3rem;display:grid}.facility-grid article{background:#fff;grid-template-columns:1.1fr 1fr;display:grid}.facility-grid img{object-fit:cover;width:100%;height:260px}.facility-grid article>div{padding:1.5rem}.facility-grid h3{margin:.25rem 0;font:600 1.7rem Georgia}.facility-grid p,.facility-note,.page-lead{color:#5c6864;line-height:1.75}.facility-note{background:#eef1e3;margin-top:2rem;padding:1.2rem}.nearby{margin-top:4rem}.nearby ul{line-height:2}.footer-links{flex-direction:column;align-items:flex-end;display:flex}.footer-logo{width:170px}@media (width<=900px){.hero-cover{min-height:650px}.site-header{gap:1rem}.intro-section,.showcase,.contact-section{grid-template-columns:1fr}.showcase img{height:440px}.facility-grid article{grid-template-columns:1fr}.contact-section>img{width:180px}.footer-links{align-items:flex-start}.location-preview>img{height:360px}}@media (width<=600px){.site-header{height:66px;padding-inline:1rem}.brand{width:104px;height:54px}.hero-cover{min-height:470px}.hero-cover>img{object-position:58% center}.hero-cover:after{background:linear-gradient(#081c182e,#081c187a 35%,#081c18e6 100%)}.hero-overlay{flex-direction:column;justify-content:flex-end;min-height:470px;padding:6rem 1rem 1.5rem;display:flex}.hero-overlay h1{font-size:3rem}.hero-overlay br{display:none}.hero-overlay>p:not(.eyebrow){line-height:1.55}.hero-overlay .actions{grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.75rem;display:grid}.highlights{grid-template-columns:1fr 1fr;padding:0}.highlights div{border-bottom:1px solid var(--line);padding:1.3rem 1rem}.highlights div:nth-child(2){border-right:0}.intro-section{grid-template-columns:1fr;padding:4rem 1rem}.villa-grid .content-note{grid-column:auto}.villa-grid img{aspect-ratio:auto;height:220px}.showcase img{height:290px}.gallery{grid-template-columns:1fr 1fr;gap:.55rem}.gallery img{aspect-ratio:1;height:auto}.gallery figcaption{font-size:.68rem}.location-preview{padding:3.5rem 1rem}.location-preview>img{height:240px}.contact-section{grid-template-columns:1fr;gap:2rem;padding:3.5rem 1rem}.contact-section>img{object-fit:contain;width:150px;max-height:150px}.facility-grid{grid-template-columns:1fr}.facility-grid img{height:200px}footer{flex-direction:column;gap:2rem}.footer-links{overflow-wrap:anywhere;align-items:flex-start;max-width:100%}}:root{color:#17324d;--green:#1769aa;--lime:#8fd0f2;--line:#d7e3ee;--navy:#12324f;--blue-soft:#eaf5fc;background:#f7fafe;font-family:Arial,Noto Sans Thai,Tahoma,sans-serif}body,.feature-list article{background:#f7fafe}.site-header{background:#fffffff2}.site-header nav a{color:#445e76}.site-header nav a.active,.text-link,.chip,.back{color:#1769aa}.button{background:#1769aa}.button:hover{background:#12578e}.mobile-book{color:#fff;background:#1769aa}.light{color:#1769aa}.light-outline{color:#1769aa;border-color:#1769aa}.eyebrow,.page-hero h1 em,.confirmation h1 em{color:#2879b8}.private-note,.showcase,footer,.booking-aside{background:#123f67}.location-preview{background:#dff1fb}.coordinate-card{background:#123f67}.map-frame,.gallery figure{background:#e8f1f7}.villa-grid .content-note,.facility-note,.pet-box,.review-summary,.confirmation-grid{background:#eaf5fc}.notice{background:#e8f5fc;border-color:#4b9bd0}.villa-grid article,.facility-grid article,.confirmation{box-shadow:0 12px 35px #164f7a14}.gallery figcaption{background:#12324fe6}.hero-cover{background:#12324f}.hero-cover:after{background:linear-gradient(90deg,#0a2741d1 0%,#0a274185 42%,#0a27410f 78%),linear-gradient(#0000 45%,#0a274152)}.hero-overlay h1{letter-spacing:.055em;font-family:Arial,Helvetica Neue,sans-serif;font-weight:700}.eyebrow{letter-spacing:.16em;font-family:Arial,Helvetica Neue,sans-serif;font-weight:700}.page-hero>h1,.confirmation h1{letter-spacing:-.025em;font-family:Arial,Noto Sans Thai,Tahoma,sans-serif}.brand img,.footer-logo img{object-fit:contain}@media (width<=600px){.hero-cover:after{background:linear-gradient(#0a274124,#0a274170 35%,#0a2741e0 100%)}}:root{--brand-blue:#1769aa;--brand-blue-hover:#123f67;--button-disabled:#60778b}.button{text-align:center;white-space:normal;border:1px solid #0000;align-items:center;gap:.4rem;max-width:100%;min-height:44px;line-height:1.25;transition:background-color .18s,border-color .18s,color .18s,transform .18s}.button-primary,.button-primary:visited{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.button-primary:hover,.button-primary:focus-visible{background:var(--brand-blue-hover);border-color:var(--brand-blue-hover);color:#fff}.button-primary:active{color:#fff;background:#0d304f;border-color:#0d304f;transform:translateY(1px)}.button-secondary,.button-secondary:visited{border-color:var(--brand-blue);color:var(--brand-blue);background:0 0}.button-secondary:hover,.button-secondary:focus-visible{border-color:var(--brand-blue-hover);color:var(--brand-blue-hover);background:#eaf5fc}.button-secondary:active{border-color:var(--brand-blue-hover);color:var(--brand-blue-hover);background:#d8edf9;transform:translateY(1px)}.button-light,.button-light:visited{color:var(--navy);background:#fff;border-color:#fff}.button-light:hover,.button-light:focus-visible{color:var(--navy);background:#eaf5fc;border-color:#eaf5fc}.button-light:active{color:var(--navy);background:#d8edf9;border-color:#d8edf9;transform:translateY(1px)}.button-outline-light,.button-outline-light:visited{color:#fff;background:0 0;border-color:#fff}.button-outline-light:hover,.button-outline-light:focus-visible{color:var(--navy);background:#fff}.button-outline-light:active{color:var(--navy);background:#d8edf9;border-color:#d8edf9;transform:translateY(1px)}.button:disabled,.button[aria-disabled=true]{background:var(--button-disabled);border-color:var(--button-disabled);color:#fff;cursor:not-allowed;opacity:1;transform:none}.button:focus-visible,.chip:focus-visible,.back:focus-visible,.text-button:focus-visible,.option-list>button:focus-visible,a:focus-visible,button:focus-visible{outline-offset:2px;box-shadow:0 0 0 2px #fff,0 0 0 5px var(--brand-blue-hover);outline:2px solid #0000}.chip,.back,.text-button{min-height:44px;color:var(--brand-blue);text-underline-offset:.2em;background:0 0;border:0;line-height:1.25;text-decoration:underline}.chip:hover,.back:hover,.text-button:hover{color:var(--brand-blue-hover)}.chip:active,.back:active,.text-button:active{color:#0d304f}.inline .text-button{padding-inline:.85rem}.option-list>button{min-height:64px;color:var(--navy);border-color:var(--line);cursor:pointer;border-radius:.45rem;transition:background-color .18s,border-color .18s}.option-list>button:hover,.option-list>button:focus-visible{border-color:var(--brand-blue);background:#eaf5fc}.option-list>button:active{background:#d8edf9}.option-list>button:disabled{color:#455a6c;cursor:not-allowed;opacity:1;background:#eef2f5;border-color:#c8d3dc}.text-link,.text-link:visited{color:var(--brand-blue);font-weight:600}.text-link:hover,.text-link:focus-visible{color:var(--brand-blue-hover)}.text-link:active{color:#0d304f}.site-header nav a:visited{color:#445e76}.mobile-book{display:none}footer a:visited{color:#fff}@media (width<=600px){.mobile-book{left:max(1rem,env(safe-area-inset-left));right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));width:auto;min-height:48px;display:inline-flex}.hero-overlay .actions{align-items:stretch}.hero-overlay .button,.map-actions .button{width:100%}}.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.gallery-card{aspect-ratio:4/3;background:#e8f1f7;border-radius:.65rem;min-width:0;margin:0;position:relative;overflow:hidden}.gallery-card img{aspect-ratio:auto;object-fit:cover;object-position:var(--gallery-position,center);width:100%;height:100%;display:block}@media (width<=900px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.gallery{grid-template-columns:minmax(0,1fr);gap:.8rem}}.hero-overlay .hero-title{letter-spacing:.04em;white-space:normal;overflow-wrap:normal;word-break:normal;max-width:100%;font-size:clamp(3.5rem,8vw,7.5rem);line-height:.9}@media (width<=600px){.hero-overlay .hero-title{letter-spacing:.015em;font-size:clamp(2.65rem,13vw,3.5rem);line-height:.92}.hero-overlay .hero-title br{display:block}}.home-facilities{color:#d6e0dc;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1.5rem;margin:1.5rem 0 2rem;padding-left:1.2rem;line-height:1.55;display:grid}.facilities-page .page-lead{max-width:48rem}.facilities-page .facility-grid{align-items:stretch}.facilities-page .facility-grid article{border-radius:.7rem;grid-template-columns:1fr;overflow:hidden}.facilities-page .facility-grid article:first-child{grid-column:1/-1;grid-template-columns:1.2fr 1fr}.facilities-page .facility-grid img{height:250px}.facilities-page .facility-grid article:first-child img{height:100%;min-height:310px}.facilities-page .facility-grid article>div{padding:clamp(1.3rem,3vw,2rem)}.facilities-page .facility-grid h2{margin:0 0 1rem;font:600 clamp(1.35rem,2.4vw,1.8rem)/1.25 Georgia}.facilities-page .facility-grid ul{color:#5c6864;margin:0;padding-left:1.2rem;line-height:1.8}.facilities-page .facility-note{border-left:3px solid var(--lime)}@media (width<=900px){.facilities-page .facility-grid article:first-child{grid-template-columns:1fr}.facilities-page .facility-grid article:first-child img{height:280px;min-height:0}}@media (width<=600px){.home-facilities{grid-template-columns:1fr}.facilities-page .facility-grid{gap:1rem}.facilities-page .facility-grid img,.facilities-page .facility-grid article:first-child img{height:210px}.facilities-page .facility-grid h2{font-family:Arial,Noto Sans Thai,Tahoma,sans-serif}.facilities-page .facility-note{margin-top:1.25rem}}.nearby-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1.5rem 0;display:grid}.nearby-preview span{min-width:0;color:var(--navy);overflow-wrap:anywhere;background:#ffffffb8;border:1px solid #b9daec;border-radius:.45rem;padding:.75rem 1rem}.nearby>h2{margin:.4rem 0 1.5rem;font-size:clamp(1.8rem,4vw,3rem)}.nearby-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.nearby-groups article{border:1px solid var(--line);background:#fff;border-radius:.7rem;min-width:0;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 12px 35px #164f7a0d}.nearby-groups h3,.verified-distances h3{margin:0 0 .8rem;font-size:1.25rem}.nearby-groups ul,.verified-distances ul{margin:0;padding-left:1.2rem;line-height:1.8}.nearby-groups li,.verified-distances li{overflow-wrap:anywhere}.verified-distances{border-left:3px solid var(--lime);background:var(--blue-soft);margin-top:1rem;padding:1.25rem}@media (width<=600px){.nearby-preview,.nearby-groups{grid-template-columns:minmax(0,1fr)}.nearby-preview span{padding:.7rem .85rem}.nearby-groups article{padding:1.15rem}}.villa-room-sections{margin-top:clamp(4rem,8vw,7rem)}.villa-room-sections>.section-heading{margin-bottom:2rem}.villa-room-group{margin-top:clamp(2.5rem,6vw,4.5rem)}.villa-room-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.25rem;display:flex}.villa-room-heading h3{margin:0 0 .75rem;font-size:clamp(1.7rem,3vw,2.5rem)}.villa-room-heading p{color:#5c6864;margin:0 0 .9rem}.villa-room-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.villa-room-gallery figure{border:1px solid var(--line);background:#fff;border-radius:.65rem;min-width:0;margin:0;overflow:hidden;box-shadow:0 12px 35px #164f7a0d}.villa-room-gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.villa-room-gallery figcaption{color:#314d64;padding:.8rem 1rem;font-weight:600}@media (width<=900px){.villa-room-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.villa-room-heading{flex-direction:column;align-items:start;gap:0}.villa-room-gallery{grid-template-columns:minmax(0,1fr)}.villa-room-gallery img{aspect-ratio:4/3}}.booking-calendar{border:1px solid var(--line);background:#f8fbfd;border-radius:.65rem;min-width:0;margin-bottom:1.5rem;padding:clamp(.8rem,3vw,1.25rem)}.booking-card .calendar-state-input{clip-path:inset(50%);pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.calendar-toolbar{text-align:center;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;display:grid}.calendar-toolbar button{min-height:44px;color:var(--brand-blue);background:0 0;border:0;border-radius:50%;font-size:1.8rem}.calendar-toolbar button:disabled{color:#aab5bd;cursor:not-allowed}.calendar-toolbar>span{color:#607484;font-size:.85rem;font-weight:700}.calendar-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2rem);margin-top:.5rem;display:grid}.calendar-month{min-width:0}.calendar-month-title{text-align:center;color:#17324c;display:block}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;display:grid}.calendar-weekdays{text-align:center;color:#607484;margin:.75rem 0 .35rem;font-size:.75rem}.calendar-days button,.calendar-days>span{aspect-ratio:1;min-width:0}.calendar-days button{color:#17324c;background:#fff;border:1px solid #0000;border-radius:50%;font-weight:600}.calendar-days button:hover:not(:disabled){border-color:var(--brand-blue)}.calendar-days button:disabled{color:#9aa4ab;cursor:not-allowed;background:#e7ebee;text-decoration:line-through}.calendar-days button.in-range{background:#dff1fb;border-radius:.35rem}.calendar-days button.check-in,.calendar-days button.check-out{background:var(--brand-blue);color:#fff;text-decoration:none}.calendar-days button.unavailable:not(:disabled){color:#66737d;background:#eef1f3;border-color:#aab5bd}.calendar-status{text-align:center;color:#607484;margin:.75rem 0 0}.calendar-selection{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.calendar-selection span{background:#eaf5fc;border-radius:.45rem;flex-direction:column;min-width:0;padding:.75rem;display:flex}.calendar-selection b{overflow-wrap:anywhere}.calendar-legend{color:#607484;flex-wrap:wrap;gap:1rem;margin:.85rem 0 0;font-size:.78rem;display:flex}.calendar-legend span{align-items:center;gap:.35rem;display:inline-flex}.calendar-legend i{border:1px solid var(--line);background:#fff;border-radius:50%;width:.8rem;height:.8rem}.calendar-legend i.booked{background:#e7ebee}.calendar-legend i.selected{background:var(--brand-blue)}@media (width<=720px){.calendar-months{grid-template-columns:minmax(0,1fr)}}@media (width<=350px){.calendar-selection{grid-template-columns:minmax(0,1fr)}}.site-shell,main,.hero-cover,.hero-overlay,.hero-overlay>*{min-width:0}.hero-overlay .hero-title{text-overflow:clip;width:100%;overflow:visible}.hero-overlay .hero-title span{max-width:100%;display:block}.booking-page,.booking-card,.booking-card form,.booking-card label,.booking-card input,.booking-card textarea,.field-grid{min-width:0;max-width:100%}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-card input,.booking-card textarea{width:100%;display:block}.booking-card input[type=date]{appearance:none;-webkit-min-logical-width:0;min-inline-size:0}.booking-card .check input{flex:none;width:auto}.booking-card .inline{grid-template-columns:minmax(0,1fr) auto;width:100%;min-width:0;display:grid}.option-list{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%}.option-list>button{width:100%;min-width:0;max-width:100%;overflow:hidden}.option-list>button>span,.option-list>button>b{overflow-wrap:anywhere;max-width:100%}.night-lines,.price,.price dl,.review-summary,.confirmation,.confirmation-grid{min-width:0;max-width:100%}.night-lines>div,.price dl>div{width:100%;min-width:0;max-width:100%}.night-lines>div>*,.price dl>div>*,.review-summary>*,.confirmation-grid span,.confirmation-grid b{overflow-wrap:anywhere;min-width:0;max-width:100%}.booking-card .check{grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.review-summary{grid-template-columns:minmax(0,1fr)}.confirmation{width:calc(100% - 2rem);overflow:hidden}.confirmation-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.reference,.hold{overflow-wrap:anywhere;max-width:100%}@media (width<=600px){html,body{min-width:0;max-width:100%}.site-shell{max-width:100%;padding-bottom:calc(5.25rem + env(safe-area-inset-bottom,0px))}.site-header{gap:.75rem;height:58px;padding-inline:.75rem}.brand{width:96px;min-width:0;height:48px}.brand img{object-fit:contain;max-width:100%}.hero-cover{isolation:isolate;min-height:clamp(500px,78svh,680px);display:grid;overflow:visible}.hero-cover>img{z-index:-2;object-position:58% center}.hero-cover:after{z-index:-1}.hero-overlay{justify-content:end;align-self:stretch;width:100%;max-width:none;min-height:0;padding:clamp(3.5rem,12vw,5rem) clamp(1rem,5vw,1.35rem) 2rem;container-type:inline-size}.hero-overlay .eyebrow{letter-spacing:clamp(.08em,.45vw,.14em);overflow-wrap:anywhere;max-width:100%;margin-bottom:.55rem;font-size:clamp(.62rem,2.7vw,.72rem);line-height:1.4}.hero-overlay .hero-title{letter-spacing:clamp(0em,.15cqi,.008em);white-space:normal;overflow-wrap:normal;word-break:normal;width:100%;max-width:100%;margin:.35rem 0 1rem;font-size:clamp(2.15rem,11.25cqi,3.15rem);line-height:.96;overflow:visible}.hero-overlay .hero-title span{white-space:nowrap;width:max-content;max-width:100%}.hero-overlay>p:not(.eyebrow){overflow-wrap:anywhere;max-width:34rem;margin:.25rem 0;font-size:clamp(.92rem,3.8vw,1.05rem);line-height:1.55}.hero-overlay .actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;width:100%;min-width:0;margin-top:1.1rem}.hero-overlay .button{min-width:0;min-height:46px;padding:.75rem .8rem}.mobile-book{left:max(.75rem,env(safe-area-inset-left,0px));right:max(.75rem,env(safe-area-inset-right,0px));bottom:max(.65rem,env(safe-area-inset-bottom,0px));min-height:46px;padding:.7rem 1rem}footer{padding-bottom:2rem}.page-hero>h1,.confirmation h1,.booking-intro h1,.intro-section h2,.showcase h2,.location-preview h2{overflow-wrap:anywhere;max-width:100%}.villa-grid,.facility-grid,.nearby-groups,.booking-page,.booking-card,.field-grid,.option-list,.rate-list,.contact-section,.location-preview,.children>*,.option-list>button>*,.night-lines>div>*,.price dl>div>*,.rate-list article>*{min-width:0}.option-list>button,.night-lines>div,.price dl>div,.rate-list article{gap:.75rem}.field-grid{grid-template-columns:minmax(0,1fr)}.option-list>button{flex-direction:column;align-items:flex-start;padding:1.15rem}.option-list b{text-align:left}.night-lines>div,.price dl>div{grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.confirmation{margin:1rem auto;padding:2rem 1rem}.confirmation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.confirmation-grid span{padding:.85rem .6rem}}@media (width<=350px){.hero-cover{min-height:0}.hero-overlay{padding-top:3.25rem}.hero-overlay .hero-title{font-size:clamp(1.95rem,10.75cqi,2.3rem)}.hero-overlay .actions{grid-template-columns:minmax(0,1fr)}.option-list>button,.night-lines>div,.price dl>div,.rate-list article{flex-direction:column;align-items:flex-start}.night-lines>div,.price dl>div{grid-template-columns:minmax(0,1fr)}.option-list b{text-align:left}}.staging-banner{color:#593f00;text-align:center;letter-spacing:.04em;background:#fff1b8;padding:.35rem 1rem;font-size:.78rem;font-weight:700}:root{--admin:#173b35;--admin-soft:#eaf2ef;--danger:#a33b32}.admin-shell{color:#17221f;background:#f4f6f5;grid-template-columns:230px 1fr;min-height:100vh;display:grid}.admin-shell aside{background:var(--admin);color:#fff;flex-direction:column;gap:8px;padding:28px 20px;display:flex}.admin-shell aside h1{margin:0;font-size:20px}.admin-shell aside small{opacity:.65}.admin-shell aside nav{gap:6px;margin:28px 0 auto;display:grid}.admin-shell aside a,.admin-shell aside button{color:#fff;text-align:left;background:0 0;border:0;border-radius:8px;padding:11px 12px;text-decoration:none}.admin-shell aside a.active,.admin-shell aside a:hover{background:#ffffff18}.admin-header{background:#fff;border-bottom:1px solid #dde4e1;padding:24px 32px}.admin-header h1{margin:0;font-size:25px}.admin-content{padding:28px 32px}.admin-login,.admin-center{background:var(--admin-soft);place-items:center;min-height:100vh;display:grid}.admin-login form{background:#fff;border-radius:14px;gap:18px;width:min(380px,90vw);padding:36px;display:grid;box-shadow:0 20px 60px #173b3520}.admin-login label,.admin-form label{gap:7px;display:grid}.admin-login input,.admin-form input,.admin-form select,.admin-form textarea,.toolbar input,.toolbar select{background:#fff;border:1px solid #cad6d1;border-radius:7px;padding:10px}.admin-login button,.admin-content button,.admin-button{background:var(--admin);color:#fff;cursor:pointer;border:0;border-radius:7px;padding:10px 15px;text-decoration:none}.metrics{grid-template-columns:repeat(5,minmax(120px,1fr));gap:14px;margin-bottom:22px;display:grid}.metric,.panel{background:#fff;border:1px solid #e0e6e3;border-radius:10px;padding:20px}.metric{gap:12px;display:grid}.metric strong{font-size:30px}.toolbar,.actions{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.toolbar input:first-child{min-width:260px}.table-wrap{background:#fff;border-radius:10px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:900px}th,td{text-align:left;border-bottom:1px solid #e9edeb;padding:13px}td small,.panel small{color:#67736f;margin-top:4px;display:block}.badge{background:#e8ecea;border-radius:999px;padding:4px 8px;font-size:12px;display:inline-block}.badge.confirmed{color:#17633e;background:#d9f1e5}.badge.pendingpayment{color:#805b00;background:#fff0c7}.badge.cancelled,.badge.expired{color:#8b3028;background:#f4dddd}.badge.blocked{color:#663581;background:#eee3f5}.detail-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.actions .danger,.panel .danger{background:var(--danger);margin-left:8px}.error{color:var(--danger)}.admin-form{grid-template-columns:1fr 1fr;gap:16px;max-width:850px;display:grid}.admin-form .wide{grid-column:1/-1}.cards,.calendar-list{gap:12px;display:grid}.calendar-event{background:#fff;border-left:6px solid #dca92d;align-items:center;gap:18px;padding:15px;display:flex}.calendar-event.block{border-color:#734791}.calendar-event a{margin-left:auto}@media (width<=900px){.admin-shell{grid-template-columns:1fr}.admin-shell aside{position:static}.admin-shell aside nav{margin:14px 0;display:flex;overflow:auto}.metrics{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.admin-content{padding:18px}.admin-form{grid-template-columns:1fr}.admin-form .wide{grid-column:auto}}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#07191594;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.admin-modal{background:#fff;border-radius:14px;width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 24px 70px #00000047}.admin-modal-small{width:min(520px,100%)}.admin-modal>header{justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 24px 12px;display:flex}.admin-modal h2{color:#153c32;margin:2px 0 0;font-size:1.5rem}.modal-eyebrow{color:#698078;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.modal-description{color:#52645e;margin:0;line-height:1.6}.admin-content .success{color:#17633e;font-weight:600}.admin-modal form,.admin-modal .modal-body{gap:18px;padding:0 24px 24px;display:grid}.modal-summary{background:#f3f7f5;border-radius:9px;gap:10px;margin:0;padding:14px;display:grid}.modal-summary>div{grid-template-columns:110px 1fr;gap:12px;display:grid}.modal-summary dt{color:#687871}.modal-summary dd{color:#1e342d;overflow-wrap:anywhere;margin:0;font-weight:700}.admin-modal label{color:#263b35;gap:7px;font-weight:600;display:grid}.admin-modal input,.admin-modal textarea{box-sizing:border-box;color:#16241f;width:100%;font:inherit;background:#fff;border:1px solid #cbd5d1;border-radius:8px;padding:10px 12px}.admin-modal input:focus,.admin-modal textarea:focus{outline-offset:1px;border-color:#397765;outline:2px solid #9ac6b8}.modal-date-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.admin-modal footer{color:inherit;background:0 0;justify-content:flex-end;gap:10px;padding:0;display:flex}.admin-modal .secondary,.admin-modal .modal-close{color:#263b35;background:#edf1ef}.admin-modal .danger{margin-left:0}.admin-modal .modal-close{min-width:40px;padding:6px 10px;font-size:1.5rem;line-height:1}.admin-modal button:disabled{cursor:not-allowed;opacity:.6}@media (width<=600px){.modal-date-grid{grid-template-columns:1fr}.admin-modal>header{padding:20px 20px 10px}.admin-modal form,.admin-modal .modal-body{padding:0 20px 20px}.modal-summary>div{grid-template-columns:1fr;gap:2px}}.admin-calendar-toolbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-bottom:18px;display:grid}.admin-calendar-toolbar>div:first-child{gap:7px;display:flex}.admin-calendar-toolbar h2{color:#173b35;text-align:center;margin:0;font-size:1.35rem}.admin-calendar-toolbar .calendar-today{color:#173b35;background:#e7efec}.admin-calendar-legend{color:#5b6c66;justify-content:flex-end;gap:14px;font-size:.82rem;display:flex}.admin-calendar-legend span{align-items:center;gap:6px;display:inline-flex}.admin-calendar-legend i{background:#286d9b;border-radius:3px;width:10px;height:10px}.admin-calendar-legend i.block{background:#734791}.admin-calendar-scroll{background:#fff;border:1px solid #dbe3df;border-radius:12px;min-width:0;overflow-x:auto}.admin-calendar-months{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.admin-calendar{min-width:520px;position:relative}.admin-calendar h3{color:#173b35;text-align:center;border-bottom:1px solid #dbe3df;margin:0;padding:14px 12px;font-size:1rem}.admin-calendar-weekdays,.admin-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.admin-calendar-weekdays{background:#f0f5f3;border-bottom:1px solid #dbe3df}.admin-calendar-weekdays span{color:#5d6c67;text-align:center;padding:11px 8px;font-size:.78rem;font-weight:700}.admin-calendar-day{background:#fff;border-bottom:1px solid #e5ebe8;border-right:1px solid #e5ebe8;min-height:112px;padding:6px;overflow:hidden}.admin-calendar-day:nth-child(7n){border-right:0}.admin-calendar-day.outside{background:#f7f9f8}.admin-calendar-day>time{color:#40514b;border-radius:50%;place-items:center;width:28px;height:28px;margin-left:auto;font-size:.82rem;font-weight:700;display:grid}.admin-calendar-day.outside>time{color:#a5afab}.admin-calendar-day.today>time{color:#fff;background:#173b35}.admin-calendar-events{gap:5px;margin-top:5px;display:grid}.admin-calendar-event{color:#184c6e;background:#e8f3fa;border-left:4px solid #286d9b;border-radius:5px;min-width:0;padding:6px 7px;text-decoration:none;display:block;overflow:hidden}.admin-calendar-event:hover{filter:brightness(.97)}.admin-calendar-event strong,.admin-calendar-event small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-calendar-event strong{font-size:.75rem}.admin-calendar-event small{color:inherit;margin-top:2px;font-size:.65rem}.admin-calendar-event.pendingpayment{color:#71520d;background:#fff4d6;border-left-color:#d59d22}.admin-calendar-event.cancelled,.admin-calendar-event.expired{color:#7d2c25;background:#f8e7e5;border-left-color:#a33b32}.admin-calendar-event.block{color:#57336d;background:#f1eaf6;border-left-color:#734791}.admin-calendar-loading{color:#40514b;background:#ffffffbd;place-items:center;font-weight:700;display:grid;position:absolute;inset:45px 0 0}.calendar-range-note{color:#67736f;margin:12px 2px 0;font-size:.8rem}@media (width<=760px){.admin-calendar-toolbar{grid-template-columns:1fr}.admin-calendar-toolbar h2{text-align:left;grid-row:1}.admin-calendar-legend{justify-content:flex-start}}@media (width<=1100px){.admin-calendar-months{grid-template-columns:1fr}}
