:root {
  --ink:#04162b;
  --blue:#0f325c;
  --charcoal:#2d3142;
  --accent:#d05a3f;
  --paper:#fff;
  --soft:#f5f7f8;
  --line:#dce3e8;
  --container:min(calc(100% - 96px), 1440px);
  --home-section-gap:88px;
}

/* Footer compacto compartilhado com as páginas de empreendimento. */
.reference-footer{display:grid;place-items:center;padding:30px 24px;background:#fff;color:var(--ink)}
.reference-footer::before{display:none}
.reference-footer>img{display:block;width:106px;height:auto;filter:none}

/* Sistema de cantos da Home. Pílulas e botões circulares permanecem funcionais. */
.reference-development-card,
.reference-values-grid article,
.reference-contact-card,
.reference-whatsapp{border-radius:var(--radius-card,6px)}
.reference-development-card,
.reference-contact-card,
.reference-whatsapp{overflow:hidden}
.reference-profile-card{border-radius:var(--radius-surface,9px)}
@media(max-width:700px){
  .reference-profile-card{border-radius:var(--radius-card,6px)}
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.reference-home { margin:0; overflow-x:hidden; background:var(--paper); color:var(--ink); font-family:Manrope, Arial, sans-serif; }
button, input, textarea { font:inherit; }

/* Ordem editorial da Home */
.reference-home main { display:flex; flex-direction:column; }
.reference-hero { order:1; }
.reference-numbers { order:2; }
.reference-projects { order:3; }
.reference-about { order:4; }
.reference-values { order:5; }
.reference-contact { order:6; }

.reference-header,
.reference-hero,
.reference-numbers,
.reference-values,
.reference-projects,
.reference-about,
.reference-contact,
.reference-footer { width:var(--container); margin-inline:auto; }

/* Navegação */
.reference-header { --header-background-opacity:.42; --header-shadow-opacity:.035; position:sticky; top:0; z-index:100; height:108px; display:flex; align-items:center; gap:24px; margin-bottom:-108px; background:transparent; transition:height .25s ease, gap .25s ease; }
.reference-header::before { position:absolute; inset:0 auto 0 50%; width:100vw; background:rgba(4,22,43,var(--header-background-opacity)); box-shadow:0 8px 20px rgba(4,22,43,var(--header-shadow-opacity)); content:""; transform:translateX(-50%); transition:background .2s ease, box-shadow .2s ease; z-index:-1; }
.reference-home .reference-header::before { background:linear-gradient(115deg, rgba(2,13,29,var(--header-background-opacity)) 0%, rgba(7,42,82,var(--header-background-opacity)) 52%, rgba(13,79,130,var(--header-background-opacity)) 100%); }
.reference-logo { display:flex; align-items:center; flex:0 0 auto; }
.reference-logo img { display:block; width:93px; height:auto; transition:width .25s ease; }
.reference-menu { display:flex; align-items:center; justify-content:center; gap:clamp(20px, 2vw, 34px); margin-left:auto; }
.reference-menu a { color:#fff; font-size:14px; font-weight:800; line-height:1; letter-spacing:.025em; text-decoration:none; transition:font-size .25s ease, opacity .2s ease; }
.reference-menu a:hover { color:#fff; opacity:.72; }
.reference-header-whatsapp { min-height:36px; display:flex; align-items:center; justify-content:center; gap:7px; padding:7px 11px; border:1px solid rgba(255,255,255,.78); border-radius:999px; background:rgba(255,255,255,.08); background-size:180% 180%; background-position:0 50%; color:#fff; font-size:14px; font-weight:800; line-height:1; letter-spacing:.025em; text-align:center; text-decoration:none; transition:min-height .25s ease, padding .25s ease, font-size .25s ease, background-position .45s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.reference-header-whatsapp:hover { background:rgba(255,255,255,.18); }
.reference-header-whatsapp svg { width:19px; height:19px; color:#fff; transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.reference-header-whatsapp.reference-header-instagram:hover { border-color:rgba(255,255,255,.35); background:linear-gradient(115deg, #ff7aaa, #d64bb8 52%, #8758e8); background-size:180% 180%; background-position:100% 50%; box-shadow:0 8px 20px rgba(185,56,185,.28); transform:translateY(-2px); }
.reference-header-whatsapp:not(.reference-header-instagram):hover { border-color:rgba(255,255,255,.35); background:linear-gradient(115deg, #83eaa8, #32c77b 52%, #15945d); background-size:180% 180%; background-position:100% 50%; box-shadow:0 8px 20px rgba(21,148,93,.25); transform:translateY(-2px); }
.reference-header-whatsapp.reference-header-instagram:hover svg { transform:scale(1.08); }
.reference-header-whatsapp:not(.reference-header-instagram):hover svg { transform:rotate(5deg) scale(1.08); }
.reference-header.is-compact { height:70px; gap:18px; }
.reference-header.is-compact .reference-logo img { width:68px; }
.reference-header.is-compact .reference-menu a { font-size:12px; }
.reference-header.is-compact .reference-header-whatsapp { min-height:32px; padding:5px 9px; font-size:12px; }

/* Hero e números */
.reference-hero { position:relative; z-index:0; height:calc(100vh - 172px); height:calc(100svh - 172px); overflow:visible; background:transparent; }
.reference-hero::before { position:absolute; inset:0 auto 0 50%; width:100vw; background:linear-gradient(90deg, rgba(4,22,43,.88) 0%, rgba(4,22,43,.70) 42%, rgba(4,22,43,.34) 100%); content:""; transform:translateX(-50%); z-index:0; pointer-events:none; }
.reference-hero-image { position:absolute; inset:0 50% 0 auto; z-index:-1; width:100vw; max-width:none; height:100%; object-fit:cover; object-position:center; transform:translateX(50%); }
.reference-hero-copy { position:absolute; top:50%; left:50%; width:var(--container); text-align:center; transform:translate(-50%, -50%); }
.reference-hero h1 { margin:0 0 20px; color:#fff; font-size:clamp(10px, min(1.1vw, 2.1svh), 16px); font-weight:800; letter-spacing:.11em; line-height:1.4; text-transform:uppercase; }
.reference-hero-copy p { margin:0; color:#fff; font-family:Georgia, serif; font-size:clamp(40px, min(7.7vw, 12svh), 108px); font-weight:700; letter-spacing:-.065em; line-height:.91; }
.reference-numbers { position:relative; z-index:0; display:grid; grid-template-columns:repeat(4, 1fr); margin-bottom:var(--home-section-gap); background:transparent; }
.reference-numbers::before { position:absolute; inset:0 auto 0 50%; width:100vw; background:var(--soft); content:""; transform:translateX(-50%); z-index:-1; }
.reference-number { position:relative; min-height:172px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:24px; text-align:center; }
.reference-number + .reference-number::before { position:absolute; left:0; top:50%; width:1px; height:48px; background:var(--line); content:""; transform:translateY(-50%); }
.reference-number strong { color:var(--accent); font-size:clamp(30px, min(3.5vw, 6svh), 50px); font-weight:700; line-height:1; letter-spacing:-.06em; }
.reference-number--compact strong { font-size:clamp(30px, min(3.5vw, 6svh), 50px); }
.reference-number span { max-width:185px; color:#6b7480; font-size:clamp(10px, min(.9vw, 1.7svh), 13px); font-weight:600; line-height:1.35; text-transform:lowercase; letter-spacing:.015em; }

/* Padrão de seções */
.reference-values,
.reference-projects,
.reference-about,
.reference-contact { margin-bottom:var(--home-section-gap); }
.reference-values header,
.reference-project-heading,
.reference-about-copy,
.reference-contact>header { text-align:center; }
.reference-values header,
.reference-project-heading>div,
.reference-about-copy,
.reference-contact>header { max-width:900px; margin-inline:auto; }
.reference-values header>p,
.reference-project-heading h2,
.reference-eyebrow { margin:0 0 16px; color:var(--accent); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.reference-values h2,
.reference-project-heading h3,
.reference-about h2,
.reference-contact h2 { margin:0; color:var(--ink); font-family:Georgia, serif; font-size:clamp(38px, 4.15vw, 66px); font-weight:400; letter-spacing:-.05em; line-height:.98; }
.reference-values { position:relative; padding:20px 0 18px; background:#fff; }
.reference-values header::after { display:block; width:86px; height:3px; margin:26px auto 0; border-radius:999px; background:linear-gradient(90deg, var(--accent), #f2a071 52%, var(--blue)); content:""; }
.reference-values-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; margin-top:56px; padding-bottom:0; }
.reference-values-grid article { position:relative; min-height:100%; overflow:hidden; padding:34px 32px 36px; border:1px solid #e3e9ee; border-radius:var(--radius-card,6px); background:linear-gradient(135deg, #fff 58%, #f7fafc 100%); box-shadow:0 8px 24px rgba(4,22,43,.055); text-align:left; transition:transform .38s cubic-bezier(.2,.75,.25,1), box-shadow .38s ease, border-color .38s ease; }
.reference-values-grid article::before { position:absolute; top:0; left:0; width:100%; height:3px; background:linear-gradient(90deg, var(--accent), #f0a075 50%, var(--blue)); content:""; transform:scaleX(.28); transform-origin:left; transition:transform .45s cubic-bezier(.2,.75,.25,1); }
.reference-values-grid article:hover { border-color:#ccd9e3; box-shadow:0 18px 38px rgba(4,22,43,.11); transform:translateY(-8px); }
.reference-values-grid article:hover::before { transform:scaleX(1); }
.reference-values.is-animation-ready .reference-values-grid article { opacity:0; transform:translateY(22px); }
.reference-values.is-animation-ready .reference-values-grid article.is-revealed { opacity:1; transform:translateY(0); transition:opacity .6s ease var(--reveal-delay, 0ms), transform .6s cubic-bezier(.2,.75,.25,1) var(--reveal-delay, 0ms), box-shadow .38s ease, border-color .38s ease; }
.reference-values.is-animation-ready .reference-values-grid article.is-revealed:hover { transform:translateY(-8px); transition-delay:0s; }
.reference-values-grid article:first-child { padding-left:32px; }
.reference-values-grid article + article { border-left:0; }
svg.reference-value-icon { display:block; width:112px; height:112px; margin:0 auto 32px; color:var(--accent); filter:drop-shadow(0 8px 14px rgba(208,90,63,.08)); transition:color .35s ease, transform .42s cubic-bezier(.2,.75,.25,1), filter .35s ease; }
.reference-values-grid article:nth-child(1):hover .reference-value-icon { stroke:url(#value-icon-gradient-1); }
.reference-values-grid article:nth-child(2):hover .reference-value-icon { stroke:url(#value-icon-gradient-2); }
.reference-values-grid article:nth-child(3):hover .reference-value-icon { stroke:url(#value-icon-gradient-3); }
.reference-values-grid article:hover .reference-value-icon { color:#e17255; filter:drop-shadow(0 12px 18px rgba(208,90,63,.18)); transform:translateY(-4px) scale(1.045); }
.reference-values-grid h3 { margin:0 0 14px; font-size:19px; line-height:1.3; }
.reference-values-grid p,
.reference-project-heading p,
.reference-about-copy>p:not(.reference-eyebrow),
.reference-contact>header>p:not(.reference-eyebrow) { margin:0; color:#647080; font-size:15px; line-height:1.65; }

/* Empreendimentos */
.reference-project-heading { padding-bottom:0; }
.reference-project-heading p { margin:18px auto 0; }
.reference-project-filters { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:34px 0; }
.reference-project-filters button { display:inline-flex; align-items:center; gap:9px; min-height:42px; border:1px solid transparent; border-radius:999px; padding:10px 19px; background:#edf1f4; background-size:180% 180%; background-position:0 50%; color:#485464; font-size:12px; font-weight:750; cursor:pointer; transition:transform .25s ease, color .25s ease, background-position .45s ease, box-shadow .25s ease; }
.reference-project-filters button svg { width:17px; height:17px; transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.reference-project-filters button:hover { color:#fff; background-position:100% 50%; box-shadow:0 8px 20px rgba(4,22,43,.14); transform:translateY(-2px); }
.reference-project-filters button:hover svg { transform:rotate(5deg) scale(1.08); }
.reference-project-filters button.is-active { color:#fff; background-position:100% 50%; box-shadow:0 7px 18px rgba(4,22,43,.16); }
.reference-project-filters button[data-filter="todos"] { background-color:#e7edf5; color:#294765; }
.reference-project-filters button[data-filter="entregue"] { background-color:#e5f5ec; color:#177658; }
.reference-project-filters button[data-filter="obra-em-andamento"] { background-color:#fff3ca; color:#765900; }
.reference-project-filters button[data-filter="lancamento"] { background-color:#eee7fb; color:#6541a1; }
.reference-project-filters button[data-filter="unidades-disponiveis"] { background-color:#e7f0fb; color:#24578d; }
.reference-project-filters button[data-filter="todos"]:hover,
.reference-project-filters button[data-filter="todos"].is-active { background-image:linear-gradient(115deg, #496f9e, #173f70 52%, #04162b); }
.reference-project-filters button[data-filter="entregue"]:hover,
.reference-project-filters button[data-filter="entregue"].is-active { background-image:linear-gradient(115deg, #8be1b2, #39af78 52%, #177658); }
.reference-project-filters button[data-filter="obra-em-andamento"]:hover,
.reference-project-filters button[data-filter="obra-em-andamento"].is-active { background-image:linear-gradient(115deg, #f7d976, #dfae27 52%, #9b7200); }
.reference-project-filters button[data-filter="lancamento"]:hover,
.reference-project-filters button[data-filter="lancamento"].is-active { background-image:linear-gradient(115deg, #c4a8f3, #9567d5 52%, #6541a1); }
.reference-project-filters button[data-filter="unidades-disponiveis"]:hover,
.reference-project-filters button[data-filter="unidades-disponiveis"].is-active { background-image:linear-gradient(115deg, #8ec5ff, #4f95e8 52%, #24578d); }
.reference-project-filters button:hover,
.reference-project-filters button.is-active { color:#fff; }
.reference-carousel-shell { --carousel-gutter:max(48px, calc((100vw - 1440px) / 2 + 48px)); position:relative; left:50%; width:100vw; margin-left:-50vw; }
.reference-project-grid { display:flex; align-items:stretch; gap:24px; overflow-x:auto; padding:18px var(--carousel-gutter) 44px; scroll-behavior:smooth; scrollbar-width:none; overscroll-behavior-inline:contain; cursor:grab; }
.reference-project-grid::-webkit-scrollbar { display:none; }
.reference-project-grid.is-dragging { cursor:grabbing; scroll-behavior:auto; user-select:none; }
.reference-project-grid.has-few-results { justify-content:center; }
.reference-development-card { min-width:0; flex:0 0 calc((100% - 64px) / 3); display:flex; flex-direction:column; overflow:hidden; border:1px solid #e0e6eb; background:#fff; color:var(--ink); text-decoration:none; box-shadow:0 7px 18px rgba(4,22,43,.08); transition:transform .22s ease, box-shadow .22s ease; }
.reference-development-card.is-entering { animation:reference-card-enter .48s cubic-bezier(.2,.72,.25,1) backwards; animation-delay:var(--enter-delay, 0ms); }
@keyframes reference-card-enter { from { opacity:0; transform:translateY(14px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
.reference-development-card:hover { transform:translateY(-5px) scale(1.012); box-shadow:0 17px 30px rgba(4,22,43,.16); }
.reference-development-card[hidden] { display:none!important; }
.reference-development-card>img { display:block; width:100%; height:auto; aspect-ratio:4 / 5; object-fit:contain; object-position:center bottom; background:#f5f7f8; transform-origin:center bottom; transition:transform .32s cubic-bezier(.2,.72,.25,1); }
.reference-development-card:hover>img { transform:scale(1.025); }
/* Versão anterior preservada: adicione "cards-original-ratio" ao body para restaurá-la. */
.reference-home.cards-original-ratio .reference-development-card>img { height:280px; aspect-ratio:auto; object-fit:cover; object-position:center bottom; background:transparent; }
.reference-project-grid img { -webkit-user-drag:none; user-select:none; }
.reference-development-content { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:19px 21px 22px; }
.reference-development-tags { display:flex; flex-wrap:wrap; gap:7px; }
.reference-development-tag { display:inline-flex; align-items:center; gap:6px; border-radius:999px; padding:8px 11px; font-size:11px; font-style:normal; font-weight:700; line-height:1; }
.reference-development-tag svg { width:15px; height:15px; }
.reference-development-tag b { font:inherit; }
.reference-development-tag--entregue { background:#e8f5ed; color:#177658; }
.reference-development-tag--obra-em-andamento { background:#fff4c9; color:#806000; }
.reference-development-tag--lancamento { background:#eee8ff; color:#6541a1; }
.reference-development-tag--unidades-disponiveis { background:#e7f0fb; color:#24578d; }
.reference-development-card:hover .reference-development-tag--entregue { background:linear-gradient(135deg,#e8f5ed 0%,#d9f0e2 52%,#c6e7d2 100%); color:#177658; }
.reference-development-card:hover .reference-development-tag--obra-em-andamento { background:linear-gradient(135deg,#fff4c9 0%,#ffedb0 52%,#f7df8c 100%); color:#806000; }
.reference-development-card:hover .reference-development-tag--lancamento { background:linear-gradient(135deg,#eee8ff 0%,#e3d8fb 52%,#d3c2f2 100%); color:#6541a1; }
.reference-development-card:hover .reference-development-tag--unidades-disponiveis { background:linear-gradient(135deg,#e7f0fb 0%,#d7e9ff 52%,#bedbff 100%); color:#24578d; }
.reference-development-content h3 { margin:18px 0 5px; font-size:24px; line-height:1.16; }
.reference-development-location { display:grid; gap:2px; margin:0; color:#3f4650; font-size:13px; line-height:1.35; }
.reference-development-location strong { font:700 inherit; }
.reference-development-location span { display:block; color:#66717e; font:400 inherit; }
.reference-development-description { margin:13px 0 0; color:#77818c; font-size:13px; line-height:1.5; }
.reference-development-content>b { display:inline-flex; align-items:center; gap:9px; margin-top:auto; padding-top:21px; color:var(--ink); font-size:12px; line-height:1; letter-spacing:.07em; }
.reference-development-content>b i { display:inline-flex; align-items:center; color:var(--accent); font-size:23px; font-style:normal; line-height:1; transform:translateY(-1px); }

/* Terceira versão: card editorial premium com conteúdo sobre a fotografia. */
.cards-premium-overlay .reference-development-card {
  position:relative;
  isolation:isolate;
  aspect-ratio:4 / 5;
  min-height:0;
  border:1px solid transparent;
  background:
    linear-gradient(#04162b,#04162b) padding-box,
    linear-gradient(145deg,rgba(154,211,246,.48),rgba(255,255,255,.22) 42%,rgba(39,111,166,.2) 72%,rgba(15,50,92,.32)) border-box;
  box-shadow:
    0 16px 38px rgba(4,22,43,.13),
    0 0 0 1px rgba(112,179,224,.06);
}
.cards-premium-overlay .reference-development-card::before {
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(4,22,43,.02) 0%,rgba(4,22,43,.02) 32%,rgba(4,22,43,.42) 66%,rgba(2,13,29,.9) 100%);
  content:"";
  transition:background .45s ease;
}
.cards-premium-overlay .reference-development-card::after {
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 28%,transparent 72%,rgba(15,73,119,.05));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.2),
    inset 0 -1px 0 rgba(5,35,65,.18);
  content:"";
  pointer-events:none;
}
.cards-premium-overlay .reference-development-card>img {
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  background:#04162b;
  filter:saturate(.96) contrast(1.01);
}
.cards-premium-overlay .reference-development-content {
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  display:flex;
  flex:none;
  justify-content:flex-end;
  padding:32px 32px 34px;
  color:#fff;
}
.cards-premium-overlay .reference-development-tags { order:1; }
.cards-premium-overlay .reference-development-tag {
  box-shadow:0 5px 14px rgba(2,13,29,.12);
}
.cards-premium-overlay .reference-development-content h3 {
  order:2;
  margin:18px 0 0;
  color:#fff;
  font-family:Georgia,serif;
  font-size:clamp(27px,2.15vw,36px);
  font-weight:400;
  letter-spacing:-.045em;
  line-height:1.04;
  text-shadow:0 3px 18px rgba(0,0,0,.28);
}
.cards-premium-overlay .reference-development-location,
.cards-premium-overlay .reference-development-description,
.cards-premium-overlay .reference-development-content>b {
  overflow:hidden;
  opacity:1;
  transform:none;
}
.cards-premium-overlay .reference-development-location {
  order:3;
  max-height:58px;
  margin-top:13px;
  color:rgba(255,255,255,.92);
}
.cards-premium-overlay .reference-development-location span { color:rgba(255,255,255,.72); }
.cards-premium-overlay .reference-development-description {
  order:4;
  max-height:72px;
  margin-top:12px;
  color:rgba(255,255,255,.72);
}
.cards-premium-overlay .reference-development-content>b {
  order:5;
  max-height:48px;
  align-self:flex-start;
  margin-top:20px;
  padding:0 0 7px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.58);
  border-radius:0;
  background:transparent;
  color:#fff;
  letter-spacing:.11em;
}
.cards-premium-overlay .reference-development-content>b i {
  color:#f1a071;
  transition:transform .35s cubic-bezier(.2,.75,.25,1);
}
.cards-premium-overlay .reference-development-card:hover,
.cards-premium-overlay .reference-development-card:focus-visible {
  transform:translateY(-5px) scale(1.012);
  box-shadow:0 22px 46px rgba(4,22,43,.22);
}
.cards-premium-overlay .reference-development-card:hover .reference-development-content>b i,
.cards-premium-overlay .reference-development-card:focus-visible .reference-development-content>b i {
  transform:translate(3px,-1px);
}
@media (min-width:1200px) {
  .reference-project-grid {
    scroll-padding-inline:var(--carousel-gutter);
  }
  .reference-development-card {
    flex-basis:calc((100vw - var(--carousel-gutter) - var(--carousel-gutter) - 48px) / 3);
    transform-origin:center;
    transition:
      opacity .24s ease,
      filter .24s ease,
      transform .3s cubic-bezier(.2,.72,.25,1),
      box-shadow .24s ease;
    will-change:opacity,filter,transform;
  }
  .reference-development-card.is-featured {
    opacity:1;
    filter:none;
    transform:scale(1);
  }
  .reference-development-card.is-featured:hover {
    transform:translateY(-4px) scale(1.01);
    box-shadow:0 17px 30px rgba(4,22,43,.16);
  }
  .reference-development-card.is-deemphasized {
    opacity:.34;
    filter:blur(.55px) saturate(.9);
    transform:scale(.8);
  }
  .reference-development-card.is-deemphasized.is-packed-side-card {
    margin-left:var(--deemphasized-overlap, 0);
  }
  .reference-development-card.is-entering.is-deemphasized {
    animation:none;
  }
  .reference-development-card.is-deemphasized:hover,
  .reference-development-card.is-deemphasized:focus-visible {
    opacity:.5;
    filter:blur(.3px) saturate(.94);
    transform:scale(.82);
    box-shadow:0 12px 26px rgba(4,22,43,.12);
  }
  .reference-project-grid.is-dragging .reference-development-card {
    transition:none;
  }
}
@media (max-width:1199px) {
  .reference-carousel-shell {
    --snap-card-width:min(72vw,430px);
    --snap-side-space:max(24px,calc((100vw - var(--snap-card-width)) / 2));
  }
  .reference-project-grid {
    gap:20px;
    padding-right:var(--snap-side-space);
    padding-left:var(--snap-side-space);
    scroll-padding-inline:var(--snap-side-space);
    scroll-snap-type:x mandatory;
  }
  .reference-project-grid.has-few-results {
    justify-content:flex-start;
  }
  .reference-development-card {
    flex-basis:var(--snap-card-width);
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }
}
.reference-project-pagination { pointer-events:none; position:absolute; inset:calc(50% - 15px) calc(var(--carousel-gutter) - 8px) auto; z-index:5; display:flex; align-items:center; justify-content:space-between; transform:translateY(-50%); }
.reference-project-pagination>button { pointer-events:auto; position:relative; width:40px; height:40px; border:1px solid rgba(4,22,43,.1); border-radius:50%; background:rgba(255,255,255,.88); color:var(--ink); font-size:0; box-shadow:0 7px 20px rgba(4,22,43,.12); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); cursor:pointer; transition:opacity .2s ease, transform .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.reference-project-pagination>button::before { position:absolute; top:50%; left:50%; width:7px; height:7px; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; content:""; }
.reference-project-pagination>button[data-page-action="previous"]::before { transform:translate(-38%, -50%) rotate(-135deg); }
.reference-project-pagination>button[data-page-action="next"]::before { transform:translate(-62%, -50%) rotate(45deg); }
.reference-project-pagination>button:hover:not(:disabled) { border-color:rgba(208,90,63,.28); color:var(--accent); box-shadow:0 9px 24px rgba(4,22,43,.16); transform:translateY(-1px) scale(1.04); }
.reference-project-pagination>button:disabled { opacity:.22; box-shadow:none; cursor:default; }
.reference-carousel-pages { position:relative; z-index:10; display:flex; align-items:center; justify-content:center; gap:5px; margin-top:0; }
.reference-carousel-pages button { width:32px; min-width:32px; height:32px; border:0; border-radius:50%; padding:0; background:transparent; color:#596574; font-size:11px; font-weight:800; letter-spacing:.02em; cursor:pointer; transition:background .25s ease, transform .25s ease; }
.reference-carousel-pages button:hover { color:var(--ink); background:#eef1f4; }
.reference-carousel-pages button.is-active { background:var(--blue); color:#fff; transform:scale(1); }
.reference-carousel-pages button:focus-visible { outline:3px solid rgba(15,50,92,.3); outline-offset:3px; }

/* Institucional */
.reference-projects { margin-bottom:var(--home-section-gap); }
.reference-about { position:relative; z-index:0; isolation:isolate; display:grid; grid-template-columns:minmax(280px, .78fr) minmax(0, 1.35fr); align-items:center; gap:clamp(56px, 7vw, 108px); margin-top:0; margin-bottom:var(--home-section-gap); padding:72px 88px 82px; border:0; background:transparent; }
.reference-about::before { position:absolute; inset:0; z-index:-2; width:auto; background:linear-gradient(125deg, #03152d 0%, #0b3d70 52%, #17649a 100%); border:1px solid rgba(15,72,119,.22); border-radius:18px; box-shadow:0 24px 60px rgba(4,22,43,.16); content:""; }
.reference-about::after { pointer-events:none; position:absolute; top:38px; right:6%; z-index:-1; width:230px; height:198px; background:linear-gradient(145deg, rgba(135,204,246,.25), rgba(42,121,181,.04)); clip-path:polygon(50% 0, 100% 100%, 0 100%); content:""; transform:rotate(9deg); }
.reference-profile-card { display:flex; flex-direction:column; overflow:hidden; margin-left:-30px; background:#fff; color:var(--ink); border:1px solid rgba(255,255,255,.46); border-radius:var(--radius-surface,9px); box-shadow:0 24px 48px rgba(1,12,28,.3); transform:translateY(30px); transition:transform .4s cubic-bezier(.2,.75,.25,1), box-shadow .4s ease; }
.reference-profile-card:hover { box-shadow:0 32px 62px rgba(1,12,28,.36); transform:translateY(20px); }
.reference-profile-card img { width:100%; aspect-ratio:1 / .94; object-fit:cover; object-position:center; }
.reference-profile-card div { padding:26px 28px 30px; }
.reference-profile-card strong { display:block; font-size:24px; line-height:1.15; }
.reference-profile-card span { display:block; margin-top:8px; color:var(--blue); font-size:14px; font-weight:800; }
.reference-profile-card small { display:block; margin-top:9px; color:#647080; font-size:13px; }
.reference-about .reference-about-copy { position:relative; align-self:center; max-width:none; margin:0; padding-right:clamp(0px, 3vw, 42px); text-align:left; }
.reference-about .reference-about-copy::before { display:block; width:72px; height:3px; margin-bottom:26px; border-radius:999px; background:linear-gradient(90deg, var(--accent), #f1a079); content:""; }
.reference-about .reference-eyebrow { color:var(--accent); }
.reference-about h2 { color:#fff; }
.reference-about-copy>p:not(.reference-eyebrow) { max-width:720px; margin:22px 0 0; color:#d5e1ee; font-size:16px; line-height:1.75; }
.reference-about-facts { display:none; }

/* Contato */
.reference-contact { position:relative; z-index:0; isolation:isolate; margin-bottom:0; padding:80px 68px; background:transparent; }
.reference-contact::before { position:absolute; inset:0 auto 0 50%; z-index:-1; width:100vw; background:var(--soft); content:""; transform:translateX(-50%); }
.reference-contact h2 { margin-bottom:18px; }
.reference-contact>header>p:not(.reference-eyebrow) { max-width:500px; margin:0 auto; }
.reference-contact-grid { margin-top:44px; }
.reference-contact-sidebar { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }
.reference-contact-card,
.reference-whatsapp { min-height:282px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:28px; border:1px solid #e0e6eb; background:#fff; color:var(--ink); box-shadow:0 7px 18px rgba(4, 22, 43, .08); text-align:center; text-decoration:none; transition:transform .22s ease, box-shadow .22s ease; }
.reference-contact-card:hover,
.reference-whatsapp:hover { transform:translateY(-4px); box-shadow:0 17px 30px rgba(4, 22, 43, .16); }
.reference-contact-card,
.reference-whatsapp { gap:16px; cursor:pointer; }
.reference-contact-card i,
.reference-whatsapp i { display:grid; place-items:center; }
.reference-contact-card i { color:#b7bec7; }
.reference-contact-card i svg,
.reference-whatsapp i svg { width:62px; height:62px; }
.reference-contact-card i svg,
.reference-whatsapp i svg { transition:transform .25s ease, filter .25s ease; }
.reference-contact-card:hover i svg,
.reference-whatsapp:hover i svg { transform:translateY(-2px) scale(1.05); filter:drop-shadow(0 6px 10px rgba(4,22,43,.12)); }
.reference-phone-card:hover i svg { stroke:url(#contact-phone-gradient); }
.reference-instagram-card:hover i svg { stroke:url(#contact-instagram-gradient); }
.reference-whatsapp:hover i svg { stroke:url(#contact-whatsapp-gradient); }
.reference-address-card:hover i svg { stroke:url(#contact-address-gradient); }
.reference-contact-card em { color:#46515e; font-size:20px; font-style:normal; font-weight:700; line-height:1.45; }
.reference-phone-card em { color:var(--ink); font-size:20px; font-weight:800; }
.reference-instagram-card em { color:var(--ink); font-size:20px; font-weight:800; }
.reference-address-card { grid-column:1 / -1; min-height:160px; flex-direction:row; }
.reference-address-card em { color:var(--ink); font-size:20px; font-weight:800; }
.reference-phone-card,
.reference-address-card { cursor:text; user-select:text; }
.reference-whatsapp { border-color:#e0e6eb; background:#fff; color:var(--ink); }
.reference-whatsapp i { padding:0; border-radius:0; background:transparent; color:#b7bec7; }
.reference-whatsapp strong { font-size:20px; font-weight:800; }

/* Rodapé */
.reference-footer { position:relative; z-index:0; isolation:isolate; display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:70px; margin-bottom:0; padding:54px 70px; background:transparent; color:#fff; }
.reference-footer::before { position:absolute; inset:0 auto 0 50%; z-index:-1; width:100vw; background:linear-gradient(135deg, #020d1d 0%, #072a52 45%, #0d4f82 100%)!important; content:""; transform:translateX(-50%); }
.reference-footer-brand img { display:block; width:132px; max-height:75px; object-fit:contain; object-position:left; filter:brightness(0) invert(1); }
.reference-footer-brand p { max-width:250px; margin:20px 0 0; color:#d3dce7; font-size:13px; line-height:1.55; }
.reference-footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
.reference-footer-links b { margin-bottom:6px; font-size:12px; }
.reference-footer-links a,
.reference-footer-links span { color:#d3dce7; font-size:13px; text-decoration:none; }

@media (max-width:1050px) {
  :root { --container:min(calc(100% - 64px), 1440px); }
  .reference-header { gap:18px; }
  .reference-menu { gap:20px; }
  .reference-values-grid article { padding-inline:26px; }
}

@media (max-width:700px) {
  :root { --container:calc(100% - 32px); --home-section-gap:64px; }
  .reference-header { height:84px; gap:16px; margin-bottom:-84px; }
  .reference-logo img { width:82px; }
  .reference-menu { display:none; }
  .reference-header-whatsapp { padding:9px; }
  .reference-header-instagram { margin-left:auto; }
  .reference-header-whatsapp span { display:none; }
  .reference-header.is-compact { height:60px; gap:12px; }
  .reference-header.is-compact .reference-logo img { width:62px; }
  .reference-header.is-compact .reference-header-whatsapp { min-height:30px; padding:6px; }
  .reference-hero { height:calc(100vh - 240px); height:calc(100svh - 240px); }
  .reference-hero-copy { left:50%; right:auto; width:var(--container); max-width:none; }
  .reference-hero h1 { max-width:100%; margin-bottom:clamp(8px, 2svh, 14px); font-size:clamp(9px, min(2.8vw, 1.8svh), 11px); letter-spacing:.09em; }
  .reference-hero-copy p { font-size:clamp(34px, min(13vw, 9svh), 66px); }
  .reference-numbers { grid-template-columns:repeat(2, 1fr); margin-bottom:var(--home-section-gap); }
  .reference-number { min-height:120px; padding:16px 12px; }
  .reference-number:nth-child(3)::before { display:none; }
  .reference-number:nth-child(n+3) { border-top:1px solid var(--line); }
  .reference-number strong { font-size:clamp(28px, min(11vw, 5.5svh), 46px); }
  .reference-number--compact strong { font-size:clamp(26px, min(9.5vw, 5svh), 40px); }
  .reference-values,
  .reference-projects,
  .reference-about { margin-bottom:var(--home-section-gap); }
  .reference-contact { margin-bottom:0; }
  .reference-values h2,
  .reference-project-heading h3,
  .reference-about h2,
  .reference-contact h2,
  .reference-values-grid,
  .reference-contact-sidebar { grid-template-columns:1fr; }
  .reference-about { grid-template-columns:1fr; gap:38px; margin-top:0; margin-bottom:var(--home-section-gap); padding:44px 24px 58px; }
  .reference-about::before { inset:0; border-radius:12px; }
  .reference-about::after { top:28px; right:18px; width:150px; height:130px; }
  .reference-profile-card { width:calc(100% + 16px); max-width:390px; margin:-68px auto 0 -8px; border-radius:var(--radius-card,6px); transform:translateY(0); }
  .reference-profile-card:hover { transform:translateY(-4px); }
  .reference-about .reference-about-copy { padding-right:0; }
  .reference-about .reference-about-copy::before { width:58px; margin-bottom:22px; }
  .reference-values { padding-top:18px; }
  svg.reference-value-icon { width:92px; height:92px; margin-bottom:28px; }
  .reference-values-grid { gap:18px; margin-top:42px; padding-bottom:0; }
  .reference-values-grid article,
  .reference-values-grid article:first-child { min-height:0; padding:28px 24px 30px; }
  .reference-values-grid article + article { border-top:1px solid #e3e9ee; border-left:1px solid #e3e9ee; }
  .reference-project-filters { justify-content:center; gap:8px; }
  .reference-project-filters button { padding:8px 11px; font-size:10px; }
  .reference-carousel-shell { --carousel-gutter:16px; --snap-card-width:calc(100vw - 52px); --snap-side-space:26px; }
  .reference-project-grid { padding-bottom:40px; touch-action:pan-x pan-y; }
  .reference-project-grid.has-few-results { justify-content:flex-start; }
  .reference-development-card { min-height:0; flex-basis:var(--snap-card-width); }
  .reference-home.cards-original-ratio .reference-development-card>img { height:235px; }
  .cards-premium-overlay .reference-development-card { aspect-ratio:4 / 5; }
  .cards-premium-overlay .reference-development-content { padding:28px 28px 30px; }
  .cards-premium-overlay .reference-development-content h3 { font-size:30px; }
  .cards-premium-overlay .reference-development-location {
    max-height:58px;
    margin-top:12px;
    opacity:1;
    transform:none;
  }
  .cards-premium-overlay .reference-development-description { display:block; }
  .cards-premium-overlay .reference-development-content>b {
    max-height:46px;
    margin-top:18px;
    padding:0 0 7px;
    opacity:1;
    transform:none;
  }
  .reference-project-pagination { left:8px; right:8px; }
  .reference-project-pagination>button { width:36px; height:36px; }
  .reference-contact { padding:48px 26px; }
  .reference-contact-card,
  .reference-whatsapp { min-height:230px; }
  .reference-footer { grid-template-columns:1fr; gap:30px; padding:42px 30px; }
}

@media (prefers-reduced-motion:reduce) {
  .reference-header,
  .reference-logo img,
  .reference-menu a,
  .reference-header-whatsapp,
  .reference-header-whatsapp svg,
  .reference-project-filters button,
  .reference-project-filters button svg,
  .reference-profile-card,
  .reference-carousel-pages button,
  .reference-project-grid .reference-development-card,
  .reference-project-grid .reference-development-card>img { transition:none; }
  .reference-project-grid .reference-development-card:hover>img { transform:none; }
  .reference-development-card.is-entering { animation:none; }
  .reference-values.is-animation-ready .reference-values-grid article,
  .reference-values.is-animation-ready .reference-values-grid article.is-revealed { opacity:1; transform:none; transition:none; }
}

/* Mantém hero e números inteiros na primeira tela em celulares deitados. */
@media (max-height:500px) and (orientation:landscape) {
  .reference-hero { height:calc(100vh - 92px); height:calc(100svh - 92px); }
  .reference-hero-copy { top:58%; }
  .reference-hero-copy p { font-size:clamp(34px, 8vw, 58px); }
  .reference-numbers { grid-template-columns:repeat(4, 1fr); }
  .reference-number { min-height:92px; gap:5px; padding:10px 8px; }
  .reference-number:nth-child(3)::before { display:block; }
  .reference-number:nth-child(n+3) { border-top:0; }
  .reference-number strong,
  .reference-number--compact strong { font-size:clamp(24px, 4.3vw, 36px); }
  .reference-number span { font-size:10px; line-height:1.2; }
}

.reference-footer{display:grid;place-items:center;padding:30px 24px;background:#fff;color:var(--ink)}
.reference-footer::before{display:none}
.reference-footer>img{display:block;width:106px;height:auto;filter:none}
