/* Premium conversion layer — warm stone, ink and forest palette */
:root {
  --primary: #173d35;
  --primary-hover: #20564a;
  --primary-light: #e9f0ec;
  --accent: #b88756;
  --accent-hover: #9e7044;
  --accent-soft: #f5eee7;
  --bg-main: #faf9f6;
  --bg-secondary: #f1f0eb;
  --bg-white: #fff;
  --bg-dark: #142b27;
  --text-main: #202a27;
  --text-muted: #68736e;
  --text-light: #89938e;
  --border: #e4e5df;
  --border-soft: #edeee9;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --shadow-sm: 0 4px 14px rgba(22,48,41,.05);
  --shadow-md: 0 12px 34px rgba(22,48,41,.09);
  --shadow-lg: 0 22px 64px rgba(22,48,41,.14);
  --shadow-hover: 0 28px 70px rgba(22,48,41,.18);
  --font-ui: 'Manrope', system-ui, sans-serif;
  --font-heading: 'Cormorant Garamond', Georgia, serif;
}
html { scroll-padding-top: 100px; }
body { background: var(--bg-main); letter-spacing: -.01em; }
.container { max-width: 1360px; padding-inline: clamp(20px, 4vw, 64px); }
h1,h2,h3,h4,.font-editorial { letter-spacing: -.035em; }
h1 { font-size: clamp(3.2rem, 6vw, 5.8rem); line-height: .98; }
h2 { font-size: clamp(2.6rem, 4.3vw, 4.2rem); line-height: 1.02; }
h3 { font-size: 1.65rem; }
.section { padding-block: clamp(76px, 9vw, 132px); }
.section-badge { color: #956b43; background: #f1e8dc; border-radius: 3px; letter-spacing: .16em; font-size: .67rem; padding: 8px 12px; }
.section-subtitle { line-height: 1.8; }
.site-header { height: 86px; background: rgba(250,249,246,.91); border-bottom: 1px solid rgba(228,229,223,.75); backdrop-filter: blur(18px); }
.site-header.scrolled { box-shadow: 0 8px 28px rgba(20,43,39,.06); }
.header-container { height: 86px; }
.brand-logo { display: flex; flex-direction: row; align-items: center; gap: 12px; }
.brand-logo::before { display: block; order: -1; align-self: center; flex: 0 0 38px; }
.brand-text { display: flex; flex-direction: column; justify-content: center; gap: 2px; min-width: 0; }
.brand-logo::before { content: ''; width: 38px; height: 38px; border: 1px solid var(--accent); border-radius: 50%; background: radial-gradient(circle at 50% 50%, var(--primary) 0 3px, transparent 4px), linear-gradient(135deg, transparent 48%, var(--accent) 49% 51%, transparent 52%); flex: 0 0 38px; }
.brand-name { font: 700 1rem var(--font-ui); letter-spacing: .08em; text-transform: uppercase; }
.brand-subtitle { font-size: .64rem; letter-spacing: .11em; text-transform: uppercase; }
.main-nav { gap: clamp(17px, 2.4vw, 36px); }
.nav-link { font-size: .77rem; font-weight: 700; letter-spacing: .015em; }
.nav-link::after { bottom: -8px; height: 2px; }
.btn { min-height: 48px; border-radius: 5px; font-size: .77rem; font-weight: 800; letter-spacing: .025em; padding: 0 22px; }
.btn-primary { background: var(--primary); box-shadow: 0 9px 22px rgba(23,61,53,.16); }
.btn-primary:hover { background: var(--primary-hover); transform: translateY(-2px); }
.btn-whatsapp { background: var(--primary); }
.btn-whatsapp:hover { background: var(--primary-hover); }
.btn-outline { border-color: #cfd6d1; }
.header-wa-btn { min-height: 43px; }
.hero-section { position: relative; overflow: hidden; padding: 66px 0 92px; background: var(--bg-main); }
.hero-section::before { display: none; }
.hero-container { position: relative; z-index: 1; gap: clamp(42px, 7vw, 100px); align-items: center; }
.hero-content { max-width: 570px; padding: 22px 0 26px; }
.hero-badges { gap: 10px; margin-bottom: 28px; }
.badge-creci,.badge-accent { border-radius: 3px; padding: 8px 12px; letter-spacing: .12em; font-size: .62rem; }
.badge-creci { background: var(--primary); color: #fff; }
.badge-accent { background: #efe7dc; color: #89613c; }
.hero-title { max-width: 570px; font: 500 clamp(3.4rem,5.4vw,5.4rem)/.99 var(--font-heading); letter-spacing: -.035em; }
.hero-title em { color: var(--primary); font-style: italic; }
.hero-subtitle { max-width: 455px; margin-top: 22px; font-size: clamp(.98rem,1.15vw,1.08rem); line-height: 1.8; }
.hero-cta-group { gap: 10px; margin-top: 28px; }
.hero-pills { gap: 12px 20px; margin-top: 24px; }
.pill-item { color: #58645f; font-size: .72rem; font-weight: 700; }
.pill-item i { color: var(--accent); }
.hero-visual { max-width: 570px; }
.hero-image-wrapper { position: relative; min-height: 500px; border-radius: 2px; box-shadow: none; background: #e7e5dc; }
.hero-img { min-height: 500px; object-position: center 54%; }
.hero-photo-note { display: flex; justify-content: space-between; gap: 16px; padding: 13px 2px 0; color: var(--text-muted); font-size: .68rem; letter-spacing: .04em; }
.hero-floating-card { left: -36px; bottom: 30px; padding: 14px 20px 14px 14px; border: 1px solid rgba(255,255,255,.65); border-radius: 6px; box-shadow: var(--shadow-lg); }
.hero-badges .badge-accent { background: transparent; border-left: 1px solid var(--accent); border-radius: 0; padding: 3px 0 3px 12px; color: #75614e; font-size: .72rem; font-weight: 600; letter-spacing: .015em; text-transform: none; }
.hero-subtitle { max-width: 455px; }
.hero-floating-card { display: none; }
.broker-avatar { border-radius: 4px; }
.search-section { position: relative; z-index: 4; margin-top: -46px; }
.search-box { border: 1px solid var(--border); border-radius: 8px; padding: 26px 30px 30px; box-shadow: 0 24px 65px rgba(20,43,39,.11); }
.search-title { font: 700 .95rem var(--font-ui); letter-spacing: -.01em; }
.search-title i { color: var(--accent); }
.form-control { min-height: 50px; border-radius: 4px; border-color: #e0e3de; background-color: #fff; font-size: .82rem; }
.form-control:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(184,135,86,.13); }
.form-group label { margin-bottom: 8px; color: #69736e; font-size: .66rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.section-header-flex { margin-bottom: 42px; }
.property-grid { gap: 24px; }
.property-card { overflow: hidden; border: 1px solid #e9e9e3; border-radius: 7px; box-shadow: 0 6px 24px rgba(30,45,39,.045); }
.property-card:hover { transform: translateY(-6px); box-shadow: 0 24px 48px rgba(30,45,39,.12); }
.card-media { overflow: hidden; }
.card-img { transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.property-card:hover .card-img { transform: scale(1.045); }
.card-badges { top: 16px; left: 16px; }
.badge-purpose,.badge-status,.badge-featured { border-radius: 3px; padding: 7px 10px; font-size: .59rem; letter-spacing: .11em; text-transform: uppercase; }
.card-body { padding: 22px 22px 24px; }
.card-location { font-size: .68rem; letter-spacing: .045em; text-transform: uppercase; }
.card-title { margin: 10px 0 14px; font: 600 1.55rem/1.15 var(--font-heading); letter-spacing: -.02em; }
.card-price { color: var(--primary); font: 800 1.2rem var(--font-ui); }
.card-features { border-top: 1px solid var(--border-soft); margin-top: 18px; padding-top: 16px; }
.card-actions { gap: 10px; margin-top: 18px; }
.card-actions .btn { flex: 1; }
.category-card,.testimonial-card,.contact-card,.form-box,.info-card { border-radius: 7px; }
.category-card { min-height: 255px; padding: 30px; }
.seller-box { border-radius: 8px; overflow: hidden; }
.seller-title,.final-cta-title { font-size: clamp(2.6rem,4.4vw,4.3rem); line-height: 1; }
.seller-text,.final-cta-subtitle { line-height: 1.85; }
.site-footer { background: var(--primary); }
.footer-top { padding-top: 78px; padding-bottom: 64px; }
.footer-title { color: #fff; font: 700 .75rem var(--font-ui); letter-spacing: .12em; text-transform: uppercase; }
.footer-brand-name { color: #fff; font: 600 2rem var(--font-heading); }
.footer-links a,.footer-contact-list a,.footer-contact-list span { color: #c4cec8; font-size: .77rem; }
.footer-bottom { border-color: rgba(255,255,255,.12); }
.floating-whatsapp { right: 24px; bottom: 24px; width: 54px; height: 54px; border-radius: 50%; box-shadow: 0 12px 28px rgba(15,50,42,.28); }
/* Inner pages */
.page-hero,.page-header,.properties-header { background: linear-gradient(120deg,#f4f2eb,#eaf0ea); }
.breadcrumb { font-size: .7rem; letter-spacing: .04em; }
.property-detail-hero { border-radius: 7px; overflow: hidden; }
.detail-sidebar,.contact-card,.form-box { border: 1px solid var(--border); box-shadow: var(--shadow-sm); }
.admin-discreet-link { opacity: .68; }
/* Conversion actions stay reachable on small screens */
.mobile-conversion-bar { display: none; }
@media (max-width: 1024px) {
  .hero-container { grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: clamp(28px,5vw,54px); }
  .hero-content { min-width: 0; padding: 8px 0; }
  .hero-visual { width: 100%; max-width: none; min-width: 0; margin: 0; }
  .hero-image-wrapper { height: 430px; min-height: 0; overflow: visible; }
  .hero-img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
  .hero-title { font-size: clamp(3.1rem,5.2vw,4.6rem); }
  .hero-pills { gap: 10px 14px; }
}
@media (max-width: 768px) {
  body { padding-bottom: 72px; }
  .container { padding-inline: 20px; }
  .site-header,.header-container { height: 72px; }
  .brand-logo::before { width: 34px; height: 34px; flex-basis: 34px; }
  .brand-name { font-size: .88rem; }
  .brand-subtitle { font-size: .56rem; }
  .header-wa-btn { display: none; }
  .hero-section { padding: 36px 0 50px; background: var(--bg-main); }
  .hero-container { display: flex; flex-direction: column; gap: 0; }
  .hero-content { width: 100%; max-width: none; margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  .hero-visual { order: 1; width: 100%; max-width: none; margin: 24px 0 0; }
  .hero-image-wrapper { height: clamp(230px, 66vw, 360px); min-height: 0; max-height: none; border-radius: 2px; box-shadow: none; }
  .hero-img { width: 100%; height: 100%; min-height: 0; max-height: none; object-position: center 54%; }
  .hero-badges { gap: 7px; margin-bottom: 18px; }
  .hero-title { max-width: 600px; font-size: clamp(3rem,11vw,4.1rem); line-height: 1; }
  .hero-subtitle { margin-top: 16px; margin-bottom: 0; font-size: .94rem; line-height: 1.75; }
  .hero-cta-group { display: grid; grid-template-columns: 1fr 1fr; }
  .hero-cta-group .btn { padding-inline: 12px; font-size: .68rem; }
  .hero-pills { gap: 12px 15px; }
  .hero-floating-card { display: none; }
  .hero-photo-note { padding-top: 10px; font-size: .64rem; }
  .search-section { margin-top: 0; padding-top: 18px; }
  .search-box { padding: 21px 18px; }
  .form-grid { gap: 14px; }
  .section-header-flex { align-items: flex-start; flex-direction: column; }
  .section-header-flex .btn { width: 100%; }
  .property-grid { gap: 18px; }
  .card-body { padding: 18px; }
  .footer-top { padding-top: 58px; }
  .floating-whatsapp { display: none; }
  .mobile-conversion-bar { position: fixed; z-index: 1000; inset: auto 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(250,249,246,.96); border-top: 1px solid var(--border); backdrop-filter: blur(16px); }
  .mobile-conversion-bar a { min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 4px; font-size: .7rem; font-weight: 800; }
  .mobile-conversion-browse { color: var(--primary); border: 1px solid #d8dfda; }
  .mobile-conversion-contact { color: #fff; background: var(--primary); }
  .mobile-conversion-bar svg { width: 17px; height: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Property-first, full-bleed hero: clear local offer, direct contact and search next. */
.hero-section { min-height: 540px; padding: 0; background: #142b27; isolation: isolate; }
.hero-section::before { display: none; }
.hero-container { display: flex; position: relative; min-height: 540px; align-items: center; padding-block: 54px 96px; }
.hero-visual { position: absolute; z-index: 0; inset: 0 auto 0 50%; width: 100vw; max-width: none; transform: translateX(-50%); }
.hero-image-wrapper { width: 100%; height: 100%; min-height: 540px; overflow: hidden; border-radius: 0; box-shadow: none; background: #263b35; }
.hero-image-wrapper::after { position: absolute; z-index: 1; inset: 0; content: ""; background: linear-gradient(90deg,rgba(14,31,27,.94) 0%,rgba(14,31,27,.84) 24%,rgba(14,31,27,.58) 46%,rgba(14,31,27,.20) 69%,rgba(14,31,27,.04) 86%,transparent 100%); pointer-events: none; }
.hero-img { position: relative; z-index: 0; display: block; width: 100%; height: 100%; min-height: 540px; object-fit: cover; object-position: center 55%; }
.hero-photo-note { display: none; }
.hero-content { position: relative; z-index: 2; width: min(100%,650px); max-width: 650px; padding: 0; color: #fff; }
.hero-badges { margin-bottom: 22px; }
.hero-badges .badge-accent { padding: 3px 0 3px 12px; border-left: 1px solid rgba(255,255,255,.76); color: rgba(255,255,255,.91); font-size: .75rem; font-weight: 600; letter-spacing: .02em; }
.hero-title { max-width: 650px; color: #fff; font: 500 clamp(3.4rem,6vw,5.5rem)/.98 var(--font-heading); letter-spacing: -.035em; }
.hero-title em { color: #fff; }
.hero-subtitle { max-width: 475px; margin-top: 20px; color: rgba(255,255,255,.88); font-size: clamp(.98rem,1.2vw,1.08rem); line-height: 1.75; }
.hero-cta-group { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 27px; margin-bottom: 0; }
.hero-cta-group .btn-primary { color: var(--primary); background: #fff; box-shadow: none; }
.hero-cta-group .btn-primary:hover { color: var(--primary); background: #f1eee7; }
.hero-cta-group .btn-outline { border-color: rgba(255,255,255,.72); color: #fff; background: rgba(255,255,255,.06); }
.hero-cta-group .btn-outline:hover { color: var(--primary); background: #fff; }
.search-section { margin-top: -56px; }
@media (max-width: 768px) {
  .hero-section { min-height: 0; padding: 0; }
  .hero-image-wrapper::after { background: linear-gradient(90deg,rgba(14,31,27,.94) 0%,rgba(14,31,27,.86) 34%,rgba(14,31,27,.62) 62%,rgba(14,31,27,.22) 86%,rgba(14,31,27,.08) 100%); }
  .hero-container { min-height: 560px; gap: 0; padding: 54px 20px 95px; }
  .hero-visual { width: 100vw; }
  .hero-image-wrapper,.hero-img { height: 100%; min-height: 560px; }
  .hero-content { width: 100%; max-width: 590px; margin: 0; }
  .hero-badges { margin-bottom: 19px; }
  .hero-title { max-width: 570px; font-size: clamp(3.05rem,11vw,4.25rem); line-height: 1; }
  .hero-subtitle { max-width: 430px; margin-top: 16px; font-size: .95rem; line-height: 1.7; }
  .hero-cta-group { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 23px; }
  .hero-cta-group .btn { min-width: 0; min-height: 48px; padding-inline: 10px; font-size: .67rem; }
  .search-section { margin-top: -18px; padding-top: 0; }
}
@media (max-width: 420px) {
  .hero-container { min-height: 585px; }
  .hero-image-wrapper,.hero-img { min-height: 585px; }
  .hero-cta-group { grid-template-columns: 1fr; }
  .hero-cta-group .btn { width: 100%; }
}

/* Center the seller callout so its copy and actions balance across the banner. */
.seller-box { padding: clamp(42px,5.5vw,68px) clamp(24px,6vw,80px); }
.seller-content { width: 100%; max-width: 1060px; margin-inline: auto; text-align: center; }
.seller-content .section-badge { display: inline-flex; margin-inline: auto; }
.seller-title { max-width: 900px; margin-inline: auto; }
.seller-text { max-width: 850px; margin-right: auto; margin-left: auto; }
.seller-buttons { justify-content: center; }
.seller-buttons .btn-primary { min-height: 50px; padding-inline: 22px; color: var(--primary); background: #fff; border: 1px solid #fff; box-shadow: 0 8px 20px rgba(7,24,31,.16); }
.seller-buttons .btn-primary:hover { color: var(--primary); background: #f3eee7; border-color: #f3eee7; transform: translateY(-2px); }
.seller-buttons .btn-outline-light { min-height: 50px; padding-inline: 20px; border-color: rgba(255,255,255,.72); border-radius: 5px; }

/* Demonstration cookie notice, intentionally non-blocking and responsive. */
.cookie-notice[hidden] { display: none !important; }
.cookie-notice { position: fixed; z-index: 1200; right: 24px; bottom: 24px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 24px; width: min(760px,calc(100vw - 48px)); padding: 23px 25px; color: #24312f; background: #fff; border: 1px solid rgba(23,61,53,.13); border-radius: 10px; box-shadow: 0 18px 60px rgba(12,28,25,.22); }
.cookie-notice-copy { min-width: 0; }
.cookie-notice-eyebrow { display: block; margin-bottom: 4px; color: var(--accent); font-size: .65rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cookie-notice h2 { margin: 0 0 6px; color: var(--primary); font: 700 1.1rem/1.3 var(--font-interface,var(--font-body,Arial,sans-serif)); }
.cookie-notice p { margin: 0; color: #52605d; font-size: .78rem; line-height: 1.6; }
.cookie-notice p a { color: var(--primary); font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.cookie-notice small { display: block; margin-top: 6px; color: #77817f; font-size: .65rem; line-height: 1.4; }
.cookie-notice-actions { display: flex; flex-direction: column-reverse; gap: 8px; min-width: 155px; }
.cookie-choice { min-height: 42px; padding: 9px 13px; border: 1px solid var(--primary); border-radius: 4px; font: 700 .72rem/1.2 var(--font-body,Arial,sans-serif); cursor: pointer; transition: background .18s ease,color .18s ease; }
.cookie-choice-primary { color: #fff; background: var(--primary); }
.cookie-choice-primary:hover { background: var(--primary-hover); }
.cookie-choice-secondary { color: var(--primary); background: #fff; }
.cookie-choice-secondary:hover { background: var(--primary-light); }
@media (max-width: 640px) {
  .cookie-notice { right: 12px; bottom: calc(80px + env(safe-area-inset-bottom)); grid-template-columns: 1fr; gap: 14px; width: calc(100vw - 24px); padding: 19px; }
  .cookie-notice-actions { display: grid; grid-template-columns: 1fr 1fr; min-width: 0; }
  .cookie-choice { padding-inline: 8px; font-size: .66rem; }
}
