:root{
  /* Paleta solicitada */
  --bg1:#65b6f3;       /* fundo azul claro */
  --bg2:#b6e5ef;       /* degradê azul claro */
  --primary:#ec931e;   /* botões */
  --text:#272625;      /* texto principal */

  /* Derivações para UI */
  --muted: rgba(39,38,37,.72);
  --line: rgba(39,38,37,.14);
  --surface: rgba(255,255,255,.82);
  --surface2: rgba(255,255,255,.94);
  --soft: rgba(255,255,255,.55);


  /* Harmonia com o novo degradê (cards em “glass” leve) */
  --brandBlue:#0f5995;
  --cardTop: rgba(255,255,255,.78);
  --cardBottom: rgba(255,255,255,.62);
  --cardBorder: rgba(255,255,255,.28);
  --cardShadow: 0 18px 55px rgba(0,0,0,.16);
  --cardShadowHover: 0 26px 80px rgba(0,0,0,.20);

  --shadow: 0 18px 60px rgba(0,0,0,.12);
  --radius:18px;
  --radius2:26px;
  --max:1180px;
  --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Helvetica Neue", "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background: linear-gradient(90deg, #27465e 0%, #467796 45%, #6bb2dc 100%);
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-size: cover;
}

a{color:inherit; text-decoration:none}
.container{max-width:var(--max); margin:0 auto; padding:0 18px}
.muted{color:var(--muted)}
.gradient{background:linear-gradient(90deg, var(--bg1), #ffffff); -webkit-background-clip:text; background-clip:text; color:transparent}

/* Acessibilidade / utilitários */
.sr-only{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}
:focus-visible{
  outline: 3px solid rgba(37,211,102,.55);
  outline-offset: 3px;
}




/* Top bar (contato rápido) */
.topbar{
  font-size:.86rem;
  color:#fff;
  background: linear-gradient(90deg, rgba(39,70,94,.92) 0%, rgba(70,119,150,.92) 45%, rgba(107,178,220,.92) 100%);
  border-bottom:1px solid rgba(255,255,255,.14);
  position: sticky;
  top: 0;
  z-index: 90;
}
.topbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 0;
}

/* Layout “pílulas” (modelo do print) */
.topbar__left,
.topbar__center,
.topbar__right{
  display:flex;
  align-items:center;
  gap:10px;
}

.topbar__center{
  opacity:.95;
  white-space:nowrap;
  justify-content:center;
  flex:1;
}
.topbar__center .dot{opacity:.7}

.topbar__pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 14px;
  border-radius:999px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 10px 26px rgba(0,0,0,.14);
  line-height:1;
  white-space:nowrap;
  transition: transform .15s ease, background .15s ease, border-color .15s ease, opacity .15s ease;
}
.topbar__pill:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.28);
}

.topbar__pill--cta{
  background: var(--primary);
  border-color: rgba(0,0,0,.12);
  color: #1f1c18;
  font-weight: 700;
}
.topbar__pill--cta:hover{
  background: rgba(236,147,30,.92);
}

.topbar__icon{
  width:16px; height:16px;
  display:inline-block;
  opacity:.95;
}
.topbar__icon svg{width:16px;height:16px;display:block}

@media (max-width: 860px){
  .topbar__center{display:none}
  .topbar__inner{justify-content:space-between}
}
@media (max-width: 560px){
  .topbar__inner{justify-content:center}
  .topbar__left{display:none}
}
.header{
  position:sticky; top: var(--topbar-h, 0px); z-index:50;
  backdrop-filter: blur(10px);
  background: linear-gradient(90deg, rgba(39,70,94,.92) 0%, rgba(70,119,150,.92) 45%, rgba(107,178,220,.92) 100%);
  border-bottom:1px solid rgba(255,255,255,.18);
  color:#fff;
}
.header a{color:inherit}
.header .nav a{opacity:.92}
.header .nav a:hover{opacity:1}

/* =========================
   MELHORIA MENU DESKTOP
   - evita quebra feia dentro do link
   - permite 2 linhas elegantes quando necessário
   - reduz visualmente em telas menores
   ========================= */
@media (min-width: 861px){
  .nav{flex-wrap:wrap; justify-content:flex-end; row-gap:8px}
  .nav a{
    flex:0 0 auto;
    white-space:nowrap;
    line-height:1.15;
    font-size:.95rem;
    padding:8px 10px;
    border-radius:999px;
  }
  .header .nav a:not(.btn){
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.14);
  }
  .header .nav a:not(.btn):hover{
    background: rgba(255,255,255,.10);
    border-color: rgba(255,255,255,.22);
  }
}

/* em desktops menores, ganha espaço escondendo o subtítulo e compactando a marca */
@media (min-width: 861px) and (max-width: 1180px){
  .brand__text small{display:none}
  .brand__logo{width:64px;height:64px}
  .nav{gap:10px}
  .nav a{font-size:.92rem; padding:7px 9px}
}
@media (min-width: 1181px){
  .nav{gap:12px}
}
.header .brand__text small{color: rgba(255,255,255,.78)}
.header__inner{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 0}

.brand{display:flex; align-items:center; gap:12px}
.brand__logo{
  width:76px;height:76px;
  border-radius:16px;
  background: rgba(255,255,255,.88);
  border:1px solid var(--line);
  display:grid;
  place-items:center;
  padding:6px;
  box-shadow: var(--shadow);
}
.brand__logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.brand__text strong{display:block; line-height:1}
.brand__text small{display:block; margin-top:2px; color:var(--muted); font-size:.82rem}

