:root{
  --green:#073f3b;
  --green-dark:#052b29;
  --gold:#c59b4b;
  --paper:#f2efe8;
  --ink:#0a1716;
  --line:rgba(10,23,22,.18);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",sans-serif;background:var(--paper);color:var(--ink);overflow-x:hidden}
img,video{width:100%;display:block}
a{color:inherit;text-decoration:none}
.topbar{position:fixed;inset:0 0 auto;z-index:1000;height:82px;padding:0 34px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;mix-blend-mode:difference}
.logo{display:flex;align-items:center;gap:10px;font-family:"Manrope",sans-serif;font-weight:700;letter-spacing:-.03em}
.logo img{width:35px;height:35px;object-fit:contain}
.logo span{font-size:18px}.logo small{font-size:9px;text-transform:uppercase;letter-spacing:.18em;display:block;font-weight:500}
.topbar nav{display:flex;gap:28px;font-size:12px}
.top-contact{justify-self:end;font-size:12px;border-bottom:1px solid currentColor;padding-bottom:4px}
.menu-btn{display:none;background:none;border:0;color:inherit}
.hero{height:100svh;position:relative;color:#fff;overflow:hidden}
.hero video{height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,24,22,.8),rgba(3,24,22,.15) 70%),linear-gradient(0deg,rgba(3,24,22,.68),transparent 50%)}
.hero-copy{position:absolute;inset:auto 5vw 8vh;max-width:1200px}
.kicker,.section-label{font:600 10px/1 "Manrope",sans-serif;letter-spacing:.22em}
.hero h1{font:500 clamp(60px,9vw,140px)/.82 "Playfair Display",serif;letter-spacing:-.055em;margin:28px 0 40px}
.hero h1 em,.experience h2 em,.feature-copy h2 em{font-weight:500;color:#d6b36c}
.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px;max-width:950px}
.hero-bottom p{max-width:510px;font-size:17px;line-height:1.55;color:rgba(255,255,255,.8)}
.hero-bottom a{display:flex;gap:42px;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:10px;font-size:13px}
.hero-index{position:absolute;right:35px;bottom:30px;font-size:10px;letter-spacing:.16em}
.manifesto{min-height:62vh;padding:10vw 8vw;display:grid;grid-template-columns:.35fr 1fr;gap:10vw;align-items:start}
.manifesto-number{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--gold)}
.manifesto p{font:500 clamp(42px,6vw,88px)/1.02 "Playfair Display",serif;letter-spacing:-.04em;color:var(--green)}
.editorial{display:grid;grid-template-columns:1.06fr .94fr;min-height:100vh}
.editorial-image img{height:100%;object-fit:cover}
.editorial-copy{padding:9vw 8vw;display:flex;flex-direction:column;justify-content:center}
.editorial h2{font:500 clamp(70px,8vw,120px)/.78 "Playfair Display",serif;letter-spacing:-.06em;color:var(--green);margin:38px 0}
.editorial .lead{font:500 24px/1.35 "Playfair Display",serif;margin-bottom:24px}
.editorial-copy p:not(.lead){color:#596462;line-height:1.7;max-width:570px}
.editorial-link{margin-top:40px;width:max-content;border-bottom:1px solid;padding-bottom:7px;font-size:13px}
.programs{padding:11vw 7vw}
.section-head{margin-bottom:8vw}
.section-head h2{font:500 clamp(50px,7vw,102px)/.95 "Playfair Display",serif;letter-spacing:-.05em;color:var(--green);margin-top:26px}
.program-item{display:grid;grid-template-columns:80px .9fr 1.2fr auto;align-items:start;gap:40px;padding:38px 0;border-top:1px solid var(--line)}
.program-item:last-child{border-bottom:1px solid var(--line)}
.program-no{font-size:11px;color:var(--gold)}
.program-item h3{font:500 clamp(26px,3vw,42px)/1 "Playfair Display",serif}
.program-item p{color:#5f6967;line-height:1.55;max-width:530px}
.program-item a{font-size:12px;border-bottom:1px solid;padding-bottom:5px}
.feature-story{background:#050706;color:#fff;display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.feature-copy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}
.section-label.light{color:#d4b36f}
.feature-copy h2{font:500 clamp(56px,7vw,110px)/.9 "Playfair Display",serif;letter-spacing:-.055em;margin:30px 0 42px}
.feature-copy p{max-width:520px;color:rgba(255,255,255,.6);font-size:18px;line-height:1.6}
.feature-image img{height:100%;object-fit:cover}
.graduates{padding:11vw 5vw;background:#ece8df}
.graduates-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:6vw}
.graduates-head h2{font:500 clamp(50px,6.5vw,96px)/.94 "Playfair Display",serif;letter-spacing:-.05em;color:var(--green);margin-top:25px}
.graduates-head strong{font:500 clamp(54px,7vw,100px)/.8 "Playfair Display",serif;color:var(--green);text-align:right}
.graduates-head small{font:500 11px/1 "DM Sans";display:block;margin-top:18px;text-transform:uppercase;letter-spacing:.15em}
.graduates-grid{display:grid;grid-template-columns:1.3fr .8fr 1fr .75fr 1.1fr;gap:12px;align-items:end}
.graduate{position:relative;overflow:hidden}
.graduate img{height:clamp(330px,42vw,620px);object-fit:cover;filter:saturate(.92)}
.g2 img,.g4 img{height:clamp(280px,34vw,510px)}
.g3 img{height:clamp(360px,46vw,680px)}
.graduate figcaption{position:absolute;left:0;right:0;bottom:0;padding:20px;color:#fff;font-size:11px;background:linear-gradient(transparent,rgba(0,0,0,.65))}
.experience{padding:11vw 5vw}
.experience-head{display:grid;grid-template-columns:.35fr 1fr;gap:8vw;align-items:start}
.experience-head h2{margin-top:0}
.experience-layout{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:58vw 35vw;gap:14px}
.experience-layout figure{position:relative;overflow:hidden}
.experience-layout img{height:100%;object-fit:cover}
.exp-main{grid-row:1}.exp-side{grid-row:1}.exp-wide{grid-column:1/span 2}
.experience-layout figcaption{position:absolute;bottom:18px;left:20px;background:rgba(242,239,232,.92);padding:10px 13px;font-size:10px;text-transform:uppercase;letter-spacing:.13em}
.experience-notes{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid var(--line)}
.experience-notes p{padding:25px 0;border-right:1px solid var(--line);font:500 20px "Playfair Display",serif}
.experience-notes p:not(:first-child){padding-left:25px}
.closing{display:grid;grid-template-columns:1fr 1fr;min-height:90vh;background:var(--green);color:#fff}
.closing-image img{height:100%;object-fit:cover}
.closing-copy{padding:8vw;display:flex;flex-direction:column;justify-content:center}
.closing h2{font:500 clamp(54px,7vw,104px)/.92 "Playfair Display",serif;letter-spacing:-.05em;margin:30px 0 45px}
.closing-copy a{display:flex;align-items:center;gap:12px;width:max-content;background:#fff;color:var(--green);padding:16px 22px;border-radius:999px;font-size:13px;font-weight:600}
.closing-copy svg{width:21px}
footer{background:#031f1e;color:#fff;padding:65px 5vw 30px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:30px}
footer p{color:rgba(255,255,255,.55);font-size:12px}
footer>div{display:flex;gap:25px;justify-content:flex-end;font-size:12px}
.wa-float{position:fixed;right:22px;bottom:22px;z-index:1000;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:white;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.wa-float svg{width:27px}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s ease,transform .9s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){
  .topbar{grid-template-columns:1fr auto;padding:0 18px}.topbar nav,.top-contact{display:none}.menu-btn{display:block}
  .manifesto{grid-template-columns:1fr;gap:40px}
  .editorial,.feature-story,.closing{grid-template-columns:1fr}
  .editorial-image,.feature-image,.closing-image{height:75vh}
  .program-item{grid-template-columns:45px 1fr}.program-item p,.program-item a{grid-column:2}
  .graduates-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.graduate{min-width:75vw;scroll-snap-align:start}.graduate img,.g2 img,.g3 img,.g4 img{height:72vh}
  .experience-head{grid-template-columns:1fr;gap:25px}
  .experience-layout{grid-template-columns:1fr;grid-template-rows:none}.experience-layout figure{height:70vh}.exp-wide{grid-column:auto}
  .experience-notes{grid-template-columns:1fr}.experience-notes p{border-right:0;border-bottom:1px solid var(--line);padding-left:0!important}
  footer{grid-template-columns:1fr;align-items:start}footer>div{justify-content:flex-start}
}
@media(max-width:600px){
  .hero h1{font-size:58px}.hero-copy{left:20px;right:20px}.hero-bottom{display:block}.hero-bottom a{margin-top:28px;width:max-content}
  .manifesto{padding:100px 20px}.manifesto p{font-size:42px}
  .editorial-copy,.feature-copy,.closing-copy{padding:80px 22px}.editorial h2{font-size:68px}
  .programs,.graduates,.experience{padding:95px 18px}
  .section-head h2,.graduates-head h2{font-size:47px}
  .graduates-head{display:block}.graduates-head strong{display:block;text-align:left;margin-top:40px}
}


/* MODIFICAÇÃO 5 — Depoimentos e animações editoriais */
.testimonials{
  position:relative;
  overflow:hidden;
  padding:11vw 5vw;
  background:#fff;
}
.testimonials:before{
  content:"“";
  position:absolute;
  right:3vw;
  top:2vw;
  font:500 28vw/1 "Playfair Display",serif;
  color:rgba(7,63,59,.035);
  pointer-events:none;
}
.testimonials-head{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:8vw;
  align-items:end;
  margin-bottom:70px;
}
.testimonials-head h2{
  margin-top:25px;
  font:500 clamp(50px,6.5vw,96px)/.94 "Playfair Display",serif;
  letter-spacing:-.05em;
  color:var(--green);
}
.testimonials-head p{
  max-width:500px;
  color:#65706e;
  line-height:1.7;
}
.testimonials-shell{
  position:relative;
  display:grid;
  grid-template-columns:54px 1fr 54px;
  align-items:center;
  gap:16px;
}
.testimonials-viewport{
  overflow:hidden;
}
.testimonials-track{
  display:flex;
  gap:18px;
  transition:transform .65s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.testimonial-card{
  flex:0 0 calc((100% - 36px)/3);
  min-height:360px;
  padding:30px;
  border:1px solid rgba(7,63,59,.14);
  background:rgba(242,239,232,.58);
  display:flex;
  flex-direction:column;
  transition:transform .35s ease,background .35s ease,border-color .35s ease;
}
.testimonial-card:hover{
  transform:translateY(-9px);
  background:#f4efe5;
  border-color:rgba(197,155,75,.55);
}
.testimonial-top{
  display:flex;
  align-items:center;
  gap:13px;
}
.testimonial-avatar{
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:var(--green);
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
}
.testimonial-top strong{
  display:block;
  font-size:14px;
}
.testimonial-top small{
  display:block;
  margin-top:4px;
  color:#7a8482;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.stars{
  margin:25px 0 18px;
  color:#d2a13f;
  font-size:16px;
  letter-spacing:5px;
}
.testimonial-card blockquote{
  color:#34413f;
  font:500 20px/1.48 "Playfair Display",serif;
}
.testimonial-course{
  margin-top:auto;
  padding-top:28px;
  color:#8b6c32;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.testimonial-arrow{
  width:48px;
  height:48px;
  border:1px solid rgba(7,63,59,.25);
  border-radius:50%;
  background:transparent;
  color:var(--green);
  cursor:pointer;
  transition:.25s ease;
}
.testimonial-arrow:hover{
  background:var(--green);
  color:#fff;
}
.testimonial-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:32px;
}
.testimonial-dot{
  width:7px;
  height:7px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(7,63,59,.22);
  cursor:pointer;
  transition:.25s;
}
.testimonial-dot.active{
  width:30px;
  border-radius:10px;
  background:var(--gold);
}
.testimonial-note{
  margin-top:23px;
  text-align:center;
  color:#8a9391;
  font-size:9px;
  letter-spacing:.03em;
}

/* Animações editoriais adicionais */
.reveal{
  opacity:0;
  transform:translateY(52px);
  transition:
    opacity 1s cubic-bezier(.22,.61,.36,1),
    transform 1s cubic-bezier(.22,.61,.36,1);
}
.reveal.visible{
  opacity:1;
  transform:none;
}
.reveal-stagger > *{
  opacity:0;
  transform:translateY(34px);
}
.reveal-stagger.visible > *{
  opacity:1;
  transform:none;
  transition:opacity .8s ease,transform .8s ease;
}
.reveal-stagger.visible > *:nth-child(2){transition-delay:.10s}
.reveal-stagger.visible > *:nth-child(3){transition-delay:.20s}
.reveal-stagger.visible > *:nth-child(4){transition-delay:.30s}
.reveal-stagger.visible > *:nth-child(5){transition-delay:.40s}
.reveal-stagger.visible > *:nth-child(6){transition-delay:.50s}

[data-parallax]{
  will-change:transform;
  transition:transform .08s linear;
}
.program-item,
.graduate,
.experience-layout figure{
  transition:transform .7s cubic-bezier(.22,.61,.36,1),filter .7s ease;
}
.program-item:hover{
  transform:translateX(12px);
}
.graduate:hover,
.experience-layout figure:hover{
  transform:scale(.985);
}
.graduate img,
.experience-layout img,
.editorial-image img,
.feature-image img,
.closing-image img{
  transition:transform 1.2s cubic-bezier(.22,.61,.36,1);
}
.graduate:hover img,
.experience-layout figure:hover img{
  transform:scale(1.045);
}

@media(max-width:900px){
  .testimonials-head{
    grid-template-columns:1fr;
    gap:24px;
  }
  .testimonial-card{
    flex-basis:calc((100% - 18px)/2);
  }
}
@media(max-width:600px){
  .testimonials{
    padding:95px 18px;
  }
  .testimonials-head h2{
    font-size:47px;
  }
  .testimonials-shell{
    grid-template-columns:1fr;
  }
  .testimonial-arrow{
    position:absolute;
    z-index:4;
    top:50%;
    transform:translateY(-50%);
    background:rgba(255,255,255,.92);
  }
  .testimonial-prev{left:7px}
  .testimonial-next{right:7px}
  .testimonial-card{
    flex-basis:100%;
    min-height:390px;
    padding:28px;
  }
}
@media(prefers-reduced-motion:reduce){
  *{
    scroll-behavior:auto!important;
    animation:none!important;
    transition-duration:.01ms!important;
  }
  [data-parallax]{
    transform:none!important;
  }
}


/* MODIFICAÇÃO 6 — Hero que encolhe durante o scroll */
.hero-stage{
  position:relative;
  height:145svh;
  background:var(--paper);
}
.hero-stage .hero{
  position:sticky;
  top:0;
  width:100%;
  height:100svh;
  transform-origin:center top;
  will-change:transform,border-radius;
  overflow:hidden;
  z-index:2;
}
.hero-stage .hero video,
.hero-stage .hero .hero-shade{
  will-change:transform,opacity;
}
.hero-stage .hero-copy,
.hero-stage .hero-index{
  will-change:opacity,transform;
}
.hero-stage.is-shrinking .hero{
  box-shadow:0 28px 80px rgba(4,30,28,.25);
}
.hero-stage + .manifesto{
  position:relative;
  z-index:3;
  background:var(--paper);
}

/* Em celulares o efeito é mais discreto para evitar travamentos */
@media(max-width:700px){
  .hero-stage{
    height:125svh;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-stage{
    height:auto;
  }
  .hero-stage .hero{
    position:relative;
    transform:none!important;
    border-radius:0!important;
  }
  .hero-stage .hero-copy,
  .hero-stage .hero-index{
    opacity:1!important;
    transform:none!important;
  }
}


/* MODIFICAÇÃO 7 — indicação de arraste na galeria de formandos */
.graduates-swipe-hint{
  display:none;
}
@media(max-width:900px){
  .graduates{
    position:relative;
  }
  .graduates-grid{
    padding-bottom:18px;
    scroll-padding-left:18px;
    scrollbar-width:none;
  }
  .graduates-grid::-webkit-scrollbar{
    display:none;
  }
  .graduates-grid:after{
    content:"";
    flex:0 0 14vw;
  }
  .graduates-swipe-hint{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:max-content;
    max-width:calc(100% - 36px);
    margin:22px auto 0;
    padding:11px 16px;
    border:1px solid rgba(197,155,75,.45);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:#f0d28b;
    font-size:11px;
    font-weight:600;
    letter-spacing:.03em;
    backdrop-filter:blur(8px);
    animation:swipeHintPulse 2.2s ease-in-out infinite;
  }
  .swipe-hand{
    display:inline-block;
    font-size:17px;
    animation:swipeHandMove 1.7s ease-in-out infinite;
  }
  .swipe-arrows{
    font-size:18px;
    letter-spacing:2px;
  }
  .graduates-grid .graduate:last-child{
    margin-right:10vw;
  }
}
@keyframes swipeHandMove{
  0%,100%{transform:translateX(-4px)}
  50%{transform:translateX(7px)}
}
@keyframes swipeHintPulse{
  0%,100%{opacity:.78}
  50%{opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .graduates-swipe-hint,
  .swipe-hand{
    animation:none!important;
  }
}


/* MODIFICAÇÃO 8 — remoção da faixa vazia e reconhecimento mais natural */
.manifesto{
  display:none!important;
}

.recognition-clean{
  position:relative;
  overflow:hidden;
  padding:90px 0;
  background:
    radial-gradient(circle at 92% 8%,rgba(197,155,75,.11),transparent 28%),
    #070908;
  color:#fff;
}
.recognition-clean:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.015),transparent 45%);
}
.recognition-inner{
  position:relative;
  z-index:2;
  width:min(1240px,calc(100% - 40px));
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(380px,.9fr) minmax(420px,1.1fr);
  gap:74px;
  align-items:center;
}
.recognition-media{
  width:100%;
  max-width:540px;
  justify-self:center;
}
.recognition-media img{
  width:100%;
  height:auto;
  max-height:680px;
  object-fit:contain;
  border-radius:24px;
  box-shadow:0 28px 70px rgba(0,0,0,.42);
}
.recognition-copy{
  max-width:650px;
}
.recognition-copy h2{
  margin:26px 0 26px;
  font:500 clamp(48px,5.5vw,82px)/.98 "Playfair Display",serif;
  letter-spacing:-.045em;
  color:#fff;
}
.recognition-copy p{
  max-width:620px;
  color:rgba(255,255,255,.7);
  font-size:17px;
  line-height:1.75;
}
.recognition-card{
  margin-top:34px;
  padding:26px 28px;
  border:1px solid rgba(197,155,75,.52);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(197,155,75,.09),rgba(255,255,255,.015));
}
.recognition-card span,
.recognition-card strong,
.recognition-card small{
  display:block;
}
.recognition-card span{
  color:#d9b660;
  font-size:10px;
  font-weight:700;
  letter-spacing:.24em;
}
.recognition-card strong{
  margin:9px 0 7px;
  font:500 34px/1.1 "Playfair Display",serif;
}
.recognition-card small{
  color:rgba(255,255,255,.55);
  font-size:13px;
}

/* Protege as imagens contra estouro e desalinhamento */
.editorial,
.recognition-clean,
.graduates,
.testimonials,
.experience,
.closing{
  overflow-x:hidden;
}
.editorial-image,
.feature-image,
.closing-image,
.recognition-media{
  min-width:0;
}
.editorial-image img,
.feature-image img,
.closing-image img,
.recognition-media img{
  max-width:100%;
}

@media(max-width:900px){
  .recognition-clean{
    padding:76px 0;
  }
  .recognition-inner{
    grid-template-columns:1fr;
    gap:44px;
  }
  .recognition-media{
    max-width:520px;
  }
  .recognition-copy{
    max-width:none;
  }
}
@media(max-width:600px){
  .recognition-clean{
    padding:64px 0;
  }
  .recognition-inner{
    width:calc(100% - 28px);
    gap:34px;
  }
  .recognition-copy h2{
    font-size:48px;
  }
  .recognition-copy p{
    font-size:15px;
  }
  .recognition-card{
    padding:22px;
  }
  .recognition-card strong{
    font-size:29px;
  }
}


/* MODIFICAÇÃO 9 — formandos no estilo antigo + depoimentos mais compactos */
.graduates{
  position:relative;
  padding:92px 0 78px;
  background:
    radial-gradient(circle at 85% 12%,rgba(197,155,75,.10),transparent 28%),
    linear-gradient(135deg,#063d39,#0a554f);
  color:#fff;
}
.graduates-head{
  width:min(1240px,calc(100% - 40px));
  margin:0 auto 48px;
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:40px;
}
.graduates-head .section-label{
  color:#e2c06f;
}
.graduates-head h2{
  margin-top:22px;
  max-width:880px;
  font:500 clamp(48px,5.5vw,82px)/.98 "Playfair Display",serif;
  letter-spacing:-.045em;
  color:#fff;
}
.graduates-head strong{
  color:#efd07e;
  font:500 clamp(48px,5vw,78px)/.85 "Playfair Display",serif;
  text-align:right;
  white-space:nowrap;
}
.graduates-head small{
  color:rgba(255,255,255,.65);
  font:600 10px/1 "DM Sans",sans-serif;
  letter-spacing:.12em;
}
.graduates-grid{
  width:min(1240px,calc(100% - 40px));
  margin-inline:auto;
  display:flex;
  gap:18px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-padding-left:0;
  padding:0 0 16px;
  scrollbar-width:thin;
  scrollbar-color:#c59b4b rgba(255,255,255,.12);
}
.graduates-grid::-webkit-scrollbar{height:7px}
.graduates-grid::-webkit-scrollbar-thumb{background:#c59b4b;border-radius:99px}
.graduates-grid::-webkit-scrollbar-track{background:rgba(255,255,255,.1);border-radius:99px}
.graduate{
  position:relative;
  flex:0 0 230px;
  height:510px;
  border-radius:24px;
  overflow:hidden;
  scroll-snap-align:start;
  background:#0a2b29;
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}
.graduate img,
.g2 img,
.g3 img,
.g4 img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.graduate:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(2,23,22,.95) 100%);
}
.graduate figcaption{
  position:absolute;
  z-index:2;
  left:20px;
  right:20px;
  bottom:24px;
  padding:0;
  background:none;
  font:500 25px/1.1 "Playfair Display",serif;
  color:#fff;
}
.graduate figcaption:before{
  content:"CERTIFICADO";
  display:block;
  width:max-content;
  margin-bottom:12px;
  padding:6px 10px;
  border:1px solid rgba(197,155,75,.65);
  border-radius:999px;
  color:#f1cf78;
  background:rgba(197,155,75,.12);
  font:700 9px/1 "DM Sans",sans-serif;
  letter-spacing:.14em;
}
.graduates-swipe-hint{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:max-content;
  max-width:calc(100% - 36px);
  margin:20px auto 0;
  padding:10px 15px;
  border:1px solid rgba(241,207,120,.45);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#f1cf78;
  font-size:11px;
  font-weight:600;
  backdrop-filter:blur(8px);
}
.swipe-hand{
  display:inline-block;
  font-size:17px;
  animation:swipeHandMove 1.7s ease-in-out infinite;
}
.swipe-arrows{font-size:18px}
@keyframes swipeHandMove{
  0%,100%{transform:translateX(-4px)}
  50%{transform:translateX(7px)}
}

/* Depoimentos menores e com menos espaço vazio */
.testimonials{
  padding:72px 5vw 60px;
}
.testimonials-head{
  gap:5vw;
  margin-bottom:38px;
}
.testimonials-head h2{
  font-size:clamp(44px,5vw,72px);
}
.testimonials-head p{
  max-width:430px;
  font-size:13px;
}
.testimonial-card{
  min-height:285px;
  padding:24px;
}
.testimonial-card blockquote{
  font-size:17px;
  line-height:1.42;
}
.testimonial-course{
  padding-top:20px;
}
.testimonial-dots{
  margin-top:20px;
}
.testimonial-note{
  margin-top:15px;
}
.testimonials:before{
  font-size:20vw;
}

@media(max-width:900px){
  .graduates{
    padding:74px 0 62px;
  }
  .graduates-head{
    width:calc(100% - 28px);
    align-items:flex-start;
  }
  .graduates-grid{
    width:100%;
    padding-left:14px;
    padding-right:14px;
    scrollbar-width:none;
  }
  .graduates-grid::-webkit-scrollbar{display:none}
  .graduate{
    flex-basis:76vw;
    max-width:340px;
    height:520px;
  }
  .graduates-grid:after{
    content:"";
    flex:0 0 9vw;
  }
}
@media(max-width:600px){
  .graduates-head{
    flex-direction:column;
    gap:24px;
    margin-bottom:34px;
  }
  .graduates-head h2{
    font-size:46px;
  }
  .graduates-head strong{
    text-align:left;
  }
  .testimonial-card{
    min-height:320px;
  }
}
@media(prefers-reduced-motion:reduce){
  .swipe-hand{animation:none!important}
}


/* MODIFICAÇÃO 10 — seção de experiência compacta e correções de desempenho */
.experience{
  padding:78px 0 64px;
  overflow:hidden;
}
.experience-head{
  width:min(1240px,calc(100% - 40px));
  margin:0 auto 42px;
  display:grid;
  grid-template-columns:260px 1fr;
  gap:54px;
  align-items:start;
}
.experience-head .section-label{
  padding-top:10px;
}
.experience-head h2{
  margin:0;
  max-width:760px;
  font-size:clamp(48px,5.4vw,82px);
  line-height:.95;
}
.experience-layout{
  width:min(1240px,calc(100% - 40px));
  margin-inline:auto;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  grid-template-rows:520px 330px;
  gap:14px;
}
.experience-layout figure{
  min-height:0;
}
.experience-layout img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.exp-main{grid-row:1}
.exp-side{grid-row:1}
.exp-wide{grid-column:1 / span 2}
.experience-notes{
  width:min(1240px,calc(100% - 40px));
  margin:28px auto 0;
  grid-template-columns:repeat(3,1fr);
}
.experience-notes p{
  padding:20px 18px;
  font-size:18px;
}
.experience-notes p:first-child{padding-left:0}
.experience-notes p:last-child{border-right:0}

/* Evita saltos e travamentos causados por imagens gigantes e efeitos pesados */
img{
  content-visibility:auto;
}
.editorial-image img,
.recognition-media img,
.graduate img,
.experience-layout img,
.closing-image img{
  transform:none!important;
  will-change:auto!important;
}
[data-parallax]{
  transform:none!important;
  will-change:auto!important;
}
.graduate,
.experience-layout figure,
.program-item{
  will-change:auto!important;
}
.hero-stage .hero,
.hero-stage .hero video,
.hero-stage .hero-copy,
.hero-stage .hero-index{
  will-change:auto;
}

/* Mantém animações leves e reduz o custo de renderização */
.reveal{
  transition-duration:.65s;
}
.testimonials-track{
  will-change:auto;
}

@media(max-width:900px){
  .experience{
    padding:64px 0 54px;
  }
  .experience-head{
    width:calc(100% - 28px);
    grid-template-columns:1fr;
    gap:18px;
    margin-bottom:30px;
  }
  .experience-head .section-label{
    padding-top:0;
  }
  .experience-layout{
    width:calc(100% - 28px);
    grid-template-columns:1fr 1fr;
    grid-template-rows:420px 280px;
  }
  .exp-main{grid-column:1 / span 2}
  .exp-side{grid-row:2}
  .exp-wide{
    grid-column:2;
    grid-row:2;
  }
  .experience-notes{
    width:calc(100% - 28px);
  }
}
@media(max-width:600px){
  .experience{
    padding:54px 0 46px;
  }
  .experience-head h2{
    font-size:44px;
  }
  .experience-layout{
    display:flex;
    overflow-x:auto;
    gap:12px;
    padding-bottom:8px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .experience-layout::-webkit-scrollbar{display:none}
  .experience-layout figure{
    flex:0 0 82vw;
    height:420px;
    scroll-snap-align:start;
  }
  .experience-notes{
    grid-template-columns:1fr;
    margin-top:20px;
  }
  .experience-notes p{
    border-right:0;
    border-bottom:1px solid var(--line);
    padding:16px 0!important;
  }
}


/* MODIFICAÇÃO 11 — títulos simplificados e depoimentos sem cabeçalho */
.graduates-head h2{
  font-size:clamp(58px,7vw,108px);
  line-height:.9;
  max-width:none;
}

/* Depoimentos começam direto pelos comentários */
.testimonials{
  padding:46px 5vw 42px;
}
.testimonials:before{
  display:none!important;
}
.testimonials-head{
  display:none!important;
}
.testimonials-shell{
  margin-top:0;
}
.testimonial-dots{
  margin-top:18px;
}
.testimonial-note{
  display:none!important;
}

@media(max-width:900px){
  .graduates-head h2{
    font-size:72px;
  }
  .testimonials{
    padding:40px 18px 36px;
  }
}
@media(max-width:600px){
  .graduates-head h2{
    font-size:58px;
  }
  .testimonials{
    padding:34px 14px 30px;
  }
}


/* MODIFICAÇÃO 12 — pegadas, tesoura e flash fotográfico */
.paw-trail{
  position:absolute;
  z-index:20;
  display:flex;
  gap:20px;
  pointer-events:none;
  opacity:0;
  transform:translateY(18px);
  transition:opacity .8s ease,transform .8s ease;
}
.paw-trail.visible{
  opacity:.38;
  transform:none;
}
.paw-trail span{
  display:block;
  color:#c59b4b;
  font-size:24px;
  filter:grayscale(1) sepia(1) saturate(4) hue-rotate(355deg);
}
.paw-trail span:nth-child(2){transform:rotate(18deg) translateY(8px)}
.paw-trail span:nth-child(3){transform:rotate(-12deg) translateY(-5px)}
.paw-trail span:nth-child(4){transform:rotate(14deg) translateY(6px)}
.paw-trail-one{
  top:185vh;
  right:5vw;
  transform:rotate(-12deg) translateY(18px);
}
.paw-trail-two{
  top:510vh;
  left:4vw;
  transform:rotate(14deg) translateY(18px);
}
.paw-trail-one.visible,
.paw-trail-two.visible{
  transform:rotate(var(--paw-rotate,0deg));
}

.scissor-divider{
  position:relative;
  width:min(1240px,calc(100% - 40px));
  height:38px;
  margin:0 auto;
  overflow:hidden;
}
.scissor-line{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:1px;
  background:linear-gradient(90deg,transparent,#c59b4b 12%,#c59b4b 88%,transparent);
  transform:scaleX(0);
  transform-origin:left center;
}
.scissor-icon{
  position:absolute;
  left:0;
  top:50%;
  z-index:2;
  transform:translate(-10px,-50%) rotate(-5deg);
  font-size:24px;
  color:#c59b4b;
  opacity:0;
}
.scissor-divider.cut .scissor-line{
  animation:scissorLine .5s ease forwards;
}
.scissor-divider.cut .scissor-icon{
  animation:scissorMove .5s ease forwards;
}
@keyframes scissorLine{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}
@keyframes scissorMove{
  0%{left:0;opacity:0}
  10%{opacity:1}
  100%{left:100%;opacity:0}
}

.experience{
  position:relative;
}
.camera-flash{
  position:absolute;
  inset:0;
  z-index:50;
  pointer-events:none;
  background:#fff;
  opacity:0;
}
.experience.flash-active .camera-flash{
  animation:cameraFlash .42s ease-out;
}
@keyframes cameraFlash{
  0%{opacity:0}
  18%{opacity:.92}
  42%{opacity:.28}
  100%{opacity:0}
}

@media(max-width:700px){
  .paw-trail span{font-size:19px}
  .paw-trail{gap:12px}
  .paw-trail-one{top:165vh;right:2vw}
  .paw-trail-two{top:430vh;left:2vw}
  .scissor-divider{width:calc(100% - 28px)}
}
@media(prefers-reduced-motion:reduce){
  .paw-trail,
  .scissor-divider,
  .camera-flash{
    display:none!important;
  }
}


/* MODIFICAÇÃO 13 — pegadas só na Vera e tesoura ligada ao scroll */

/* Remove efeitos antigos */
.paw-trail,
.scissor-divider{
  display:none!important;
}

/* Pegadas descendo apenas na apresentação da Vera */
.editorial{
  position:relative;
  overflow:hidden;
}
.vera-paw-walk{
  position:absolute;
  left:18px;
  top:8%;
  bottom:8%;
  width:52px;
  z-index:5;
  pointer-events:none;
}
.vera-paw-walk span{
  position:absolute;
  left:0;
  color:#c59b4b;
  font-size:24px;
  opacity:0;
  filter:grayscale(1) sepia(1) saturate(4) hue-rotate(355deg);
  transform:translateY(-18px) rotate(-12deg);
  transition:
    opacity .45s ease,
    transform .65s cubic-bezier(.22,.61,.36,1);
}
.vera-paw-walk span:nth-child(1){top:6%;left:3px}
.vera-paw-walk span:nth-child(2){top:25%;left:17px;transform:translateY(-18px) rotate(15deg)}
.vera-paw-walk span:nth-child(3){top:44%;left:0;transform:translateY(-18px) rotate(-7deg)}
.vera-paw-walk span:nth-child(4){top:64%;left:18px;transform:translateY(-18px) rotate(17deg)}
.vera-paw-walk span:nth-child(5){top:83%;left:5px;transform:translateY(-18px) rotate(-10deg)}
.editorial.paws-active .vera-paw-walk span{
  opacity:.72;
  transform:translateY(0) rotate(var(--paw-r,0deg));
}
.editorial.paws-active .vera-paw-walk span:nth-child(1){transition-delay:.05s}
.editorial.paws-active .vera-paw-walk span:nth-child(2){transition-delay:.14s}
.editorial.paws-active .vera-paw-walk span:nth-child(3){transition-delay:.23s}
.editorial.paws-active .vera-paw-walk span:nth-child(4){transition-delay:.32s}
.editorial.paws-active .vera-paw-walk span:nth-child(5){transition-delay:.41s}

/* Tesoura maior, mais lenta e controlada pelo scroll */
.scroll-scissor{
  position:relative;
  height:78px;
  background:var(--paper);
  overflow:hidden;
}
.scroll-scissor-track{
  position:absolute;
  left:4vw;
  right:4vw;
  top:50%;
  height:34px;
  transform:translateY(-50%);
}
.scroll-scissor-line{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:2px;
  background:linear-gradient(
    90deg,
    transparent,
    #c59b4b 7%,
    #c59b4b 93%,
    transparent
  );
  transform-origin:left center;
  transform:scaleX(var(--cut-progress,0));
}
.scroll-scissor-icon{
  position:absolute;
  top:50%;
  left:calc(var(--cut-progress,0) * 100%);
  transform:translate(-50%,-50%) rotate(-4deg);
  font-size:42px;
  color:#c59b4b;
  line-height:1;
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.15));
}

/* Reconhecimento preto e alunos verde ficam unidos, sem linha/animação */
.recognition-clean{
  margin-bottom:0!important;
  padding-bottom:78px;
}
.recognition-clean + .graduates{
  margin-top:0!important;
  border-top:0!important;
}
.recognition-clean + .graduates:before,
.recognition-clean + .graduates:after{
  display:none!important;
}

@media(max-width:700px){
  .vera-paw-walk{
    left:6px;
    width:38px;
  }
  .vera-paw-walk span{
    font-size:18px;
  }
  .scroll-scissor{
    height:58px;
  }
  .scroll-scissor-track{
    left:14px;
    right:14px;
  }
  .scroll-scissor-icon{
    font-size:34px;
  }
}

@media(prefers-reduced-motion:reduce){
  .vera-paw-walk,
  .scroll-scissor{
    display:none!important;
  }
}
