:root{
  --es-black:#1f1d1b;
  --es-black-2:#2a2725;
  --es-gold:#b9965b;
  --es-gold-soft:#d7c1a0;
  --es-cream:#f6f0e7;
  --es-cream-2:#efe6d8;
  --es-white:#ffffff;
  --es-border:rgba(185,150,91,.22);
  --es-shadow:0 18px 45px rgba(31,29,27,.12);
}
body{background:linear-gradient(180deg,#faf7f2 0%,#f5efe5 100%);color:var(--es-black);}
.announcement{background:linear-gradient(90deg,var(--es-black),#2d2b29 45%,var(--es-black));color:rgba(255,255,255,.82);border-bottom:1px solid rgba(255,255,255,.08)}
.header{backdrop-filter:blur(12px);background:rgba(250,247,242,.86);border-bottom:1px solid rgba(185,150,91,.16);box-shadow:0 8px 30px rgba(31,29,27,.04)}
.brand img.official-brand-logo{height:auto;max-height:46px;width:auto;}
.desktop-nav a,.mobile-menu a{font-weight:700;letter-spacing:.02em;color:var(--es-black)}
.desktop-nav a:hover,.mobile-menu a:hover{color:var(--es-gold)}
.btn-primary,.hero-explore-link,.card-view,.map-control.active{background:var(--es-black);color:var(--es-white)!important;border-color:var(--es-black)}
.btn-primary:hover,.card-view:hover{background:#111010;border-color:#111010}
.btn-light{background:var(--es-white);color:var(--es-black);border:1px solid var(--es-border)}
.icon-btn,.outline-btn,.filter-reset,.text-link,.map-control{border-color:var(--es-border)}
.hero{padding-bottom:34px;background:
linear-gradient(120deg,rgba(31,29,27,.92) 0%,rgba(31,29,27,.78) 34%,rgba(31,29,27,.28) 100%),
linear-gradient(180deg,rgba(245,239,229,.28),rgba(245,239,229,0));}
.hero h1{max-width:8ch;line-height:.95;letter-spacing:-.04em}
.hero h1 span,.section-heading h2 em,.brand-values-heading h2 em,.contact-banner h2 em,.faq-section h2 em{color:var(--es-gold);font-style:normal}
.hero p,.hero-proof span{color:rgba(255,255,255,.87)}
.hero-proof span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px)}
.hero-search-container{margin-top:24px}
.hero-search{background:rgba(255,255,255,.93);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.6);box-shadow:0 18px 50px rgba(20,18,16,.14);border-radius:28px}
.hero-search-field label{color:#84735f;font-weight:800;letter-spacing:.08em}
.hero-search-field div{border-radius:18px;background:var(--es-cream);border:1px solid rgba(185,150,91,.14)}
.hero-photo-frame,.hero-photo-main,.hero-photo-mini{border-radius:26px}
.hero-photo-main,.hero-photo-mini{box-shadow:var(--es-shadow);overflow:hidden;border:1px solid rgba(255,255,255,.24)}
.hero-photo-bottom,.hero-photo-mini span,.hero-image-caption{backdrop-filter:blur(12px)}
.trust-strip{padding:8px 0 0}
.trust-inner{background:var(--es-white);border:1px solid var(--es-border);border-radius:24px;box-shadow:var(--es-shadow)}
.section{padding-top:76px;padding-bottom:76px}
.section-heading h2,.brand-values-heading h2{letter-spacing:-.03em}
.area-card,.step-card,.contact-banner,.filters,.results-toolbar,.faq-list details,.brand-value-item{background:var(--es-white);border:1px solid var(--es-border);box-shadow:var(--es-shadow)}
.area-card{overflow:hidden;position:relative}
.area-card:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(185,150,91,.13),transparent 58%);opacity:1}
.area-card h3,.step-card h3,.faq-list summary{color:var(--es-black)}
.search-layout{gap:28px}
.filters{border-radius:28px;padding:26px 22px;position:sticky;top:110px}
.filters h3,.results-toolbar h3{letter-spacing:-.02em}
.filter-section label,.filter-between label{font-weight:700;color:#695844}
.filters input,.filters select{background:var(--es-cream);border:1px solid rgba(185,150,91,.14)}
.seg-row button{background:var(--es-cream);border:1px solid transparent;color:#6a5741}
.seg-row button.selected{background:var(--es-black);color:#fff;border-color:var(--es-black)}
.results-toolbar{padding:22px 24px;border-radius:22px;margin-bottom:18px}
.results-container{gap:22px}
.listings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px}
.property-card{background:var(--es-white);border:1px solid var(--es-border);border-radius:26px;overflow:hidden;box-shadow:0 16px 40px rgba(31,29,27,.08);transition:transform .22s ease, box-shadow .22s ease,border-color .22s ease}
.property-card:hover{transform:translateY(-4px);box-shadow:0 24px 54px rgba(31,29,27,.12);border-color:rgba(185,150,91,.38)}
.card-media{aspect-ratio:1.14/1;background:#ede5d8}
.card-media img{width:100%;height:100%;object-fit:cover}
.card-tag{background:rgba(31,29,27,.85);color:#fff;border-radius:999px;border:none;font-weight:800;letter-spacing:.04em;padding:9px 12px}
.card-tag.special{background:rgba(185,150,91,.92);color:#fff}
.favorite-btn{background:rgba(255,255,255,.92);border:none;box-shadow:0 10px 22px rgba(31,29,27,.12)}
.favorite-btn.saved{background:var(--es-black);color:#fff}
.card-media-footer .small-media-badge{background:rgba(31,29,27,.84);color:#fff;border:none}
.card-body{padding:18px 18px 16px}
.card-area{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--es-gold);font-weight:800}
.card-title{font-size:1.28rem;line-height:1.15;letter-spacing:-.02em;color:var(--es-black);margin-top:10px}
.card-address{min-height:44px;color:#6b6259}
.card-features{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid rgba(185,150,91,.14);border-bottom:1px solid rgba(185,150,91,.14);padding:13px 0;margin:14px 0 16px}
.card-features span{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:var(--es-cream);color:#584b3e;font-weight:700;font-size:.86rem}
.card-bottom{align-items:end}
.price-block small{display:block;color:#84735f;font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800}
.price-block strong{font-size:2rem;line-height:1;color:var(--es-black);letter-spacing:-.03em}
.price-block em{font-style:normal;color:#786654;font-weight:700}
.card-view{border-radius:14px;padding:12px 16px;font-weight:800;display:inline-flex;align-items:center;gap:8px}
.card-caution{margin-top:14px;padding-top:13px;border-top:1px dashed rgba(185,150,91,.28);font-size:.88rem;color:#746452}
.map-side{background:var(--es-white);border:1px solid var(--es-border);border-radius:28px;box-shadow:var(--es-shadow);padding:16px}
.map-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:6px 4px 14px}
.map-panel-title{display:flex;flex-direction:column;font-weight:900;letter-spacing:.02em;color:var(--es-black)}
.map-panel-title small{margin-top:4px;font-size:.9rem;color:#7b6850;font-weight:700}
.map-toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}
.map-control{background:var(--es-cream);color:#6b5a44;border:1px solid rgba(185,150,91,.18);border-radius:999px;padding:11px 14px;font-weight:800}
#map{height:650px;border-radius:24px;overflow:hidden;border:1px solid rgba(185,150,91,.16);background:#ece4d7}
.map-legend{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 4px 0;color:#786654;font-weight:600}
.map-legend a{color:var(--es-black);font-weight:800}
.brand-values-section{padding:76px 0;background:linear-gradient(180deg,rgba(31,29,27,.98),rgba(31,29,27,.96));color:#fff}
.brand-values-heading span{color:var(--es-gold-soft)}
.brand-values-heading p{color:rgba(255,255,255,.72)}
.brand-value-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:30px;color:#fff;backdrop-filter:blur(12px)}
.brand-value-item h3{color:#fff}
.brand-value-item p{color:rgba(255,255,255,.82)}
.steps-grid{gap:18px}
.step-card{border-radius:24px;padding:26px}
.step-no{color:var(--es-gold);font-weight:900}
.step-icon{width:52px;height:52px;border-radius:16px;background:var(--es-cream);color:var(--es-black)}
.contact-banner{border-radius:34px;background:linear-gradient(120deg,var(--es-black),#2c2825);color:#fff;overflow:hidden}
.contact-banner p{color:rgba(255,255,255,.76)}
.contact-art span{color:var(--es-gold-soft)}
.contact-ring{border-color:rgba(185,150,91,.45)}
.faq-list details{border-radius:20px;padding:0 20px}
.faq-list summary{padding:20px 0}
.faq-list p{color:#6f6357}
.footer{background:var(--es-black);color:rgba(255,255,255,.75);margin-top:74px}
.footer h4,.footer a,.footer-link{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08)}
.floating-help{background:var(--es-black);color:#fff;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 40px rgba(31,29,27,.3)}
/* detail modal polish */
.overlay .modal{border-radius:30px;border:1px solid rgba(185,150,91,.18);box-shadow:0 34px 80px rgba(31,29,27,.22)}
.detail-price strong{color:var(--es-black)}
.detail-tag{background:var(--es-cream);color:#5d4e3e;border:1px solid rgba(185,150,91,.12)}
.detail-panel,.notice-card,.saved-item,.support-option,.upload-box{border-color:rgba(185,150,91,.16)}
.detail-panel h3,.contact-modal-title{letter-spacing:-.02em}
.nearby-list{display:grid;gap:10px;margin-top:14px}
.nearby-item{display:flex;justify-content:space-between;gap:18px;padding:11px 13px;background:var(--es-cream);border-radius:14px;border:1px solid rgba(185,150,91,.14);font-size:.94rem}
.nearby-item strong{color:var(--es-black)}
.nearby-item span{color:#6b5a45;font-weight:700}
/* map v7 */
.m7-root{position:relative;height:100%;min-height:650px;overflow:hidden;background:#ded5c8;user-select:none;font-family:Montserrat,system-ui,sans-serif}
.m7-tiles,.m7-context,.m7-pins{position:absolute;inset:0}
.m7-tile{position:absolute;left:0;top:0;image-rendering:auto}
.m7-tile.overlay{opacity:.98;mix-blend-mode:normal}
.m7-fallback-map{position:absolute;inset:0;background:radial-gradient(circle at 18% 20%,rgba(185,150,91,.25),transparent 24%),linear-gradient(180deg,#e9dfd0,#d8ccbc)}
.m7-fallback-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px);background-size:48px 48px;opacity:.35}
.m7-fallback-label{position:absolute;left:20px;bottom:24px;padding:10px 14px;border-radius:999px;background:rgba(31,29,27,.84);color:#fff;font-size:.8rem;font-weight:800;letter-spacing:.14em}
.m7-topbar{position:absolute;top:16px;left:16px;right:86px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;pointer-events:none;z-index:3}
.m7-layers,.m7-chipline{pointer-events:auto}
.m7-layers{display:flex;gap:8px;padding:8px;border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 12px 24px rgba(31,29,27,.14);backdrop-filter:blur(12px)}
.m7-layers button{border:none;border-radius:14px;padding:10px 14px;font-weight:800;color:#6b5a44;background:transparent}
.m7-layers button.active{background:var(--es-black);color:#fff}
.m7-chipline{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.m7-chip{padding:9px 12px;border-radius:999px;background:rgba(31,29,27,.82);color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.04em;box-shadow:0 10px 22px rgba(31,29,27,.18)}
.m7-zoom{position:absolute;top:92px;right:16px;z-index:4;display:grid;gap:8px}
.m7-zoom button{width:46px;height:46px;border:none;border-radius:15px;background:rgba(255,255,255,.94);font-size:1.3rem;font-weight:900;box-shadow:0 10px 22px rgba(31,29,27,.16)}
.m7-hint,.m7-status,.m7-attribution{position:absolute;left:16px;z-index:4}
.m7-hint{top:88px;max-width:440px;padding:11px 14px;border-radius:16px;background:rgba(255,255,255,.92);color:#615140;font-size:.84rem;font-weight:700;box-shadow:0 10px 22px rgba(31,29,27,.12)}
.m7-status{bottom:16px;left:16px;max-width:420px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 10px 20px rgba(31,29,27,.12);font-size:.83rem;font-weight:700;color:#5c4d3d}
.m7-status[data-kind='warning']{background:#fff4e7;color:#8b5b18}
.m7-status[data-kind='success']{background:#eff8f0;color:#335d3e}
.m7-attribution{right:16px;left:auto;bottom:16px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 10px 20px rgba(31,29,27,.12);font-size:.78rem;font-weight:700;color:#5c4d3d}
.m7-attribution a{color:var(--es-black)}
.m7-pin{position:absolute;transform:translate(-50%,-100%);display:grid;gap:2px;min-width:112px;padding:10px 12px;border:none;border-radius:18px;background:rgba(31,29,27,.94);color:#fff;box-shadow:0 14px 34px rgba(31,29,27,.26);text-align:left}
.m7-pin span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.72);font-weight:800}
.m7-pin strong{font-size:1rem;line-height:1.05;font-weight:900}
.m7-pin.grouped{background:rgba(185,150,91,.95)}
.m7-pin::after{content:'';position:absolute;left:22px;bottom:-9px;width:18px;height:18px;border-radius:0 0 6px 0;background:inherit;transform:rotate(45deg)}
.m7-landmark{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.78);backdrop-filter:blur(8px);box-shadow:0 8px 20px rgba(31,29,27,.08);font-size:.72rem;font-weight:800;color:#5a4c3e}
.m7-landmark .dot{width:8px;height:8px;border-radius:999px;background:var(--es-gold)}
.m7-landmark.edu .dot{background:#1f1d1b}
.m7-landmark.transport .dot{background:#8a6331}
.m7-landmark.market .dot{background:#b9965b}
@media (max-width: 1080px){
  #map,.m7-root{height:560px;min-height:560px}
  .m7-topbar{right:16px;flex-direction:column;align-items:flex-start}
  .m7-chipline{justify-content:flex-start}
  .m7-hint{max-width:360px}
}
@media (max-width: 760px){
  .hero h1{max-width:none;font-size:2.6rem}
  .hero-search{border-radius:22px}
  .filters{top:auto}
  #map,.m7-root{height:500px;min-height:500px}
  .m7-hint{display:none}
  .m7-topbar{gap:10px}
  .m7-layers{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}
  .m7-layers button{padding:10px 8px;font-size:.8rem}
  .m7-chipline{display:none}
  .m7-attribution{left:16px;right:16px;bottom:72px}
}
