:root{--public-surface:#fffdf9;--public-soft:#f0ebe2;--public-line:rgba(19,59,50,.13);--public-gold:#b78645;--public-radius:20px;--public-shadow:0 20px 55px rgba(18,52,45,.09);--public-shadow-hover:0 28px 72px rgba(18,52,45,.15)}
html{background:#f6f1e9}
body{overflow-x:hidden;background:var(--cream);font-feature-settings:"kern" 1;color:#183b33}
button,input,select,textarea{font-family:inherit}
a,button,input,select,textarea{outline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(183,134,69,.34)}
.site-nav{height:78px;padding-inline:clamp(18px,5vw,76px);border-bottom:1px solid var(--public-line);box-shadow:0 8px 30px rgba(18,52,45,.035)}
.brand-mark{width:42px;height:42px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 8px 20px rgba(19,59,50,.15)}
.brand strong{font-size:15px;letter-spacing:.01em}
.site-nav nav{gap:clamp(20px,2.5vw,36px);font-size:13px;font-weight:600}
.site-nav nav a,.back-link{transition:color .2s ease}
.nav-cta,.btn{min-height:44px;border-radius:12px;padding-inline:20px;box-shadow:0 8px 22px rgba(19,59,50,.12)}
.nav-cta{display:inline-flex;align-items:center}
.eyebrow{letter-spacing:.18em}
.hero{min-height:min(740px,calc(100vh - 78px));background:var(--public-surface)}
.hero-media{min-height:min(740px,calc(100vh - 78px))}
.hero-copy{padding:clamp(56px,7vw,108px);background:linear-gradient(145deg,#fffdf9,#f7f1e8)}
.hero h1{font-size:clamp(46px,5.35vw,78px);line-height:1.05;letter-spacing:-.035em;margin:16px 0 22px}
.hero-copy>p{font-size:16px;line-height:1.8}
.hero-price strong{font-size:clamp(32px,3vw,48px)}
.hero-badge{border-radius:14px;border:1px solid rgba(255,255,255,.7);box-shadow:var(--public-shadow);backdrop-filter:blur(8px)}
.trust-row span{padding:6px 10px;border-radius:999px;background:rgba(19,59,50,.05)}
.property-section,.reviews-section,.team-section,.faq-section{padding-block:clamp(76px,8.5vw,112px)}
.property-section{max-width:1600px;margin-inline:auto}
.section-head{margin-bottom:40px}
.section-head h2,.why h2,.finance h2,.contact h2,.detail-cta h2{font-size:clamp(36px,4vw,60px);line-height:1.1;letter-spacing:-.025em}
.property-section-tools>p{font-size:13px;line-height:1.7}
.favorites-filter{min-height:40px;border-radius:10px;padding-inline:14px;transition:.2s ease}
.favorites-filter:hover{border-color:var(--public-gold);transform:translateY(-1px)}
.property-grid{gap:clamp(22px,2.4vw,34px)}
.property-card,.compare-card{overflow:hidden;border:1px solid var(--public-line);border-radius:var(--public-radius);box-shadow:var(--public-shadow)}
.property-card:hover{transform:translateY(-5px);box-shadow:var(--public-shadow-hover);border-color:rgba(183,134,69,.32)}
.card-media{height:clamp(320px,29vw,430px)}
.type-pill,.photo-count,.availability-badge{border-radius:999px;box-shadow:0 8px 22px rgba(15,47,39,.12)}
.card-body{padding:clamp(22px,2.2vw,30px)}
.property-save-tools{gap:8px;margin-bottom:18px}
.property-save-tools button,.property-save-tools a,.detail-save-tools button,.detail-save-tools a,.proposal-mini,.remove-compare{min-height:39px;border-radius:10px;transition:.2s ease}
.property-save-tools button:hover,.property-save-tools a:hover,.detail-save-tools button:hover,.detail-save-tools a:hover,.proposal-mini:hover,.remove-compare:hover{border-color:var(--public-gold);background:#fbf5eb;color:#855d27}
.card-body h3{font-size:clamp(25px,2.5vw,36px);letter-spacing:-.02em}
.card-body>p{font-size:14px;line-height:1.75}
.quick-facts{gap:8px}
.quick-facts span{border-radius:8px;background:#f3eee6}
.card-foot{padding-top:22px}
.why{position:relative;overflow:hidden;background:linear-gradient(135deg,#0f342c,#174c40)}
.why:after{content:"";position:absolute;width:430px;aspect-ratio:1;border:1px solid rgba(214,174,99,.18);border-radius:50%;right:-190px;top:-210px;pointer-events:none}
.benefit-grid{gap:10px}
.benefit-grid article{border-radius:15px;background:rgba(255,255,255,.035)}
.finance{background:linear-gradient(145deg,#ebe3d7,#e2d6c5)}
.process{gap:10px}
.process span{border:1px solid rgba(19,59,50,.08);border-radius:12px}
.contact{background:linear-gradient(145deg,#0c2b24,#123f35)}
.contact-actions a,.viewing-form{border-radius:16px}
.contact-actions a{background:rgba(255,255,255,.025)}
.viewing-form{border:1px solid rgba(255,255,255,.7);box-shadow:0 30px 85px rgba(0,0,0,.25)}
.viewing-form input,.viewing-form select,.viewing-form textarea,.detail-lead-form input,.detail-lead-form select,.detail-lead-form textarea,.property-finder input,.property-finder select{min-height:44px;border-radius:10px;border-color:var(--public-line);background:#fcfaf6;transition:border-color .2s,box-shadow .2s,background .2s}
.viewing-form input:focus,.viewing-form select:focus,.viewing-form textarea:focus,.detail-lead-form input:focus,.detail-lead-form select:focus,.detail-lead-form textarea:focus,.property-finder input:focus,.property-finder select:focus{border-color:var(--public-gold);background:#fff;box-shadow:0 0 0 4px rgba(183,134,69,.1)}
footer{min-height:82px;align-items:center;border-top:1px solid var(--public-line);background:#f8f4ed}
.detail-page{max-width:1600px;margin-inline:auto}
.crumb{padding-block:22px}
.gallery-track{border-radius:18px;border:1px solid var(--public-line);box-shadow:var(--public-shadow)}
.gallery-track figure{height:min(68vh,680px)}
.gallery-btn{transition:transform .2s,background .2s}
.gallery-btn:hover{transform:scale(1.06);background:#fffaf2}
.thumbs{padding-top:14px}
.thumbs button{border-radius:9px;overflow:hidden}
.detail-layout{gap:clamp(40px,6vw,90px)}
.detail-main h1{font-size:clamp(40px,4.7vw,68px);letter-spacing:-.03em}
.detail-description{font-size:18px;line-height:1.85}
.promo{border-radius:0 14px 14px 0}
.detail-facts{border:1px solid var(--public-line);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.45)}
.feature-list{gap:12px}
.feature-list div{border:1px solid var(--public-line);border-radius:12px}
.inquiry-card{top:100px;border:1px solid var(--public-line);border-radius:18px;box-shadow:var(--public-shadow)}
.detail-appointment-note{display:grid;gap:4px;margin-top:18px;padding:15px 16px;border:1px solid var(--public-line);border-radius:12px;background:#f8f4ed}.detail-appointment-note b{font-size:12px}.detail-appointment-note span{color:var(--muted);font-size:10px;line-height:1.65}
.detail-cta{border-radius:20px;background:linear-gradient(135deg,#113a31,#185045)}
.compare-page{max-width:1500px;margin-inline:auto;padding-top:clamp(52px,6vw,82px)}
.compare-heading h1{font-size:clamp(40px,5.5vw,68px);letter-spacing:-.03em}
.compare-card{transition:transform .2s,border-color .2s}
.compare-card:hover{transform:translateY(-3px);border-color:rgba(183,134,69,.3)}
.compare-media{height:280px}
.compare-title{padding:24px}
.compare-actions{gap:9px}
.about-hero{min-height:560px;background:radial-gradient(circle at 84% 18%,rgba(214,174,99,.18),transparent 29%),linear-gradient(135deg,#0d3029,#174b40)}
.about-hero h1{font-size:clamp(46px,6.4vw,82px);letter-spacing:-.03em}
.about-hero>p{line-height:1.85}
.review-grid,.team-grid{gap:24px}
.review-grid article,.team-grid article,.review-empty{border-radius:var(--public-radius);box-shadow:var(--public-shadow)}
.review-grid article,.team-grid article{transition:transform .22s,box-shadow .22s,border-color .22s}
.review-grid article:hover,.team-grid article:hover{transform:translateY(-4px);box-shadow:var(--public-shadow-hover);border-color:rgba(183,134,69,.3)}
.faq-list{max-width:980px}
.faq-list details{margin-bottom:10px;padding:20px 22px;border:1px solid var(--public-line);border-radius:14px;background:#fff;transition:border-color .2s,box-shadow .2s}
.faq-list details[open]{border-color:rgba(183,134,69,.35);box-shadow:0 12px 34px rgba(18,52,45,.055)}
.faq-list summary{font-size:17px}
.about-cta{background:linear-gradient(135deg,#d7ae65,#c99448)}
.about-cta a{border-radius:11px}
@media(max-width:900px){.hero,.hero-media{min-height:auto}.hero-media{height:min(66vw,560px)}.property-section{padding-inline:clamp(18px,5vw,42px)}.gallery-track figure{height:min(62vw,540px)}.inquiry-card{border-radius:18px}.compare-grid{padding:5px 4px 18px}.about-hero{min-height:500px}}
@media(max-width:600px){.site-nav{height:66px}.brand-mark{width:38px;height:38px}.hero-media{height:390px}.hero-copy{padding:44px 20px 50px}.hero h1{font-size:44px;letter-spacing:-.035em}.hero-copy>p{font-size:15px}.hero-price{margin-block:18px}.property-section{padding:66px 14px}.section-head{margin-bottom:28px}.section-head h2,.why h2,.finance h2,.contact h2,.detail-cta h2{font-size:36px}.card-media{height:300px}.property-card,.compare-card{border-radius:16px}.property-save-tools{grid-template-columns:1fr 1fr}.property-save-tools a{grid-column:1/-1}.card-body h3{font-size:28px}.why,.finance,.contact{padding-block:66px}.benefit-grid{gap:8px}.viewing-form{border-radius:14px}.mobile-bar a{padding:13px}.detail-page{padding-inline:12px}.gallery-track{border-radius:13px}.gallery-track figure{height:68vw;min-height:260px}.detail-layout{padding-top:40px}.detail-main h1{font-size:40px}.detail-facts{border-radius:13px}.inquiry-card{padding:23px;border-radius:15px}.detail-cta{margin-inline:-12px;border-radius:0}.compare-page{padding-inline:12px}.compare-grid{grid-template-columns:repeat(var(--compare-count),minmax(87vw,1fr))}.compare-media{height:220px}.about-hero{min-height:470px;padding-inline:22px}.reviews-section,.team-section,.faq-section{padding:66px 20px}.review-grid,.team-grid{gap:15px}.faq-list details{padding:18px 16px}.faq-list summary{font-size:15px;padding-right:20px}footer{gap:10px}}

.hero-campaign-picture,.hero-campaign-picture>img,.hero-campaign-video,.hero-campaign-mobile{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-campaign-picture{display:block}.hero-campaign-mobile{display:none}.hero-campaign .hero-copy{position:relative}.hero-campaign .hero-copy:before{content:"";position:absolute;left:clamp(22px,5vw,78px);top:clamp(36px,6vw,90px);width:42px;height:3px;background:var(--gold)}.hero-campaign .hero-copy h1{max-width:720px}.hero-campaign-actions{margin-top:28px}.hero-campaign .hero-badge strong:empty{display:none}
@media(max-width:600px){.hero-campaign.has-mobile-media .hero-campaign-video{display:none}.hero-campaign.has-mobile-media .hero-campaign-mobile{display:block}.hero-campaign .hero-copy:before{left:20px;top:27px}.hero-campaign-actions{margin-top:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
/* Shared navigation: primary journeys first, reachable on small screens. */
.public-main-nav nav a{white-space:nowrap}.public-main-nav .brand,.public-main-nav .nav-cta{flex-shrink:0}
@media(max-width:1100px){.site-nav.public-main-nav{height:auto;min-height:76px;display:flex;flex-wrap:wrap;gap:10px 18px;padding-block:12px}.public-main-nav nav{display:flex;order:3;flex:0 0 100%;min-width:0;overflow-x:auto;gap:22px;padding:6px 0;scrollbar-width:thin}.public-main-nav .nav-cta{display:inline-flex;margin-left:auto}.public-main-nav~main [id]{scroll-margin-top:140px}}

/* Advanced public property discovery */
.property-discovery{display:grid;grid-template-columns:minmax(260px,1.8fr) repeat(3,minmax(150px,.8fr)) auto;gap:10px;align-items:end;margin:0 0 14px;padding:18px;border:1px solid rgba(20,58,49,.12);border-radius:18px;background:rgba(255,255,255,.76);box-shadow:0 18px 50px rgba(18,52,44,.07);backdrop-filter:blur(12px)}
.property-discovery label{display:grid;gap:6px;min-width:0}.property-discovery label>span{color:#52655f;font-size:10px;font-weight:700;letter-spacing:.04em}.property-discovery input,.property-discovery select{width:100%;min-height:47px;padding:10px 13px;border:1px solid #d5d8d2;border-radius:11px;background:#fff;color:var(--green);font:500 13px "IBM Plex Sans Thai",sans-serif;outline:0}.property-discovery input:focus,.property-discovery select:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(183,134,69,.1)}
.property-search-field{position:relative;grid-column:1/-1}.property-filter-reset{min-height:47px;padding:10px 14px;border:1px solid #d5d8d2;border-radius:11px;background:#f7f3eb;color:#6b593f;font:700 11px "IBM Plex Sans Thai",sans-serif;cursor:pointer}.property-filter-reset:hover{border-color:var(--gold);background:#fff}
.natural-search-entry{display:flex;gap:8px;min-width:0}.natural-search-entry input{min-width:0;flex:1}.natural-search-button{min-width:92px;padding:10px 15px;border:1px solid var(--green);border-radius:11px;background:var(--green);color:#fff;font:700 12px "IBM Plex Sans Thai",sans-serif;cursor:pointer;transition:background .2s ease,transform .2s ease}.natural-search-button:hover{background:#205b4e;transform:translateY(-1px)}.natural-search-button:focus-visible{outline:3px solid rgba(183,134,69,.4);outline-offset:2px}.natural-search-hint{display:block;margin-top:6px;color:var(--muted);font-size:10px;line-height:1.65}.natural-search-summary{margin:12px 0 18px;padding:10px 12px;border:1px solid rgba(20,58,49,.14);border-radius:10px;background:#f8f4ed;color:var(--green);font-size:11px;line-height:1.7}.natural-search-summary[hidden]{display:none}
.property-catalog-meta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 3px 25px}.property-catalog-meta p{margin:0;color:var(--green);font-size:12px;font-weight:700}.property-catalog-meta small{color:var(--muted);font-size:10px}
.property-catalog-share-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.catalog-share-button{min-height:38px;padding:8px 13px;border:1px solid rgba(20,58,49,.18);border-radius:10px;background:#fff;color:var(--green);font:700 11px "IBM Plex Sans Thai",sans-serif;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.catalog-share-button:hover{transform:translateY(-1px);border-color:var(--gold);background:#fbf8f1}.catalog-share-button:focus-visible{outline:3px solid rgba(183,134,69,.4);outline-offset:2px}.catalog-share-status{color:var(--green);font-size:10px}
.property-catalog-footer{display:flex;justify-content:center;margin-top:30px}.property-catalog-footer button[hidden]{display:none}.property-catalog-empty{display:grid;justify-items:center;gap:5px;margin-top:24px;padding:38px;border:1px dashed #cabda9;border-radius:16px;background:#fff;text-align:center}.property-catalog-empty b{font-size:17px}.property-catalog-empty span{color:var(--muted);font-size:12px}.property-catalog-empty[hidden]{display:none}
@media(max-width:1100px){.property-discovery{grid-template-columns:2fr repeat(2,1fr)}.property-discovery label:nth-of-type(4){grid-column:1/2}.property-filter-reset{grid-column:3/4}}
@media(max-width:700px){.property-discovery{grid-template-columns:1fr 1fr;padding:13px;border-radius:15px}.property-search-field{grid-column:1/-1}.property-filter-reset{grid-column:auto}.property-catalog-meta{align-items:flex-start;flex-direction:column;margin-bottom:20px}.property-catalog-share-tools{justify-content:flex-start}.property-catalog-meta small{display:none}}
@media(max-width:430px){.property-discovery{grid-template-columns:1fr}.property-search-field,.property-filter-reset,.property-discovery label:nth-of-type(4){grid-column:auto}.property-catalog-meta{margin-inline:2px}.property-catalog-footer .btn{width:100%}}
@media(max-width:430px){.natural-search-entry{flex-direction:column}.natural-search-button{width:100%}}

/* Additional budget and sorting controls for the public property catalogue. */
.property-catalog-extra{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);align-items:end;gap:12px;margin:-1px 0 22px;padding:14px 18px;border:1px solid rgba(20,58,49,.12);border-radius:14px;background:rgba(255,255,255,.62)}
.property-budget{min-width:0;margin:0;padding:0;border:0}
.property-budget legend,.property-sort-field>span{display:block;margin:0 0 6px;color:#52655f;font-size:10px;font-weight:700;letter-spacing:.04em}
.property-budget-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.property-budget-controls input,.property-sort-field select{width:100%;min-height:43px;padding:9px 12px;border:1px solid #d5d8d2;border-radius:10px;background:#fff;color:var(--green);font:500 13px "IBM Plex Sans Thai",sans-serif;outline:0}
.property-budget-controls input:focus,.property-sort-field select:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(183,134,69,.1)}
.property-budget-controls input:disabled{background:#f4f2ee;color:#8c918b;cursor:not-allowed}
.property-sort-field{display:block;min-width:0}
.property-budget-help{grid-column:1/-1;color:var(--muted);font-size:10px}
@media(max-width:700px){.property-catalog-extra{grid-template-columns:1fr;padding:12px 14px;gap:10px}.property-budget-help{grid-column:auto}}
