/* Shared navigation and internal pages. Uses the existing Nobre palette. */
:root { --n-ink:#102333; --n-muted:#526371; --n-blue:#007daa; --n-light:#eff7fa; --n-line:#dce7eb; }
html { scroll-behavior:smooth; }
body { color:var(--n-muted); }
.shell { width:min(1180px, calc(100% - 64px)); margin-inline:auto; }
.site-top { background:#0d0f12; color:#cbd4d9; font-size:12px; padding:11px 0; }
.site-top .shell,.site-top .shell>div { display:flex; justify-content:space-between; gap:24px; }
.site-top a { color:#dce6ec; }
.site-header { position:sticky; top:0; z-index:1000; background:#fff; border-bottom:1px solid var(--n-line); }
.nav-shell { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand img,.site-footer img { width:180px; height:50px; object-fit:contain; }
.site-nav { display:flex; align-items:center; gap:26px; }
.site-nav>a,.service-toggle { font:700 15px 'Nunito',sans-serif; color:var(--n-ink); padding:12px 0; }
.site-nav [aria-current="page"],.service-toggle.is-active,.site-nav a:hover { color:var(--n-blue); }
.site-nav .nav-client { background:var(--n-ink); color:white; padding:13px 19px; border-radius:5px; }
.service-menu { position:relative; }
.service-toggle,.menu-toggle { background:none; border:0; }
.service-links { position:absolute; top:100%; left:-20px; min-width:270px; padding:10px; background:white; border:1px solid var(--n-line); box-shadow:0 14px 40px #10233318; border-radius:6px; }
.service-links a { display:block; padding:10px 12px; font-size:14px; color:var(--n-ink); border-radius:3px; }
.service-links a:hover { background:var(--n-light); }
.menu-toggle { display:none; color:var(--n-ink); }
.skip-link { position:fixed; top:-80px; left:16px; z-index:2000; background:white; padding:15px; }
.skip-link:focus { top:8px; }
:focus-visible { outline:3px solid #007daa; outline-offset:4px; }
#conteudo { scroll-margin-top:100px; }
.inner-page h1,.inner-page h2,.inner-page h3 { color:var(--n-ink); }
.page-hero { background:var(--n-ink); color:#d3e1e8; overflow:hidden; }
.breadcrumbs { display:flex; gap:13px; flex-wrap:wrap; padding-top:28px; font-size:12px; }
.breadcrumbs a { color:#c5e6f4; }
.hero-grid { display:grid; grid-template-columns:1fr 240px; align-items:center; gap:60px; padding:45px 0 58px; }
.eyebrow { display:block; color:var(--n-blue); font:700 12px 'Rubik',sans-serif; letter-spacing:1.8px; text-transform:uppercase; margin-bottom:17px; }
.page-hero .eyebrow { color:#70d6f5; }
.page-hero h1 { font-size:clamp(34px,4.3vw,58px); line-height:1.09; color:white; max-width:850px; margin:0 0 20px; }
.page-hero p { max-width:660px; font-size:18px; line-height:1.7; margin:0; }
.hero-mark { border-left:1px solid #ffffff25; padding-left:50px; color:#6acded; }
.hero-mark span { font:800 120px 'Nunito',sans-serif; display:block; line-height:1.1; }
.hero-mark small { display:block; max-width:160px; letter-spacing:3px; font-size:9px; line-height:1.8; }
.section-space { padding-block:80px; }
.inner-page h2 { font-size:clamp(27px,3vw,38px); line-height:1.2; margin-bottom:24px; }
.inner-page h3 { font-size:22px; line-height:1.3; }
.inner-page p { line-height:1.85; }
.split-section { display:grid; grid-template-columns:1.1fr 1fr; gap:75px; align-items:center; }
.editorial-image { width:100%; height:380px; object-fit:cover; border-radius:8px; }
.n-button { display:inline-flex; justify-content:center; align-items:center; gap:24px; background:var(--n-blue); color:white; border:0; border-radius:5px; padding:16px 24px; font:700 15px 'Nunito',sans-serif; margin-top:12px; transition:background .2s; }
.n-button:hover { background:#005b7d; color:white; }
.text-link,.read-more { color:var(--n-blue); font-weight:600; display:inline-block; margin-top:15px; }
.soft-section { background:var(--n-light); }
.cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:35px; }
.info-card { padding:32px; border:1px solid var(--n-line); border-radius:7px; background:white; }
.card-index { display:none; }
.info-card p { margin-bottom:0; font-size:15px; color:var(--n-muted); }
.linked-card { display:flex; flex-direction:column; transition:transform .2s,box-shadow .2s; }
.linked-card:hover { transform:translateY(-4px); box-shadow:0 12px 30px #10233310; }
.linked-card .read-more { margin-top:auto; padding-top:30px; }
.service-aside { padding:40px; border-left:4px solid var(--n-blue); background:var(--n-light); border-radius:0 7px 7px 0; }
.service-aside a { overflow-wrap:anywhere; }
.faq-section { padding-bottom:70px; max-width:850px; }
details { border-bottom:1px solid var(--n-line); padding:20px 0; }
summary { color:var(--n-ink); font-weight:500; cursor:pointer; }
details p { margin:15px 0 0; }
.cta-band { background:var(--n-light); border-radius:8px; padding:45px; margin-block:20px 80px; display:flex; justify-content:space-between; align-items:center; gap:30px; }
.cta-band h2 { margin-bottom:0; font-size:32px; }
.cta-band .n-button { flex-shrink:0; }
.site-footer { background:#0d0f12; color:#b7c4cd; padding-top:60px; font-size:14px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .7fr 1fr; gap:70px; padding-bottom:45px; }
.site-footer h2 { color:white; font-size:17px; margin-bottom:20px; }
.site-footer p { margin-top:24px; line-height:1.8; }
.site-footer a { display:block; color:#c2cdd5; margin-bottom:12px; overflow-wrap:anywhere; }
.site-footer a:hover { color:#70d6f5; }
.footer-bottom { border-top:1px solid #ffffff20; padding-block:24px; font-size:12px; }
.floating-contact { position:fixed; right:24px; bottom:22px; z-index:999; background:#176a45; color:white; padding:12px 20px; border-radius:30px; font-size:13px; box-shadow:0 3px 15px #0002; }
.floating-contact:hover { color:white; background:#115334; }
.back-to-top { bottom:85px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; }
.section-heading h2 { margin:0; }
.filter-label { min-width:220px; font-size:13px; }
.filter-label select { margin-top:8px; }
select,input,textarea { width:100%; border:1px solid #b8cbd3; border-radius:4px; padding:12px; background:white; color:var(--n-ink); }
.article-card { border:1px solid var(--n-line); border-radius:7px; overflow:hidden; }
.article-card>a { display:block; height:100%; color:var(--n-muted); }
.article-card img { width:100%; height:205px; object-fit:cover; }
.article-card>a>div { padding:27px; }
.article-card h2 { font-size:24px; }
.article-card p { font-size:14px; }
.article-card:hover h2 { color:var(--n-blue); }
.article-body { max-width:820px; }
.article-cover { width:100%; height:330px; object-fit:cover; border-radius:7px; margin:30px 0 45px; }
.article-body section { margin-bottom:34px; }
.article-body h2 { font-size:28px; }
.article-note { background:var(--n-light); border-left:3px solid var(--n-blue); padding:24px; line-height:1.8; font-size:14px; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.contact-item { margin-block:28px; }
.contact-item h3 { font-size:15px; margin-bottom:8px; }
.contact-item a { overflow-wrap:anywhere; }
.contact-form { border:1px solid var(--n-line); padding:36px; border-radius:8px; background:var(--n-light); }
.contact-form h2 { font-size:27px; }
.contact-form label { display:block; font-size:14px; color:var(--n-ink); margin:17px 0 7px; }
.form-note { font-size:12px; margin-top:15px; }
#form-status { font-size:13px; margin:15px 0 0; }
[hidden] { display:none!important; }
@media(max-width:991px) { .site-nav.is-open { max-height:calc(100dvh - 100px); overflow-y:auto; } }
@media(max-width:1100px) { .site-nav { gap:15px; } .nav-shell { gap:15px; } .brand img { width:150px; } }
@media(max-width:991px) { .shell { width:calc(100% - 40px); } .menu-toggle { display:flex; gap:12px; align-items:center; padding:12px 0; } .nav-shell { min-height:80px; flex-wrap:wrap; } .site-nav { display:none; flex-basis:100%; align-items:stretch; padding-bottom:20px; } .site-nav.is-open { display:flex; flex-direction:column; gap:0; } .service-toggle { width:100%; text-align:left; } .service-links { position:static; box-shadow:none; margin-block:5px; min-width:0; } .site-nav .nav-client { text-align:center; margin-top:10px; } .hero-grid { grid-template-columns:1fr; gap:0; } .hero-mark { display:none; } .split-section { gap:35px; } .cards { gap:16px; } .info-card { padding:24px; } .contact-grid { gap:35px; } .footer-grid { gap:35px; } .site-top .shell>div a:last-child { display:none; } }
@media(max-width:700px) { .shell { width:calc(100% - 36px); } .hero-grid { padding:35px 0 42px; } .page-hero p { font-size:16px; } .section-space { padding-block:48px; } .split-section,.contact-grid,.footer-grid,.cards { grid-template-columns:1fr; } .editorial-image { height:290px; } .cta-band { flex-direction:column; align-items:flex-start; padding:28px; margin-bottom:48px; } .cta-band h2 { font-size:27px; } .section-heading { align-items:stretch; flex-direction:column; } .contact-form { padding:24px; } .service-aside { padding:28px; } .article-cover { height:220px; } .footer-grid { gap:25px; } .footer-bottom { padding-bottom:90px; } .site-top { font-size:11px; } .floating-contact { right:16px; bottom:16px; } .inner-page h1 { overflow-wrap:break-word; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
