/* Platform foundation. Brand files override tokens, never component rules. */
:root {
  --brand-dark-rgb: 30 38 46;
  --brand-primary-rgb: 53 68 82;
  --brand-accent-rgb: 151 173 194;
  --brand-light-rgb: 246 247 249;
  --color-ink: rgb(var(--brand-dark-rgb));
  --color-primary: rgb(var(--brand-primary-rgb));
  --color-accent: rgb(var(--brand-accent-rgb));
  --color-canvas: rgb(var(--brand-light-rgb));
  --color-surface: #fff;
  --color-muted: #59636b;
  --color-accent-ink: #40566b;
  --color-on-accent: var(--color-ink);
  --color-on-primary: #fff;
  --color-contact: var(--color-primary);
  --color-line: rgb(var(--brand-dark-rgb) / .14);
  --font-body: 'Inter', system-ui, sans-serif;
  --font-heading: 'Inter', system-ui, sans-serif;
  --font-label: 'Montserrat', system-ui, sans-serif;
  --heading-weight: 700;
  --radius-card: 12px;
  --radius-button: 8px;
  --radius-photo: 10px;
  --layout-width: 1440px;
  --section-space: clamp(3.5rem, 5.5vw, 5.5rem);
  --shadow-rest: 0 4px 16px rgb(var(--brand-dark-rgb) / .035);
  --shadow-raised: 0 18px 44px rgb(var(--brand-dark-rgb) / .12);
  --motion-fast: 200ms;
  --motion-slow: 850ms;
  --motion-ease: cubic-bezier(.22, .61, .36, 1);
  --hero-position: center;
}
.platform-site { background: var(--color-canvas); color: var(--color-ink); font-family: var(--font-body); overflow-wrap: break-word; overflow-x: clip; }
.platform-site *, .platform-site *::before, .platform-site *::after { box-sizing: border-box; }
.platform-site .container { width: 100%; max-width: var(--layout-width); padding-inline: clamp(1.25rem, 2.5vw, 2.5rem); }
html:has(body.platform-site) { scroll-padding-top: 0; scroll-behavior: smooth; }
.platform-site :is(section, main)[id] { scroll-margin-top: 1.5rem; }
.platform-site :is(h1, h2, h3, h4) { text-wrap: balance; }
.platform-site :is(h1, h2, h3).font-display { font-family: var(--font-heading); font-weight: var(--heading-weight); letter-spacing: -.025em; line-height: 1.17; }
.platform-site p { line-height: 1.65; }
.platform-site :is(a, button) { -webkit-tap-highlight-color: transparent; }
.platform-site :is(a, button, input, summary):focus-visible { outline: 3px solid var(--color-accent-ink); outline-offset: 5px; }
.platform-site .skip-link { position: fixed; top: -100px; left: 1rem; z-index: 100; padding: 1rem 1.5rem; background: var(--color-surface); color: var(--color-ink); }
.platform-site .skip-link:focus { top: 1rem; }
.platform-site ::selection { background: var(--color-accent); color: var(--color-on-accent); }
.platform-site .bg-brand-light { background-color: var(--color-canvas); }
.platform-site .bg-brand-dark { background-color: var(--color-ink); }
.platform-site .bg-brand-primary { background-color: var(--color-primary); }
.platform-site .text-brand-dark { color: var(--color-ink); }
.platform-site .text-brand-primary { color: var(--color-primary); }
.platform-site .text-brand-accent { color: var(--color-accent-ink); }
.platform-site :is(.home-hero, .property-hero, .bg-brand-dark, .bg-brand-primary) .text-brand-accent { color: var(--color-accent); }
.platform-site .bg-brand-accent { background-color: var(--color-accent); color: var(--color-on-accent); }
.platform-site :is(.btn-primary, .btn-outline, .site-button) { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; min-height: 50px; padding: .85rem 1.75rem; border-radius: var(--radius-button); font-size: .95rem; font-weight: 600; line-height: 1.4; text-align: center; transition: background var(--motion-fast), color var(--motion-fast), box-shadow var(--motion-fast), transform var(--motion-fast); }
.platform-site .btn-primary { background: var(--color-primary); color: var(--color-on-primary); }
.platform-site .btn-outline { border: 1px solid var(--color-accent); color: var(--color-accent-ink); }
.platform-site .site-button--accent { background: var(--color-accent); color: var(--color-on-accent); border: 2px solid var(--color-accent); box-shadow: 0 6px 20px rgb(var(--brand-dark-rgb) / .15); }
.platform-site .site-button--outline { background: #ffffff05; color: #fff; border: 2px solid #ffffffa0; }
.platform-site .site-button--outline:hover { background: #fff; color: var(--color-ink); }
.platform-site :is(.btn-primary, .site-button--primary):hover { background: var(--color-ink); }
.platform-site .site-button--accent:hover { box-shadow: 0 8px 28px rgb(var(--brand-accent-rgb) / .3); }
.platform-site .site-header { background: #fffffff5; backdrop-filter: blur(16px); border-bottom: 1px solid var(--color-line); box-shadow: 0 2px 8px #00000008; transition: box-shadow var(--motion-fast), background var(--motion-fast); }
.platform-site .site-header > .absolute { display: none; }
.platform-site .site-header nav { min-height: 76px; padding-block: .85rem; gap: 1.25rem; }
.platform-site .site-header.is-scrolled { box-shadow: 0 4px 24px rgb(var(--brand-dark-rgb) / .09); }
.platform-site .site-header.is-scrolled nav { min-height: 76px; }
.platform-site .site-header nav > a:first-child { flex-shrink: 0; }
.platform-site .site-header nav > a:first-child > :is(div, span):first-child:not(:last-child) { width: 40px; height: 40px; border-radius: 4px; }
.platform-site .site-header .nav-link { font-size: .78rem; letter-spacing: .02em; white-space: nowrap; padding-block: .5rem; }
.platform-site .nav-link::after { background: var(--color-accent); height: 2px; bottom: 0; border-radius: 2px; }
.platform-site .nav-link[aria-current="location"]::after { width: 100%; }
.platform-site .site-header nav > .hidden { gap: 1.6rem; margin: 0; }
.platform-site .site-header nav > .hidden > * { margin-left: 0; }
.platform-site .site-header .nav-cta { display: inline-flex; align-items: center; min-height: 40px; padding: .6rem 1.2rem; border-radius: var(--radius-button); background: var(--color-primary); color: #fff; font-size: .76rem; font-weight: 600; box-shadow: var(--shadow-rest); }
.platform-site .site-header .nav-cta:hover { background: var(--color-ink); }
.platform-site .tibagi-header nav > a:last-child { border-radius: var(--radius-button); }
.platform-site .site-header nav .btn-primary { font-size: .76rem; min-height: 40px; padding: .6rem 1.2rem; }
.platform-site .site-header nav > .hidden a[href="#contato"] { border-radius: var(--radius-button); box-shadow: 0 4px 10px rgb(var(--brand-dark-rgb) / .12); min-height: 40px; padding: .6rem 1.2rem; font-size: .76rem; display: inline-flex; align-items: center; }
.platform-site #mobile-menu-btn { min-width: 44px; min-height: 44px; }
.platform-site #mobile-menu { max-height: calc(100svh - 76px); overflow-y: auto; background: var(--color-surface); }
.platform-site #mobile-menu a { padding-block: .65rem; }
.platform-site .preview-notice { margin-top: 76px; }
.platform-site .home-hero { min-height: 680px; padding-block: 135px 85px; }
.platform-site .home-hero > .container { grid-template-columns: minmax(0, 1fr); }
.platform-site .home-hero > .container > .hidden { display: none; }
.platform-site .preview-notice + main > .home-hero { min-height: 610px; padding-top: 60px; }
.platform-site .preview-notice + main > .property-hero { min-height: max(600px, calc(92svh - 76px)); padding-top: 65px; }
.platform-site .home-hero h1 { font-size: clamp(2.6rem, 4vw, 3.75rem); max-width: 760px; margin-bottom: 1.5rem; text-wrap: wrap; }
.platform-site .home-hero h1 span { color: var(--color-accent); }
.platform-site .home-hero p { font-size: 1.05rem; line-height: 1.75; max-width: 600px; color: #e4e8e4; margin-bottom: 2rem; }
.platform-site .home-hero > .absolute img { opacity: 1; mix-blend-mode: normal; object-position: var(--hero-position); }
.platform-site .hero-overlay { background: linear-gradient(90deg, rgb(var(--brand-dark-rgb) / .92), rgb(var(--brand-dark-rgb) / .76) 45%, rgb(var(--brand-dark-rgb) / .4)), linear-gradient(0deg, rgb(var(--brand-dark-rgb) / .4), transparent 65%); mix-blend-mode: normal; }
.platform-site .eyebrow { display: inline-flex; align-items: center; gap: .5rem; font-family: var(--font-label); font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.platform-site .home-hero .eyebrow { margin-bottom: 1.25rem; }
.platform-site .hero-scroll { display: flex; align-items: center; gap: .65rem; position: absolute; bottom: 1.5rem; left: 50%; transform: translateX(-50%); z-index: 2; color: #fff; font-size: .7rem; letter-spacing: .08em; white-space: nowrap; }
.platform-site .hero-scroll svg { width: 28px; height: 28px; }
.platform-site .section-heading { text-align: center; margin: 0 auto 2.75rem; max-width: 920px; }
.platform-site .section-heading h3 { font-size: clamp(2rem, 3.3vw, 3rem); }
.platform-site .section-heading p { margin-inline: auto; max-width: 700px; color: var(--color-muted); font-size: 1rem; }
.platform-site :is(main > section, .content-section):not(.home-hero):not(.property-hero) { padding-block: var(--section-space); }
.platform-site .catalog-grid { gap: 1.75rem; }
.platform-site .property-card { border: 1px solid var(--color-line); border-radius: var(--radius-card); box-shadow: var(--shadow-rest); background: var(--color-surface); transition: transform var(--motion-fast), box-shadow var(--motion-fast), border-color var(--motion-fast); }
.platform-site .property-card > div:first-child { height: 245px; }
.platform-site .property-card > div:nth-child(2) { padding: 1.5rem; }
.platform-site .property-card h4 { font-family: var(--font-heading); font-weight: var(--heading-weight); font-size: 1.25rem; line-height: 1.3; letter-spacing: -.015em; color: var(--color-ink); }
.platform-site .property-card img { transition: transform var(--motion-slow) var(--motion-ease); }
.platform-site .property-card .bg-brand-accent { color: var(--color-on-accent); }
.platform-site .property-card .text-gray-400 { color: var(--color-muted); }
.platform-site .property-card > div:first-child > .absolute { font-size: .7rem; }
.platform-site .property-card :is(.mt-auto, .border-t) { border-color: var(--color-line); }
.platform-site .property-card .mt-auto > span:last-child { color: var(--color-primary); font-size: .78rem; font-weight: 600; }
.platform-site .property-card:focus-visible { box-shadow: var(--shadow-raised); }
.platform-site #expertise > .container > div { gap: clamp(2rem, 5vw, 5rem); }
.platform-site #expertise img { width: 280px; height: 280px; max-width: 100%; border-radius: 50%; object-fit: cover; }
.platform-site #expertise .bg-brand-primary { border-radius: var(--radius-card); box-shadow: var(--shadow-raised); }
.platform-site #expertise h3 { font-size: clamp(2rem, 3vw, 2.75rem); }
.platform-site .expertise-layout { display: grid; align-items: start; }
.platform-site .expertise-copy { min-width: 0; }
.platform-site .home-consultants { display: grid; gap: 2.5rem; margin: 0; padding: 0; list-style: none; min-width: 0; }
.platform-site .home-consultant { display: flex; flex-direction: column; align-items: center; min-width: 0; }
.platform-site #expertise .home-consultant-photo, .platform-site .home-consultant-placeholder { width: min(280px, 100%); height: auto; aspect-ratio: 1; border: 5px solid white; outline: 4px solid var(--color-accent-soft, #eee8dd); box-shadow: var(--shadow-raised); }
.platform-site .home-consultant-placeholder { display: grid; place-items: center; border-radius: 50%; background: var(--color-canvas); color: var(--color-primary); }
.platform-site .home-consultant-placeholder svg { width: 40%; height: 40%; }
.platform-site .home-consultant-info { width: 100%; max-width: 350px; margin-top: 1.5rem; padding: 1.5rem; color: white; overflow-wrap: anywhere; }
.platform-site .home-consultant-name { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 700; line-height: 1.3; }
.platform-site .home-consultant-description { margin-top: .75rem; opacity: .85; white-space: pre-line; }
.platform-site .home-consultant-info a { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #ffffff40; font-weight: 600; }
.platform-site .home-consultant-info a svg { width: 20px; height: 20px; flex-shrink: 0; }
@media (min-width: 768px) {
  .platform-site .expertise-layout--team { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (min-width: 1200px) {
  .platform-site .home-consultants--multiple { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.5rem; }
  .platform-site #expertise .home-consultants--multiple .home-consultant-photo, .platform-site .home-consultants--multiple .home-consultant-placeholder { width: min(200px, 100%); }
  .platform-site .home-consultants--multiple .home-consultant-info { padding: 1.25rem; }
  .platform-site .home-consultants--multiple .home-consultant-name { font-size: 1.25rem; }
}
.platform-site #carbono { border-block: 1px solid rgb(var(--brand-accent-rgb) / .3); }
.platform-site #carbono h3 { font-size: clamp(2rem, 3vw, 2.75rem); }
.platform-site #carbono a { border-radius: var(--radius-button); }
.platform-site :is(#contato, [data-section="contato"]) a[href*="wa.me"] { border-radius: var(--radius-button); background: var(--color-contact); color: #fff; box-shadow: 0 8px 22px rgb(var(--brand-dark-rgb) / .15); transition: transform var(--motion-fast), box-shadow var(--motion-fast); }
.platform-site :is(#contato, [data-section="contato"]) a[href*="wa.me"]:hover { transform: translateY(-3px); box-shadow: var(--shadow-raised); }
.platform-site .contact-panel { border-radius: var(--radius-card); box-shadow: var(--shadow-raised); border: 1px solid var(--color-line); }
.platform-site footer { border-top: 1px solid rgb(var(--brand-accent-rgb) / .2); font-size: .8rem; }
.platform-site .property-hero { height: auto; min-height: max(650px, 92svh); padding-block: 115px 55px; justify-content: center; }
.platform-site .property-hero .hero-gradient { background: linear-gradient(180deg, rgb(var(--brand-dark-rgb) / .64), rgb(var(--brand-dark-rgb) / .5) 50%, rgb(var(--brand-dark-rgb) / .72)); }
.platform-site .property-hero > .container { text-align: center; }
.platform-site .property-hero .hero-content { max-width: 1100px; margin-inline: auto; text-align: center; }
.platform-site .property-hero h1 { max-width: 1100px; margin-inline: auto; font-size: clamp(2.7rem, 4.7vw, 4.5rem); text-shadow: 0 2px 12px #0004; }
.platform-site .property-hero p.text-xl { max-width: 740px; margin-inline: auto; font-size: 1.15rem; line-height: 1.55; }
.platform-site .property-hero :is(.glass-panel, .hero-indicators) { display: flex; flex-wrap: wrap; width: min(100%, 980px); max-width: 980px; margin-inline: auto; gap: 0; background: #fffffff2; backdrop-filter: blur(14px); color: var(--color-ink); border: 1px solid #ffffff90; border-radius: var(--radius-card); padding: 1.25rem .75rem; box-shadow: 0 16px 35px #0002; }
.platform-site .property-hero :is(.glass-panel, .hero-indicators) > div { flex: 1 1 170px; min-width: 0; padding: .3rem 1.4rem; text-align: center; border-right: 1px solid var(--color-line); }
.platform-site .property-hero :is(.glass-panel, .hero-indicators) > div:last-child { border: 0; }

.platform-site .property-hero :is(.glass-panel, .hero-indicators) p:first-child { font-size: .68rem; letter-spacing: .04em; color: var(--color-muted); }
.platform-site .property-hero :is(.glass-panel, .hero-indicators) p:last-child { font-family: var(--font-heading); font-weight: 700; font-size: 1.35rem; color: var(--color-primary); line-height: 1.4; }
.platform-site .property-hero .hero-indicators .bg-brand-accent p { color: var(--color-on-accent); }
.platform-site .property-hero a > svg { width: 28px; height: 28px; }
.platform-site .gallery-grid { max-width: none; gap: 1.4rem; }
.platform-site .gallery-grid figure { min-width: 0; position: relative; }
.platform-site .gallery-item { border-radius: var(--radius-photo); box-shadow: var(--shadow-rest); background: var(--color-ink); }
.platform-site .gallery-grid .gallery-item { height: 260px; }
.platform-site .gallery-item img { transition: transform var(--motion-slow) var(--motion-ease); }
.platform-site .gallery-item::after { content: '+'; position: absolute; right: 1rem; bottom: 1rem; width: 36px; height: 36px; display: grid; place-items: center; background: rgb(var(--brand-dark-rgb) / .8); border: 1px solid #ffffff70; border-radius: 50%; color: #fff; font-size: 1.35rem; pointer-events: none; }
.platform-site :is(#financeiro, [data-section="financeiro"]) { background: var(--color-primary); }
.platform-site :is(#financeiro, [data-section="financeiro"]) h3 { font-family: var(--font-heading); font-weight: 700; font-size: clamp(2.2rem, 3.5vw, 3.5rem); }
.platform-site [data-section="financeiro"] [data-price] { font-family: var(--font-heading); font-weight: 700; font-size: clamp(2.2rem, 3.5vw, 3.5rem); }
.platform-site :is(#financeiro, [data-section="financeiro"]) a { border-radius: var(--radius-button); }
.platform-site .tibagi-facts { flex-wrap: wrap; }
.platform-site .tibagi-facts > div { border-radius: var(--radius-card); }
.platform-site .tibagi-facts > div:first-child { background: rgb(var(--brand-dark-rgb) / .6); }
.platform-site .property-hero:has(.tibagi-facts) > .container, .platform-site.tibagi .property-hero .hero-content { text-align: left; }
.platform-site .property-hero:has(.tibagi-facts) h1 { margin-left: 0; }

.platform-site .home-hero > .container > div:first-child { max-width: 790px; }
.platform-site :is(.home-hero, .property-hero) .eyebrow { padding: .4rem .9rem; border: 1px solid rgb(var(--brand-accent-rgb) / .55); border-radius: var(--radius-button); background: rgb(var(--brand-dark-rgb) / .25); backdrop-filter: blur(6px); }
.platform-site .fact-icon { width: 21px; height: 21px; margin: 0 auto .5rem; color: var(--color-accent-ink); stroke-width: 1.7; }
.platform-site .property-hero :is(.glass-panel, .hero-indicators) p:first-of-type { font-size: .68rem; letter-spacing: .04em; color: var(--color-muted); }
.platform-site .hero-down { display: inline-flex; margin-top: 2rem; }
.platform-site .gallery-grid figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: 2rem 3.5rem .9rem 1rem; border-radius: 0 0 var(--radius-photo) var(--radius-photo); background: linear-gradient(transparent,#000a); color: white; pointer-events: none; font-size: .8rem; }
.platform-site .details-layout, .platform-site .finance-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(2rem, 4vw, 4rem); }
.platform-site .details-layout.is-text-only, .platform-site .finance-layout.is-text-only { grid-template-columns: minmax(0, 900px); justify-content: center; }
.platform-site .details-layout h2 { font-size: clamp(1.8rem, 2.7vw, 2.5rem); }
.platform-site .feature-list { display: grid; gap: 1.1rem; margin-top: 1.5rem; }
.platform-site .detail-note { display: inline-block; padding: .35rem .8rem; margin: 0 .5rem .5rem 0; border-radius: var(--radius-button); background: rgb(var(--brand-accent-rgb) / .12); color: var(--color-accent-ink); font-size: .85rem; }
.platform-site .feature-list li { display: flex; align-items: flex-start; gap: .85rem; line-height: 1.6; }
.platform-site .feature-icon { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 50%; background: rgb(var(--brand-primary-rgb) / .08); color: var(--color-primary); }
.platform-site .feature-icon svg { width: 21px; height: 21px; stroke-width: 1.7; }
.platform-site .feature-list h3 { font-family: var(--font-body); font-size: 1rem; font-weight: 700; line-height: 1.4; margin-bottom: .2rem; }
.platform-site .feature-list p { color: var(--color-muted); font-size: .9rem; }
.platform-site .details-photo { margin: 0; position: relative; }
.platform-site .details-photo::before { content: ''; position: absolute; width: 100px; height: 100px; top: -18px; left: -18px; border-radius: 50%; background: rgb(var(--brand-accent-rgb) / .17); }
.platform-site .details-photo img { position: relative; width: 100%; height: 420px; object-fit: cover; border-radius: var(--radius-photo); box-shadow: var(--shadow-raised); }
.platform-site .details-photo figcaption { position: absolute; bottom: 0; left: 0; max-width: 90%; padding: 1rem 1.25rem; background: rgb(var(--brand-dark-rgb) / .9); color: #fff; border-radius: 0 var(--radius-photo) 0 var(--radius-photo); font-size: .9rem; }
.platform-site .chart-panel { background: var(--color-surface); border: 1px solid var(--color-line); border-radius: var(--radius-card); box-shadow: var(--shadow-raised); padding: 1.75rem; }
.platform-site .chart-panel h3 { font-family: var(--font-body); font-size: 1.15rem; }
.platform-site :is(#financeiro, [data-section="financeiro"]) .chart-panel h3 { font-family: var(--font-body); font-size: 1.15rem; line-height: 1.4; }
.platform-site .chart-panel ul { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin-top: 1.25rem; color: var(--color-muted); }
.platform-site .finance-layout > div > p { color: #eef1ef; }
.platform-site .payment-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-block: 1.75rem; }
.platform-site .payment-facts > div { padding: 1rem 1.25rem; border-radius: var(--radius-card); background: #ffffff0c; border: 1px solid #ffffff25; }
.platform-site .payment-facts dt { display: flex; gap: .5rem; align-items: center; color: #dce5e1; margin-bottom: .5rem; }
.platform-site .payment-facts svg { width: 20px; height: 20px; color: var(--color-accent); }
.platform-site .location-points { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.platform-site .location-points li { padding: 1.35rem; background: var(--color-canvas); border: 1px solid var(--color-line); border-radius: var(--radius-card); text-align: left; }
.platform-site .location-points .feature-icon { display: inline-grid; width: 42px; margin-bottom: .75rem; }
.platform-site .location-points p { color: var(--color-muted); font-size: .9rem; margin-top: .5rem; }
.platform-site .consultant-card { max-width: 820px; margin-inline: auto; display: flex; align-items: center; justify-content: center; gap: 2rem; padding: 2.5rem; background: var(--color-canvas); text-align: left; }
.platform-site .consultant-card > img { width: 150px; height: 150px; border-radius: 50%; object-fit: cover; border: 4px solid var(--color-accent); }
.platform-site .consultant-card h3 { font-size: 1.5rem; margin-bottom: .5rem; }
.platform-site .consultant-card p { color: var(--color-muted); margin-bottom: 1rem; }
/* One movement engine for both surfaces. Without JS all content stays visible. */
.platform-site [data-aos][data-aos] { opacity: 1; transform: none; transition: none; }
.platform-site .reveal-enter { animation: reveal-enter var(--motion-slow) var(--motion-ease) both; animation-delay: var(--reveal-delay, 0ms); }
.platform-site [data-aos="fade-right"].reveal-enter { --reveal-x: -32px; --reveal-y: 0px; }
.platform-site [data-aos="fade-left"].reveal-enter { --reveal-x: 32px; --reveal-y: 0px; }
.platform-site [data-aos="zoom-in"].reveal-enter { --reveal-scale: .96; }
@keyframes reveal-enter { from { opacity: 0; transform: translate(var(--reveal-x, 0px), var(--reveal-y, 28px)) scale(var(--reveal-scale, 1)); } to { opacity: 1; transform: translate(0, 0) scale(1); } }
@keyframes hero-arrive { from { transform: scale(1.06); } to { transform: scale(1); } }
@keyframes scroll-invite { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(6px); } }
@media (prefers-reduced-motion: no-preference) {
  .platform-site :is(.home-hero, .property-hero) > .absolute > img { animation: hero-arrive 2400ms var(--motion-ease) both; }
  .platform-site :is(.hero-scroll, .hero-down) svg { animation: scroll-invite 1800ms ease-in-out infinite; }
}
@media (hover: hover) and (pointer: fine) {
  .platform-site .property-card:hover { transform: translateY(-7px); box-shadow: var(--shadow-raised); border-color: rgb(var(--brand-accent-rgb) / .6); }
  .platform-site :is(.property-card, .gallery-item):hover img { transform: scale(1.055); }
  .platform-site .site-button:hover { transform: translateY(-3px); }
}
@media (min-width: 900px) {
  .platform-site .gallery-grid:has(> :nth-child(3)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .platform-site .gallery-grid:has(> :nth-child(3)) > :first-child { grid-column: span 2; grid-row: span 2; height: 100%; }
  .platform-site .gallery-grid:has(> :nth-child(3)) > figure:first-child .gallery-item { height: 100%; min-height: 540px; }
}
@media (max-width: 1199px) {
  .platform-site .site-header nav > div.hidden { display: none; }
  .platform-site .site-header #mobile-menu-btn { display: grid; place-items: center; }
  .platform-site #mobile-menu:not(.hidden) { display: flex; flex-direction: column; }
}
@media (max-width: 767px) {
  .platform-site .site-header nav { min-height: 72px; padding-block: .6rem; gap: .75rem; }
  .platform-site .site-header nav > a:first-child > :is(div, span):last-child > span:first-child { font-size: 1rem; }
  .platform-site .site-header nav > a:first-child > :is(div, span):last-child > span:last-child { font-size: .65rem; }
  .platform-site .preview-notice { margin-top: 72px; }
  .platform-site .home-hero { min-height: 700px; padding-block: 115px 75px; }
  .platform-site .preview-notice + main > .home-hero { min-height: 630px; padding-top: 50px; }
  .platform-site .preview-notice + main > .property-hero { min-height: 650px; padding-top: 50px; }
  .platform-site .home-hero > .container { display: block; }
  .platform-site .home-hero h1 { font-size: clamp(2.3rem, 8.5vw, 3.5rem); }
  .platform-site .home-hero p { font-size: .98rem; line-height: 1.7; }
  .platform-site .hero-overlay { background: linear-gradient(90deg, rgb(var(--brand-dark-rgb) / .89), rgb(var(--brand-dark-rgb) / .6)); }
  .platform-site .home-hero .site-button { width: 100%; }
  .platform-site .section-heading { margin-bottom: 2rem; }
  .platform-site .catalog-grid { gap: 1.5rem; }
  .platform-site .property-card > div:first-child { height: 240px; }
  .platform-site .property-hero { min-height: 720px; padding-block: 110px 45px; }
  .platform-site .property-hero h1 { font-size: clamp(2rem, 7.8vw, 3.5rem); }
  .platform-site .property-hero p:is(.text-xl, .text-lg) { font-size: 1rem; }
  .platform-site .property-hero :is(.glass-panel, .hero-indicators) { margin-top: 1.5rem; width: 100%; padding: .65rem; }
  .platform-site .property-hero :is(.glass-panel, .hero-indicators) > div { flex-basis: 45%; padding: .65rem .4rem; }
  .platform-site .property-hero :is(.glass-panel, .hero-indicators) > div:nth-child(even) { border-right: 0; }
  .platform-site .property-hero :is(.glass-panel, .hero-indicators) p:last-child { font-size: 1.1rem; }
  .platform-site .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .platform-site .gallery-grid > :first-child { grid-column: 1 / -1; }
  .platform-site .gallery-grid .gallery-item { height: 180px; }
  .platform-site .gallery-grid > .gallery-item:first-child, .platform-site .gallery-grid > figure:first-child .gallery-item { height: 270px; }
  .platform-site .gallery-grid figcaption { font-size: .7rem; padding-left: .65rem; }
  .platform-site .details-layout, .platform-site .finance-layout { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .platform-site .details-photo img { height: 300px; }
  .platform-site .location-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .platform-site .location-points li { padding: 1rem; }
  .platform-site .contact-panel { padding: 1.75rem 1.25rem; }
  .platform-site .consultant-card { flex-direction: column; text-align: center; gap: 1.25rem; }
  .platform-site :is(#contato, [data-section="contato"]) a[href*="wa.me"] { padding-inline: 1.2rem; font-size: .95rem; }
  .platform-site .tibagi-header nav > a:first-child { font-size: .8rem; }
  .platform-site .tibagi-header nav > a:last-child { font-size: .65rem; padding: .7rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .platform-site *, .platform-site *::before, .platform-site *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
