/* FlashClip · Noite de boas ideias — estudo independente de direção visual. */
:root {
  --fc-ink: #071f1b;
  --fc-pine: #103d32;
  --fc-paper: #f3eedf;
  --fc-gold: #e6c88c;
  --fc-red: #a52e37;
  --fc-muted: #aebdb2;
  --fc-line: rgba(230, 200, 140, .22);
}
html { scroll-behavior: smooth; scroll-padding-top: 105px; }
body.natal-theme {
  background: var(--fc-ink) !important;
  color: var(--fc-paper);
  font-family: 'Avenir Next', 'Trebuchet MS', Arial, sans-serif;
  font-size: 15px;
  line-height: 1.65;
  overflow-x: clip;
}
.natal-theme *, .natal-theme *::before, .natal-theme *::after { box-sizing: border-box; }
.natal-theme ::selection { background: var(--fc-gold); color: var(--fc-ink); }
.natal-theme :focus-visible { outline: 2px solid var(--fc-gold); outline-offset: 6px; }
.fc-skip { position: fixed; left: 20px; top: -100px; padding: 12px 20px; z-index: 3000; background: var(--fc-paper); color: var(--fc-ink); }
.fc-skip:focus { top: 15px; }
.natal-theme main { background: transparent; }
.natal-theme main::before, .natal-theme main::after { display: none; }
.natal-theme .navbar {
  position: sticky; top: 0; height: 88px; min-height: 88px;
  padding: 0 5%; gap: 30px; background: rgba(7, 31, 27, .94);
  border-bottom: 1px solid var(--fc-line); box-shadow: none;
  backdrop-filter: blur(16px);
}
.natal-theme .navbar::before { display: none; }
.natal-theme .navbar::after {
  bottom: -1px; left: 0; right: auto; height: 1px; width: calc(var(--fc-progress, 0) * 100%);
  background: var(--fc-gold); animation: none; opacity: 1;
}
.natal-theme .logo img { width: 166px; height: 58px; max-width: none; object-fit: contain; }
.natal-theme .nav-links { gap: 22px; margin-left: 0; }
.natal-theme .nav-links a { color: #c1ccbf; font-size: 11px; letter-spacing: .035em; font-weight: 500; }
.natal-theme .nav-links a:hover, .natal-theme .nav-links a.ativo { color: var(--fc-gold); }
.natal-theme .nav-links a::after { background: var(--fc-gold); height: 1px; }
.natal-theme .usuario { background: transparent; color: var(--fc-gold); border: 1px solid var(--fc-line); box-shadow: none; }
.natal-theme .nome-usuario { color: var(--fc-muted); font-size: 10px; }
.natal-theme .inscricoes { background: var(--fc-paper); color: var(--fc-ink); border: 0; border-radius: 3px; font-weight: 600; font-size: 12px; padding: 12px 19px; }
.natal-theme .botao-menu { color: var(--fc-paper); background: transparent; border-color: var(--fc-line); }
.natal-theme .menu-mobile { background: #0e3028; border: 1px solid var(--fc-line); border-radius: 0 0 12px 12px; box-shadow: 0 24px 45px #0005; }
.natal-theme .menu-links a { color: var(--fc-paper); }
.natal-theme .menu-links a.ativo { color: var(--fc-gold); background: #e6c88c0d; }
.natal-theme .voltar-evento, .natal-theme .botao-voltar { color: var(--fc-gold); border-color: var(--fc-line); background: transparent; }

/* Abertura: uma ideia vira um ornamento. O conteúdo segue sendo HTML. */
.fc-home { overflow: clip; }
.fc-hero { position: relative; isolation: isolate; min-height: 700px; padding: 48px 7% 0; }
.fc-hero::before { content: ''; position: absolute; inset: 0; z-index: -2; background: radial-gradient(ellipse at 83% 45%, #2d60423b, transparent 52%); }
.fc-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; opacity: .12; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 170 170' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' opacity='.28' filter='url(%23n)' d='M0 0h170v170H0z'/%3E%3C/svg%3E"); }
.fc-eyebrow { display: flex; align-items: center; gap: 12px; color: var(--fc-gold); font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.fc-eyebrow::before { content: ''; width: 27px; height: 1px; background: currentColor; }
.fc-edition { display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.fc-edition > span { font-size: 10px; letter-spacing: .14em; color: var(--fc-muted); }
.fc-hero-grid { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; min-height: 515px; gap: 0; }
.fc-hero-copy { padding: 28px 0 40px; z-index: 2; }
.fc-hero-copy h1 { background: none; -webkit-text-fill-color: currentColor; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(64px, 6.7vw, 105px); font-weight: 400; line-height: .98; letter-spacing: -.055em; margin: 0 0 28px; color: var(--fc-paper); }
.fc-hero-copy h1 em { color: var(--fc-gold); font-weight: 400; }
.fc-hero-copy > p { max-width: 340px; color: #c2ccbf; font-size: 14px; line-height: 1.85; }
.fc-hero-copy .botoes { justify-content: flex-start; margin: 29px 0 0; gap: 22px; }
.natal-theme .botao-principal, .natal-theme .botao-curso, .natal-theme .botao-contato {
  display: inline-flex; justify-content: center; align-items: center; gap: 24px;
  border: 1px solid var(--fc-gold); border-radius: 3px;
  padding: 15px 23px; background: var(--fc-gold); color: var(--fc-ink);
  font-family: inherit; font-weight: 600; font-size: 13px; text-decoration: none;
  box-shadow: none; transition: background .2s, translate .25s;
}
.natal-theme .botao-principal:hover, .natal-theme .botao-curso:hover, .natal-theme .botao-contato:hover { background: #f6dba3; color: #071f1b; translate: 0 -2px; }
.natal-theme .botao-secundario { background: transparent; border: 0; border-bottom: 1px solid var(--fc-line); color: var(--fc-paper); border-radius: 0; padding: 10px 0; text-decoration: none; font-size: 12px; }
.fc-ornament-stage { position: relative; min-width: 0; width: 100%; height: 515px; display: grid; place-items: center; perspective: 900px; }
.fc-scene { width: min(100%, 530px); aspect-ratio: 1; transform: translateY(calc(var(--fc-drift, 0) * -32px)) rotateX(var(--fc-rx, 0deg)) rotateY(var(--fc-ry, 0deg)); transition: transform .4s ease-out; will-change: transform; }
.fc-scene svg { display: block; width: 100%; height: 100%; overflow: visible; }
.fc-glass { fill: url(#fc-glass); stroke: #e7ca8b65; stroke-width: 1; }
.fc-emblem { filter: drop-shadow(0 4px 6px #0008); }
.fc-halo { opacity: .7; transition: opacity .8s; }
.fc-bulb { filter: url(#fc-glow); transition: opacity .6s; }
.fc-spark { transform-box: fill-box; transform-origin: center; animation: fc-twinkle 4s ease-in-out infinite alternate; }
.fc-spark:nth-of-type(2n) { animation-delay: -2s; }
.fc-stamp { position: absolute; right: 0; top: 46%; width: 76px; height: 76px; border: 1px solid var(--fc-line); border-radius: 50%; display: grid; place-content: center; text-align: center; color: var(--fc-gold); rotate: 12deg; font-size: 8px; letter-spacing: .14em; line-height: 1.8; }
.fc-stamp b { font: italic 28px Georgia, serif; letter-spacing: -.05em; }
.fc-scene-controls { position: absolute; bottom: 9px; left: 50%; translate: -50% 0; display: flex; gap: 18px; white-space: nowrap; }
.fc-scene-controls button { border: 0; border-bottom: 1px solid var(--fc-line); padding: 9px 0; background: none; color: #bac8b7; font: inherit; font-size: 10px; cursor: pointer; letter-spacing: .03em; }
.fc-scene-controls button:hover { color: var(--fc-gold); }
.fc-light-icon { display: inline-block; width: 6px; height: 6px; margin-right: 8px; background: var(--fc-gold); border-radius: 50%; box-shadow: 0 0 10px #e6c88c; }
.natal-theme[data-lights="off"] .fc-halo, .natal-theme[data-lights="off"] .fc-bulb { opacity: .12; }
.natal-theme[data-lights="off"] .fc-light-icon { background: #758378; box-shadow: none; }
.natal-theme[data-lights="off"] .fc-emblem { opacity: .65; }
.fc-snow { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: -1; }
.fc-snow i { position: absolute; left: var(--left); top: -12px; width: var(--size); height: var(--size); border-radius: 50%; background: #e7d9b2; opacity: .32; animation: fc-fall var(--duration) linear infinite; animation-delay: var(--delay); }
.fc-event-bar { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 26px 0; border-top: 1px solid var(--fc-line); }
.fc-event-date { display: flex; align-items: center; gap: 18px; }
.fc-event-date > strong { font: 400 42px Georgia, serif; letter-spacing: -.04em; color: var(--fc-paper); }
.fc-event-date p, .fc-event-place p { font-size: 11px; color: var(--fc-muted); }
.fc-event-date small, .fc-event-place small { display: block; color: var(--fc-gold); font-size: 9px; letter-spacing: .14em; margin-bottom: 3px; }
.fc-countdown { display: flex; align-items: center; gap: 21px; }
.fc-countdown-label { max-width: 70px; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; color: var(--fc-muted); }
.fc-time { min-width: 34px; text-align: center; }
.fc-time strong { display: block; color: var(--fc-paper); font-family: Georgia, serif; font-size: 29px; font-weight: 400; line-height: 1.2; font-variant-numeric: tabular-nums; }
.fc-time span { color: var(--fc-muted); font-size: 8px; text-transform: uppercase; letter-spacing: .13em; }
.fc-scroll-cue { display: flex; align-items: center; justify-content: space-between; padding: 20px 7%; border-top: 1px solid var(--fc-line); background: #0b2a22; }
.fc-scroll-cue span { color: var(--fc-muted); font-size: 9px; letter-spacing: .17em; text-transform: uppercase; }
.fc-scroll-cue a { color: var(--fc-gold); font-size: 11px; text-decoration: none; }

/* Capítulos com repouso: o gesto apresenta, a leitura fica estável. */
.natal-theme .fc-home .sobre { padding: 100px 9%; text-align: left; background: var(--fc-paper); color: var(--fc-ink); min-height: auto; }
.natal-theme .fc-home .sobre::before, .natal-theme .fc-home .sobre::after { display: none; }
.natal-theme .fc-home .sobre-conteudo { max-width: 1150px; display: grid; grid-template-columns: 1.2fr 1fr; column-gap: 80px; align-items: center; margin: auto; }
.natal-theme .fc-home .sobre-categoria { grid-column: 1 / -1; color: #786140; font-size: 10px; letter-spacing: .16em; margin-bottom: 25px; }
.natal-theme .fc-home .sobre h2 { font: 400 clamp(40px, 4.3vw, 64px)/1.08 Georgia, serif; letter-spacing: -.045em; margin: 0; color: var(--fc-ink); }
.natal-theme .fc-home .sobre-descricao { color: #4c6156; font-size: 14px; line-height: 1.95; margin: 0; max-width: 400px; }
.natal-theme .fc-home .parceiros { padding: 50px 9%; display: grid; grid-template-columns: 1fr 1fr; align-items: center; background: #ede6d5; border-top: 1px solid #102d2520; gap: 30px; text-align: left; }
.natal-theme .fc-home .parceiros::before, .natal-theme .fc-home .parceiros::after { display: none; }
.natal-theme .fc-home .parceiros-titulo span { font-size: 9px; letter-spacing: .18em; color: #786140; }
.natal-theme .fc-home .parceiros h2 { color: #173c31; font: 400 28px Georgia, serif; margin: 8px 0; }
.natal-theme .fc-home .parceiros p { color: #526256; font-size: 12px; max-width: 340px; }
.natal-theme .fc-home .lista-parceiros { margin: 0; justify-content: flex-end; }
.natal-theme .fc-home .parceiro { background: #103d32; padding: 18px 25px; border: 1px solid #173c3126; border-radius: 2px; box-shadow: none; min-width: 150px; }
.natal-theme .fc-home .parceiro img { max-width: 145px; max-height: 55px; }
.natal-theme .motivos { background: #0e3027; padding: 95px 7%; border: 0; }
.natal-theme .motivos::before, .natal-theme .motivos::after { display: none; }
.natal-theme .titulo-motivos, .natal-theme .titulo-cursos { text-align: left; max-width: none; margin: 0 0 45px; }
.natal-theme .titulo-motivos > span, .natal-theme .titulo-cursos span { color: var(--fc-gold); font-size: 9px; letter-spacing: .18em; }
.natal-theme .titulo-motivos h2, .natal-theme .titulo-cursos h2 { font: 400 clamp(35px, 4vw, 53px)/1.15 Georgia, serif; letter-spacing: -.04em; color: var(--fc-paper); }
.natal-theme .titulo-motivos > p, .natal-theme .titulo-cursos > p { color: var(--fc-muted); font-size: 13px; }
.natal-theme .lista-motivos { gap: 0; border-top: 1px solid var(--fc-line); }
.natal-theme .card-motivo { border: 0; border-right: 1px solid var(--fc-line); border-radius: 0; padding: 32px 24px; background: none; box-shadow: none; }
.natal-theme .card-motivo:last-child { border-right: 0; }
.natal-theme .card-motivo:hover { background: #e6c88c08; transform: translateY(-4px); }
.natal-theme .numero-motivo { position: static; font: italic 30px Georgia, serif; color: #a2b19e; }
.natal-theme .icone-motivo { color: var(--fc-gold); background: transparent; border: 0; margin-top: 30px; }
.natal-theme .card-motivo h3 { color: var(--fc-paper); font-size: 16px; }
.natal-theme .card-motivo p { color: var(--fc-muted); font-size: 12px; }
.natal-theme .cursos { background: transparent; padding-top: 85px; padding-bottom: 85px; }
.natal-theme .card-curso { background: #12392e; border: 1px solid var(--fc-line); border-radius: 7px; box-shadow: none; }
.natal-theme .card-curso::before { display: none; }
.natal-theme .card-curso:hover { border-color: #e6c88c88; box-shadow: 0 15px 40px #0002; }
.natal-theme .conteudo-curso h3 { color: var(--fc-paper); font-size: 22px; }
.natal-theme .descricao-curso, .natal-theme .titulo-instrutores span, .natal-theme .quantidade-instrutores { color: #b5c4b6; }
.natal-theme .informacoes-curso, .natal-theme .info-item { border-color: var(--fc-line); }
/* A grade acompanha a largura do card, inclusive em painéis estreitos. */
.natal-theme .informacoes-curso { grid-template-columns: repeat(auto-fit, minmax(min(100%, 6.5rem), 1fr)); }
.natal-theme .info-item > div { flex: 1; min-width: 0; }
.natal-theme .info-item :is(small, strong) { white-space: normal; overflow-wrap: anywhere; }
.natal-theme .info-item small { color: #a8bba9; }
.natal-theme .info-item strong { color: var(--fc-paper); }
.natal-theme .icone-info { color: var(--fc-gold); background: #e6c88c0d; }
.natal-theme .status-curso { background: #102d25ed; color: var(--fc-gold); border-color: var(--fc-line); }
.natal-theme .titulo-cursos { display: block; }
.fc-closing { padding: 70px 7%; display: flex; justify-content: space-between; align-items: center; gap: 35px; background: var(--fc-red); }
.fc-closing p { font-size: 10px; letter-spacing: .15em; color: #efc5bb; text-transform: uppercase; margin-bottom: 14px; }
.fc-closing h2 { font: 400 clamp(38px, 4vw, 60px)/1.05 Georgia, serif; color: #fff1da; letter-spacing: -.04em; }
.fc-closing .botao-principal { background: #f3eedf; border-color: #f3eedf; }
.natal-theme footer { background: #061a16; border-top: 1px solid var(--fc-line); padding: 30px 7%; }
.natal-theme footer p, .natal-theme footer a, .natal-theme footer .footer-base { color: #a7b7a7; }
.natal-theme footer a:hover { color: var(--fc-gold); }
.natal-theme footer::before, .natal-theme footer::after { display: none; }

/* A mesma identidade nas páginas de conteúdo, conta e administração. */
.natal-theme :is(.cursos-intro, .programacao-intro, .patrocinadores-intro, .faq-intro, .contato-intro, .instrutores-intro, .sobre-intro) { position: relative; padding-top: 80px; padding-bottom: 55px; border-bottom: 1px solid var(--fc-line); background: radial-gradient(ellipse at 50% -40%, #41724b52, transparent 75%); }
.natal-theme :is(.cursos-intro, .programacao-intro, .patrocinadores-intro, .faq-intro, .contato-intro, .instrutores-intro, .sobre-intro) h1 { color: var(--fc-paper); background: none; -webkit-text-fill-color: currentColor; font: 400 clamp(44px, 5vw, 72px)/1.05 Georgia, serif; letter-spacing: -.045em; }
.natal-theme :is(.cursos-intro, .programacao-intro, .patrocinadores-intro, .faq-intro, .contato-intro, .instrutores-intro, .sobre-intro) > span { color: var(--fc-gold); font-size: 10px; letter-spacing: .16em; }
.natal-theme :is(.evento-conteudo, .bloco-sobre, .faq-item, .card-patrocinador, .info-card, .card-instrutor, .login-card, .cadastro-card, .card-matricula, .card-inscricao, .painel, .cards .card) { background: #12382e; border: 1px solid var(--fc-line); border-radius: 8px; box-shadow: none; }
.natal-theme :is(.login-card, .cadastro-card) { border-top: 2px solid var(--fc-gold); }
.natal-theme :is(.login-card, .cadastro-card)::before, .natal-theme :is(.login-card, .cadastro-card)::after { display: none; }
.natal-theme :is(.login-card, .cadastro-card, .card-matricula) h1 { font-family: Georgia, serif; font-weight: 400; letter-spacing: -.035em; color: var(--fc-paper); }
.natal-theme .campo label { color: #dddcc9; }
.natal-theme .campo :is(input, select) { background: #08271f; border-color: #afc39c4d; color: var(--fc-paper); border-radius: 4px; font-family: inherit; }
.natal-theme .campo :is(input, select)::placeholder { color: #9aaf9f; }
.natal-theme .campo :is(input, select):focus { border-color: var(--fc-gold); outline: 2px solid #e6c88c26; }
.natal-theme :is(.botao-login, .botao-cadastro, .botao-confirmar) { background: var(--fc-gold); color: var(--fc-ink); border-radius: 4px; font-family: inherit; }
.natal-theme :is(.botao-login, .botao-cadastro, .botao-confirmar):hover { background: #f3dba9; }
.natal-theme .faq-item summary { color: var(--fc-paper); }
.natal-theme .faq-item[open] { border-color: #e6c88c88; }
.natal-theme .faq-item .numero, .natal-theme .faq-item .icone { color: var(--fc-gold); }
.natal-theme .filtro.ativo { background: var(--fc-gold); color: var(--fc-ink); border-color: var(--fc-gold); }
.natal-theme .filtro { border-color: var(--fc-line); }
.natal-theme .cta { background: #103c30; border: 1px solid var(--fc-line); border-radius: 8px; }
.natal-theme .cta h2 { font-family: Georgia, serif; color: var(--fc-paper); }
.natal-theme .cta > span { color: var(--fc-gold); }
.natal-theme .cabecalho { background: #10382d; border-color: var(--fc-line); }
.fc-motion-ready .fc-reveal { opacity: 0; translate: 0 18px; transition: opacity .65s, translate .65s; }
.fc-motion-ready .fc-reveal.fc-visible { opacity: 1; translate: 0 0; }
.fc-paused *, .fc-hidden * { animation-play-state: paused !important; }
@keyframes fc-twinkle { from { opacity: .35; scale: .85; } to { opacity: .9; scale: 1.1; } }
@keyframes fc-fall { to { translate: 24px 730px; } }

@media (min-width: 1101px) and (max-width: 1260px) {
  .natal-theme .navbar { gap: 18px; padding-inline: 3%; }
  .natal-theme .nav-links { gap: 14px; }
  .natal-theme .logo img { width: 140px; }
}
@media (max-width: 1100px) {
  .natal-theme .navbar { height: 78px; min-height: 78px; padding-inline: 5%; }
  .natal-theme .menu-mobile { top: 78px; }
  .fc-hero { padding-top: 30px; }
  .fc-hero-copy h1 { font-size: clamp(60px, 8vw, 85px); }
  .fc-ornament-stage { height: 450px; }
  .fc-stamp { right: -7%; }
  .fc-event-place { display: none; }
}
@media (max-width: 700px) {
  .natal-theme .navbar { height: 72px; min-height: 72px; }
  .natal-theme .logo img { width: 145px; height: 50px; }
  .natal-theme .menu-mobile { top: 72px; max-height: calc(100svh - 90px); overflow-y: auto; }
  .fc-hero { padding: 26px 6% 0; }
  .fc-edition > span { font-size: 8px; }
  .fc-eyebrow { font-size: 8px; letter-spacing: .12em; gap: 8px; }
  .fc-eyebrow::before { width: 14px; }
  .fc-hero-grid { grid-template-columns: 1fr; gap: 0; }
  .fc-hero-copy { padding: 36px 0 0; }
  .fc-hero-copy h1 { font-size: clamp(56px, 13vw, 88px); max-width: 480px; margin-bottom: 22px; }
  .fc-hero-copy > p { font-size: 13px; max-width: 320px; }
  .fc-hero-copy .botoes { gap: 24px; }
  .natal-theme .fc-hero .botao-principal { padding: 13px 18px; font-size: 12px; }
  .fc-ornament-stage { height: 360px; margin-top: 10px; }
  .fc-scene { width: 355px; max-width: 100%; }
  .fc-stamp { right: 0; top: 34%; width: 62px; height: 62px; font-size: 7px; }
  .fc-stamp b { font-size: 23px; }
  .fc-scene-controls { bottom: 0; }
  .fc-event-bar { flex-wrap: wrap; gap: 24px; padding: 24px 0; margin-top: 20px; }
  .fc-event-date > strong { font-size: 36px; }
  .fc-event-date { gap: 14px; }
  .fc-countdown { gap: 17px; }
  .fc-countdown-label { font-size: 8px; }
  .fc-scroll-cue { padding-inline: 6%; }
  .natal-theme .fc-home .sobre { padding: 60px 7%; }
  .natal-theme .fc-home .sobre-conteudo { grid-template-columns: 1fr; gap: 25px; }
  .natal-theme .fc-home .sobre-categoria { margin: 0; }
  .natal-theme .fc-home .sobre h2 { max-width: 280px; }
  .natal-theme .fc-home .parceiros { grid-template-columns: 1fr; padding: 40px 7%; }
  .natal-theme .fc-home .lista-parceiros { justify-content: flex-start; }
  .natal-theme .motivos { padding: 60px 7%; }
  .natal-theme .lista-motivos { display: grid; grid-template-columns: 1fr 1fr; }
  .natal-theme .card-motivo { padding: 25px 15px; border-bottom: 1px solid var(--fc-line); }
  .natal-theme .card-motivo:nth-child(2n) { border-right: 0; }
  .natal-theme .card-motivo h3 { font-size: 14px; }
  .natal-theme .cursos { padding: 60px 7%; }
  .fc-closing { flex-direction: column; align-items: flex-start; padding: 50px 7%; }
  .natal-theme :is(.login-container, .cadastro-container) { padding: 30px 5%; }
  .natal-theme :is(.login-card, .cadastro-card) { padding: 30px 22px; }
  .natal-theme :is(.cursos-intro, .programacao-intro, .patrocinadores-intro, .faq-intro, .contato-intro, .instrutores-intro, .sobre-intro) { padding-top: 55px; padding-bottom: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .natal-theme *, .natal-theme *::before, .natal-theme *::after { animation: none !important; transition-duration: 0s !important; }
  .fc-scene { transform: none; }
  .fc-motion-ready .fc-reveal { opacity: 1; translate: none; }
  .fc-snow { display: none; }
}
