/* ENTRE SHIELD PROPERTY — rental vertical, 2026.
   Official brand visual direction: ink/ivory/champagne gold, circular monogram.
   Shared components inherited from styles.css; this layer is editable without affecting application logic. */
:root{
  --ink:#20211f;--forest:#20211f;--forest-deep:#151615;--jade:#a4885e;
  --soft:#fbfaf8;--cream:#f6f3ec;--line:#e8e4de;--muted:#797873;
  --gold:#b79b72;--white:#fff;--shadow:0 22px 55px rgba(33,29,23,.10);
  --display:'Montserrat','Manrope',sans-serif;
  --font:'DM Sans',system-ui,-apple-system,sans-serif;
  --radius:12px;
}
html{scroll-padding-top:103px}
body{background:#fff;color:var(--ink);font-size:14px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#c2a373}
.container{width:min(1320px,calc(100% - 84px))}
.announcement{background:#222321;color:#e1d9c9;letter-spacing:.15em;text-transform:uppercase;font-size:9px;font-weight:700}
.announcement-inner{height:31px}
.pulse-dot{background:#c7a575;box-shadow:none}
.header{height:87px;background:#fff;border-bottom:1px solid #eae7e1;backdrop-filter:none}
.header-inner{gap:32px}
.brand{gap:13px}
.brand-mark{width:46px;height:46px;color:#ad8b60}
.brand-text strong{font-family:'Montserrat',sans-serif;font-size:20px;letter-spacing:.015em;font-weight:800;color:#1c1c1a}
.brand-text small{font-size:9px;letter-spacing:.28em;color:#746b5e;font-weight:700}
.brand-text small span{color:#aa8c64}
.desktop-nav{gap:31px}
.desktop-nav a{font-size:12px;letter-spacing:.015em;font-weight:700;color:#46423d}
.desktop-nav a:hover{color:#a58355}
.btn{border-radius:3px;font-weight:700;letter-spacing:.015em}
.btn-primary{background:#222321;color:#fff;box-shadow:none}
.btn-primary:hover{background:#af9068;color:#151515;box-shadow:none}
.btn-sm{border-radius:3px;padding:13px 20px;font-size:11px;letter-spacing:.08em}
.btn-outline,.outline-btn{border-radius:3px;border-color:#d8cbbb;color:#38332a;background:#fff}
.btn-outline:hover,.outline-btn:hover{border-color:#aa895f;background:#faf8f4}
.icon-btn{border-radius:4px}
.icon-btn:hover{background:#f6f1e9}
.saved-count{background:#ad8b60}
/* Hero: generous typography and architectural imagery, like the original Entre Shield presentation. */
.hero{background:linear-gradient(110deg,#faf9f6 0,#f6f3ec 64%,#f0eae0 100%);padding-top:55px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;left:3.15%;top:58px;width:1px;height:160px;background:#c6ae84;opacity:.7}
.hero-layout{grid-template-columns:minmax(0,1.1fr) minmax(0, .9fr);min-height:482px;gap:36px;align-items:center}
.hero-content{padding:18px 0 105px}
.eyebrow{font-size:10px;letter-spacing:.2em;color:#a5855a;font-family:'Montserrat',sans-serif;font-weight:700}
.eyebrow-line{background:#bc9c6c;width:38px;height:1px}
.hero h1{font-family:'Montserrat',sans-serif;font-size:clamp(43px,4.15vw,64px);line-height:1.19;letter-spacing:-.054em;font-weight:700;color:#272724;margin:27px 0 22px}
.hero h1 span{color:#b2946b}
.hero p{font-size:15px;max-width:560px;line-height:1.85;color:#676560}
.hero p strong{color:#252522}
.hero-proof{gap:22px;margin-top:24px;font-size:11px;color:#514e49}
.hero-proof svg{color:#a68b63}
.hero-explore-link{margin-top:30px;display:inline-flex;gap:10px;align-items:center;padding-bottom:8px;border-bottom:1px solid #b3976d;font-size:10px;font-family:'Montserrat',sans-serif;letter-spacing:.14em;font-weight:800}
.hero-explore-link svg{width:14px;height:14px}
.hero-explore-link:hover{color:#a38152}
.hero-art{height:440px;min-height:0;margin-top:0;position:relative;display:block}
.hero-photo-frame{position:absolute;inset:0 2% 0 1%;overflow:visible}
.hero-photo-main{height:92%;position:absolute;inset:0 12% auto 0;border:8px solid #fff;box-shadow:0 24px 55px #30261f29;overflow:hidden;background:linear-gradient(125deg,#ded6ca77,#a3a69d4d),url('assets/architecture.svg') center/cover no-repeat}
.hero-photo-main:after{content:"";inset:45% 0 0;position:absolute;background:linear-gradient(0deg,rgba(15,17,17,.67),transparent)}
.hero-photo-main img,.hero-photo-mini img{width:100%;height:100%;object-fit:cover}
.hero-photo-bottom{position:absolute;bottom:23px;left:25px;z-index:2;color:#fff;display:flex;flex-direction:column;gap:8px}
.hero-photo-bottom span{font-size:9px;letter-spacing:.21em;color:#e2d8c9;font-weight:700}
.hero-photo-bottom strong{font:700 19px 'Montserrat',sans-serif;letter-spacing:-.03em}
.hero-photo-mini{position:absolute;z-index:3;right:0;bottom:4%;width:44%;height:43%;border:6px solid white;overflow:hidden;box-shadow:0 15px 40px #291f172f;background:linear-gradient(135deg,#cbc2b3,#eee6d8),url('assets/architecture.svg') center/cover no-repeat}
.hero-photo-mini:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(0deg,#191919af,transparent)}
.hero-photo-mini span{position:absolute;z-index:2;bottom:15px;left:15px;color:#fff;font-size:9px;letter-spacing:.13em;font-weight:700;line-height:1.7}
.hero-photo-mini b{font-size:11px;letter-spacing:0}
.hero-image-caption{position:absolute;z-index:2;right:0;top:10px;background:#242423;color:#f6f2eb;padding:13px 17px;display:flex;gap:13px;align-items:center;font-size:9px;letter-spacing:.08em;line-height:1.6;box-shadow:0 5px 20px #0002}
.hero-image-caption b{font-size:10px;color:#c6aa7f}
.caption-cross{color:#c6aa7f;font-size:19px}
.hero-search{border:1px solid #e1d9cd;border-radius:3px;background:#fff;box-shadow:0 18px 50px #26201a17;padding:8px;transform:translateY(46%);margin-top:-55px}
.hero-search-field{border-right:1px solid #eae6e0}
.hero-search-field label{color:#9b855f;font-weight:700;font-size:9px}
.hero-search-field>div svg{color:#af9877}
.hero-search-field input,.hero-search-field select{color:#282725;font-size:12px}
.btn-search{border-radius:2px;font-size:11px;letter-spacing:.06em}
.trust-strip{padding:85px 0 42px;background:#fff}
.trust-inner{border-top:1px solid #efeae3;border-bottom:1px solid #efeae3;padding:25px 10px}
.trust-big{color:#3b3530;font-family:'Montserrat',sans-serif;font-size:20px;font-weight:700}
.trust-inner>div:not(.trust-divider){font-size:11px;color:#77716a}
.trust-divider{background:#e9e2d8}
.section{padding:76px 0}
.section-heading h2{color:#222321;font-size:clamp(28px,2.4vw,39px);letter-spacing:-.04em;font-weight:700}
.section-heading h2 em,.contact-banner h2 em{color:#ac8d62}
.section-heading p{color:#807b73}
.eyebrow-dark{color:#ae9169}
.text-link{color:#967448;font-size:11px}
.areas-section{padding-top:48px;padding-bottom:88px}
.areas-grid{gap:16px}
.area-card{border-radius:3px;min-height:190px;background:linear-gradient(142deg,#faf8f4,#f1ebe2);border:1px solid #e5dcd0;color:#3b3630}
.area-card:first-child{background:linear-gradient(115deg,#252422,#494238);border-color:#38332f;color:#fff}
.area-card:not(:first-child) .area-go{background:#e9ddcc;color:#7f6747}
.area-card h3{font-weight:700;font-size:19px}
.area-card span.kicker{font-size:9px;letter-spacing:.18em;color:#a58e70}
.area-card:first-child span.kicker{color:#e0ceb0}
.area-card[data-active=true]{outline:2px solid #b79b72}
.area-card:hover{box-shadow:0 18px 40px #211b1515;transform:translateY(-4px)}
.listings-section{background:#f8f7f4;padding:76px 0 96px;border-top:1px solid #efebe5}
.view-switch{background:#efebe5;border-radius:3px}
.view-switch button{border-radius:2px}
.view-switch button.active{background:#272625;color:#fff}
.filters{border-radius:3px;border:1px solid #e9e5df;box-shadow:none;padding:25px 21px}
.filter-head{border-bottom:1px solid #eee6dd}
.filters input[type=range],.filters input[type=checkbox]{accent-color:#a98a61}
.seg-row button{border-radius:2px}
.seg-row button.selected{background:#272625;border-color:#272625;color:#fff}
.filter-section label{color:#555149}
.search-layout{gap:24px}
.property-card{border:1px solid #e9e4dc;border-radius:3px;box-shadow:0 4px 14px #15110d08;transition:transform .25s,box-shadow .25s,border-color .25s}
.property-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px #27201816;border-color:#cabba5}
.card-media{aspect-ratio:1.48;background:linear-gradient(120deg,#d9d5cd,#f4eee4),url('assets/apartment-placeholder.svg') center/cover no-repeat}
.card-media>img{height:100%;width:100%;object-fit:cover;transition:transform .35s}
.property-card:hover .card-media>img{transform:scale(1.035)}
.card-tag{border-radius:1px;background:#ffffffee;color:#665136;padding:8px 10px;letter-spacing:.04em;font-size:9px}
.card-tag.special{background:#f0e9dded;color:#54432e}
.favorite-btn{border-radius:50%}
.card-body{padding:20px 19px 17px}
.card-area{color:#a28359;font-size:9px;letter-spacing:.1em}
.card-title{font-size:16px;font-weight:700;letter-spacing:-.035em;color:#242321;margin-top:11px}
.card-address{color:#817a70;font-size:11px}
.card-features{color:#777067}
.card-bottom{border-top:1px solid #efeae3;margin-top:auto}
.price-block strong{color:#2e2b27;font-size:24px}
.price-block small{font-size:10px;color:#8c8174}
.card-view{background:#f1ece5;border-radius:2px;color:#5e4a30;border:0}
.card-view:hover{background:#dfd1bb}
.card-caution{color:#958878}
.media-placeholder{background:linear-gradient(125deg,#eee8ddbd,#dcd6caab),url('assets/apartment-placeholder.svg') center/cover no-repeat;color:#7b746b;text-shadow:0 1px white}
.media-placeholder svg{color:#b79d74}
.map-side{border:1px solid #e1d7cb;border-radius:3px;background:#f2eee8}
.step-card{border-radius:3px;border-color:#e8e1d7}
.step-card h3{color:#2d2925}
.step-number{color:#b19572}
.contact-banner{background:linear-gradient(116deg,#252524 0%,#38332d 70%,#514537 100%);border-radius:3px;box-shadow:0 22px 45px #2a251a14}
.contact-banner:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:#bf9e70}
.faq-section{background:#fff}
.footer{background:#222321;color:#d8d3cc}
.footer h3,.footer strong{color:#fff}
.footer a:hover{color:#d5b78b}
.footer-bottom{border-top-color:#514d44;color:#c0b7aa}
.floating-help{background:#282724;color:#fff;border:1px solid #bda178;border-radius:2px;box-shadow:0 10px 30px #221b1640}
.floating-help:hover{background:#9f8058}
.modal{border-radius:3px}
.detail-panel,.notice-card,.form-field input,.form-field select,.form-field textarea,.upload-box,.support-option,.gallery-large,.gallery-carousel button{border-radius:3px}
.detail-price strong,.contact-modal-title{color:#272625}
.fact-row strong{color:#302b25}
.toast{background:#272624;border-radius:3px}
/* Distinct rich photographic fallback so missing Drive permissions never display an unrelated apartment. */
@media (max-width:1100px){
  .brand-text strong{font-size:17px}.hero h1{font-size:43px}.hero-layout{grid-template-columns:1fr .87fr;gap:20px}.hero-art{height:370px}
  .hero-search{grid-template-columns:1.15fr .78fr .89fr auto}.hero-search-field{padding-inline:13px}.btn-search{padding-inline:15px}
}
@media (max-width:1030px){
  .desktop-nav{display:none}.header-actions .btn-sm{display:none}.mobile-menu{top:87px;box-shadow:0 10px 24px #231b141a;border-color:#e8ded1}
  .hero{padding-top:36px}.hero-layout{grid-template-columns:1fr .8fr}.hero-content{padding-bottom:98px}.hero-art{height:350px}
  .brand-mark{width:42px;height:42px}
}
@media (max-width:750px){
  .container{width:calc(100% - 34px)}.header{height:70px}.mobile-menu{top:70px}
  .brand-text strong{font-size:14px}.brand-text small{font-size:7px;letter-spacing:.19em}.brand-mark{width:34px;height:34px}
  .announcement-inner{justify-content:center}
  .hero{padding-top:16px}.hero::before{display:none}.hero-layout{display:flex;flex-direction:column;gap:2px}.hero-content{padding:26px 0 16px}.hero h1{font-size:clamp(33px,8vw,44px);line-height:1.17;margin:18px 0 15px}.hero p{font-size:13px;line-height:1.75}
  .hero-proof{gap:9px;margin-top:18px}.hero-proof>span{font-size:10px}.hero-explore-link{margin-top:18px}
  .hero-art{display:block;height:250px;min-height:250px;width:100%;margin-bottom:5px}.hero-photo-frame{inset:3px 8px 0 5px}.hero-photo-main{height:93%;right:17%;border-width:5px}.hero-photo-mini{height:51%;width:43%;border-width:4px;right:2%;bottom:2%}.hero-image-caption{top:4px;right:2px;padding:7px 9px;font-size:7px}.hero-image-caption b{font-size:8px}.caption-cross{font-size:13px}.hero-photo-bottom{left:14px;bottom:13px}.hero-photo-bottom strong{font-size:14px}.hero-photo-bottom span{font-size:7px}
  .hero-search-container{padding-bottom:19px}.hero-search{transform:none;margin:0 0 0;grid-template-columns:1fr 1fr;border-radius:2px;padding:5px;box-shadow:0 8px 26px #19120b18}
  .hero-search-location{grid-column:1/-1}.hero-search-field{padding:10px 12px}.hero-search-field label{font-size:8px}.btn-search{grid-column:1/-1;margin:4px;border-radius:2px}
  .trust-strip{padding:24px 0 26px}.trust-inner{padding:19px 3px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.trust-inner>div:not(.trust-divider){align-items:start}.trust-big{font-size:17px}
  .section{padding:53px 0}.section-heading h2{font-size:27px}.areas-grid{gap:10px}.area-card{border-radius:2px;min-height:140px}.area-card:first-child{min-height:148px}
  .listings-section{padding:55px 0}.listings-grid,.search-layout.map-mode .listings-grid{grid-template-columns:1fr 1fr;gap:12px}
  .property-card{border-radius:2px}.card-body{padding:13px}.card-title{font-size:13px}.card-media{aspect-ratio:1.2}.price-block strong{font-size:19px}
  .filters{border-radius:0;box-shadow:18px 0 38px #0002}.contact-banner{border-radius:2px}
  .floating-help{border-radius:2px}
}
@media (max-width:420px){
  .listings-grid,.search-layout.map-mode .listings-grid{grid-template-columns:1fr}
  .card-media{aspect-ratio:1.65}.card-title{font-size:16px}.hero h1{font-size:33px}.hero-art{height:215px;min-height:215px}
  .hero-photo-mini{height:47%}.hero-image-caption{display:none}
}
.footer-brand .brand-mark{color:#b99b70}
.footer-brand .brand-text strong{color:#fff}
.footer-brand .brand-text small{color:#c6bbaa}
.footer-brand .brand-text small span{color:#c5aa83}
.gallery-dialog .gallery-header .text-link{font-weight:800}
