@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#123f3b;--teal:#28675e;--cream:#f6f6ef;--muted:#777e77;--line:#e3e7df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:#233d37;background:#fff;font-family:'Be Vietnam Pro',Arial,sans-serif;font-size:14px}button,select,input{font:inherit}a{color:inherit;text-decoration:none}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #c49b55;outline-offset:4px}header{height:102px;max-width:1440px;margin:auto;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:23px;letter-spacing:-1px;white-space:nowrap}.dot{color:#629586}.brand small{display:block;font-family:'Be Vietnam Pro',sans-serif;letter-spacing:3.5px;font-size:8px;font-weight:500;margin-top:5px}.brand-icon{font-size:40px;line-height:30px;position:relative;width:38px;text-align:center}.brand-icon i{display:block;font-style:normal;font-size:30px;line-height:12px}nav{display:flex;gap:30px;font-size:12px}nav a{padding:14px 0}nav .active{border-bottom:2px solid var(--green)}.header-cta{background:var(--green);color:white;padding:15px 19px;border-radius:4px;font-size:11px}.header-cta span{padding-left:18px}.hero{height:550px;position:relative;background:#34645c url('assets/coast.jpg') center 52%/cover;color:white;margin:0 22px;border-radius:7px;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,42,38,.75),rgba(10,44,39,.2) 75%)}.hero-content{position:relative;padding:64px max(4.4%,calc((100vw - 1280px)/2))}.eyebrow{display:block;font-size:10px;letter-spacing:2.3px;font-weight:600;color:#618276;margin-bottom:19px}.light{color:#d6e6d7}.hero h1{font-family:Manrope,'Be Vietnam Pro',sans-serif;font-size:62px;line-height:1.17;letter-spacing:-2.6px;font-weight:500;margin:0 0 23px}.hero h1 em{font-style:normal;color:#e2e6bc}.hero p{font-size:13px;line-height:1.95;color:#e2ece4;font-weight:400}.hero-link{display:inline-flex;gap:40px;padding-bottom:10px;border-bottom:1px solid #99b7a3;font-size:11px;margin-top:20px}.hero-note{position:absolute;bottom:95px;right:45px;font-size:8px;letter-spacing:2px}.hero-note span{margin-right:15px;color:#caddbd}.search-wrap{position:relative;max-width:1210px;width:88%;margin:-65px auto 0;z-index:1}#filters{display:flex;align-items:center;background:white;min-height:112px;padding:22px 24px;border-radius:7px;box-shadow:0 12px 45px #173d3412;gap:8px}.filter{flex:1;min-width:0;border-right:1px solid var(--line);padding:0 12px}.filter:first-child{padding-left:0}.filter label{display:block;font-size:9px;font-weight:600;margin-bottom:12px;color:#64766b}.filter select{border:0;width:100%;font-size:11px;color:var(--green);background:transparent;cursor:pointer;outline-offset:5px;padding:2px 12px 2px 0}.find{border:0;background:var(--green);color:white;border-radius:4px;min-width:80px;height:46px;margin-left:12px;font-size:12px}.find span{font-size:22px;vertical-align:middle;margin-right:6px}.reset{border:0;background:none;color:#899187;font-size:10px;min-width:48px}.search-caption{display:flex;justify-content:space-between;padding-top:20px;font-size:9px;color:#858f83;letter-spacing:.6px}.search-caption>span:first-child{font-size:8px;letter-spacing:1.8px}.section{max-width:1210px;width:88%;margin:0 auto}.properties{padding-top:78px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:25px}h2{font-family:Manrope,'Be Vietnam Pro',sans-serif;font-size:35px;font-weight:500;letter-spacing:-1.2px;line-height:1.35;margin:0 0 15px}h2>span{color:#9baa70}.section-top p{font-size:11px;color:#889186;line-height:1.8;margin:0}.text-link{font-size:10px;border-bottom:1px solid #bdc9bc;padding:10px 0;white-space:nowrap}.text-link span{margin-left:23px}.listing-toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:31px;border-bottom:1px solid var(--line);padding-bottom:17px;gap:10px}.tabs{display:flex;gap:8px}.tabs button{border:1px solid var(--line);background:white;color:#747d73;font-size:10px;border-radius:4px;padding:11px 16px}.tabs button.selected{background:var(--green);border-color:var(--green);color:white}.sort-label{font-size:10px;color:#889186}.sort-label select{border:0;background:transparent;font-size:10px;color:#334d40;max-width:165px}.results-meta{display:flex;justify-content:space-between;margin:20px 0;font-size:10px;color:#849080}.demo-note{font-size:9px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 24px}.card{border:1px solid #e5e9e1;border-radius:5px;overflow:hidden;background:#fff;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:0 10px 30px #153e3110;transform:translateY(-3px)}.card-photo{position:relative;height:232px;display:block;overflow:hidden}.card img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.card:hover img{transform:scale(1.04)}.badge{position:absolute;top:16px;left:16px;background:#ffffffe8;border-radius:3px;padding:6px 9px;color:#385544;font-size:8px}.photo-id{position:absolute;bottom:13px;left:15px;color:white;text-shadow:0 1px 4px #000;font-size:9px;letter-spacing:1px}.card-body{padding:20px}.location{font-size:9px;color:#92998e;display:block;margin-bottom:10px}.card h4{font-size:14px;font-weight:500;line-height:1.6;min-height:45px;margin:0 0 15px}.facts{display:flex;gap:14px;color:#6c7c6f;font-size:9px;padding-bottom:20px;border-bottom:1px solid #edf0e9}.facts b{font-weight:400;color:#a4ada0;margin-right:4px}.card-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:17px}.price{font-family:Manrope,sans-serif;font-size:22px;color:var(--green);font-weight:600}.price small{font:400 9px 'Be Vietnam Pro',sans-serif;color:#8b9586;display:block;margin-top:4px}.share{font-size:9px;background:none;border:0;color:#607663;padding:8px 0 8px 10px}.share span{font-size:15px;margin-right:5px}.load-more{display:block;margin:34px auto 0;padding:13px 24px;border:1px solid #cbd5c7;background:white;color:#48634a;border-radius:4px;font-size:10px}.load-more span{margin-left:25px}.about{border-top:1px solid var(--line);padding-top:55px;padding-bottom:70px;display:grid;grid-template-columns:1fr 1fr;column-gap:80px}.about>.eyebrow{grid-column:1/-1}.about h2{font-size:38px}.about p{color:#7d897a;font-size:12px;line-height:2;margin:0 0 12px}.contact{position:relative;max-width:none;width:calc(100% - 44px);padding:54px max(5%,calc((100% - 1210px)/2));background:var(--green);color:white;border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:25px}.contact h2{font-size:34px}.contact p{font-size:10px;color:#bdcdbb;line-height:1.8}.button{display:inline-flex;align-items:center;gap:30px;background:var(--green);color:white;border:0;border-radius:3px;padding:15px 22px;font-size:11px}.cream{background:#e8edce;color:var(--green);white-space:nowrap}.contact .contact-note{position:absolute;bottom:7px;right:25px;font-size:8px;opacity:.6}footer{max-width:1210px;width:88%;margin:auto;min-height:115px;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .brand{font-size:20px;gap:0}footer p,footer>span{font-size:8px;color:#8d9788}dialog{border:0;border-radius:10px;padding:0;width:min(850px,94%);max-height:90vh;overflow:auto;color:var(--green)}dialog::backdrop{background:#082a25b8;backdrop-filter:blur(4px)}.detail-image{width:100%;height:320px;object-fit:cover}.close{position:absolute;top:14px;right:14px;background:white;border:0;border-radius:50%;width:34px;height:34px;font-size:23px}.detail-content{padding:30px}.detail-content h2{font-size:26px;margin-top:15px}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.detail-content .price{font-size:28px;white-space:nowrap}.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden;margin:25px 0}.detail-facts div{background:#fafbf7;padding:16px;font-size:12px}.detail-facts small{display:block;font-size:9px;color:#8b9786;margin-bottom:8px}.detail-content p{font-size:12px;color:#7a8774;line-height:1.9}.detail-actions{display:flex;gap:12px;margin-top:23px;align-items:center}.detail-actions>a{font-size:11px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--green);color:white;padding:14px 23px;border-radius:5px;box-shadow:0 5px 30px #0003;font-size:12px;z-index:5;transition:.2s;max-width:90%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}#empty{text-align:center;padding:65px 20px;background:#f8faf5}#empty>span{font-size:40px}#empty h3{font-size:20px;font-weight:500}#empty p{color:#8c9686;font-size:12px}#empty button{margin-top:16px}[hidden]{display:none!important}
@media(min-width:1600px){.hero{max-width:1556px;margin:auto}.hero-content{padding-left:150px}}@media(max-width:1100px){header{padding:0 4%}nav{gap:18px}.header-cta{font-size:10px;padding:13px}.brand{font-size:21px}.filter{padding:0 8px}#filters{padding:20px 14px}.filter label{font-size:8px}.filter select{font-size:10px}.find{min-width:60px;margin-left:3px}.reset{min-width:36px}.grid{gap:20px}.card-photo{height:190px}.facts{gap:8px}.card-body{padding:15px}.card h4{font-size:12px}}
@media(max-width:760px){header{height:80px}.brand{font-size:20px}.brand small{font-size:7px}.brand-icon{font-size:34px}nav{display:none}.header-cta{font-size:9px;padding:12px}.header-cta span{padding-left:8px}.hero{height:510px;margin:0 12px}.hero-content{padding:55px 25px}.hero h1{font-size:46px;letter-spacing:-1.8px}.hero p{font-size:11px}.eyebrow{font-size:8px}.hero-note{display:none}.search-wrap{width:90%;margin-top:-56px}#filters{display:grid;grid-template-columns:1fr 1fr;padding:15px;gap:16px 6px}.filter{padding:0 7px!important;border:0}.filter label{font-size:8px;margin-bottom:8px}.filter select{font-size:10px}.find{grid-column:2;grid-row:3;height:41px;margin:0}.reset{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;font-size:10px}.search-caption>span:last-child{display:none}.section{width:90%}.properties{padding-top:50px}.section-top{align-items:start}.section-top h2{font-size:27px}.section-top p{font-size:10px}.text-link{display:none}.listing-toolbar{flex-wrap:wrap;gap:17px}.tabs{gap:5px}.tabs button{font-size:9px;padding:10px 12px}.sort-label{margin-left:auto}.results-meta{font-size:9px;gap:10px}.demo-note{font-size:8px}.grid{grid-template-columns:repeat(2,1fr);gap:18px 12px}.card-photo{height:160px}.card-body{padding:12px}.card h4{font-size:11px;min-height:52px}.facts{gap:6px;flex-wrap:wrap;font-size:8px;padding-bottom:13px}.price{font-size:19px}.price small{font-size:7px}.card-bottom{padding-top:13px}.share{font-size:0}.share span{font-size:18px}.badge{font-size:7px;top:10px;left:10px}.photo-id{font-size:7px}.about{grid-template-columns:1fr;gap:12px;padding-top:35px;padding-bottom:35px}.about h2{font-size:32px}.about p{font-size:11px}.contact{width:calc(100% - 24px);padding:38px 24px 50px;flex-direction:column;align-items:start;gap:12px}.contact h2{font-size:28px}.contact .contact-note{left:24px;right:24px;font-size:7px}.contact p{font-size:9px}footer{min-height:130px;flex-wrap:wrap;gap:4px;padding:25px 0}footer p{width:100%;order:3}.detail-image{height:230px}.detail-content{padding:22px}.detail-head{display:block}.detail-content h2{font-size:23px}.detail-facts{grid-template-columns:repeat(2,1fr)}.detail-facts div{padding:12px}.detail-actions{flex-wrap:wrap}}
@media(max-width:390px){.header-cta{font-size:8px}.brand{font-size:18px}.grid{grid-template-columns:1fr}.card-photo{height:220px}.card h4{min-height:0;font-size:14px}.facts{font-size:10px}.share{font-size:10px}.hero h1{font-size:41px}}

.detail-gallery{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem .2rem;margin:1rem 0}
.detail-gallery button{flex:0 0 5rem;padding:.1rem;background:#fff;border:2px solid transparent;border-radius:.45rem;cursor:pointer}
.detail-gallery button[aria-pressed="true"]{border-color:#0b4946}
.detail-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:.25rem}

.detail-map {
  margin-top: 24px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.detail-map iframe {
  display: block;
  width: 100%;
  height: clamp(220px, 45vw, 340px);
  margin-bottom: 12px;
  border: 0;
  border-radius: 6px;
  background: var(--cream);
}

.detail-map a {
  display: inline-block;
  padding: 8px 0;
  color: var(--teal);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.podcasts {
  padding-block: clamp(56px, 8vw, 90px) clamp(45px, 7vw, 75px);
}

.podcasts .section-top p {
  color: #53685e;
  font-size: 13px;
}

.podcast-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 16px;
  margin-top: 26px;
}

.podcast-card {
  padding: clamp(16px, 2.4vw, 26px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7f9f5;
}

.podcast-kicker {
  color: var(--teal);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .11em;
}

.podcast-kicker span {
  padding-inline: 3px;
}

.podcast-card h3 {
  margin: 10px 0;
  color: var(--green);
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.35;
}

.podcast-card p {
  color: #53685e;
  font-size: 13px;
  line-height: 1.65;
}

.podcast-card audio {
  display: block;
  width: 100%;
  margin-top: 16px;
}

.podcast-card details {
  margin-top: 14px;
  color: var(--teal);
  font-size: 12px;
}

.podcast-card summary {
  width: fit-content;
  cursor: pointer;
  font-weight: 600;
}

@media (max-width: 790px) {
  .podcast-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.header-actions {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.header-admin {
  padding: 13px 11px;
  border: 1px solid var(--teal);
  border-radius: 4px;
  color: var(--green);
  font-size: 11px;
  font-weight: 650;
  text-align: center;
}

@media (min-width: 761px) and (max-width: 1050px) {
  header { gap: 14px; }
  header nav { gap: 12px; }
  .header-cta { padding-inline: 10px; }
  .header-cta span { padding-left: 6px; }
}

@media (max-width: 760px) {
  header { gap: 8px; }
  .header-actions { flex-direction: column; align-items: stretch; gap: 4px; }
  .header-admin, .header-cta { padding: 5px 7px; text-align: center; }
  .header-cta span { display: none; }
}

.podcast-catalog { padding-block: 24px 60px; }
.podcast-catalog h1 { margin: 0 0 12px; font-size: clamp(32px, 6vw, 56px); color: var(--green); }
.podcast-catalog .section-top, .podcasts .section-top { flex-wrap: wrap; }
.podcast-catalog .section-top p { font-size: 14px; color: #53685e; }
.podcast-catalog .podcast-card h2 { margin: 10px 0; font-size: clamp(17px, 2vw, 21px); font-weight: 700; letter-spacing: 0; }
.podcast-edit { display: inline-block; margin-top: 16px; color: var(--teal); font-weight: 700; text-decoration: underline; }
.podcast-catalog .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.podcasts .button { white-space: nowrap; }

#detail-body > .close + .detail-content { padding-top: 52px; }

.listing-group + .listing-group { margin-top: 36px; }
.listing-group > h3 { margin: 0 0 14px; color: var(--green); font-size: clamp(21px, 3vw, 28px); }
.listing-empty { padding: 14px; color: #53685e; background: #f7f9f5; border-radius: 6px; }
.land-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.land-row {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 16px 12px;
  border-bottom: 1px solid var(--line);
}
.land-row:nth-child(odd) { background: #f7f9f5; }
.land-name, .land-facts { min-width: 0; }
.land-name h4 { margin: 0; color: var(--green); font-size: 15px; line-height: 1.45; }
.land-name a:hover { text-decoration: underline; }
.land-facts { display: flex; flex-wrap: wrap; gap: 6px 12px; margin: 0; padding: 0; list-style: none; color: #53685e; font-size: 12px; }
.land-price { display: flex; align-items: center; gap: 10px; }
.land-price .price { white-space: nowrap; }
@media (max-width: 760px) {
  .land-row { grid-template-columns: minmax(0, 1fr) auto; gap: 7px 10px; padding: 12px 9px; }
  .land-name { grid-column: 1 / -1; }
  .land-facts { gap: 4px 8px; font-size: 11px; }
  .land-price { gap: 5px; }
}
