/* Serra Azul premium continuation — visual-only polish after Work handoff.
   Scope: native editorial Home sections only. Hero and program cards are intentionally untouched. */

:root{
  --gb-polish-red:#e7232b;
  --gb-polish-red-soft:rgba(231,35,43,.16);
  --gb-polish-line:rgba(255,255,255,.10);
  --gb-polish-panel:rgba(255,255,255,.025);
  --gb-polish-ease:cubic-bezier(.22,1,.36,1);
}

body.gb-editorial-home .gb-editorial{
  --gb-section-glow:rgba(231,35,43,.07);
}

/* Replace hard section cuts with shallow transition zones that do not consume layout space. */
body.gb-editorial-home .gb-editorial::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:clamp(54px,7vw,92px);
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.018));
  opacity:.8;
}

body.gb-editorial-home .gb-legacy-native::before,
body.gb-editorial-home .gb-people-native::before,
body.gb-editorial-home .gb-professors-native::before,
body.gb-editorial-home .gb-schedule-native::before,
body.gb-editorial-home .gb-location-native::before{
  content:"";
  position:absolute;
  width:min(48vw,680px);
  aspect-ratio:1;
  border-radius:50%;
  pointer-events:none;
  filter:blur(16px);
  background:radial-gradient(circle,var(--gb-section-glow),transparent 68%);
  opacity:.72;
  z-index:-1;
}

body.gb-editorial-home .gb-legacy-native::before{right:-18vw;top:-26%}
body.gb-editorial-home .gb-people-native::before{left:-22vw;top:18%}
body.gb-editorial-home .gb-professors-native::before{right:-20vw;top:8%}
body.gb-editorial-home .gb-schedule-native::before{left:-22vw;bottom:-16%}
body.gb-editorial-home .gb-location-native::before{right:-18vw;top:12%}

/* Editorial intro / value panel. */
body.gb-editorial-home .gb-intro-native .gb-editorial-support{
  position:relative;
  overflow:hidden;
  border-color:rgba(255,255,255,.12)!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.012) 58%),
    radial-gradient(circle at 100% 0,rgba(231,35,43,.10),transparent 42%)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.16);
}
body.gb-editorial-home .gb-intro-native .gb-editorial-support::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:72px;
  height:2px;
  background:linear-gradient(90deg,var(--gb-polish-red),transparent);
}
body.gb-editorial-home .gb-value-strip>div{
  position:relative;
  min-width:0;
}
body.gb-editorial-home .gb-value-strip strong{
  letter-spacing:-.02em;
}

/* A Escola: media and values read as one deliberate composition. */
body.gb-editorial-home .gb-school-bottom{
  position:relative;
}
body.gb-editorial-home .gb-school-media{
  box-shadow:0 28px 90px rgba(0,0,0,.24);
}
body.gb-editorial-home .gb-school-values>div{
  position:relative;
  padding-right:8px;
}
body.gb-editorial-home .gb-school-values>div::before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:34px;
  height:1px;
  background:var(--gb-polish-red);
  box-shadow:0 0 12px rgba(231,35,43,.24);
}

/* Requested micro-fix: only move the A ESCOLA label above the existing red rule. */
body.gb-editorial-home #escola .gb-editorial-kicker{
  position:relative;
  top:-18px;
}

/* Pessoas reais: consistent framing, no floating-photo effect. */
body.gb-editorial-home .gb-people-native .mosaic figure{
  box-shadow:0 24px 72px rgba(0,0,0,.22);
  transition:transform .5s var(--gb-polish-ease),border-color .35s ease,box-shadow .5s var(--gb-polish-ease);
}
body.gb-editorial-home .gb-people-native .mosaic figcaption{
  min-height:54px;
  display:flex;
  align-items:center;
  border-top:1px solid rgba(255,255,255,.08);
}

/* Professors: stronger hierarchy and depth while preserving every approved photo and biography. */
body.gb-editorial-home .gb-professors-native .professor-card{
  position:relative;
  isolation:isolate;
  box-shadow:0 34px 100px rgba(0,0,0,.18)!important;
  transition:border-color .4s ease,box-shadow .5s var(--gb-polish-ease),transform .5s var(--gb-polish-ease)!important;
}
body.gb-editorial-home .gb-professors-native .professor-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:2px;
  height:100%;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(180deg,var(--gb-polish-red),rgba(231,35,43,.12) 58%,transparent);
  opacity:.9;
}
body.gb-editorial-home #italo-seixas::before{
  left:auto;
  right:0;
}
body.gb-editorial-home .gb-professors-native .professor-media{
  overflow:hidden;
  border-right:1px solid rgba(255,255,255,.07);
}
body.gb-editorial-home #italo-seixas .professor-media{
  border-right:0;
  border-left:1px solid rgba(255,255,255,.07);
}
body.gb-editorial-home .gb-professors-native .professor-rank{
  border-top:1px solid rgba(255,255,255,.08);
}
body.gb-editorial-home .gb-professors-native .professor-bio summary{
  position:relative;
  padding-right:34px!important;
}
body.gb-editorial-home .gb-professors-native .professor-bio summary::after{
  content:"+";
  position:absolute;
  right:2px;
  top:50%;
  transform:translateY(-50%);
  color:#ff626b;
  font-size:18px;
  font-weight:400;
  transition:transform .3s var(--gb-polish-ease);
}
body.gb-editorial-home .gb-professors-native .professor-bio[open] summary::after{
  transform:translateY(-50%) rotate(45deg);
}