.nav{display:flex; align-items:center; gap:16px}
.nav a{opacity:.9}
.nav a:hover{opacity:1}

/* =========================
   MELHORIA MENU DESKTOP
   - evita quebra feia dentro do link
   - permite 2 linhas elegantes quando necessário
   - reduz visualmente em telas menores
   ========================= */
.nav{flex-wrap:wrap; justify-content:flex-end; row-gap:8px}
.nav a{
  flex:0 0 auto;
  white-space:nowrap;
  line-height:1.15;
  font-size:.95rem;
  padding:8px 10px;
  border-radius:999px;
}
.header .nav a:not(.btn){
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
}
.header .nav a:not(.btn):hover{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.22);
}

/* em desktops menores, ganha espaço escondendo o subtítulo e compactando a marca */
@media (max-width: 1180px){
  .brand__text small{display:none}
  .brand__logo{width:64px;height:64px}
  .nav{gap:10px}
  .nav a{font-size:.92rem; padding:7px 9px}
}
@media (min-width: 1181px){
  .nav{gap:12px}
}
.nav__toggle{
  display:none;
  width:44px;height:44px;border-radius:14px;
  border:1px solid var(--line); background:rgba(255,255,255,.65);
  color:var(--text); font-size:18px;
  cursor:pointer;
}

/* Botões */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px; padding:12px 14px;
  border-radius:16px; border:1px solid var(--line);
  background: rgba(255,255,255,.60);
  color:var(--text);
  transition: transform .12s ease, background .12s ease, border-color .12s ease, box-shadow .12s ease;
  cursor:pointer;
}
.btn:hover{transform: translateY(-1px); background:rgba(255,255,255,.85); border-color:rgba(39,38,37,.22); box-shadow: 0 10px 30px rgba(0,0,0,.10)}
.btn--primary{
  background: var(--primary);
  border-color: transparent;
  color:#ffffff;
  font-weight:800;
}
.btn--primary:hover{filter: brightness(1.03)}
.btn--ghost{background:transparent}
.btn--full{width:100%}

.section{padding:60px 0}
.section--soft{
  background:
    radial-gradient(900px 500px at 15% 0%, rgba(107,178,220,.22), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.48), rgba(255,255,255,0));
}
.section__header{margin-bottom:18px}
.section__header h2{margin:0 0 8px; font-size:1.8rem}
.section__header p{margin:0}

/* HERO (com foto em marca d’água) */
.hero{
  position:relative;
  padding:46px 0 26px;
  background: linear-gradient(180deg, rgba(255,255,255,.30), rgba(255,255,255,.85));
  overflow:hidden;
}
.hero::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(255,255,255,.88) 0%, rgba(255,255,255,.68) 55%, rgba(255,255,255,.48) 100%);
  pointer-events:none;
}
.hero__grid{position:relative; display:grid; grid-template-columns: 1.25fr .85fr; gap:18px; align-items:stretch; z-index:1}
.kicker{margin:0 0 8px; color:rgba(39,38,37,.70); letter-spacing:.08em; text-transform:uppercase; font-size:.75rem}
.hero__eyebrow{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 10px;
}
.badge{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(39,38,37,.18);
  background:rgba(255,255,255,.70);
  color:var(--text);
  font-weight:800;
  font-size:.78rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.badge--solid{
  background:rgba(255,255,255,.92);
}
.badge--ok{
  border-color:rgba(236,147,30,.45);
  background:rgba(236,147,30,.18);
  color:#3a2a14;
}
.hero__subhead{
  margin:6px 0 14px;
  color:rgba(39,38,37,.75);
  font-weight:700;
  letter-spacing:.02em;
}
.panel__media{
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(39,38,37,.12);
  background:rgba(255,255,255,.85);
  margin-bottom:12px;
}
.panel__media img{
  width:100%;
  height:180px;
  display:block;
  object-fit:cover;
}

.hero h1{margin:0 0 10px; font-size:2.4rem; line-height:1.08; text-shadow: 0 2px 12px rgba(0,0,0,.10);}
.lead{margin:0 0 18px; color:var(--muted); font-size:1.05rem; line-height:1.6}

.hero__cta{display:flex; gap:12px; flex-wrap:wrap}
.hero__trust{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:18px}
.trust-card{
  border:1px solid var(--cardBorder);
  background: linear-gradient(180deg, rgba(255,255,255,.74), rgba(255,255,255,.58));
  border-radius:var(--radius);
  padding:14px;
  box-shadow: 0 14px 40px rgba(0,0,0,.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.trust-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 22px 70px rgba(0,0,0,.18);
  border-color: rgba(255,255,255,.38);
}
.trust-card strong{display:block}
.trust-card span{display:block; color:var(--muted); margin-top:4px; font-size:.92rem}

/* Painel manifesto */
.hero__panel{
  border:1px solid var(--cardBorder);
  background: linear-gradient(180deg, rgba(255,255,255,.80), rgba(255,255,255,.62));
  border-radius:var(--radius2);
  padding:18px;
  box-shadow: var(--cardShadow);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.panel__title{margin:0 0 10px; font-size:1.1rem}
.hero__panel p{margin:0 0 10px; color:var(--muted); line-height:1.6}
.panel__actions{display:grid; gap:10px; margin-top:10px}

/* Fundadora */
.founder{
  display:block;
}
.founder__grid{
  display:grid;
  grid-template-columns: 360px 1fr;
  gap:14px;
  align-items:stretch;
}
.founder__photo{
  position:relative;
  border:1px solid var(--cardBorder);
  background: linear-gradient(180deg, var(--cardTop), var(--cardBottom));
  border-radius:var(--radius2);
  overflow:hidden;
  box-shadow: var(--cardShadow);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.founder__photo img{
  width:100%;
  height:100%;
  aspect-ratio: 4 / 5;
  object-fit:cover;
  object-position:center;
  display:block;
}
.founder__photoBadge{
  position:absolute;
  top:12px;
  left:12px;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(236,147,30,.92);
  color: var(--text);
  border:1px solid rgba(39,38,37,.18);
  font-weight:900;
  font-size:.78rem;
  letter-spacing:.02em;
}
.founder__content{
  border:1px solid var(--cardBorder);
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.62));
  border-radius:var(--radius2);
  padding:16px;
  box-shadow: var(--cardShadow);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.timeline{
  margin-top:14px;
  display:grid;
  gap:10px;
}
.timeline__item{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:16px;
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.58));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.timeline__year{
  min-width:64px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:6px 10px;
  background: rgba(100,158,216,.20);
  border:1px solid rgba(39,38,37,.14);
  font-weight:900;
}
.timeline__text{
  color: var(--muted);
  line-height:1.45;
}

/* Cards projetos */
.cards{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.card{
  border:1px solid var(--cardBorder);
  background: linear-gradient(180deg, var(--cardTop), var(--cardBottom));
  border-radius:var(--radius2);
  padding:16px;
  box-shadow: var(--cardShadow);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.card:hover{
  transform: translateY(-2px);
  box-shadow: var(--cardShadowHover);
  border-color: rgba(255,255,255,.38);
}
.card--highlight{
  background: linear-gradient(180deg, rgba(236,147,30,.18), rgba(255,255,255,.68));
  border-color: rgba(236,147,30,.38);
}
.card__badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 10px; border-radius:999px;
  background:rgba(70,119,150,.14);
  border:1px solid rgba(255,255,255,.32);
  font-size:.78rem;
  color:rgba(15,35,48,.82);
}
.card h3{margin:12px 0 8px}
.card p{margin:0 0 10px; color:var(--muted); line-height:1.55}
.card__link{display:inline-block; margin-top:8px; color:var(--brandBlue); font-weight:800}
.card__link:hover{text-decoration:underline}
.bullets{margin:10px 0 0; padding-left:18px; color:var(--muted)}
.bullets li{margin:6px 0}

/* CTA IR */
.cta{
  display:grid; grid-template-columns: 1.3fr .7fr; gap:14px;
  border:1px solid var(--cardBorder);
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.62));
  border-radius:var(--radius2);
  padding:18px;
  box-shadow: var(--cardShadow);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.cta__grid{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px}
.cta__box{border:1px solid rgba(255,255,255,.28); border-radius:var(--radius); padding:14px; background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.60)); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px)}
.cta__box h3{margin:0 0 6px}
.cta__box p{margin:0; color:var(--muted)}
.cta__action{display:grid; gap:10px; align-content:start}

