/* Páginas institucionais DuoLar — sem dependência de JavaScript. */
.policy-page{background:var(--bg)}
.policy-page .container{max-width:1120px}
.policy-skip{position:fixed;z-index:100;top:8px;left:16px;padding:10px 16px;border-radius:8px;background:var(--primary);color:#fff;transform:translateY(-150%)}
.policy-skip:focus{transform:none}
.policy-header{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--border);background:var(--surface)}
.policy-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.policy-back{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:600;text-decoration:none}
.policy-back:hover{color:var(--primary)}
.policy-main{padding-top:28px;padding-bottom:72px}
.policy-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:12px;line-height:1.5}
.policy-breadcrumb a{text-decoration:none}
.policy-breadcrumb a:hover{text-decoration:underline}
.policy-heading{display:grid;gap:14px;max-width:820px;padding:36px 0}
.policy-heading h1{font-size:clamp(1.9rem,4vw,2.75rem);font-weight:600;letter-spacing:-.035em;line-height:1.12;text-wrap:balance}
.policy-heading>p{max-width:680px;color:var(--muted);font-size:15px}
.policy-heading>small{color:var(--muted);font-size:12px}
.policy-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.policy-layout>*{min-width:0}
.policy-sidebar{display:grid;gap:18px}
.policy-nav{overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.policy-nav h2{padding:18px 20px 12px;font-size:13px;font-family:var(--font-body);font-weight:700}
.policy-nav a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px solid var(--border);color:var(--muted);font-size:13px;line-height:1.45;text-decoration:none}
.policy-nav a>span{font-size:15px;flex:none}
.policy-nav a:hover,.policy-nav a[aria-current="page"]{background:var(--primary-soft);color:var(--primary-dark)}
.policy-nav a[aria-current="page"]{font-weight:700;box-shadow:inset 3px 0 var(--primary)}
.policy-support{display:none;padding:20px;border-radius:14px;background:var(--cream);font-size:12px;line-height:1.6}
.policy-support strong{color:var(--text);font-size:13px}
.policy-support p{margin-top:8px;color:var(--muted)}
.policy-support a{display:inline-block;margin-top:12px;color:var(--primary);font-weight:700;text-underline-offset:3px}
.policy-article{padding:22px;border:1px solid var(--border);border-radius:20px;background:var(--surface);overflow-wrap:break-word}
.policy-notice{padding:16px 18px;margin-bottom:30px;border-left:3px solid var(--primary);border-radius:0 10px 10px 0;background:var(--cream);font-size:12.5px;line-height:1.6}
.policy-notice strong{color:var(--primary-dark);font-size:13px}
.policy-notice p{margin-top:4px;color:var(--muted)}
.policy-article>section+section{margin-top:32px;padding-top:28px;border-top:1px solid var(--border)}
.policy-article h2{margin-bottom:14px;font-size:20px;letter-spacing:-.02em;line-height:1.3}
.policy-article section p,.policy-article section ul,.policy-article section ol{color:var(--muted);font-size:14px;line-height:1.8}
.policy-article section p+p,.policy-article section ul+p,.policy-article section ol+p{margin-top:12px}
.policy-article section ul,.policy-article section ol{padding-left:20px;margin-block:12px;list-style:disc}
.policy-article section ol{list-style:decimal}
.policy-article li+li{margin-top:10px}
.policy-article strong{color:var(--text)}
.policy-article a{color:var(--primary-dark);text-underline-offset:3px}
.policy-article a:hover{color:var(--primary)}
.policy-highlights{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:30px}
.policy-highlights>div{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}
.policy-highlights strong{font-family:var(--font-title);font-size:24px;color:var(--primary);white-space:nowrap}
.policy-highlights span{color:var(--muted);font-size:11px;line-height:1.5}
.policy-directory{display:grid;gap:12px;margin-top:24px}
.policy-directory>a{display:block;padding:18px 20px;border:1px solid var(--border);border-radius:12px;text-decoration:none}
.policy-directory>a:hover{background:var(--cream);border-color:var(--primary)}
.policy-directory strong{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--primary-dark);font-size:15px}
.policy-directory p{margin-top:8px;font-size:13px!important}
.policy-footer{padding:40px 0 22px;border-top:1px solid var(--border);background:var(--surface)}
.policy-footer-grid{display:grid;gap:24px;color:var(--muted);font-size:12px;line-height:1.7}
.policy-tagline{margin-top:12px}
.policy-contact{max-width:400px}
.policy-contact>strong{color:var(--text);font-size:13px}
.policy-contact>p{margin-top:5px}
.policy-contact a{color:var(--primary-dark);text-underline-offset:3px}
.policy-footer-links{display:grid;gap:10px;align-content:start}
.policy-footer-links a{text-decoration:none;color:var(--primary-dark);font-weight:600}
.policy-copyright{margin-top:28px;padding-top:18px;border-top:1px solid var(--border);color:var(--muted);font-size:11px}
@media(min-width:640px){
  .policy-main{padding-top:32px}
  .policy-article{padding:36px}
  .policy-highlights{grid-template-columns:repeat(3,minmax(0,1fr))}
  .policy-highlights>div{display:grid;align-content:start;gap:4px}
  .policy-footer-grid{grid-template-columns:1fr 1.5fr}
  .policy-footer-links{grid-column:1/-1;display:flex;gap:24px}
}
@media(min-width:900px){
  .policy-heading{padding-top:44px;padding-bottom:40px}
  .policy-layout{grid-template-columns:240px minmax(0,1fr);gap:32px}
  .policy-sidebar{position:sticky;top:100px}
  .policy-support{display:block}
  .policy-footer-grid{grid-template-columns:1fr 1.4fr auto;gap:40px}
  .policy-footer-links{grid-column:auto;display:grid;gap:10px}
}
@media print{
  .policy-header,.policy-sidebar,.policy-breadcrumb,.policy-footer-links{display:none}
  .policy-page,.policy-article,.policy-footer{background:#fff}
  .policy-main{padding:0}
  .policy-layout{display:block}
  .policy-article{padding:0;border:0}
  .policy-heading{padding-top:0}
  .policy-article>section{break-inside:avoid}
}
