/* site.css — RB Brokers. Usa exclusivamente tokens de tokens.css (sem hex, sem rgb). */

/* ---------- BASE ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + var(--space-2));-webkit-text-size-adjust:100%}
body{font-family:var(--font-sans);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;line-height:var(--leading-body);letter-spacing:var(--tracking-body);overflow-x:hidden;-webkit-tap-highlight-color:transparent}
a,button,summary,label,input,select,textarea{touch-action:manipulation}
:target,section[id],h2[id],h3[id]{scroll-margin-top:var(--nav-height)}
html:lang(zh) body{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",var(--font-sans)}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
::selection{background:var(--color-gold-500);color:var(--color-black)}
:focus-visible{outline:var(--size-ring) solid var(--focus);outline-offset:var(--space-1);border-radius:var(--radius-sm)}
h1,h2,h3{text-wrap:balance;font-weight:var(--weight-semibold);color:var(--fg)}
p{text-wrap:pretty}
section{position:relative}

/* Temas semânticos */
.dark{background:var(--bg);color:var(--fg);color-scheme:dark}
.on-light{background:var(--bg);color:var(--fg);color-scheme:light}

.skip{position:fixed;left:var(--space-3);top:calc(var(--space-16) * -1);z-index:var(--z-skip);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--btn-bg);color:var(--btn-fg);font-size:var(--text-sm);font-weight:var(--weight-semibold);transition:top var(--dur-hover) var(--ease-out)}
.skip:focus{top:var(--space-3)}

.wrap{max-width:var(--size-container);margin:0 auto;padding:0 var(--gutter)}
.eyebrow{font-size:var(--text-2sm);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;margin-bottom:var(--space-4);color:var(--accent)}
h1{font-size:var(--text-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}
h2{font-size:var(--text-title);line-height:var(--leading-heading);letter-spacing:var(--tracking-title)}
.lead{font-size:var(--text-lead);line-height:var(--leading-snug);letter-spacing:var(--tracking-lead);font-weight:var(--weight-regular);max-width:44rem;margin:var(--space-5) auto 0;color:var(--fg-muted)}
.head{text-align:center;margin-bottom:var(--space-16)}

/* ---------- COMPONENTES: LINK, BOTÃO ---------- */
.link-more{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--size-touch);font-size:var(--text-xl);color:var(--accent);transition:color var(--dur-hover) var(--ease-standard)}
.link-more svg{width:.7em;height:.7em;transition:transform var(--dur-hover) var(--ease-out)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--btn-height);padding:var(--space-3) var(--btn-px);border-radius:var(--btn-radius);background:var(--btn-bg);color:var(--btn-fg);font-size:var(--text-lg);font-weight:var(--weight-medium);transition:background-color var(--dur-hover) var(--ease-standard),transform var(--dur-press) var(--ease-press)}
.btn:active{transform:scale(.97)}
.btn.ghost{background:transparent;color:var(--btn-bg);box-shadow:inset 0 0 0 var(--size-hairline) var(--btn-ghost-ring)}

/* Hover somente em ponteiro preciso */
@media (hover:hover) and (pointer:fine){
  .nav ul a:hover{color:var(--accent-hover)}
  .nav-cta:hover,.btn:hover{background:var(--btn-bg-hover)}
  .btn.ghost:hover{background:var(--btn-ghost-bg-hover)}
  .link-more:hover{color:var(--accent-hover)}
  .link-more:hover svg{transform:translateX(var(--space-1))}
  .search:hover{background:var(--search-bg-hover);border-color:var(--color-gold-500)}
  .search:hover .s-btn{background:var(--btn-bg-hover)}
  .card:hover,.proj:hover{transform:translateY(calc(var(--space-1) * -1))}
  .proj:hover img{scale:1.04}
  .foot-cols a:hover,.langs a:hover{color:var(--accent-hover);text-decoration:underline}
  .proj-actions .alt:hover{color:var(--fg)}
}

