@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Montserrat:wght@600;700;800&display=swap');

:root{--primary:#173f7a;--accent:#55a9de;--secondary:#0d274c;--ink:#172337;--muted:#637083;--surface:#f3f7fb;--line:#dce5ef}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif;background:#fff}a{color:inherit}.container{max-width:1180px}.skip-link{position:fixed;left:16px;top:-60px;z-index:9999;background:#fff;padding:10px 16px;border-radius:6px}.skip-link:focus{top:12px}
.topbar{background:#eef5fb;border-bottom:1px solid #dce8f3;font-size:12px;color:#29435f}.topbar-inner,.topbar-links{display:flex;align-items:center}.topbar-inner{justify-content:space-between;gap:20px;min-height:38px}.topbar-links{gap:15px}.topbar a{text-decoration:none}.topbar a:hover{text-decoration:underline}
.brandbar{background:#fff}.brandbar-inner{min-height:112px;display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,1.35fr) minmax(220px,.85fr);align-items:center;gap:32px}.school-brand{display:flex;align-items:center;gap:15px;text-decoration:none}.school-brand img{width:112px;height:auto}.school-brand span{display:flex;flex-direction:column;color:var(--primary);line-height:1.08}.school-brand strong{font-family:Montserrat,sans-serif;font-size:17px}.school-brand small{font-size:14px;letter-spacing:.14em;text-transform:uppercase;margin-top:5px}.chamber-brand{display:flex;justify-content:center}.chamber-brand img{width:100%;max-width:390px;height:68px;object-fit:contain}.site-search{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#f8fafc}.site-search input{border:0;background:transparent;box-shadow:none!important;padding-left:18px;font-size:13px}.site-search .btn{border:0;color:var(--primary);padding:0 16px}
.mainmenu{background:var(--primary);border-bottom:0;box-shadow:0 5px 16px rgba(13,39,76,.12)}.mainmenu-inner{display:flex}.mainmenu ul{list-style:none;display:flex;align-items:center;justify-content:center;gap:2px;margin:0;padding:0;width:100%}.mainmenu a{display:block;color:#fff;text-decoration:none;font-size:13px;font-weight:600;padding:17px 14px}.mainmenu a:hover{background:rgba(255,255,255,.12)}.menu-toggle{display:none;background:transparent;border:0;color:#fff;font-weight:700;padding:14px 0}
.mainmenu .has-submenu{position:relative}.submenu-toggle{height:100%;border:0;display:flex;align-items:center;gap:4px;padding:17px 14px;background:transparent;color:#fff;font-size:13px;font-weight:600}.submenu-toggle:hover,.submenu-toggle[aria-expanded="true"]{background:rgba(255,255,255,.12)}.mainmenu .submenu{position:absolute;z-index:40;top:100%;left:0;width:250px;display:none;align-items:stretch;padding:7px;background:#fff;border:1px solid #d8e4ee;border-radius:0 0 9px 9px;box-shadow:0 15px 35px rgba(13,39,76,.22)}.mainmenu .submenu li{width:100%}.mainmenu .submenu a{padding:11px 12px;border-radius:6px;color:#173f7a;line-height:1.35}.mainmenu .submenu a:hover{background:#e9f4fb}.has-submenu:hover>.submenu,.has-submenu:focus-within>.submenu,.has-submenu.is-open>.submenu{display:flex;flex-direction:column}
@media(max-width:992px){.mainmenu .submenu{position:static;width:100%;margin:0 0 5px;padding:4px 10px;background:rgba(255,255,255,.07);border:0;border-radius:7px;box-shadow:none}.mainmenu .submenu a{padding:10px 16px;color:#fff}.mainmenu .submenu a:hover{background:rgba(255,255,255,.1)}.submenu-toggle{width:100%;justify-content:space-between;padding:12px 4px}}
.hero{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 82% 35%,#2d79ad 0,transparent 24%),linear-gradient(120deg,#071f42 0%,#173f7a 58%,#236b9f 100%)}.hero:before,.hero:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.11);border-radius:50%}.hero:before{width:540px;height:540px;right:-90px;top:-210px}.hero:after{width:360px;height:360px;right:120px;bottom:-250px}.hero-image,.hero-overlay{position:absolute;inset:0}.hero-image{background-size:cover;background-position:center 42%;opacity:.5}.hero-overlay{background:linear-gradient(90deg,rgba(7,31,65,.96) 0%,rgba(11,46,88,.77) 48%,rgba(10,40,75,.2) 100%)}.hero-content{position:relative;z-index:1;color:#fff;padding-top:80px;padding-bottom:80px}.eyebrow,.section-kicker{display:block;text-transform:uppercase;letter-spacing:.17em;font-weight:800;font-size:11px}.eyebrow{color:#9ed6f5;margin-bottom:18px}.hero h1{font-family:Montserrat,sans-serif;font-size:clamp(38px,5.3vw,68px);font-weight:600;line-height:1.03;margin:0;max-width:780px}.hero h1 strong{font-weight:800;color:#9ed6f5}.hero p{max-width:650px;font-size:18px;line-height:1.65;margin:24px 0 32px;color:#e1edf7}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn-primary-site,.btn-outline-site{padding:13px 21px;border-radius:6px;font-weight:700;font-size:14px;text-decoration:none}.btn-primary-site{background:var(--accent);color:#092a51}.btn-primary-site:hover{background:#83c9ee}.btn-outline-site{border:1px solid rgba(255,255,255,.5);color:#fff}.btn-outline-site:hover{background:#fff;color:var(--primary)}
.intro-section,.news-section{padding:86px 0}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px}.section-kicker{color:#367db3;margin-bottom:12px}.intro-section h2,.section-heading h2,.section-heading-row h2,.contact-strip h2{font-family:Montserrat,sans-serif;font-weight:800;line-height:1.2;margin:0}.intro-section h2{font-size:38px}.intro-copy p{color:var(--muted);line-height:1.8;font-size:15px}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-weight:800;text-decoration:none;font-size:14px}.text-link:hover{color:#2d79ad}
.access-section{padding:80px 0;background:var(--surface)}.section-heading.centered{text-align:center;max-width:650px;margin:0 auto 38px}.section-heading h2,.section-heading-row h2{font-size:34px}.section-heading p{color:var(--muted);margin:10px 0 0}.access-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.access-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:15px;text-decoration:none;box-shadow:0 8px 24px rgba(24,63,122,.05);transition:.2s}.access-card:hover{transform:translateY(-3px);border-color:#9bcbea;box-shadow:0 15px 32px rgba(24,63,122,.12)}.access-icon{width:48px;height:48px;border-radius:9px;display:grid;place-items:center;background:#eaf4fb;color:var(--primary);font-size:23px}.access-card span:nth-child(2){display:flex;flex-direction:column;gap:5px}.access-card strong{font-family:Montserrat,sans-serif;font-size:15px}.access-card small{font-size:12px;line-height:1.5;color:var(--muted)}.access-arrow{color:#7b91aa}
.section-heading-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.news-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.news-featured{min-height:370px;position:relative;display:flex;align-items:end;overflow:hidden;border-radius:12px;background:linear-gradient(135deg,#153d76,#23699c);color:#fff;text-decoration:none}.news-featured>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}.news-featured:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,25,52,.92),transparent 75%)}.news-content{position:relative;z-index:1;padding:30px;display:flex;flex-direction:column}.news-content small{color:#9ed6f5;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.news-content strong{font-family:Montserrat,sans-serif;font-size:25px;margin:8px 0}.news-content p{margin:0;color:#dce8f3}.news-side{display:grid;gap:14px}.news-side a{border:1px solid var(--line);border-radius:10px;padding:24px;text-decoration:none;display:flex;flex-direction:column;gap:8px}.news-side small{color:var(--muted)}.news-side strong{font-family:Montserrat,sans-serif;font-size:17px}.news-side span{color:var(--primary);font-weight:700;font-size:13px}.empty-state{text-align:center;border:1px dashed #b9c9da;border-radius:12px;padding:48px;color:var(--muted)}.empty-state i{display:block;font-size:38px;color:var(--accent)}.empty-state strong{display:block;color:var(--ink);margin:12px 0 4px}
.contact-strip{background:#e5f2fa;padding:55px 0;border-top:1px solid #cbe2f1}.contact-strip-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}.contact-strip h2{font-size:28px}.contact-strip p{margin:8px 0 0;color:var(--muted)}.contact-actions{display:flex;gap:10px;flex-wrap:wrap}.contact-actions a{background:#fff;border:1px solid #c5d9e8;border-radius:7px;padding:12px 16px;text-decoration:none;font-weight:700;color:var(--primary)}
.site-footer{color:#fff}.site-footer-camara{position:relative;background:#3c609c}.footer-accent{height:4px;background:#c9df3a}.camara-footer-grid{display:grid;grid-template-columns:1.05fr 1.35fr 1.5fr;gap:30px;padding-top:34px;padding-bottom:30px}.camara-footer-brand{display:flex;align-items:center;justify-content:center;padding:4px 20px}.camara-footer-brand a{display:flex;align-items:center;justify-content:center;width:100%;max-width:245px}.camara-footer-brand img{display:block;width:100%;height:185px;object-fit:contain}.footer-info-column{display:flex;flex-direction:column;gap:17px}.footer-info-card{display:grid;grid-template-columns:42px 1fr;min-height:100px;background:rgba(82,123,188,.68);border-radius:7px;overflow:hidden}.footer-vertical-title{display:flex;align-items:center;justify-content:center;background:#f9fbff;color:#315893;font-size:11px;font-weight:800;letter-spacing:.04em;writing-mode:vertical-rl;transform:rotate(180deg)}.footer-info-content{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:15px 17px;font-size:12px}.footer-info-content strong{font-weight:500}.footer-info-content span,.footer-info-content a{color:#fff;text-decoration:none}.footer-info-content small{font-size:10px;margin-top:7px;color:#e1eaf7}.footer-block-title{font-size:13px;font-weight:600}.footer-socials{display:flex;align-items:center;gap:10px}.footer-socials a{width:27px;height:27px;border-radius:6px;display:grid;place-items:center;background:#fff;color:#3c609c;text-decoration:none;font-size:20px;transition:.18s}.footer-socials a:hover{transform:translateY(-2px);background:#dcecff}.footer-apps{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.footer-app-btn{min-width:112px;height:38px;padding:5px 9px;border:1px solid rgba(255,255,255,.85);border-radius:7px;display:flex;align-items:center;gap:7px;color:#fff;text-decoration:none}.footer-app-btn>i{font-size:20px}.footer-app-btn>span{display:flex;flex-direction:column;line-height:1}.footer-app-btn small{font-size:8px}.footer-app-btn strong{font-size:11px;margin-top:3px}.footer-app-btn.is-disabled{opacity:.68;cursor:not-allowed;border-color:rgba(255,255,255,.55)}a.footer-app-btn:hover{background:rgba(255,255,255,.1);color:#fff}.footer-bottom{background:rgba(55,91,149,.76);border-top:1px solid rgba(255,255,255,.1);padding:17px 0;color:#e1e9f5;font-size:10px}.footer-bottom-inner{display:flex;justify-content:space-between;gap:20px}
.news-content img{max-width:100%;height:auto}.site-content>.container{min-height:300px}.section-title h2,.site-content h1{font-family:Montserrat,sans-serif;color:var(--primary)}.site-content .hero h1{color:#fff}

/* Conteúdo publicado pelo CMS, separado dos cards escuros de notícias da home. */
.cms-content{max-width:100%;color:var(--ink);font-size:16px;line-height:1.8}.cms-content p,.cms-content li{color:#53677f}.cms-content h2,.cms-content h3,.cms-content h4{margin:1.4em 0 .65em;color:var(--primary);font-family:Montserrat,sans-serif;font-weight:800}.cms-content h2:first-child{margin-top:0}.cms-content a{color:#185e9a;font-weight:700;text-underline-offset:3px}.cms-content img{max-width:100%;height:auto;border-radius:10px}.cms-content table{width:100%;display:block;overflow-x:auto}.high-contrast .cms-content,.high-contrast .cms-content p,.high-contrast .cms-content li{color:#fff!important}
.cms-cover-placeholder{height:250px;display:grid;place-items:center;background:linear-gradient(135deg,#e7f2fa,#d4e8f5);color:#397ba9;font-size:58px}.cms-cover-placeholder.is-card{height:180px;font-size:42px}
.article-audio{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 22px;padding:12px;border:1px solid #d6e3ee;border-radius:9px;background:#f3f8fc}.article-audio button{min-height:38px;border:1px solid #aac5dc;border-radius:7px;display:inline-flex;align-items:center;gap:7px;padding:8px 13px;background:#fff;color:var(--primary);font-weight:800;font-size:12px}.article-audio button:hover{background:#e4f1f9}.article-audio-play{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.article-audio-status{margin-left:5px;color:#53677f;font-size:12px}.high-contrast .article-audio{background:#000;border-color:#fff}.high-contrast .article-audio-status{color:#fff}
.article-voice{display:flex;align-items:center;gap:6px;margin:0 2px;color:#53677f;font-size:11px;font-weight:700}.article-voice[hidden]{display:none}.article-voice select{max-width:220px;height:38px;border:1px solid #aac5dc;border-radius:7px;background:#fff;padding:0 9px;color:#173f7a;font-size:12px}
.article-image-credit{padding:7px 14px;background:#f3f7fb;color:#637083;font-size:11px;text-align:right;border-bottom:1px solid #dce5ef}

/* Formulário institucional de contato */
.contact-form-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:50px;margin:55px 0 35px;padding:42px;border-radius:16px;background:linear-gradient(135deg,#edf7fc,#f8fbfe);border:1px solid #d5e8f3}.contact-form-intro h2{margin:0 0 14px!important;font-size:30px}.contact-form-intro>p{margin-bottom:28px;color:#53677f;line-height:1.7}.contact-detail{display:flex;align-items:center;gap:13px;margin:14px 0}.contact-detail>i{width:40px;height:40px;border-radius:9px;display:grid;place-items:center;background:#173f7a;color:#fff;font-size:19px}.contact-detail span{display:flex;flex-direction:column;color:#53677f;font-size:13px}.contact-detail strong{color:#172238}.contact-detail a{color:#315f8e;text-decoration:none}.contact-form-card{padding:28px;background:#fff;border:1px solid #d7e3ed;border-radius:13px;box-shadow:0 14px 35px rgba(13,39,76,.1)}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.contact-form-grid label{display:flex;flex-direction:column;gap:7px}.contact-form-grid label>span{font-weight:800;font-size:12px;color:#263c55}.contact-form-grid input,.contact-form-grid select,.contact-form-grid textarea{width:100%;border:1px solid #cbd9e6;border-radius:8px;background:#f9fbfd;padding:11px 12px;color:#172238;outline:0}.contact-form-grid input,.contact-form-grid select{height:45px}.contact-form-grid textarea{resize:vertical}.contact-form-grid input:focus,.contact-form-grid select:focus,.contact-form-grid textarea:focus{border-color:#55a9de;box-shadow:0 0 0 3px rgba(85,169,222,.16);background:#fff}.contact-message{grid-column:1/-1}.contact-message small{color:#71839a}.contact-consent{display:flex;align-items:flex-start;gap:9px;margin:18px 0;color:#53677f;font-size:12px;line-height:1.5}.contact-consent input{margin-top:3px;accent-color:#173f7a}.contact-consent a{color:#185e9a}.contact-submit{min-height:46px;border:0;border-radius:8px;padding:11px 19px;background:#173f7a;color:#fff;font-weight:800}.contact-submit:hover{background:#245a91}.contact-feedback{display:flex;gap:10px;align-items:flex-start;margin-bottom:18px;padding:12px;border-radius:8px}.contact-feedback i{font-size:22px}.contact-feedback div{display:flex;flex-direction:column}.contact-feedback span{font-size:12px}.contact-feedback.success{background:#e8f8ef;color:#176b42}.contact-feedback.error{background:#fff0f1;color:#a42a37}.contact-honeypot{position:absolute!important;left:-9999px!important}.high-contrast .contact-form-section,.high-contrast .contact-form-card{background:#000!important;border-color:#fff!important}@media(max-width:900px){.contact-form-section{grid-template-columns:1fr;gap:25px;padding:28px}}@media(max-width:580px){.contact-form-section{margin:35px -2px 20px;padding:20px 14px}.contact-form-card{padding:20px 15px}.contact-form-grid{grid-template-columns:1fr}.contact-message{grid-column:auto}}

/* Página de cursos e eventos */
.courses-landing{display:grid;grid-template-columns:1.4fr .6fr;gap:45px;align-items:stretch;margin:32px 0 28px}.courses-copy h2{margin:0 0 20px!important;font-size:34px;line-height:1.2}.courses-copy p{color:#53677f;font-size:16px;line-height:1.8}.courses-notice{display:flex;align-items:flex-start;gap:13px;margin:24px 0;padding:16px;border-left:4px solid #c9df3a;border-radius:0 9px 9px 0;background:#eef6fc}.courses-notice>i{color:#2877ad;font-size:22px}.courses-notice div{display:flex;flex-direction:column;gap:3px}.courses-notice span{color:#53677f;font-size:13px}.courses-highlight{min-height:290px;border-radius:15px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:30px;background:radial-gradient(circle at 80% 15%,#327cac,transparent 32%),linear-gradient(145deg,#0d274c,#173f7a);color:#fff;overflow:hidden}.courses-highlight>i{width:58px;height:58px;border-radius:12px;display:grid;place-items:center;margin-bottom:auto;background:#c9df3a;color:#173f7a;font-size:30px}.courses-highlight span{text-transform:uppercase;letter-spacing:.12em;color:#9ed6f5;font-size:10px;font-weight:800}.courses-highlight strong{margin-top:8px;font:800 20px/1.35 Montserrat,sans-serif}.courses-actions{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:0 0 40px}.courses-action{min-height:128px;border:1px solid #d3e1ec;border-radius:12px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:16px;padding:20px;background:#fff;color:#172238;text-decoration:none;box-shadow:0 8px 24px rgba(13,39,76,.06);transition:.2s}.courses-action:hover{transform:translateY(-3px);border-color:#55a9de;box-shadow:0 14px 30px rgba(13,39,76,.13)}.courses-action.primary{background:#173f7a;color:#fff;border-color:#173f7a}.courses-action-icon{width:48px;height:48px;border-radius:10px;display:grid;place-items:center;background:#e6f3fa;color:#226f9f;font-size:23px}.courses-action.primary .courses-action-icon{background:#c9df3a;color:#173f7a}.courses-action>span:nth-child(2){display:flex;flex-direction:column}.courses-action small{color:#4384ae;text-transform:uppercase;letter-spacing:.11em;font-weight:800}.courses-action strong{margin:3px 0 5px;font:800 16px Montserrat,sans-serif}.courses-action em{color:#697d92;font-size:12px;font-style:normal;line-height:1.45}.courses-action.primary small,.courses-action.primary em{color:#c9e3f3}.high-contrast .courses-highlight,.high-contrast .courses-action,.high-contrast .courses-notice{background:#000!important;border-color:#fff!important}@media(max-width:850px){.courses-landing{grid-template-columns:1fr}.courses-highlight{min-height:230px}.courses-actions{grid-template-columns:1fr}}@media(max-width:520px){.courses-copy h2{font-size:27px}.courses-action{grid-template-columns:42px 1fr;padding:17px}.courses-action>i{display:none}}
@media(max-width:992px){.brandbar-inner{grid-template-columns:1fr 1fr}.site-search{grid-column:1/-1;margin-bottom:18px}.access-grid{grid-template-columns:repeat(2,1fr)}.intro-grid{gap:45px}.camara-footer-grid{grid-template-columns:1fr 1fr}.camara-footer-brand{grid-column:1/-1}.camara-footer-brand a{max-width:245px}.mainmenu-inner{display:block}.menu-toggle{display:block}.mainmenu ul{display:none;align-items:stretch;flex-direction:column;padding-bottom:10px}.mainmenu ul.is-open{display:flex}.mainmenu a{padding:12px 4px}.hero{min-height:470px}}
@media(max-width:680px){.topbar-inner{align-items:flex-start;padding-top:8px;padding-bottom:8px}.topbar-links:first-child{display:none}.brandbar-inner{display:flex;flex-direction:column;gap:16px;padding-top:18px}.school-brand span{display:none}.school-brand img{width:150px}.chamber-brand img{height:50px}.site-search{width:100%;margin:0 0 18px}.hero{min-height:520px}.hero-overlay{background:rgba(8,35,70,.83)}.hero-content{padding-top:65px;padding-bottom:65px}.hero h1{font-size:39px}.hero p{font-size:16px}.intro-section,.news-section,.access-section{padding:60px 0}.intro-grid,.news-grid{grid-template-columns:1fr;gap:28px}.intro-section h2,.section-heading h2,.section-heading-row h2{font-size:28px}.access-grid{grid-template-columns:1fr}.section-heading-row,.contact-strip-inner{align-items:flex-start;flex-direction:column}.contact-actions{width:100%}.contact-actions a{width:100%}.camara-footer-grid{grid-template-columns:1fr;gap:25px}.camara-footer-brand{grid-column:auto}.footer-bottom-inner{flex-direction:column;gap:5px}.news-featured{min-height:330px}}

/* Placa clara para preservar a leitura do logotipo vertical no rodapé azul. */
.camara-footer-brand a{width:190px;height:190px;padding:14px;background:#fff;border:1px solid rgba(13,39,76,.09);border-radius:12px;box-shadow:0 10px 24px rgba(13,39,76,.16)}
.camara-footer-brand img{width:100%;height:100%;object-fit:contain}

/* Ordem institucional do cabeçalho: Câmara, Escola e busca. */
.brandbar .chamber-brand{justify-content:flex-start}.brandbar .chamber-brand img{max-width:350px}.brandbar .school-brand{justify-content:center}.brandbar .school-brand img{width:105px}
@media(max-width:680px){.brandbar .chamber-brand{justify-content:center}.brandbar .chamber-brand img{max-width:330px}.brandbar .school-brand{justify-content:center}}

/* No desktop, a identidade completa do SisEPB é usada como arte de fundo. */
.brandbar.has-header-art{position:relative;min-height:151px;background:#fff var(--header-art) no-repeat center center;background-size:100% 151px}.has-header-art .header-art-home{position:absolute;z-index:1;inset:0}.has-header-art .brandbar-inner{min-height:151px}.has-header-art .brandbar-inner>*{display:none}
@media(max-width:680px){.brandbar.has-header-art{min-height:0;background:#fff}.has-header-art .header-art-home{display:none}.has-header-art .brandbar-inner{min-height:112px}.has-header-art .brandbar-inner>*{display:flex}.has-header-art .site-search{display:none}}

/* Pesquisa destacada, sobreposta à base do banner principal. */
.hero-search-shell{position:relative;z-index:5;margin-top:-36px}.hero-search{min-height:72px;padding:12px 14px;display:grid;grid-template-columns:1fr 205px;gap:8px;background:#fff;border:1px solid #d8e3ee;border-radius:12px;box-shadow:0 12px 32px rgba(13,39,76,.17)}.hero-search-field{display:flex;align-items:center;border:1px solid #cbd9e7;background:#fff}.hero-search-field i{padding-left:16px;color:#607994;font-size:20px}.hero-search-field input{width:100%;height:44px;border:0;outline:0;padding:0 14px;color:#1c2e45;font-size:13px}.hero-search button{border:0;border-radius:7px;background:var(--primary);color:#fff;font-weight:800}.hero-search button:hover{background:#235b91}.hero-search-shell+.intro-section{padding-top:105px}@media(max-width:680px){.hero-search-shell{margin-top:-28px}.hero-search{grid-template-columns:1fr;padding:10px;gap:9px}.hero-search button{height:44px}.hero-search-shell+.intro-section{padding-top:88px}}

/* A busca fica sobreposta sem criar um bloco vazio entre o banner e a introdução. */
.site-content>.hero-search-shell{height:0;min-height:0;margin-top:0;transform:translateY(-36px)}.hero-search-shell+.intro-section{padding-top:105px}@media(max-width:680px){.site-content>.hero-search-shell{transform:translateY(-28px)}.hero-search-shell+.intro-section{padding-top:135px}}

/* Faixa institucional que separa o menu do conteúdo. */
.mainmenu::after{content:"";display:block;width:100%;height:5px;background:#c9df3a;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.cookie-actions{display:flex;gap:8px}.cookie-analytics{border:1px solid #c9df3a;border-radius:6px;background:transparent;color:#fff;padding:9px 15px;font-weight:800}

/* Acessibilidade, privacidade e páginas de sistema */
:focus-visible{outline:3px solid #c9df3a!important;outline-offset:3px}.accessibility-btn{border:0;background:transparent;color:#29435f;font:700 12px Inter,Arial,sans-serif;padding:3px 5px;border-radius:4px}.accessibility-btn:hover{background:#dceaf5}.high-contrast{--primary:#000;--secondary:#000;--accent:#ff0}.high-contrast body,.high-contrast .access-section,.high-contrast .contact-strip{background:#000!important;color:#fff!important}.high-contrast a{color:#ff0!important}.high-contrast .access-card,.high-contrast .card{background:#111!important;color:#fff!important;border-color:#fff!important}.cookie-banner{position:fixed;z-index:9998;left:20px;right:20px;bottom:18px;max-width:840px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;border-radius:10px;background:#0d274c;color:#fff;box-shadow:0 15px 45px rgba(0,0,0,.3);font-size:12px}.cookie-banner[hidden]{display:none}.cookie-banner p{margin:0}.cookie-banner a{color:#a9dcf5}.cookie-accept{border:0;border-radius:6px;background:#c9df3a;color:#173452;padding:9px 15px;font-weight:800}.legal-page,.error-page{padding-top:75px;padding-bottom:90px;min-height:520px}.legal-page{max-width:850px}.legal-page h1,.error-page h1{font-family:Montserrat,sans-serif;color:var(--primary);font-weight:800}.legal-page h2{font:700 20px Montserrat,sans-serif;margin-top:30px}.legal-page p,.legal-page li{line-height:1.8;color:var(--muted)}.error-page{text-align:center}.error-page>span{font:800 100px Montserrat,sans-serif;color:#d9eaf5}.error-page p{color:var(--muted);margin-bottom:28px}@media(max-width:680px){.cookie-banner{align-items:flex-start;flex-direction:column;left:10px;right:10px}.cookie-accept{width:100%}}

/* Menu flutuante de acessibilidade */
.accessibility-trigger svg{display:block;width:27px;height:27px}
.accessibility-widget{position:fixed;z-index:9997;right:18px;bottom:20px;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.accessibility-trigger{width:48px;height:48px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;box-shadow:0 0 0 2px #c9df3a,0 9px 24px rgba(13,39,76,.28);font-size:25px;cursor:pointer}.accessibility-trigger:hover{transform:translateY(-2px)}.accessibility-panel{width:280px;overflow:hidden;border:1px solid #d4deea;border-radius:9px;background:#fff;color:#172238;box-shadow:0 18px 50px rgba(13,39,76,.25)}.accessibility-panel[hidden]{display:none}.accessibility-panel-header{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 15px;background:#173f7a;color:#fff}.accessibility-panel-header strong{font-size:13px}.accessibility-close{width:27px;height:27px;border:0;border-radius:5px;display:grid;place-items:center;background:rgba(255,255,255,.15);color:#fff}.accessibility-options{padding:7px 0}.accessibility-options button{width:100%;min-height:39px;border:0;display:flex;align-items:center;gap:10px;padding:8px 15px;background:#fff;color:#172238;text-align:left;font:700 12px Inter,Arial,sans-serif}.accessibility-options button:hover,.accessibility-options button[aria-pressed="true"]{background:#e9f4fb;color:#173f7a}.accessibility-options i{width:18px;color:#2382b7;font-size:16px}.grayscale body{filter:grayscale(1)}.negative-contrast body{filter:invert(1) hue-rotate(180deg);background:#000}.negative-contrast img,.negative-contrast video,.negative-contrast [vw-access-button]{filter:invert(1) hue-rotate(180deg)}.underlined-links a{text-decoration:underline!important;text-underline-offset:3px}.readable-font body,.readable-font button,.readable-font input,.readable-font textarea,.readable-font select{font-family:Arial,Verdana,sans-serif!important;letter-spacing:.02em}.high-contrast body,.high-contrast header,.high-contrast nav,.high-contrast main,.high-contrast footer,.high-contrast section{background:#000!important;color:#fff!important}.high-contrast p,.high-contrast small,.high-contrast span,.high-contrast h1,.high-contrast h2,.high-contrast h3{color:#fff!important}.high-contrast button,.high-contrast input,.high-contrast .access-card{border-color:#fff!important}.high-contrast .accessibility-panel{background:#000;border-color:#fff}.high-contrast .accessibility-options button{background:#000;color:#fff}.high-contrast .accessibility-options button:hover{background:#222;color:#ff0}@media(max-width:680px){.accessibility-widget{right:13px;bottom:14px}.accessibility-panel{width:min(280px,calc(100vw - 26px))}.accessibility-trigger{width:45px;height:45px}}

/* Cajamar: azul institucional e verde do portal da Câmara Municipal. */
body{color:#394757}.topbar{background:#f4f7fa;color:#183152;border-color:#e0e7ed}
.brandbar:not(.has-header-art){background:#fff}.brandbar:not(.has-header-art) .brandbar-inner{grid-template-columns:190px 1fr 270px;min-height:154px;gap:45px}.brandbar:not(.has-header-art) .school-brand img{width:160px;height:136px}.brandbar:not(.has-header-art) .site-search{grid-column:3}.chamber-brand img{max-width:360px;height:75px}
.mainmenu::after,.footer-accent{background:#05a44f}.hero{min-height:510px;background:linear-gradient(115deg,#122640,#183152 65%,#22536a)}.hero-overlay{background:linear-gradient(90deg,rgba(18,38,64,.92),rgba(18,38,64,.3))}.hero h1{max-width:900px;font-size:clamp(36px,4.6vw,62px);line-height:1.12}.hero h1 strong{color:#76dfa4}.hero-school-name{display:block;margin-top:22px;font-size:17px;font-weight:700;color:#fff}.hero p{font-size:17px;margin-top:15px}.eyebrow{color:#9ce8be}.btn-primary-site{background:#05a44f;color:#fff}.btn-primary-site:hover{background:#087b40;color:#fff}.section-kicker,.text-link,.access-icon{color:#087b40}.access-icon{background:#eaf6ef}.access-section{background:#f4f8f6}.visit-section{padding:48px 0;background:#183152;color:#fff}.visit-inner{display:flex;align-items:center;gap:60px;justify-content:space-between}.visit-inner>div{max-width:760px}.visit-section .section-kicker{color:#76dfa4}.visit-section h2{font-size:28px;font-weight:750;line-height:1.3}.visit-section p{margin:12px 0 0;color:#d5e2ed;line-height:1.7}.visit-section a{flex-shrink:0}.contact-strip{background:#edf6f0;border-color:#d8e9df}.site-footer-camara{background:#122640}.camara-footer-brand a{max-width:270px}.camara-footer-brand img{height:195px;background:#fff;padding:10px;border-radius:8px}.site-footer-camara .footer-info-card{min-height:122px}.source-credit{font-size:13px;margin-top:36px}.cms-content{max-width:960px;padding:12px 0 40px}.cms-content>p{line-height:1.9}.cookie-accept{background:#76dfa4;color:#122640}.accessibility-trigger{box-shadow:0 0 0 2px #05a44f,0 9px 24px #18315240}.news-content small{color:#9ce8be}
@media(max-width:900px){.brandbar:not(.has-header-art) .brandbar-inner{grid-template-columns:150px 1fr;gap:25px}.brandbar:not(.has-header-art) .site-search{display:none}.visit-inner{gap:25px;align-items:flex-start;flex-direction:column}.mainmenu a{padding:16px 10px}}
@media(max-width:680px){.brandbar:not(.has-header-art) .brandbar-inner{display:flex;justify-content:center;padding:16px 12px;min-height:120px}.brandbar:not(.has-header-art) .school-brand img{width:105px;height:90px}.brandbar:not(.has-header-art) .site-search{display:none}.hero{min-height:520px}.hero-content{padding-top:55px;padding-bottom:75px}.hero-school-name{font-size:15px}.visit-section h2{font-size:25px}}

/* Cabeçalho da Escola: a marca da Câmara permanece no rodapé. */
.brandbar:not(.has-header-art) .brandbar-inner{grid-template-columns:1fr 300px;min-height:154px}
.brandbar:not(.has-header-art) .school-brand{justify-content:flex-start}
.brandbar:not(.has-header-art) .site-search{grid-column:2}
@media(max-width:680px){.brandbar:not(.has-header-art) .school-brand{justify-content:center}}
.imported-news-gallery{margin-top:35px}.imported-news-gallery>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.imported-news-gallery img{width:100%;height:190px;object-fit:cover;border-radius:8px}@media(max-width:680px){.imported-news-gallery>div{grid-template-columns:repeat(2,1fr)}.imported-news-gallery img{height:145px}}
.footer-bottom a{color:inherit;text-decoration:none}.footer-bottom a:hover{text-decoration:underline;color:#fff}

/* Destaques e últimas notícias da página inicial. */
.news-carousel,.news-carousel-slides{position:relative;min-height:370px}.news-carousel{overflow:hidden;border-radius:12px}.news-carousel .news-featured{position:absolute;inset:0;min-height:370px;opacity:0;visibility:hidden;transform:scale(1.015);transition:opacity .45s ease,transform .55s ease,visibility .45s}.news-carousel .news-featured.is-active{opacity:1;visibility:visible;transform:scale(1);z-index:1}.news-carousel-arrow{position:absolute;z-index:3;top:50%;width:38px;height:38px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;background:rgba(9,31,55,.58);color:#fff;font-size:23px;transform:translateY(-50%);transition:.2s}.news-carousel-arrow:hover{background:#05a44f;border-color:#05a44f}.news-carousel-arrow.is-prev{left:14px}.news-carousel-arrow.is-next{right:14px}.news-carousel-dots{position:absolute;z-index:3;right:20px;bottom:18px;display:flex;gap:7px}.news-carousel-dots button{width:8px;height:8px;border:0;border-radius:20px;padding:0;background:rgba(255,255,255,.55);transition:.2s}.news-carousel-dots button.is-active{width:25px;background:#76dfa4}.news-carousel .news-content{padding-right:75px}.news-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.news-bottom>a{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:135px 1fr;background:#fff;color:var(--ink);text-decoration:none;transition:.2s}.news-bottom>a:hover{transform:translateY(-3px);border-color:#92c9aa;box-shadow:0 12px 26px rgba(24,49,82,.09)}.news-bottom img{width:100%;height:100%;min-height:145px;object-fit:cover}.news-bottom span{display:flex;flex-direction:column;align-items:flex-start;padding:18px}.news-bottom small{color:var(--muted)}.news-bottom strong{margin:7px 0 12px;font:700 15px/1.4 Montserrat,sans-serif}.news-bottom em{margin-top:auto;color:#087b40;font-size:12px;font-style:normal;font-weight:800}@media(max-width:900px){.news-bottom{grid-template-columns:1fr}.news-bottom>a{grid-template-columns:180px 1fr}}@media(max-width:680px){.news-carousel,.news-carousel-slides,.news-carousel .news-featured{min-height:410px}.news-carousel .news-content{padding:25px 48px 45px 22px}.news-carousel .news-content strong{font-size:21px}.news-carousel .news-content p{display:none}.news-carousel-arrow{width:34px;height:34px}.news-carousel-arrow.is-prev{left:8px}.news-carousel-arrow.is-next{right:8px}.news-carousel-dots{right:18px;bottom:15px}.news-bottom>a{grid-template-columns:115px 1fr}.news-bottom img{min-height:150px}.news-bottom span{padding:15px}}