/* Tabs + Galeria */
.tabs{
  display:flex; gap:10px; flex-wrap:wrap;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  padding:8px;
  background: linear-gradient(180deg, rgba(255,255,255,.74), rgba(255,255,255,.56));
  box-shadow: 0 14px 40px rgba(0,0,0,.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.tab{
  border:1px solid transparent;
  background:transparent;
  color:rgba(39,38,37,.70);
  padding:10px 12px;
  border-radius:999px;
  cursor:pointer;
  transition:.12s ease;
}
.tab:hover{color:var(--text)}
.tab.is-active{
  background:rgba(70,119,150,.16);
  border-color:rgba(255,255,255,.28);
  color:var(--text);
}

.gallery{margin-top:14px; display:grid; grid-template-columns: 1.1fr .9fr; gap:14px}
.gallery__spotlight{
  position:relative;
  border-radius:var(--radius2);
  overflow:hidden;
  border:1px solid var(--cardBorder);
  background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.60));
  min-height:320px;
  box-shadow: var(--cardShadow);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.gallery__spotlight img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
.spotlight__overlay{
  position:absolute; inset:auto 0 0 0;
  padding:16px;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.92));
  display:flex; align-items:flex-end; justify-content:space-between; gap:12px;
}
.spotlight__overlay h3{margin:0 0 6px}
.spotlight__overlay p{margin:0}

.gallery__thumbs{
  border:1px solid var(--cardBorder);
  border-radius:var(--radius2);
  background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.60));
  padding:12px;
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:10px;
  align-content:start;
  min-height:320px;
  box-shadow: var(--cardShadow);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.thumb{
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(39,38,37,.14);
  background:rgba(255,255,255,.75);
  cursor:pointer;
  position:relative;
  transition: transform .12s ease, border-color .12s ease;
}
.thumb:hover{transform:translateY(-1px); border-color:rgba(100,158,216,.40)}
.thumb img{width:100%; height:100%; aspect-ratio:1/1; object-fit:cover; display:block}

/* Base legal + Transparência + Contato */
.legal-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:14px;
}
.legal-card{
  border:1px solid var(--cardBorder);
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.62));
  border-radius:var(--radius2);
  padding:16px;
  box-shadow: var(--cardShadow);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.legal-card:hover{transform: translateY(-2px); box-shadow: var(--cardShadowHover); border-color: rgba(255,255,255,.38)}
.legal-card h3{margin:0 0 8px}
.legal-card p{margin:0; color:var(--muted); line-height:1.6}
.legal-card--accent{
  border-color:rgba(236,147,30,.30);
  background:linear-gradient(180deg, rgba(236,147,30,.14), rgba(255,255,255,.82));
}