/* ---------- NAV ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:var(--z-nav);height:var(--nav-height);background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(var(--blur-glass));backdrop-filter:saturate(180%) blur(var(--blur-glass));border-bottom:var(--size-hairline) solid var(--line)}
.nav-in{max-width:var(--size-container-wide);margin:0 auto;height:100%;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.brand{display:block;width:3.875rem;padding:var(--space-1) 0}
/* ---------- LOGOMARCA (mesma imagem no menu e no bloco inicial) ---------- */
.logo-rb{position:relative;display:block;width:100%;aspect-ratio:638/466}
.logo-rb img{display:block;width:100%;height:100%}
.logo-rb .sp{position:absolute;left:var(--x);top:var(--y);width:7%;aspect-ratio:1;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(0);background:radial-gradient(circle,var(--color-white) 0 22%,var(--color-gold-300) 62%);clip-path:polygon(50% 0,59% 41%,100% 50%,59% 59%,50% 100%,41% 59%,0 50%,41% 41%)}
@supports ((-webkit-mask-image:url(x)) or (mask-image:url(x))){
  .logo-rb img{opacity:0}
  .logo-rb::before,.logo-rb::after{content:"";position:absolute;inset:0;pointer-events:none;-webkit-mask:url(/assets/logo-rb.webp) center/100% 100% no-repeat;mask:url(/assets/logo-rb.webp) center/100% 100% no-repeat}
  .logo-rb::before{background:linear-gradient(112deg,var(--color-gold-500) 0%,var(--color-gold-300) 14%,var(--color-ivory-50) 24%,var(--color-gold-300) 34%,var(--color-gold-500) 50%,var(--color-gold-300) 64%,var(--color-ivory-50) 74%,var(--color-gold-300) 84%,var(--color-gold-500) 100%) 50% 0/240% 100% no-repeat}
  .logo-rb::after{opacity:0;clip-path:inset(0 0 43% 0);background:linear-gradient(105deg,transparent 42%,var(--color-white) 50%,transparent 58%) 160% 0/260% 100% no-repeat}
}
@media (prefers-reduced-motion:no-preference){
  .logo-rb::before{animation:flow 8s ease-in-out infinite alternate}
  .logo-rb::after{animation:glint 4.6s var(--ease-out) 1.6s infinite}
  .logo-rb .sp{animation:twinkle var(--d) ease-in-out var(--t) infinite}
}
@keyframes flow{from{background-position:0% 0}to{background-position:100% 0}}
@keyframes glint{0%{opacity:.9;background-position:160% 0}34%{opacity:.9;background-position:-60% 0}35%,100%{opacity:0;background-position:-60% 0}}
@keyframes twinkle{0%,58%,100%{opacity:0;transform:translate(-50%,-50%) scale(0) rotate(0)}68%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(45deg)}78%{opacity:0;transform:translate(-50%,-50%) scale(.25) rotate(90deg)}}
.nav ul{display:flex;gap:var(--space-6);list-style:none}
.nav ul a{display:inline-block;padding:var(--space-3) 0;font-size:var(--text-md);color:var(--fg-muted);transition:color var(--dur-hover) var(--ease-standard);white-space:nowrap}

@media (min-width:1024px) and (max-width:1279px){.nav ul{gap:var(--space-4)}.nav ul a{font-size:var(--text-sm)}}
.nav-right{display:flex;align-items:center;gap:var(--space-2)}
.nav-cta{position:relative;font-size:var(--text-xs);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-4);border-radius:var(--btn-radius);background:var(--btn-bg);color:var(--btn-fg);white-space:nowrap;transition:background-color var(--dur-hover) var(--ease-standard),transform var(--dur-press) var(--ease-press)}
.nav-cta::after{content:"";position:absolute;inset:calc(var(--space-1) * -1.25) calc(var(--space-1) * -1)}
.nav-cta:active{transform:scale(.97)}
.menu-toggle{display:none;position:relative;width:var(--size-touch);height:var(--size-touch);border:0;background:none;color:var(--color-gold-300);cursor:pointer;border-radius:50%}
.menu-toggle span{position:absolute;left:var(--size-bar-inset);right:var(--size-bar-inset);height:var(--size-bar-h);background:currentColor;border-radius:var(--space-0-5);transition:transform var(--dur-menu) var(--ease-out)}
.menu-toggle span:nth-child(1){top:var(--size-bar-y1)}
.menu-toggle span:nth-child(2){top:var(--size-bar-y2)}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(var(--size-bar-shift)) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){transform:translateY(calc(var(--size-bar-shift) * -1)) rotate(-45deg)}

.menu{overscroll-behavior:contain;position:fixed;inset:var(--nav-height) 0 auto 0;z-index:var(--z-menu);padding:var(--space-2) var(--gutter) var(--space-6);background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--blur-glass));backdrop-filter:blur(var(--blur-glass));border-bottom:var(--size-hairline) solid var(--line);opacity:0;visibility:hidden;transform:translateY(calc(var(--space-2) * -1));transition:opacity 160ms var(--ease-press),transform 160ms var(--ease-press),visibility 0s linear 160ms}
.menu.open{opacity:1;visibility:visible;transform:none;transition:opacity var(--dur-menu) var(--ease-out),transform var(--dur-menu) var(--ease-out)}
.menu>a{display:flex;align-items:center;min-height:var(--space-16);font-size:var(--text-2xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-subhead);color:var(--fg);border-bottom:var(--size-hairline) solid var(--line-soft)}

.menu .langs{margin-top:var(--space-5);gap:0 var(--space-4)}
.menu .langs span{flex-basis:100%}

/* ---------- FONTES (hospedadas no próprio site) ---------- */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/cormorant-300.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/cormorant-400i.woff2) format("woff2")}

