/* Abertura editorial: o projeto em movimento ocupa toda a largura, sem moldura. */
.hero-grid{
  position:relative;
  display:block;
  width:100%;
  max-width:none;
  min-height:clamp(560px,calc(100svh - 180px),720px);
  border:0;
  isolation:isolate;
  background:#102b30;
  overflow:hidden;
}
.hero-grid::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,#102b30 0%,rgba(16,43,48,.98) 19%,rgba(16,43,48,.88) 39%,rgba(16,43,48,.38) 60%,rgba(16,43,48,.04) 84%),
    linear-gradient(0deg,rgba(6,25,29,.34),transparent 32%);
}
.hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
  border:0;
  background:#102b30;
  overflow:hidden;
}
.hero-image>.hero-poster,
.hero-image>.hero-video{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center 48%;
  filter:none;
}
.hero-image>.hero-poster{transform:none;will-change:auto}
.hero-image>.hero-video{z-index:1}
.hero-image figcaption{
  position:absolute;
  z-index:3;
  top:auto;
  right:max(28px,calc((100vw - 1480px)/2 + 12px));
  bottom:22px;
  left:auto;
  display:flex;
  align-items:center;
  gap:22px;
  width:auto;
  min-height:0;
  padding:9px 13px;
  border:1px solid rgba(230,246,239,.3);
  background:rgba(10,34,39,.78);
  color:#edf8f2;
  backdrop-filter:blur(10px);
}
.hero-video-toggle{
  border:0;
  border-left:1px solid rgba(230,246,239,.35);
  padding:3px 0 3px 18px;
  background:transparent;
  color:#d9f1e8;
  font:inherit;
  letter-spacing:inherit;
  white-space:nowrap;
}
.hero-video-toggle:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.hero-copy{
  position:relative;
  z-index:2;
  width:min(60%,940px);
  min-height:clamp(560px,calc(100svh - 180px),720px);
  margin-right:auto;
  padding:clamp(32px,3.5vw,56px) clamp(28px,3vw,55px) 32px max(42px,calc((100vw - 1480px)/2 + 38px));
  color:#f6faf7;
}
.hero-copy>.eyebrow{color:#a7ded1}
.hero h1{
  max-width:760px;
  margin:clamp(42px,5vw,80px) 0 0;
  font-size:clamp(52px,5.25vw,86px);
  line-height:1.035;
  color:#f6faf7;
}
.hero h1 em{color:#a7dfd1}
.hero-lead{max-width:590px;color:#d8e8e1}
.hero-note{color:#a8c7bc}
.hero-actions .button-dark{background:#b9e5d8;color:#102b30}
.hero-actions .button-dark:hover{background:#e7f5ef;color:#102b30}
.hero-actions .text-link{color:#f1f8f4;border-color:#a2c5ba}
.hero-actions .text-link:hover{color:#b9e5d8}

@media(max-width:1100px) and (min-width:901px){
  .hero-copy{width:66%;padding-left:35px}
  .hero h1{font-size:clamp(48px,5.5vw,61px)}
}
@media(max-width:900px){
  .hero-grid{min-height:clamp(650px,calc(100svh - 150px),780px)}
  .hero-grid::before{
    background:linear-gradient(0deg,#102b30 0%,rgba(16,43,48,.98) 31%,rgba(16,43,48,.86) 54%,rgba(16,43,48,.28) 79%,rgba(16,43,48,.04) 100%);
  }
  .hero-image{height:100%;min-height:0;border:0}
  .hero-image>.hero-poster,.hero-image>.hero-video{height:100%;min-height:0;object-position:72% center}
  .hero-copy{
    width:100%;
    min-height:clamp(650px,calc(100svh - 150px),780px);
    margin:0;
    padding:clamp(42px,5vw,60px) 6vw 85px;
    justify-content:flex-end;
  }
  .hero-copy>.eyebrow{margin-top:auto}
  .hero h1{max-width:750px;margin:22px 0 0;font-size:clamp(55px,7.6vw,76px)}
  .hero-lead{max-width:650px}
  .hero-note{margin-top:24px;padding-top:0}
  .hero-image figcaption{bottom:13px;left:6vw}
  .hero-image figcaption{right:auto}
}
@media(max-width:680px){
  .hero-grid,.hero-copy{min-height:clamp(675px,calc(100svh - 115px),790px)}
  .hero-copy{padding:24px 22px 88px}
  .hero h1{font-size:clamp(45px,10.4vw,62px);margin-top:17px}
  .hero-lead{font-size:13px;line-height:1.55;margin-top:20px}
  .hero-actions{margin-top:22px;gap:17px}
  .hero-note{font-size:9px;line-height:1.6;margin-top:22px}
  .hero-image>.hero-poster,.hero-image>.hero-video{object-position:78% center}
  .hero-image figcaption{left:15px;bottom:12px;gap:12px;font-size:8px;padding:7px 9px}
  .hero-video-toggle{padding-left:11px}
}
@media(max-width:390px){
  .hero-grid,.hero-copy{min-height:700px}
  .hero h1{font-size:44px}
  .hero-image figcaption{font-size:7px}
}
@media(prefers-reduced-motion:reduce){
  .hero-video{display:none!important}
  .hero-video-toggle{display:none!important}
}
