:root{--ink:#102e43;--pine:#005e5e;--pine-dark:#00484a;--gold:#c69a50;--gold-pale:#f3e9d8;--sand:#f8f5ef;--mist:#f1f5f4;--line:#dce7e5;--muted:#65767a;--danger:#9c3a35;--font:Tahoma,"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--font);line-height:1.7}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.utility{height:34px;padding:0 max(22px,calc((100% - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--ink);color:#e7eeee;font-size:11px}.utility-dot{padding:0 7px;color:var(--gold)}.site-header{height:82px;padding:0 max(22px,calc((100% - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff;border-bottom:1px solid #edf1ef;position:relative;z-index:3}.brand{display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:800;color:var(--ink);line-height:1.05;white-space:nowrap}.brand b{display:grid;place-items:center;width:35px;height:35px;border:2px solid var(--gold);color:var(--gold);font-family:Georgia,serif;font-size:15px;letter-spacing:-2px}.brand small{display:block;margin-top:4px;font-size:9px;font-weight:500;color:#687a7e}.site-header nav{display:flex;align-items:center;gap:34px;margin-right:auto;margin-left:20px}.site-header nav a{font-size:14px;font-weight:700;color:#4d6166}.site-header nav a:hover{color:var(--pine)}.contact-button,.primary-action{display:inline-flex;gap:13px;align-items:center;justify-content:center;background:var(--pine);color:#fff;padding:11px 17px;border-radius:3px;font-size:13px;font-weight:700}.contact-button:hover,.primary-action:hover{background:var(--pine-dark)}.contact-button i{font-style:normal;font-size:19px;line-height:12px}.hero{min-height:490px;display:grid;grid-template-columns:1fr 1fr;background:var(--sand);overflow:hidden}.hero-copy{padding:82px max(22px,calc((100vw - 1240px)/2)) 76px;padding-left:45px;align-self:center}.kicker{margin:0 0 8px;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.4px}.hero h1{font-size:clamp(38px,4.1vw,61px);line-height:1.18;letter-spacing:-1.8px;margin:0 0 20px;font-weight:800}.hero h1 em{font-family:Georgia,"Times New Roman",serif;color:var(--pine);font-weight:400}.hero-copy>p:not(.kicker){max-width:510px;margin:0 0 27px;color:#5d7073;font-size:15px}.primary-action{padding:13px 20px}.primary-action span{font-size:22px;line-height:11px}.hero-visual{min-height:490px;position:relative;background:linear-gradient(135deg,#2f706e,#005c60 53%,#d7b275 54%,#f6ead7);overflow:hidden}.hero-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 19%,#fff7 0 5%,transparent 5.2%),linear-gradient(125deg,transparent 0 49%,#173f4a32 49% 51%,transparent 51%)}.hero-visual>p{position:absolute;right:12%;bottom:9%;margin:0;color:#fff;font-size:16px;font-weight:700;line-height:1.8;z-index:2}.hero-sun{position:absolute;left:15%;top:14%;height:76px;width:76px;border-radius:50%;background:#fde5a7;box-shadow:0 0 0 11px #ffffff1c}.hero-house{position:absolute;bottom:-8%;left:7%;width:78%;height:68%;background:#f6f0e5;clip-path:polygon(0 35%,35% 0,48% 12%,61% 12%,61% 0,70% 0,70% 20%,100% 47%,100% 100%,0 100%)}.hero-house:before{content:"";position:absolute;inset:36% 12% 0;background:repeating-linear-gradient(90deg,#d3a65f 0 13%,#32656a 13% 26%,#f6f0e5 26% 34%)}.hero-house i{position:absolute;background:#17565d;border:6px solid #e4bb76;width:15%;height:20%;bottom:23%;z-index:2}.hero-house i:nth-child(1){right:17%}.hero-house i:nth-child(2){right:39%}.hero-house i:nth-child(3){right:61%}.hero-house i:nth-child(4){right:17%;bottom:50%}.hero-house i:nth-child(5){right:39%;bottom:50%}.discovery{max-width:1160px;margin:-35px auto 0;position:relative;z-index:4;padding:20px 28px;background:#fff;box-shadow:0 12px 30px #0d373117;display:flex;align-items:center;gap:23px;border-radius:3px}.discovery>p{margin:0;color:var(--muted);font-size:13px;white-space:nowrap}.mode-tabs{display:flex;gap:9px;overflow-x:auto;padding-bottom:2px}.mode-tabs button{border:1px solid var(--line);background:#fff;border-radius:2px;padding:8px 14px;color:#587075;font-size:13px;white-space:nowrap;cursor:pointer}.mode-tabs button.active{background:var(--pine);color:#fff;border-color:var(--pine)}.catalog{padding:87px max(22px,calc((100% - 1240px)/2)) 92px}.catalog-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}.catalog-heading h2,.section-intro h2,.about h2{font-size:clamp(26px,3vw,37px);line-height:1.3;margin:0;color:var(--ink)}.catalog-heading p:last-child{margin:5px 0 0;color:var(--muted);font-size:13px}.filter-toggle{border:1px solid var(--pine);color:var(--pine);background:#fff;border-radius:2px;padding:10px 14px;font-weight:700;font-size:13px;cursor:pointer}.filter-toggle span{font-size:18px;vertical-align:-1px}.search-panel{display:grid;grid-template-columns:1.65fr repeat(3,1fr);gap:11px;padding:17px;background:var(--mist);border:1px solid #e3ecea;margin-bottom:15px}.search-panel label{display:grid;gap:3px;min-width:0;color:#587075;font-size:11px;font-weight:700}.search-panel input,.search-panel select{width:100%;height:42px;border:1px solid #d4e1de;background:#fff;color:var(--ink);border-radius:2px;padding:0 10px;outline-color:var(--pine);font-size:13px}.search-panel .wide-search{grid-column:span 2;position:relative}.wide-search span{position:absolute;right:12px;bottom:8px;font-size:21px;color:var(--pine);z-index:1}.wide-search input{padding-right:40px}.filter-actions{display:flex;align-items:end;gap:8px}.filter-actions button{height:42px;padding:0 10px;border:0;background:transparent;color:var(--pine);font-size:12px;cursor:pointer;white-space:nowrap}.filter-actions select{height:42px;min-width:0;border:1px solid #d4e1de;background:#fff;color:var(--ink);padding:0 5px}.search-panel.is-collapsed{display:none}.active-filters{display:flex;gap:7px;flex-wrap:wrap;min-height:2px;margin:2px 0 15px}.filter-chip{background:var(--gold-pale);color:#71521d;border-radius:20px;padding:4px 10px;font-size:11px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.property-card{background:#fff;border:1px solid #e0eae7;transition:transform .18s,box-shadow .18s;overflow:hidden}.property-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #10382a14}.property-media{height:226px;background:linear-gradient(132deg,#2c6568,#c49c59 50%,#eee2ca);position:relative;overflow:hidden}.property-media img{width:100%;height:100%;object-fit:cover;display:block}.deal-badge,.media-count{position:absolute;top:12px;padding:5px 9px;border-radius:2px;font-size:11px;font-weight:800}.deal-badge{right:12px;background:#fff;color:var(--pine)}.deal-badge.rent{color:#9b6b17}.media-count{left:12px;background:#102e43dc;color:#fff}.project-tag{position:absolute;bottom:11px;right:12px;background:var(--gold);color:#fff;padding:4px 8px;font-size:10px;font-weight:800}.property-content{padding:16px 17px 14px}.property-location{margin:0;color:#6f7e80;font-size:12px}.property-card h3{margin:7px 0 11px;font-size:17px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-meta{display:flex;gap:13px;color:#6e7d7f;font-size:11px;margin-bottom:13px}.property-bottom{padding-top:12px;border-top:1px solid #edf1ef;display:flex;align-items:end;justify-content:space-between;gap:9px}.price{color:var(--pine);font-size:17px;font-weight:800;line-height:1.1}.price small{display:block;margin-top:4px;color:#788688;font-size:10px;font-weight:500}.details-link{border:0;background:none;color:var(--pine);font-size:12px;font-weight:800;white-space:nowrap;padding:4px 0}.license-line{margin-top:10px;border-top:1px solid #edf1ef;padding-top:8px;font-size:10px;color:#68787b;display:flex;align-items:center;gap:5px}.license-state{width:6px;height:6px;border-radius:50%;background:#809295}.license-state.valid{background:#2e8a69}.license-state.expired{background:var(--danger)}.empty{grid-column:1/-1;padding:60px 20px;text-align:center;background:var(--mist);color:var(--muted)}.services{padding:82px max(22px,calc((100% - 1240px)/2));background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1.55fr;gap:78px}.services .kicker{color:#e4bd79}.section-intro h2{color:#fff}.section-intro>p:last-child{color:#bed0cf;max-width:290px}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#47707b}.services-grid article{padding:24px 25px;background:var(--ink)}.services-grid b{color:var(--gold);font-family:Georgia,serif;font-size:18px;font-weight:400}.services-grid h3{margin:16px 0 5px;font-size:16px}.services-grid p{margin:0;color:#bccdcc;font-size:12px}.about{max-width:920px;margin:auto;text-align:center;padding:82px 22px}.about .kicker{margin-bottom:10px}.about h2{margin-bottom:20px}.about>p:last-child{max-width:600px;margin:auto;color:var(--muted);font-size:13px}footer{padding:31px max(22px,calc((100% - 1240px)/2));display:flex;align-items:center;justify-content:space-between;background:#f2f4f2;color:#778487;font-size:11px}.footer-brand{transform:scale(.9);transform-origin:right}.offer-page{background:var(--sand);padding:36px max(22px,calc((100% - 1140px)/2)) 75px;min-height:75vh}.back-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:18px;color:var(--pine);font-size:13px;font-weight:800}.offer-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr);gap:25px;align-items:start}.gallery-panel,.offer-summary,.detail-panel{background:#fff}.main-media{height:430px;background:#1e4a53;position:relative;overflow:hidden}.main-media img,.main-media video{width:100%;height:100%;object-fit:cover;display:block}.fallback-media{display:grid;place-items:center;height:100%;background:linear-gradient(135deg,#195f62,#d0a45a);color:#fff;font-size:22px}.thumbs{display:flex;gap:8px;overflow:auto;padding:11px;background:#fff}.thumbs button{width:76px;height:55px;flex:0 0 auto;padding:0;border:2px solid transparent;background:#e8eae7;cursor:pointer}.thumbs button.active{border-color:var(--gold)}.thumbs img{height:100%;width:100%;object-fit:cover}.offer-summary{padding:26px}.offer-summary .deal-badge{position:static;display:inline-block;margin-bottom:13px}.offer-summary h1{font-size:25px;line-height:1.4;margin:0 0 12px}.summary-location{color:#6f7d80;font-size:13px;margin:0 0 18px}.large-price{color:var(--pine);font-size:25px;font-weight:800}.large-price span{display:block;margin-top:3px;color:#748184;font-size:11px;font-weight:500}.summary-rule{border:0;border-top:1px solid #e8efed;margin:22px 0}.fact-list{display:grid;grid-template-columns:1fr 1fr;gap:13px}.fact-list div{color:#213d46;font-size:14px}.fact-list small{display:block;margin-bottom:1px;color:#7d898b;font-size:10px}.detail-panels{margin-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-panel{padding:24px}.detail-panel h2{font-size:18px;margin:0 0 12px}.detail-panel>p{margin:0;color:#617276;font-size:13px;white-space:pre-wrap}.license-panel{border-top:4px solid var(--gold)}.license-panel h2{display:flex;align-items:center;justify-content:space-between;gap:9px}.license-status{border-radius:16px;padding:4px 8px;font-size:10px;background:#edf5f1;color:#267257}.license-status.expired{background:#fbe8e7;color:var(--danger)}.license-status.unknown{background:#edf0f0;color:#617176}.license-values{display:grid;gap:11px}.license-values div{padding:10px 0;border-bottom:1px solid #eef1ef}.license-values small{display:block;color:#79878a;font-size:10px}.license-values strong{font-size:14px}.safe-note{margin-top:25px;padding:14px 16px;border-right:3px solid var(--pine);background:#eef6f4;color:#456065;font-size:12px}@media(max-width:900px){.hero-copy{padding-left:24px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services{grid-template-columns:1fr;gap:35px}.offer-layout{grid-template-columns:1fr}.detail-panels{grid-template-columns:1fr}.search-panel{grid-template-columns:repeat(3,1fr)}.search-panel .wide-search{grid-column:span 2}}@media(max-width:680px){.utility{height:auto;min-height:30px;padding:6px 16px}.utility>span{display:none}.site-header{height:68px;padding:0 16px}.site-header nav{display:none}.contact-button{font-size:11px;padding:9px 10px}.hero{grid-template-columns:1fr}.hero-copy{padding:53px 22px 48px}.hero-visual{min-height:255px}.discovery{margin:0;border-radius:0;display:block;padding:16px 20px;box-shadow:none}.discovery>p{margin-bottom:8px}.catalog{padding:50px 16px}.catalog-heading{align-items:start;flex-direction:column}.search-panel{grid-template-columns:1fr 1fr;padding:11px}.search-panel .wide-search{grid-column:1/-1}.filter-actions{grid-column:1/-1}.catalog-grid{grid-template-columns:1fr;gap:14px}.property-media{height:213px}.services{padding:54px 20px}.about{padding:60px 22px}footer{padding:22px 16px;align-items:flex-start;flex-direction:column;gap:8px}.offer-page{padding:24px 16px 54px}.main-media{height:280px}.offer-summary{padding:20px}.detail-panels{gap:13px}.detail-panel{padding:18px}.hero h1{letter-spacing:-1px}.filter-toggle{width:100%}}

/* Responsive hardening for phones and tablets. */
@media (max-width: 900px) {
  .search-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .search-panel .wide-search { grid-column: 1 / -1; }
  .filter-actions { grid-column: 1 / -1; justify-content: space-between; }
  .filter-actions select { flex: 1; min-width: 180px; }
  .search-panel input, .search-panel select { min-height: 46px; font-size: 16px; }
}
@media (max-width: 680px) {
  body { overflow-x: hidden; }
  .mode-tabs { margin-inline: -4px; padding: 2px 4px 8px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
  .mode-tabs button { min-height: 44px; scroll-snap-align: start; }
  .search-panel input, .search-panel select { min-height: 46px; font-size: 16px; }
  .filter-actions button, .filter-toggle, .details-link { min-height: 44px; }
  .property-card h3 { white-space: normal; min-height: 2.9em; }
  .property-bottom { align-items: center; }
}
@media (max-width: 380px) {
  .utility { justify-content: center; text-align: center; }
  .utility > div { line-height: 1.4; }
  .site-header { gap: 10px; padding-inline: 12px; }
  .brand { gap: 7px; font-size: 14px; }
  .brand b { width: 31px; height: 31px; flex: 0 0 31px; }
  .contact-button { width: 44px; min-width: 44px; height: 44px; padding: 0; gap: 0; }
  .contact-button .contact-label { display: none; }
  .contact-button i { font-size: 22px; }
  .hero-copy { padding-inline: 18px; }
  .hero h1 { font-size: 35px; }
  .hero-copy > p:not(.kicker) { font-size: 14px; }
  .catalog { padding-inline: 12px; }
}