/* ---------- HERO ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--nav-height) + var(--space-12)) 0 var(--space-30);text-align:center;background:var(--bg)}
.hero-media{position:absolute;inset:0;z-index:-1;background:var(--bg)}
.hero-media .hv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s var(--ease-standard);will-change:opacity}
.hero-media .hv.on{opacity:1}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,var(--hero-shade-top) 0%,var(--hero-shade-mid) 34%,var(--hero-veil) 62%,var(--hero-shade-base) 100%)}
.hero-inner{position:relative;display:flex;flex-direction:column;align-items:center}
.hero-logo{width:clamp(9.5rem,17vw,13.5rem);margin:0 auto var(--space-6)}
.hero .eyebrow{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-6);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);color:var(--color-gold-300)}
.hero .eyebrow::before,.hero .eyebrow::after{content:"";width:var(--space-10);height:var(--size-hairline);background:var(--color-gold-500);opacity:.7}
.hero h1{font-family:var(--font-serif);font-weight:300;font-size:var(--text-hero);line-height:1.03;letter-spacing:-.01em;color:var(--color-ivory-50);margin:0 auto;text-wrap:balance}
.hero h1 .ln:last-child{font-style:italic;font-weight:400;color:var(--color-gold-300)}
html:lang(zh) .hero h1{font-family:"Songti SC","STSong","Noto Serif SC","Source Han Serif SC",serif;font-weight:400;letter-spacing:.02em;max-width:12em}
html:lang(zh) .hero h1 .ln:last-child{font-style:normal;font-weight:inherit;color:inherit}
.hero .lead{max-width:34rem;margin:var(--space-6) auto 0;font-size:var(--text-lg);font-weight:300;line-height:1.65;letter-spacing:var(--tracking-lead);color:var(--hero-text-soft)}
.hero .btn{height:var(--btn-height);padding:0 var(--space-8);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase}
.hero .link-more{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-ivory-50)}
.hero .search{max-width:34rem;margin-top:var(--space-10)}
/* rodapé do bloco: legenda, progresso e pausa */
.hero-foot{position:absolute;left:0;right:0;bottom:var(--space-8);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-6);text-align:left}
.hero-cap{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;transition:opacity var(--dur-enter) var(--ease-standard)}
.hero-cap.swap{opacity:0}
.hero-cap .cap-name{font-family:var(--font-serif);font-style:italic;font-size:var(--text-lg);line-height:1.1;color:var(--color-ivory-50)}
.hero-cap .cap-place{font-size:var(--text-caption);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--hero-text-faint)}
.hero-prog{display:flex;gap:var(--space-2)}
.hero-prog .seg{position:relative;width:2.25rem;height:2.75rem;padding:0;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.hero-prog .seg::before{content:"";position:absolute;left:0;right:0;top:50%;height:var(--size-ring);margin-top:calc(var(--size-hairline) * -1);border-radius:var(--radius-full);background:var(--hero-track)}
.hero-prog .seg i{position:absolute;left:0;top:50%;height:var(--size-ring);margin-top:calc(var(--size-hairline) * -1);width:100%;border-radius:var(--radius-full);background:var(--color-gold-300);transform:scaleX(0);transform-origin:left}
.hero-prog .seg.done i{transform:scaleX(1)}
.hero-prog .seg:focus-visible,.hero-pause:focus-visible{outline:var(--size-ring) solid var(--focus);outline-offset:var(--size-ring);border-radius:var(--radius-sm)}
.hero-pause{justify-self:end;width:2.75rem;height:2.75rem;display:grid;place-items:center;padding:0;border:var(--size-hairline) solid var(--hero-track);border-radius:var(--radius-full);background:var(--color-alpha-black-35);color:var(--color-ivory-50);cursor:pointer;-webkit-backdrop-filter:blur(var(--blur-glass));backdrop-filter:blur(var(--blur-glass));transition:background-color var(--dur-hover) var(--ease-standard),border-color var(--dur-hover) var(--ease-standard)}
.hero-pause svg{width:.875rem;height:.875rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.hero-pause[hidden]{display:none}
.hero-pause .i-play{display:none;fill:currentColor;stroke:none}
.hero-pause.is-paused .i-pause{display:none}
.hero-pause.is-paused .i-play{display:block}
@media (hover:hover) and (pointer:fine){.hero-pause:hover{background:var(--search-bg-hover);border-color:var(--color-gold-500)}}
@media (max-width:700px){
  .hero{padding-bottom:var(--space-26)}
  .hero-foot{top:calc(var(--nav-height) + var(--space-3));bottom:auto;grid-template-columns:1fr auto;gap:var(--space-3)}
  .hero{padding-top:calc(var(--nav-height) + var(--space-16))}
  .hero .eyebrow{letter-spacing:var(--tracking-eyebrow)}
  .hero .eyebrow::before,.hero .eyebrow::after{display:none}
  .hero-cap{display:none}
  .hero-prog{justify-self:start}
  .hero-prog .seg{width:1.75rem}
}
.hero .btn-row{margin-top:var(--space-8);display:flex;gap:var(--space-6);justify-content:center;align-items:center;flex-wrap:wrap}
h1 .ln{display:block;overflow:hidden;padding:.08em 0 .1em;margin:-.08em 0 -.1em}
h1 .ln>span{display:block}
.search{display:flex;align-items:center;gap:var(--space-4);max-width:40rem;margin:var(--space-10) auto 0;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-6);border-radius:var(--radius-full);background:var(--search-bg);border:var(--size-hairline) solid var(--line);-webkit-backdrop-filter:blur(var(--blur-glass));backdrop-filter:blur(var(--blur-glass));text-align:left;transition:background-color var(--dur-hover) var(--ease-standard),border-color var(--dur-hover) var(--ease-standard),transform var(--dur-press) var(--ease-press)}
.search:active{transform:scale(.99)}
.search svg{width:1.375rem;height:1.375rem;flex:none;stroke:var(--accent);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.s-text{flex:1;min-width:0;font-size:var(--text-lg);line-height:1.25;color:var(--fg)}
.s-text small{display:block;margin-bottom:var(--space-0-75);font-size:var(--text-caption);letter-spacing:var(--tracking-caps-wide);text-transform:uppercase;color:var(--fg-muted)}
.s-btn{flex:none;display:inline-flex;align-items:center;min-height:var(--size-touch);padding:0 var(--space-6);border-radius:var(--radius-full);background:var(--btn-bg);color:var(--btn-fg);font-size:var(--text-md);font-weight:var(--weight-medium);transition:background-color var(--dur-hover) var(--ease-standard)}

/* ---------- EMPREENDIMENTOS ---------- */
.projects{padding:var(--space-30) 0}
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}
.proj{background:var(--card);border-radius:var(--card-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--dur-enter) var(--ease-out)}
.proj figure{aspect-ratio:4/3;overflow:hidden;background:var(--color-graphite-900)}
.proj img{width:100%;height:100%;object-fit:cover;outline:var(--size-hairline) solid var(--media-outline-light);outline-offset:calc(var(--size-hairline) * -1);transition:scale var(--dur-media) var(--ease-out)}
.proj-body{padding:var(--space-6) var(--space-6) var(--space-5);display:flex;flex-direction:column;flex:1}
.proj .meta{font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps-wide);text-transform:uppercase;color:var(--accent)}
.proj h3{font-size:var(--text-4xl);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);margin:var(--space-3) 0}
.proj p{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--fg-muted)}
.proj dl{margin:var(--space-5) 0 var(--space-4);border-top:var(--size-hairline) solid var(--line)}
.proj dl div{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:var(--size-hairline) solid var(--line);font-size:var(--text-sm)}
.proj dt{color:var(--fg-muted)}
.proj dd{color:var(--fg);text-align:right;font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}
.proj-actions{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.proj-actions .link-more{font-size:var(--text-lg)}
.proj-actions .alt{font-size:var(--text-sm);color:var(--fg-muted);min-height:var(--size-touch);display:inline-flex;align-items:center;transition:color var(--dur-hover) var(--ease-standard)}
.fine{max-width:47.5rem;margin:var(--space-8) auto 0;text-align:center;font-size:var(--text-xs);line-height:var(--leading-relaxed);color:var(--fg-muted)}

/* ---------- DIFERENCIAIS ---------- */
.benefits{padding:var(--section-y) 0 8.75rem}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.card{background:var(--card);border-radius:var(--card-radius);padding:2.375rem var(--space-8) var(--space-10);min-height:17.5rem;display:flex;flex-direction:column;transition:transform var(--dur-enter) var(--ease-out)}
.card svg{width:2.5rem;height:2.5rem;stroke:var(--accent);fill:none;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;margin-bottom:auto}
.card h3{font-size:var(--text-3xl);line-height:1.16;letter-spacing:var(--tracking-heading);margin:2.75rem 0 var(--space-3)}
.card p{font-size:var(--text-lg);line-height:1.42;color:var(--fg-muted)}

/* ---------- MÉTODO ---------- */
.method{padding:var(--section-y) 0 8.75rem}
.steps{margin-top:var(--space-5);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-10);text-align:left}
.step{position:relative;padding-top:var(--space-6)}
.step-line{position:absolute;top:0;left:0;right:0;height:var(--size-hairline);background:var(--line);transform-origin:left center}
.step .n{font-size:var(--text-sm);color:var(--accent);letter-spacing:var(--tracking-caps-wide);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}
.step h3{font-size:var(--text-2xl);letter-spacing:var(--tracking-subhead);margin:var(--space-3) 0}
.step p{font-size:var(--text-base);color:var(--fg-muted);line-height:var(--leading-relaxed)}