.transparency{
  display:grid; grid-template-columns: 1.2fr .8fr; gap:14px;
}
.transparency__panel{
  border:1px solid var(--cardBorder);
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.62));
  border-radius:var(--radius2);
  padding:16px;
  box-shadow: var(--cardShadow);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.acc{
  border:1px solid rgba(39,38,37,.14);
  border-radius:16px;
  padding:10px 12px;
  background:rgba(255,255,255,.78);
  margin-top:10px;
}
.acc summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  font-weight:800;
}
.pill{
  font-size:.74rem;
  color:rgba(39,38,37,.70);
  border:1px solid rgba(39,38,37,.14);
  background:rgba(255,255,255,.72);
  padding:4px 8px;
  border-radius:999px;
}
.transparency__summary{display:grid; gap:12px; align-content:start}
.stamp{
  border:1px solid rgba(100,158,216,.30);
  background:linear-gradient(180deg, rgba(100,158,216,.14), rgba(255,255,255,.82));
  border-radius:var(--radius2);
  padding:16px;
  box-shadow: 0 12px 34px rgba(0,0,0,.10);
}
.stamp strong{display:block}
.stamp span{display:block; color:var(--muted); margin-top:4px}
.summary-card{
  border:1px solid var(--cardBorder);
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.62));
  border-radius:var(--radius2);
  padding:16px;
  box-shadow: var(--cardShadow);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.contact{
  display:grid; grid-template-columns: 1fr 1fr; gap:14px;
}
.contact__card, .contact__note{
  border:1px solid var(--cardBorder);
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.62));
  border-radius:var(--radius2);
  padding:16px;
  box-shadow: var(--cardShadow);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.contact__actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px}

.footer{
  border-top:1px solid rgba(255,255,255,.18);
  background: linear-gradient(90deg, rgba(39,70,94,.92) 0%, rgba(70,119,150,.92) 45%, rgba(107,178,220,.92) 100%);
  color:#fff;
  padding:24px 0;
}
.footer a{color:inherit}
.footer .muted{color: rgba(255,255,255,.78)}
.footer__grid{display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex-wrap:wrap}
.footer__links{display:flex; gap:14px; flex-wrap:wrap; color:rgba(255,255,255,.82)}
.footer__links a{opacity:.92}
.footer__links a:hover{opacity:1; color:#fff}

/* Lightbox */
.lightbox{
  position:fixed; inset:0;
  display:none;
  z-index:999;
}
.lightbox.is-open{display:block}
.lightbox__backdrop{
  position:absolute; inset:0;
  background: rgba(0,0,0,.72);
}
.lightbox__content{
  position:relative;
  max-width: 980px;
  margin: 6vh auto;
  background: rgba(255,255,255,.96);
  border:1px solid rgba(39,38,37,.18);
  border-radius: 22px;
  overflow:hidden;
  box-shadow: var(--shadow);
  display:grid;
  grid-template-columns: 64px 1fr 64px;
  align-items:stretch;
}
.lightbox__close{
  position:absolute; top:10px; right:10px;
  width:42px; height:42px;
  border-radius:14px;
  border:1px solid rgba(39,38,37,.18);
  background:rgba(255,255,255,.85);
  color:var(--text);
  cursor:pointer;
}
.lightbox__nav{
  border:0;
  background:transparent;
  color:rgba(39,38,37,.70);
  font-size:44px;
  cursor:pointer;
}
.lightbox__nav:hover{color:var(--text)}
.lightbox__figure{margin:0; padding:46px 14px 14px; display:grid; gap:10px}
.lightbox__figure img{
  width:100%; height:min(60vh, 640px);
  object-fit:contain;
  background:rgba(100,158,216,.08);
  border-radius:16px;
}
.lightbox__caption{color:rgba(39,38,37,.70); text-align:center}

/* WhatsApp */
.wa-float{
  position:fixed;
  right:18px; bottom:18px;
  width:58px; height:58px;
  display:grid;
  place-items:center;
  padding:0;
  border-radius:999px;
  background:#25D366;
  box-shadow: 0 18px 55px rgba(0,0,0,.22);
  z-index:1000;
}
.wa-float__icon{
  width:34px;height:34px;border-radius:999px;
  display:grid;place-items:center;
  background:transparent;
}
.wa-float__label{display:none !important;}
.wa-float:hover{transform:translateY(-1px); filter:brightness(1.03)}

/* Todos os botões de WhatsApp */
a.btn[href*="wa.me"],
a.btn[href*="api.whatsapp.com"],
a.btn[href*="whatsapp.com"]{
  background:#25D366 !important;
  border-color:transparent !important;
  color:#ffffff !important;
  font-weight:800;
}
a.btn[href*="wa.me"]:hover,
a.btn[href*="api.whatsapp.com"]:hover,
a.btn[href*="whatsapp.com"]:hover{
  filter:brightness(1.03);
}

/* RESPONSIVO (alinhado e consistente) */
@media (max-width: 980px){
  .brand__logo{width:60px;height:60px;}

  .hero__grid{grid-template-columns:1fr}
  .hero__trust{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .cta{grid-template-columns:1fr}
  .cta__grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr}
  .gallery__thumbs{grid-template-columns:repeat(5,1fr)}
  .legal-grid{grid-template-columns:1fr}
  .transparency{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
  .founder__grid{grid-template-columns:1fr}
  .nav{display:none}
  .nav__toggle{display:inline-flex; align-items:center; justify-content:center}

  /* Menu mobile: o mesmo comportamento em qualquer tamanho de celular */
  .nav.is-open{
    display:flex;
    flex-direction:column;
    position:fixed;
    top: calc(var(--topbar-h, 0px) + var(--header-h, 0px) + 10px);
    left:18px;
    right:18px;
    padding:14px;
    gap:12px;
    border-radius:18px;
    border:1px solid var(--line);
    background: rgba(255,255,255,.92);
    box-shadow: var(--shadow);
    z-index:60;
  }
}

@media (max-width: 520px){
  .gallery__thumbs{grid-template-columns:repeat(4,1fr)}
  .wa-float__label{display:none}
}

.footerbrand{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:6px;
}
.footerbrand img{
  width:44px;
  height:44px;
  object-fit:contain;
  display:block;
}


/* Logos e mini-galerias dentro dos cards (sem alterar o layout base) */
.card__logoRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:12px 0 6px;
}
.card__logo{
  width:110px;
  height:auto;
  border-radius:14px;
  border:1px solid rgba(39,38,37,.12);
  background:rgba(255,255,255,.86);
  padding:6px;
}
.card__thumbs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.card__thumbs img{
  width:46px;
  height:46px;
  border-radius:12px;
  object-fit:cover;
  border:1px solid rgba(39,38,37,.12);
  background:rgba(255,255,255,.70);
}




/* Versão com apenas 1 imagem (DEPAd) */
.card__thumbs--single{flex-wrap:nowrap}
.card__thumbs--single img{
  width:220px;
  height:74px;
  border-radius:14px;
  object-fit:cover;
}
@media (max-width: 560px){
  .card__thumbs--single{width:100%}
  .card__thumbs--single img{width:100%; max-width:320px; height:86px}
}

@media (max-width: 560px){
  .card__logoRow{flex-direction:column; align-items:flex-start}
  .card__thumbs{justify-content:flex-start}
}

/* Logo do projeto nas páginas internas */
.project__logo{
  width:120px;
  height:120px;
  object-fit:contain;
  display:block;
  margin:0 auto 10px;
  border-radius:18px;
  border:1px solid rgba(39,38,37,.12);
  background:rgba(255,255,255,.88);
  padding:8px;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.18));
}
@media (max-width: 860px){
  .project__logo{width:96px; height:96px; margin-bottom:8px}
}



