:root{--green:#284b3b;--green-dark:#193b2b;--olive:#63734c;--gold:#96722e;--cream:#f7f5ef;--ink:#26382d;--muted:#617065;--line:#e0e5db}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:'DM Sans','Noto Sans Thai',sans-serif;font-size:16px;line-height:1.8;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a58036;outline-offset:5px}img{max-width:100%}.wrap{width:min(1160px,calc(100% - 64px));margin-inline:auto}.skip{position:fixed;top:-90px;left:20px;background:#fff;padding:12px;z-index:100}.skip:focus{top:10px}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-inner{min-height:90px;display:flex;align-items:center;gap:30px}.logo{width:215px;height:auto;display:block}.header-note{font-size:14px;line-height:1.6;border-left:1px solid var(--line);padding-left:26px}.header-note small{font-size:13px;color:var(--muted)}.header-contact{margin-left:auto;display:flex;flex-direction:column;font-size:16px;font-weight:700;line-height:1.6}.header-contact a:last-child{font-size:14px;color:var(--olive)}.hero{position:relative;overflow:hidden;background:var(--cream);min-height:650px}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:66% center}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,#f9f7f0 0%,rgba(249,247,240,.97) 22%,rgba(249,247,240,.7) 43%,transparent 67%)}.hero-inner{position:relative;padding-block:68px 56px}.hero-copy{max-width:590px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--olive);margin:0 0 14px}.location{font-size:14px;color:var(--green);margin:0 0 18px}.hero h1{font-size:clamp(34px,3.5vw,51px);line-height:1.5;letter-spacing:-.035em;color:var(--green-dark);margin:0 0 18px;font-weight:750}.hero-lead{font-size:23px;line-height:1.65;margin:0 0 14px}.hero-desc{max-width:465px;color:#4c5c4f;margin:0 0 22px}.checks{list-style:none;padding:0;margin:0}.checks li{position:relative;padding-left:28px;margin-bottom:10px}.checks li:before{content:'✓';position:absolute;left:0;top:3px;display:grid;place-items:center;width:19px;height:19px;background:var(--olive);color:#fff;border-radius:50%;font-size:12px;font-weight:700;line-height:1}.hero-checks{display:grid;grid-template-columns:1fr 1fr;max-width:475px;font-size:14px;gap:0 12px;margin-bottom:22px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:54px;border:0;border-radius:999px;padding:13px 26px;font-weight:650;line-height:1.65;font-size:16px;text-align:center;cursor:pointer}.button span{font-size:22px}.gold{color:#fff;background:linear-gradient(110deg,#aa8334,#886621);box-shadow:0 7px 22px #71551c1a}.green{background:var(--green);color:#fff}.button:hover{filter:brightness(1.07)}.text-link{display:inline-block;font-size:14px;font-weight:600;border-bottom:1px solid #9daa94;padding-block:5px}.booking-note{font-size:13px;color:var(--muted);margin-top:14px}.image-note{position:absolute;bottom:12px;right:22px;font-size:10px;color:#425445;background:#ffffffc9;padding:2px 8px;border-radius:4px}.promise-strip{background:var(--green);color:#fff}.promises{display:grid;grid-template-columns:repeat(4,1fr);padding-block:24px;gap:28px}.promises>div{display:flex;gap:16px;align-items:center;border-right:1px solid #ffffff26}.promises>div:last-child{border:0}.promises span{font-size:26px;color:#d9c18b}.promises p{font-size:14px;margin:0;line-height:1.6;color:#dfE7dc}.promises strong{font-weight:600;color:#fff}.section{padding:76px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:32px}.section-head>p{font-size:15px;color:var(--muted);line-height:1.8;margin:0}.section h2,.price-section h2,.contact-section h2{font-size:clamp(27px,3vw,37px);font-weight:650;line-height:1.5;letter-spacing:-.025em;color:var(--green);margin:0}.condition-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}.condition{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff;transition:transform .2s}.condition:hover{transform:translateY(-4px)}.condition img{display:block;width:100%;height:115px;object-fit:cover}.condition span{display:block;padding:13px 4px;text-align:center;font-size:13px;font-weight:600;line-height:1.6}.fine{font-size:12px;line-height:1.8;color:var(--muted);margin:18px 0 0}.soft{background:var(--cream)}.benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.benefit{background:#fff;border:1px solid #e8e6dd;border-radius:14px;padding:26px}.number{font-size:29px;font-weight:500;color:#9c8247;display:block;margin-bottom:20px}.benefit h3,.service h3,.steps h3{font-size:18px;font-weight:650;line-height:1.6;margin:0 0 8px}.benefit p,.steps p{font-size:14px;line-height:1.85;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service{border:1px solid var(--line);border-radius:12px;overflow:hidden;display:grid;grid-template-columns:116px 1fr;align-items:stretch}.service img{height:100%;min-height:166px;width:116px;object-fit:cover}.service>div{padding:20px 16px}.service>div>span{font-size:12px;color:var(--olive);font-weight:600}.service h3{font-size:16px;margin:5px 0 7px}.service p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}.reviews-section{background:#f2f5ef}.rating{display:flex;gap:18px;align-items:center}.rating>strong{font-size:43px;font-weight:600;letter-spacing:-2px;line-height:1}.rating small{font-size:15px;letter-spacing:0;color:var(--muted)}.stars{color:#9e7021;letter-spacing:3px;font-size:18px;white-space:nowrap}.rating p{font-size:12px;margin:4px 0 0;color:var(--muted)}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;display:flex;flex-direction:column}.review-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.review-top>span:last-child{font-size:13px;color:var(--muted)}blockquote{margin:22px 0 28px;font-size:16px;line-height:1.95;flex:1}.review-author{display:flex;align-items:center;gap:12px}.avatar{width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:var(--cream);color:var(--olive);display:grid;place-items:center;font-weight:600}.review-author strong{display:block;font-size:14px}.review-author small{font-size:12px;color:var(--muted)}.review-bottom{display:flex;justify-content:space-between;align-items:center;gap:22px}.real-photos{border-top:1px solid #dbe2d5;margin-top:30px;padding-top:28px;display:grid;grid-template-columns:1fr 210px 210px;gap:18px;align-items:center}.real-photos h3{font-size:19px;margin:0}.real-photos p{font-size:14px;color:var(--muted)}.real-photos img{display:block;width:210px;height:190px;object-fit:cover;border-radius:10px}.steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:0}.steps li{position:relative;padding-top:26px;border-top:1px solid #b9c4af}.steps li>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:17px;position:relative;margin-top:-45px;margin-bottom:20px;border:4px solid #fff;box-sizing:content-box}.steps li:nth-child(even)>span{background:var(--gold)}.steps{margin-top:50px}.price-section{padding:68px 0;background:#f6f3e9}.price-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.price-layout>div>p{margin-bottom:8px}.price{font-size:clamp(32px,3.7vw,49px);line-height:1.5;font-weight:700;color:var(--green);letter-spacing:-1.5px}.price span{font-size:17px;font-weight:500;letter-spacing:0}.duration{font-size:19px}.price-detail{border-left:1px solid #dcd6c6;padding-left:48px}.price-detail>p{font-size:14px;color:var(--muted)}.price-detail .button{margin-top:22px}.booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:start}.booking-copy>p{max-width:440px;color:var(--muted)}.booking-copy .eyebrow{color:var(--olive)}.booking-copy .large{font-size:23px;color:var(--ink);line-height:1.7;margin:22px 0 14px}.booking-direct{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:28px}.phone-link{font-size:16px;font-weight:600}.booking-panel{padding:34px;border:1px solid var(--line);border-radius:20px;box-shadow:0 14px 50px #203c2a08;background:#fff}.booking-panel h3{font-size:22px;line-height:1.5;margin:0 0 8px}.form-intro{font-size:14px;color:var(--muted);margin:0 0 23px}.booking-panel label{display:block;font-size:14px;font-weight:600;margin:0 0 7px}.booking-panel label span{font-weight:400;color:var(--muted)}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #bdc8b8;border-radius:9px;padding:12px 13px;background:#fff;color:var(--ink);font-size:16px;margin:0 0 20px;min-height:48px}input:focus,select:focus,textarea:focus{outline:2px solid var(--olive);outline-offset:2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-panel .button{width:100%;margin-top:4px;font-size:15px}.booking-panel .fine{margin-top:14px}.booking-panel textarea{font-size:14px;resize:vertical;background:#f7f9f5;line-height:1.8}.booking-panel [hidden]{display:none}.booking-panel [role=status]{font-size:14px;color:var(--green);margin:12px 0}.edit-button{background:none;border:0;border-bottom:1px solid var(--muted);padding:5px 0;font-size:14px;color:var(--muted);cursor:pointer;margin-top:12px}.faq-section{background:#fafaf7;padding-block:56px}.faq-layout{display:grid;grid-template-columns:.7fr 1fr;gap:80px}.faqs details{border-bottom:1px solid var(--line)}.faqs summary{font-size:16px;font-weight:600;padding:20px 28px 20px 0;cursor:pointer;list-style:none;position:relative}.faqs summary::-webkit-details-marker{display:none}.faqs summary:after{content:'+';position:absolute;right:2px;font-size:23px;top:14px;font-weight:400}.faqs details[open] summary:after{content:'−'}.faqs details p{font-size:14px;color:var(--muted);margin:0 0 22px}.contact-section{background:var(--green);padding:65px 0;color:#fff}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-section .eyebrow{color:#d9c18b}.contact-section h2{color:#fff}.contact-section p{font-size:15px;color:#dce4d9}.contact-section .button{margin-top:20px}.contact-details>div{border-bottom:1px solid #ffffff26;padding:0 0 18px;margin-bottom:18px}.contact-details span{display:block;font-size:12px;color:#d8c394;margin-bottom:5px}.contact-details strong{font-size:17px;font-weight:500}.contact-details p{margin:0}.map-link{font-size:14px;display:inline-block;border-bottom:1px solid #d8c394;margin-top:12px}.contact-note{font-size:13px!important}.footer{background:#1c3a2a;color:#d5dfcf;padding:20px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:12px}.footer-inner p{margin:0}.footer-inner>div{display:flex;gap:18px}.mobile-booking{display:none}
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.hero-photo{object-position:70% center}.hero-wash{background:linear-gradient(90deg,#f9f7f0 0%,#f9f7f0ed 25%,#f9f7f0a8 55%,#f9f7f030 100%)}.hero-copy{max-width:540px}.condition-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.condition img{height:135px}.condition span{font-size:14px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.benefit{padding:22px}.booking-layout,.price-layout{gap:36px}.booking-panel{padding:26px}.real-photos{grid-template-columns:1fr 180px 180px}.real-photos img{width:180px}.header-note{display:none}}
@media(max-width:700px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 36px)}body{padding-bottom:78px}.header-inner{min-height:70px;gap:12px}.logo{width:162px}.header-contact{font-size:13px}.header-contact a:last-child{font-size:12px}.hero{min-height:0;padding-bottom:285px}.hero-photo{inset:auto 0 0;height:330px;object-position:78% center;object-fit:cover}.hero-wash{background:linear-gradient(180deg,#f9f7f0 0%,#f9f7f0 60%,#f9f7f000 82%)}.hero-inner{padding:34px 0 20px}.hero-copy{max-width:none}.eyebrow{font-size:10px;letter-spacing:.11em;margin-bottom:10px}.location{font-size:12px;margin-bottom:16px}.hero h1{font-size:clamp(28px,7.6vw,39px);line-height:1.5;margin-bottom:16px;letter-spacing:-.045em}.hero-lead{font-size:20px}.hero-desc{font-size:14px;line-height:1.9;max-width:100%}.hero-checks{font-size:12px;gap:0 8px}.checks li{padding-left:25px}.hero-actions{gap:16px}.hero-actions .button{width:100%}.hero-actions .text-link{font-size:13px}.button{font-size:15px;min-height:52px}.booking-note{font-size:12px;margin-bottom:0}.image-note{bottom:10px;right:12px;font-size:9px;max-width:calc(100% - 24px)}.promises{grid-template-columns:1fr 1fr;gap:18px 14px;padding-block:22px}.promises>div:nth-child(2){border:0}.promises span{font-size:23px}.promises>div{gap:11px}.promises p{font-size:12px}.section{padding:48px 0}.section-head{display:block;margin-bottom:24px}.section h2,.price-section h2,.contact-section h2{font-size:27px;line-height:1.5}.section-head>p{font-size:14px;margin-top:14px}.condition-grid{gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.condition{border-radius:9px}.condition img{height:76px}.condition span{font-size:11px;padding:10px 3px;line-height:1.7;min-height:54px;display:grid;place-items:center}.fine{font-size:11px;line-height:1.85}.benefit-grid{grid-template-columns:1fr 1fr;gap:12px}.benefit{padding:19px 16px}.number{font-size:24px;margin-bottom:12px}.benefit h3{font-size:16px}.benefit p{font-size:12px}.service-grid{gap:12px}.service{display:block;border-radius:10px}.service img{height:115px;min-height:0;width:100%;object-position:center}.service>div{padding:14px}.service>div>span{font-size:10px}.service h3{font-size:14px;line-height:1.65}.service p{font-size:12px}.rating{margin-top:20px}.rating>strong{font-size:38px}.review-grid{grid-template-columns:1fr;gap:14px}.review{padding:22px}.review blockquote{margin:18px 0 20px;font-size:15px}.review-bottom{display:block}.review-bottom .text-link{margin-top:16px;font-size:13px}.real-photos{grid-template-columns:1fr 1fr;gap:12px}.real-photos>div{grid-column:1/-1}.real-photos h3{font-size:18px}.real-photos p{font-size:13px;margin:8px 0}.real-photos .text-link{font-size:12px}.real-photos img{width:100%;height:210px}.steps{grid-template-columns:1fr 1fr;gap:36px 18px;margin-top:42px}.steps h3{font-size:16px}.steps p{font-size:12px}.steps li>span{width:31px;height:31px;font-size:14px;margin-bottom:13px}.price-section{padding:44px 0}.price-layout,.booking-layout,.faq-layout,.contact-layout{grid-template-columns:1fr;gap:28px}.price{font-size:38px;letter-spacing:-1px}.price span{font-size:15px}.price-detail{border:0;border-top:1px solid #dcd6c6;padding:24px 0 0}.price-detail .checks{font-size:14px}.price-detail>p{font-size:13px}.price-detail .button{width:100%}.booking-copy .large{font-size:21px}.booking-copy>p{font-size:14px}.booking-direct{margin-top:22px}.booking-direct .button{width:100%}.phone-link{font-size:14px}.booking-panel{padding:24px 20px;border-radius:15px}.booking-panel h3{font-size:20px}.booking-panel .form-intro{font-size:13px}.form-row{grid-template-columns:1fr;gap:0}.booking-panel .button{font-size:14px;padding-inline:15px}.booking-panel label{font-size:13px}.faqs summary{font-size:15px}.faqs details p{font-size:13px}.contact-section{padding:45px 0}.contact-section .button{width:100%}.contact-details strong{font-size:16px}.contact-details p{font-size:14px}.footer-inner{display:block;font-size:11px}.footer-inner>div{margin-top:12px;flex-wrap:wrap;gap:14px}.mobile-booking{position:fixed;bottom:0;left:0;right:0;background:#fffffff5;backdrop-filter:blur(8px);z-index:30;display:grid;grid-template-columns:1fr 1.75fr;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.mobile-booking a{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:50px;border:1px solid var(--olive);font-size:14px;font-weight:600}.mobile-booking a:last-child{background:var(--green);color:#fff;border-color:var(--green);gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