/* ---------- QUEM CONDUZ ---------- */
.about{padding:var(--section-y) 0}
.about-grid{display:grid;grid-template-columns:5fr 6fr;gap:4.375rem;align-items:center}
.portrait{border-radius:var(--panel-radius);overflow:hidden;aspect-ratio:1/1;background:var(--color-graphite-900)}
.portrait img{width:100%;height:100%;object-fit:cover;outline:var(--size-hairline) solid var(--media-outline-dark);outline-offset:calc(var(--size-hairline) * -1)}
.about h2{font-size:var(--text-title-sm)}
.about p.bio{margin-top:var(--space-5);font-size:var(--text-xl);line-height:1.4;color:var(--fg-muted);max-width:32.5rem}
.creds{margin-top:var(--space-6);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-8);font-size:var(--text-sm);letter-spacing:.06em;color:var(--fg);font-variant-numeric:tabular-nums}
.creds .cred{display:inline-flex;align-items:center;gap:var(--space-3)}
.creds .cred img{display:block;height:2.625rem;width:auto}
.values{margin-top:var(--space-8);padding-top:var(--space-6);border-top:var(--size-hairline) solid var(--line);display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent)}

/* ---------- COMPRA E VENDA ---------- */
.duo{padding:var(--section-y) 0}
.duo-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.panel{border-radius:var(--panel-radius);padding:3.25rem 2.625rem 2.75rem;min-height:27.5rem;display:flex;flex-direction:column;justify-content:space-between;background:var(--panel-light-bg)}
.panel.dark{background:var(--bg)}
.panel h3{font-size:var(--text-panel);letter-spacing:var(--tracking-title);line-height:var(--leading-heading)}
.panel p{margin-top:var(--space-4);font-size:var(--text-xl);line-height:var(--leading-snug);color:var(--fg-muted);max-width:26.25rem}
.panel .link-more{font-size:var(--text-xl);margin-top:var(--space-6)}