/* Layout do cabeçalho do projeto: logo na posição do "X" (lado esquerdo) */
.section__header--project{
  display:grid;
  grid-template-columns: 132px 1fr;
  column-gap: 26px;
  align-items:center;
}
.section__header--project .project__logo{
  margin:0;
  justify-self:start;
  align-self:center;
}
.section__header--project h2,
.section__header--project p,
.section__header--project .cta-row{
  grid-column:2;
}
@media (max-width: 760px){
  .section__header--project{
    grid-template-columns: 1fr;
    row-gap: 10px;
  }
  .section__header--project .project__logo{
    justify-self:center;
    margin:0 auto 6px;
  }
  .section__header--project h2,
  .section__header--project p,
  .section__header--project .cta-row{
    grid-column:1;
  }
}

/* Ajuste do degradê para melhor leitura (sem alterar layout) */
.section{position:relative}
.section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,0));
  opacity:.35;
}
.section > .container{position:relative}
/* WhatsApp (logo em PNG dentro do botão flutuante) */
.wa-float__icon img{
  width:24px;
  height:24px;
  display:block;
}


/* Galeria - menu inovador (sem alterar estrutura) */
.tabs{
  position:relative;
  padding:10px;
  border:1px solid transparent;
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.56)) padding-box,
    linear-gradient(135deg, rgba(101,182,243,.75), rgba(182,229,239,.65), rgba(231,156,79,.55)) border-box;
  backdrop-filter: blur(6px);
}
.tab{
  font-weight: 950;
  letter-spacing: .2px;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.tab::before{
  content:"";
  width:9px; height:9px;
  border-radius:999px;
  background: rgba(39,38,37,.28);
  box-shadow: 0 6px 14px rgba(0,0,0,.10);
}
.tab.is-active{
  background: linear-gradient(180deg, rgba(231,156,79,.95), rgba(231,156,79,.78));
  color:#fff;
  border-color: rgba(231,156,79,.15);
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
  transform: translateY(-1px);
}
.tab.is-active::before{ background: rgba(255,255,255,.92); }
.tab:hover{ transform: translateY(-1px); }
.tab:focus-visible{
  outline: 3px solid rgba(231,156,79,.45);
  outline-offset: 2px;
}

/* Mobile: vira "carrossel" horizontal */
@media (max-width: 720px){
  .tabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type:x mandatory;
  }
  .tabs::-webkit-scrollbar{ height:8px; }
  .tab{ scroll-snap-align:start; white-space:nowrap; }
}


/* Ajuste do botão "Destine seu IR" no menu principal */
.nav .nav__cta{
  padding: 10px 12px;
  border-radius: 14px;
  font-size: .95rem;
  line-height: 1;
  white-space: nowrap;
}
.nav__cta--coaching{
  background: var(--primary);
  color:#fff;
  box-shadow: 0 12px 34px rgba(236,147,30,.35);
}
.nav__cta--coaching:hover{filter: brightness(1.03)}

