/* ============================================================
   EDUCAR NESTANTE — sistema visual compartilhado
   Direção: claro, caloroso, institucional. Verdes da marca +
   o anel colorido dos 5 Ciclos de Aprendizagem Ubíqua.
   ============================================================ */

:root{
  /* superfícies */
  --paper:    #F4F6EF;   /* fundo da página, off-white quente */
  --paper-2:  #FBFCF7;   /* cards */
  --paper-3:  #ECEFE3;   /* faixas alternadas */
  --line:     #DCE0D0;   /* divisórias */

  /* tinta */
  --ink:      #15301F;   /* texto principal, verde quase-preto */
  --ink-soft: #46584C;   /* corpo secundário */
  --ink-mute: #7A8A7E;   /* legendas */

  /* marca */
  --forest:   #1C5E3A;   /* EDUCAR — verde escuro */
  --forest-d: #143F28;
  --leaf:     #79B23C;   /* NESTANTE — verde claro */
  --leaf-d:   #5E9230;

  /* os 5 ciclos (anel) */
  --c-blue:   #3E86C0;
  --c-amber:  #E9A53D;
  --c-magenta:#C8377F;
  --c-orange: #E8633A;
  --c-green:  #4FA266;

  --maxw: 1180px;
  --r:    18px;
  --r-lg: 30px;
  --r-sm: 11px;

  --sh-sm: 0 1px 2px rgba(20,48,31,.05);
  --sh:    0 2px 4px rgba(20,48,31,.05), 0 18px 40px -22px rgba(20,48,31,.28);
  --sh-lg: 0 4px 10px rgba(20,48,31,.06), 0 40px 70px -34px rgba(20,48,31,.40);

  --ff-display:'Bricolage Grotesque', system-ui, sans-serif;
  --ff-body:   'Mulish', system-ui, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--ff-body);
  background:var(--paper);
  color:var(--ink);
  font-size:18px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