/* ---------- CONTATO ---------- */
.contact{padding:var(--section-y) 0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:start}
.contact .copy .lead{margin-left:0;text-align:left}
.contact .btn-row{margin-top:2.125rem;display:flex;gap:var(--space-3);flex-wrap:wrap}
.contact small.addr{display:block;margin-top:1.75rem;font-size:var(--text-sm);color:var(--fg-muted)}
.form{background:var(--card);border-radius:var(--card-radius);padding:2.125rem var(--space-8) var(--space-8);display:grid;gap:var(--space-4)}
.form h3{font-size:var(--text-2xl);letter-spacing:var(--tracking-subhead)}
.field{display:grid;gap:var(--space-2)}
.field label{font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-muted)}
.field input,.field select{width:100%;min-height:var(--input-height);padding:0 var(--space-4);border-radius:var(--input-radius);border:var(--size-hairline) solid var(--control-border);background:var(--control-bg);color:var(--fg);font:inherit;font-size:var(--text-base);letter-spacing:var(--tracking-body);transition:border-color var(--dur-hover) var(--ease-standard)}
.field input::placeholder{color:var(--placeholder)}
.field input:focus-visible,.field select:focus-visible{outline:var(--size-ring) solid var(--focus);outline-offset:var(--space-1);border-color:var(--focus)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
.consent{display:flex;align-items:flex-start;gap:var(--space-3);min-height:var(--size-touch);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--fg-muted)}
.consent input{flex:none;width:1.375rem;height:1.375rem;margin-top:var(--space-2);accent-color:var(--color-gold-500);cursor:pointer}
.consent label{padding:var(--space-2) 0;cursor:pointer}
.consent a,.form .note a{color:var(--fg);text-decoration:underline;text-underline-offset:var(--size-underline-offset)}
.form .btn{width:100%;margin-top:var(--space-1);border:0;cursor:pointer;font-family:inherit}
.form .note{font-size:var(--text-xs);line-height:var(--leading-relaxed);color:var(--fg-muted)}
.form-msg{min-height:1.25rem;font-size:var(--text-sm);color:var(--accent-hover)}

/* ---------- RODAPÉ ---------- */
footer{background:var(--bg);border-top:var(--size-hairline) solid var(--line);padding:var(--space-10) 0;font-size:var(--text-xs);color:var(--fg-muted)}
.foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem;padding-bottom:var(--space-6);border-bottom:var(--size-hairline) solid var(--line)}
.foot-cols h4,.foot-cols .fh{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--accent);margin-bottom:var(--space-2);letter-spacing:.08em;text-transform:uppercase}
.foot-cols li{list-style:none;line-height:var(--leading-relaxed)}
.foot-cols li a{display:inline-block;padding:var(--space-1-5) 0}
.langs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-4);padding:var(--space-5) 0 0;font-size:var(--text-sm)}
.langs span{color:var(--fg-muted)}
.langs a{display:inline-flex;align-items:center;min-height:var(--size-touch);color:var(--fg)}
.langs a[aria-current="true"]{color:var(--accent)}
.foot-bairros{padding:var(--space-5) 0;border-bottom:var(--size-hairline) solid var(--line)}
.foot-bairros ul{display:flex;flex-wrap:wrap;gap:0 var(--space-6);list-style:none}
.foot-bairros .fh{margin-bottom:var(--space-2)}
.foot-bairros li a{display:inline-flex;align-items:center;min-height:var(--size-touch)}
.selos{margin:var(--space-6) 0 var(--space-5);padding:var(--space-5) var(--space-6);background:var(--selos-bg);color:var(--selos-fg);border-radius:var(--selos-radius);border-top:var(--size-ring) solid var(--accent);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-5) var(--space-10)}
.selos-t{flex-basis:100%;text-align:center;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;opacity:.75}
.selo{display:flex;align-items:center;gap:var(--space-4)}
.selo img{height:3.5rem;width:auto;flex:none}
.selo-cra img{height:4.75rem}
.selo-reg{display:grid;gap:var(--space-1);font-size:var(--text-sm);line-height:var(--leading-snug)}
.selo-reg b{font-weight:var(--weight-semibold);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.selo-reg span{opacity:.75}
@media (max-width:640px){.selos{padding:var(--space-5) var(--space-4);gap:var(--space-5)}.selo{flex-direction:column;text-align:center}.selo-reg{justify-items:center}}
.legal{padding-top:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1-5);font-variant-numeric:tabular-nums}
.legal a{text-decoration:underline;text-underline-offset:var(--size-underline-offset)}
@media (pointer:coarse){.foot-cols li a{display:inline-flex;align-items:center;min-height:var(--size-touch);padding:0}.legal a{display:inline-flex;align-items:center;min-height:var(--size-touch)}}

