:root {
  --alexis-primary: #4fb0aa;
  --alexis-primary-dark: #347d79;
  --alexis-primary-deep: #245e5b;
  --alexis-primary-soft: #dff3f0;
  --alexis-ink: #193b3b;
  --alexis-ink-2: #335654;
  --alexis-cream: #fff6e9;
  --alexis-sand: #f3dfc2;
  --alexis-coral: #dc7b63;
  --alexis-coral-soft: #fde8e1;
  --alexis-gold: #e5af45;
  --alexis-gold-soft: #fff0c9;
  --alexis-navy: #233e55;
  --alexis-sky: #eaf6f8;
  --alexis-white: #ffffff;
  --alexis-line: rgba(35, 94, 91, .14);
  --alexis-text: #526866;
  --alexis-shadow: 0 24px 60px rgba(24, 74, 71, .12);
}

html { scroll-behavior: smooth; }
body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--alexis-ink);
  background: var(--alexis-cream);
}

.section-space { padding: 96px 0; }
.min-vh-75 { min-height: 75vh; }
.text-secondary { color: var(--alexis-text) !important; }
.text-white-75 { color: rgba(255,255,255,.76); }
.bg-soft { background: #f3f8f6; }
.bg-lilac { background: var(--alexis-primary-soft); }
.section-heading-narrow { max-width: 720px; }
.section-title { font-size: clamp(2rem, 4vw, 3.35rem); font-weight: 800; line-height: 1.04; letter-spacing: -.04em; }
.eyebrow { display: inline-flex; align-items: center; gap: .55rem; font-size: .75rem; font-weight: 850; letter-spacing: .16em; color: var(--alexis-primary-dark); }
.eyebrow::before { content:""; width: 30px; height: 3px; background: var(--alexis-coral); border-radius: 999px; }

/* Navbar / marca */
.alexis-navbar {
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(35,94,91,.10);
  box-shadow: 0 8px 24px rgba(35,94,91,.05);
}
.brand-lockup { display: inline-flex; align-items: center; color: var(--alexis-ink); text-decoration: none; }
.brand-logo { display:flex; align-items:center; gap:.72rem; }
.brand-image { width: 58px; height: 58px; object-fit: contain; }
.logo-word { display:flex; flex-direction:column; line-height:.92; }
.logo-word small { font-size:.58rem; letter-spacing:.22em; font-weight:800; color:var(--alexis-primary-dark); }
.logo-word strong { font-size:1.28rem; letter-spacing:.06em; color:var(--alexis-ink); }
.alexis-navbar .nav-link { color: #355453; font-weight: 700; font-size: .92rem; }
.alexis-navbar .nav-link:hover { color: var(--alexis-primary-dark); }

.btn-alexis {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--alexis-primary-dark);
  --bs-btn-border-color: var(--alexis-primary-dark);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--alexis-primary-deep);
  --bs-btn-hover-border-color: var(--alexis-primary-deep);
  border-radius: 999px;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(52,125,121,.18);
}
.btn-outline-alexis { color:var(--alexis-primary-dark); border:1.5px solid rgba(52,125,121,.45); background:rgba(255,255,255,.62); border-radius:999px; font-weight:800; }
.btn-outline-alexis:hover { color:#fff; background:var(--alexis-primary-dark); border-color:var(--alexis-primary-dark); }

/* Hero */
.hero-section {
  position: relative;
  background:
    radial-gradient(circle at 12% 20%, rgba(229,175,69,.23), transparent 18%),
    radial-gradient(circle at 90% 18%, rgba(79,176,170,.28), transparent 29%),
    linear-gradient(135deg, #fff7ec 0%, #eff9f7 55%, #d9efec 100%);
}
.hero-section::before { content:""; position:absolute; width:360px; height:360px; border:70px solid rgba(220,123,99,.10); border-radius:50%; left:-220px; bottom:-180px; }
.hero-title { max-width: 760px; letter-spacing: -.05em; line-height: 1.01; color:var(--alexis-ink); }
.hero-title span { color: var(--alexis-primary-dark); position:relative; }
.hero-title span::after { content:""; position:absolute; height:9px; left:4px; right:0; bottom:1px; background:rgba(229,175,69,.42); z-index:-1; border-radius:999px; }
.hero-copy { max-width: 700px; line-height: 1.75; }
.hero-trust { color: var(--alexis-ink-2); font-size: .92rem; font-weight:650; }
.hero-trust i { color: var(--alexis-coral); margin-right: .35rem; }

.hero-visual { min-height: 545px; position:relative; display:flex; align-items:flex-end; justify-content:center; }
.hero-people-wrap { position:relative; z-index:3; width:118%; margin-right:-16%; filter: drop-shadow(0 30px 24px rgba(24,74,71,.18)); }
.hero-people { width:100%; height:auto; display:block; }
.hero-visual::after { content:""; position:absolute; z-index:1; bottom:10px; width:92%; height:58%; border-radius:52% 48% 18% 18%; background:linear-gradient(160deg,var(--alexis-primary),var(--alexis-primary-dark)); box-shadow:var(--alexis-shadow); }
.hero-orbit { position:absolute; border-radius:50%; z-index:0; }
.hero-orbit-1 { width:360px; height:360px; border:3px dashed rgba(52,125,121,.25); right:-65px; top:35px; }
.hero-orbit-2 { width:220px; height:220px; background:rgba(229,175,69,.22); left:15px; top:105px; }
.hero-float-card { position:absolute; z-index:5; display:flex; align-items:center; gap:12px; background:rgba(255,255,255,.92); border:1px solid rgba(52,125,121,.12); box-shadow:0 18px 42px rgba(31,77,75,.14); border-radius:18px; padding:13px 16px; backdrop-filter:blur(8px); }
.hero-float-card i { width:40px; height:40px; display:grid; place-items:center; border-radius:13px; font-size:1.15rem; }
.hero-float-card span { display:flex; flex-direction:column; line-height:1.15; }
.hero-float-card strong { font-size:.88rem; color:var(--alexis-ink); }
.hero-float-card small { font-size:.72rem; color:var(--alexis-text); margin-top:4px; }
.hero-float-card-top { right:-22px; top:112px; }
.hero-float-card-top i { color:var(--alexis-primary-dark); background:var(--alexis-primary-soft); }
.hero-float-card-bottom { left:-25px; bottom:78px; }
.hero-float-card-bottom i { color:#9d503f; background:var(--alexis-coral-soft); }

/* Faixa de valor */
.value-strip { background: var(--alexis-navy); color:#fff; }
.strip-icon { width:48px; height:48px; border-radius:15px; display:grid; place-items:center; background:rgba(255,255,255,.10); color:#93dfd8; font-size:1.2rem; flex:0 0 auto; }
.value-strip strong, .value-strip small { display:block; }
.value-strip strong { font-size:.94rem; }
.value-strip small { margin-top:3px; color:rgba(255,255,255,.63); }

/* Desafios */
.bg-lilac { position:relative; overflow:hidden; }
.bg-lilac::after { content:""; position:absolute; right:-90px; top:60px; width:210px; height:210px; border-radius:34% 66% 64% 36%; background:rgba(79,176,170,.12); }
.challenge-card, .training-card, .format-card, .step-card { border-radius:24px; }
.challenge-card { padding:28px; background:rgba(255,255,255,.78); border:1px solid rgba(52,125,121,.12); box-shadow:0 12px 30px rgba(52,125,121,.06); }
.challenge-card > i { width:50px; height:50px; display:grid; place-items:center; border-radius:16px; font-size:1.25rem; margin-bottom:28px; color:var(--alexis-primary-deep); background:var(--alexis-gold-soft); }
.challenge-card:nth-child(even) > i { background:var(--alexis-coral-soft); }
.challenge-card h3 { font-size:1.08rem; font-weight:800; }
.challenge-card p { color:var(--alexis-text); margin:0; line-height:1.65; font-size:.94rem; }

/* Treinamentos */
.training-section { background: var(--alexis-cream); position:relative; }
.training-section::before { content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(52,125,121,.08) 1px, transparent 1px); background-size:22px 22px; mask-image:linear-gradient(to bottom,transparent,black 25%,black 75%,transparent); pointer-events:none; }
.training-card { padding:32px; position:relative; transition:.25s ease; overflow:hidden; border:0; background:#fff; box-shadow:0 18px 45px rgba(35,94,91,.09); }
.training-card::after { content:""; position:absolute; left:0; right:0; bottom:0; height:7px; background:var(--alexis-primary); }
.training-card:nth-child(2n)::after { background:var(--alexis-coral); }
.training-card:hover { transform:translateY(-7px); box-shadow:0 26px 58px rgba(35,94,91,.15); }
.training-number { position:absolute; right:24px; top:18px; font-size:3.5rem; line-height:1; font-weight:900; color:#edf5f3; letter-spacing:-.08em; }
.training-icon { width:60px; height:60px; border-radius:18px; background:var(--alexis-primary-soft); color:var(--alexis-primary-dark); display:grid; place-items:center; font-size:1.45rem; margin-bottom:48px; position:relative; z-index:1; }
.training-card:nth-child(3n+2) .training-icon { background:var(--alexis-coral-soft); color:#aa5a47; }
.training-card:nth-child(3n) .training-icon { background:var(--alexis-gold-soft); color:#9c6f12; }
.training-card h3 { font-size:1.28rem; line-height:1.3; font-weight:800; min-height:76px; }
.training-card p { color:var(--alexis-text); line-height:1.68; min-height:96px; }
.card-link { color:var(--alexis-primary-dark); font-weight:800; text-decoration:none; }
.card-link:hover { color:var(--alexis-coral); }

/* Formatos */
.format-section { background:linear-gradient(135deg,var(--alexis-primary-deep),#244b5e 65%,#203a50); position:relative; overflow:hidden; }
.format-section::after { content:""; position:absolute; width:520px; height:520px; border-radius:50%; border:100px solid rgba(229,175,69,.08); right:-250px; top:-260px; }
.format-panel { padding-right:40px; position:relative; z-index:1; }
.format-card { padding:26px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.08); color:#fff; backdrop-filter:blur(6px); }
.format-card i { font-size:1.55rem; color:#8be0d8; }
.format-card:nth-child(even) i { color:#f6cb76; }
.format-card h3 { margin:20px 0 8px; font-size:1.05rem; font-weight:800; }
.format-card p { margin:0; color:rgba(255,255,255,.66); line-height:1.6; font-size:.92rem; }

/* Público */
.audience-chip { min-height:132px; padding:20px 14px; background:#fff; border:1px solid var(--alexis-line); border-radius:22px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:14px; text-align:center; box-shadow:0 12px 30px rgba(35,94,91,.06); }
.audience-chip i { color:var(--alexis-coral); font-size:1.55rem; }
.audience-chip:nth-child(even) i { color:var(--alexis-primary-dark); }
.audience-chip span { font-weight:800; font-size:.95rem; }

/* Metodologia */
.method-list { border-top:1px solid var(--alexis-line); }
.method-item { display:grid; grid-template-columns:74px 1fr; gap:20px; padding:28px 0; border-bottom:1px solid var(--alexis-line); }
.method-num { width:52px; height:52px; border-radius:50%; display:grid; place-items:center; background:var(--alexis-primary-dark); color:#fff; font-weight:900; box-shadow:0 10px 24px rgba(52,125,121,.18); }
.method-item:nth-child(even) .method-num { background:var(--alexis-coral); }
.method-item h3 { font-size:1.15rem; font-weight:800; margin-bottom:8px; }
.method-item p { margin:0; color:var(--alexis-text); line-height:1.65; }

/* Instituto */
.institute-section { background:linear-gradient(180deg,#f3f8f6 0%,#fff6e9 100%); padding-top:0; }
.institute-box { border-radius:36px; padding:64px; background:linear-gradient(135deg,var(--alexis-primary-dark),var(--alexis-primary-deep)); position:relative; overflow:hidden; box-shadow:var(--alexis-shadow); }
.institute-box::before { content:""; position:absolute; width:300px; height:300px; background:var(--alexis-gold); opacity:.14; border-radius:48% 52% 34% 66%; left:-150px; bottom:-170px; }
.institute-box::after { content:""; position:absolute; width:320px; height:320px; border:5px solid rgba(255,255,255,.13); border-radius:50%; right:-150px; top:-170px; }
.institute-quote { position:relative; z-index:1; border-left:4px solid var(--alexis-gold); padding:12px 0 12px 25px; color:#fff; font-size:1.3rem; line-height:1.5; font-weight:700; }

/* Processo */
.step-card { padding:28px; height:100%; background:#fff; border:1px solid var(--alexis-line); box-shadow:0 12px 30px rgba(35,94,91,.06); }
.step-card span { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:var(--alexis-primary-dark); color:#fff; font-weight:900; margin-bottom:28px; }
.step-card:nth-child(even) span { background:var(--alexis-coral); }
.step-card h3 { font-size:1.08rem; font-weight:800; }
.step-card p { color:var(--alexis-text); line-height:1.6; margin:0; }

/* Proposta */
.proposal-section { background:linear-gradient(145deg,#173f3d 0%,#285f5b 56%,#233e55 100%); position:relative; overflow:hidden; }
.proposal-section::before { content:""; position:absolute; width:420px; height:420px; border-radius:50%; background:rgba(229,175,69,.09); left:-230px; top:-190px; }
.proposal-points > div { display:flex; gap:11px; align-items:center; color:rgba(255,255,255,.84); margin-bottom:12px; }
.proposal-points i { color:#f4c668; }
.proposal-form-card { background:#fffaf2; border-radius:30px; padding:36px; box-shadow:0 32px 70px rgba(0,0,0,.18); border-top:7px solid var(--alexis-coral); }
.form-label { font-size:.88rem; font-weight:800; }
.form-control, .form-select { min-height:50px; border-radius:13px; border-color:#d6e2df; background:#fff; }
textarea.form-control { min-height:120px; }
.form-control:focus, .form-select:focus { border-color:rgba(79,176,170,.7); box-shadow:0 0 0 .25rem rgba(79,176,170,.12); }

/* FAQ */
.alexis-accordion .accordion-item { background:transparent; border-color:#cfdedb; }
.alexis-accordion .accordion-button { background:transparent; padding:24px 0; font-weight:800; font-size:1.05rem; box-shadow:none; }
.alexis-accordion .accordion-button:not(.collapsed) { color:var(--alexis-primary-dark); }
.alexis-accordion .accordion-body { padding:0 0 24px; color:var(--alexis-text); line-height:1.7; }

/* Footer */
.footer { background:#173736; color:#fff; }
.brand-lockup-light { color:#fff; align-items:center; gap:.7rem; text-decoration:none; }
.footer-logo { width:58px; height:58px; object-fit:contain; background:#fff; border-radius:16px; padding:6px; }
.footer .brand-text { font-size:.92rem; letter-spacing:.08em; }
.footer h3 { font-size:.88rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.52); margin-bottom:16px; }
.footer a:not(.brand-lockup) { display:block; color:rgba(255,255,255,.75); text-decoration:none; margin-bottom:8px; font-size:.94rem; }
.footer a:hover { color:#fff; }
.footer-copy { color:rgba(255,255,255,.60); max-width:420px; }
.footer hr { border-color:rgba(255,255,255,.12); margin:38px 0 22px; }
.footer-bottom { color:rgba(255,255,255,.42); font-size:.85rem; }

@media (max-width: 991.98px) {
  .section-space { padding:74px 0; }
  .hero-visual { min-height:500px; }
  .hero-people-wrap { width:100%; margin-right:0; }
  .hero-float-card-top { right:5px; }
  .hero-float-card-bottom { left:5px; }
  .format-panel { padding-right:0; }
  .institute-box { padding:44px; border-radius:28px; }
}

@media (max-width: 767.98px) {
  .section-space { padding:62px 0; }
  .hero-section .display-4 { font-size:2.65rem; }
  .hero-visual { min-height:430px; }
  .hero-visual::after { height:54%; }
  .hero-float-card { transform:scale(.9); }
  .hero-float-card-top { top:70px; right:-5px; }
  .hero-float-card-bottom { left:-6px; bottom:40px; }
  .training-card h3, .training-card p { min-height:auto; }
  .institute-box, .proposal-form-card { padding:28px; }
  .method-item { grid-template-columns:58px 1fr; }
}

@media (max-width: 575.98px) {
  .brand-image { width:46px; height:46px; }
  .logo-word strong { font-size:1rem; }
  .logo-word small { font-size:.5rem; }
  .hero-section .display-4 { font-size:2.3rem; }
  .hero-visual { min-height:360px; }
  .hero-people-wrap { width:112%; margin-left:-6%; }
  .hero-float-card { display:none; }
  .hero-orbit-1 { width:260px; height:260px; }
  .hero-orbit-2 { width:150px; height:150px; }
}
