:root{--header-height:84px;--content-width:1280px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.text-button{padding:0;border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;color:inherit;font-size:11px;cursor:pointer}.wrap{max-width:var(--content-width);padding-left:32px;padding-right:32px}header.wrap{max-width:none;height:var(--header-height);padding-left:max(32px,calc((100vw - 1216px)/2));padding-right:max(32px,calc((100vw - 1216px)/2));position:sticky;top:0;z-index:1100;background:#f7f6f0f5;backdrop-filter:blur(12px)}.hero-search{left:32px;width:75%;bottom:51px}.hero{padding-top:35px}.hero-grid{min-height:500px}.hero-image{height:500px}.detail-top h1{max-width:880px}.gallery{height:500px}.detail-grid{grid-template-columns:minmax(0,1fr) 360px;gap:55px;align-items:start}.contact-card{top:calc(var(--header-height) + 24px);max-height:calc(100dvh - var(--header-height) - 45px);overflow:auto;overscroll-behavior:contain}.contact-reference{font-size:10px;border-top:1px solid var(--line);margin-top:19px;padding-top:13px;color:var(--muted);text-align:center}.detail-map-wrap{height:400px;position:relative;border-radius:6px;overflow:hidden;border:1px solid var(--line);margin:20px 0}.interactive-map{height:100%;width:100%;background:#e5ebdf;font-family:var(--sans);isolation:isolate}.detail-map-label{position:absolute;left:50%;transform:translateX(-50%);bottom:30px;padding:9px 14px;background:#fffefaf2;border:1px solid var(--line);border-radius:30px;font-size:11px;z-index:450;white-space:nowrap;pointer-events:none}.map-unavailable{padding:35px;text-align:center}.leaflet-container img{max-width:none!important}.leaflet-tile{border-radius:0;object-fit:fill}.leaflet-bar{box-shadow:0 3px 12px #253c3315;border:1px solid #d4ddd1!important;border-radius:5px!important;overflow:hidden}.leaflet-bar a{color:var(--ink);background:var(--paper);width:36px!important;height:36px!important;line-height:36px!important;font-size:22px!important}.leaflet-control-attribution{font-size:9px!important;line-height:16px!important;background:#fffefaee!important}.leaflet-control-attribution a{color:#274b3e!important}.leaflet-control-scale-line{font-size:9px!important}.leaflet-popup-content{font-family:var(--sans)}.leaflet-container:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}.area-cluster{background:transparent;border:0;display:grid;place-items:center}.cluster-trigger{width:36px;height:36px;border-radius:50%;border:3px solid var(--paper);background:var(--green);color:white;box-shadow:0 2px 9px #243e3540;font-size:12px;font-weight:650;display:grid;place-items:center;transition:transform .15s}.cluster-trigger:hover,.cluster-trigger[aria-expanded=true]{background:#9a7446;transform:scale(1.12)}.leaflet-interactive:focus-visible{outline:none;stroke:#9a7446;stroke-width:4px}.catalog-page{overflow:hidden;height:100dvh;padding:0}.catalog-page .preview-bar{height:28px;flex-shrink:0}.catalog-page #app{height:calc(100dvh - 28px);display:flex;flex-direction:column}.catalog-page header{flex-shrink:0;height:76px;--header-height:76px;padding-left:28px;padding-right:28px}.catalog-page .footer{display:none}.catalog-page .nav{gap:25px}.catalog{min-height:0;flex:1;display:flex;flex-direction:column;background:var(--paper)}.catalog-toolbar{display:grid;grid-template-columns:minmax(270px,1fr) minmax(200px,360px) auto;gap:24px;align-items:center;padding:18px 28px;border-bottom:1px solid var(--line);flex-shrink:0}.catalog-heading .eyebrow{font-size:8px;letter-spacing:1.8px;margin:0 0 5px}.catalog-heading h1{font-size:25px;letter-spacing:-.6px;line-height:1.25;margin:0 0 4px}.catalog-heading #result-count{font-size:10px;color:var(--muted)}.catalog-search{position:relative}.catalog-search input{width:100%;border:1px solid var(--line);background:var(--cream);border-radius:4px;padding:11px 12px 11px 38px;font-size:12px;color:var(--ink);min-height:42px}.catalog-search .icon{position:absolute;top:12px;left:12px;width:16px}.catalog-tools{display:flex;align-items:center;gap:10px}.catalog-tools .results-actions{gap:12px}.catalog-tools .results-actions>label{font-size:10px}.catalog-tools .sort{max-width:135px;font-size:10px}.catalog-layout{display:grid;grid-template-columns:256px minmax(0,1fr);min-height:0;flex:1;position:relative}.catalog-filters{border-right:1px solid var(--line);overflow:auto;overscroll-behavior:contain;background:var(--paper);padding:22px 20px 30px}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px;font-size:13px}.catalog-filters .search-controls{padding:0;border:0;background:none}.catalog-filters .filter-row{display:flex;flex-direction:column;gap:22px}.catalog-filters .field label{font-size:9px;color:var(--muted);letter-spacing:1.2px;margin-bottom:8px}.catalog-filters .field select{font-size:12px;background:var(--cream);min-height:40px;padding:8px 10px}.catalog-filters .filter-bottom{flex-direction:column;margin-top:26px;gap:24px}.catalog-filters .checks{flex-direction:column;font-size:12px;gap:15px}.catalog-filters .checks label{gap:10px}.catalog-filters .clear{font-size:11px;padding:0;color:var(--muted)}.filter-toggle,.filter-close,.filter-apply{display:none}.catalog-results{position:relative;min-width:0;min-height:0;overflow:auto;background:var(--cream)}.catalog-grid .catalog-results{padding:22px 28px 40px;scrollbar-gutter:stable}.catalog-grid-intro{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);margin-bottom:22px}.catalog-grid .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 25px}.catalog-grid .card-image{height:clamp(195px,17vw,280px)}.catalog-grid .card-info h3{font-size:22px}.catalog-map .catalog-results{overflow:hidden}.catalog-map .results-actions>label{display:none}.map-tools{position:absolute;top:12px;right:15px;z-index:450}.map-status{position:absolute;top:17px;left:64px;z-index:450;max-width:calc(100% - 260px);background:#fffefaeb;font-size:11px;padding:7px 12px;border:1px solid #dce2d7;border-radius:3px;pointer-events:none}.map-legend{position:absolute;bottom:26px;left:12px;z-index:450;display:flex;align-items:center;gap:7px;background:#fffefaf2;border:1px solid #dce2d7;padding:9px 12px;border-radius:4px;font-size:10px;pointer-events:none}.map-legend .icon{width:15px;height:15px}.cluster-panel{position:absolute;right:16px;top:64px;width:350px;max-height:calc(100% - 120px);z-index:600;background:var(--paper);border:1px solid #d2dccc;box-shadow:0 8px 35px #243e3525;border-radius:6px;display:flex;flex-direction:column;overflow:hidden}.cluster-panel[hidden]{display:none}.cluster-panel-head{display:flex;align-items:start;justify-content:space-between;padding:18px 18px 14px;border-bottom:1px solid var(--line);gap:12px}.cluster-panel-head .eyebrow{font-size:8px;letter-spacing:1.2px;margin:0 0 7px}.cluster-panel-head .eyebrow:before{display:none}.cluster-panel-head h2{font-size:24px;margin:0;letter-spacing:-.4px}.cluster-panel-head .icon-btn{width:28px;height:28px;flex-shrink:0;font-size:20px}.cluster-list{overflow:auto;overscroll-behavior:contain;min-height:0}.cluster-home{display:grid;grid-template-columns:90px 1fr 12px;gap:12px;padding:16px;border-bottom:1px solid var(--line);align-items:center}.cluster-home:hover{background:#edf0e6}.cluster-home img{height:86px;border-radius:3px}.cluster-home h3{font-size:13px;line-height:1.4;font-weight:500;margin:4px 0}.cluster-home span{font-size:9px;color:var(--muted)}.cluster-home strong{font-size:14px;font-weight:600}.cluster-home strong small{font-size:9px;color:var(--muted);font-weight:400}.cluster-home p{font-size:10px;color:var(--muted);margin:4px 0 0}.cluster-home>.icon{width:14px}.cluster-fine{font-size:9px;color:var(--muted);margin:0;padding:12px 17px}.map-gate{position:absolute;inset:0;z-index:800;background:#eaf0e6ee;backdrop-filter:blur(5px);display:grid;place-items:center;padding:25px}.map-gate>div{max-width:400px;text-align:center}.map-gate>.icon,.map-gate>div>.icon{width:30px;height:30px;color:#79906c;margin-bottom:10px}.map-gate h2{font-size:31px;margin-bottom:15px}.map-gate p{font-size:12px;color:var(--muted);line-height:1.8}.map-gate .map-gate-fine{font-size:10px;margin:12px 0 0}.consent-banner{position:fixed;bottom:0;left:0;right:0;z-index:1800;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -5px 25px #253c330a;padding:22px max(28px,calc((100vw - 1280px)/2));display:flex;align-items:center;gap:40px}.consent-copy{flex:1;max-width:780px}.consent-copy strong{font-family:var(--serif);font-size:21px;font-weight:400}.consent-copy p{font-size:11px;line-height:1.7;color:var(--muted);margin:6px 0 7px}.consent-actions{display:flex;gap:9px;flex-shrink:0}.consent-actions .btn{font-size:11px;padding:10px 15px;min-height:43px}.consent-setting{display:flex;gap:24px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line)}.consent-setting>div{flex:1}.consent-setting strong{font-size:14px;font-weight:500}.consent-setting p{font-size:11px;margin:7px 0 0}.consent-setting input{width:20px;height:20px;flex-shrink:0;accent-color:var(--green);margin-top:5px}.consent-setting .badge{font-size:9px;white-space:nowrap}.footer-bottom{align-items:center}.footer-bottom .text-button{font-size:10px;white-space:nowrap}.admin-sidebar{top:calc(var(--header-height) + 22px)}.workspace .editor-actions{z-index:100}.consent-pending .mobile-contact{visibility:hidden}.filter-scrim[hidden]{display:none!important}html[lang=th] .catalog-heading h1{font-size:23px}html[lang=th] .consent-copy strong{font-family:var(--sans);font-size:18px}
header.wrap{width:100%}.catalog-filters .filter-bottom{align-items:stretch}.sidebar-privacy{margin-top:25px;color:var(--muted)}.map-attribution{position:absolute;bottom:0;right:0;z-index:900;background:#fffefaf5;padding:2px 6px;font:9px/14px var(--sans);color:var(--ink)}.map-attribution a{text-decoration:underline;text-underline-offset:2px}.cluster-panel{padding-bottom:8px}.leaflet-tile-pane{filter:saturate(.65)}
@media(min-width:1600px){.catalog-grid .cards{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-grid .card-image{height:230px}}
@media(max-width:1200px){.catalog-toolbar{gap:16px;grid-template-columns:minmax(230px,1fr) minmax(180px,280px) auto;padding:16px 22px}.catalog-heading h1{font-size:23px}.catalog-tools .results-actions>label{display:none}.catalog-grid .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-grid-intro{flex-direction:column;gap:3px}.detail-grid{gap:32px;grid-template-columns:minmax(0,1fr) 330px}.consent-banner{gap:25px}.consent-actions{flex-wrap:wrap;max-width:270px;justify-content:flex-end}.consent-actions .btn:last-child{flex:1}.hero h1{font-size:54px}.hero-search{width:85%}}
@media(max-width:1023px){:root{--header-height:76px}.wrap{padding-left:28px;padding-right:28px}header.wrap{padding-left:28px;padding-right:28px}.catalog-page header{height:76px}.catalog-toolbar{grid-template-columns:1fr auto;gap:14px;padding:16px 24px}.catalog-search{grid-row:2;grid-column:1/-1}.catalog-layout{grid-template-columns:1fr}.catalog-heading h1{font-size:25px}.catalog-filters{position:fixed;top:0;bottom:0;left:0;width:min(340px,90vw);z-index:1700;transform:translateX(-105%);transition:transform .2s;box-shadow:8px 0 35px #243e351a;padding:22px 24px 90px}.catalog-filters.open{transform:translateX(0)}.filter-scrim{position:fixed;inset:0;background:#172e2180;backdrop-filter:blur(2px);border:0;z-index:1600}.filter-toggle{display:inline-flex}.filter-close{display:inline-flex}.filter-apply{display:block;position:sticky;bottom:-90px;margin:26px -24px -90px;padding:15px 24px;background:var(--paper);border-top:1px solid var(--line)}.filter-apply .btn{width:100%}.catalog-grid .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-grid .card-image{height:250px}.gallery{height:430px}.detail-grid{grid-template-columns:minmax(0,1fr) 300px;gap:24px}.contact-card{padding:20px}.contact-price{font-size:26px}.contact-card .contact-options{grid-template-columns:1fr}.contact-card .btn{font-size:12px}.hero-search{left:28px}.hero-fields{gap:12px}.hero-grid{min-height:470px}.hero-image{height:470px}.hero-copy{padding-bottom:100px}.hero h1{font-size:45px}.hero-copy>p{font-size:13px}.consent-banner{padding:18px 24px;gap:25px}.consent-copy strong{font-size:19px}.consent-copy p{font-size:10px}.consent-actions{max-width:230px}.consent-actions .btn{font-size:10px;padding:9px 12px}.cluster-panel{width:330px}}
@media(max-width:760px){:root{--header-height:76px}.wrap{padding-left:22px;padding-right:22px}header.wrap{padding-left:22px;padding-right:22px;backdrop-filter:none}.hero{padding-top:28px}.hero-copy{padding-bottom:0}.hero h1{font-size:45px}.hero-grid{min-height:0}.hero-image{height:290px}.hero-search{left:auto;width:100%;bottom:auto}.nav{position:fixed;top:var(--header-height);z-index:1200}.detail-grid{display:flex;gap:26px}.gallery{height:300px}.contact-card{position:static;max-height:none;width:100%;overflow:visible}.contact-card .contact-options{grid-template-columns:1fr 1fr}.contact-price{font-size:29px}.detail-map-wrap{height:340px}.detail-map-label{font-size:9px;max-width:85%;white-space:normal;text-align:center;bottom:28px}.map-gate{padding:18px}.map-gate h2{font-size:25px}.map-gate p{font-size:11px}.map-gate .btn{font-size:12px}.catalog-page header{height:72px;padding:0 20px}.catalog-page .preview-bar{height:36px}.catalog-page #app{height:calc(100dvh - 36px)}.catalog-toolbar{padding:15px 18px 13px;gap:12px;grid-template-columns:1fr}.catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.catalog-heading .eyebrow{display:none}.catalog-heading h1{font-size:23px;max-width:100%;margin:0}.catalog-heading #result-count{font-size:9px}.catalog-search{grid-row:2;grid-column:auto}.catalog-search input{min-height:39px;font-size:12px}.catalog-tools{grid-row:3;justify-content:space-between}.catalog-tools .results-actions{flex-direction:row}.catalog-tools .segmented button{padding:6px 14px;font-size:11px}.filter-toggle{min-height:35px;font-size:11px}.filter-toggle .icon{width:15px;height:15px}.catalog-grid .catalog-results{padding:18px 20px 35px}.catalog-grid .cards{grid-template-columns:1fr;gap:27px}.catalog-grid .card-image{height:230px}.catalog-grid-intro{font-size:10px;margin-bottom:16px}.map-tools{top:10px;right:10px}.map-tools .btn{font-size:9px;min-height:32px;padding:7px 10px}.map-tools .icon{width:14px;height:14px}.map-status{left:58px;top:55px;max-width:calc(100% - 75px);font-size:9px;padding:5px 8px}.map-legend{bottom:24px;left:9px;font-size:8px;max-width:calc(100% - 18px);padding:7px 9px}.map-legend .icon{width:12px;height:12px}.cluster-panel{top:auto;bottom:0;left:0;right:0;width:100%;max-height:58%;border-radius:14px 14px 0 0;border-bottom:0;box-shadow:0 -4px 25px #243e3525}.cluster-panel-head{padding:14px 18px 10px}.cluster-panel-head h2{font-size:22px}.cluster-home{grid-template-columns:78px 1fr 12px;padding:12px 18px;gap:12px}.cluster-home img{height:75px}.cluster-fine{font-size:9px;padding:9px 18px}.cluster-home h3{font-size:12px}.cluster-home strong{font-size:13px}.cluster-trigger{width:34px;height:34px;font-size:12px}.consent-banner{padding:17px 20px 20px;display:block}.consent-copy{max-width:none}.consent-copy strong{font-size:19px}.consent-copy p{font-size:10px;line-height:1.6;margin:5px 0}.consent-copy .text-button{font-size:10px}.consent-actions{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.consent-actions .btn{font-size:10px;min-height:38px;padding:8px}.consent-actions .btn:last-child{grid-column:1/-1}.footer-bottom{align-items:start}.admin-sidebar{position:static}.mobile-contact{z-index:1200}.detail-top h1{font-size:32px}.header-end{gap:12px}html[lang=th] .catalog-heading h1{font-size:22px}html[lang=th] .hero h1{font-size:38px}}
@media(max-height:700px) and (min-width:761px){.contact-card{top:calc(var(--header-height) + 12px);max-height:calc(100dvh - var(--header-height) - 24px)}.catalog-toolbar{padding-top:10px;padding-bottom:10px}.consent-banner{padding-top:14px;padding-bottom:14px}}
@media(min-width:761px) and (max-width:1023px){.detail-grid{display:flex;flex-direction:column;gap:28px}.detail-body{width:100%}.contact-card{width:100%;position:static;max-height:none;overflow:visible}.contact-card .contact-options{grid-template-columns:1fr 1fr}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;padding:12px 28px;background:var(--paper);border-top:1px solid var(--line);z-index:1200;justify-content:space-between;align-items:center}.mobile-contact strong{font-size:20px;font-weight:500}.mobile-contact small{display:block;font-size:11px;color:var(--muted)}body.detail-page{padding-bottom:78px}}
@media(max-width:760px){.nav{position:absolute;top:100%}}
.brand-name{font-size:28px;letter-spacing:-.8px;white-space:nowrap}.brand-thai{font:400 12px/1.6 'Noto Sans Thai',var(--sans);letter-spacing:.3px;margin-top:3px}.brand-place{font-size:8px;line-height:1.4;letter-spacing:1.6px;margin-top:2px;text-align:left;text-transform:uppercase}.brand-mark{width:36px;height:44px}.footer .brand-thai{color:#d0dacb}
@media(max-width:760px){.brand{gap:9px}.brand-name{font-size:24px;letter-spacing:-.7px}.brand-thai{font-size:11px;margin-top:2px}.brand-place{font-size:7px;letter-spacing:1.1px}.brand-mark{width:27px;height:36px}header .header-end{gap:7px}header .lang{padding:5px;font-size:11px}header .mobile-menu{width:31px;height:31px}}
@media(max-width:380px){header .brand-mark{display:none}header .brand-name{font-size:23px}header.wrap{gap:10px}}
.brand-name[lang=th]{font-family:'Noto Sans Thai',var(--sans);font-size:25px;line-height:1.4;letter-spacing:0}html[lang=th] .brand-place{font-size:10px;letter-spacing:.3px;text-transform:none}
@media(max-width:760px){.brand-name[lang=th]{font-size:21px}html[lang=th] .brand-place{font-size:9px}}

/* Supplied D-and-key identity. Original image stays intact; CSS frames its emblem. */
:root{--ink:#124632;--green:#124632;--muted:#697368;--cream:#fbf9f3;--paper:#fffdf8;--line:#dedcd4;--sage:#eeece5;--gold:#92763b}
.brand-symbol{position:relative;display:block;flex:0 0 52px;width:52px;height:52px;overflow:hidden;mix-blend-mode:darken}
.brand-symbol img{position:absolute;max-width:none;width:245.8824%;height:245.8824%;left:-74.5098%;top:-50.9804%;object-fit:fill}
.brand-name{font-family:var(--sans);font-size:27px;font-weight:600;letter-spacing:-1.2px}.brand-place{color:var(--gold);font-size:8px;letter-spacing:2px;margin-top:6px}
.btn:not(.light):not(.ghost):hover{background:#1e5a42}.hero h1 em{color:#92763b}.preview-bar,.areas{background:#eeeae1}.preview-bar b{color:#92763b}.area-card{border-color:#c9b995}.area-card .num{color:#92763b}
.footer{background:var(--cream);color:var(--ink);border-top:1px solid var(--line)}.footer .brand-symbol{mix-blend-mode:darken;background:transparent}.footer .brand-place{color:var(--gold)}.footer p,.footer-links strong,.footer-bottom{color:var(--muted)}.footer-bottom{border-color:var(--line)}
.cluster-home:hover{background:#f0ede5}.map-gate{background:#eeece5ee}.map-gate>div>.icon{color:#92763b}
@media(max-width:760px){.brand-symbol{flex-basis:38px;width:38px;height:38px}.brand-name{font-size:23px}.brand-place{font-size:7px;letter-spacing:1.3px}.brand{gap:9px}html[lang=th] .brand-place{font-size:8px}}
@media(max-width:380px){header .brand-name{font-size:20px}header .brand-name[lang=th]{font-size:19px}header .brand-symbol{flex-basis:32px;width:32px;height:32px}header .brand{gap:7px}}

/* An opaque matching surface keeps the original ivory artwork seamless while scrolling. */
header.wrap{background:var(--cream);backdrop-filter:none}