/* ---------- FLUTUANTES: seletor de idiomas e WhatsApp ---------- */
.float{position:fixed;z-index:var(--z-float)}
.flags{right:var(--space-3);top:0;bottom:0;margin:auto 0;height:fit-content;display:flex;flex-direction:column;gap:var(--space-0-5);padding:var(--space-1);border-radius:var(--radius-full);background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(var(--blur-glass));backdrop-filter:saturate(180%) blur(var(--blur-glass));border:var(--size-hairline) solid var(--line)}
.flags a{display:grid;place-items:center;width:var(--size-touch);height:var(--size-touch);border-radius:50%}
.flags svg{width:var(--flag-size);height:var(--flag-size);border-radius:50%;box-shadow:0 0 0 var(--size-ring) var(--color-ivory-text);transition:transform var(--dur-hover) var(--ease-out),box-shadow var(--dur-hover) var(--ease-standard)}
.flags a[aria-current="true"] svg{box-shadow:0 0 0 var(--size-ring) var(--color-gold-500)}
.fab{right:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom));display:grid;place-items:center;width:var(--fab-size);height:var(--fab-size);border-radius:50%;background:var(--fab-bg);color:var(--fab-fg);box-shadow:var(--fab-shadow);transition:background-color var(--dur-hover) var(--ease-standard),transform var(--dur-press) var(--ease-press),opacity var(--dur-hover) var(--ease-standard),visibility 0s}
.fab svg{width:1.875rem;height:1.875rem}
.fab:active{transform:scale(.94)}
.fab.is-away{opacity:0;visibility:hidden;pointer-events:none}
@media (hover:hover) and (pointer:fine){
  .fab:hover{background:var(--fab-bg-hover)}
  .flags a:hover svg{transform:scale(1.12)}
}
@media (max-width:900px){
  .flags{top:auto;right:auto;left:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom));margin:0;padding:var(--space-0-5);flex-direction:column-reverse}
  .flags a{width:var(--fab-size);height:var(--fab-size)}
  .flags svg{width:2.5rem;height:2.5rem}
  .flags:not(.open) a:not([aria-current="true"]){display:none}
}

/* ---------- PÁGINA DE POLÍTICA ---------- */
.doc{max-width:46rem;margin:0 auto;padding:calc(var(--nav-height) + var(--space-16)) var(--gutter) var(--space-26)}
.doc h1{font-size:clamp(2.125rem, 6vw, 3.25rem);line-height:var(--leading-heading);letter-spacing:var(--tracking-title)}
.doc .upd{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--fg-muted)}
.doc .callout{margin-top:var(--space-8);padding:var(--space-5) var(--space-6);border-radius:var(--input-radius);background:var(--card);border:var(--size-hairline) solid var(--line);font-size:var(--text-base);line-height:var(--leading-relaxed)}
.doc .callout strong{color:var(--accent)}
.doc h2{font-size:var(--text-2xl);letter-spacing:var(--tracking-subhead);line-height:1.25;margin:var(--space-12) 0 var(--space-3);color:var(--accent)}
.doc h3{font-size:var(--text-lg);letter-spacing:var(--tracking-body);margin:var(--space-6) 0 var(--space-2)}
.doc p,.doc li{font-size:var(--text-lg);line-height:1.6;color:var(--fg)}
.doc p+p,.doc p+ul,.doc ul+p{margin-top:var(--space-3)}
.doc ul{margin:var(--space-3) 0 0 var(--space-5)}
.doc li{margin-top:var(--space-2)}
.doc a{color:var(--accent);text-decoration:underline;text-underline-offset:var(--size-underline-offset)}
.doc .back{display:inline-flex;align-items:center;min-height:var(--size-touch);margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--accent);text-decoration:none}
.nav-solo .nav-in{justify-content:space-between}
.nav-solo .nav-cta{font-size:var(--text-xs)}

/* ---------- BAIRROS (home) e PÁGINAS DE BAIRRO ---------- */
#bairros .duo-grid{grid-template-columns:repeat(2,1fr)}
#bairros .panel{min-height:17.5rem}
.breadcrumb{margin-bottom:var(--space-5);font-size:var(--text-sm);color:var(--fg-muted)}
.breadcrumb a{display:inline-flex;align-items:center;min-height:var(--size-touch);color:var(--accent)}
.bairro-texto{max-width:46rem;margin:0 auto;text-align:left}
.bairro-texto p,.bairro-texto li{font-size:var(--text-lg);line-height:1.6;color:var(--fg)}
.bairro-texto p+p,.bairro-texto p+ul,.bairro-texto ul+p{margin-top:var(--space-4)}
.bairro-texto h3{font-size:var(--text-2xl);letter-spacing:var(--tracking-subhead);line-height:1.25;margin:var(--space-6) 0 var(--space-2)}
.bairro-texto ul{margin:0 0 0 var(--space-5)}
.bairro-texto li{margin-top:var(--space-3)}
.bairro-texto figure{aspect-ratio:4/3;overflow:hidden;border-radius:var(--card-radius);margin-bottom:var(--space-6);background:var(--color-graphite-900)}
.bairro-texto figure img{width:100%;height:100%;object-fit:cover}
.bairro-texto .btn-row{margin-top:var(--space-6);display:flex;gap:var(--space-4);flex-wrap:wrap;align-items:center}
.bairro-texto .btn{color:var(--btn-fg)}
.nota{margin-top:var(--space-6);font-size:var(--text-xs);line-height:var(--leading-relaxed);color:var(--fg-muted)}

