:root { --blue:#006b8e; --blue-dark:#00526f; --green:#b4d942; --pale-blue:#91b7ce; --ink:#13394c; --muted:#5c7480; --paper:#f8fbf8; --line:#d7e5e4; --container:1160px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); font-family:'Nunito Sans',sans-serif; background:var(--paper); }
a { color:inherit; text-decoration:none; } .container { width:min(calc(100% - 40px),var(--container)); margin:auto; }
.site-header { position:sticky; top:0; z-index:10; background:rgba(255,255,255,.94); backdrop-filter:blur(12px); border-bottom:1px solid #e3eceb; }
.header-content { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:flex; align-items:center; color:var(--blue); }
.brand img { display:block; width:164px; height:58px; object-fit:contain; object-position:left center; }
.main-nav { display:flex; gap:30px; font:600 13px Montserrat,sans-serif; color:#487080; } .main-nav a:hover { color:var(--blue); }
.menu-toggle { display:none; border:0; background:transparent; padding:8px; } .menu-toggle span { display:block; width:24px;height:2px;background:var(--blue);margin:5px; }
.hero { overflow:hidden; position:relative; min-height:565px; color:#fff; display:flex; align-items:center; background:linear-gradient(118deg,#006f92 0%,#00678b 58%,#005777 100%); }
.hero:after { content:''; position:absolute; inset:auto -6% -220px auto; width:680px; height:680px; border:80px solid rgba(180,217,66,.22); border-radius:50%; } .hero-orbit { position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%; } .orbit-one {width:760px;height:760px;right:-340px;top:-350px;} .orbit-two {width:470px;height:470px;right:-85px;bottom:-290px;}
.hero-content { position:relative; z-index:1; padding:96px 0; max-width:1160px; } .edition,.section-kicker { margin:0 0 14px; color:var(--green); font:700 12px Montserrat,sans-serif; letter-spacing:.16em; }
h1,h2,h3 { font-family:Montserrat,sans-serif; } h1 { max-width:760px; margin:0; font-size:clamp(42px,6vw,74px); line-height:1.03; letter-spacing:-.05em; } h1 em { color:var(--green); font-style:normal; } .hero-text { max-width:580px; margin:25px 0 31px; font-size:20px; line-height:1.55; color:#e0f0f1; }
.hero-actions { display:flex; gap:13px; flex-wrap:wrap; }.button { display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:15px 22px;border-radius:4px;font:700 13px Montserrat,sans-serif;transition:transform .2s,box-shadow .2s; }.button:hover { transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.16); }.button-primary { background:var(--green);color:#164957; }.button-secondary { border:1px solid rgba(255,255,255,.58);color:#fff; }.event-note { display:flex;align-items:center;gap:10px;margin:36px 0 0;font-size:14px;color:#c4e2e8; }.event-note span { width:8px;height:8px;border-radius:50%;background:var(--green); }
.section { padding:104px 0; }.two-columns { display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start; } h2 { margin:0; font-size:clamp(32px,4vw,50px);line-height:1.1;letter-spacing:-.045em; }.about-copy { color:var(--muted);font-size:19px;line-height:1.65;padding-top:7px; }.about-copy p { margin:0 0 20px; }
.agenda-section { background:#eaf3f2; }.centered { max-width:720px;margin:auto;text-align:center; }.centered .section-kicker { color:var(--blue); }.section-heading > p:last-child { font-size:18px;line-height:1.6;color:var(--muted); }.agenda-empty { margin:50px auto 0;max-width:700px;padding:43px;background:#fff;border:1px solid var(--line);text-align:center; }.agenda-empty h3 { margin:14px 0 9px;font-size:23px; }.agenda-empty p { max-width:470px;margin:auto;color:var(--muted);line-height:1.6; }.calendar-icon { position:relative;display:inline-block;width:38px;height:35px;border:2px solid var(--blue);border-radius:3px; }.calendar-icon:before { content:'';position:absolute;top:8px;left:0;width:100%;border-top:2px solid var(--blue); }.calendar-icon:after { content:'•••';position:absolute;left:7px;bottom:1px;color:var(--green);letter-spacing:3px;font-weight:bold; }
.participate { background:var(--blue);padding:76px 0; }.participate-card { display:grid;grid-template-columns:1.35fr 1fr;gap:60px;align-items:center;color:#fff; }.participate .section-kicker { color:var(--green); }.participate h2 { max-width:650px; }.participate p:not(.section-kicker) { max-width:600px;color:#d4edf0;font-size:18px;line-height:1.6; }.participate-action { text-align:center; }.button-light { background:#fff;color:var(--blue);width:100%; }.participate-action small { display:block;margin-top:13px;color:#c7e6e9;line-height:1.4; }
.site-footer { padding:25px 0;background:#003f57;color:#b9d2d7;font-size:14px; }.footer-content { display:flex;justify-content:space-between;gap:20px; }.site-footer a { color:var(--green); }
@media (max-width:720px) { .container { width:min(calc(100% - 32px),var(--container)); }.header-content { min-height:70px; }.main-nav { display:none;position:absolute;left:0;right:0;top:70px;padding:20px 16px;background:#fff;flex-direction:column;gap:18px;border-bottom:1px solid var(--line); }.main-nav.is-open { display:flex; }.menu-toggle { display:block; }.hero { min-height:620px; }.hero-content { padding:80px 0; }.hero:after { width:460px;height:460px;border-width:54px;right:-275px;bottom:-120px; }.hero-text { font-size:18px; }.two-columns,.participate-card { grid-template-columns:1fr;gap:28px; }.section { padding:72px 0; }.participate { padding:60px 0; }.footer-content { flex-direction:column; }.brand img { width:144px;height:54px; } }

/* Assinatura institucional */
.site-footer { padding:18px 0; background:#fff; color:var(--muted); border-top:1px solid var(--line); }
.footer-content { align-items:center; }
.ilzb-signature { display:flex; align-items:center; }
.ilzb-signature img { display:block; width:96px; height:44px; object-fit:contain; object-position:right center; }

.back-link { color:var(--blue); font:700 13px Montserrat,sans-serif; }
.form-page { padding:76px 0 100px; background:linear-gradient(180deg,#eef7f6 0%,#f8fbf8 54%); }
.form-layout { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:70px; align-items:start; }
.form-intro { position:sticky; top:110px; } .form-intro h1 { color:var(--blue); font-size:clamp(38px,4vw,56px); } .form-intro p { color:var(--muted); font-size:18px; line-height:1.65; }
.form-card { padding:38px; background:#fff; border:1px solid var(--line); box-shadow:0 18px 45px rgba(0,75,92,.09); }
.form-card h2 { margin:34px 0 17px; font-size:24px; color:var(--blue); } .form-card h2:first-child { margin-top:0; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; } label { display:flex; flex-direction:column; gap:7px; color:#315564; font:700 13px Montserrat,sans-serif; } label.wide { grid-column:1 / -1; }
input,select,textarea { width:100%; border:1px solid #c9dbdc; border-radius:3px; padding:12px; background:#fff; color:var(--ink); font:400 16px sans-serif; } input:focus,select:focus,textarea:focus { outline:2px solid rgba(0,107,142,.2); border-color:var(--blue); } textarea { resize:vertical; }
.field-help,.upload-field small { margin:0 0 14px; color:var(--muted); font-size:14px; line-height:1.45; }.upload-field { padding:16px; background:#f1f7f5; border:1px dashed #aac9c4; }.upload-field input { padding:0; border:0; background:transparent; }
.consent { margin:25px 0; flex-direction:row; align-items:flex-start; gap:10px; font:400 14px/1.5 sans-serif; }.consent input { width:18px; min-width:18px; margin-top:2px; }.form-errors { margin-bottom:22px; padding:15px 18px; border-left:4px solid #b75b3f; background:#fff3ef; color:#71311f; }.form-errors ul { margin:8px 0 0; padding-left:18px; }.form-success { text-align:center; padding:30px 12px; }.form-success h2 { margin-top:0; }.form-success p { color:var(--muted); font-size:17px; line-height:1.6; margin-bottom:25px; }.trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
@media (max-width:800px) { .form-layout { grid-template-columns:1fr; gap:36px; }.form-intro { position:static; }.form-card { padding:24px; } }
@media (max-width:520px) { .field-grid { grid-template-columns:1fr; } label.wide { grid-column:auto; } }

@media (max-width:680px) { .form-page { padding:36px 0 56px; } .header-content { gap:12px; } .back-link { max-width:132px; text-align:right; font-size:12px; line-height:1.35; } .form-card { padding:22px 16px; } .field-grid { grid-template-columns:1fr; gap:15px; } label.wide { grid-column:auto; } .form-card h2 { margin-top:30px; font-size:22px; } input,select,textarea { min-height:48px; font-size:16px; } textarea { min-height:140px; } .upload-field input { min-height:unset; } .form-card button[type=submit] { width:100%; min-height:52px; } .consent { font-size:15px; } }

.support-section { padding:42px 0; background:#fff; border-bottom:1px solid var(--line); } .support-content { display:flex; align-items:center; justify-content:space-between; gap:28px; } .support-content .section-kicker { margin:0; color:var(--blue); } .support-logos { display:flex; align-items:center; flex-wrap:wrap; gap:28px; } .support-logos img { display:block; width:130px; height:58px; object-fit:contain; object-position:center; } .support-logos a { display:flex; align-items:center; } .form-support { margin-top:36px; padding-top:25px; border-top:1px solid var(--line); } .form-support .section-kicker { color:var(--blue); }
@media (max-width:680px) { .support-content { align-items:flex-start; flex-direction:column; } .support-logos { gap:18px; } .support-logos img { width:116px; height:54px; } }

/* Destaque de apoiadores */
.support-section { padding:58px 0; background:#eff8f6; } .support-content { flex-direction:column; justify-content:center; text-align:center; gap:5px; } .support-caption { margin:0; color:var(--muted); font-size:17px; } .support-logos.home-support { justify-content:center; margin-top:6px; } .support-logos.home-support img { width:260px; height:122px; } .intro-sponsor { margin-top:31px; padding-top:20px; border-top:1px solid var(--line); display:flex; flex-direction:column; align-items:flex-start; gap:8px; } .intro-sponsor span { color:var(--blue); font:700 12px Montserrat,sans-serif; letter-spacing:.08em; text-transform:uppercase; } .intro-sponsor img { display:block; width:210px; height:96px; object-fit:contain; object-position:left center; }
@media (max-width:680px) { .support-section { padding:46px 0; } .support-logos.home-support img { width:230px; height:108px; } .intro-sponsor img { width:190px; height:88px; } }

/* Logo horizontal do Grupo Urbam */
.support-logos.home-support img[src*=logo-urban] { width:380px; height:82px; } .intro-sponsor img[src*=logo-urban] { width:280px; height:62px; } .form-support img[src*=logo-urban] { width:240px; height:58px; }
@media (max-width:680px) { .support-logos.home-support img[src*=logo-urban] { width:min(100%,330px); height:72px; } .intro-sponsor img[src*=logo-urban] { width:240px; height:54px; } }
