
:root {
  --cor-principal:#8a2be2;
  --cor-secundaria:#ff007f;
  --cor-fundo:#0f0c20;
  --cor-dourado:#ffba08;
  --cor-roxo-escuro:#230841;
  --cor-texto:#20202b;
}
html { scroll-behavior:smooth; scroll-padding-top:105px; }
body { font-family:'Poppins',sans-serif; background:#fcfcfc; overflow-x:hidden; color:var(--cor-texto); }
img,video { max-width:100%; }
a { text-decoration:none; }
.text-gradient {
  background:linear-gradient(45deg,var(--cor-principal),var(--cor-secundaria),var(--cor-dourado),var(--cor-principal));
  background-size:300% 300%; -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text; color:transparent; animation:waveGradient 5s ease-in-out infinite;
}
@keyframes waveGradient { 0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%} }
/* Cabeçalho igual ao utilizado na página oficial index.html */
.glass-navbar {
  width:100%;
  max-width:none;
  left:0;
  right:0;
  background:rgba(35,8,65,.65)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:2px solid var(--cor-dourado)!important;
  transition:all .4s ease;
}
.glass-navbar .container-fluid { overflow:visible; }
@media (min-width:992px) {
  .glass-navbar.navbar-scrolled {
    background:rgba(35,8,65,.85)!important;
    border-bottom:2px solid var(--cor-dourado)!important;
    box-shadow:0 4px 15px rgba(0,0,0,.3);
  }
}
.brand-fallback { width:58px;height:58px;border-radius:16px;display:none;place-items:center;background:linear-gradient(135deg,var(--cor-principal),var(--cor-secundaria));color:#fff;font-size:1.65rem;box-shadow:0 8px 20px rgba(0,0,0,.25); }
.nav-link { position:relative;color:rgba(255,255,255,.9)!important;transition:color .3s; }
.nav-link:hover { color:#fff!important; }
.nav-link::after { content:'';position:absolute;width:0;height:2px;bottom:0;left:50%;background:linear-gradient(90deg,#fff,var(--cor-secundaria));transition:all .3s ease;transform:translateX(-50%); }
.nav-link:hover::after,.nav-link.active::after { width:100%; }
.btn-gradient { background:linear-gradient(45deg,var(--cor-dourado),#ff8c00);color:#16100a!important;border:none;transition:.3s; }
.btn-gradient:hover { transform:translateY(-2px) scale(1.02);box-shadow:0 10px 25px rgba(255,186,8,.35); }
.btn-purple { background:linear-gradient(45deg,var(--cor-principal),var(--cor-secundaria));color:#fff!important;border:none;transition:.3s; }
.btn-purple:hover { transform:translateY(-2px);box-shadow:0 10px 25px rgba(138,43,226,.28); }
.hero { min-height:730px;height:90vh;position:relative;display:flex;align-items:center;overflow:hidden;background:#130b23; }
.hero.compact { min-height:650px;height:78vh; }
.hero-bg { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;animation:slowZoom 18s ease-in-out infinite alternate; }
@keyframes slowZoom { from{transform:scale(1.01)}to{transform:scale(1.08)} }
.hero-overlay { position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,12,32,.90) 0%,rgba(35,8,65,.72) 48%,rgba(15,12,32,.42) 100%); }
.hero-content { position:relative;z-index:2;padding-top:90px; }
.hero-badge { display:inline-flex;align-items:center;gap:.55rem;padding:.65rem 1rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);font-weight:600; }
.hero h1 { font-size:clamp(2.65rem,6vw,5.4rem);line-height:1.04;text-shadow:2px 5px 22px rgba(0,0,0,.45); }
.hero.compact h1 { font-size:clamp(2.55rem,5.4vw,4.9rem); }
.hero-lead { max-width:780px;font-size:clamp(1.05rem,2vw,1.38rem);line-height:1.75; }
.section-kicker { text-transform:uppercase;letter-spacing:.16em;color:var(--cor-principal);font-weight:800;font-size:.8rem; }
.section-title { font-size:clamp(2rem,4vw,3.5rem);font-weight:800; }
.intro-card { background:#fff;border-radius:28px;box-shadow:0 22px 55px rgba(46,17,78,.10);overflow:hidden; }
.intro-copy { font-size:1.08rem;line-height:1.9;color:#565466; }
.highlight-panel { height:100%;min-height:390px;background:linear-gradient(145deg,var(--cor-roxo-escuro),var(--cor-principal));color:#fff;padding:2.2rem;display:flex;flex-direction:column;justify-content:center; }
.highlight-panel li { margin:.85rem 0;font-size:1.06rem; }
.course-link { display:block;height:100%;color:inherit; }
.course-card { position:relative;background:#fff;border:1px solid rgba(138,43,226,.09);border-radius:24px;padding:2rem;height:100%;box-shadow:0 14px 35px rgba(30,20,50,.07);transition:.35s cubic-bezier(.175,.885,.32,1.275);overflow:hidden; }
.course-card::before { content:'';position:absolute;inset:auto -60px -80px auto;width:180px;height:180px;border-radius:50%;background:linear-gradient(145deg,rgba(138,43,226,.10),rgba(255,0,127,.09));transition:.35s; }
.course-link:hover .course-card,.course-link:focus-visible .course-card { transform:translateY(-12px);box-shadow:0 20px 45px rgba(138,43,226,.16);border-color:rgba(138,43,226,.32); }
.course-link:hover .course-card::before { transform:scale(1.25); }
.course-icon { width:84px;height:84px;display:grid;place-items:center;border-radius:24px;font-size:2.35rem;background:linear-gradient(145deg,rgba(138,43,226,.12),rgba(255,0,127,.12));margin-bottom:1.25rem; }
.course-cta { display:inline-flex;align-items:center;gap:.55rem;color:var(--cor-principal);font-weight:800;margin-top:1rem; }
.course-link:hover .course-cta i { transform:translateX(5px); }
.course-cta i { transition:.25s; }
.impact-strip { background:linear-gradient(135deg,var(--cor-fundo),var(--cor-principal));color:#fff;position:relative;overflow:hidden; }
.impact-strip::before { content:'';position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(255,186,8,.12);right:-100px;top:-160px; }
.metric { padding:1rem; }
.metric strong { display:block;color:var(--cor-dourado);font-size:clamp(2.35rem,5vw,4rem);line-height:1; }
.metric span { text-transform:uppercase;letter-spacing:.08em;opacity:.78; }
.gallery-button { position:relative;width:100%;height:100%;border:0;padding:0;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 26px rgba(34,18,47,.10);aspect-ratio:4/3; }
.gallery-button img { width:100%;height:100%;object-fit:cover;transition:.55s ease; }
.gallery-item:nth-child(5n+1) .gallery-button,.gallery-item:nth-child(5n+4) .gallery-button { aspect-ratio:3/4; }
.gallery-button:hover img { transform:scale(1.11); }
.gallery-overlay { position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;color:#fff;background:linear-gradient(to top,rgba(138,43,226,.82),rgba(15,12,32,.05));opacity:0;transition:.35s;font-size:1.8rem; }
.gallery-overlay small { font-size:.86rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase; }
.gallery-button:hover .gallery-overlay { opacity:1; }
.video-section { background:#f5f0fb; }
.video-card { background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 15px 35px rgba(54,24,84,.10);border:1px solid rgba(138,43,226,.08);transition:.3s;height:100%; }
.video-card:hover { transform:translateY(-7px);box-shadow:0 22px 44px rgba(54,24,84,.16); }
.video-frame { background:#0b0811;aspect-ratio:9/16;max-height:560px;display:flex;justify-content:center; }
.video-frame video { width:100%;height:100%;object-fit:contain;background:#0b0811; }
.video-number { display:inline-block;color:var(--cor-principal);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem; }
.cta-box { background:linear-gradient(135deg,#230841,#8a2be2 58%,#ff007f);border-radius:32px;color:#fff;overflow:hidden;position:relative; }
.cta-box::after { content:'✦';position:absolute;right:3%;bottom:-30px;font-size:11rem;color:rgba(255,255,255,.08); }
.breadcrumb-course { color:rgba(255,255,255,.75);font-weight:600; }
.breadcrumb-course a { color:#fff; }
.breadcrumb-course i { font-size:.72rem;margin:0 .55rem; }
.other-card { display:block;height:100%;background:#fff;border-radius:22px;padding:1.6rem;border:1px solid rgba(138,43,226,.12);box-shadow:0 12px 30px rgba(40,20,60,.07);color:inherit;transition:.3s; }
.other-card:hover { transform:translateY(-7px);box-shadow:0 18px 38px rgba(138,43,226,.15); }
.other-card .mini-icon { font-size:2rem; }
footer { background:#121018; }
.icon-link-hover { transition:.25s; }
.icon-link-hover:hover { transform:scale(1.13);color:var(--cor-dourado)!important; }
.modal-content { background:#09070d;border:0; }
.modal-image { max-height:84vh;width:100%;object-fit:contain; }
@media (max-width:991px) {
  html { scroll-padding-top:180px; }
  .glass-navbar:not(.navbar-scrolled),
  .glass-navbar.navbar-scrolled {
    background:rgba(35,8,65,.75)!important;
    border-bottom:2px solid var(--cor-dourado)!important;
  }
  .glass-navbar.navbar-scrolled { box-shadow:0 4px 15px rgba(0,0,0,.2); }
  .navbar-brand span { font-size:1.25rem!important;letter-spacing:.5px!important; }
  .hero,.hero.compact { min-height:700px;height:auto;padding:175px 0 90px; }
  .hero-content { padding-top:0; }
  .hero-overlay { background:linear-gradient(to bottom,rgba(15,12,32,.70),rgba(35,8,65,.88)); }
  .highlight-panel { min-height:unset; }
}
@media (max-width:575px) {
  .gallery-button,.gallery-item:nth-child(5n+1) .gallery-button,.gallery-item:nth-child(5n+4) .gallery-button { aspect-ratio:3/4; }
  .video-frame { max-height:620px; }
  .metric span { font-size:.75rem; }
}

/* Reels do Instagram — página Técnicas de Tranças */
.instagram-section { background:linear-gradient(180deg,#fff 0%,#fbf5ff 100%); }
.reel-link { display:block;height:100%;color:inherit; }
.reel-card { position:relative;display:flex;gap:1.15rem;align-items:flex-start;height:100%;padding:1.55rem;background:#fff;border:1px solid rgba(138,43,226,.10);border-radius:22px;box-shadow:0 13px 32px rgba(47,20,72,.08);transition:.32s ease;overflow:hidden; }
.reel-card::after { content:'';position:absolute;right:-48px;bottom:-52px;width:130px;height:130px;border-radius:50%;background:linear-gradient(135deg,rgba(255,186,8,.12),rgba(255,0,127,.10),rgba(138,43,226,.12));transition:.32s ease; }
.reel-link:hover .reel-card,.reel-link:focus-visible .reel-card { transform:translateY(-8px);border-color:rgba(255,0,127,.32);box-shadow:0 20px 42px rgba(138,43,226,.16); }
.reel-link:hover .reel-card::after { transform:scale(1.3); }
.reel-icon { position:relative;z-index:1;flex:0 0 58px;width:58px;height:58px;display:grid;place-items:center;border-radius:18px;color:#fff;font-size:1.65rem;background:linear-gradient(145deg,#833ab4,#fd1d1d,#fcb045);box-shadow:0 9px 22px rgba(131,58,180,.24); }
.reel-number { display:block;color:var(--cor-secundaria);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em;margin-bottom:.35rem; }
.reel-cta { position:relative;z-index:1;display:inline-flex;align-items:center;gap:.5rem;color:var(--cor-principal);font-weight:800;font-size:.92rem; }
.reel-cta i { transition:.25s ease; }
.reel-link:hover .reel-cta i { transform:translate(3px,-3px); }
.btn-instagram { color:#fff!important;border:0;background:linear-gradient(90deg,#833ab4,#fd1d1d,#fcb045);box-shadow:0 10px 25px rgba(131,58,180,.22);transition:.3s ease; }
.btn-instagram:hover { transform:translateY(-3px);box-shadow:0 15px 32px rgba(131,58,180,.32); }
@media (max-width:575px) { .reel-card { padding:1.3rem; } .reel-icon { flex-basis:52px;width:52px;height:52px; } }

/* Cronograma atualizado - página principal dos cursos */
.schedule-section { background:linear-gradient(180deg,#f7f1fd 0%,#fff 100%);position:relative;overflow:hidden; }
.schedule-section::before { content:'';position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(138,43,226,.055);left:-220px;top:90px; }
.schedule-hero-card { position:relative;display:flex;gap:1.5rem;align-items:center;padding:2rem 2.25rem;border-radius:28px;color:#fff;background:linear-gradient(135deg,var(--cor-roxo-escuro),var(--cor-principal) 62%,var(--cor-secundaria));box-shadow:0 22px 48px rgba(57,21,91,.20);overflow:hidden; }
.schedule-hero-card::after { content:'✦';position:absolute;right:3%;bottom:-72px;font-size:12rem;color:rgba(255,255,255,.08); }
.schedule-main-icon { position:relative;z-index:1;flex:0 0 88px;width:88px;height:88px;display:grid;place-items:center;border-radius:26px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);font-size:2.35rem;backdrop-filter:blur(6px); }
.schedule-hero-card > div { position:relative;z-index:1; }
.schedule-status { display:inline-flex;align-items:center;padding:.42rem .75rem;border-radius:999px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.24);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em; }
.schedule-pills { display:flex;flex-wrap:wrap;gap:.7rem; }
.schedule-pills span { display:inline-flex;align-items:center;gap:.5rem;padding:.62rem .82rem;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.20);font-weight:600;font-size:.94rem; }
.schedule-pills i { color:var(--cor-dourado); }
.schedule-course-link { display:block;height:100%;color:inherit; }
.schedule-course-card { position:relative;padding:1.75rem;background:#fff;border:1px solid rgba(138,43,226,.11);border-radius:24px;box-shadow:0 14px 34px rgba(43,20,67,.08);transition:.32s ease;overflow:hidden; }
.schedule-course-card::after { content:'';position:absolute;width:120px;height:120px;border-radius:50%;right:-48px;bottom:-58px;background:linear-gradient(135deg,rgba(138,43,226,.10),rgba(255,0,127,.10));transition:.32s ease; }
.schedule-course-link:hover .schedule-course-card,.schedule-course-link:focus-visible .schedule-course-card { transform:translateY(-8px);border-color:rgba(138,43,226,.30);box-shadow:0 20px 44px rgba(138,43,226,.15); }
.schedule-course-link:hover .schedule-course-card::after { transform:scale(1.35); }
.schedule-course-icon { width:66px;height:66px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(145deg,rgba(138,43,226,.12),rgba(255,0,127,.12));font-size:1.9rem;margin-bottom:1rem; }
.schedule-details { margin-top:1.15rem; }
.schedule-details > div { display:flex;justify-content:space-between;gap:1rem;padding:.64rem 0;border-bottom:1px solid rgba(138,43,226,.09); }
.schedule-details dt { color:#716b7b;font-size:.88rem;font-weight:600; }
.schedule-details dd { margin:0;text-align:right;font-weight:800;color:#33263f; }
.schedule-page-link { position:relative;z-index:1;display:inline-flex;align-items:center;gap:.5rem;margin-top:1.15rem;color:var(--cor-principal);font-weight:800; }
.schedule-page-link i { transition:.25s; }
.schedule-course-link:hover .schedule-page-link i { transform:translateX(5px); }
.complementary-schedule { border-radius:28px;overflow:hidden;box-shadow:0 20px 48px rgba(44,22,63,.11);border:1px solid rgba(138,43,226,.08); }
.complementary-heading { display:flex;flex-direction:column;justify-content:center;padding:2.25rem;color:#fff;background:linear-gradient(145deg,var(--cor-fundo),var(--cor-roxo-escuro)); }
.complementary-item { display:flex;gap:1rem;align-items:flex-start;padding:1.15rem 0; }
.complementary-item + .complementary-item { border-top:1px solid rgba(138,43,226,.10); }
.complementary-icon { flex:0 0 54px;width:54px;height:54px;display:grid;place-items:center;border-radius:17px;color:var(--cor-principal);background:linear-gradient(145deg,rgba(138,43,226,.12),rgba(255,0,127,.10));font-size:1.3rem; }
.august-highlight { display:flex;gap:1rem;align-items:flex-start;padding:1.25rem;border-radius:20px;background:linear-gradient(135deg,rgba(255,186,8,.18),rgba(255,140,0,.08));border:1px solid rgba(255,186,8,.40); }
.august-icon { flex:0 0 50px;width:50px;height:50px;display:grid;place-items:center;border-radius:16px;background:var(--cor-dourado);color:#332200;font-size:1.3rem;box-shadow:0 8px 20px rgba(255,186,8,.24); }
.schedule-source-note { color:#777080;font-size:.9rem; }
@media (max-width:767px) {
  .schedule-hero-card { align-items:flex-start;flex-direction:column;padding:1.55rem; }
  .schedule-main-icon { width:70px;height:70px;flex-basis:70px;font-size:1.8rem; }
  .schedule-pills { gap:.5rem; }
  .schedule-pills span { width:100%;border-radius:15px; }
  .complementary-heading { padding:1.75rem; }
  .complementary-item,.august-highlight { flex-direction:column; }
}