/* ---------- ABERTURA DO HERO (CSS puro: aparece sem esperar nenhum script) ---------- */
@media (prefers-reduced-motion:no-preference){
  .hero [data-hero],.hero h1 .ln>span{animation:heroIn 1s var(--ease-out) both;animation-delay:var(--hd,0s)}
  .hero h1 .ln>span{animation-name:lineIn;animation-duration:1.1s}
  .hero .hero-logo{--hd:.05s;animation-name:logoIn;animation-duration:1.2s}
  .hero .eyebrow{--hd:.3s}
  .hero h1 .ln:nth-child(1)>span{--hd:.45s}
  .hero h1 .ln:nth-child(2)>span{--hd:.57s}
  .hero h1 .ln:nth-child(3)>span{--hd:.69s}
  .hero .lead{--hd:.95s}
  .hero .btn{--hd:1.1s}
  .hero .link-more{--hd:1.17s}
  .hero .search{--hd:1.3s}
}
@keyframes heroIn{from{opacity:0;translate:0 1rem}to{opacity:1;translate:0 0}}
@keyframes logoIn{from{opacity:0;scale:.94}to{opacity:1;scale:1}}
@keyframes lineIn{from{translate:0 110%}to{translate:0 0}}

/* ---------- MOVIMENTO (motion.js): estados iniciais apenas com a classe .js-motion ---------- */
.js-motion .reveal:not(.is-in){opacity:0;transform:translateY(var(--space-6));transition:none}
.js-motion .float:not(.is-in){opacity:0}
.js-motion .step:not(.is-in) .step-line{transform:scaleX(0)}

