.hero { color: var(--paper); background: var(--forest-deep); }
.hero-home { position: relative; min-height: 47rem; overflow: hidden; }
.hero-grid-bg { position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(197,209,128,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(197,209,128,.18) 1px, transparent 1px); background-size: 7.5rem 7.5rem; mask-image: linear-gradient(to left, #000, transparent 82%); }
.hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.25fr .75fr; gap: 4rem; align-items: center; min-height: 43rem; padding-top: 6rem; }
.hero-copy h1 { max-width: 12ch; margin-bottom: 1.5rem; font-size: clamp(3.3rem, 7vw, 7.5rem); font-weight: 500; }
.hero-lead { max-width: 37rem; color: rgba(255,255,255,.72); font-size: clamp(1.05rem, 1.6vw, 1.35rem); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.3rem; margin-top: 2.2rem; }
.hero-link { color: var(--paper); font-size: .88rem; font-weight: 800; }
.hero-signature { position: relative; display: grid; width: min(100%, 27rem); aspect-ratio: 1; place-items: center; margin-left: auto; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; }
.hero-signature::before, .hero-signature::after, .signature-orbit { content: ''; position: absolute; border: 1px solid rgba(197,209,128,.24); border-radius: 50%; }
.hero-signature::before { inset: 14%; } .hero-signature::after { inset: 31%; } .signature-orbit { inset: -8%; border-style: dashed; }
.hero-signature b { color: var(--sage); font: italic 4rem var(--font-serif); }
.hero-signature span { position: absolute; color: rgba(255,255,255,.56); font-size: .62rem; letter-spacing: .13em; text-transform: uppercase; }
.hero-signature span:nth-of-type(1) { top: 9%; } .hero-signature span:nth-of-type(2) { right: -4%; bottom: 25%; } .hero-signature span:nth-of-type(3) { left: -2%; bottom: 18%; }
.hero-foot { position: relative; z-index: 1; display: flex; align-items: center; gap: 1rem; height: 4rem; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.45); font-size: .65rem; letter-spacing: .18em; text-transform: uppercase; }
.hero-foot i { width: 3rem; height: 1px; background: rgba(255,255,255,.18); }
.statement-grid { display: grid; grid-template-columns: .6fr 1.7fr 1fr; gap: 2rem; align-items: start; }
.statement-grid h2 { margin: 0; font-size: clamp(2.2rem, 4.3vw, 4.7rem); font-weight: 500; }
.statement-grid > p:last-child { color: var(--muted); font-size: 1.05rem; }
.section-action { margin-top: 2.5rem; text-align: right; }
.launch-showcase, .digital-experience { overflow: hidden; background: var(--forest-deep); color: var(--paper); }
.launch-grid, .digital-grid { display: grid; grid-template-columns: 1fr 1fr; min-height: 42rem; }
.launch-copy, .digital-grid > div:first-child { align-self: center; padding: 5rem 5rem 5rem 0; }
.launch-copy h2, .digital-grid h2 { font-size: clamp(3rem, 6vw, 6.5rem); font-weight: 500; }
.launch-copy p:not(.eyebrow), .digital-grid p:not(.eyebrow) { max-width: 34rem; color: rgba(255,255,255,.68); font-size: 1.1rem; }
.launch-actions { display: flex; flex-wrap: wrap; gap: 1.3rem; align-items: center; margin-top: 2rem; }
.launch-art { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: 3rem; background: #112f2b; border-inline: 1px solid rgba(255,255,255,.1); }
.launch-art strong { align-self: center; color: var(--sage); font: italic clamp(5rem, 12vw, 11rem) var(--font-serif); }
.launch-art span, .launch-art small { z-index: 1; font-size: .65rem; letter-spacing: .2em; }
.launch-map-lines, .jardim-line-art, .digital-grid-art { position: absolute; inset: 9%; transform: rotate(-8deg); opacity: .4; }
.launch-map-lines i, .jardim-line-art i, .digital-grid-art i { position: absolute; border: 1px solid rgba(197,209,128,.58); }
.launch-map-lines i:nth-child(1), .jardim-line-art i:nth-child(1), .digital-grid-art i:nth-child(1) { inset: 0 53% 55% 0; }
.launch-map-lines i:nth-child(2), .jardim-line-art i:nth-child(2), .digital-grid-art i:nth-child(2) { inset: 0 0 55% 50%; }
.launch-map-lines i:nth-child(3), .jardim-line-art i:nth-child(3), .digital-grid-art i:nth-child(3) { inset: 48% 62% 0 0; }
.launch-map-lines i:nth-child(4), .jardim-line-art i:nth-child(4), .digital-grid-art i:nth-child(4) { inset: 48% 30% 0 41%; }
.launch-map-lines i:nth-child(5), .jardim-line-art i:nth-child(5), .digital-grid-art i:nth-child(5) { inset: 48% 0 0 73%; }
.launch-map-lines i:nth-child(6), .jardim-line-art i:nth-child(6) { inset: 23%; border-radius: 50%; }
.process-intro { display: grid; grid-template-columns: .65fr 2fr; margin-bottom: 3.5rem; }
.process-intro h2 { font-size: clamp(2.5rem, 4.5vw, 5rem); font-weight: 500; }
.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.process-grid article { min-height: 17rem; padding: 2rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.process-grid article:first-child { border-left: 1px solid var(--line); }
.process-grid b { color: var(--gold); font: italic 1rem var(--font-serif); }
.process-grid h3 { margin-top: 4rem; font-size: 1.5rem; }
.process-grid p { color: var(--muted); }
.page-hero { padding: 4rem 0 6rem; }
.page-hero h1 { max-width: 14ch; margin-bottom: 1.5rem; font-size: clamp(3rem, 6vw, 6.4rem); font-weight: 500; }
.page-hero h1 em { color: var(--forest); }
.page-hero > .shell > p:last-child { max-width: 46rem; color: var(--muted); font-size: 1.1rem; }
.catalog-toolbar { position: sticky; top: 5.8rem; z-index: 20; padding: 1.2rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: rgba(255,253,248,.96); box-shadow: var(--shadow); backdrop-filter: blur(14px); }
.search-control { position: relative; display: block; }
.search-control input { width: 100%; height: 4.5rem; padding: 0 4rem 0 1.3rem; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); font-size: clamp(1rem, 2vw, 1.35rem); }
.search-control > span:not(.sr-only) { position: absolute; top: 1rem; right: 1.4rem; font-size: 1.5rem; }
.filter-chips { display: flex; gap: .55rem; overflow-x: auto; padding-top: 1rem; scrollbar-width: thin; }
.filter-chips button { flex: none; padding: .55rem .85rem; border: 1px solid var(--line); border-radius: 999px; background: transparent; font-size: .73rem; font-weight: 700; }
.filter-chips button.active { background: var(--forest-deep); color: var(--paper); }
.results-count { margin: 2rem 0 1rem; color: var(--muted); font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.empty-search { padding: 5rem 1rem; text-align: center; }
.city-hero-grid { display: grid; grid-template-columns: 1.4fr .6fr; gap: 3rem; align-items: end; }
.city-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.city-summary span { padding: 1.3rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .75rem; }
.city-summary strong { display: block; margin-bottom: .4rem; color: var(--forest); font: italic 2.2rem var(--font-serif); }
.back-row { margin-top: 3rem; }
.project-hero { position: relative; overflow: hidden; background: var(--forest-deep); color: var(--paper); }
.project-hero-grid { position: absolute; inset: 0; opacity: .25; background-image: linear-gradient(rgba(197,209,128,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(197,209,128,.22) 1px, transparent 1px); background-size: 6rem 6rem; transform: rotate(8deg) scale(1.2); mask-image: linear-gradient(90deg, transparent, #000); }
.project-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.4fr .6fr; gap: 4rem; align-items: center; min-height: 42rem; padding-top: 6rem; }
.project-hero .status-badge { position: static; display: inline-flex; margin-bottom: 1.5rem; }
.project-location { color: var(--sage); font-size: .72rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.project-hero h1 { max-width: 14ch; margin-bottom: 1.4rem; font-size: clamp(3rem, 6vw, 6.4rem); font-weight: 500; }
.project-hero-inner > div:first-child > p:last-of-type { max-width: 40rem; color: rgba(255,255,255,.67); font-size: 1.1rem; }
.project-monogram { display: grid; aspect-ratio: 1; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; }
.project-monogram strong { grid-area: 1/1; color: var(--sage); font: italic clamp(4rem, 8vw, 8rem) var(--font-serif); }
.project-monogram span { align-self: start; margin-top: 2rem; font-size: .65rem; letter-spacing: .2em; }
.project-monogram small { align-self: end; margin-bottom: 2rem; letter-spacing: .2em; }
.detail-layout { display: grid; grid-template-columns: 1.35fr .65fr; gap: 5rem; align-items: start; }
.detail-layout h2 { font-size: clamp(2.4rem, 4.5vw, 5rem); font-weight: 500; }
.large-copy { max-width: 42rem; color: var(--muted); font-size: 1.1rem; }
.trust-list { display: flex; flex-direction: column; margin-top: 2rem; border-top: 1px solid var(--line); }
.trust-list span { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); font-weight: 700; }
.trust-list b { color: var(--gold); font-family: var(--font-serif); font-style: italic; }
.consult-card { padding: 2rem; border-radius: var(--radius-lg); background: var(--sand); }
.consult-card h3 { font-size: 2rem; }
.consult-card p:not(.eyebrow) { color: var(--muted); }
.consult-card a { display: inline-block; margin-top: 1rem; color: var(--forest); font-weight: 800; }
.location-confirmed, .location-empty { display: grid; grid-template-columns: 1.2fr .8fr; gap: 4rem; align-items: center; }
.location-copy h2, .location-empty h2 { font-size: clamp(2.3rem, 4vw, 4rem); }
.location-copy p, .location-empty p { color: var(--muted); }
.coordinate-card { display: flex; min-height: 18rem; flex-direction: column; justify-content: flex-end; padding: 2rem; border-radius: var(--radius-lg); background: var(--forest-deep); color: var(--paper); box-shadow: var(--shadow); }
.coordinate-card > span { margin-bottom: auto; color: var(--sage); font-size: 2rem; }
.coordinate-card small, .coordinate-card em { color: rgba(255,255,255,.5); font-size: .68rem; font-style: normal; letter-spacing: .1em; text-transform: uppercase; }
.coordinate-card strong { margin: .4rem 0; font-size: 1.35rem; }
.location-symbol { display: grid; width: 9rem; height: 9rem; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--gold); font-size: 3rem; }
.digital-grid-art { position: relative; min-height: 25rem; inset: auto; margin: 4rem 0; border: 1px solid rgba(255,255,255,.14); }
.digital-screen { position: relative; display: flex; align-items: end; justify-content: center; border-inline: 1px solid rgba(255,255,255,.08); }
.digital-screen > span { position: absolute; bottom: 2rem; font-size: .65rem; letter-spacing: .2em; }
.jardim-hero { position: relative; min-height: 48rem; overflow: hidden; background: var(--forest-deep); color: var(--paper); }
.jardim-line-art { inset: 8% 2% 2% 45%; transform: rotate(-4deg); opacity: .32; }
.jardim-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.4fr .6fr; align-items: center; min-height: 48rem; padding-top: 6rem; }
.jardim-hero h1 { font-size: clamp(3.7rem, 7vw, 7.2rem); font-weight: 500; }
.jardim-hero p:not(.eyebrow) { max-width: 39rem; color: rgba(255,255,255,.68); font-size: 1.15rem; }
.jardim-seal { display: grid; aspect-ratio: 1; place-items: center; border: 1px solid rgba(197,209,128,.45); border-radius: 50%; }
.jardim-seal span { grid-area: 1/1; color: var(--sage); font: italic 7rem var(--font-serif); }
.jardim-seal small { align-self: end; margin-bottom: 2rem; letter-spacing: .18em; }
.launch-principles { display: grid; grid-template-columns: repeat(3, 1fr); }
.launch-principles article { padding: 2rem; border: 1px solid var(--line); border-right: 0; }
.launch-principles article:last-child { border-right: 1px solid var(--line); }
.launch-principles span { color: var(--gold); font: italic 1rem var(--font-serif); }
.launch-principles h2 { margin-top: 5rem; font-size: 1.7rem; }
.launch-principles p { color: var(--muted); }
.brokers-hero-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 5rem; align-items: center; }
.partner-orbit { position: relative; display: grid; width: min(100%, 26rem); aspect-ratio: 1; place-items: center; margin-left: auto; border: 1px solid var(--line); border-radius: 50%; }
.partner-orbit::before { content: ''; position: absolute; inset: 24%; border: 1px solid var(--line); border-radius: 50%; }
.partner-orbit b { color: var(--forest); font: italic 4rem var(--font-serif); }
.partner-orbit span { position: absolute; padding: .4rem .65rem; border-radius: 999px; background: var(--sand); font-size: .68rem; font-weight: 800; }
.partner-orbit span:nth-child(1) { top: 3%; } .partner-orbit span:nth-child(2) { right: -6%; top: 30%; } .partner-orbit span:nth-child(3) { right: 3%; bottom: 9%; } .partner-orbit span:nth-child(4) { left: 3%; bottom: 9%; } .partner-orbit span:nth-child(5) { left: -9%; top: 30%; }
.region-list { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.region-list a { display: grid; grid-template-columns: 2rem 1fr auto; gap: .8rem; align-items: center; padding: 1.25rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.region-list a:nth-child(3n+1) { border-left: 1px solid var(--line); }
.region-list span, .region-list em { color: var(--muted); font-size: .68rem; font-style: normal; }
.prose { max-width: 50rem; }
.prose h2 { margin-top: 3rem; font-size: 2rem; }
.prose p { color: var(--muted); font-size: 1.06rem; }
.not-found { display: grid; min-height: 75vh; align-items: center; padding-top: 6rem; }
.not-found h1 { font-size: clamp(3.2rem, 7vw, 7rem); font-weight: 500; }
.not-found p { max-width: 35rem; color: var(--muted); }
@media (max-width: 900px) { .hero-inner, .launch-grid, .digital-grid, .statement-grid, .city-hero-grid, .project-hero-inner, .detail-layout, .location-confirmed, .location-empty, .jardim-hero-inner, .brokers-hero-grid { grid-template-columns: 1fr; } .hero-inner { padding-block: 10rem 4rem; } .hero-signature { width: min(75vw, 24rem); margin: 0 auto; } .launch-copy, .digital-grid > div:first-child { padding: 5rem 0; } .launch-art { min-height: 32rem; } .project-monogram, .jardim-seal { width: min(70vw, 22rem); margin: 0 auto 4rem; } .process-intro { grid-template-columns: 1fr; } .region-list { grid-template-columns: repeat(2, 1fr); } .region-list a:nth-child(3n+1) { border-left: 0; } .region-list a:nth-child(2n+1) { border-left: 1px solid var(--line); } }
@media (max-width: 620px) { .hero-home { min-height: auto; } .hero-inner { min-height: auto; padding-top: 8rem; } .hero-copy h1 { font-size: clamp(3rem, 16vw, 4.5rem); } .hero-signature { margin-bottom: 2rem; } .hero-foot { overflow: hidden; } .statement-grid { gap: 1rem; } .process-grid, .launch-principles, .region-list { grid-template-columns: 1fr; } .process-grid article, .launch-principles article, .launch-principles article:last-child, .region-list a, .region-list a:nth-child(2n+1), .region-list a:nth-child(3n+1) { border-left: 1px solid var(--line); border-right: 1px solid var(--line); } .city-summary { grid-template-columns: 1fr; } .catalog-toolbar { top: 4.8rem; } .page-hero { padding-bottom: 3rem; } .project-hero-inner, .jardim-hero-inner { min-height: auto; padding-top: 9rem; } .project-monogram, .jardim-seal { margin-top: 2rem; } .jardim-hero h1 { font-size: clamp(3.3rem, 16vw, 5rem); } .location-symbol { width: 6rem; height: 6rem; } }

