/* ===== C2H Atelier — design tokens ===== */
:root{
  --sage:#555c50;
  --sage-dark:#3d4237;
  --sage-light:#8b9282;
  --sage-tint:#dbd8d1;
  --bg:#E5E2DD;
  --paper:#E5E2DD;
  --ink:#26281f;
  --ink-soft:#5b5e52;
  --line:#cbc6bc;
  --gap:clamp(1.25rem, 3vw, 2.5rem);
  --maxw:1440px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

@font-face{
  font-family:'Source Serif 4';
  src:url('/assets/fonts/sourceserif4-300.woff2') format('woff2');
  font-weight:300;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Source Serif 4';
  src:url('/assets/fonts/sourceserif4-300i.woff2') format('woff2');
  font-weight:300;
  font-style:italic;
  font-display:swap;
}
@font-face{
  font-family:'Source Serif 4';
  src:url('/assets/fonts/sourceserif4-400.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Source Serif 4';
  src:url('/assets/fonts/sourceserif4-400i.woff2') format('woff2');
  font-weight:400;
  font-style:italic;
  font-display:swap;
}
@font-face{
  font-family:'Open Sans';
  src:url('/assets/fonts/opensans-latin.woff2') format('woff2');
  font-weight:300 800;
  font-style:normal;
  font-display:swap;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Open Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{
  font-family:'Source Serif 4',serif;
  font-weight:400;
  letter-spacing:-.01em;
  margin:0;
  color:var(--ink);
}
p{margin:0;}
.container{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--gap);
}

/* ===== Header ===== */
.site-header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  padding:1.6rem var(--gap);
  transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease);
}
.site-header.scrolled{
  background:rgba(229,226,221,.92);
  backdrop-filter:blur(10px);
  padding:1.05rem var(--gap);
  box-shadow:0 1px 0 var(--line);
}
.logo-link{display:flex; align-items:center; line-height:0;}
.site-header .logo{
  height:56px;
  transition:filter .4s, height .4s var(--ease);
}
.site-header.scrolled .logo{height:44px;}
.site-header.on-dark .logo{filter:brightness(0) invert(1);}
nav{display:flex; align-items:center;}
.nav-links{
  display:flex;
  align-items:center;
  gap:2.6rem;
  list-style:none;
  margin:0; padding:0;
  font-size:.78rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.nav-links a{
  position:relative;
  padding-bottom:6px;
  color:var(--ink);
  transition:color .3s;
}
.site-header.on-dark .nav-links a{color:#fff;}
.nav-links a::after{
  content:'';
  position:absolute;
  left:0; bottom:0;
  width:0; height:1px;
  background:currentColor;
  transition:width .3s var(--ease);
}
.nav-links a:hover::after{width:100%;}
.nav-links .nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  border:1px solid currentColor;
  border-radius:999px;
  padding:.7rem 1.6rem;
  white-space:nowrap;
  transition:background .3s, color .3s, border-color .3s;
}
.nav-cta::after{display:none;}
.nav-cta:hover{
  background:var(--sage-dark);
  border-color:var(--sage-dark);
  color:#fff;
}

/* ---- Shared sliding arrow, used inside CTA buttons ---- */
.btn-arrow{
  display:inline-block;
  transition:transform .35s var(--ease);
}
.nav-cta:hover .btn-arrow,
.btn-sage:hover .btn-arrow,
.btn-outline:hover .btn-arrow,
.footer-cta:hover .btn-arrow{
  transform:translateX(4px);
}
.nav-toggle{
  display:none;
  background:none;border:0;cursor:pointer;
  width:30px;height:20px;position:relative;
  flex-shrink:0;
}
.nav-toggle span{
  position:absolute;left:0;right:0;height:1.5px;background:var(--ink);
  transition:transform .3s, opacity .3s;
}
.site-header.on-dark .nav-toggle span{background:#fff;}
.site-header.on-dark .nav-toggle.open span{background:var(--ink);}
.nav-toggle span:nth-child(1){top:0;}
.nav-toggle span:nth-child(2){top:50%;transform:translateY(-50%);}
.nav-toggle span:nth-child(3){bottom:0;}

/* ===== Hero ===== */
.hero{
  position:relative;
  height:100vh;
  min-height:560px;
  overflow:hidden;
  background:var(--sage-dark);
}
.hero-slide{
  position:absolute; inset:0;
  opacity:0;
  transition:opacity 1.4s var(--ease);
}
.hero-slide.active{opacity:1;}
.hero-slide img{
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.04);
  transition:transform 8s linear;
}
.hero-slide.active img{transform:scale(1.0);}
.hero::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(38,40,31,.32) 0%, rgba(38,40,31,.06) 30%, rgba(38,40,31,.72) 100%);
}
.hero-content{
  position:relative; z-index:2;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:0 var(--gap) clamp(4.5rem, 9vh, 6.5rem);
  color:#fff;
}
.hero-title{
  color:#fff;
  font-size:clamp(1.7rem, 3.2vw, 2.7rem);
  font-weight:300;
  max-width:40ch;
  text-wrap:balance;
  line-height:1.32;
  text-shadow:0 2px 24px rgba(0,0,0,.18);
}
.hero-title em{font-style:italic; color:#e3e5da;}
.hero-dots{
  position:absolute;
  left:50%; bottom:2.6rem;
  transform:translateX(-50%);
  z-index:2;
  display:flex; gap:.5rem;
}
.hero-dots button{
  width:8px;height:8px;border-radius:50%;
  border:1px solid rgba(255,255,255,.7);
  background:transparent;
  padding:0; cursor:pointer;
  transition:background .3s;
}
.hero-dots button.active{background:#fff;}

/* ===== Reveal on scroll ===== */
.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .9s var(--ease), transform .9s var(--ease);
}
.reveal.is-visible{opacity:1; transform:none;}
.reveal-delay-1{transition-delay:.1s;}
.reveal-delay-2{transition-delay:.22s;}
.reveal-delay-3{transition-delay:.34s;}

/* ===== Section: intro ===== */
.section{
  padding:clamp(4rem,9vw,7.5rem) 0;
}
.section-tight{padding:clamp(2.5rem,6vw,4.5rem) 0;}
.eyebrow{
  display:flex;
  align-items:center;
  gap:.7rem;
  font-size:.76rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--sage);
  margin-bottom:1.3rem;
}
.eyebrow::before{
  content:'';
  width:28px; height:1px;
  background:var(--sage);
}
.intro-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--gap);
  align-items:start;
}
.intro-grid .body-col{
  border-left:1px solid var(--line);
  padding-left:var(--gap);
  padding-top:.3rem;
}
.intro-grid h2{
  font-size:clamp(1.8rem,3.4vw,2.6rem);
  line-height:1.25;
  font-weight:300;
}
.intro-grid h2 .accent{color:var(--sage);}
.intro-grid .body-col p{
  color:var(--ink-soft);
  margin-bottom:1.6rem;
  max-width:46ch;
}
.arrow-link{
  display:inline-flex;
  align-items:center;
  gap:1rem;
  font-size:.78rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink);
}
.arrow-link .arrow-circle{
  width:46px; height:46px;
  border-radius:50%;
  border:1px solid var(--sage);
  color:var(--sage);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transition:background .35s var(--ease), color .35s, transform .35s var(--ease);
}
.arrow-link .arrow-circle svg{width:16px;height:16px;transition:transform .35s var(--ease);}
.arrow-link:hover .arrow-circle{
  background:var(--sage);
  color:#fff;
}
.arrow-link:hover .arrow-circle svg{transform:translateX(3px);}