/* ---------- RESPONSIVO ---------- */
@media (max-width:900px){
  .nav ul{display:none}
  .menu-toggle{display:block}
  .grid,.pgrid,.duo-grid,#bairros .duo-grid{grid-template-columns:1fr}
  .card{min-height:0}
  .card h3{margin-top:2.125rem}
  .steps{grid-template-columns:1fr 1fr}
  .about-grid,.contact-grid{grid-template-columns:1fr;gap:2.75rem}
  .foot-cols{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .steps{grid-template-columns:1fr}
  .panel{padding:2.5rem var(--space-6) 2.125rem;min-height:23.75rem}
  #bairros .panel{min-height:0;gap:var(--space-6)}
  .projects,.benefits,.method,.about,.duo,.contact{padding:var(--section-y-sm) 0}
  .search{padding:var(--space-2) var(--space-2) var(--space-2) 1.125rem;gap:var(--space-3)}
  .s-text{font-size:var(--text-md)}
  .s-btn{padding:0 1.125rem;font-size:var(--text-sm)}
  .field-row{grid-template-columns:1fr}
  .form{padding:1.75rem var(--space-5) var(--space-6)}
}

/* ---------- MOVIMENTO REDUZIDO (por elemento) ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .skip,.nav ul a,.nav-cta,.btn,.btn.ghost,.link-more,.link-more svg,.search,.s-btn,
  .card,.proj,.proj img,.proj-actions .alt,.field input,.field select,
  .menu,.menu.open,.menu-toggle span{transition:none}
  .proj:hover img,.card:hover,.proj:hover{scale:none;transform:none}
}

.floats{display:contents}
#form-mail{margin-top:var(--space-3);width:100%}
.about-more{margin-top:var(--space-5)}
.credito{margin-top:calc(var(--space-6) * -1 + var(--space-2));margin-bottom:var(--space-6);font-size:var(--text-xs);color:var(--fg-muted)}
.credito a{color:var(--fg);text-decoration:underline;text-underline-offset:var(--size-underline-offset)}
.bairro-texto figure.sobre-fig{aspect-ratio:4/5;max-width:26rem;margin:0 auto var(--space-8)}
.sobre-hero .lead{max-width:40rem}
.ficha{margin:var(--space-6) 0;display:grid;grid-template-columns:1fr 1fr;gap:0 var(--space-8)}.ficha div{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:var(--size-hairline) solid var(--color-line, rgba(0,0,0,.14));font-size:var(--text-sm)}.ficha dt{color:var(--fg-muted)}.ficha dd{margin:0;text-align:right;font-weight:var(--weight-medium)}@media (max-width:700px){.ficha{grid-template-columns:1fr}}
/* Cartão da frase (página Sobre): elemento vivo, traduzível, na paleta do site */
.quote{padding:var(--space-16) 0 var(--space-20)}
.qcard{position:relative;max-width:42rem;margin:0 auto;padding:clamp(2.25rem,6vw,4rem) clamp(1.5rem,5vw,3.5rem) clamp(2rem,5vw,3rem);border-radius:var(--card-radius);overflow:hidden;isolation:isolate;text-align:left;
background:radial-gradient(60% 45% at 85% 12%,rgba(201,169,106,.16),transparent 70%),radial-gradient(50% 40% at 8% 92%,rgba(201,169,106,.10),transparent 70%),linear-gradient(160deg,var(--color-graphite-800),var(--color-black) 58%,var(--color-graphite-900));
box-shadow:inset 0 0 0 var(--size-hairline) rgba(201,169,106,.28)}
.qcard::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.55;background:linear-gradient(118deg,transparent 38%,rgba(201,169,106,.16) 38.2%,transparent 38.6%),linear-gradient(64deg,transparent 72%,rgba(201,169,106,.12) 72.2%,transparent 72.5%),linear-gradient(142deg,transparent 14%,rgba(201,169,106,.10) 14.2%,transparent 14.5%)}
.qmark{position:absolute;left:clamp(1rem,4vw,2.5rem);top:clamp(.25rem,1.5vw,1rem);font-family:var(--font-serif);font-size:clamp(5rem,14vw,9rem);line-height:1;color:rgba(201,169,106,.22)}
.qcard blockquote{margin:0;padding-top:var(--space-6)}
.qtext{font-family:var(--font-serif);font-weight:300;font-size:clamp(2rem,6.4vw,3.5rem);line-height:1.12;letter-spacing:-.01em;color:var(--color-gold-300)}
html:lang(zh) .qtext{font-family:"Songti SC","Noto Serif SC",serif;font-size:clamp(1.75rem,5.6vw,3rem);line-height:1.35}
.qa{margin-top:var(--space-8);text-align:right;font-family:var(--font-serif);font-style:italic;font-size:var(--text-xl);color:var(--color-gold-300)}
.qa b{display:block;font-style:normal;font-weight:300;font-size:clamp(1.75rem,4vw,2.25rem);color:var(--color-ivory-50);letter-spacing:.01em}
.qline{display:block;height:var(--size-hairline);margin:var(--space-8) 0 var(--space-6);background:linear-gradient(90deg,transparent,var(--color-gold-500),transparent)}
.qlogo{width:clamp(7.5rem,24vw,10rem);margin:0 auto}
@supports (-webkit-background-clip:text) or (background-clip:text){
  .qtext{background:linear-gradient(100deg,var(--color-gold-500) 0%,var(--color-gold-300) 30%,var(--color-ivory-50) 50%,var(--color-gold-300) 70%,var(--color-gold-500) 100%) 0 0/260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
}
@media (prefers-reduced-motion:no-preference){
  .qtext{animation:qshine 9s ease-in-out infinite alternate}
  @keyframes qshine{from{background-position:100% 0}to{background-position:0 0}}
  .qa-on .qcard:not(.is-in) .qmark,.qa-on .qcard:not(.is-in) .qtext,.qa-on .qcard:not(.is-in) .qa,.qa-on .qcard:not(.is-in) .qlogo{opacity:0;transform:translateY(var(--space-3-5))}
  .qa-on .qcard:not(.is-in) .qline{transform:scaleX(0)}
  .qmark,.qtext,.qa,.qlogo{transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
  .qa{transition-delay:.35s}.qlogo{transition-delay:.6s}
  .qline{transform-origin:center;transition:transform 1.2s var(--ease-out) .45s}
  .qcard.is-in .qlogo{animation:qfloat 6s ease-in-out 1.6s infinite}
  @keyframes qfloat{50%{transform:translateY(calc(var(--space-1) * -1))}}
}

/* Consentimento de cookies e página 404 */
.cookie-bar{position:fixed;z-index:60;left:var(--space-4);right:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom));max-width:44rem;margin:0 auto;padding:var(--space-5) var(--space-6);border-radius:var(--card-radius);background:var(--card);color:var(--fg);box-shadow:inset 0 0 0 var(--size-hairline) var(--line),0 1.5rem 3rem rgba(0,0,0,.45);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-6)}
.cookie-bar p{flex:1 1 18rem;font-size:var(--text-sm);line-height:1.5;color:var(--fg-muted)}
.cookie-bar a{color:var(--fg);text-decoration:underline;text-underline-offset:var(--size-underline-offset)}
.cookie-row{display:flex;gap:var(--space-3);flex:0 0 auto}
.cookie-bar .btn{min-height:var(--size-touch);padding:0 var(--space-5);font-size:var(--text-sm)}
.link-btn{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:var(--size-underline-offset);cursor:pointer}
.link-btn:focus-visible{outline:var(--size-ring) solid var(--color-gold-300);outline-offset:var(--space-1)}
.nf{list-style:none;margin:var(--space-8) 0 0;padding:0;display:grid;gap:var(--space-6)}
.nf li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-6);border-bottom:var(--size-hairline) solid var(--line-soft)}
@media (prefers-reduced-motion:no-preference){.cookie-bar{animation:cookieIn .6s var(--ease-out) .4s backwards}@keyframes cookieIn{from{opacity:0;transform:translateY(1rem)}}}
