*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f2eb;color:#20352e;font-family:'DM Sans','Noto Sans Thai',sans-serif;font-size:15px;line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Cormorant Garamond','Noto Sans Thai',Georgia,serif;font-weight:400;line-height:1.04;letter-spacing:-.035em}h1{font-size:clamp(46px,5.8vw,88px)}h2{font-size:clamp(42px,5.2vw,76px)}h3{font-size:32px}h1 em,h2 em{font-weight:400;color:#7d8a74}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{width:100%;display:block;object-fit:cover}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a97934;outline-offset:5px}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}.eyebrow{display:block;font-size:10px;letter-spacing:.22em;font-weight:500;margin-bottom:25px}.preview-bar{background:#1d3029;color:#e0ddcf;text-align:center;font-size:9px;letter-spacing:.16em;padding:6px 15px}header{height:106px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #20352e22;position:relative;z-index:5}.brand{font-family:Georgia,serif;font-size:19px;letter-spacing:.12em;line-height:1.5}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:.35em;margin-top:4px}nav{display:flex;align-items:center;gap:35px;font-size:12px}nav a{transition:opacity .2s}nav a:hover{opacity:.6}.languages{display:flex;gap:9px;margin-left:20px;font-size:10px}.languages [aria-current]{border-bottom:1px solid}.menu-toggle{display:none}.home header{position:absolute;top:29px;left:0;right:0;color:#fff;border-color:#ffffff30}.hero{min-height:800px;height:calc(100svh - 29px);max-height:1100px;background:#132b29;position:relative;isolation:isolate;color:#fff;overflow:hidden}.architecture{position:absolute;inset:0;z-index:-3;background:linear-gradient(175deg,#8e8476 0%,#5b7774 30%,#263e3a 64%,#0a2221 100%)}.architecture:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101c1bd9 0%,transparent 25%,transparent 78%,#0c1d1a99 100%),linear-gradient(180deg,#08161355,transparent 45%,#071f1dde 100%)}.architecture:after{content:'';position:absolute;left:5%;right:5%;top:8%;bottom:5%;border:22px solid #101f1be6;border-bottom-width:90px;box-shadow:0 0 0 80px #14282380;transform:perspective(700px) rotateX(-4deg)}.architecture i{position:absolute;left:23%;top:0;width:3%;height:100%;background:#132522b3;box-shadow:570px 0 #132522b3}.architecture b{position:absolute;right:14%;bottom:14%;width:30%;height:14%;background:linear-gradient(90deg,#6d685b,#938975);border-radius:50% 50% 5% 5%;box-shadow:0 25px 70px #0008}.architecture em{position:absolute;left:12%;bottom:18%;height:34%;width:10%;background:repeating-linear-gradient(80deg,transparent 0 25px,#263329 27px 29px);transform:skewX(-8deg)}.hero-grain{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#14231f11 20%,#12221e44 50%,#0c1c19b3 100%)}.hero-content{position:relative;text-align:center;max-width:960px;margin:auto;padding:clamp(190px,23vh,280px) 25px 120px}.hero h1{font-size:clamp(64px,7.5vw,112px);line-height:.99;letter-spacing:-.035em;margin-bottom:26px;text-shadow:0 3px 35px #0003}.hero h1 em{color:#e5dfce}.hero .eyebrow{font-size:10px;color:#ebe6d7;margin-bottom:32px}.hero p{font-size:14px;color:#e5e5dc}.hero-actions{display:flex;justify-content:center;gap:14px;margin:36px 0 22px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid transparent;padding:15px 25px;font-size:12px;min-height:50px;transition:background .2s,transform .2s;line-height:1.4}.button:hover{transform:translateY(-2px)}.light{background:#f1efdf;color:#20352e}.dark{background:#20392f;color:#fff}.outline{border-color:#fff7;color:#fff;background:#fff1}.hero-request{font-size:12px;border-bottom:1px solid #fff5;padding-bottom:8px}.hero-request span{margin-left:25px}.hero-bottom{position:absolute;left:6%;right:6%;bottom:25px;display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.05em;color:#d3d7cc}.hero-bottom small{font-size:9px;opacity:.7}.section{padding:110px 8%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px;gap:50px}.section-heading h2{margin:0}.section-heading>p{font-size:13px;color:#6e776b;max-width:340px;padding-bottom:8px}.empty{border-top:1px solid #c9cdbf;border-bottom:1px solid #c9cdbf;padding:55px 20px;text-align:center}.empty h3{font-size:38px}.empty p{color:#717b70;font-size:13px}.empty .eyebrow{margin-bottom:20px}.text-link{font-size:12px;display:inline-block;border-bottom:1px solid #84927f;padding-bottom:7px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.card-image{height:360px;background:#d6dace;position:relative;overflow:hidden}.card-image img{height:100%;transition:transform .6s}.property-card:hover img{transform:scale(1.035)}.card-image>span{position:absolute;bottom:18px;left:18px;color:white;background:#1d332ed9;padding:6px 12px;font-size:10px}.card-line{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:23px}.card-line h3{font-size:28px;margin-bottom:10px}.property-card p{margin-bottom:3px;font-size:13px}.property-card small{font-size:11px;color:#778170}.living{background:#e6e9df}.localities{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid #b9c2b2}.localities>a{border-right:1px solid #b9c2b2;padding:35px 30px;position:relative;min-height:230px}.localities>a:first-child{padding-left:0}.localities>a:last-child{border:0}.localities span{font-size:10px;letter-spacing:.15em}.localities h3{margin-top:30px;font-size:37px}.localities p{font-size:12px;color:#687765}.localities b{position:absolute;right:30px;top:35px;font-size:24px;font-weight:400}.muted{color:#798274;font-size:12px}.personal{text-align:center;padding-top:135px;padding-bottom:135px;max-width:1000px;margin:auto}.personal p{max-width:450px;margin:0 auto 32px;color:#71806d}.closing{text-align:center;padding:85px 20px;background:#1b3029;color:#f4f2e9}.closing h2{font-size:clamp(43px,5vw,70px)}.closing em{color:#a8b19a}.closing .eyebrow{color:#c2c6b5}footer{padding:60px 8% 25px;display:grid;grid-template-columns:1fr 1fr;gap:25px}footer>p{font-size:12px;justify-self:end}footer>div{display:flex;gap:20px;font-size:11px}footer>small{text-align:right;font-size:10px;color:#7c8875}.page-intro{padding:85px 8% 55px}.page-intro h1{max-width:850px}.page-intro p{color:#7e8878}.listing-section{padding-top:0}.filters{display:grid;grid-template-columns:1.3fr 1fr .7fr 1fr .7fr auto;gap:15px;align-items:end;border-top:1px solid #c3ccbe;border-bottom:1px solid #c3ccbe;padding:25px 0}.filters label{font-size:10px}.filters input,.filters select{margin-top:8px;padding:12px 0;background:transparent}.filters .button{padding:12px}.filters+ p{font-size:11px;color:#7b8973;margin-top:24px}.detail{padding-top:50px}.detail-heading{display:flex;align-items:end;justify-content:space-between;margin-top:45px;gap:35px}.detail h1{max-width:750px;font-size:60px}.detail-heading p{white-space:nowrap}.gallery{display:grid;grid-template-columns:2fr 1fr;gap:15px;max-height:740px;overflow:auto;margin:25px 0 50px}.gallery a:first-child{grid-row:span 2}.gallery img{height:100%;min-height:220px;max-height:700px}.detail-columns{display:grid;grid-template-columns:2fr 1fr;gap:10%}.detail-columns aside{background:#e5e9df;padding:35px;height:max-content;position:sticky;top:30px}.detail-columns aside small{display:block;margin-top:20px;font-size:10px}.facts{display:flex;gap:40px;border-bottom:1px solid #c6cdbd;padding-bottom:30px;margin-bottom:35px}.facts strong{display:block;font:40px Georgia}.facts span{font-size:11px}.detail h2{font-size:42px}.preserve{white-space:pre-line}.tags{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.tags span{background:#e4e9de;padding:6px 12px;font-size:11px}.request-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%}.request-layout h1{font-size:67px}.request-layout>div>p{color:#72816c}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.wide{grid-column:1/-1}label{display:block;font-size:12px}input,textarea,select{width:100%;border:0;border-bottom:1px solid #a4b19b;background:#ffffff38;padding:12px 8px;color:#20352e;border-radius:0;margin-top:8px}textarea{resize:vertical}.check{display:flex;align-items:flex-start;gap:10px;font-size:11px}.check input{width:auto;margin:5px 0}.check a{text-decoration:underline}.trap{position:absolute;left:-9999px}.status{font-size:13px}.editorial{max-width:1000px;margin:0 auto;min-height:580px}.editorial h1{font-size:76px}.editorial-rule{height:1px;background:#bcc6b5;margin:40px 0}.editorial .large-copy{font:34px/1.3 'Cormorant Garamond',Georgia,serif}.editorial p{max-width:650px}.editorial .button{margin-top:20px}.contact-links{margin:25px 0;display:grid;gap:8px}.skip{position:absolute;left:20px;top:-100px;z-index:99;background:white;padding:10px}.skip:focus{top:10px}.admin header{height:90px}.admin-main{max-width:1260px;margin:0 auto;padding:50px 30px}.admin h1{font-size:52px}.admin-top{display:flex;align-items:center;justify-content:space-between}.admin-tabs{display:flex;gap:10px;border-bottom:1px solid #c1ccbb;margin-bottom:30px}.admin-tabs button{border:0;background:transparent;padding:15px 20px}.admin-tabs button.active{border-bottom:3px solid #254534}.login-card{max-width:430px;margin:40px auto;padding:30px}.login-card .button{width:100%;margin:25px 0}.login-card small{font-size:11px;color:#71806b}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table td,.admin-table th{text-align:left;border-bottom:1px solid #c7cfc0;padding:16px 10px}.admin-table button,.small-button{background:transparent;border:1px solid #adbaa3;color:#29432f;padding:7px 12px;font-size:11px;margin:4px}.admin-table small{display:block;color:#75856d}.badge{font-size:10px;background:#e0e5d8;padding:4px 7px}.admin-editor{display:grid;grid-template-columns:1.5fr 1fr;gap:45px}.admin-editor h2{font-size:34px}.admin-editor .form-grid{gap:17px}.admin-editor fieldset{border:1px solid #bdc9b3;padding:20px;margin:25px 0}.admin-editor legend{font-size:11px;letter-spacing:.1em}.admin-photo{display:flex;gap:10px;align-items:center;margin:15px 0;border-bottom:1px solid #ced5c7;padding-bottom:15px}.admin-photo img{width:110px;height:85px}.admin-photo small{display:block;font-size:10px}.admin-photo button{font-size:11px}.notice{padding:16px;background:#e4e9dc;font-size:12px;border-left:3px solid #879a75}.inquiry-card{border:1px solid #bdc9b3;padding:25px;margin-bottom:20px;overflow-wrap:anywhere}.inquiry-card h3{font-size:28px}.inquiry-card select{max-width:230px}.inquiry-card small{color:#77866d}.table-wrap{overflow-x:auto}.admin-settings{max-width:800px}
@media(max-width:900px){nav{gap:20px}.cards{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:repeat(3,1fr)}.section{padding:75px 6%}.request-layout{gap:7%}.request-layout h1{font-size:48px}.detail h1{font-size:45px}.admin-editor{grid-template-columns:1fr}.hero{min-height:740px}.hero-content{padding-top:220px}.localities h3{font-size:31px}.hero-bottom>span:first-child{display:none}.detail-columns{gap:5%}}
@media(max-width:600px){header{height:85px;padding:0 6%}.brand{font-size:15px}.brand small{font-size:7px}.preview-bar{font-size:7px;letter-spacing:.1em;min-height:24px}.home header{top:24px}.menu-toggle{display:block;border:0;color:inherit;background:transparent;padding:12px 0;font-size:11px}nav{display:none;position:absolute;top:85px;left:0;right:0;background:#f4f2eb;color:#20352e;padding:30px;box-shadow:0 15px 25px #0002;flex-direction:column;align-items:flex-start;gap:25px}.nav-open nav{display:flex}.languages{margin-left:0}.hero{height:calc(100svh - 24px);min-height:710px}.hero-content{padding:185px 20px 110px}.hero h1{font-size:60px}.hero p{font-size:12px}.hero .eyebrow{font-size:8px}.hero-actions{gap:9px}.hero-actions .button{padding:15px 16px;font-size:10px;gap:14px}.hero-bottom{bottom:18px;font-size:8px}.hero-bottom small{font-size:8px;max-width:230px}.architecture:after{border-width:12px;border-bottom-width:70px}.architecture i{left:18%;width:4%;box-shadow:230px 0 #132522b3}.architecture b{width:50%;right:10%;bottom:14%;height:12%}.section{padding:65px 6%}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:30px;max-width:280px}.eyebrow{font-size:8px;margin-bottom:20px}.empty{padding:40px 10px}.empty h3{font-size:32px}.cards{grid-template-columns:1fr;gap:40px}.card-image{height:380px}.localities{grid-template-columns:1fr;margin-top:30px}.localities>a,.localities>a:first-child{border:0;border-bottom:1px solid #bac4b2;padding:25px 0;min-height:auto}.localities h3{margin-top:18px;margin-bottom:10px}.localities b{right:0}.localities p{margin:0}.living>.muted{display:block;margin-top:20px;font-size:10px}.personal p{font-size:13px}.closing{padding:65px 20px}.closing h2{font-size:46px}footer{grid-template-columns:1fr;padding:40px 6% 25px;gap:15px}footer>p{justify-self:start}footer>small{text-align:left}.page-intro{padding:60px 6% 25px}.page-intro h1{font-size:48px}.listing-section{padding-top:0}.filters{grid-template-columns:1fr 1fr;gap:20px}.filters label{font-size:10px}.detail-heading{display:block;margin-top:30px}.detail h1{font-size:44px}.detail-heading p{font-size:14px;margin-bottom:7px}.gallery{grid-template-columns:1fr 1fr;max-height:none;gap:8px;margin:25px 0 35px}.gallery a:first-child{grid-column:1/-1;grid-row:auto}.gallery img{min-height:130px;height:160px}.gallery a:first-child img{height:330px}.detail-columns{grid-template-columns:1fr;gap:35px}.detail-columns aside{position:static}.facts{gap:35px}.request-layout{grid-template-columns:1fr;gap:35px}.request-layout h1{font-size:50px}.form-grid{gap:18px}.editorial h1{font-size:52px}.editorial .large-copy{font-size:29px}.admin-main{padding:35px 18px}.admin h1{font-size:36px}.admin-top{gap:15px}.admin-top a{font-size:11px}.admin-tabs button{padding:12px 7px;font-size:12px}.login-card{padding:15px;margin-top:10px}.admin-toolbar{align-items:start}.admin-editor .form-grid{grid-template-columns:1fr}.admin-editor .wide{grid-column:auto}.admin-photo{flex-wrap:wrap}}
.architecture{background:url('/hero-illustration.png') center/cover no-repeat}.architecture:after,.architecture i,.architecture b,.architecture em{display:none}.architecture:before{background:linear-gradient(180deg,#0b221f88 0%,#13251e33 35%,#0a1d1888 100%)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.button:hover{transform:none}}

.demo-notice{padding:12px 14px;border:1px solid #b6a47d;background:#eee8da;color:#263c32;font-size:13px;line-height:1.6;overflow-wrap:anywhere}

.card-image img.source-media,.gallery img.source-media{object-fit:contain;background:#e4dfd3}.gallery img.source-media{height:auto;max-height:640px}
.share-control{margin:14px 0;display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:14px}.share-control button{cursor:pointer;padding:10px 16px;border:1px solid #8c9b8e;background:transparent;color:#263c32;font:inherit}.share-control [hidden]{display:none}.share-control .share-status,.share-control .copy-fallback{flex-basis:100%}.share-control input{width:100%;min-width:0}
/* Mobile sections have 6% side gutters: cancel those only for property media. */
@media(max-width:600px){
 .property-card{display:block}
 .card-image,.detail>.gallery{width:113.636363636%;margin-left:-6.818181818%;margin-right:-6.818181818%}
 .card-image{height:auto;overflow:visible}
 .card-image img,.card-image img.source-media,.gallery img,.gallery img.source-media,.gallery a:first-child img{width:100%;height:auto;min-height:0;max-height:none;object-fit:contain}
 .property-card:hover img{transform:none}
 .card-image>span{position:static;display:table;margin:12px 6% 0}
 .detail>.gallery{grid-template-columns:1fr;max-height:none;overflow:visible;gap:16px}
 .gallery a:first-child{grid-column:auto;grid-row:auto}
}
.gallery-shell{position:relative;margin:25px 0 50px;min-width:0}
.gallery-shell>.gallery{display:flex;gap:0;max-height:none;margin:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.gallery-shell>.gallery::-webkit-scrollbar{display:none}
.gallery-shell>.gallery>a,.gallery-shell>.gallery>a:first-child{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;background:#e4dfd3}
.gallery-shell>.gallery img,.gallery-shell>.gallery img.source-media,.gallery-shell>.gallery a:first-child img{width:100%;height:auto;min-height:0;max-height:700px;object-fit:contain}
.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:58px;border:1px solid #ffffff88;background:#20352ed9;color:#fff;font-size:34px;line-height:1;z-index:1}
.gallery-prev{left:12px}.gallery-next{right:12px}.gallery-prev:disabled,.gallery-next:disabled{opacity:.3;cursor:default}
.gallery-position{display:table;margin:10px auto 0;font-size:12px;letter-spacing:.1em}
.gallery-shell>.gallery>a{flex-direction:column}
.gallery-video{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;background:#20352e}
.gallery-video video{display:block;width:100%;max-height:700px;object-fit:contain}.admin-photo video{width:180px;max-height:140px}
.property-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:25px 0}.property-details dt{font-size:13px;color:#526359}.property-details dd{margin:0;font-size:16px;overflow-wrap:anywhere}
@media(max-width:600px){.gallery-video video{max-height:none}}
.media-disclosure{display:block;width:100%;padding:14px 6%;background:#eee8da;color:#20352e;font-size:14px;line-height:1.6}
footer>div{flex-wrap:wrap;align-items:center}footer .instagram-link{font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
/* Keep source artwork unchanged; present its key facts as legible web text. */
.property-card>p:not(.demo-notice){font-size:18px;font-weight:600;line-height:1.5;margin-bottom:8px}
.property-card>small{display:block;font-size:15px;line-height:1.6;color:#20352e}
.property-card .demo-notice,.detail>.demo-notice{font-size:14px;line-height:1.65;margin-top:16px}
.detail-heading p{font-size:18px;font-weight:600;white-space:normal}
.facts span{font-size:14px;color:#20352e}
.detail-columns>div>small{font-size:14px;line-height:1.7}
@media(max-width:600px){
 .card-line h3{font-size:32px;line-height:1.15}
 .card-image>span{font-size:13px;line-height:1.5;background:#20352e}
 .detail .preserve{font-size:16px}
 .detail>.gallery-shell{width:113.636363636%;margin-left:-6.818181818%;margin-right:-6.818181818%;margin-bottom:35px}
 .gallery-shell>.gallery img,.gallery-shell>.gallery img.source-media,.gallery-shell>.gallery a:first-child img{max-height:none}
 .gallery-prev,.gallery-next{width:38px;height:48px;font-size:28px}.gallery-prev{left:6px}.gallery-next{right:6px}
}

.production .architecture{background:none}.authentic-hero{height:100%;width:100%;object-fit:cover}.production.home header{top:0}.production .hero{height:100svh}

/* Password forms: readable on phones without input-triggered iOS zoom. */
.login-card,#change-password,#accept-form{width:100%;min-width:0;max-width:460px}
.login-card{padding:24px;margin:24px auto}
.login-card label,#change-password label,#accept-form label{font-size:14px;line-height:1.5;margin:0;min-width:0}
.login-card input,#change-password input,#accept-form input{font-size:16px;min-height:52px;min-width:0;max-width:100%;margin-top:8px}
#change-password,#accept-form{display:grid;gap:22px}
#login-form>label+label{margin-top:22px}
.auth-reset{max-width:460px;margin:24px auto}
.auth-reset h2{font-size:clamp(32px,7vw,44px);line-height:1.15}
.auth-reset>p{font-size:15px;line-height:1.6}
#change-password>.button,#accept-form>.button{width:100%;justify-content:center;margin:6px 0 0;font-size:15px}
.password-control{display:block;position:relative;min-width:0}
.password-control input{padding-right:60px}
.password-toggle{position:absolute;right:4px;top:12px;width:44px;height:44px;padding:10px;display:grid;place-items:center;background:transparent;border:0;color:#20352e;border-radius:4px}
.password-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.password-toggle .eye-slash{display:none}.password-toggle[aria-pressed=true] .eye-slash{display:block}
.password-toggle:focus-visible{outline-offset:0}
[hidden]{display:none!important}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.facts>div{min-width:0}.fact-icon{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block;margin-bottom:12px}.facts strong{font-size:32px}.property-details .fact-icon{width:22px;height:22px;margin-bottom:8px}.detail-columns>div>.preserve{font-size:17px;line-height:1.85;max-width:70ch;margin:24px 0 36px;overflow-wrap:anywhere}.detail-columns h2{margin-top:36px}.property-highlights{margin:32px 0;border-block:1px solid #c6cdbd;padding:24px 0}.property-highlights h3{font-size:28px;margin-bottom:20px}.property-highlights ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}.property-highlights li{font-size:16px;line-height:1.6;overflow-wrap:anywhere;padding:12px 0;border-bottom:1px solid #d6dcd0}.property-highlights summary{display:flex;align-items:center;gap:12px;cursor:pointer;padding:18px 0;font-size:14px;list-style:none}.property-highlights summary::-webkit-details-marker{display:none}.property-highlights .less-label{display:none}.property-highlights details[open] .more-label{display:none}.property-highlights details[open] .less-label{display:inline}.property-highlights details[open] .highlight-chevron{transform:rotate(180deg)}
.lightbox-open{overflow:hidden}.photo-lightbox{position:fixed;inset:0;margin:auto;padding:0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:#101713f5;color:#fff;overflow:hidden}.photo-lightbox::backdrop{background:#101713}.photo-lightbox[open]{display:grid;grid-template-rows:minmax(0,1fr) auto;padding:64px 64px 22px;gap:12px}.lightbox-stage{min-height:0;width:100%;display:flex;align-items:center;justify-content:center}.lightbox-stage img{display:block;width:100%;height:100%;object-fit:contain;max-height:calc(100dvh - 120px)}.photo-lightbox button{position:absolute;background:#20352ee6;color:#fff;border:1px solid #ffffff80;border-radius:3px;min-width:46px;min-height:46px;font-size:32px;line-height:1}.lightbox-close{right:18px;top:12px}.lightbox-prev{left:12px;top:50%}.lightbox-next{right:12px;top:50%}.photo-lightbox button:disabled{opacity:.35}.lightbox-caption{text-align:center;font-size:13px;line-height:1.5}.lightbox-disclosure{display:block;max-width:800px;margin:auto}.lightbox-count{display:block}
@media(max-width:600px){.photo-lightbox[open]{padding:64px 8px 18px}.lightbox-stage img{max-height:calc(100dvh - 130px)}.lightbox-prev{left:5px}.lightbox-next{right:5px}.photo-lightbox button{min-width:40px;min-height:44px}.property-highlights ul{grid-template-columns:1fr}.facts{gap:12px}.facts strong{font-size:28px}.facts span{font-size:12px}}
/* Shared form rhythm and intrinsic sizing prevent long labels and controls colliding. */
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid>*{min-width:0}
label{line-height:1.55;overflow-wrap:anywhere}input,select,textarea{font:inherit;font-size:16px;min-width:0;max-width:100%;min-height:44px}
.check{align-items:flex-start;line-height:1.6;gap:12px}.check input{flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:3px 0 0}
.admin form:not(.form-grid){min-width:0}.admin form>.button{margin-top:20px}.admin label+label{margin-top:0}
#invite-form{display:grid;gap:20px;max-width:600px;margin:28px 0}.admin-tabs{flex-wrap:wrap}.admin-top,.admin-toolbar{flex-wrap:wrap}
.admin-editor>*{min-width:0}.admin-photo>div{min-width:0;overflow-wrap:anywhere}.admin-photo img,.admin-photo video{flex-shrink:0}
.hero-manager{max-width:800px;margin-bottom:42px;padding-bottom:32px;border-bottom:1px solid #bdc9b3}.hero-manager h2{font-size:36px}.hero-manager p{font-size:14px;line-height:1.7}.hero-manager form{display:grid;gap:18px;margin-top:24px}.hero-manager .button{justify-self:start}
#hero-preview{width:100%;height:280px;object-fit:cover;display:block;margin:24px 0}
.production .hero{height:clamp(580px,100svh,900px);min-height:0}.production .hero-content{padding-top:clamp(150px,22svh,220px);padding-bottom:90px}.authentic-hero[data-position=top]{object-position:center top}.authentic-hero[data-position=bottom]{object-position:center bottom}.authentic-hero[data-position=left]{object-position:left center}.authentic-hero[data-position=right]{object-position:right center}
@media(max-width:600px){.admin-settings,.request-layout .form-grid{grid-template-columns:1fr}.admin-settings .wide,.request-layout .wide{grid-column:auto}.admin-tabs{gap:4px}.admin-tabs button{min-height:44px}.hero-manager h2{font-size:32px}#hero-preview{height:220px}.production .hero{height:clamp(620px,100svh,850px)}.production .hero-content{padding:150px 20px 90px}.production .hero h1{font-size:clamp(44px,12vw,60px)}.hero-actions{flex-wrap:wrap}}
@media(max-width:540px){.auth-reset{margin:8px auto}.login-card{padding:12px;margin:12px auto}.admin-main{padding:24px 18px}.admin header{padding:16px 18px;height:auto;min-height:84px;gap:12px}.admin header .brand{font-size:15px}.admin header .button{padding:10px 12px;gap:8px}.password-control input:focus-visible{outline-offset:2px}}

#recovery-form{display:grid;gap:22px;margin:24px 0}#recovery-form>.button{margin:0}.login-card>.text-link{display:inline-block;margin:14px 0}.login-card>small{display:block;margin-top:14px}
.feature-picker{min-width:0;margin:12px 0;padding:18px;border:1px solid #bdc9b3}.feature-picker p{font-size:13px;line-height:1.7;margin:0 0 18px}.feature-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.feature-option{display:grid;grid-template-columns:minmax(0,1fr) 32px 32px;align-items:center;gap:2px;border-bottom:1px solid #d2d8cd;padding:8px 0}.feature-option .check{display:flex;align-items:center;margin:0;font-size:13px;gap:9px;min-width:0}.feature-option input{margin:0}.feature-option .fact-icon{flex:0 0 20px;width:20px;height:20px}.feature-option button{padding:0;min-width:32px;min-height:44px;background:transparent;border:0;color:#263d32}.feature-option button:focus-visible,.feature-option input:focus-visible{outline:2px solid #435d4d;outline-offset:2px}.feature-option:has(input:checked){background:#e7ece3}.custom-highlights{margin:12px 0}.custom-highlights summary{cursor:pointer;padding:12px 0}.custom-highlights label{margin:16px 0!important}.property-highlights li{display:flex;align-items:flex-start;gap:12px}.property-highlights li .fact-icon{flex:0 0 22px;margin-top:2px}.property-highlights li span{min-width:0;overflow-wrap:anywhere}
.save-actions{display:grid;gap:14px;margin-top:24px}.save-actions>.button{justify-self:start}.save-feedback:not([hidden]),#admin-status.save-success:not(:empty){padding:14px 18px;border-left:4px solid #47634f;background:#e5ecdf;color:#163327;line-height:1.65;font-size:15px;overflow-wrap:anywhere}.save-feedback.error{background:#fff0eb;border-color:#a33120;color:#782518}.field-error{display:block;color:#982d1c;font-size:13px;line-height:1.5;margin-top:8px}[aria-invalid=true]{outline:2px solid #a33120;outline-offset:2px}#property-form[aria-busy=true]{cursor:progress}#save-property:disabled{opacity:.65;cursor:progress}
@media(max-width:700px){.feature-options{grid-template-columns:1fr}.feature-picker{padding:12px}.feature-option .check{font-size:14px}}

.detail-accordion{border-top:1px solid var(--line,#d6d9d4);margin:24px 0;min-width:0}.detail-accordion>summary{display:flex;align-items:center;gap:12px;padding:20px 0;cursor:pointer;font-size:21px;line-height:1.35;font-weight:500;list-style:none}.detail-accordion>summary::-webkit-details-marker{display:none}.detail-accordion>summary>span{flex:1;min-width:0}.section-chevron{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .15s}.detail-accordion[open]>summary .section-chevron{transform:rotate(180deg)}.detail-accordion>summary:focus-visible,.highlight-expansion>summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}.detail-section-content{padding:0 0 20px;overflow-wrap:anywhere}.detail-section-content .property-details{margin:0}.detail-section-content .preserve{margin-top:0}.detail-section-content .tags{margin:0}.property-highlights summary{font-size:16px;min-height:44px;cursor:pointer}.property-details dd{overflow-wrap:anywhere;min-width:0}@media(max-width:600px){.detail-accordion>summary{font-size:19px}.detail-section-content{font-size:16px;line-height:1.65}}@media(prefers-reduced-motion:reduce){.section-chevron{transition:none}}

footer .site-credit{grid-column:1/-1;justify-self:end;font-size:11px;line-height:1.5;color:#65715f;text-decoration:underline;text-underline-offset:3px;padding:8px 0}footer .site-credit:hover{color:#20352e}@media(max-width:600px){footer .site-credit{justify-self:start}}