/* ===== Coordenação de obras — split image/text ===== */
.split{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:0;
  align-items:center;
  background:#EEECE8;
}
.split-media{
  position:relative;
  aspect-ratio:3/2;
  overflow:hidden;
}
.split-media img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.01);
  transition:transform .8s var(--ease);
}
.split:hover .split-media:not(.slides) img{transform:scale(1.06);}

/* ---- Auto-rotating slideshow variant (e.g. Clínicas médicas) ---- */
.split-media.slides img{
  position:absolute; inset:0;
  opacity:0;
  transform:scale(1.04);
  transition:opacity 1.1s var(--ease), transform 7s linear;
}
.split-media.slides img.active{opacity:1; transform:scale(1);}
.split-text{padding:clamp(2.5rem,6vw,5.5rem);}
.split-text h2{
  font-size:clamp(1.9rem,3.4vw,2.6rem);
  font-weight:300;
  margin-bottom:1.4rem;
}
.split-text p{color:var(--ink-soft);max-width:42ch;}
.split-text p + p{margin-top:1.2rem;}
.split-cta{margin-top:1.6rem;}
.split.reverse{grid-template-columns:1fr 1.1fr;}
.split.reverse .split-media{order:2;}
.split.reverse .split-text{order:1;}

/* ===== Portfolio teaser ===== */
.portfolio-teaser{padding:clamp(3rem,7vw,5.5rem) 0 0;}
.portfolio-head{
  text-align:center;
  max-width:640px;
  margin:0 auto clamp(1.8rem,3vw,2.4rem);
}
.eyebrow-center{justify-content:center;}
.portfolio-head h2{
  font-size:clamp(1.4rem,4.4vw,2.6rem);
  font-weight:300;
  white-space:nowrap;
}
.btn-sage{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  background:var(--sage);
  color:#fff;
  border-radius:999px;
  padding:.85rem 1.7rem;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:background .3s, transform .3s var(--ease);
}
.btn-sage:hover{background:var(--sage-dark); transform:translateY(-1px);}

