
:root{--ivory:#fbf8f2;--cream:#f3eadc;--gold:#b98635;--gold2:#d8b26b;--ink:#28241f;--muted:#6e665c;--line:#ded1bf}
*{box-sizing:border-box}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,Arial,sans-serif}
a{text-decoration:none;color:inherit}
h1,h2,h3{font-family:"Playfair Display",serif;font-weight:500}
.ps-header{height:84px;display:flex;align-items:center;gap:22px;padding:8px 5.5vw;background:#fffdf9;border-bottom:1px solid #eee2d2;position:sticky;top:0;z-index:50}
.ps-logo img{width:220px;height:66px;object-fit:contain;object-position:left center}
.ps-nav{margin-left:auto;display:flex;gap:22px;font-size:10px}
.ps-nav .active{color:#946326;border-bottom:1px solid #946326;padding-bottom:4px}
.gold-btn{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#d9b46c,#b7812c);color:#fff;padding:12px 20px;border-radius:5px;font-weight:600;border:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.top-book{min-width:132px}
.outline-btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border:1px solid #c9aa79;background:rgba(255,255,255,.68);border-radius:4px;color:#5f482b;font-weight:600}

.ps-hero{position:relative;min-height:330px;background:url('assets/hero-v16-refined.jpg') center/cover no-repeat;padding:32px 11vw;display:flex;align-items:center;overflow:hidden}
.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,252,246,.95) 0%,rgba(255,252,246,.72) 29%,rgba(255,252,246,.08) 60%,rgba(255,252,246,0) 100%)}
.hero-leaves{position:absolute;left:0;top:0;bottom:0;width:160px;background:url('assets/hero-left-foliage.png') left center/contain no-repeat;opacity:.55;z-index:1}
.hero-content{position:relative;z-index:2;max-width:540px}
.eyebrow{font-size:9px;text-transform:uppercase;letter-spacing:.22em;color:#9c6b2a;font-weight:700}
.hero-content h1{font-size:42px;line-height:1.03;margin:8px 0 12px;color:#4d3b29}
.hero-copy{font-size:13px;line-height:1.45;max-width:460px}
.hero-actions{display:flex;gap:10px;margin-top:14px}
.hero-tags{display:flex;gap:13px;margin-top:13px;font-size:8px;text-transform:uppercase;letter-spacing:.09em}
.hero-message{position:absolute;right:8vw;top:44px;color:white;font-family:"Playfair Display",serif;font-size:15px;line-height:1.55;letter-spacing:.08em;border-left:2px solid #d5ad5d;padding-left:14px}

.search-shell{position:relative;margin:-21px auto 0;z-index:10;max-width:1040px;padding:0 20px}
.ps-search{display:grid;grid-template-columns:2fr 1.15fr 1.15fr .85fr 135px;background:white;border:1px solid #e6d9c6;border-radius:13px;padding:10px;box-shadow:0 12px 30px rgba(89,62,26,.14)}
.ps-search label{padding:4px 12px;border-right:1px solid #eadfce}.ps-search span{display:block;font-size:9px;font-weight:700;margin-bottom:4px}.ps-search input{width:100%;border:0;background:transparent;font-size:11px;outline:0}.ps-search .gold-btn{min-height:45px}

.experience-section{padding:34px 10vw 12px;background:#fffdf9}
.experience-head{display:grid;grid-template-columns:1.1fr 1.6fr .55fr;gap:30px;align-items:end;max-width:1130px;margin:auto 14px}
.experience-head h2{font-size:30px;line-height:.92;margin:0}.experience-head p{font-size:11px;line-height:1.45;color:#514c46}.side-words{font-size:8px;letter-spacing:.22em;line-height:1.6;color:#9a7a52;border-left:1px solid #c89d60;padding-left:18px}
.experience-cards{max-width:1130px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.experience-cards article{background:#fff;border:1px solid #e8ddcd}.experience-cards img{width:100%;height:88px;object-fit:cover}.card-copy{padding:10px 12px}.card-copy h3{font-size:18px;margin:0 0 4px}.card-copy p{font-size:10px;line-height:1.35;color:#575149;margin:0 0 6px}.card-copy a{font-size:10px;font-weight:700}

.featured-section{padding:10px 10vw 22px;background:#fffdf9}.featured-head{max-width:1130px;margin:auto;display:grid;grid-template-columns:1fr auto auto;gap:22px;align-items:end}.featured-head h2{font-size:27px;margin:0;border-bottom:1px solid #b98a45;padding-bottom:2px}.featured-sub{font-size:7px;letter-spacing:.08em}.featured-head a{font-size:9px;font-weight:700}.featured-grid{max-width:1130px;margin:10px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.featured-grid article{background:#fff;border:1px solid #e7dccb}.featured-grid img{width:100%;height:78px;object-fit:cover}.stay-meta{padding:7px 9px}.stay-meta h3{font-size:12px;margin:0}.stay-meta p{font-size:8px;color:#6e665c;margin:2px 0 5px}.stay-meta div{display:flex;gap:9px;font-size:7px}

.commercial-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:4px}.commercial-grid article{min-height:110px;background-size:cover;background-position:center;padding:18px 9vw 16px 12vw}.commercial-grid h3{font-size:17px;line-height:1.05;margin:0 0 5px}.commercial-grid p{font-size:8px;line-height:1.35;max-width:210px}.gold-btn.small{font-size:8px;padding:8px 11px}.dark-commercial{color:white}.dark-commercial p{color:#f1eadf}

.trust-strip{display:grid;grid-template-columns:repeat(5,1fr);padding:14px 10vw;background:#fffdf9;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust-strip div{display:flex;align-items:center;gap:8px;justify-content:center;border-right:1px solid var(--line);font-size:8px}.trust-strip div:last-child{border-right:0}.trust-strip b{font-size:17px;color:#b07826}.trust-strip span{font-weight:600}

.ps-footer{background:#f6ecde;padding:16px 10vw 8px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1fr;gap:26px;align-items:start}.footer-brand img{width:175px;height:72px;object-fit:contain;object-position:left}.footer-brand p{font-size:9px;color:#70665d}.footer-grid h4{font-size:10px;margin:0 0 6px}.footer-grid a,.footer-grid span{display:block;font-size:8px;color:#5e574f;margin:3px 0}.footer-phrase{font-family:"Playfair Display",serif;color:#a56f2a;font-size:12px;letter-spacing:.12em;line-height:1.3;border-left:1px solid #cda96b;padding-left:20px}.footer-bottom{border-top:1px solid #ddcdb7;margin-top:10px;padding-top:7px;display:flex;justify-content:space-between;font-size:7px;color:#6e665d}

@media(max-width:900px){.ps-nav{display:none}.experience-head{grid-template-columns:1fr}.side-words{display:none}.featured-grid{grid-template-columns:1fr 1fr}.commercial-grid{grid-template-columns:1fr}.trust-strip{grid-template-columns:1fr 1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.ps-header{height:72px;padding:7px 16px}.ps-logo img{width:155px;height:54px}.top-book{display:none}.ps-hero{min-height:520px;padding:46px 22px}.hero-content h1{font-size:39px}.hero-message{display:none}.hero-leaves{width:95px;opacity:.4}.search-shell{margin-top:-28px}.ps-search{grid-template-columns:1fr}.ps-search label{border-right:0;border-bottom:1px solid #eadfce}.experience-section,.featured-section{padding-left:18px;padding-right:18px}.experience-cards,.featured-grid,.trust-strip,.footer-grid{grid-template-columns:1fr}.featured-head{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:5px}}


/* v18 correction pass: remove all baked-in duplicate text from image assets */
.ps-hero{
  background-image:url('assets/hero-v18-clean.jpg') !important;
  background-size:cover !important;
  background-position:center !important;
}
.hero-wash{
  background:linear-gradient(
    90deg,
    rgba(255,252,246,.98) 0%,
    rgba(255,252,246,.92) 25%,
    rgba(255,252,246,.56) 42%,
    rgba(255,252,246,.10) 60%,
    rgba(255,252,246,0) 100%
  ) !important;
}
.hero-content{
  max-width:535px !important;
}
.hero-content h1{
  font-size:44px !important;
  line-height:1.02 !important;
}
.hero-message{
  background:rgba(64,47,31,.16);
  backdrop-filter:blur(1px);
  padding:12px 14px 12px 16px !important;
}

/* Keep leaves as a foreground accent, not a background artifact */
.hero-leaves{
  width:145px !important;
  opacity:.52 !important;
}

/* Featured cards: image only, no duplicated heading text */
.featured-grid img{
  height:90px !important;
  object-fit:cover !important;
}

/* Commercial panels: use clean photography and CSS text only */
.commercial-grid article{
  background-position:center !important;
  background-size:cover !important;
  min-height:126px !important;
}
.commercial-grid article h3,
.commercial-grid article p,
.commercial-grid article a{
  position:relative;
  z-index:2;
}

/* Slightly larger spacing so section headers don't visually collide */
.featured-section{
  padding-top:18px !important;
}
.featured-head{
  margin-bottom:12px !important;
}


/* v19 final homepage polish — layout locked */

/* HERO: clean left edge, stronger foliage, no ghosting */
.hero-leaves{
  background-image:url('assets/hero-left-foliage-v19.png') !important;
  width:178px !important;
  opacity:.62 !important;
  background-size:contain !important;
  background-position:left top !important;
}
.hero-wash{
  background:linear-gradient(
    90deg,
    rgba(255,252,246,.985) 0%,
    rgba(255,252,246,.94) 24%,
    rgba(255,252,246,.48) 43%,
    rgba(255,252,246,.08) 61%,
    rgba(255,252,246,0) 100%
  ) !important;
}
.hero-content{
  padding-left:10px !important;
}
.hero-content h1{
  letter-spacing:-.015em !important;
}
.hero-message{
  right:7.2vw !important;
  top:48px !important;
}

/* EXPERIENCE: align and tighten heading/copy */
.experience-section{
  padding-top:28px !important;
}
.experience-head{
      max-width: 1120px !important;
  margin: 0 auto 12px auto !important;
  grid-template-columns:1.05fr 1.55fr .5fr !important;
  gap:24px !important;
  align-items:start !important;
  margin-bottom:12px !important;
}
.experience-head h2{
  font-size:31px !important;
  line-height:.94 !important;
}
.experience-head p{
  margin-top:2px !important;
}
.side-words{
  align-self:start !important;
  padding-top:2px !important;
}

/* FEATURED: more premium breathing room */
.featured-section{
  padding-top:16px !important;
  padding-bottom:26px !important;
}
.featured-grid{
  gap:14px !important;
}
.featured-grid img{
  height:104px !important;
}
.stay-meta{
  padding:9px 10px 10px !important;
}
.stay-meta h3{
  font-size:13px !important;
}
.stay-meta p{
  margin-top:3px !important;
}

/* COMMERCIAL: taller, stronger photography, cleaner copy */
.commercial-grid article{
  min-height:145px !important;
  padding-top:22px !important;
  padding-bottom:20px !important;
}
.commercial-grid h3{
  font-size:19px !important;
}
.commercial-grid p{
  font-size:8.5px !important;
  line-height:1.45 !important;
  max-width:240px !important;
}
.owner-commercial,
.corporate-commercial{
  background-blend-mode:normal !important;
}

/* TRUST STRIP: lighter separators */
.trust-strip{
  padding-top:15px !important;
  padding-bottom:15px !important;
}
.trust-strip div{
  border-right-color:rgba(172,132,72,.22) !important;
}

/* FOOTER: richer close, stronger logo */
.ps-footer{
  background:#f1e4d1 !important;
  padding-top:22px !important;
  padding-bottom:10px !important;
}
.footer-brand img{
  width:205px !important;
  height:84px !important;
}
.footer-grid{
  gap:34px !important;
}
.footer-grid h4{
  font-size:10.5px !important;
  color:#7e5728 !important;
}
.footer-grid a,
.footer-grid span,
.footer-brand p{
  color:#514a43 !important;
}
.footer-phrase{
  color:#9a6829 !important;
  font-size:13px !important;
}
.footer-bottom{
  margin-top:14px !important;
  padding-top:9px !important;
}

/* Mobile */
@media(max-width:650px){
  .hero-leaves{
    width:110px !important;
    opacity:.48 !important;
  }
  .experience-head{
    grid-template-columns:1fr !important;
  }
  .featured-grid img{
    height:150px !important;
  }
}


/* v20 interior-page system — inherits locked Panthera homepage language */
.subhero{min-height:315px;display:flex;align-items:center;padding:58px 10vw;background-size:cover;background-position:center;position:relative}
.subhero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,252,246,.96),rgba(255,252,246,.74) 42%,rgba(255,252,246,.08) 72%)}
.subhero>div{position:relative;z-index:2;max-width:620px}
.subhero h1,.property-title h1,.contact-hero h1{font-family:"Playfair Display",serif;font-size:50px;line-height:1.04;margin:8px 0 12px;color:#5b4328}
.subhero p{line-height:1.6}
.search-subhero{background-image:url('assets/featured-city-v18.jpg')}
.management-subhero{background-image:url('assets/commercial-owner-v18.jpg')}
.corporate-subhero{background-image:url('assets/commercial-corporate-v18.jpg')}
.partner-subhero{background-image:url('assets/commercial-partner-v18.jpg')}
.partner-subhero:after{background:linear-gradient(90deg,rgba(37,30,23,.78),rgba(37,30,23,.52),rgba(37,30,23,.18))}
.subhero-copy.dark{color:white}.subhero-copy.dark h1{color:white}

.search-page-shell{padding:32px 4vw 60px;background:#fffdf9}
.search-page-form{margin:0 auto 28px;max-width:1180px}
.search-layout{display:grid;grid-template-columns:220px 1fr 250px;gap:20px;max-width:1450px;margin:auto}
.filter-card,.map-card,.booking-card,.contact-form{background:white;border:1px solid #e7dccb;border-radius:12px;padding:20px}
.filter-card h2{font-family:"Playfair Display",serif;margin-top:0}
.filter-card label,.booking-card label,.contact-form label{display:block;font-size:12px;margin:14px 0}.filter-card select,.booking-card input,.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:6px;padding:11px;border:1px solid #dfd3c2;background:#fffdf9;border-radius:6px}
.filter-note{margin-top:18px;padding:14px;background:#f5ede2;border-radius:8px;font-size:11px}
.results-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.results-head h2{font-family:"Playfair Display",serif;font-size:36px;margin:4px 0}.results-head span{font-size:12px;color:#736a60}.results-head select{padding:9px;border:1px solid #ded2c1;background:white}
.priority-block{background:#f7efe3;border:1px solid #e1d3bf;border-radius:12px;padding:16px;margin-bottom:18px}.priority-head{display:flex;justify-content:space-between;align-items:end}.priority-head h3{font-family:"Playfair Display",serif;font-size:26px;margin:3px 0}
.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.property-card{display:block;background:white;border:1px solid #e6dac8;border-radius:10px;overflow:hidden}.property-card img{width:100%;height:150px;object-fit:cover}.property-card>div{padding:13px}.property-card h3{font-family:"Playfair Display",serif;margin:7px 0 5px}.property-card p{font-size:11px;color:#716960}.property-card strong{font-size:12px}.badge{display:inline-block;background:#f2dfb8;color:#76521d;border-radius:20px;padding:4px 8px;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.badge.muted{background:#eee8df;color:#665e54}.secondary-grid{margin-top:16px}
.map-placeholder{height:100%;min-height:460px;background:linear-gradient(135deg,#eee1cd,#d6c1a4);border-radius:9px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px;color:#725b3e}.map-placeholder strong{font-family:"Playfair Display",serif;font-size:26px}.map-placeholder span{font-size:11px;margin-top:8px}

.property-top{padding:42px 8vw 22px;display:flex;justify-content:space-between;align-items:end;background:#fffdf9}.property-title p{color:#6c645b}.property-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;padding:0 4vw}.property-gallery img{width:100%;height:260px;object-fit:cover}.property-gallery .gallery-main{height:528px;grid-row:span 2}.property-layout{display:grid;grid-template-columns:1fr 330px;gap:40px;padding:48px 10vw;background:#fffdf9}.property-content h2,.editorial-head h2,.split-copy h2,.contact-copy h2,.partner-cta h2{font-family:"Playfair Display",serif;font-size:38px;line-height:1.08}.property-content>p{line-height:1.7;color:#625c54}.feature-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ded2c1;border-bottom:1px solid #ded2c1;margin:28px 0}.feature-row div{padding:18px;border-right:1px solid #ded2c1}.feature-row div:last-child{border-right:0}.feature-row strong,.feature-row span{display:block}.feature-row strong{font-family:"Playfair Display",serif;font-size:22px}.feature-row span{font-size:10px;color:#756d64;margin-top:3px}.amenity-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px}.content-callout{margin-top:34px;padding:26px;background:#f5ede2;border-left:3px solid #b98635}.booking-card{position:sticky;top:115px;height:max-content}.booking-card h3{font-family:"Playfair Display",serif;font-size:24px}.booking-card .gold-btn{width:100%;margin-top:8px}.booking-card small{display:block;font-size:9px;color:#756d64;margin-top:10px;text-align:center}

.editorial-section{padding:58px 9vw;background:#fffdf9}.editorial-head{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;max-width:1200px;margin:0 auto 34px}.editorial-head p{line-height:1.7;color:#665f56}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1200px;margin:auto}.service-grid.three{grid-template-columns:repeat(3,1fr)}.service-grid article{padding:24px;background:white;border:1px solid #e6dac8}.service-grid article span{font-family:"Playfair Display",serif;font-size:30px;color:#b98635}.service-grid h3{font-family:"Playfair Display",serif;font-size:22px}.service-grid p{font-size:12px;line-height:1.6;color:#686158}
.split-feature{display:grid;grid-template-columns:1.1fr 1fr;min-height:360px}.split-feature.reverse{grid-template-columns:1fr 1.1fr}.split-photo{background-size:cover;background-position:center}.owner-photo{background-image:url('assets/commercial-owner-v18.jpg')}.corporate-photo{background-image:url('assets/commercial-corporate-v18.jpg')}.split-copy{padding:60px 9vw;background:#f4eadc}.split-copy p{line-height:1.7;color:#625b53}
.partner-cta{padding:70px 10vw;background:#4b4034;color:white;text-align:center}.partner-cta h2{color:white}.partner-cta .eyebrow{color:#e2c181}

.contact-hero{padding:64px 10vw;background:#f5ede2}.contact-hero>div{max-width:720px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:54px 10vw;background:#fffdf9}.contact-copy p{line-height:1.7;color:#665f56}.contact-reasons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.contact-reasons span{padding:13px;background:#f5ede2;border:1px solid #e0d2bf;font-size:11px}.contact-form .gold-btn{margin-top:8px}

@media(max-width:1000px){
  .search-layout{grid-template-columns:1fr}.filter-card,.map-card{display:none}
  .property-grid{grid-template-columns:1fr 1fr}.property-layout{grid-template-columns:1fr}.booking-card{position:static}
  .editorial-head{grid-template-columns:1fr}.service-grid,.service-grid.three{grid-template-columns:1fr 1fr}
  .split-feature,.split-feature.reverse{grid-template-columns:1fr}.split-photo{min-height:300px}
}
@media(max-width:650px){
  .subhero{padding:44px 20px;min-height:360px}.subhero h1,.property-title h1,.contact-hero h1{font-size:40px}
  .property-grid{grid-template-columns:1fr}.property-gallery{grid-template-columns:1fr}.property-gallery img,.property-gallery .gallery-main{height:230px;grid-row:auto}
  .property-top{display:block;padding:34px 20px}.property-top .gold-btn{margin-top:14px}.property-layout{padding:36px 20px}.feature-row{grid-template-columns:1fr 1fr}.amenity-grid{grid-template-columns:1fr}
  .editorial-section{padding:42px 20px}.service-grid,.service-grid.three{grid-template-columns:1fr}.split-copy{padding:42px 20px}
  .contact-layout{grid-template-columns:1fr;padding:40px 20px}.contact-reasons{grid-template-columns:1fr}
}


/* v21 master property-detail template */
.property-page{background:#fffdf9}
.property-breadcrumbs{padding:22px 8vw 0;font-size:11px;color:#766e65;display:flex;gap:9px}
.property-breadcrumbs a{color:#8d642d}
.property-heading{padding:18px 8vw 22px;display:flex;justify-content:space-between;align-items:end}
.property-heading h1{font-family:"Playfair Display",serif;font-size:46px;margin:8px 0 5px;color:#4e3a25}
.property-heading p{margin:0;color:#70675e}
.property-badges{display:flex;gap:7px}
.badge.gold{background:#f1d9a8;color:#744d18}
.badge.soft{background:#eee8df;color:#635b51}
.property-heading-actions{display:flex;gap:8px}
.text-action{border:1px solid #ded2c1;background:#fff;padding:9px 12px;border-radius:6px;font-size:11px}

.property-gallery-v21{display:grid;grid-template-columns:2fr 1fr;gap:8px;padding:0 4vw 12px}
.gallery-large img{width:100%;height:520px;object-fit:cover;border-radius:12px 0 0 12px}
.gallery-small{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:relative}
.gallery-small img{width:100%;height:256px;object-fit:cover}
.gallery-small img:nth-child(2){border-radius:0 12px 0 0}
.gallery-small img:nth-child(3){border-radius:0 0 12px 0}
.gallery-button{position:absolute;right:16px;bottom:16px;background:white;border:1px solid #cfc2af;border-radius:7px;padding:10px 14px;font-weight:600;font-size:11px;box-shadow:0 5px 14px rgba(62,45,24,.12)}

.property-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:46px;padding:46px 10vw 60px;align-items:start}
.property-primary{min-width:0}
.property-summary-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #dfd3c2;border-bottom:1px solid #dfd3c2;margin-bottom:34px}
.property-summary-row div{padding:18px;border-right:1px solid #dfd3c2}.property-summary-row div:last-child{border-right:0}
.property-summary-row strong,.property-summary-row span{display:block}.property-summary-row strong{font-family:"Playfair Display",serif;font-size:24px;color:#4f3d29}.property-summary-row span{font-size:10px;color:#746b62;margin-top:3px}

.property-section{padding:10px 0 32px;border-bottom:1px solid #e5dacb;margin-bottom:28px}
.property-section:last-child{border-bottom:0}
.property-section h2{font-family:"Playfair Display",serif;font-size:34px;line-height:1.1;margin:7px 0 14px;color:#4d3b28}
.property-section p{line-height:1.75;color:#625b53}
.amenity-grid-v21{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:22px 0;font-size:12px}
.secondary-button{padding:10px 14px;background:white;border:1px solid #cfc2af;border-radius:6px;font-weight:600;font-size:11px}
.rules-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}
.rules-grid div{background:#f6efe4;padding:16px;border:1px solid #e3d5c2}.rules-grid strong,.rules-grid span{display:block}.rules-grid strong{font-size:11px}.rules-grid span{font-size:10px;color:#6b6259;margin-top:4px}
.fine-note{font-size:10px!important;color:#7a7168!important}

.property-map-placeholder{height:310px;background:linear-gradient(135deg,#eadbc4,#cdb595);border-radius:12px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#70583c;padding:25px}
.property-map-placeholder strong{font-family:"Playfair Display",serif;font-size:28px}.property-map-placeholder span{font-size:11px;max-width:420px;margin-top:8px}
.host-section{display:grid;grid-template-columns:70px 1fr;gap:18px;align-items:start;background:#f6efe4;padding:24px!important;border:0!important;border-radius:10px}
.host-mark{width:62px;height:62px;border-radius:50%;background:linear-gradient(180deg,#d7b269,#b87f29);color:white;display:flex;align-items:center;justify-content:center;font-family:"Playfair Display",serif;font-size:30px}

.booking-panel-v21{position:sticky;top:110px;background:white;border:1px solid #dfd2c0;border-radius:14px;padding:20px;box-shadow:0 15px 35px rgba(68,48,22,.11)}
.booking-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.booking-top strong{font-family:"Playfair Display",serif;font-size:30px}.booking-top span{font-size:11px;color:#6d655c}.rating{font-size:11px}.price-prefix{margin-right:4px}
.booking-fields{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d9cdbd;border-radius:8px;overflow:hidden}.booking-fields label{padding:9px 10px}.booking-fields label:first-child{border-right:1px solid #d9cdbd}.booking-fields label.full{grid-column:1/-1;border-top:1px solid #d9cdbd}.booking-fields span{display:block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.booking-fields input{width:100%;border:0;background:transparent;margin-top:5px;outline:0}
.booking-cta{width:100%;margin-top:12px;min-height:50px}.booking-note{text-align:center;font-size:9px;color:#756d64;margin:8px 0 14px}
.booking-breakdown{border-top:1px solid #e5dacb;padding-top:12px}.booking-breakdown div,.booking-total{display:flex;justify-content:space-between;gap:12px;font-size:10px;margin:9px 0}.booking-breakdown div span:last-child{text-align:right}.booking-total{border-top:1px solid #e5dacb;padding-top:12px;font-size:12px}
.booking-trust{margin-top:14px;background:#f7f1e8;padding:12px;border-radius:8px}.booking-trust span{display:block;font-size:10px;margin:5px 0}.hostaway-note{font-size:9px!important;color:#7c7369!important;line-height:1.45!important;margin-top:12px!important}

.similar-stays{padding:50px 10vw;background:#f7f1e8}.similar-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.similar-head h2{font-family:"Playfair Display",serif;font-size:34px;margin:6px 0}.similar-head a{font-size:11px;color:#8b6128;font-weight:700}.similar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}

@media(max-width:1000px){
  .property-main-grid{grid-template-columns:1fr;padding-left:6vw;padding-right:6vw}
  .booking-panel-v21{position:static}
}
@media(max-width:760px){
  .property-heading{display:block;padding-left:20px;padding-right:20px}.property-heading h1{font-size:38px}.property-heading-actions{margin-top:14px}
  .property-gallery-v21{grid-template-columns:1fr;padding:0 14px}.gallery-large img{height:300px;border-radius:10px}.gallery-small{grid-template-columns:1fr 1fr}.gallery-small img{height:150px}.gallery-small img:nth-child(2),.gallery-small img:nth-child(3){border-radius:0}
  .property-main-grid{padding:34px 20px}.property-summary-row{grid-template-columns:1fr 1fr}.property-summary-row div:nth-child(2){border-right:0}.property-summary-row div:nth-child(-n+2){border-bottom:1px solid #dfd3c2}
  .rules-grid{grid-template-columns:1fr 1fr}.amenity-grid-v21{grid-template-columns:1fr}.similar-stays{padding:40px 20px}.similar-grid{grid-template-columns:1fr}.similar-head{display:block}
}


/* Contact form submission status */
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.form-status{
  margin:12px 0 0;
  font-size:12px;
  line-height:1.5;
}
.form-status.success{color:#42613d;}
.form-status.error{color:#8d3a2f;}


/* =========================================================
   CONTACT EXPERIENCE UPGRADE
   ========================================================= */

/* Cursor behavior across interactive elements */
a,
button,
select,
input[type="submit"],
input[type="button"],
input[type="checkbox"],
input[type="radio"],
.contact-reasons .reason-card {
  cursor: pointer;
}

input[type="text"],
input[type="email"],
input[type="number"],
input[type="date"],
textarea {
  cursor: text;
}

/* Contact layout polish */
.contact-form {
  padding: 26px !important;
  box-shadow: 0 14px 34px rgba(79, 55, 25, .06);
}

.contact-form label {
  color: #4d463f;
  font-weight: 500;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  transition:
    border-color .22s ease,
    box-shadow .22s ease,
    background-color .22s ease,
    transform .22s ease;
}

.contact-form input:hover,
.contact-form select:hover,
.contact-form textarea:hover {
  border-color: #cdb489;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  outline: none;
  border-color: #b98737;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(185, 135, 55, .10);
}

.contact-form textarea {
  resize: vertical;
  min-height: 145px;
}

/* Inquiry choice cards */
.contact-reasons {
  gap: 12px !important;
}

.contact-reasons .reason-card {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  text-align: left;
  border: 1px solid #e0d2bf;
  background: #f5ede2;
  padding: 15px;
  border-radius: 8px;
  display: grid;
  grid-template-columns: 34px 1fr;
  column-gap: 10px;
  row-gap: 2px;
  align-items: center;
  color: #3f3933;
  transition:
    transform .22s ease,
    border-color .22s ease,
    background-color .22s ease,
    box-shadow .22s ease;
}

.contact-reasons .reason-card:hover {
  transform: translateY(-2px);
  border-color: #c7a36a;
  background: #fbf6ee;
  box-shadow: 0 9px 20px rgba(88, 62, 29, .08);
}

.contact-reasons .reason-card.active {
  border-color: #b98737;
  background: #fff8eb;
  box-shadow:
    inset 0 0 0 1px rgba(185, 135, 55, .12),
    0 8px 18px rgba(88, 62, 29, .07);
}

.reason-icon {
  grid-row: 1 / span 2;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #d8c6aa;
  color: #9b6a29;
  font-size: 15px;
}

.reason-card strong {
  font-size: 12px;
  font-weight: 600;
}

.reason-card small {
  font-size: 9px;
  color: #786f65;
  line-height: 1.35;
}

/* Send button */
.send-inquiry-btn {
  min-width: 170px;
  min-height: 46px;
  gap: 12px;
  cursor: pointer !important;
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    filter .2s ease;
}

.send-inquiry-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(130, 87, 26, .18);
  filter: brightness(1.03);
}

.send-inquiry-btn:active {
  transform: translateY(0);
}

.send-inquiry-btn:focus-visible {
  outline: 3px solid rgba(185, 135, 55, .23);
  outline-offset: 3px;
}

.send-inquiry-btn:disabled {
  cursor: wait !important;
  opacity: .82;
}

.button-arrow {
  font-size: 17px;
  line-height: 1;
  transition: transform .2s ease;
}

.send-inquiry-btn:hover .button-arrow {
  transform: translateX(3px);
}

/* Form status panel */
.form-status {
  display: none;
  margin-top: 16px !important;
  padding: 13px 15px;
  border-radius: 8px;
  font-size: 11px !important;
  line-height: 1.5 !important;
}

.form-status.visible {
  display: block;
}

.form-status.success {
  color: #385839 !important;
  background: #eef7ed;
  border: 1px solid #cddfca;
}

.form-status.error {
  color: #81382e !important;
  background: #fff1ee;
  border: 1px solid #e7c4be;
}

/* Global subtle interaction polish */
.ps-nav a,
.footer-grid a,
.gold-btn {
  transition:
    color .2s ease,
    opacity .2s ease,
    transform .2s ease,
    box-shadow .2s ease;
}

.ps-nav a:hover,
.footer-grid a:hover {
  color: #a06d29;
}

.gold-btn {
  cursor: pointer !important;
}

.gold-btn:hover {
  transform: translateY(-1px);
}

@media(max-width:650px) {
  .contact-form {
    padding: 20px !important;
  }

  .contact-reasons .reason-card {
    grid-template-columns: 32px 1fr;
  }

  .send-inquiry-btn {
    width: 100%;
  }
}


/* =========================================================
   LEAD QUALIFICATION SYSTEM
   ========================================================= */

.optional-label{
  font-size:9px;
  color:#8b8176;
  font-weight:400;
  margin-left:5px;
}

.qualification-fields{
  margin:10px 0 4px;
}

.qual-group{
  display:none;
  margin:16px 0 18px;
  padding:18px;
  background:#fbf7f0;
  border:1px solid #e4d7c5;
  border-radius:10px;
}

.qual-group.active{
  display:block;
  animation:qualFade .22s ease;
}

@keyframes qualFade{
  from{opacity:0;transform:translateY(5px)}
  to{opacity:1;transform:translateY(0)}
}

.qual-heading{
  font-family:"Playfair Display",serif;
  font-size:18px;
  color:#684b28;
  margin-bottom:12px;
}

.qual-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 12px;
}

.qual-grid label{
  margin:0 !important;
}

.qual-grid input,
.qual-grid select{
  background:#fff !important;
}

/* Make success confirmation more prominent */
.form-status.success{
  position:relative;
  padding-left:42px !important;
}

.form-status.success:before{
  content:"✓";
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:20px;
  height:20px;
  border-radius:50%;
  background:#557653;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
}

@media(max-width:650px){
  .qual-grid{grid-template-columns:1fr}
}

/* =========================================================
   PANTHERA STAYS — AUDITED FINAL SYSTEM
   Consolidated texture, visual polish, hero, contact and map
   ========================================================= */

/* ---------- Global texture ---------- */
html,
body {
  background-color: #f8f4ed;
}

body {
  position: relative;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: url('assets/texture-paper-light.png');
  background-repeat: repeat;
  background-size: 240px auto;
  opacity: .20;
  mix-blend-mode: multiply;
}

header,
main,
footer,
.ps-header,
.ps-footer {
  position: relative;
  z-index: 1;
}

/* Apply texture directly to opaque content areas so it remains visible */
.experience-section,
.featured-section,
.editorial-section,
.search-page-shell,
.property-page,
.contact-layout,
.similar-stays,
.trust-strip,
.split-copy,
.contact-hero {
  background-color: rgba(255,253,249,.90) !important;
  background-image: url('assets/texture-paper-light.png') !important;
  background-repeat: repeat !important;
  background-size: 240px auto !important;
}

.experience-cards article,
.featured-grid article,
.property-card,
.service-grid article,
.filter-card,
.map-card,
.booking-panel-v21,
.contact-form,
.qual-group,
.priority-block {
  background-color: rgba(255,255,255,.88) !important;
  background-image: url('assets/texture-paper-light.png') !important;
  background-repeat: repeat !important;
  background-size: 230px auto !important;
  border-color: rgba(205,184,151,.58) !important;
}

.ps-footer {
  background-color: #efe2cf !important;
  background-image:
    linear-gradient(rgba(239,226,207,.88), rgba(239,226,207,.88)),
    url('assets/texture-paper-light.png') !important;
  background-repeat: repeat !important;
  background-size: auto, 205px auto !important;
  border-top: 1px solid rgba(166,124,63,.18);
}

/* ---------- Header / logo ---------- */
.ps-header {
  min-height: 92px;
  padding-top: 8px;
  padding-bottom: 8px;
  background-color: rgba(255,253,249,.97);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(192,159,107,.18);
}

.ps-logo img {
  width: 235px !important;
  height: 76px !important;
  object-fit: contain;
  object-position: left center;
}

.ps-nav a {
  position: relative;
  padding-bottom: 5px;
  cursor: pointer;
}

.ps-nav a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 1px;
  background: #b98737;
  transform: translateX(-50%);
  transition: width .22s ease;
}

.ps-nav a:hover::after,
.ps-nav a.active::after {
  width: 100%;
}

/* ---------- Buttons ---------- */
.gold-btn {
  cursor: pointer !important;
  background: linear-gradient(180deg,#deb96d 0%,#c88e31 100%) !important;
  border: 1px solid rgba(155,103,28,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    0 6px 16px rgba(125,83,24,.10);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.gold-btn:hover {
  transform: translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    0 10px 22px rgba(125,83,24,.16);
  filter: brightness(1.03);
}

.gold-btn:active {
  transform: translateY(0);
}

/* ---------- Homepage hero ---------- */
.ps-hero {
  position: relative;
  overflow: hidden;
  background-image: url('assets/hero-v18-clean.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
}

.ps-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url('assets/texture-paper-light.png');
  background-repeat: repeat;
  background-size: 260px auto;
  opacity: .10;
  mix-blend-mode: multiply;
  z-index: 1;
}

.hero-wash {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    90deg,
    rgba(255,251,244,.98) 0%,
    rgba(255,251,244,.95) 16%,
    rgba(255,251,244,.86) 28%,
    rgba(255,251,244,.62) 40%,
    rgba(255,251,244,.28) 50%,
    rgba(255,251,244,.06) 61%,
    rgba(255,251,244,0) 69%
  ) !important;
  z-index: 2 !important;
  pointer-events: none;
}

.hero-leaves {
  background-image: url('assets/hero-left-foliage-v19.png') !important;
  width: 178px !important;
  opacity: .62 !important;
  background-size: contain !important;
  background-position: left top !important;
  z-index: 3 !important;
}

.hero-content {
  position: relative !important;
  z-index: 4 !important;
  margin-left: -20px !important;
  max-width: 540px !important;
  padding-left: 10px !important;
}

.hero-content h1 {
  max-width: 620px;
  color: #59401f !important;
  font-size: 44px !important;
  line-height: 1.02 !important;
  letter-spacing: -.015em !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.65), 0 2px 8px rgba(255,255,255,.28);
}

.hero-content p {
  color: #342f29 !important;
  font-weight: 500;
}

.hero-content .eyebrow,
.hero-content > span,
.hero-content small {
  color: #8a5e24 !important;
  font-weight: 600 !important;
}

.hero-tags,
.hero-tags a,
.hero-content .stay-types,
.hero-content .stay-types a {
  color: #50483f !important;
  font-weight: 600 !important;
}

.hero-actions {
  position: relative;
  z-index: 5;
}

.hero-message {
  position: absolute !important;
  right: 6.5vw !important;
  left: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 175px !important;
  max-width: 175px !important;
  padding: 16px 18px !important;
  background: rgba(42,31,22,.34) !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-left: 2px solid #d7ad55 !important;
  border-radius: 0 5px 5px 0;
  color: #fff !important;
  font-family: "Playfair Display",serif;
  font-size: 16px !important;
  line-height: 1.45 !important;
  letter-spacing: .05em;
  text-shadow: 0 1px 4px rgba(0,0,0,.38);
  box-shadow: 0 8px 22px rgba(0,0,0,.08);
  z-index: 5 !important;
}

/* ---------- Homepage cards ---------- */
.experience-section {
  padding-top: 45px !important;
  padding-bottom: 34px !important;
}

.experience-head {
  max-width: 1120px !important;
  margin: 0 auto 12px !important;
  grid-template-columns: 1.05fr 1.55fr .5fr !important;
  gap: 24px !important;
  align-items: start !important;
}

.experience-head h2 {
  font-size: 31px !important;
  line-height: .94 !important;
}

.experience-cards {
  gap: 18px !important;
}

.experience-cards article,
.featured-grid article,
.property-card {
  border-radius: 8px;
  overflow: hidden;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.experience-cards article:hover,
.featured-grid article:hover,
.property-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(75,53,27,.10);
}

.experience-cards img {
  height: 210px !important;
  object-fit: cover !important;
  object-position: center !important;
}

.experience-cards .card-copy {
  padding: 17px 17px 20px !important;
}

.experience-cards .card-copy h3 {
  font-size: 20px !important;
  margin-bottom: 7px !important;
}

.featured-section {
  padding-top: 24px !important;
  padding-bottom: 38px !important;
}

.featured-grid {
  gap: 17px !important;
}

.featured-grid img {
  height: 200px !important;
  object-fit: cover !important;
  object-position: center !important;
}

.featured-grid .stay-meta {
  padding: 14px 15px 17px !important;
}

.featured-grid .stay-meta h3 {
  font-size: 16px !important;
}

.featured-grid .stay-meta p {
  margin-top: 5px !important;
  margin-bottom: 9px !important;
}

/* ---------- Interior content ---------- */
.editorial-section {
  padding-top: 70px !important;
  padding-bottom: 72px !important;
}

.service-grid {
  gap: 20px !important;
}

.service-grid article {
  min-height: 220px;
  padding: 28px 24px !important;
  border-radius: 8px;
  transition: transform .24s ease, box-shadow .24s ease;
}

.service-grid article:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 30px rgba(73,52,27,.08);
}

/* ---------- Search/results ---------- */
.search-layout {
  grid-template-columns: 220px minmax(0,1fr) 320px !important;
  gap: 18px !important;
}

.property-card {
  cursor: pointer;
}

.property-card img {
  height: 190px !important;
  object-fit: cover !important;
}

.property-card > div {
  padding: 15px !important;
}

.property-card h3 {
  font-size: 19px !important;
}

.property-card.map-active {
  transform: translateY(-4px);
  border-color: #b98737 !important;
  box-shadow: 0 16px 34px rgba(93,64,27,.16) !important;
  outline: 1px solid rgba(185,135,55,.18);
}

/* ---------- Live Leaflet map ---------- */
.map-card {
  min-width: 320px;
  padding: 10px !important;
  background-color: rgba(255,253,249,.92) !important;
  border: 1px solid #e1d4c2 !important;
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(81,57,27,.06);
}

.panthera-map-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 9px;
  background-color: #f5eee4;
  background-image: url('assets/texture-paper-light.png');
  background-repeat: repeat;
  background-size: 220px auto;
  border: 1px solid rgba(190,157,109,.22);
}

.map-heading {
  padding: 14px 15px 12px !important;
  border-bottom: 1px solid rgba(191,158,107,.20);
  background: rgba(249,244,236,.94);
}

.map-heading strong {
  display: block;
  margin-top: 4px;
  font-family: "Playfair Display",serif;
  font-size: 22px !important;
  color: #594226;
}

.map-eyebrow {
  font-size: 8px;
  letter-spacing: .18em;
  color: #a16d2d;
  font-weight: 600;
}

#panthera-map {
  width: 100%;
  height: 560px !important;
  z-index: 1;
}

.leaflet-control-zoom a {
  color: #765225 !important;
  background: #fffdf9 !important;
}

.leaflet-control-attribution {
  font-size: 8px !important;
}

.panthera-map-pin {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  box-shadow: 0 6px 14px rgba(62,42,19,.22);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.panthera-map-pin.managed {
  background: linear-gradient(145deg,#e1bd73,#b47b27);
}

.panthera-map-pin.partner {
  background: linear-gradient(145deg,#706558,#463e36);
}

.panthera-map-pin span {
  transform: rotate(45deg);
  color: #fff;
  font-family: "Playfair Display",serif;
  font-size: 16px !important;
  font-weight: 600;
}

.panthera-map-pin.active {
  transform: rotate(-45deg) scale(1.18);
  box-shadow: 0 9px 22px rgba(77,50,17,.35);
  filter: brightness(1.08) saturate(1.08);
}

.panthera-map-pin.managed.active {
  background: linear-gradient(145deg,#efcb7c,#a96d1d);
}

.panthera-map-pin.partner.active {
  background: linear-gradient(145deg,#807568,#332d28);
}

.leaflet-popup-content-wrapper {
  border-radius: 9px !important;
  padding: 0 !important;
  background: #fffdf9 !important;
  box-shadow: 0 12px 30px rgba(62,44,22,.16) !important;
  transition: transform .18s ease, box-shadow .18s ease;
}

.leaflet-popup-content-wrapper:hover {
  transform: translateY(-2px);
}

.leaflet-popup-content {
  margin: 0 !important;
  width: 220px !important;
}

.panthera-popup {
  overflow: hidden;
  border-radius: 9px;
}

.panthera-popup img {
  display: block;
  width: 100%;
  height: 110px;
  object-fit: cover;
}

.panthera-popup-copy {
  padding: 12px 13px 13px;
}

.panthera-popup .popup-badge {
  display: inline-block;
  padding: 4px 7px;
  margin-bottom: 6px;
  border-radius: 20px;
  background: #f0ddb7;
  color: #79521d;
  font-size: 7px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.panthera-popup h3 {
  margin: 2px 0 4px;
  font-family: "Playfair Display",serif;
  font-size: 17px;
  color: #40352a;
}

.panthera-popup p {
  margin: 0 0 6px;
  font-size: 9px;
  line-height: 1.45;
  color: #736960;
}

.panthera-popup strong {
  font-size: 10px;
  color: #3f382f;
}

.panthera-popup a {
  display: inline-block;
  margin-top: 8px;
  color: #9c6927;
  font-size: 9px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

.map-legend {
  display: flex;
  justify-content: center;
  gap: 18px !important;
  padding: 12px 10px !important;
  background: #faf5ed;
  border-top: 1px solid rgba(191,158,107,.18);
  font-size: 9px !important;
  color: #675f56;
}

.map-legend span {
  display: flex;
  align-items: center;
  gap: 5px;
}

.legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.legend-dot.managed { background: #bf8732; }
.legend-dot.partner { background: #51483e; }

/* ---------- Contact ---------- */
.contact-layout {
  gap: 65px !important;
  padding-top: 64px !important;
  padding-bottom: 70px !important;
}

.contact-form {
  padding: 30px !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 38px rgba(72,51,28,.07);
}

.contact-form label {
  margin-bottom: 18px !important;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  min-height: 46px;
  padding-left: 13px !important;
  padding-right: 13px !important;
  border-radius: 7px !important;
  background-color: rgba(255,253,249,.91) !important;
}

.contact-form textarea {
  min-height: 150px !important;
  padding-top: 12px !important;
}

.contact-reasons {
  gap: 14px !important;
}

.reason-card {
  min-height: 76px;
  border-radius: 9px !important;
  transition: transform .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
}

.reason-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(185,135,55,.60) !important;
  box-shadow: 0 10px 22px rgba(80,56,28,.08) !important;
}

.reason-card.active {
  border-color: #b98737 !important;
  background-color: rgba(255,247,232,.95) !important;
  box-shadow: inset 0 0 0 1px rgba(185,135,55,.12), 0 9px 20px rgba(80,56,28,.06) !important;
}

.reason-icon {
  background: linear-gradient(180deg,#fff 0%,#f5ead9 100%) !important;
  color: #a16e29 !important;
}

.qual-group {
  margin-top: 20px !important;
  margin-bottom: 22px !important;
  padding: 20px !important;
  border-radius: 10px !important;
  background-color: rgba(248,242,232,.88) !important;
}

.qual-heading {
  margin-bottom: 16px !important;
  font-size: 20px !important;
}

/* ---------- Footer ---------- */
.ps-footer {
  padding-top: 30px !important;
  padding-bottom: 14px !important;
}

.footer-brand img {
  width: 215px !important;
  height: 88px !important;
}

.footer-grid {
  gap: 40px !important;
}

.footer-grid h4 {
  margin-bottom: 10px !important;
  letter-spacing: .04em;
}

.footer-grid a {
  line-height: 1.55;
}

.footer-grid a:hover {
  color: #a46f29 !important;
}

.footer-phrase {
  padding-left: 24px !important;
  font-size: 14px !important;
  line-height: 1.38 !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
  .search-layout {
    grid-template-columns: 200px minmax(0,1fr) 280px !important;
  }

  .map-card {
    min-width: 280px;
  }
}

@media (max-width: 1000px) {
  .hero-message {
    right: 3vw !important;
    width: 160px !important;
    max-width: 160px !important;
    font-size: 14px !important;
  }

  .hero-content {
    max-width: 520px !important;
  }

  .search-layout {
    grid-template-columns: 1fr !important;
  }

  /* Original v20 hid map/filter at this width. Keep filter hidden,
     but allow the live map to remain available beneath results. */
  .filter-card {
    display: none;
  }

  .map-card {
    display: block !important;
    min-width: 0;
  }

  #panthera-map {
    height: 400px !important;
  }
}

@media (max-width: 760px) {
  .hero-message {
    display: none !important;
  }

  .hero-wash {
    background: linear-gradient(
      90deg,
      rgba(255,251,244,.98) 0%,
      rgba(255,251,244,.95) 68%,
      rgba(255,251,244,.55) 100%
    ) !important;
  }
}

@media (max-width: 650px) {
  body::before {
    opacity: .14;
    background-size: 220px auto;
  }

  .ps-header {
    min-height: 76px;
  }

  .ps-logo img {
    width: 170px !important;
    height: 60px !important;
  }

  .hero-leaves {
    width: 110px !important;
    opacity: .48 !important;
  }

  .experience-head {
    grid-template-columns: 1fr !important;
  }

  .experience-cards img {
    height: 220px !important;
  }

  .featured-grid img {
    height: 210px !important;
  }

  .property-card img {
    height: 220px !important;
  }

  .contact-layout {
    gap: 30px !important;
    padding-top: 42px !important;
    padding-bottom: 48px !important;
  }

  .contact-form {
    padding: 20px !important;
  }

  .service-grid article {
    min-height: auto;
  }

  #panthera-map {
    height: 330px !important;
  }

  .map-heading strong {
    font-size: 19px !important;
  }

  .property-card.map-active {
    transform: none;
  }

  .panthera-map-pin.active {
    transform: rotate(-45deg) scale(1.10);
  }

  .footer-brand img {
    width: 180px !important;
    height: 72px !important;
  }

  .ps-footer {
    background-size: auto, 190px auto !important;
  }
}
