:root {
  --ink: #201d19; --espresso: #24211c; --canvas: #f5f1e8; --paper: #fffdfa;
  --paper-muted: #f8f4ec; --line: #e6ded1; --muted: #746e64; --bronze: #a87932;
  --bronze-deep: #81581e; --olive: #456042; --shadow: 0 18px 50px rgba(57, 46, 29, .10);
  --serif: Georgia, "Times New Roman", serif; --sans: "Manrope", ui-sans-serif, system-ui, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--ink); background: radial-gradient(circle at 82% -12%, rgba(189,151,86,.16), transparent 29rem), var(--canvas); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; } button, input { font: inherit; } button { cursor: pointer; }
.noise { position: fixed; inset: 0; z-index: 1000; pointer-events: none; opacity: .025; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }

.brand { display: inline-flex; align-items: center; }.brand-logo { display:block; width:214px; height:auto; object-fit:contain; }
.topbar { position:absolute; z-index:20; inset:0 0 auto; height:92px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.16); padding:0 clamp(1.25rem,5vw,5.6rem); }.topbar .brand-logo { width:206px; }
.nav { display:flex; gap:clamp(1rem,2.4vw,2.2rem); color:#ede5d8; font-size:12px; }.nav a { transition:color 150ms ease; }.nav a:hover { color:#deb367; }
.btn-ghost,.btn-primary { display:inline-flex; min-height:42px; align-items:center; justify-content:center; border-radius:7px; padding:0 16px; font-size:11px; font-weight:700; letter-spacing:.055em; transition:150ms ease; }.btn-ghost { border:1px solid rgba(255,255,255,.34); background:rgba(15,13,10,.18); color:#fffaf2; }.btn-ghost:hover { border-color:#d6a85a; background:rgba(255,255,255,.08); }.btn-primary { border:1px solid #9f722e; background:linear-gradient(135deg,#ba8a3d,#8a6227); color:#fffdf8; }.btn-primary:hover { transform:translateY(-1px); box-shadow:0 8px 18px rgba(74,50,17,.22); }.full { width:100%; }

.hero { position:relative; display:flex; min-height:720px; height:100vh; align-items:flex-end; overflow:hidden; padding:0 clamp(1.25rem,7vw,7.5rem) 12vh; }.hero-media { position:absolute; inset:0; background:url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=90") center 50% / cover no-repeat; transform:scale(1.02); }.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(20,18,14,.88),rgba(20,18,14,.54) 46%,rgba(20,18,14,.23)),linear-gradient(0deg,rgba(8,7,5,.72),transparent 48%); }.hero-content { position:relative; z-index:2; max-width:1080px; }
.eyebrow,.section-kicker { color:#d6a85a; font-size:10px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }.hero h1,.intro h2,.section h2,.collections h2,.contact h2 { margin:.28em 0 0; font-family:var(--serif); font-weight:400; letter-spacing:-.045em; line-height:1.02; }.hero h1 { max-width:980px; color:#fffaf2; font-size:clamp(44px,6.2vw,86px); }.hero h1 em { color:#e7bd72; }.hero p { max-width:630px; margin:20px 0 0; color:#e9dfd1; font-size:15px; line-height:1.8; }
.search-bar { display:grid; grid-template-columns:1.15fr .82fr 1fr auto; max-width:1000px; margin-top:34px; border:1px solid rgba(255,255,255,.18); background:rgba(28,25,20,.72); backdrop-filter:blur(18px); }.search-pill { display:flex; flex-direction:column; gap:5px; border-right:1px solid rgba(255,255,255,.14); padding:16px 18px; color:#fffaf2; }.search-pill .small { color:#c5bcaf; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }.search-pill strong { font-size:12px; font-weight:600; }.search-button { border:0; padding:0 23px; background:linear-gradient(135deg,#c69a4e,#8e6629); color:#fffdf8; font-size:12px; font-weight:700; }.hero-meta { position:absolute; z-index:2; right:clamp(1.25rem,5vw,5.6rem); bottom:3.4vh; display:flex; gap:20px; color:#d9d0c4; font-size:8px; letter-spacing:.15em; }

.section { padding:clamp(5.5rem,10vw,8.5rem) clamp(1.25rem,7vw,7.5rem); }.intro { background:var(--paper-muted); color:var(--ink); }.intro .section-kicker,.intelligence .section-kicker { color:var(--bronze-deep); }.intro-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:min(14vw,11rem); align-items:end; }.intro h2 { font-size:clamp(42px,5vw,75px); }.intro p { max-width:560px; color:#5b574f; font-size:16px; line-height:1.85; }.text-link { display:inline-block; border-bottom:1px solid currentColor; padding-bottom:5px; color:#40382e; font-size:11px; font-weight:700; letter-spacing:.04em; }
.featured { background:var(--espresso); color:#fffaf2; }.section-head { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:40px; }.section-head h2 { font-size:clamp(35px,4.2vw,60px); }.featured .text-link { color:#e5d2b0; }.property-grid { display:grid; grid-template-columns:1fr 1.15fr 1fr; gap:18px; }.property-card { min-width:0; }.property-image { position:relative; height:405px; background-position:center; background-size:cover; }.property-card.large .property-image { height:485px; }.img-1 { background-image:url("https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=1200&q=85"); }.img-2 { background-image:url("https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=1400&q=85"); }.img-3 { background-image:url("https://images.unsplash.com/photo-1600607688969-a5bfcd646154?auto=format&fit=crop&w=1200&q=85"); }.tag { position:absolute; top:14px; left:14px; padding:7px 9px; background:rgba(29,25,19,.82); color:#fffaf2; font-size:8px; font-weight:700; letter-spacing:.13em; }.heart { position:absolute; top:12px; right:13px; width:34px; height:34px; border:1px solid rgba(255,255,255,.38); border-radius:50%; background:rgba(0,0,0,.18); color:white; font-size:19px; }.property-body { padding:18px 2px 3px; }.property-place { color:#d6a85a; font-size:9px; font-weight:700; letter-spacing:.14em; }.property-card h3 { margin:9px 0 13px; font-family:var(--serif); font-size:20px; font-weight:400; line-height:1.34; }.property-meta { display:flex; flex-wrap:wrap; gap:13px; color:#bcb4a9; font-size:10px; }.property-price { margin-top:15px; color:#f0e4d0; font-size:13px; font-weight:600; }
.collections { position:relative; display:flex; min-height:690px; align-items:center; padding:10vw 7vw; background:url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=2200&q=90") center / cover; color:#fffaf2; }.collection-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(23,20,16,.9),rgba(23,20,16,.22)); }.collection-content { position:relative; z-index:2; max-width:700px; }.collections h2 { font-size:clamp(42px,5vw,72px); }.collection-links { display:grid; margin-top:34px; border-top:1px solid rgba(255,255,255,.27); }.collection-links a { display:flex; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.2); padding:17px 0; font-size:13px; transition:color 150ms ease; }.collection-links a:hover { color:#e5bd76; }
.intelligence { background:var(--canvas); color:var(--ink); }.intelligence-grid { display:grid; grid-template-columns:1.45fr repeat(3,1fr); gap:38px; margin-top:34px; }.intelligence h2 { margin-top:0; font-size:clamp(39px,4.4vw,66px); }.metric { border-top:1px solid #cbbda8; padding-top:16px; }.metric > span { color:var(--bronze-deep); font-size:10px; font-weight:700; }.metric h3 { margin:12px 0 8px; font-family:var(--serif); font-size:22px; font-weight:400; }.metric p { color:#666159; font-size:12px; line-height:1.7; }
.contact { padding:clamp(6rem,12vw,10rem) 1.25rem; background:var(--espresso); color:#fffaf2; text-align:center; }.contact h2 { font-size:clamp(40px,5vw,70px); }.contact p { max-width:590px; margin:20px auto 30px; color:#d6cec3; font-size:15px; line-height:1.8; } footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:30px clamp(1.25rem,5vw,5.6rem); background:#1e1b17; color:#bdb4a7; font-size:9px; letter-spacing:.12em; } footer .brand-logo { width:170px; }

.gate { position:fixed; inset:0; z-index:2000; display:grid; place-items:center; overflow:auto; padding:100px 0 40px; background:#060606; transition:opacity .3s ease,visibility .3s ease; }.gate.hidden { visibility:hidden; opacity:0; pointer-events:none; }.gate-bg { position:absolute; inset:0; background:url("https://images.unsplash.com/photo-1618221195710-dd6b41faaea6?auto=format&fit=crop&w=2200&q=90") center / cover no-repeat; filter:saturate(.55); }.gate-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.62) 58%,rgba(0,0,0,.75)); }.gate-shell { position:relative; z-index:2; display:grid; width:min(1180px,92vw); grid-template-columns:1fr .86fr; gap:7vw; align-items:center; }.gate-shell > .brand-logo { position:absolute; top:-90px; left:0; width:214px; }.gate-copy { position:relative; }.gate-copy h1 { margin:.28em 0; color:#fffaf2; font-family:var(--serif); font-size:clamp(42px,5vw,72px); font-weight:400; letter-spacing:-.04em; line-height:1.04; }.gate-copy p { max-width:540px; color:#ddd5ca; line-height:1.8; }.gate-close { position:absolute; top:-42px; right:0; border:0; background:transparent; color:#d8cec0; font-size:11px; }.gate-card { border:1px solid rgba(255,255,255,.16); background:rgba(20,17,12,.76); padding:28px; backdrop-filter:blur(22px); }.step-label { margin-bottom:16px; color:#e5bd76; font-size:9px; font-weight:700; letter-spacing:.18em; }.intent-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.intent-card { display:flex; min-height:80px; flex-direction:column; justify-content:space-between; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.025); padding:13px; color:#eee7dc; text-align:left; }.intent-card:hover,.intent-card.active { border-color:#c89b51; background:rgba(175,152,93,.13); }.intent-index { color:#aca396; font-size:8px; }.fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:10px 0; }.fields label { display:flex; flex-direction:column; gap:7px; }.fields label span { color:#bdb3a5; font-size:8px; letter-spacing:.14em; text-transform:uppercase; }.fields input { border:1px solid rgba(255,255,255,.16); background:transparent; padding:14px; color:white; outline:none; }.fields input:focus { border-color:#c89b51; }.consent { display:flex; align-items:flex-start; gap:9px; margin:13px 0; color:#c5bcb0; font-size:10px; line-height:1.55; }.consent input { margin-top:2px; accent-color:#b98a3e; }.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; }.privacy { margin:10px 0 0; color:#aaa095; font-size:8px; line-height:1.5; text-align:center; }.privacy a { text-decoration:underline; text-underline-offset:3px; }
@media (max-width:900px) { .nav,.btn-ghost { display:none; }.topbar { height:76px; }.topbar .brand-logo { width:180px; }.hero { min-height:730px; padding-bottom:9vh; }.search-bar,.intro-grid,.property-grid,.intelligence-grid,.gate-shell { grid-template-columns:1fr; }.search-pill { border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }.search-button { padding:17px; }.hero-meta { display:none; }.property-card.large .property-image,.property-image { height:405px; }.gate-shell > .brand-logo { position:static; margin-bottom:10px; }.gate { align-items:start; } }
@media (max-width:580px) { .hero h1 { font-size:41px; }.hero p { font-size:14px; }.section { padding:80px 6vw; }.fields,.intent-grid { grid-template-columns:1fr; }.gate-card { padding:18px; }.section-head,footer { flex-direction:column; align-items:flex-start; }.section-head { margin-bottom:28px; } }

/* Jornada pública: o catálogo só aparece quando houver dados aprovados. */
.text-button { border:0; background:transparent; padding:0; text-align:left; }
.catalogue-empty { max-width:780px; border:1px solid rgba(255,255,255,.16); padding:clamp(2rem,5vw,4rem); background:linear-gradient(125deg,rgba(168,121,50,.18),rgba(255,255,255,.025)); }
.catalogue-empty p { max-width:660px; margin:16px 0 24px; color:#d8d0c4; font-size:15px; line-height:1.8; }
.collection-links button { display:flex; justify-content:space-between; border:0; border-bottom:1px solid rgba(255,255,255,.2); background:transparent; padding:17px 0; color:inherit; font-size:13px; text-align:left; transition:color 150ms ease; }
.collection-links button:hover { color:#e5bd76; }
.consent--request { margin-top:0; color:#e2d9cb; }
.guest-continue { display:none; width:100%; margin-top:14px; border:0; background:transparent; color:#e5bd76; font-size:11px; text-decoration:underline; text-underline-offset:4px; }
.guest-continue:hover { color:#fffaf2; }
.gate[data-mode="explore"] .capture-fields { display:none; }
.gate[data-mode="explore"] .guest-continue { display:block; }
.journey-notice { position:fixed; z-index:1900; right:20px; bottom:20px; max-width:min(420px,calc(100vw - 40px)); border:1px solid #c89b51; background:#24211c; padding:16px 18px; color:#fffaf2; box-shadow:var(--shadow); font-size:13px; line-height:1.5; }
.catalogue-search { max-width:1120px; }
.catalogue-intro { max-width:760px; margin:0 0 24px; color:#d8d0c4; font-size:14px; line-height:1.75; }
.catalogue-form { display:grid; grid-template-columns:1.1fr 1.1fr repeat(2,.85fr) 1fr auto; gap:10px; align-items:end; }
.catalogue-form label { display:flex; min-width:0; flex-direction:column; gap:7px; }
.catalogue-form label span { color:#bcb4a9; font-size:8px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.catalogue-form input,.catalogue-form select { min-width:0; border:1px solid rgba(255,255,255,.18); border-radius:0; background:rgba(255,255,255,.06); padding:12px; color:#fffaf2; outline:none; }
.catalogue-form select option { color:var(--ink); background:var(--paper); }
.catalogue-form input:focus,.catalogue-form select:focus { border-color:#c89b51; }
.catalogue-form .btn-primary { min-height:43px; white-space:nowrap; }
.catalogue-status { margin:22px 0 0; color:#e5d2b0; font-size:13px; line-height:1.6; }
.catalogue-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:26px; }
.catalogue-result { min-width:0; border-top:1px solid rgba(255,255,255,.26); padding:18px 0; }
.catalogue-result .property-place { display:block; }
.catalogue-result h3 { margin:10px 0 12px; font-family:var(--serif); font-size:25px; font-weight:400; line-height:1.2; }
.catalogue-result p { margin:12px 0 0; color:#c8c0b4; font-size:12px; line-height:1.65; }
.catalogue-result .property-price { margin-top:14px; }
.catalogue-result .catalogue-warning { color:#e5bd76; }
.catalogue-result .catalogue-criteria { color:#e5d2b0; font-size:11px; }
.catalogue-contact { margin-top:18px; padding:0; border:0; border-bottom:1px solid #c89b51; background:transparent; color:#f1d7a7; font:700 10px/1.5 var(--sans); letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.catalogue-contact:disabled { color:#918b82; border-color:#918b82; cursor:wait; }
#catalogueMore { margin-top:18px; color:#e5d2b0; }
.curation-assistant { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(1.5rem,4vw,4rem); border:1px solid rgba(214,168,90,.36); padding:clamp(1.25rem,3vw,2.4rem); background:linear-gradient(125deg,rgba(168,121,50,.16),rgba(255,255,255,.025)); }
.curation-assistant h3 { margin:8px 0 14px; font-family:var(--serif); font-size:clamp(28px,3vw,43px); font-weight:400; line-height:1.08; }
.curation-assistant > div > p { margin:0; color:#d8d0c4; font-size:13px; line-height:1.75; }
.curation-form label[for="curationText"] { display:flex; flex-direction:column; gap:7px; }
.curation-form label > span:first-child { color:#bcb4a9; font-size:8px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.curation-form textarea { width:100%; resize:vertical; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.06); padding:12px; color:#fffaf2; outline:none; line-height:1.55; }
.curation-form textarea:focus { border-color:#c89b51; }
.consent--ai { margin:13px 0 0; }
.curation-privacy { margin:8px 0 0; color:#bcb4a9; font-size:10px; line-height:1.6; }
.curation-privacy a { color:#e5d2b0; text-decoration:underline; text-underline-offset:3px; }
.curation-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:16px; }
.curation-actions .text-link { color:#e5d2b0; }
.catalogue-divider { display:flex; align-items:center; gap:12px; margin:34px 0 22px; color:#bcb4a9; font-size:9px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.catalogue-divider::before,.catalogue-divider::after { content:""; height:1px; flex:1; background:rgba(255,255,255,.17); }
@media (max-width:900px) { .curation-assistant { grid-template-columns:1fr; } }
@media (max-width:900px) { .catalogue-form,.catalogue-results { grid-template-columns:1fr; } }
