:root { --black:#0d0d0e; --black-soft:#171719; --gold:#c7a35b; --gold-light:#e5cc94; --cream:#f6f3ed; --white:#fff; --ink:#1c1b1a; --muted:#716d67; --line:#ded8cd; --container:1280px; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; scroll-padding-top:80px; } body { margin:0; background:var(--white); color:var(--ink); font-family:Inter,Arial,sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased; } img { display:block; max-width:100%; } a { color:inherit; } h1,h2,h3,p { margin-top:0; } h1,h2 { font-family:"League Gothic",Impact,sans-serif; font-weight:400; letter-spacing:.01em; line-height:.91; text-wrap:balance; } h1 { font-size:clamp(4.25rem,13vw,7.4rem); } h2 { font-size:clamp(3.6rem,10vw,5.8rem); } h3 { font-size:1.1rem; line-height:1.25; } .container { width:min(calc(100% - 40px),var(--container)); margin:auto; } .section { padding:85px 0; } .skip-link { position:fixed; top:12px; left:12px; z-index:100; padding:10px 15px; transform:translateY(-200%); background:#fff; border-radius:8px; } .skip-link:focus { transform:translateY(0); } .eyebrow { margin-bottom:14px; color:#9b7939; font-size:.7rem; font-weight:700; letter-spacing:.17em; text-transform:uppercase; } .section-heading { max-width:650px; margin-bottom:40px; } .section-heading p:last-child { color:var(--muted); } .site-header { position:absolute; z-index:3; inset:0 0 auto; padding:18px 0; } .header-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; } .brand { width:136px; } .header-action,.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 20px; border-radius:999px; text-decoration:none; font-size:.8rem; font-weight:600; transition:transform .2s,background .2s; } .header-action { border:1px solid rgba(255,255,255,.28); color:#fff; background:rgba(255,255,255,.05); } .header-action:hover,.button:hover { transform:translateY(-2px); } .hero { position:relative; overflow:hidden; min-height:760px; padding-top:135px; color:#fff; background:linear-gradient(120deg,#09090a 0%,#151515 55%,#0d0d0e 100%); } .hero::after { content:""; position:absolute; right:0; bottom:-1px; left:0; height:90px; background:var(--white); clip-path:polygon(0 88%,100% 0,100% 100%,0 100%); } .hero-glow { position:absolute; width:600px; height:600px; right:-180px; top:-180px; border-radius:50%; background:radial-gradient(circle,rgba(199,163,91,.2),transparent 67%); } .hero-grid { position:relative; z-index:1; display:grid; align-items:end; gap:15px; } .hero-copy { padding-bottom:120px; } .hero .eyebrow { color:var(--gold-light); } .hero-lead { max-width:610px; color:rgba(255,255,255,.72); } .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:28px; } .button-gold { min-height:56px; padding:0 25px; color:#191611; background:var(--gold); } .text-link { color:#fff; font-size:.83rem; font-weight:600; text-underline-offset:5px; } .trust-list { display:flex; flex-wrap:wrap; gap:8px 18px; margin:24px 0 0; padding:0; color:rgba(255,255,255,.63); font-size:.72rem; list-style:none; } .trust-list li::before { content:"•"; margin-right:7px; color:var(--gold); } .hero-visual { position:relative; min-height:440px; } .hero-visual img { position:absolute; z-index:1; right:50%; bottom:0; width:380px; max-width:none; transform:translateX(50%); filter:grayscale(1) contrast(1.06) drop-shadow(0 25px 30px rgba(0,0,0,.45)); } .hero-ring { position:absolute; top:55px; left:50%; width:310px; height:310px; border:1px solid rgba(199,163,91,.58); border-radius:50%; transform:translateX(-50%); } .hero-tag { position:absolute; z-index:2; right:0; bottom:90px; margin:0; padding:10px 13px; border:1px solid rgba(199,163,91,.55); color:rgba(255,255,255,.72); background:rgba(13,13,14,.7); font-size:.67rem; line-height:1.35; } .hero-tag strong { display:block; color:var(--gold-light); font-family:"League Gothic"; font-size:1.8rem; font-weight:400; }
.agenda { background:var(--white); } .agenda-grid { display:grid; gap:12px; } .agenda-card { display:grid; grid-template-columns:86px 1fr; gap:13px 17px; align-items:center; padding:22px 0; border-top:1px solid var(--line); } .agenda-card:last-child { border-bottom:1px solid var(--line); } .date { color:var(--black); font-family:"League Gothic"; font-size:3.35rem; line-height:.72; } .date small { display:block; margin-top:8px; color:var(--muted); font-family:Inter; font-size:.61rem; font-weight:600; line-height:1.35; text-transform:uppercase; } .date-pending { color:var(--gold); } .course-type,.pending { margin:0; color:#9b7939; font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; } .agenda-card h3 { margin:2px 0 0; font-family:"League Gothic"; font-size:2.25rem; font-weight:400; } .agenda-card a { grid-column:2; color:var(--ink); font-size:.76rem; font-weight:700; text-decoration:none; } .agenda-card a span,.course-card a span { color:#a37d37; font-size:1.1rem; }
.courses { color:#fff; background:var(--black); } .heading-light p:last-child { color:rgba(255,255,255,.62); } .courses .eyebrow { color:var(--gold-light); } .courses-grid { display:grid; gap:14px; } .course-card { min-height:255px; padding:28px; border:1px solid rgba(229,204,148,.25); background:var(--black-soft); } .course-card > span { display:block; margin-bottom:42px; color:var(--gold); font-family:"League Gothic"; font-size:2.1rem; } .course-card h3 { margin-bottom:10px; font-family:"League Gothic"; font-size:2.65rem; font-weight:400; } .course-card p { color:rgba(255,255,255,.62); font-size:.84rem; } .course-card a { color:var(--gold-light); font-size:.76rem; font-weight:700; text-decoration:none; }
.links { background:var(--cream); } .links-layout,.faq-grid { display:grid; gap:30px; } .important-links { border-top:1px solid var(--line); } .important-links a { display:grid; grid-template-columns:46px 1fr 18px; gap:15px; align-items:center; padding:20px 0; border-bottom:1px solid var(--line); text-decoration:none; transition:padding .2s; } .important-links a:hover { padding-left:7px; } .link-icon { display:grid; width:38px; aspect-ratio:1; place-items:center; color:#8d6b30; border:1px solid #c9ae77; border-radius:50%; font-family:"League Gothic"; font-size:1.15rem; } .important-links strong,.important-links small { display:block; } .important-links strong { font-size:.86rem; } .important-links small { color:var(--muted); font-size:.72rem; } .important-links b { color:#9b7939; font-size:1.25rem; }
.faq { background:#fff; } .accordion details { border-bottom:1px solid var(--line); } .accordion summary { position:relative; padding:20px 35px 20px 0; font-size:.88rem; font-weight:600; line-height:1.4; list-style:none; cursor:pointer; } .accordion summary::-webkit-details-marker { display:none; } .accordion summary span::before,.accordion summary span::after { content:""; position:absolute; top:50%; right:5px; width:14px; height:1px; background:#9b7939; transition:transform .2s; } .accordion summary span::after { transform:rotate(90deg); } .accordion details[open] summary span::after { transform:rotate(0); } .accordion details p { padding:0 20px 20px 0; color:var(--muted); font-size:.83rem; } .site-footer { padding:34px 0; color:rgba(255,255,255,.55); background:#070708; } .footer-inner { display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center; } .footer-inner img { width:130px; filter:grayscale(1) brightness(2); } .footer-inner p { margin:0; font-size:.67rem; }
.reveal { opacity:1; transform:none; } .js .reveal { opacity:0; transform:translateY(20px); transition:opacity .65s ease,transform .65s ease; } .js .reveal.is-visible { opacity:1; transform:none; } a:focus-visible,summary:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
@media (min-width:620px) { .agenda-card { grid-template-columns:130px 1fr auto; padding:24px 5px; } .agenda-card a { grid-column:auto; } .courses-grid { grid-template-columns:repeat(3,1fr); } }
@media (min-width:768px) { .container { width:min(calc(100% - 64px),var(--container)); } .section { padding:115px 0; } .hero { min-height:790px; padding-top:145px; } .hero-grid { grid-template-columns:1.08fr .92fr; min-height:645px; } .hero-visual { min-height:620px; } .hero-visual img { right:-45px; width:530px; transform:none; } .hero-ring { top:60px; left:55%; width:430px; height:430px; } .hero-tag { right:0; bottom:130px; } .links-layout,.faq-grid { grid-template-columns:5fr 7fr; gap:80px; } .footer-inner { flex-direction:row; justify-content:space-between; text-align:left; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } .js .reveal { opacity:1; transform:none; } }

/* Ajustes de proporção e identidade visual da página principal. */
h1 { font-size:clamp(4.1rem,13.5vw,6.2rem); }
.brand { display:block; width:150px; }
.brand img { width:100%; height:auto; object-fit:contain; }
.hero-visual img { height:auto; object-fit:contain; filter:drop-shadow(0 25px 30px rgba(0,0,0,.45)); }
.hero-tag { right:0; bottom:76px; width:min(218px,55vw); padding:12px 14px; color:rgba(255,255,255,.76); background:rgba(13,13,14,.78); font-size:.64rem; line-height:1.45; }
.hero-tag strong { margin-bottom:4px; font-size:2rem; }
.footer-inner img { width:150px; height:auto; object-fit:contain; filter:none; }

@media (min-width:620px) { .courses-grid { grid-template-columns:repeat(2,1fr); } }

/* A imagem faz parte da hero: sem recorte branco nem transbordamento visual. */
.hero::after { display:none; }
.hero { overflow:hidden; }
.hero-copy { padding-bottom:32px; }
.hero-visual { min-height:360px; margin-top:0; }
.hero-visual img { bottom:0; }

@media (min-width:768px) {
  .hero-copy { padding-bottom:115px; }
  .hero-visual { min-height:620px; }
}
