@import "https://fonts.googleapis.com/css2?family=Anuphan:wght@300;400;500;600&family=Pridi:wght@300;400;500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#f4f1ec;--color-bg-warm:#ebe6de;--color-surface:#faf9f7;--color-white:#fff;--color-ink:#1a1814;--color-ink-soft:#3d3935;--color-muted:#7a736b;--color-muted-light:#a39d95;--color-accent:#9a7b4f;--color-accent-hover:#7d6340;--color-accent-subtle:#9a7b4f1f;--color-border:#ddd8cf;--color-border-light:#ece8e1;--color-dark:#121110;--color-dark-surface:#1e1c1a;--color-success:#4a6741;--color-danger:#8b3a3a;--font-display:"Pridi", Georgia, serif;--font-body:"Anuphan", system-ui, sans-serif;--max-width:1280px;--max-width-narrow:720px;--radius-none:0;--radius-sm:2px;--ease-out:cubic-bezier(.22, 1, .36, 1);--transition:.35s var(--ease-out)}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;font-weight:400;line-height:1.65}#root{min-height:100vh}.layout{flex-direction:column;min-height:100vh;display:flex}img{max-width:100%;display:block}a{color:inherit}button{cursor:pointer;font-family:inherit}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;font-weight:400;line-height:1.2}.container{max-width:var(--max-width);margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}.eyebrow{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.875rem;font-size:.6875rem;font-weight:500;display:block}.section-heading{color:var(--color-ink);margin-bottom:0;font-size:clamp(1.75rem,3vw,2.25rem)}.section-heading--light{color:var(--color-white)}.page-hero{background:var(--color-dark);color:var(--color-white);margin-bottom:clamp(2.5rem,5vw,4rem);padding:clamp(3rem,8vw,5rem) 0}.page-hero .eyebrow{color:var(--color-accent)}.page-hero h1{margin-bottom:.75rem;font-size:clamp(2rem,4vw,3rem);font-weight:300}.page-hero p{color:#ffffff8c;max-width:480px;font-size:1rem;font-weight:300}.section{padding:clamp(3.5rem,7vw,6rem) 0}.section--surface{background:var(--color-surface);border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light)}.section-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:clamp(2rem,4vw,3rem);padding-bottom:1.5rem;display:flex}.section-link{letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent);white-space:nowrap;transition:color var(--transition);flex-shrink:0;font-size:.8125rem;font-weight:500;text-decoration:none}.section-link:hover{color:var(--color-accent-hover)}.grid{gap:clamp(1.25rem,2.5vw,2rem);display:grid}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.btn{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.btn--primary{background:var(--color-dark);color:var(--color-white);border-color:var(--color-dark)}.btn--primary:hover{background:var(--color-ink-soft);border-color:var(--color-ink-soft)}.btn--accent{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}.btn--accent:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--outline{border-color:var(--color-ink);color:var(--color-ink);background:0 0}.btn--outline:hover{background:var(--color-ink);color:var(--color-white)}.btn--outline-light{color:var(--color-white);background:0 0;border-color:#ffffff73}.btn--outline-light:hover{background:var(--color-white);color:var(--color-dark);border-color:var(--color-white)}.btn--sm{padding:.625rem 1.25rem;font-size:.75rem}.btn--lg{padding:1rem 2.5rem}.btn--full{width:100%}.divider{background:var(--color-accent);width:48px;height:1px;margin:1.25rem 0}.divider--center{margin-left:auto;margin-right:auto}@media (width<=1024px){.grid--3{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.grid--2,.grid--3{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}}.header{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-light);background:#faf9f7eb;position:sticky;top:0}.header-inner{max-width:var(--max-width);justify-content:space-between;align-items:center;gap:2rem;height:72px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem);display:flex}.logo{flex-direction:column;flex-shrink:0;line-height:1.1;text-decoration:none;display:flex}.logo__name{font-family:var(--font-display);color:var(--color-ink);letter-spacing:.02em;font-size:1.375rem;font-weight:400}.logo__tag{letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent);font-size:.625rem;font-weight:500}.nav{align-items:center;gap:.125rem;display:flex;overflow-x:auto}.nav-link{color:var(--color-muted);letter-spacing:.04em;white-space:nowrap;transition:color var(--transition);padding:.5rem 1rem;font-size:.8125rem;font-weight:400;text-decoration:none;position:relative}.nav-link:after{content:"";background:var(--color-accent);height:1px;transition:transform var(--transition);position:absolute;bottom:0;left:1rem;right:1rem;transform:scaleX(0)}.nav-link:hover,.nav-link--active{color:var(--color-ink)}.nav-link--active:after{transform:scaleX(1)}.main{flex:1}.footer{background:var(--color-dark);color:#ffffffa6;padding:clamp(3rem,6vw,5rem) clamp(1.25rem,4vw,3rem) 2rem}.footer-inner{max-width:var(--max-width);margin:0 auto}.footer-top{border-bottom:1px solid #ffffff14;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(2rem,4vw,3rem);padding-bottom:clamp(2rem,4vw,3rem);display:grid}.footer-brand__name{font-family:var(--font-display);color:var(--color-white);margin-bottom:.125rem;font-size:1.5rem;display:block}.footer-brand__tag{letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent);margin-bottom:1.25rem;font-size:.625rem;display:block}.footer-brand__desc{max-width:280px;font-size:.875rem;font-weight:300;line-height:1.7}.footer-col h4{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent);margin-bottom:1.25rem;font-size:.6875rem;font-weight:500}.footer-col ul{list-style:none}.footer-col li{font-size:.875rem;font-weight:300;line-height:1.8}.footer-col a{color:#ffffffa6;transition:color var(--transition);text-decoration:none}.footer-col a:hover{color:var(--color-white)}.footer-bottom{letter-spacing:.04em;color:#ffffff4d;justify-content:space-between;padding-top:2rem;font-size:.75rem;display:flex}@media (width<=900px){.footer-top{grid-template-columns:1fr 1fr}}@media (width<=640px){.header-inner{flex-direction:column;gap:1rem;height:auto;padding:1rem clamp(1.25rem,4vw,3rem)}.nav{justify-content:center;width:100%}.footer-top{grid-template-columns:1fr}.footer-bottom{text-align:center;flex-direction:column;gap:.25rem}}.room-card{background:var(--color-white);border:1px solid var(--color-border-light);transition:border-color var(--transition)}.room-card:hover{border-color:var(--color-border)}.room-card__link{color:inherit;text-decoration:none;display:block}.room-card__image-wrap{aspect-ratio:4/3;position:relative;overflow:hidden}.room-card__image{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease-out)}.room-card:hover .room-card__image{transform:scale(1.04)}.room-card__status{letter-spacing:.1em;text-transform:uppercase;padding:.5rem 1rem;font-size:.6875rem;font-weight:500;position:absolute;bottom:0;left:0}.room-card__status--open{background:var(--color-dark);color:var(--color-white)}.room-card__status--closed{color:#fff9;background:#1a1814bf}.room-card__body{padding:1.5rem}.room-card__type{letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.5rem;font-size:.6875rem;font-weight:500;display:block}.room-card__title{font-family:var(--font-display);margin-bottom:.625rem;font-size:1.375rem;font-weight:400}.room-card__meta{color:var(--color-muted);align-items:center;gap:.625rem;margin-bottom:.875rem;font-size:.8125rem;display:flex}.room-card__meta-dot{background:var(--color-muted-light);border-radius:50%;width:3px;height:3px}.room-card__desc{color:var(--color-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:1.25rem;font-size:.875rem;font-weight:300;line-height:1.65;display:-webkit-box;overflow:hidden}.room-card__footer{border-top:1px solid var(--color-border-light);justify-content:space-between;align-items:flex-end;padding-top:1.25rem;display:flex}.room-card__price-value{font-family:var(--font-display);color:var(--color-ink);font-size:1.5rem;font-weight:400;line-height:1;display:block}.room-card__price-unit{color:var(--color-muted);letter-spacing:.02em;font-size:.75rem}.room-card__cta{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);transition:color var(--transition);font-size:.75rem;font-weight:500}.room-card:hover .room-card__cta{color:var(--color-accent-hover)}.review-card{background:var(--color-white);border:1px solid var(--color-border-light);padding:clamp(1.5rem,3vw,2rem)}.review-card--featured{border:none;border-left:2px solid var(--color-accent);background:0 0;padding-left:clamp(1.5rem,3vw,2.5rem)}.star-rating{gap:.25rem;margin-bottom:1.25rem;display:flex}.star{background:var(--color-border);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);width:14px;height:14px}.star--filled{background:var(--color-accent)}.review-card__comment{font-family:var(--font-display);color:var(--color-ink-soft);margin-bottom:1.5rem;font-size:clamp(1.0625rem,2vw,1.25rem);font-style:normal;font-weight:300;line-height:1.65}.review-card--featured .review-card__comment{font-size:clamp(1.125rem,2.5vw,1.375rem)}.review-card__footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.review-card__author-wrap{align-items:center;gap:.875rem;display:flex}.review-card__avatar{background:var(--color-dark);width:40px;height:40px;color:var(--color-white);font-family:var(--font-display);flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.review-card__author{color:var(--color-ink);font-size:.875rem;font-style:normal;font-weight:500;display:block}.review-card__room{color:var(--color-muted);letter-spacing:.02em;font-size:.75rem;display:block}.review-card__date{color:var(--color-muted-light);letter-spacing:.04em;white-space:nowrap;font-size:.75rem}.hero{min-height:clamp(520px,85vh,780px);color:var(--color-white);flex-direction:column;justify-content:flex-end;display:flex;position:relative}.hero__media{z-index:0;position:absolute;inset:0}.hero__media img{object-fit:cover;width:100%;height:100%}.hero__overlay{background:linear-gradient(#12111040 0%,#1211108c 55%,#121110eb 100%);position:absolute;inset:0}.hero__content{z-index:1;max-width:640px;padding-bottom:2.5rem;position:relative}.hero__title{margin-bottom:0;font-size:clamp(2.5rem,6vw,4rem);font-weight:300;line-height:1.1}.hero__desc{color:#ffffffa6;max-width:460px;margin-bottom:2rem;font-size:1rem;font-weight:300;line-height:1.75}.hero__actions{flex-wrap:wrap;gap:.875rem;display:flex}.hero__stats{z-index:1;background:var(--color-dark-surface);border-top:1px solid #ffffff14;align-items:center;display:flex;position:relative}.hero__stat{text-align:center;flex:1;padding:clamp(1.25rem,3vw,2rem) clamp(1.25rem,4vw,3rem)}.hero__stat-value{font-family:var(--font-display);color:var(--color-white);margin-bottom:.375rem;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:400;line-height:1;display:block}.hero__stat-label{letter-spacing:.06em;color:#ffffff73;font-size:.75rem;font-weight:400}.hero__stat-divider{background:#ffffff14;flex-shrink:0;width:1px;height:48px}.trust-band{background:var(--color-dark);border-top:1px solid #ffffff0f;border-bottom:1px solid #ffffff0f}.trust-band__inner{grid-template-columns:repeat(4,1fr);display:grid}.trust-band__item{text-align:center;border-right:1px solid #ffffff0f;padding:clamp(1.5rem,3vw,2.25rem) 1rem}.trust-band__item:last-child{border-right:none}.trust-band__num{font-family:var(--font-display);color:var(--color-accent);margin-bottom:.25rem;font-size:1.375rem;display:block}.trust-band__label{letter-spacing:.04em;color:#ffffff73;font-size:.75rem}.reviews-featured{grid-template-columns:repeat(2,1fr);gap:clamp(1.25rem,2.5vw,2rem);display:grid}.cta{background:var(--color-bg-warm);text-align:center;padding:clamp(4rem,8vw,6rem) 0}.cta__title{margin-bottom:0;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:300}.cta__desc{color:var(--color-muted);max-width:440px;margin:0 auto 2rem;font-size:.9375rem;font-weight:300;line-height:1.75}@media (width<=768px){.hero__stats{flex-wrap:wrap}.hero__stat{flex:50%}.hero__stat-divider:nth-child(4){display:none}.trust-band__inner{grid-template-columns:repeat(2,1fr)}.trust-band__item:nth-child(2){border-right:none}.trust-band__item{border-bottom:1px solid #ffffff0f}.trust-band__item:nth-child(3),.trust-band__item:nth-child(4){border-bottom:none}.reviews-featured{grid-template-columns:1fr}}@media (width<=480px){.hero__stat{flex:100%}.hero__stat-divider{display:none}}.rooms-page{padding-bottom:clamp(3rem,6vw,5rem)}.rooms-page__content{padding-bottom:1rem}.rooms-toolbar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:clamp(2rem,4vw,3rem);padding-bottom:1.5rem;display:flex}.filter-group{flex-wrap:wrap;gap:0;display:flex}.filter-btn{color:var(--color-muted);letter-spacing:.04em;cursor:pointer;transition:color var(--transition), border-color var(--transition);background:0 0;border:none;border-bottom:1px solid #0000;padding:.625rem 1.125rem;font-size:.8125rem;font-weight:400}.filter-btn:hover{color:var(--color-ink)}.filter-btn--active{color:var(--color-ink);border-bottom-color:var(--color-accent)}.sort-select{border:1px solid var(--color-border);background:var(--color-white);font-family:var(--font-body);color:var(--color-ink);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237a736b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding:.625rem 2rem .625rem .875rem;font-size:.8125rem}.empty-state{text-align:center;color:var(--color-muted);padding:5rem 1rem}.empty-state p{font-family:var(--font-display);margin-bottom:1.5rem;font-size:1.25rem;font-weight:300}.reviews-page{padding-bottom:clamp(3rem,6vw,5rem)}.reviews-summary{background:var(--color-white);border:1px solid var(--color-border-light);grid-template-columns:auto 1fr;align-items:center;gap:clamp(2rem,5vw,4rem);margin-bottom:clamp(2rem,4vw,3rem);padding:clamp(2rem,4vw,3rem);display:grid}.reviews-summary__score{text-align:center;border-right:1px solid var(--color-border-light);min-width:140px;padding-right:clamp(2rem,4vw,3rem)}.reviews-summary__number{font-family:var(--font-display);color:var(--color-ink);font-size:clamp(3rem,6vw,4rem);font-weight:300;line-height:1;display:block}.reviews-summary__of{letter-spacing:.08em;color:var(--color-muted);margin:.375rem 0 .75rem;font-size:.75rem;display:block}.reviews-summary__count{color:var(--color-muted-light);font-size:.8125rem}.rating-bar{grid-template-columns:20px 1fr 28px;align-items:center;gap:1rem;margin-bottom:.5rem;display:grid}.rating-bar__label{color:var(--color-muted);text-align:right;font-size:.8125rem}.rating-bar__track{background:var(--color-border-light);height:2px;overflow:hidden}.rating-bar__fill{background:var(--color-accent);height:100%;transition:width .6s var(--ease-out)}.rating-bar__count{color:var(--color-muted-light);text-align:right;font-size:.8125rem}@media (width<=640px){.reviews-summary{grid-template-columns:1fr}.reviews-summary__score{border-right:none;border-bottom:1px solid var(--color-border-light);padding-bottom:1.5rem;padding-right:0}}.profile-page{padding-bottom:clamp(3rem,6vw,5rem)}.profile-grid{background:var(--color-border-light);border:1px solid var(--color-border-light);grid-template-columns:1fr 1fr;gap:1px;display:grid}.profile-card{background:var(--color-white);padding:clamp(2rem,4vw,2.5rem)}.profile-card--main{grid-row:span 2}.profile-avatar{background:var(--color-dark);width:80px;height:80px;color:var(--color-white);font-family:var(--font-display);justify-content:center;align-items:center;margin-bottom:1.25rem;font-size:2rem;display:flex}.profile-name{font-family:var(--font-display);margin-bottom:.375rem;font-size:1.75rem;font-weight:400}.profile-role{letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-bottom:2rem;font-size:.6875rem;font-weight:500;display:block}.profile-info{border-top:1px solid var(--color-border-light);padding-top:1.5rem}.profile-info__item{border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:baseline;gap:1rem;padding:.75rem 0;display:flex}.profile-info__item:last-child{border-bottom:none}.profile-info__item dt{color:var(--color-muted);font-size:.8125rem;font-weight:400}.profile-info__item dd{text-align:right;font-size:.875rem;font-weight:500}.profile-card__title{font-family:var(--font-display);margin-bottom:1.5rem;font-size:1.25rem;font-weight:400}.contract-detail__room{font-family:var(--font-display);color:var(--color-ink);border-bottom:1px solid var(--color-border-light);margin-bottom:1.25rem;padding-bottom:1.25rem;font-size:1.375rem}.contract-detail__row{justify-content:space-between;padding:.625rem 0;font-size:.875rem;display:flex}.contract-detail__row span{color:var(--color-muted);font-weight:300}.contract-detail__days{color:var(--color-accent)!important}.profile-card .btn--full{margin-top:1.5rem}.profile-menu{list-style:none}.profile-menu li button{text-align:left;width:100%;color:var(--color-ink-soft);cursor:pointer;border:none;border-bottom:1px solid var(--color-border-light);transition:color var(--transition);letter-spacing:.01em;background:0 0;padding:.875rem 0;font-size:.875rem}.profile-menu li:last-child button{border-bottom:none}.profile-menu li button:hover{color:var(--color-accent)}.profile-menu__danger{color:var(--color-danger)!important}.profile-menu__danger:hover{opacity:.8;color:var(--color-danger)!important}@media (width<=768px){.profile-grid{grid-template-columns:1fr}.profile-card--main{grid-row:auto}}.about-page{padding-bottom:clamp(3rem,6vw,5rem)}.about-intro{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,5vw,4rem);margin-bottom:clamp(4rem,8vw,6rem);display:grid}.about-intro__title{margin-bottom:0;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:300}.about-intro__desc{color:var(--color-muted);max-width:480px;margin-bottom:2.5rem;font-weight:300;line-height:1.8}.about-intro__facts{gap:clamp(2rem,4vw,3rem);display:flex}.about-fact__value{font-family:var(--font-display);color:var(--color-ink);margin-bottom:.375rem;font-size:1.75rem;font-weight:400;line-height:1;display:block}.about-fact__label{letter-spacing:.06em;color:var(--color-muted);font-size:.75rem}.about-intro__image img{aspect-ratio:4/5;object-fit:cover;width:100%}.about-features{margin-bottom:clamp(4rem,8vw,6rem)}.about-features__header{border-bottom:1px solid var(--color-border);margin-bottom:clamp(2rem,4vw,3rem);padding-bottom:1.5rem}.features-grid{background:var(--color-border-light);border:1px solid var(--color-border-light);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.feature-card{background:var(--color-white);padding:clamp(1.5rem,3vw,2rem)}.feature-card__index{letter-spacing:.14em;color:var(--color-accent);margin-bottom:1rem;font-size:.6875rem;font-weight:500;display:block}.feature-card h3{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.125rem;font-weight:400}.feature-card p{color:var(--color-muted);font-size:.875rem;font-weight:300;line-height:1.65}.about-contact{background:var(--color-dark);color:var(--color-white);padding:clamp(2.5rem,5vw,3.5rem)}.about-contact__header{margin-bottom:2rem}.about-contact h2{font-size:1.5rem;font-weight:300}.contact-grid{grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,2.5rem);display:grid}.contact-item__label{letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.625rem;font-size:.6875rem;font-weight:500;display:block}.contact-item p{color:#ffffffa6;font-size:.9375rem;font-weight:300;line-height:1.65}.contact-item a{color:#ffffffa6;transition:color var(--transition);text-decoration:none}.contact-item a:hover{color:var(--color-white)}@media (width<=768px){.about-intro{grid-template-columns:1fr}.about-intro__image{order:-1}.about-intro__image img{aspect-ratio:16/10}.features-grid,.contact-grid{grid-template-columns:1fr}}@media (width<=1024px) and (width>=769px){.features-grid{grid-template-columns:repeat(2,1fr)}}