@media (max-width: 920px){
  .nav .nav__cta{
    padding: 10px 12px;
    font-size: .94rem;
  }
}
/* Ações nos cards (Saiba mais / Doar) */
.card__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}
.card__actions .btn{line-height:1}
/* Como pedir ajuda */
.steps{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}
@media (max-width: 980px){ .steps{grid-template-columns: 1fr} }
.step{
  border:1px solid rgba(39,38,37,.14);
  background: rgba(255,255,255,.76);
  border-radius: 18px;
  padding: 14px;
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.step__num{
  width:36px; height:36px;
  border-radius: 14px;
  display:grid; place-items:center;
  font-weight:1000;
  background: rgba(231,156,79,.95);
  color:#fff;
  flex: 0 0 auto;
}
/* Impacto */
.stats{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}
@media (max-width: 980px){ .stats{grid-template-columns: repeat(2, minmax(0,1fr))} }
@media (max-width: 520px){ .stats{grid-template-columns: 1fr} }
.stat{
  border:1px solid rgba(39,38,37,.14);
  background: rgba(255,255,255,.76);
  border-radius: 18px;
  padding: 14px;
}
.stat__num{
  font-size: 2rem;
  font-weight: 1100;
  line-height:1.1;
}
/* CTA row */
.cta-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}


/* =========================================================
   MOBILE FIXES (Projetos) — evita "sair fora" no celular
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: hidden; }
img, svg, video, iframe { max-width: 100%; height: auto; }

/* Garante que capas/hero não criem rolagem horizontal */
.p-hero, .hero, .section { overflow-x: clip; }
.p-hero__media img { width: 100%; height: 100%; object-fit: contain; display: block; }

/* Lightbox nunca ultrapassa a tela */
.lightbox__content { width: min(980px, calc(100vw - 24px)); }

@media (max-width: 720px){
  /* Capa/hero com altura confortável no celular */
  .p-hero { height: 52vh; min-height: 300px; }

  /* CTAs um embaixo do outro (não estoura largura) */
  .cta-row { flex-direction: column; align-items: stretch; }
  .cta-row .btn { width: 100%; justify-content: center; text-align: center; }

  /* Botões dos cards em coluna */
  .card__actions { flex-direction: column; }
  .card__actions .btn { width: 100%; justify-content: center; }

  /* Miniaturas mais compactas */
  .gallery__thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); }

  /* Conteúdo do lightbox com folga nas bordas */
  .lightbox__content { margin: 10vh auto; }
}

@media (max-width: 420px){
  .gallery__thumbs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}


/* =========================================================
   FIX: Títulos/legendas da galeria não cortarem no mobile
   ========================================================= */
.spotlight__overlay{ flex-wrap: wrap; }
.spotlight__overlay > div{ min-width: 0; } /* permite quebra de linha no flex */
#spotlightTitle{
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Botão do álbum não "empurra" o título pra fora */
#openAlbumBtn{ flex-shrink: 0; }

@media (max-width: 720px){
  .spotlight__overlay{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  #openAlbumBtn{
    width: 100%;
    justify-content: center;
  }
  /* Dá mais respiro para títulos longos no topo */
  .section__header h2{ font-size: 1.55rem; line-height: 1.15; }
  #spotlightTitle{ font-size: 1.25rem; line-height: 1.15; }
}


/* =========================================================
   FIX EXTRA: textos de títulos/legendas não cortarem (mobile)
   - cobre: títulos do spotlight, descrição, tabs, captions do lightbox,
     títulos de cards e seções
   ========================================================= */

/* Evita estouro em qualquer flex */
.nav, .spotlight__overlay, .card__actions, .cta-row { min-width: 0; }
.spotlight__overlay > div{ flex: 1 1 auto; min-width: 0; }

/* Quebra palavras longas (sem cortar) */
.section__header h2,
.card h3,
#spotlightTitle,
#spotlightDesc,
.lightbox__caption{
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Legenda do lightbox: não cortar */
.lightbox__caption{
  padding: 0 10px 10px;
  line-height: 1.25;
}

/* Tabs (nomes dos álbuns): garantir que não "corta" visualmente */
.tabs{ min-width:0; }
.tab{
  max-width: none;
  text-overflow: unset;
}

/* Spotlight overlay: em telas pequenas, título e botão empilham */
@media (max-width: 720px){
  .spotlight__overlay{
    flex-direction: column;
    align-items: stretch;
  }
  .spotlight__overlay > div{
    width: 100%;
  }
  #openAlbumBtn{
    width: 100%;
    justify-content: center;
  }
}


/* Home/Projetos: Hero padrão com capa */
.hero--cover{position:relative; overflow:hidden; padding:0; border-bottom:1px solid rgba(39,38,37,.12)}
.hero--cover .hero__bg{position:absolute;inset:0;z-index:0}
.hero--cover .hero__bg img{width:100%; height:100%; object-fit:contain; object-position:center; display:block; opacity:1; filter:none;}
/* Desktop: preencher a largura (pode cortar um pouco no topo/baixo) */
@media (min-width: 992px){
  .hero--cover .hero__bg img{object-fit:cover; object-position: right center;}
}

/* Desktop: capas internas também preenchem a largura */
@media (min-width: 992px){
  .p-hero__media img{object-fit:cover; object-position:center;}
}