/* ---- Dark/green variant (Portfolio section) ---- */
.portfolio-teaser.dark{background:var(--sage); padding-bottom:0;}
.portfolio-teaser.dark .eyebrow{color:#d7dbcb;}
.portfolio-teaser.dark .eyebrow::before{background:#d7dbcb;}
.portfolio-teaser.dark .portfolio-head h2{color:#fff;}
.portfolio-teaser.dark .btn-sage{background:#E5E2DD; color:var(--sage-dark);}
.portfolio-teaser.dark .btn-sage:hover{background:var(--bg);}

/* ---- Grid (edge-to-edge, name on hover) ---- */
.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:0;
}
.portfolio-card{
  position:relative;
  display:block;
  aspect-ratio:1/1;
  overflow:hidden;
}
.portfolio-card img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .7s var(--ease), filter .4s;
}
.portfolio-card:hover img{
  transform:scale(1.05);
  filter:brightness(.55);
}
.portfolio-card::after{
  content:'';
  position:absolute; inset:0;
  background:rgba(38,40,31,0);
  transition:background .4s;
}
.portfolio-card:hover::after{background:rgba(38,40,31,.15);}
.pc-name{
  position:absolute;
  left:0; right:0; bottom:0;
  z-index:1;
  padding:1.6rem;
  color:#fff;
  font-family:'Source Serif 4',serif;
  font-size:clamp(1.1rem,1.6vw,1.35rem);
  opacity:0;
  transform:translateY(10px);
  transition:opacity .4s, transform .4s;
}
.portfolio-card:hover .pc-name{opacity:1; transform:translateY(0);}
.portfolio-more{
  text-align:center;
  padding:clamp(2.4rem,5vw,3.5rem) 0 clamp(3rem,6vw,4.5rem);
}

/* ===== Split — dark/green variant (Clínicas médicas) ===== */
.split.dark{background:var(--sage); color:#fff;}
.split.dark .eyebrow{color:#d7dbcb;}
.split.dark .eyebrow::before{background:#d7dbcb;}
.split.dark .split-text h2{color:#fff;}
.split.dark .split-text p{color:#e2e5d9;}
.split.dark .arrow-link{color:#fff;}
.split.dark .arrow-link .arrow-circle{border-color:#fff; color:#fff;}
.split.dark .arrow-link:hover .arrow-circle{background:#E5E2DD; color:var(--sage);}

/* ===== Footer ===== */
.site-footer{
  position:relative;
  color:#fff;
  background:var(--sage);
  overflow:hidden;
}
.footer-cta-block{
  position:relative; z-index:1;
  padding:clamp(3.5rem,8vw,6rem) 0 clamp(2.5rem,5vw,3.5rem);
  text-align:center;
}
.footer-cta-block h2{
  color:#fff; font-weight:300;
  font-size:clamp(1.25rem,2.4vw,1.9rem);
  margin:0 auto 1.8rem;
}
/* ---- Light variant (white CTA band, for pages that end on a dark section) ---- */
.footer-cta-wrap.light{background:var(--paper);}
.footer-cta-wrap.light .footer-cta-block h2{color:var(--ink);}
.footer-cta-wrap.light .footer-cta{background:var(--sage); color:#fff;}
.footer-cta-wrap.light .footer-cta:hover{background:var(--sage-dark); transform:translateY(-2px);}

.footer-cta{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  background:#E5E2DD;
  color:var(--sage-dark);
  border-radius:999px;
  padding:.9rem 2.2rem;
  font-size:.8rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  transition:transform .3s var(--ease);
}
.footer-cta:hover{transform:translateY(-2px);}

/* ---- Columns ---- */
.footer-columns{
  position:relative; z-index:1;
  padding-top:clamp(2.5rem,5vw,3.5rem);
  border-top:1px solid rgba(255,255,255,.16);
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:clamp(2rem,5vw,4rem);
}
.footer-col{
  display:flex;
  flex-direction:column;
  gap:.9rem;
  font-size:.9rem;
}
.footer-col a{color:#e4e6da; transition:color .3s;}
.footer-col a:hover{color:#fff;}
.footer-col-title{
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#a6ac97;
  margin-bottom:.3rem;
}
.footer-brand{gap:1.2rem;}
.footer-logo{height:46px; width:auto; max-width:none; flex:none; align-self:flex-start; aspect-ratio:315/231; object-fit:contain; filter:brightness(0) invert(1); opacity:.95;}
.footer-brand p{color:#c7cbb9; max-width:34ch; line-height:1.6;}
.footer-address{color:#c7cbb9; line-height:1.5;}
.footer-social{display:flex; gap:.7rem;}
.footer-social a{
  width:38px; height:38px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.3);
  display:flex; align-items:center; justify-content:center;
  color:#fff;
  transition:background .3s, border-color .3s;
}
.footer-social a svg{width:16px; height:16px;}
.footer-social a:hover{background:#E5E2DD; border-color:#E5E2DD; color:var(--sage-dark);}

/* ---- Bottom bar ---- */
.footer-bottom{
  position:relative; z-index:1;
  margin-top:clamp(2.5rem,5vw,3.5rem);
  padding:1.4rem 0 clamp(1.6rem,3vw,2.2rem);
  border-top:1px solid rgba(255,255,255,.12);
  font-size:.78rem;
  color:#a6ac97;
}

/* ===== WhatsApp floating button ===== */
.whatsapp-fab{
  position:fixed;
  right:1.6rem; bottom:1.6rem;
  z-index:90;
  width:52px; height:52px;
  border-radius:50%;
  background:var(--sage);
  box-shadow:0 6px 18px rgba(38,40,31,.28);
  display:flex; align-items:center; justify-content:center;
  transition:transform .3s var(--ease), background .3s;
}
.whatsapp-fab:hover{transform:scale(1.08); background:var(--sage-dark);}

.back-to-top{
  position:fixed;
  right:1.6rem; bottom:5.6rem;
  z-index:90;
  width:44px; height:44px;
  border-radius:50%;
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--sage-dark);
  box-shadow:0 6px 18px rgba(38,40,31,.14);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s, background .3s var(--ease), color .3s;
}
.back-to-top.is-visible{opacity:1; visibility:visible; transform:none;}
.back-to-top:hover{background:var(--sage); border-color:var(--sage); color:#fff;}
.back-to-top svg{width:18px; height:18px;}
.whatsapp-fab::before{
  content:'';
  width:24px; height:24px;
  background:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

@media (max-width: 860px){
  .nav-links{
    display:flex;
    position:fixed;
    top:0; right:0;
    height:100vh;
    width:min(78vw,320px);
    background:var(--bg);
    flex-direction:column;
    justify-content:center;
    gap:1.8rem;
    padding:0 2.4rem;
    font-size:.95rem;
    letter-spacing:.04em;
    text-transform:none;
    transform:translateX(100%);
    transition:transform .4s var(--ease);
    box-shadow:-8px 0 24px rgba(0,0,0,.08);
  }
  .nav-links.open{transform:translateX(0);}
  .nav-links a{color:var(--ink) !important;}
  .nav-links .nav-cta{
    display:inline-block;
    border-color:var(--ink);
    align-self:flex-start;
  }
  .nav-toggle{display:block;position:relative;z-index:101;}
  .nav-toggle.open span:nth-child(1){transform:translateY(0) rotate(45deg);}
  .nav-toggle.open span:nth-child(3){transform:translateY(0) rotate(-45deg);}
  .nav-toggle.open span:nth-child(2){opacity:0;}
  .intro-grid{grid-template-columns:1fr; gap:2rem;}
  .intro-grid .body-col{border-left:0; padding-left:0; padding-top:0;}
  .split, .split.reverse{grid-template-columns:1fr;}
  .split-media{aspect-ratio:3/2;order:1;}
  .split-text{order:2;padding:2.4rem var(--gap);}
  .footer-columns{grid-template-columns:1fr; gap:2.2rem;}
  .portfolio-grid{grid-template-columns:repeat(2, 1fr);}
  .pc-name{padding:1.1rem; font-size:1rem;}
  .historia-hero-card{padding:12px 12px 0;}
  .historia-body-grid{grid-template-columns:1fr; gap:1.6rem;}
  .historia-socios{gap:1.8rem 2.5rem;}
  .page-hero{height:42vh;}
}

/* ===== Página: Nossa História ===== */
.site-header.light{
  background:rgba(229,226,221,.92);
  backdrop-filter:blur(10px);
  padding:1.05rem var(--gap);
  box-shadow:0 1px 0 var(--line);
}
.site-header.light .logo{height:44px;}

.historia-hero{background:var(--sage); padding-top:clamp(6rem,11vw,7.5rem);}
.historia-hero-card{
  max-width:1100px;
  padding:20px 20px 0;
}
.historia-video{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#111;
  cursor:pointer;
}
.historia-video img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .5s var(--ease);
}
.historia-video:hover img{transform:scale(1.03);}
.historia-video iframe{width:100%; height:100%; border:0; display:block;}
.historia-play{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:80px; height:80px;
  border-radius:50%;
  border:0;
  background:rgba(229,226,221,.94);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition:transform .3s var(--ease), background .3s;
}
.historia-play svg{width:26px; height:26px; color:var(--sage-dark); margin-left:3px;}
.historia-video:hover .historia-play{transform:translate(-50%,-50%) scale(1.08); background:#E5E2DD;}

.historia-hero-text{
  padding:clamp(2rem,5vw,3rem) clamp(1.5rem,4vw,3rem) clamp(2.5rem,5vw,3.5rem);
  text-align:center;
  color:#fff;
}
.historia-hero-text h1{
  color:#fff;
  font-family:'Source Serif 4',serif;
  font-weight:300;
  font-size:clamp(1.9rem,4vw,2.8rem);
  line-height:1.25;
  margin:0 0 1.2rem;
}
.historia-hero-text .lead{
  color:#e2e5d9;
  max-width:52ch;
  margin:0 auto;
  font-size:1.05rem;
  line-height:1.7;
}

.historia-body{padding:clamp(3.5rem,8vw,6rem) 0 clamp(4rem,8vw,6rem);}
.historia-body-grid{
  max-width:640px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:1.3rem;
}
.historia-body-grid p{color:var(--ink-soft); line-height:1.75;}
.historia-socios{
  display:none;
  border-top:1px solid var(--line);
  margin-top:clamp(2.5rem,5vw,3.5rem);
  padding-top:clamp(2rem,4vw,2.8rem);
  display:flex;
  gap:clamp(2.5rem,6vw,5rem);
  flex-wrap:wrap;
  justify-content:center;
  text-align:center;
}
.socio-name{
  display:block;
  font-family:'Source Serif 4',serif;
  font-size:1.2rem;
  margin-bottom:.3rem;
}
.socio-role{
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-soft);
}

/* ===== Página: Serviços ===== */
.page-hero{
  position:relative;
  height:56vh;
  min-height:380px;
  overflow:hidden;
  background:var(--sage-dark);
}
.page-hero img{width:100%; height:100%; object-fit:cover;}
.page-hero::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(38,40,31,.5) 0%, rgba(38,40,31,.06) 35%, rgba(38,40,31,.62) 100%);
}
.page-hero-content{
  position:absolute; left:0; right:0; bottom:0;
  z-index:2;
  padding:0 var(--gap) clamp(2.2rem,5vw,3.2rem);
  text-align:center;
}
.page-hero-content h1{
  color:#fff;
  font-weight:300;
  font-size:clamp(2.2rem,5vw,3.4rem);
  text-shadow:0 2px 24px rgba(0,0,0,.2);
}

.services{padding-top:0;}

.service{padding-bottom:clamp(2.5rem,5.5vw,4.2rem);}
.service.alt{background:var(--bg);}
.service-head{margin-bottom:0;}
@media (min-width: 861px){
  .service-head{grid-template-columns:1.15fr 1fr;}
}
.service > .container{padding-top:clamp(2.2rem,5vw,3.2rem);}

.service-head-wrap{background:var(--sage);}
.service-head-wrap .container{padding-top:clamp(2.8rem,6vw,4.5rem); padding-bottom:clamp(2.8rem,6vw,4.5rem);}
.service-head-wrap .eyebrow{color:#d7dbcb;}
.service-head-wrap .eyebrow::before{background:#d7dbcb;}
.service-head-wrap h2{color:#fff;}
.service-head-wrap .body-col{border-left-color:rgba(255,255,255,.3);}
.service-head-wrap .body-col p{color:#e2e5d9;}
.service-text-cols{
  column-count:2;
  column-gap:clamp(2rem,4vw,3.5rem);
  margin-bottom:clamp(2.2rem,5vw,3rem);
}
.service-text-cols p{
  color:var(--ink-soft);
  margin:0 0 1.2rem;
  break-inside:avoid;
}
.service-photos{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:clamp(.6rem,1.5vw,1rem);
}
.service-photo{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
}
.service-photo img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .7s var(--ease);
}
.service-photo:hover img{transform:scale(1.06);}

/* ---- Statement variant: bigger serif text for a dark project section ---- */
.split.dark .split-text.statement p{
  font-family:'Source Serif 4',serif;
  font-weight:300;
  font-style:italic;
  font-size:clamp(1.35rem,2.4vw,1.75rem);
  line-height:1.5;
  color:#fff;
  max-width:34ch;
}

@media (max-width: 860px){
  .service-text-cols{column-count:1;}
  .service-photos{grid-template-columns:repeat(2, 1fr);}
  .service-photo:nth-child(3){grid-column:1 / -1; aspect-ratio:16/9;}
}

/* ===== Página: Projetos (listagem + filtros) ===== */
.projects-filter{
  display:flex;
  justify-content:center;
  gap:.7rem;
  flex-wrap:wrap;
  padding:clamp(2.2rem,5vw,3.2rem) var(--gap) 0;
}
.filter-btn{
  border:1px solid var(--line);
  background:transparent;
  color:var(--ink-soft);
  border-radius:999px;
  padding:.65rem 1.5rem;
  font-size:.76rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .3s, color .3s, border-color .3s;
}
.filter-btn:hover{border-color:var(--sage); color:var(--ink);}
.filter-btn.active{background:var(--sage); color:#fff; border-color:var(--sage);}

.projects-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:0;
  max-width:var(--maxw);
  margin:0 auto;
  padding:clamp(2.5rem,5vw,4rem) var(--gap) clamp(3.5rem,7vw,5.5rem);
}
.project-card{
  position:relative;
  display:block;
  aspect-ratio:4/5;
  overflow:hidden;
  background:var(--sage-tint);
}
.project-card img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .7s var(--ease);
}
.project-card:hover img{transform:scale(1.06);}
.project-card::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(20,22,16,0) 58%, rgba(20,22,16,.75) 100%);
  transition:opacity .4s;
}
.project-card-caption{
  position:absolute; left:0; right:0; bottom:0; z-index:1;
  padding:1.2rem 1.3rem;
}
.project-card-caption h3{
  font-family:'Source Serif 4',serif;
  font-size:1.05rem;
  font-weight:400;
  color:#fff;
  margin-bottom:.3rem;
}
.project-card-caption span{
  font-size:.68rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:rgba(255,255,255,.82);
}
.project-card.is-hidden{display:none;}

/* ===== Página: detalhe de projeto ===== */
.project-hero{
  position:relative;
  height:88vh;
  min-height:460px;
  max-height:860px;
  overflow:hidden;
}
.project-hero img{width:100%; height:100%; object-fit:cover;}
.project-hero::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(20,22,16,.5) 0%, rgba(20,22,16,0) 26%, rgba(20,22,16,0) 78%, rgba(20,22,16,.4) 100%);
}
.project-back{
  position:absolute; left:var(--gap); bottom:1.8rem; z-index:2;
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-size:.76rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff;
  background:rgba(20,22,16,.4);
  backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.4);
  border-radius:999px;
  padding:.7rem 1.3rem;
  transition:background .3s, border-color .3s;
}
.project-back svg{width:14px; height:14px; transition:transform .3s var(--ease);}
.project-back:hover{background:rgba(20,22,16,.65); border-color:#fff;}
.project-back:hover svg{transform:translateX(-3px);}

.project-meta{
  max-width:720px;
  margin:0 auto;
  padding:clamp(2.5rem,6vw,4rem) var(--gap) 0;
  text-align:center;
}
.project-meta .eyebrow{justify-content:center;}
.project-meta h1{
  font-weight:300;
  font-size:clamp(2rem,4.4vw,3rem);
  line-height:1.2;
  margin-bottom:1rem;
}
.project-meta-line{
  font-size:.82rem;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--ink-soft);
  margin-bottom:clamp(1rem,3vw,1.6rem);
}
.project-meta-line span + span::before{content:'·'; margin:0 .6em;}

.project-body{
  max-width:680px;
  margin:0 auto;
  padding:clamp(2.2rem,5vw,3.2rem) var(--gap) clamp(3rem,6vw,4.5rem);
  display:flex;
  flex-direction:column;
  gap:1.3rem;
}
.project-body p{color:var(--ink-soft); line-height:1.8;}
.project-gallery + .project-body{padding-top:0;}

/* ---- Portrait-oriented split image (taller, less cropped) ---- */
.split-media.portrait{aspect-ratio:3/4;}

/* ---- Trailing gallery: fills the space instead of stranding 1-2 photos ---- */
.project-gallery{
  max-width:var(--maxw);
  margin:0 auto;
  padding:clamp(2.5rem,5vw,4rem) var(--gap) clamp(4rem,7vw,5.5rem);
}
.project-gallery.count-1{
  display:block;
}
.project-gallery.count-1 .service-photo{aspect-ratio:16/9;}
.project-gallery.count-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(.6rem,1.5vw,1rem);
}
.project-gallery.count-2 .service-photo{aspect-ratio:4/5;}

/* ---- Mosaic: a deliberate bento grid — one big tile, a medium and
   small ones alongside, repeating in 4-photo blocks. Sizes are forced
   (cover crops the photo if needed) so the composition always reads
   as a real mosaic instead of a uniform row, and always fills the
   space with no leftover gaps. ---- */
.project-gallery.mosaic{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  grid-auto-rows:170px;
  gap:clamp(.5rem,1.2vw,.8rem);
}
.project-gallery.mosaic .service-photo{aspect-ratio:auto;}
.project-gallery.mosaic .service-photo img{height:100%;}
.project-gallery.mosaic .service-photo.big{grid-column:span 2; grid-row:span 2;}
.project-gallery.mosaic .service-photo.med{grid-column:span 2; grid-row:span 1;}
.project-gallery.mosaic .service-photo.small{grid-column:span 1; grid-row:span 1;}
.project-gallery.mosaic .service-photo.full{grid-column:1 / -1; grid-row:span 1;}
.project-gallery.mosaic .service-photo.full-tall{grid-column:1 / -1; grid-row:span 2;}

.project-gallery .service-photo img{cursor:zoom-in;}

/* ---- Lightbox: click a gallery photo to see it full-size ---- */
.lightbox-overlay{
  position:fixed; inset:0; z-index:200;
  display:flex; align-items:center; justify-content:center;
  padding:clamp(1.5rem,4vw,3rem);
  background:rgba(38,40,31,.92);
  opacity:0; visibility:hidden;
  transition:opacity .3s var(--ease), visibility .3s var(--ease);
}
.lightbox-overlay.is-open{opacity:1; visibility:visible;}
.lightbox-overlay .lightbox-img{
  max-width:100%; max-height:100%;
  width:auto; height:auto;
  border-radius:4px;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
}
.lightbox-close{
  position:absolute; top:clamp(1rem,3vw,2rem); right:clamp(1rem,3vw,2rem);
  width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,.12); border:none; color:#fff;
  font-size:1.6rem; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .2s var(--ease);
}
.lightbox-close:hover{background:rgba(255,255,255,.22);}
body.lightbox-locked{overflow:hidden;}

.project-more{
  text-align:center;
  padding:0 var(--gap) clamp(4rem,7vw,5.5rem);
}

/* ===== Imprensa ===== */
.imprensa-hero-grid{
  position:absolute; inset:0;
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  height:100%;
}
.imprensa-hero-grid img{
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(.3) brightness(.92);
}

.press-strip{
  padding:clamp(2rem,5vw,3.2rem) 0;
  border-bottom:1px solid var(--line);
}
.press-strip .container{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(2rem,5vw,3.6rem);
  flex-wrap:wrap;
}
.press-strip img{
  height:clamp(30px,3.2vw,40px); width:auto; display:block;
  filter:grayscale(1);
  mix-blend-mode:multiply;
  opacity:.55;
  transition:opacity .3s var(--ease), filter .3s var(--ease);
}
.press-strip img:hover{filter:grayscale(0); opacity:1;}

/* ---- Press grid: 3-up cards (keeps photos near native size, no upscale softness) ---- */
.press-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:var(--gap);
  max-width:var(--maxw);
  margin:0 auto;
  padding:clamp(3rem,6vw,5rem) var(--gap);
}
.press-card{
  position:relative;
  display:block;
  background:#fff;
  border:1px solid var(--line);
  border-radius:6px;
  overflow:hidden;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
a.press-card:hover{transform:translateY(-4px); box-shadow:0 18px 40px rgba(38,40,31,.12);}
.press-card-media{aspect-ratio:4/3; overflow:hidden;}
.press-card-media img{width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease);}
a.press-card:hover .press-card-media img{transform:scale(1.05);}
.press-card-body{padding:clamp(1.5rem,2.4vw,2rem);}
.press-card-body .press-logo{margin-bottom:1.1rem;}
.press-card-body h2{
  font-size:clamp(1.05rem,1.5vw,1.25rem);
  font-weight:400;
  line-height:1.4;
}
.press-card-arrow{
  position:absolute; top:1rem; right:1rem; z-index:2;
  width:42px; height:42px; border-radius:50%;
  background:rgba(229,226,221,.92);
  backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center;
  color:var(--sage-dark);
  transition:background .3s var(--ease), color .3s var(--ease);
}
.press-card-arrow svg{width:16px; height:16px; transition:transform .35s var(--ease);}
a.press-card:hover .press-card-arrow{background:var(--sage); color:#fff;}
a.press-card:hover .press-card-arrow svg{transform:rotate(45deg);}

.press-logo{display:inline-block;}
.press-logo img{height:clamp(28px,3vw,36px); width:auto; display:block;}

/* ===== Contato ===== */
.contato-hero{
  position:relative;
  height:46vh;
  min-height:320px;
  max-height:480px;
  overflow:hidden;
}
.contato-hero img{width:100%; height:100%; object-fit:cover;}
.contato-hero::after{
  content:'';
  position:absolute; inset:0;
  background:rgba(20,22,16,.5);
}
.contato-hero-text{
  position:absolute; inset:0; z-index:2;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  padding:0 var(--gap);
}
.contato-hero-text h1{
  color:#fff;
  font-weight:300;
  font-size:clamp(2rem,4.4vw,3.2rem);
  line-height:1.25;
  max-width:720px;
  text-shadow:0 2px 16px rgba(0,0,0,.3);
}

.contato-lead{
  text-align:center;
  padding:clamp(3rem,6vw,4.5rem) var(--gap) 0;
}
.contato-lead p{
  font-family:'Source Serif 4',serif;
  font-weight:300;
  font-style:italic;
  font-size:clamp(1.1rem,1.8vw,1.35rem);
  color:var(--ink-soft);
  max-width:46ch;
  margin:0 auto;
}

.contato-grid{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:clamp(3rem,6vw,5.5rem);
  padding:clamp(4rem,8vw,6.5rem) var(--gap);
  max-width:var(--maxw);
  margin:0 auto;
  align-items:start;
}
.contato-form{
  display:flex;
  flex-direction:column;
  gap:1.8rem;
}
.hp-field{position:absolute; left:-9999px; top:-9999px; width:1px; height:1px; overflow:hidden;}
.contato-banner-msg{
  display:none;
  padding:.9rem 1.2rem;
  border-radius:6px;
  font-size:.88rem;
  line-height:1.5;
}
.contato-banner-msg.is-visible{display:block;}
.contato-banner-msg.is-success{background:var(--sage-tint); color:var(--sage-dark); border:1px solid var(--sage-light);}
.contato-banner-msg.is-error{background:#fbeceb; color:#8a3a34; border:1px solid #e2b6b1;}
.form-row{display:flex; flex-direction:column; gap:.6rem;}
.form-row label{
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.form-row input,
.form-row textarea{
  border:none;
  border-bottom:1px solid var(--line);
  background:transparent;
  padding:.7rem 0;
  font-family:'Open Sans',sans-serif;
  font-size:1rem;
  color:var(--ink);
  transition:border-color .3s var(--ease);
  resize:vertical;
}
.form-row input::placeholder,
.form-row textarea::placeholder{color:var(--sage-light); opacity:.7;}
.form-row input:focus,
.form-row textarea:focus{outline:none; border-bottom-color:var(--sage);}
.contato-form .btn-sage{
  align-self:flex-start;
  border:none;
  cursor:pointer;
  margin-top:.4rem;
}

.contato-info{display:flex; flex-direction:column; gap:2.2rem;}
.contato-info-block p{color:var(--ink-soft); line-height:1.75;}
.contato-map{
  border-radius:6px;
  overflow:hidden;
  border:1px solid var(--line);
  aspect-ratio:4/3;
}
.contato-map iframe{width:100%; height:100%; border:0; filter:grayscale(.2) contrast(1.05);}
.contato-whatsapp{align-self:flex-start;}

/* ===== Clínicas — Google Ads landing page ===== */
.lp-hero{
  position:relative;
  height:92vh;
  min-height:560px;
  max-height:920px;
  overflow:hidden;
  display:flex;
  align-items:center;
}
.lp-hero img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.lp-hero::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(20,22,16,.5) 0%, rgba(20,22,16,0) 22%),linear-gradient(100deg, rgba(20,22,16,.78) 0%, rgba(20,22,16,.5) 42%, rgba(20,22,16,.18) 75%);
}
.lp-hero-content{
  position:relative; z-index:2;
  max-width:640px;
  padding:0 var(--gap);
  color:#fff;
}
.lp-hero-content h1{
  color:#fff;
  font-weight:300;
  font-size:clamp(2.3rem,5vw,3.6rem);
  line-height:1.2;
  margin-bottom:1.4rem;
}
.lp-hero-lines p{
  font-size:clamp(1.02rem,1.6vw,1.2rem);
  color:#e7e9df;
  line-height:1.6;
}
.lp-hero-lines{margin-bottom:2.2rem;}
.lp-hero-content .btn-sage{padding:1rem 2.1rem; font-size:.82rem;}

.lp-section{padding:clamp(4rem,8vw,6.5rem) 0;}
.lp-section-head{max-width:680px; margin:0 auto clamp(2.5rem,5vw,3.5rem); text-align:center;}
.lp-section-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem); font-weight:300; line-height:1.25;}
.lp-section-head .eyebrow{justify-content:center;}

/* ---- Quem somos: reuses .split, no new rules needed ---- */

/* ---- Portfolio grid ---- */
.lp-portfolio-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:clamp(1.2rem,2.5vw,1.8rem);
}
.lp-portfolio-card{
  display:block;
  background:var(--paper);
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 1px 0 var(--line);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.lp-portfolio-card:hover{transform:translateY(-5px); box-shadow:0 20px 44px rgba(38,40,31,.14);}
.lp-portfolio-card-media{aspect-ratio:4/3; overflow:hidden;}
.lp-portfolio-card-media img{width:100%; height:100%; object-fit:cover; cursor:zoom-in; transition:transform .7s var(--ease);}
.lp-portfolio-card:hover .lp-portfolio-card-media img{transform:scale(1.06);}
.lp-portfolio-card-body{padding:1.3rem 1.4rem 1.5rem;}
.lp-portfolio-card-body h3{font-size:1.05rem; font-weight:400; margin-bottom:.35rem;}
.lp-portfolio-card-body span{
  display:block;
  font-size:.76rem;
  letter-spacing:.04em;
  color:var(--ink-soft);
  text-transform:uppercase;
}
.lp-portfolio-more{text-align:center; margin-top:clamp(2.2rem,4vw,3rem);}

/* ---- Como trabalhamos: 4-step process ---- */
.lp-process-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:clamp(1.5rem,3vw,2.2rem);
}
.lp-step{position:relative; padding-top:.5rem;}
.lp-step-num{
  font-family:'Source Serif 4',serif;
  font-weight:300;
  font-size:clamp(2.6rem,5vw,3.6rem);
  color:var(--sage-light);
  opacity:.55;
  line-height:1;
  margin-bottom:.8rem;
}
.lp-step h3{font-size:1.1rem; font-weight:400; margin-bottom:.6rem;}
.lp-step p{color:var(--ink-soft); font-size:.95rem; line-height:1.6;}
.lp-process-cta{text-align:center; margin-top:clamp(2.5rem,4vw,3.2rem);}

/* ---- Especialidades: compact band, no photo (an awkward crop of the only
   available room photo did more harm than good — a short pill band reads
   cleaner and keeps the page moving) ---- */
.lp-specialties-band{padding:clamp(2.2rem,4vw,3rem) 0;}
.lp-specialties-pills{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:.7rem;
  max-width:900px;
  margin:0 auto;
}
.lp-specialty-pill{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--line);
  border-radius:999px;
  padding:.6rem 1.3rem;
  font-size:.85rem;
  color:var(--ink-soft);
  background:var(--paper);
}

/* ---- Depoimentos: one-at-a-time slider (photo + quote + author) ---- */
.lp-testimonial-slider{position:relative;}
.lp-testimonial-track{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -ms-overflow-style:none;
  cursor:grab;
}
.lp-testimonial-track::-webkit-scrollbar{display:none;}
.lp-testimonial-track.is-dragging{scroll-snap-type:none; cursor:grabbing; user-select:none;}
.lp-testimonial-slide{
  flex:0 0 100%;
  scroll-snap-align:start;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(1.5rem,4vw,3rem);
  align-items:center;
}
.lp-testimonial-media{border-radius:10px; overflow:hidden; aspect-ratio:4/3;}
.lp-testimonial-media img{width:100%; height:100%; object-fit:cover;}
.lp-testimonial-content p{
  font-family:'Source Serif 4',serif;
  font-style:italic;
  font-weight:300;
  font-size:clamp(1.05rem,1.8vw,1.3rem);
  line-height:1.6;
  color:var(--ink);
  margin-bottom:1.4rem;
}
.lp-testimonial-author strong{display:block; font-size:.95rem; font-weight:600;}
.lp-testimonial-author span{display:block; font-size:.82rem; color:var(--ink-soft); margin-top:.15rem;}
.lp-testimonial-nav{
  display:flex; align-items:center; justify-content:center;
  gap:1.4rem;
  margin-top:clamp(1.8rem,3vw,2.4rem);
}
.lp-testimonial-arrow{
  width:42px; height:42px; border-radius:50%;
  border:1px solid var(--line);
  background:var(--paper);
  display:flex; align-items:center; justify-content:center;
  color:var(--sage-dark);
  cursor:pointer;
  transition:background .3s, border-color .3s;
}
.lp-testimonial-arrow:hover{background:var(--sage); border-color:var(--sage); color:#fff;}
.lp-testimonial-arrow svg{width:16px; height:16px;}
.lp-testimonial-dots{display:flex; gap:.5rem;}
.lp-testimonial-dots button{
  width:8px; height:8px; border-radius:50%;
  border:none; padding:0;
  background:var(--line);
  cursor:pointer;
  transition:background .3s, transform .3s;
}
.lp-testimonial-dots button.active{background:var(--sage); transform:scale(1.3);}

/* ---- Fale conosco: form is the only CTA on the page ---- */
.lp-contact-form-wrap{max-width:640px; margin:0 auto;}

/* ---- Footer variant with fewer columns (landing page: no site nav leak) ---- */
.footer-columns.cols-2{grid-template-columns:1.4fr 1fr;}

@media (max-width: 860px){
  .projects-grid{grid-template-columns:repeat(2, 1fr);}
  .project-hero{height:52vh;}
  .split-media.portrait{aspect-ratio:3/2;}
  .project-gallery.mosaic{grid-template-columns:repeat(2, 1fr); grid-auto-rows:150px;}
  .imprensa-hero-grid{grid-template-columns:repeat(3, 1fr);}
  .press-strip .container{gap:1.6rem 2.2rem;}
  .press-grid{grid-template-columns:repeat(2, 1fr);}
  .contato-hero{height:38vh; min-height:260px;}
  .contato-grid{grid-template-columns:1fr; gap:3rem;}
  .lp-hero{height:auto; min-height:460px; padding:8rem 0 3rem;}
  .lp-portfolio-grid{grid-template-columns:repeat(2, 1fr);}
  .lp-process-grid{grid-template-columns:repeat(2, 1fr); gap:2.2rem 1.5rem;}
  .lp-testimonial-slide{grid-template-columns:1fr;}
}
@media (max-width: 560px){
  .press-grid{grid-template-columns:1fr; gap:1.6rem;}
  .projects-grid{grid-template-columns:1fr;}
  .lp-portfolio-grid{grid-template-columns:1fr;}
  .lp-process-grid{grid-template-columns:1fr;}
}

/* ---- Imprensa: filters (projeto chips + veículo logos) ---- */
.press-filters{padding:clamp(2rem,4vw,3rem) 0 0;}
.press-chips{display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; margin-bottom:1.6rem;}
.press-chip{
  border:1px solid var(--line); background:transparent; color:var(--ink-soft);
  border-radius:999px; padding:.55rem 1.2rem;
  font-family:inherit; font-size:.8rem; letter-spacing:.04em; cursor:pointer;
  transition:background .25s var(--ease), color .25s, border-color .25s;
}
.press-chip:hover{border-color:var(--sage); color:var(--sage-dark);}
.press-chip.active{background:var(--sage); border-color:var(--sage); color:#fff;}
.press-veiculos{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  gap:.8rem 1.4rem;
  padding-bottom:clamp(1.6rem,3vw,2.4rem);
  border-bottom:1px solid var(--line);
}
.press-veiculo{
  border:1px solid transparent; background:#fff; border-radius:8px;
  padding:.5rem .8rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  opacity:.55; filter:grayscale(1);
  font-family:inherit; font-size:.72rem; color:var(--ink);
  transition:opacity .25s var(--ease), filter .25s var(--ease), border-color .25s;
}
.press-veiculo img{height:22px; width:auto; display:block;}
.press-veiculo:hover{opacity:.9; filter:none;}
.press-veiculo.active{opacity:1; filter:none; border-color:var(--sage);}
.press-card.is-hidden{display:none;}
.press-card-project{
  display:block; margin-top:.9rem;
  font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--sage);
}
.press-logo-text{
  display:inline-block; font-size:.78rem; font-weight:600; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ink); line-height:clamp(28px,3vw,36px);
}
.press-card-body .press-logo{display:flex; align-items:center; min-height:clamp(28px,3vw,36px);}
.press-empty{text-align:center; color:var(--ink-soft); padding:0 var(--gap) clamp(3rem,6vw,5rem);}
.press-empty[hidden]{display:none;}
.press-clear{border:none; background:none; padding:0; margin-left:.4rem; font:inherit; color:var(--sage); text-decoration:underline; cursor:pointer;}