h1,h2,h3,h4{
  font-family:var(--ff-display);
  font-weight:700;
  line-height:1.04;
  letter-spacing:-.02em;
  margin:0;
  color:var(--ink);
  text-wrap:balance;
}
p{margin:0;text-wrap:pretty}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.section{padding:clamp(64px,9vw,128px) 0}
.section--tight{padding:clamp(48px,6vw,84px) 0}
.bg-2{background:var(--paper-3)}
.bg-forest{background:var(--forest-d);color:#EAF1E8}
.bg-forest h1,.bg-forest h2,.bg-forest h3{color:#fff}

/* ---------- eyebrow / titles ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--ff-body);
  font-weight:800;font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--leaf-d);margin:0 0 22px;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--leaf);border-radius:2px}
.bg-forest .eyebrow{color:#A9D78A}
.bg-forest .eyebrow::before{background:#A9D78A}

.h-xl{font-size:clamp(40px,6.4vw,82px);line-height:.98;letter-spacing:-.03em}
.h-lg{font-size:clamp(32px,4.6vw,56px)}
.h-md{font-size:clamp(25px,3vw,36px)}
.lead{font-size:clamp(19px,2.1vw,23px);line-height:1.55;color:var(--ink-soft)}
.muted{color:var(--ink-mute)}
.center{text-align:center}
.measure{max-width:62ch}
.measure-sm{max-width:46ch}
.mt-s{margin-top:14px}.mt-m{margin-top:26px}.mt-l{margin-top:44px}

.lead-accent{color:var(--forest);font-weight:700}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--ff-body);font-weight:800;font-size:16px;
  padding:15px 28px;border-radius:999px;border:2px solid transparent;
  cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  white-space:nowrap;
}
.btn svg{width:18px;height:18px}
.btn-primary{background:var(--forest);color:#fff;box-shadow:0 12px 28px -12px rgba(28,94,58,.7)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 34px -12px rgba(28,94,58,.8)}
.btn-leaf{background:var(--leaf);color:#0F2A17;box-shadow:0 12px 28px -12px rgba(121,178,60,.7)}
.btn-leaf:hover{transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--forest);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--forest);transform:translateY(-2px)}
.bg-forest .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.bg-forest .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-lg{padding:18px 34px;font-size:17px}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(244,246,239,.82);
  backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.site-header.scrolled{border-color:var(--line);box-shadow:var(--sh-sm);background:rgba(244,246,239,.94)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:flex;align-items:center;gap:13px;font-family:var(--ff-display);font-weight:700}
.brand-mark{width:46px;height:46px}
.brand-text{font-size:21px;letter-spacing:-.02em;color:var(--forest);line-height:1}
.brand-text strong{color:var(--leaf-d);font-weight:800}
.site-nav{display:flex;align-items:center;gap:6px}
.site-nav>a:not(.btn){
  padding:10px 15px;border-radius:999px;font-weight:700;font-size:16px;color:var(--ink-soft);
  transition:color .15s ease,background .15s ease;
}
.site-nav>a:not(.btn):hover{color:var(--forest);background:rgba(28,94,58,.07)}
.site-nav>a.is-active{color:var(--forest);background:rgba(28,94,58,.1)}
.nav-cta{margin-left:12px}
.nav-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);cursor:pointer;position:relative}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{
  content:"";position:absolute;left:50%;top:50%;width:20px;height:2px;background:var(--ink);
  transform:translate(-50%,-50%);border-radius:2px;transition:.2s ease;
}
.nav-toggle span::before{transform:translate(-50%,-7px)}
.nav-toggle span::after{transform:translate(-50%,5px)}
.nav-toggle[aria-expanded="true"] span{background:transparent}
.nav-toggle[aria-expanded="true"] span::before{transform:translate(-50%,0) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span::after{transform:translate(-50%,0) rotate(-45deg)}

/* ---------- footer ---------- */
.site-footer{background:var(--forest-d);color:#CFE0CB;padding:74px 0 36px}
.site-footer a{color:#CFE0CB}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:48px}
.footer-brand{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.footer-brand img{width:52px;height:52px}
.footer-brand .brand-text{color:#fff;font-size:22px}
.footer-brand .brand-text strong{color:var(--leaf)}
.footer-col h4{color:#fff;font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;font-family:var(--ff-body);font-weight:800}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.footer-col a{opacity:.82;transition:opacity .15s}
.footer-col a:hover{opacity:1;color:#fff}
.footer-tag{font-family:var(--ff-display);font-weight:600;color:#A9D78A;font-size:19px;max-width:30ch;line-height:1.3}
.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:54px;padding-top:26px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:14px;opacity:.7}

/* ---------- cards / surfaces ---------- */
.card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm)}
.grid{display:grid;gap:26px}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}

/* feature card */
.feature{padding:34px;border-radius:var(--r);background:var(--paper-2);border:1px solid var(--line);transition:transform .2s ease,box-shadow .2s ease,border-color .2s}
.feature:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:transparent}
.feature .ic{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;margin-bottom:20px}
.feature .ic svg{width:27px;height:27px}
.feature h3{font-size:21px;margin-bottom:9px}
.feature p{color:var(--ink-soft);font-size:16.5px}

/* stat */
.stat-num{font-family:var(--ff-display);font-weight:800;letter-spacing:-.03em;line-height:.95;color:var(--forest);font-size:clamp(44px,5.5vw,68px)}
.stat-label{color:var(--ink-soft);font-size:16px;margin-top:8px;font-weight:600}

/* pill / badge */
.pill{display:inline-flex;align-items:center;gap:9px;padding:8px 16px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line);font-weight:700;font-size:14.5px;color:var(--ink-soft)}
.pill .dot{width:9px;height:9px;border-radius:50%}

/* award badge */
.ribbon{display:inline-flex;align-items:center;gap:10px;padding:9px 18px;border-radius:999px;font-weight:800;font-size:13.5px;letter-spacing:.04em;text-transform:uppercase}
.ribbon-led{background:#FCEFD6;color:#9A6B12}
.ribbon-onu{background:#E2EEF8;color:#2A5E8C}

/* video card */
.video-card{display:block;border-radius:var(--r);overflow:hidden;background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--sh-sm);transition:transform .2s ease,box-shadow .2s ease}
.video-card:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.video-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0c1d13}
.video-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;opacity:.92}
.video-card:hover .video-thumb img{transform:scale(1.05)}
.video-play{position:absolute;inset:0;display:grid;place-items:center}
.video-play span{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.3);transition:transform .2s}
.video-card:hover .video-play span{transform:scale(1.08)}
.video-play svg{width:24px;height:24px;margin-left:3px;fill:var(--forest)}
.video-meta{padding:20px 22px 24px}
.video-meta .tag{font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--leaf-d)}
.video-meta h3{font-size:18px;margin-top:8px;line-height:1.18}

/* image frame */
.imgframe{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);background:#0c1d13}
.imgframe img{width:100%;height:100%;object-fit:cover}
.cap{font-size:13.5px;color:var(--ink-mute);margin-top:12px;font-style:italic}

/* hero photo decorative ring dashes */
.dash-ring{position:absolute;border-radius:50%;border:2px dashed var(--line);pointer-events:none}

/* page hero (interior pages) */
.page-hero{padding:clamp(56px,8vw,96px) 0 clamp(40px,5vw,64px)}
.crumb{font-size:14px;font-weight:700;color:var(--ink-mute);letter-spacing:.02em;margin-bottom:20px}
.crumb a:hover{color:var(--forest)}

/* reveal animation */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  .reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}
  .reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
}

/* ---------- responsive ---------- */
@media (max-width:960px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .g-4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  body{font-size:17px}
  .nav-toggle{display:block}
  .site-nav{
    position:absolute;top:78px;left:0;right:0;flex-direction:column;align-items:stretch;gap:4px;
    background:var(--paper);border-bottom:1px solid var(--line);padding:16px 20px 24px;
    box-shadow:var(--sh);transform:translateY(-12px);opacity:0;pointer-events:none;transition:.22s ease;
  }
  .site-nav.open{transform:none;opacity:1;pointer-events:auto}
  .site-nav>a:not(.btn){padding:14px 12px;font-size:18px}
  .nav-cta{margin:8px 0 0}
  .g-2,.g-3{grid-template-columns:1fr}
}
@media (max-width:560px){
  .wrap{padding:0 20px}
  .g-4{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .brand-text{font-size:18px}
  .brand-mark{width:40px;height:40px}
}