.hero--cover .hero__content{position:relative; z-index:1; padding:88px 0 64px}
.hero--cover .hero__badge{display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.18); color:#fff; font-weight:800; margin-bottom:12px}
.hero--cover h1{color:#fff; max-width:760px}
.hero--cover p{color:rgba(255,255,255,.92); max-width:760px}
@media (max-width:980px){
  .hero--cover .hero__content{padding:64px 0 52px}
}
@media (max-width:560px){
  .hero--cover .hero__content{padding:54px 0 44px}
  .hero--cover h1{font-size:1.65rem}
}

/* Melhor leitura do texto no Hero */

.hero--cover .hero__bg{position:absolute;inset:0;z-index:0}

/* Capa padrão (Hero) — altura consistente */
.hero--cover{min-height:540px}
.hero--cover .hero__bg{position:absolute;inset:0}
.hero--cover .hero__bg img{width:100%;height:100%;object-fit:contain;opacity:1;filter:none}

.p-hero{height:540px}
.p-hero__media{height:100%}
.p-hero__media img{width:100%;height:100%;object-fit:contain;opacity:1;filter:none}

@media (max-width: 980px){
  .hero--cover{min-height:440px}
  .p-hero{height:440px}
}
@media (max-width: 560px){
  .hero--cover{min-height:360px}
  .p-hero{height:360px}
}


/* ============================================================
   AJUSTE CAPA (FULL-WIDTH SEM MARGEM) + MOBILE (v37)
   ============================================================ */
.p-hero{
  width: 100%;
  margin: 0;
  padding: 0;
  height: clamp(320px, 40vw, 640px);
  overflow: hidden;
}
.p-hero__media{
  width: 100%;
  height: 100%;
}
.p-hero__media img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;         /* preenche a largura (sem “barras” laterais) */
  object-position: center;
}

/* Mobile: capa vertical (Opção 4) — imagem específica no celular */
@media (max-width: 768px){
  /* Aplica só na HOME */
  .p-hero--home{
    height: auto;
    aspect-ratio: 4 / 5;
    min-height: 360px;
    overflow: hidden;
  }

  .p-hero--home .p-hero__media,
  .p-hero--home .p-hero__media img{
    height: 100%;
  }

  .p-hero--home .p-hero__media img{
    object-fit: cover;
    object-position: center;
  }
}



/* === Logo no canto (páginas de Projetos) === */
.corner-project-logo{
  position:absolute;
  top:18px;
  right:18px;
  z-index:30;
  display:block;
  padding:0;
  margin:0;
  background:transparent;
  border:0;
  text-decoration:none;
}
.corner-project-logo img{
  height:64px;
  width:auto;
  display:block;
  background:transparent;
  filter:none;
}
.corner-project-logo.is-wide img{
  height:54px;
  max-width:240px;
}
@media (max-width: 860px){
  .corner-project-logo{ top:12px; right:12px; }
  .corner-project-logo img{ height:46px; }
  .corner-project-logo.is-wide img{ height:42px; max-width:200px; }
}

/* HOME MINI BLOG (cards menores na Home) */
.posts{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.post-card__cover{border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.28);background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.62)); box-shadow: 0 14px 40px rgba(0,0,0,.12)}
.post-card__cover img{width:100%;height:120px;object-fit:cover;display:block}
.post-meta{display:flex;gap:10px;flex-wrap:wrap;color:rgba(39,38,37,.70);font-size:.85rem;margin-top:8px}
.posts--mini{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.posts--mini h3{font-size:1.02rem;line-height:1.25;margin:10px 0 6px}
.posts--mini .muted{font-size:.92rem}
.posts--mini .card{padding:14px}
@media (max-width:980px){
  .posts,.posts--mini{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .posts,.posts--mini{grid-template-columns:1fr}
  .post-card__cover img{height:140px}
}

/* Direitos na Home - botões no canto direito */
.card--rights{
  display:flex;
  gap:14px;
  justify-content:space-between;
  align-items:flex-start;
}
.card--rights .rights-content{min-width:0; flex:1}
.rights-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-end;
  margin-left:auto;
}
.btn--sm{
  padding:10px 12px;
  border-radius:14px;
  font-size:.95rem;
  white-space:nowrap;
}
@media (max-width:980px){
  .card--rights{flex-direction:column}
  .rights-actions{align-items:stretch; width:100%}
  .btn--sm{width:100%}
}



/* =========================================================
   HERO MODERNO (capa com overlay + vidro) - mantém imagem atual
   ========================================================= */
.p-hero{
  position: relative;
  overflow: hidden;
  height: auto;
  min-height: 540px;
  display: flex;
  align-items: stretch;
}


.p-hero__media{
  position: absolute;
  inset: 0;
  z-index: 0;
}

.p-hero__media img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover !important;
  transform: scale(1.02);
  opacity: 1 !important;
  filter: none !important;
}

/* Overlay estilo do anexo (degradê + vinheta leve) */
.p-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  /* Mais claro e com tons do site (azul claro), mantendo contraste para leitura */
  background:
    radial-gradient(900px 500px at 18% 35%, rgba(0,0,0,.12), transparent 60%),
    linear-gradient(110deg,
      rgba(6,20,40,.70) 0%,
      rgba(101,182,243,.32) 55%,
      rgba(182,229,239,.18) 100%
    );
}

.p-hero__content{
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  align-items: center;
  padding: 70px 0 40px;
}

.p-hero__grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: start;
}


.glass{
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 18px 50px rgba(0,0,0,.28);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 18px;
}

.p-hero__panel{
  padding: 28px 26px;
  max-width: 680px;
}

/* Home: alinhar o conteúdo do hero mais para a esquerda (até o limite do X do layout) */
.p-hero--home .p-hero__content{justify-content:flex-start;}
.p-hero--home .container{
  margin-left: 0;         /* remove centralização horizontal só no hero */
  margin-right: auto;
  padding-left: 42px;     /* aproxima do lado esquerdo */
  padding-right: 18px;
}
@media (max-width: 768px){
  .p-hero--home .container{padding-left: 18px;}
}
@media (min-width: 1400px){
  .p-hero--home .container{padding-left: 64px;}
}

