@font-face{font-family:'Cormorant Garamond';src:url('/fonts/cormorant-garamond.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/fonts/cormorant-garamond-italic.woff2') format('woff2');font-style:italic;font-weight:300 700;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
body.public-site{--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif;--paper:#f6f3ec;--ink:#172f3b;--gold:#e3c797;--gold-2:#966c39;font-family:var(--sans);background:var(--paper);text-rendering:optimizeLegibility}
.public-site .brand-copy strong{font-family:var(--serif);font-weight:600;font-size:25px;letter-spacing:-.035em}
.public-site .brand-copy small{font-size:9px;letter-spacing:.2em}
.public-site .site-header{height:auto;min-height:92px;padding-block:18px}
.public-site .site-nav{gap:clamp(15px,1.5vw,27px);font-size:11px;font-weight:500}
.public-site .site-nav a{min-height:44px;display:inline-flex;align-items:center}
.public-site .member-link{margin-left:0;padding:12px 16px;border:1px solid #b2babb;font-size:10px}
.public-site .site-footer{padding-top:60px}
.public-site .sponsor-strip{display:none}
.public-site .footer-brand{gap:40px;padding-bottom:42px;align-items:center}
.public-site .footer-brand p{max-width:300px;font-size:13px;line-height:1.8}
.public-site .footer-contact-grid{padding-block:45px;gap:35px}
.public-site .footer-contact-grid a{font-size:13px;min-height:30px;display:inline-flex;align-items:center}
.public-site .footer-bottom{font-size:9px;line-height:1.8}
.public-site :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #af7f40;outline-offset:5px}
.public-site .skip-link{z-index:100;min-height:44px;display:flex;align-items:center}
.public-site .legal-page .page-hero{padding:80px max(6vw,28px) 60px;background:#eeece4;color:var(--ink);border-bottom:1px solid #d2d8d2}
.public-site .legal-page .page-hero h1{font-size:clamp(3.2rem,6vw,6rem);line-height:1;max-width:850px;font-weight:500;letter-spacing:-.035em}
.public-site .legal-page .page-hero h1 em{color:#557b7b}
.public-site .legal-page .page-hero p:not(.eyebrow){color:#4b616b;max-width:680px;font-size:17px;line-height:1.7}
.public-site .legal-page .prose{max-width:940px;padding-block:65px;font-size:16px;line-height:1.85}
.public-site .legal-page .prose :is(p,li){text-align:left;hyphens:none}
.public-site .legal-page .prose h2{margin:48px 0 18px;font-size:36px;font-family:var(--serif);line-height:1.15;color:#142f3e}
.public-site .legal-page .prose h2:first-child{margin-top:0}
.public-site .legal-page .prose h3{margin:30px 0 12px;font-size:20px;line-height:1.4}
.public-site .legal-page .prose a{text-decoration:underline;text-underline-offset:4px;color:#205365}
.public-site .legal-page .prose table{width:100%;border-collapse:collapse;font-size:14px}
.public-site .legal-page .prose :is(th,td){padding:14px 12px;text-align:left;border-bottom:1px solid #cdd2cb;vertical-align:top}
.public-site .legal-page .prose dl>div{padding:16px 0;border-bottom:1px solid #d2d8d2}
.public-site .legal-page .prose dt{font-weight:700;font-size:13px}
.public-site .legal-page .prose dd{margin:4px 0 0;color:#4a626c}
.public-site .legal-note{padding:20px 24px;background:#eae9df;border-left:2px solid #9a794b;font-size:13px;line-height:1.7}
@media(max-width:1200px){.public-site .site-header{padding-inline:25px}.public-site .site-nav{gap:14px;font-size:10px}.public-site .member-link{padding:10px}.public-site .brand-copy strong{font-size:22px}}
@media(max-width:1050px){.public-site .site-header{min-height:82px}.public-site .menu-toggle{display:block;min-height:44px;padding:10px 2px;background:transparent}.public-site .site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#f6f3ec;gap:0;padding:18px 25px;box-shadow:0 20px 40px #081a2a22;font-size:14px;max-height:calc(100dvh - 110px);overflow:auto}.public-site .site-nav.open{display:flex}.public-site .site-nav a{min-height:48px;border-bottom:1px solid #d6dbd4}.public-site .site-nav .member-link{margin-top:12px;border:1px solid #b2babb}.public-site .footer-brand{flex-wrap:wrap}.public-site .legal-page .page-hero{padding:50px 24px}.public-site .legal-page .prose{padding:40px 24px}.public-site .legal-page .prose table{display:block;overflow:auto}}
@media(prefers-reduced-motion:reduce){.public-site,.public-site *{scroll-behavior:auto!important}.public-site *,.public-site *::before,.public-site *::after{animation:none!important;transition:none!important}}
body.public-site{--muted:#4b616b;--gold-2:#81592e}
.public-site .eyebrow:not(.light),.public-site .page-toc-label{color:#72522f}
.public-site .eyebrow.light{color:#e3c797}
.public-site .feature-card .card-number{color:#72522f}
.public-site .page-hero-dark h1 em{color:#e3c797}
.public-site .legal-page .prose :is(p,li){color:#4b616b}
.public-site .legal-page .notice-card h2{font-size:26px;margin-top:0}
.public-site .legal-page .prose dl{margin:25px 0}
.public-site .legal-page .prose dt{margin-top:18px}
.public-site .partner-map-header .partner-directory-kicker,.public-site .info-band h2 em{color:#e3c797}

/* Shared public shell: a clear masthead and comfortable, accessible controls. */
body.public-site .topline{height:30px;padding-inline:5.5vw;background:#153c3d;color:#dce7df;font-size:9px;letter-spacing:.13em;border:0}
body.public-site .site-header{position:sticky;top:0;z-index:50;min-height:88px;padding:16px 5.5vw;background:#fbfaf6;color:#18372e;border-bottom:1px solid #d6ddd0;gap:30px}
body.public-site .brand-copy strong{font-size:26px;line-height:1.05;white-space:nowrap;color:#173b35}
body.public-site .brand-copy small{color:#587568;font-size:8px;letter-spacing:.2em}
body.public-site .brand-mark{width:47px;height:50px;flex-shrink:0}
body.public-site .site-nav{font-size:11px;gap:clamp(14px,1.6vw,26px);color:#405b4e}
body.public-site .site-nav a{position:relative;white-space:nowrap;transition:color .2s}
body.public-site .site-nav a:hover,body.public-site .site-nav a[aria-current="page"]{color:#8a652a}
body.public-site .site-nav a[aria-current="page"]::after{content:'';height:2px;background:#9d793f;position:absolute;bottom:2px;left:0;right:0}
body.public-site .site-nav .nav-cta{color:#325943;font-weight:750}
body.public-site .member-link{background:#173d39;color:#fff;border:1px solid #173d39;padding:12px 16px;border-radius:3px;min-height:46px;font-size:11px}
body.public-site .site-nav .member-link:hover{background:#28584b;color:#fff}
body.public-site .site-header .menu-toggle{color:#244936;border-color:#768e78;font-family:var(--sans);font-size:11px;font-weight:700}
body.public-site main :is(section[id],h2[id],h3[id],#pesquisa-parceiros){scroll-margin-top:112px}
body.public-site .button{border-radius:3px}
body.public-site :is(.site-footer,.site-footer a):focus-visible{outline-color:#e3c797}
body.public-site .site-footer{background:#0e2a2d;padding:56px 5.5vw 26px;border-top:1px solid #ffffff22}
body.public-site .site-footer .brand-copy strong{color:#f4f3e9}
body.public-site .site-footer .brand-copy small{color:#c4d5c9}
body.public-site .footer-brand{padding:0 0 38px;gap:36px;align-items:start}
body.public-site .footer-brand p{font-size:13px;color:#c1d2c6;line-height:1.8}
body.public-site .footer-brand .footer-legal-notice{font-size:11px;max-width:290px;color:#aec4b9}
body.public-site .footer-contact-grid{max-width:none;margin:36px 0 32px;padding:0;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:30px}
body.public-site .footer-contact-grid div{gap:2px}
body.public-site .footer-contact-grid span:first-child{font-size:10px;letter-spacing:.14em;color:#e3c797;margin-bottom:16px}
body.public-site .footer-contact-grid a{min-height:38px;font-size:12px;color:#d3dfd5;max-width:max-content}
body.public-site .footer-contact-grid a:hover{color:#e3c797;text-decoration:underline;text-underline-offset:4px}
body.public-site .footer-bottom{font-size:9px;color:#b5cabc;line-height:1.7;letter-spacing:.08em;padding-top:22px}
body.public-site .page-hero{padding-block:56px 46px}
body.public-site .page-hero h1{line-height:1.04;letter-spacing:-.035em;font-weight:500;text-wrap:balance}
body.public-site .page-hero>p:last-child{line-height:1.8}
body.public-site .page-toc{border-color:#cbd8c9}
body.public-site .page-toc a{min-height:40px;display:inline-flex;align-items:center}
@media(max-width:1250px){body.public-site .site-header{padding-inline:26px;gap:20px}body.public-site .site-nav{gap:14px;font-size:10px}body.public-site .brand-copy strong{font-size:23px}body.public-site .member-link{font-size:10px;padding:12px}}
@media(max-width:1100px){body.public-site .site-header{min-height:80px}body.public-site .menu-toggle{display:block;min-height:44px;padding:10px 2px;background:transparent}body.public-site .site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#fbfaf6;color:#294b3c;gap:0;padding:14px 26px 24px;box-shadow:0 18px 28px #0e2a2d1a;font-size:14px;max-height:calc(100dvh - 82px);overflow:auto}body.public-site .site-nav.open{display:flex}body.public-site .site-nav a{min-height:50px;border-bottom:1px solid #d6ddd0}body.public-site .site-nav .member-link{margin-top:14px;border:1px solid #173d39;justify-content:space-between;font-size:13px}body.public-site .footer-brand{flex-wrap:wrap}}
@media(max-width:600px){body.public-site .topline{padding-inline:22px;font-size:8px}body.public-site .site-header{padding:12px 22px;min-height:76px;gap:16px}body.public-site .brand{gap:10px}body.public-site .brand-mark{width:35px;height:43px}body.public-site .brand-copy strong{font-size:23px}body.public-site .brand-copy small{font-size:7px;letter-spacing:.17em}body.public-site .site-nav{padding-inline:22px}body.public-site .site-footer{padding:40px 22px 24px}body.public-site .footer-brand{gap:22px}body.public-site .footer-brand p{max-width:none;width:100%;margin:0}body.public-site .footer-contact-grid{grid-template-columns:1fr 1fr;gap:30px 20px}body.public-site .footer-contact-grid a{min-height:44px;font-size:12px}body.public-site .footer-bottom{flex-direction:column;gap:10px}body.public-site .page-hero{padding:40px 22px 32px}}

/* O menu móvel termina dentro da área visível, mesmo na horizontal. */
@media(max-width:1100px) {
 body.public-site .site-nav {
  max-height: var(--site-nav-available-height, calc(100dvh - 120px));
  overflow-x: hidden; overflow-y: auto; overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
  padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
 }
 body.public-site .site-nav a { flex-shrink: 0; }
}