/* Schedule: make the native replacement feel designed, not tabular. */
body.gb-editorial-home .gb-schedule-grid{
  align-items:stretch;
}
body.gb-editorial-home .gb-schedule-day{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,255,255,.032),rgba(255,255,255,.012))!important;
  box-shadow:0 18px 58px rgba(0,0,0,.10);
  transition:transform .4s var(--gb-polish-ease),border-color .3s ease,background .3s ease,box-shadow .4s var(--gb-polish-ease);
}
body.gb-editorial-home .gb-schedule-day::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:2px;
  background:linear-gradient(90deg,var(--gb-polish-red),rgba(231,35,43,.10),transparent 72%);
}
body.gb-editorial-home .gb-schedule-day h3{
  letter-spacing:.01em;
}
body.gb-editorial-home .gb-schedule-day time{
  letter-spacing:-.02em;
}
body.gb-editorial-home .gb-schedule-legend{
  margin-top:10px;
}

/* CTA / location / FAQ / footer close the page as one continuous system. */
body.gb-editorial-home .trial-band{
  position:relative;
  overflow:hidden;
  box-shadow:inset 0 1px rgba(255,255,255,.04),inset 0 -1px rgba(255,255,255,.04);
}
body.gb-editorial-home .trial-band::after{
  content:"";
  position:absolute;
  width:420px;
  aspect-ratio:1;
  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
  right:-150px;
  top:-190px;
  box-shadow:0 0 0 70px rgba(255,255,255,.012),0 0 0 140px rgba(255,255,255,.008);
  pointer-events:none;
}
body.gb-editorial-home .gb-location-native .location-visual{
  box-shadow:0 26px 82px rgba(0,0,0,.18);
}
body.gb-editorial-home .gb-location-native .contact-list a{
  position:relative;
  overflow:hidden;
  transition:border-color .3s ease,background .3s ease,transform .3s var(--gb-polish-ease)!important;
}
body.gb-editorial-home .gb-faq-native .faq-list details{
  transition:border-color .3s ease,background .3s ease;
}
body.gb-editorial-home .gb-faq-native .faq-list details[open]{
  border-color:rgba(231,35,43,.28)!important;
  background:rgba(255,255,255,.018)!important;
}
body.gb-editorial-home .gb-footer-native{
  position:relative;
  overflow:hidden;
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}
body.gb-editorial-home .gb-footer-native::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gb-polish-red),transparent);
  opacity:.55;
}

@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  body.gb-editorial-home .gb-people-native .mosaic figure:hover{
    transform:translateY(-5px);
    border-color:rgba(231,35,43,.26);
    box-shadow:0 34px 94px rgba(0,0,0,.28);
  }
  body.gb-editorial-home .gb-professors-native .professor-card:hover{
    transform:translateY(-4px)!important;
    border-color:rgba(231,35,43,.28)!important;
    box-shadow:0 44px 120px rgba(0,0,0,.27)!important;
  }
  body.gb-editorial-home .gb-schedule-day:hover{
    transform:translateY(-4px);
    border-color:rgba(231,35,43,.30);
    background:rgba(255,255,255,.035)!important;
    box-shadow:0 28px 76px rgba(0,0,0,.18);
  }
  body.gb-editorial-home .gb-location-native .contact-list a:hover{
    transform:translateX(3px);
    border-color:rgba(231,35,43,.30)!important;
    background:rgba(255,255,255,.025)!important;
  }
}

@media (max-width:899px){
  body.gb-editorial-home .gb-editorial::after{
    height:52px;
    opacity:.55;
  }
  body.gb-editorial-home .gb-legacy-native::before,
  body.gb-editorial-home .gb-people-native::before,
  body.gb-editorial-home .gb-professors-native::before,
  body.gb-editorial-home .gb-schedule-native::before,
  body.gb-editorial-home .gb-location-native::before{
    width:82vw;
    opacity:.42;
  }
  body.gb-editorial-home .gb-school-media,
  body.gb-editorial-home .gb-people-native .mosaic figure,
  body.gb-editorial-home .gb-professors-native .professor-card,
  body.gb-editorial-home .gb-schedule-day,
  body.gb-editorial-home .gb-location-native .location-visual{
    box-shadow:0 18px 54px rgba(0,0,0,.18)!important;
  }
  body.gb-editorial-home .gb-professors-native .professor-card::before{
    left:0!important;
    right:auto!important;
    width:100%;
    height:2px;
    background:linear-gradient(90deg,var(--gb-polish-red),rgba(231,35,43,.10),transparent 72%);
  }
  body.gb-editorial-home .gb-professors-native .professor-media,
  body.gb-editorial-home #italo-seixas .professor-media{
    border-left:0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.07);
  }
  body.gb-editorial-home .trial-band::after{
    width:280px;
    right:-150px;
    top:-120px;
  }
}

@media (prefers-reduced-motion:reduce){
  body.gb-editorial-home .gb-people-native .mosaic figure,
  body.gb-editorial-home .gb-professors-native .professor-card,
  body.gb-editorial-home .gb-schedule-day,
  body.gb-editorial-home .gb-location-native .contact-list a{
    transform:none!important;
    transition:none!important;
  }
}