.p-hero__badge{
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.12);
  margin-bottom: 14px;
  font-weight: 700;
  font-size: 14px;
  color: rgba(255,255,255,.92);
}

.p-hero--home h1{
  color: #fff;
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.06;
  margin: 10px 0 12px;
  font-size: clamp(36px, 4.2vw, 58px);
}

.p-hero--home p{
  color: rgba(255,255,255,.86);
  max-width: 62ch;
  line-height: 1.55;
  margin: 0 0 18px;
}


/* Texto institucional dentro do card do hero */
.p-hero__lead{
  margin: 10px 0 14px;
  color: rgba(255,255,255,.88);
  line-height: 1.55;
  max-width: 62ch;
}

.p-hero__list{
  margin: 0 0 14px;
  padding-left: 18px;
  display: grid;
  gap: 8px;
}

.p-hero__list li{
  color: rgba(255,255,255,.85);
  line-height: 1.45;
}

.p-hero__list strong{
  color: rgba(255,255,255,.95);
  font-weight: 800;
}

.p-hero__note{
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.78);
  font-size: 14px;
}

/* CTA row já existe no projeto; aqui garantimos encaixe bonito */
.p-hero--home .cta-row{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 6px;
}

/* Minis dentro do painel (tudo do lado esquerdo) */
.p-hero__miniGrid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
  margin-top: 16px;
}

@media (max-width: 1200px){
  .p-hero__miniGrid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 720px){
  .p-hero__miniGrid{ grid-template-columns: 1fr; }
}


.btn--whats{
  background:#25D366;
  border-color: transparent;
  color:#083018;
  font-weight: 900;
}

.p-hero__stack{
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 380px;
  margin-left: auto;
}

.p-hero__mini{
  padding: 14px 14px;
}

.p-hero__mini h3{
  margin: 0 0 6px;
  font-size: 16px;
  color: rgba(255,255,255,.95);
}

.p-hero__mini p{
  margin: 0;
  font-size: 14px;
  color: rgba(255,255,255,.78);
}

/* Responsivo */
@media (max-width: 980px){
  .p-hero{ height: auto; min-height: 440px; }
  .p-hero__grid{ grid-template-columns: 1fr; }
  .p-hero__stack{ max-width: 100%; margin-left: 0; }
}

@media (max-width: 720px){
  .p-hero{ height: auto; min-height: 320px; }
  .p-hero__content{ padding: 56px 0 30px; }
}

@media (max-width: 560px){
  .p-hero{ height: auto; min-height: 300px; }
}



/* Scroll reveal (efeito elegante nas “quebras” ao rolar) */
.reveal{
  opacity: 0;
  transform: translateY(18px);
  filter: blur(6px);
  transition: opacity .60s ease, transform .60s ease, filter .60s ease;
  will-change: opacity, transform, filter;
}

.reveal.is-visible{
  opacity: 1;
  transform: none;
  filter: none;
}

/* Um toque extra para elementos grandes */
main section.reveal{
  transform: translateY(22px);
}

/* Respeita acessibilidade */
@media (prefers-reduced-motion: reduce){
  .reveal, .reveal.is-visible{
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}


/* =========================================================
   PREMIUM POLISH (nível máximo)
   - tipografia, consistência visual, footer profissional
   ========================================================= */

/* Rolagem suave (respeita acessibilidade) */
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

/* Âncoras não ficam escondidas abaixo do header/topbar */
[id]{ scroll-margin-top: calc(var(--topbar-h, 0px) + var(--header-h, 0px) + 24px); }

/* Tipografia mais “premium” */
body{
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
h1,h2,h3{ letter-spacing: -0.01em; }

/* Botões: clique mais “sólido” */
.btn:active{ transform: translateY(0px) scale(.99); }
.btn:focus-visible{ outline: 3px solid rgba(231,156,79,.55); outline-offset: 3px; }

/* Cards: alturas consistentes (ações no “rodapé” do card) */
.card{ display:flex; flex-direction:column; }
.card__actions{ margin-top:auto; }

/* Topbar: CTA com melhor contraste */
.topbar__pill--cta{ color:#fff; box-shadow: 0 12px 34px rgba(0,0,0,.18); }

/* Footer profissional (4 colunas + barra inferior) */
.footer__grid--pro{
  display:grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 22px;
  align-items:start;
}
.footer__col h3{
  margin: 6px 0 10px;
  font-size: 1rem;
  letter-spacing: .02em;
}
.footer__contact{ display:grid; gap:10px; margin-top:12px; }
.footer__contact a{ opacity:.92; }
.footer__contact a:hover{ opacity:1; text-decoration: underline; }
.footer__contact .footer__addr{ opacity:.85; line-height:1.35; }

.footer__links--stack{ display:grid; gap:10px; }
.footer__links--stack a{ opacity:.88; }
.footer__links--stack a:hover{ opacity:1; text-decoration: underline; }

.footer__bottom{
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.16);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  flex-wrap:wrap;
}

.social{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px; height:38px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  opacity:.95;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}
.social a:hover{ transform: translateY(-1px); background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.28); }
.social svg{ width:18px; height:18px; display:block; }

@media (max-width: 980px){
  .footer__grid--pro{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){
  .footer__grid--pro{ grid-template-columns: 1fr; }
  .footer__bottom{ justify-content:flex-start; }
}
