:root{
    --eden:#0f5e68;
    --bright-sun:#fccc3c;
    --fountain-blue:#4cb0b8;
    --blue-chill:#14848c;
    --cream:#f6f2e2;
    --gray:#57626b;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0; color:#1f2937;
    font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    overflow-x:hidden;
  }
  img{max-width:100%; display:block;}
  a{text-decoration:none; color:inherit;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
  h1,h2,h3{margin:0;}
  .section{position:relative; padding:64px 0;}
  .section.pb-xl{padding-bottom:96px;}

  /* WAVE DIVIDER */
  .wave{position:absolute; bottom:0; left:0; width:100%; overflow:hidden; line-height:0; z-index:1; pointer-events:none;}
  .wave svg{position:relative; display:block; width:calc(130% + 2px); height:32px;}
  @media(min-width:768px){ .wave svg{height:50px;} }

  /* NAV */
  nav{
    background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.08);
    position:sticky; top:0; z-index:50;
    padding:14px 24px;
    display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
    max-width:100vw;
  }
  .nav-logo img{height:64px; object-fit:contain;}
  .burger{display:none; background:none; border:none; font-size:1.8rem; color:var(--eden); cursor:pointer;}
  .nav-links{
    display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
    gap:20px; font-weight:700; color:var(--eden); font-size:.95rem;
  }
  .nav-links > a{padding:8px 0;}
  .nav-links > a:hover{color:var(--bright-sun);}
  .dropdown{position:relative; padding:8px 0; cursor:pointer;}
  .dropdown > span{display:flex; align-items:center; gap:4px;}
  .dropdown > span:hover{color:var(--bright-sun);}
  .dropdown-menu{
    position:absolute; left:50%; transform:translateX(-50%) translateY(8px);
    background:#fff; border-top:4px solid var(--bright-sun); border-radius:12px;
    box-shadow:0 20px 40px rgba(0,0,0,.18); min-width:210px; padding:8px 0;
    opacity:0; visibility:hidden; transition:.2s; z-index:60;
  }
  @media(min-width:961px){
    .dropdown:hover .dropdown-menu{opacity:1; visibility:visible; transform:translateX(-50%) translateY(4px);}
  }
  .dropdown-menu a{
    display:block; padding:10px 20px; color:#6b7280; font-weight:600; font-size:.9rem;
    border-bottom:1px solid #f3f4f6;
  }
  .dropdown-menu a:last-child{border-bottom:none;}
  .dropdown-menu a:hover{background:#f9fafb; color:var(--eden);}
  .nav-buttons{display:flex; gap:12px; align-items:center;}
  .btn-nav{
    font-weight:700; text-transform:uppercase; font-size:.82rem; letter-spacing:.05em;
    padding:10px 20px; border-radius:6px; border:2px solid var(--eden); transition:.2s;
  }
  .btn-nav.solid{background:var(--eden); color:#fff;}
  .btn-nav.solid:hover{background:transparent; color:var(--eden);}
  .btn-nav.outline{background:transparent; color:var(--eden);}
  .btn-nav.outline:hover{background:var(--eden); color:#fff;}

  /* HERO */
  .hero-carousel{
    position:relative; background:var(--eden); min-height:75vh; overflow:hidden;
  }
  .hero-carousel-track{display:flex; height:100%;}
  .hero-slide-full{
    flex:0 0 100%; position:relative; min-height:75vh; display:flex; align-items:flex-end;
    padding-top:96px; overflow:hidden;
  }
  .hero-bg{position:absolute; inset:0; z-index:0; opacity:.2;}
  .hero-bg img{width:100%; height:100%; object-fit:cover;}
  .hero-bg::after{content:""; position:absolute; inset:0; background:var(--eden); mix-blend-mode:multiply; opacity:.5;}
  .hero-grid{
    position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:48px;
    align-items:end; width:100%;
  }
  .hero-student{display:flex; justify-content:flex-end; align-self:flex-end;}
  .hero-student img{max-width:560px; max-height:70vh; width:auto; height:auto; filter:drop-shadow(0 20px 30px rgba(0,0,0,.35));}
  .hero-text{align-self:center; padding-bottom:60px;}
  .hero-text h1{font-size:3.75rem; font-weight:800; color:#fff; letter-spacing:-.02em; margin-bottom:20px; line-height:1.1;}
  .hero-text h1 span{color:var(--bright-sun);}
  .hero-text p{font-size:1.2rem; color:rgba(255,255,255,.9); font-weight:300; max-width:480px;}

  .hero-slide-plain{padding-top:0; background:#0a2e33; position:relative; overflow:hidden;}
  .hero-slide-watermark{
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background-image:url('logo-cqypbygf.png');
    background-repeat:repeat;
    background-position:center center;
    background-size:140px auto;
    opacity:.12;
    filter:brightness(1.92) contrast(1.05);
    mix-blend-mode:screen;
  }
  .hero-slide-plain picture{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    padding:20px; z-index:1;
  }
  .hero-slide-plain img{
    position:relative; display:block; max-width:100%; max-height:100%; width:auto; height:auto;
    object-fit:contain; object-position:center; background:#0a2e33;
  }

  /* HERO CARROSSEL - controles */
  .hero-arrow{
    position:absolute; top:50%; transform:translateY(-50%); z-index:5;
    width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.15); backdrop-filter:blur(6px);
    border:1.5px solid rgba(255,255,255,.4); color:#fff; display:flex; align-items:center; justify-content:center;
    cursor:pointer; transition:.2s;
  }
  .hero-arrow:hover{background:rgba(255,255,255,.3);}
  .hero-arrow.left{left:24px;}
  .hero-arrow.right{right:24px;}
  .hero-dots{
    position:absolute; bottom:56px; left:50%; transform:translateX(-50%); z-index:5;
    display:flex; gap:10px;
  }
  .hero-dots .dot{
    width:9px; height:9px; border-radius:99px; background:rgba(255,255,255,.4); border:none; padding:0;
    cursor:pointer; transition:.3s;
  }
  .hero-dots .dot.active{width:28px; background:var(--bright-sun);}
  .hero-carousel .wave{z-index:4;}

  @media(max-width:640px){
    .hero-arrow{width:40px; height:40px;}
    .hero-arrow.left{left:10px;} .hero-arrow.right{right:10px;}
    .hero-dots{bottom:44px;}
  }

  /* ESSENCIA */
  .essencia-grid{display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center;}
  .video-box{position:relative; width:100%; aspect-ratio:16/9; border-radius:24px; overflow:hidden; box-shadow:0 20px 50px rgba(0,0,0,.25); border:4px solid rgba(15,94,104,.1); background:#000;}
  .video-box iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
  .essencia-card{background:#fff; padding:40px; border-radius:32px; box-shadow:0 20px 45px rgba(0,0,0,.1); border:1px solid #f0f0f0;}
  .essencia-card h2{font-size:1.9rem; font-weight:800; color:var(--blue-chill); margin-bottom:16px;}
  .essencia-card p{color:#4b5563; line-height:1.7; margin:0 0 16px;}
  .essencia-card p:last-child{margin-bottom:0;}

  /* CREAM SECTION (About/Sistema/Pilares/Diferenciais) */
  .bg-cream{background:var(--cream);}
  .about-row{display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; margin-bottom:64px;}
  .about-row:last-of-type{margin-bottom:64px;}
  .about-row img{width:100%; height:300px; object-fit:cover; border-radius:24px; box-shadow:0 16px 34px rgba(0,0,0,.12);}
  .about-row h2{font-size:2rem; font-weight:800; margin-bottom:16px;}
  .about-row.eden h2{color:var(--eden);}
  .about-row.fountain h2{color:var(--fountain-blue);}
  .about-row p{color:#4b5563; line-height:1.7; margin:0 0 14px;}
  .order-2-mobile{order:2;}

  h2.center-title{font-size:2.1rem; font-weight:800; color:var(--eden); text-align:center; margin-bottom:32px;}

  .pillars-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:20px; margin-bottom:64px;}
  .pillar{background:#fff; padding:24px; border-radius:16px; text-align:center; box-shadow:0 2px 8px rgba(0,0,0,.05); border-bottom:4px solid var(--bright-sun); transition:.2s;}
  .pillar:hover{box-shadow:0 8px 20px rgba(0,0,0,.1);}
  .pillar .icon{font-size:2.2rem; margin-bottom:10px;}
  .pillar h3{font-weight:700; font-size:1rem; color:var(--eden); margin-bottom:8px;}
  .pillar p{font-size:.78rem; color:#6b7280; margin:0;}

  .diff-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  .diff-card{background:#fff; border-radius:24px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.06); transition:.3s;}
  a.diff-card{display:block; text-decoration:none; color:inherit;}
  .diff-card:hover{transform:translateY(-4px); box-shadow:0 14px 30px rgba(0,0,0,.12);}
  .diff-img{height:160px; display:flex; align-items:center; justify-content:center; overflow:hidden;}
  .diff-img.eden{background:var(--eden);}
  .diff-img.fountain{background:var(--fountain-blue);}
  .diff-img.sun{background:var(--bright-sun);}
  .diff-img img{height:100%; object-fit:contain;}
  .diff-img img.pad{padding:20px;}
  .diff-body{padding:22px;}
  .diff-body h3{font-size:1.05rem; font-weight:700; color:var(--fountain-blue); margin-bottom:8px;}
  .diff-body p{font-size:.88rem; color:#6b7280; line-height:1.6; margin:0;}

  /* SEGMENTOS */
  .segmentos{background:var(--fountain-blue); overflow:hidden;}
  .segmentos h2{color:#fff; text-align:center; font-size:2.1rem; font-weight:800; margin-bottom:40px;}
  .seg-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  .seg-card{
    background:rgba(255,255,255,.95); border-radius:24px; padding:28px 20px; text-align:center;
    box-shadow:0 8px 20px rgba(0,0,0,.1); border-top:4px solid var(--bright-sun);
  }
  .seg-icon{
    width:64px; height:64px; background:var(--cream); border-radius:16px; display:flex; align-items:center;
    justify-content:center; font-size:1.7rem; margin:0 auto 16px; transform:rotate(3deg); box-shadow:inset 0 2px 4px rgba(0,0,0,.06);
  }
  .seg-card h3{font-size:1.05rem; font-weight:800; color:var(--eden); text-transform:uppercase; letter-spacing:.03em; margin-bottom:10px;}
  .seg-card p{font-size:.85rem; color:#6b7280; line-height:1.5; margin:0;}

  /* UNIDADES */
  .unidades h2{text-align:center; color:var(--eden); font-size:2.1rem; font-weight:800; margin-bottom:12px;}
  .unidades > .wrap > p{text-align:center; color:#6b7280; max-width:600px; margin:0 auto 40px;}
  .unidades-grid{display:grid; grid-template-columns:1fr 1fr; gap:32px;}
  .unidade-card{background:#fff; border-radius:24px; box-shadow:0 16px 34px rgba(0,0,0,.1); overflow:hidden; border:4px solid #fff;}
  .unidade-card .info{padding:20px;}
  .unidade-card h3{font-size:1.25rem; font-weight:700; color:var(--eden); margin-bottom:4px;}
  .unidade-card.fountain h3{color:var(--fountain-blue);}
  .unidade-card p{font-size:.9rem; color:#9ca3af; margin:0;}
  .unidade-card iframe{width:100%; height:340px; border:0; display:block;}

  /* DEPOIMENTOS */
  .depoimentos{background:var(--bright-sun);}
  .depoimentos h2{text-align:center; color:var(--eden); font-size:2.1rem; font-weight:800; margin-bottom:48px;}
  .testi-box{
    position:relative; max-width:760px; margin:0 auto; background:#fff; padding:50px 48px 40px;
    border-radius:40px; box-shadow:0 20px 45px rgba(0,0,0,.15); text-align:center;
  }
  .testi-quote{
    position:absolute; top:-24px; left:50%; transform:translateX(-50%); width:48px; height:48px;
    background:var(--eden); color:var(--bright-sun); border-radius:50%; display:flex; align-items:center;
    justify-content:center; font-size:1.6rem; box-shadow:0 8px 16px rgba(0,0,0,.2); font-weight:700;
  }
  .testi-body{min-height:120px; display:flex; align-items:center; justify-content:center;}
  .testi-body p{font-size:1.15rem; color:#4b5563; font-style:italic; font-weight:500; line-height:1.6; margin:0 0 20px;}
  .testi-name{font-weight:700; color:var(--eden);}
  .testi-role{font-size:.75rem; color:var(--fountain-blue); font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-top:2px;}
  .testi-nav{
    position:absolute; top:50%; left:-8px; right:-8px; transform:translateY(-50%);
    display:flex; justify-content:space-between; pointer-events:none;
  }
  .testi-nav button{
    pointer-events:auto; width:40px; height:40px; border-radius:50%; background:var(--eden); color:#fff;
    border:none; cursor:pointer; box-shadow:0 6px 14px rgba(0,0,0,.2); font-size:1.1rem; transition:.2s;
  }
  .testi-nav button:hover{background:var(--blue-chill); transform:scale(1.1);}
  .testi-dots{display:flex; justify-content:center; gap:8px; margin-top:24px;}
  .testi-dots .dot{height:8px; border-radius:99px; background:#d1d5db; transition:.3s; width:8px;}
  .testi-dots .dot.active{width:24px; background:var(--eden);}

  /* FOOTER */
  footer{background:var(--blue-chill); color:#fff; padding:64px 0 32px; border-top:6px solid var(--bright-sun);}
  .footer-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1.3fr; gap:40px; margin-bottom:48px;}
  .footer-logo{height:96px; background:#fff; padding:8px; border-radius:12px; box-shadow:0 4px 10px rgba(0,0,0,.2); margin-bottom:24px;}
  .footer-tagline{color:rgba(255,255,255,.8); font-size:.9rem; line-height:1.6;}
  footer h4{color:var(--bright-sun); font-size:1.3rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; margin-bottom:22px;}
  footer ul{list-style:none; margin:0; padding:0; display:grid; gap:16px;}
  footer .lvl a{color:rgba(255,255,255,.95); font-weight:700; font-size:1.05rem; transition:.2s;}
  footer .lvl a:hover{color:var(--bright-sun); transform:translateX(4px); display:inline-block;}
  footer .proj a{color:rgba(255,255,255,.9); font-weight:500; transition:.2s;}
  footer .proj a:hover{color:var(--bright-sun); transform:translateX(4px); display:inline-block;}
  .contact-list{display:grid; gap:18px; color:rgba(255,255,255,.9);}
  .contact-list li{display:flex; align-items:flex-start; gap:10px;}
  .contact-list .num{font-weight:800; font-size:1.25rem; letter-spacing:.02em;}
  .footer-bottom{
    max-width:1180px; margin:0 auto; padding:28px 24px 0; border-top:1px solid rgba(255,255,255,.2);
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px;
  }
  .footer-bottom p{color:rgba(255,255,255,.6); font-size:.85rem; margin:0;}
  .socials{display:flex; gap:14px;}
  .socials a{
    width:46px; height:46px; border-radius:50%; background:rgba(255,255,255,.1); display:flex;
    align-items:center; justify-content:center; color:#fff; transition:.2s;
  }
  .socials a:hover{transform:scale(1.1);}
  .socials a.ig:hover{background:#E1306C; box-shadow:0 0 15px #E1306C;}
  .socials a.fb:hover{background:#1877F2; box-shadow:0 0 15px #1877F2;}
  .socials a.yt:hover{background:#FF0000; box-shadow:0 0 15px #FF0000;}

  @media(max-width:960px){
    .nav-links{display:none; width:100%; flex-direction:column; align-items:flex-start;}
    .nav-links.open{display:flex;}
    .burger{display:block;}
    .dropdown{width:100%;}
    .dropdown-menu{position:static !important; transform:none !important; opacity:1; visibility:visible; box-shadow:none; display:none; margin-left:12px; width:calc(100% - 12px);}
    .dropdown.open .dropdown-menu{display:block;}
    .nav-buttons{flex-wrap:wrap; width:100%; margin-top:8px;}
    .nav-buttons .btn-nav{flex:1 1 auto; text-align:center;}
    .hero-grid, .essencia-grid, .about-row, .unidades-grid{grid-template-columns:1fr;}
    .pillars-grid{grid-template-columns:repeat(2,1fr);}
    .diff-grid{grid-template-columns:1fr;}
    .seg-grid{grid-template-columns:repeat(2,1fr);}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .hero-text h1{font-size:2.4rem;}
    .hero-student{justify-content:center;}
    .order-2-mobile{order:2;}

    /* HERO CARROSSEL - ajustes mobile */
    .hero-carousel, .hero-slide-full{min-height:auto;}
    .hero-slide-full{padding-top:88px; padding-bottom:32px;}
    .hero-slide-plain{padding-top:0 !important; padding-bottom:0 !important; display:block;}
    .hero-slide-plain picture { padding: 0; }
    .hero-grid{gap:16px;}
    .hero-student{order:1;}
    .hero-text{order:2; align-self:center; padding-bottom:0; text-align:center;}
    .hero-text p{margin-left:auto; margin-right:auto;}
    .hero-student img{max-width:min(380px, 78vw); max-height:46vh; margin:0 auto;}
  }
  @media(max-width:600px){
    .footer-grid{grid-template-columns:1fr;}
    .seg-grid{grid-template-columns:1fr;}
  }

/* ===== PAGE HERO (sub-pages) ===== */
.page-hero{position:relative; overflow:hidden; padding:140px 0 96px; color:#fff;}
.page-hero .wrap{position:relative; z-index:2;}
.page-hero-bg{position:absolute; inset:0; z-index:0;}
.page-hero-bg img{width:100%; height:100%; object-fit:cover; opacity:.18;}
.page-eyebrow{
  display:inline-block; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3);
  padding:6px 18px; border-radius:99px; font-size:.78rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.08em; margin-bottom:20px;
}
.page-hero h1{font-size:2.8rem; font-weight:800; line-height:1.15; margin-bottom:18px; max-width:760px;}
.page-hero p.lede{font-size:1.15rem; opacity:.92; max-width:640px; font-weight:300;}
.page-hero.eden{background:var(--eden);}
.page-hero.fountain{background:var(--fountain-blue);}
.page-hero.blue-chill{background:var(--blue-chill);}
.page-hero.dark{background:#1a2f22;}

/* ===== YEAR / STAGE CARDS ===== */
.year-list{display:grid; gap:20px; margin:40px 0 64px;}
.year-card{
  background:#fff; border-radius:20px; padding:28px 32px; box-shadow:0 4px 16px rgba(0,0,0,.06);
  border-left:6px solid var(--bright-sun); display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:start;
}
.year-badge{
  width:56px; height:56px; border-radius:50%; background:var(--eden); color:#fff; font-weight:800;
  display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0;
}
.year-card h3{font-size:1.15rem; font-weight:700; color:var(--eden); margin-bottom:8px;}
.year-card p{color:#4b5563; font-size:.92rem; line-height:1.6; margin:0 0 8px;}
.year-card p:last-child{margin-bottom:0;}

/* ===== ICON FEATURE GRID (generic, reusable) ===== */
.icon-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.icon-grid.cols-4{grid-template-columns:repeat(4,1fr);}
.icon-grid.cols-6{grid-template-columns:repeat(6,1fr);}
.icon-feature{
  background:#fff; border-radius:18px; padding:26px 22px; box-shadow:0 2px 10px rgba(0,0,0,.05);
  border-bottom:3px solid var(--bright-sun); text-align:center; transition:.2s;
}
.icon-feature:hover{transform:translateY(-3px); box-shadow:0 10px 22px rgba(0,0,0,.1);}
.icon-feature .ico{font-size:2rem; margin-bottom:12px;}
.icon-feature h4{font-size:.98rem; font-weight:700; color:var(--eden); margin-bottom:6px;}
.icon-feature p{font-size:.82rem; color:#6b7280; margin:0; line-height:1.55;}

/* ===== TEAM CARDS ===== */
.team-group-title{font-size:1.3rem; font-weight:800; color:var(--eden); margin:48px 0 20px; padding-bottom:10px; border-bottom:2px solid var(--bright-sun);}
.team-group-title:first-of-type{margin-top:0;}
.team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.team-card{background:#fff; border-radius:18px; overflow:hidden; text-align:center; box-shadow:0 2px 10px rgba(0,0,0,.06); transition:.2s;}
.team-card:hover{transform:translateY(-3px); box-shadow:0 10px 24px rgba(0,0,0,.1);}
.team-avatar{width:100%; aspect-ratio:1; background:var(--cream); display:flex; align-items:center; justify-content:center; overflow:hidden;}
.team-avatar img{width:60%; height:60%; object-fit:contain; opacity:.8;}
.team-avatar img.photo{width:100%; height:100%; object-fit:cover; opacity:1;}
.team-card .info{padding:16px;}
.team-card .info h4{font-size:1rem; font-weight:700; color:var(--eden); margin-bottom:4px;}
.team-card .info p{font-size:.82rem; color:#6b7280; margin:0;}

/* ===== NUMBERED STEP TIMELINE ===== */
.step-row{display:grid; grid-template-columns:repeat(5,1fr); gap:16px;}
.step-row.cols-4{grid-template-columns:repeat(4,1fr);}
.step{background:#fff; border-radius:16px; padding:22px 16px; text-align:center; box-shadow:0 2px 8px rgba(0,0,0,.05); position:relative;}
.step .num{font-size:1.6rem; font-weight:800; color:var(--bright-sun); margin-bottom:6px;}
.step h4{font-size:.9rem; font-weight:700; color:var(--eden); margin-bottom:6px;}
.step p{font-size:.78rem; color:#6b7280; margin:0;}

/* ===== QUOTE CALLOUT (large) ===== */
.quote-callout{
  max-width:820px; margin:0 auto; text-align:center; position:relative; padding:20px 40px;
}
.quote-callout .mark{font-size:3rem; color:var(--bright-sun); font-weight:800; line-height:1; display:block; margin-bottom:8px;}
.quote-callout p{font-size:1.35rem; font-weight:700; color:var(--eden); line-height:1.4; margin:0;}
.quote-callout small{display:block; margin-top:14px; font-size:.85rem; color:#6b7280; font-weight:600; text-transform:uppercase; letter-spacing:.05em;}

/* ===== CHECKLIST ===== */
.check-list{display:grid; gap:14px; max-width:560px;}
.check-list li{display:flex; align-items:flex-start; gap:12px; list-style:none; color:#374151; font-size:.98rem;}
.check-list .tick{
  width:24px; height:24px; border-radius:50%; background:var(--fountain-blue); color:#fff; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:.8rem; font-weight:800; margin-top:2px;
}

/* ===== SIMPLE STAT ROW (school/professores/familia) ===== */
.trio-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.trio-card{background:#fff; border-radius:20px; padding:32px 24px; text-align:center; box-shadow:0 4px 16px rgba(0,0,0,.06);}
.trio-card .ico{font-size:2.4rem; margin-bottom:14px;}
.trio-card h4{font-size:1.05rem; font-weight:800; color:var(--eden); text-transform:uppercase; letter-spacing:.03em; margin-bottom:10px;}
.trio-card p{font-size:.88rem; color:#6b7280; line-height:1.6; margin:0;}

/* ===== SECTION TITLE VARIANTS ===== */
.section-eyebrow{text-align:center; color:var(--fountain-blue); font-weight:800; text-transform:uppercase; letter-spacing:.08em; font-size:.82rem; margin-bottom:10px;}
.section-lede{text-align:center; color:#6b7280; max-width:640px; margin:0 auto 40px; font-size:1rem;}

/* ===== CTA BAND ===== */
.cta-band{background:var(--eden); color:#fff; border-radius:32px; padding:56px 40px; text-align:center; margin:0 auto;}
.cta-band h2{font-size:1.9rem; font-weight:800; margin-bottom:14px; color:#fff;}
.cta-band p{max-width:560px; margin:0 auto 28px; opacity:.9;}
.cta-band .btns{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.btn-cta{padding:14px 28px; border-radius:8px; font-weight:700; text-transform:uppercase; font-size:.85rem; letter-spacing:.04em; transition:.2s;}
.btn-cta.solid{background:var(--bright-sun); color:var(--eden);}
.btn-cta.solid:hover{filter:brightness(1.08);}
.btn-cta.outline{border:2px solid #fff; color:#fff;}
.btn-cta.outline:hover{background:#fff; color:var(--eden);}

@media(max-width:960px){
  .icon-grid, .icon-grid.cols-4, .icon-grid.cols-6{grid-template-columns:repeat(2,1fr);}
  .diff-grid{grid-template-columns:repeat(2,1fr) !important;}
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .step-row, .step-row.cols-4{grid-template-columns:repeat(2,1fr);}
  .trio-grid{grid-template-columns:1fr;}
  .year-card{grid-template-columns:1fr;}
  .page-hero h1{font-size:2.1rem;}
}
@media(max-width:600px){
  .icon-grid, .icon-grid.cols-4, .icon-grid.cols-6, .team-grid, .step-row, .step-row.cols-4{grid-template-columns:1fr;}
  .diff-grid{grid-template-columns:1fr !important;}
}

/* ===== SCROLL REVEAL ANIMATIONS ===== */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.21,.6,.35,1), transform .7s cubic-bezier(.21,.6,.35,1);
  will-change:opacity, transform;
}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}
.reveal-left{transform:translateX(-32px);}
.reveal-left.is-visible{transform:translateX(0);}
.reveal-right{transform:translateX(32px);}
.reveal-right.is-visible{transform:translateX(0);}
.reveal-scale{transform:scale(.92);}
.reveal-scale.is-visible{transform:scale(1);}

@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-left, .reveal-right, .reveal-scale{
    opacity:1 !important; transform:none !important; transition:none !important;
  }
}

/* ===== BOOKING FORM (Agendar Visita) ===== */
.booking-card{
  max-width:760px; margin:0 auto; background:#fff; border-radius:32px; padding:48px 56px;
  box-shadow:0 20px 50px rgba(0,0,0,.1); position:relative;
}
.booking-back{
  background:none; border:none; color:#9ca3af; font-weight:700; font-size:.95rem; cursor:pointer;
  display:inline-flex; align-items:center; gap:6px; padding:0; margin-bottom:16px; transition:.2s;
}
.booking-back:hover{color:var(--eden);}
.booking-badge{
  display:inline-block; background:var(--fountain-blue); color:#fff; font-weight:700; font-size:.9rem;
  padding:8px 22px; border-radius:999px; margin-bottom:20px;
}
.booking-title{font-size:2rem; font-weight:800; color:var(--eden); margin-bottom:8px;}
.booking-subtitle{color:#6b7280; font-size:1rem; margin:0 0 36px;}
#agendamento-form{display:grid; gap:22px;}
.booking-row{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
#agendamento-form label{display:block; font-weight:700; color:#1f2937; font-size:.95rem; margin-bottom:8px;}
#agendamento-form input{
  width:100%; padding:14px 16px; border:2px solid #e5e7eb; border-radius:12px; font-size:1rem;
  font-family:inherit; background:#f9fafb; transition:.2s;
}
#agendamento-form input:focus{outline:none; border-color:var(--eden); background:#fff;}
#agendamento-form input:invalid:not(:placeholder-shown){border-color:#ef4444;}
.booking-submit{
  background:var(--eden); color:#fff; border:none; border-radius:12px; padding:18px; font-size:1rem;
  font-weight:800; text-transform:uppercase; letter-spacing:.04em; cursor:pointer; transition:.2s; margin-top:8px;
}
.booking-submit:hover{background:var(--blue-chill);}

@media(max-width:640px){
  .booking-card{padding:32px 24px;}
  .booking-row{grid-template-columns:1fr;}
  .booking-title{font-size:1.5rem;}
}

/* ===== SVG ICONS (replacing emoji) ===== */
.ico-svg{
  width:1em; height:1em; display:inline-block; vertical-align:-0.15em; flex-shrink:0;
}
.pillar .icon, .icon-feature .ico, .trio-card .ico{ color:var(--eden); }
.seg-icon{ color:var(--eden); }
.step .ico-svg{ color:var(--bright-sun); }
.burger .ico-svg{ width:1.4em; height:1.4em; }

/* ===== BOLSÃO CTA BUTTON (attention-grabbing) ===== */
.btn-nav.bolsao{
  background:#ff6b1a; border-color:#ff6b1a; color:#fff;
  box-shadow:0 4px 14px rgba(255,107,26,.4);
  animation:bolsao-pulse 2.2s ease-in-out infinite;
}
.btn-nav.bolsao:hover{background:#e85a0c; border-color:#e85a0c; color:#fff; animation-play-state:paused;}
@keyframes bolsao-pulse{
  0%, 100%{ box-shadow:0 4px 14px rgba(255,107,26,.4); transform:scale(1); }
  50%{ box-shadow:0 4px 22px rgba(255,107,26,.7); transform:scale(1.04); }
}
@media (prefers-reduced-motion: reduce){
  .btn-nav.bolsao{ animation:none; }
}

/* ===== BOLSÃO PAGE SPECIFIC ===== */
.bolsa-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.bolsa-card{
  background:#fff; border-radius:20px; padding:32px 24px; text-align:center;
  box-shadow:0 4px 16px rgba(0,0,0,.06); border-top:5px solid #ff6b1a; position:relative;
}
.bolsa-card .pct{font-size:2.6rem; font-weight:800; color:#ff6b1a; margin-bottom:6px;}
.bolsa-card h4{font-size:1rem; font-weight:700; color:var(--eden); margin-bottom:8px;}
.bolsa-card p{font-size:.85rem; color:#6b7280; margin:0;}

.bolsao-dates{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.date-card{background:#fff; border-radius:16px; padding:26px; text-align:center; box-shadow:0 2px 10px rgba(0,0,0,.05);}
.date-card .label{font-size:.78rem; font-weight:700; color:#ff6b1a; text-transform:uppercase; letter-spacing:.05em; margin-bottom:8px;}
.date-card .value{font-size:1.3rem; font-weight:800; color:var(--eden);}

.bolsao-form-submit{
  background:#ff6b1a; color:#fff; border:none; border-radius:12px; padding:18px; font-size:1rem;
  font-weight:800; text-transform:uppercase; letter-spacing:.04em; cursor:pointer; transition:.2s; margin-top:8px;
}
.bolsao-form-submit:hover{background:#e85a0c;}

@media(max-width:960px){
  .bolsa-grid{grid-template-columns:repeat(2,1fr);}
  .bolsao-dates{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .bolsa-grid{grid-template-columns:1fr;}
}

/* ===== MULTI-STEP WIZARD (estilo abas com seta) ===== */
.wizard-wrap{max-width:900px; margin:0 auto; background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 20px 50px rgba(0,0,0,.1);}
.wizard-tabs{display:flex; background:#f3f4f6;}
.wizard-tab{
  flex:1; position:relative; padding:18px 20px 18px 36px; font-weight:700; font-size:.92rem;
  color:#9ca3af; background:#f3f4f6; text-align:center; white-space:nowrap; overflow:hidden;
  text-overflow:ellipsis;
}
.wizard-tab:first-child{padding-left:24px;}
.wizard-tab.active{background:var(--eden); color:#fff; z-index:3;}
.wizard-tab.done{color:var(--eden);}
.wizard-tab::after{
  content:""; position:absolute; right:-14px; top:0; width:0; height:0;
  border-top:27px solid transparent; border-bottom:27px solid transparent; border-left:14px solid #f3f4f6;
  z-index:2;
}
.wizard-tab.active::after{border-left-color:var(--eden); z-index:4;}
.wizard-tab:last-child::after{display:none;}

.wizard-body{padding:44px 48px;}
.wizard-body h2{color:var(--eden); font-size:1.6rem; font-weight:800; margin-bottom:6px;}
.wizard-body .wizard-sub{color:#6b7280; font-size:.95rem; margin-bottom:32px;}
.wizard-step{display:none;}
.wizard-step.active{display:block;}
.wizard-field{margin-bottom:22px;}
.wizard-field label{display:block; font-weight:700; color:#1f2937; font-size:.9rem; margin-bottom:8px;}
.wizard-field input, .wizard-field select{
  width:100%; padding:13px 16px; border:1.5px solid #e5e7eb; border-radius:10px; font-size:.95rem;
  font-family:inherit; background:#fff; transition:.2s;
}
.wizard-field input:focus, .wizard-field select:focus{outline:none; border-color:var(--eden);}
.wizard-row{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.wizard-radio-group{display:flex; gap:28px; margin-top:6px;}
.wizard-radio{display:flex; align-items:center; gap:8px; font-weight:600; color:#374151; cursor:pointer; font-size:.92rem;}
.wizard-radio input{width:18px; height:18px; accent-color:var(--eden);}

.wizard-footer{
  display:flex; justify-content:space-between; align-items:center; padding:24px 48px;
  border-top:1px solid #f0f0f0;
}
.wizard-btn{
  padding:13px 28px; border-radius:10px; font-weight:700; font-size:.92rem; cursor:pointer; border:1.5px solid #e5e7eb;
  background:#fff; color:#374151; display:inline-flex; align-items:center; gap:8px; transition:.2s;
}
.wizard-btn:hover{background:#f9fafb;}
.wizard-btn.primary{background:var(--eden); border-color:var(--eden); color:#fff;}
.wizard-btn.primary:hover{background:var(--blue-chill); border-color:var(--blue-chill);}
.wizard-btn:disabled{opacity:.4; cursor:not-allowed;}
.wizard-lgpd{font-size:.78rem; color:#9ca3af; text-align:center; padding:0 48px 28px;}

.wizard-summary{background:#f9fafb; border-radius:14px; padding:24px; display:grid; gap:10px;}
.wizard-summary .row{display:flex; justify-content:space-between; font-size:.9rem; border-bottom:1px solid #eee; padding-bottom:10px;}
.wizard-summary .row:last-child{border-bottom:none; padding-bottom:0;}
.wizard-summary .row .k{color:#6b7280; font-weight:600;}
.wizard-summary .row .v{color:#1f2937; font-weight:700; text-align:right;}

@media(max-width:768px){
  .wizard-tabs{overflow-x:auto;}
  .wizard-tab{font-size:.78rem; padding:14px 14px 14px 22px;}
  .wizard-body, .wizard-footer{padding-left:24px; padding-right:24px;}
  .wizard-row{grid-template-columns:1fr;}
}

/* Garante que o scroll para o wizard não fique escondido atrás do menu fixo */
.wizard-wrap, #wizard-obrigado, #bolsao-step-obrigado, #step-obrigado, #step-form{
  scroll-margin-top: 100px;
}

/* ===== EVENTOS/NOTÍCIAS CAROUSEL ===== */
.events-carousel-wrap{display:flex; align-items:center; gap:16px;}
.events-arrow{
  flex-shrink:0; width:48px; height:48px; border-radius:50%; background:#fff; border:2px solid #e5e7eb;
  color:var(--eden); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.2s;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
}
.events-arrow:hover{background:var(--eden); border-color:var(--eden); color:#fff;}
.events-arrow:disabled{opacity:.35; cursor:not-allowed; background:#fff; border-color:#e5e7eb; color:var(--eden);}
.events-track-viewport{overflow:hidden; flex:1;}
.events-track{display:flex; gap:20px; transition:transform .45s cubic-bezier(.21,.6,.35,1);}
.event-card{
  flex:0 0 calc(33.333% - 14px); background:#fff; border-radius:20px; overflow:hidden;
  box-shadow:0 4px 16px rgba(0,0,0,.06); display:flex; flex-direction:column;
}
.event-card .thumb{height:170px; overflow:hidden; position:relative;}
.event-card .thumb img{width:100%; height:100%; object-fit:cover;}
.event-card .date-badge{
  position:absolute; top:12px; left:12px; background:var(--bright-sun); color:var(--eden); font-weight:800;
  font-size:.72rem; padding:5px 12px; border-radius:99px; text-transform:uppercase; letter-spacing:.03em;
}
.event-card .content{padding:20px; display:flex; flex-direction:column; flex:1;}
.event-card h4{font-size:1rem; font-weight:700; color:var(--eden); margin:0 0 8px; line-height:1.35;}
.event-card p{font-size:.85rem; color:#6b7280; line-height:1.55; margin:0 0 14px; flex:1;}
.event-card a{font-size:.8rem; font-weight:700; color:var(--fountain-blue); display:inline-flex; align-items:center; gap:4px;}
.event-card a:hover{color:var(--eden);}
.events-dots{display:flex; justify-content:center; gap:8px; margin-top:24px;}
.events-dots .dot{width:8px; height:8px; border-radius:99px; background:#d1d5db; cursor:pointer; transition:.3s; border:none; padding:0;}
.events-dots .dot.active{width:24px; background:var(--eden);}

@media(max-width:960px){
  .event-card{flex:0 0 calc(50% - 10px);}
}
@media(max-width:640px){
  .event-card{flex:0 0 100%;}
  .events-arrow{width:40px; height:40px;}
}
