:root{
    --ink:#071b2b;
    --navy:#0b2535;
    --muted:#5f727c;
    --paper:#f3f7f5;
    --white:#fff;
    --mint:#2dd4a7;
    --mint-dark:#08775f;
    --blue:#159bd3;
    --line:#dce6e2;
    --warning:#9b6500;
    --shadow:0 22px 65px rgba(7,27,43,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.72 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}

.legal-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:78px;padding:10px max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid rgba(255,255,255,.1);background:rgba(7,27,43,.96);box-shadow:0 8px 30px rgba(7,27,43,.12);backdrop-filter:blur(16px)}
.legal-brand{display:flex;align-items:center;gap:16px;color:#fff;text-decoration:none}
.legal-brand img{display:block;width:142px;height:auto}
.legal-brand span{padding-left:16px;border-left:1px solid rgba(255,255,255,.22);color:#a9bec6;font-size:12px;line-height:1.3}
.legal-header nav{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.06)}
.legal-header nav a{padding:8px 14px;border-radius:999px;color:#c6d5da;font-size:12px;font-weight:750;text-decoration:none;transition:.2s}
.legal-header nav a:hover{color:#fff}
.legal-header nav a.active{background:var(--mint);color:var(--ink)}

main{overflow:hidden}
.legal-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:60px;max-width:1180px;min-height:380px;margin:0 auto;padding:72px 24px 66px}
.legal-hero:before{content:"";position:absolute;z-index:-1;width:520px;height:520px;right:-200px;top:-270px;border-radius:50%;background:radial-gradient(circle,#2dd4a72c 0,#159bd30d 45%,transparent 70%)}
.hero-copy{max-width:770px}
.legal-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--mint-dark);font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.legal-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--mint-dark);box-shadow:0 0 0 6px rgba(45,212,167,.14)}
.legal-hero h1{max-width:800px;margin:18px 0 22px;font:850 clamp(45px,7vw,82px)/.98 ui-sans-serif,system-ui;letter-spacing:-.06em}
.legal-hero p{max-width:680px;margin:0;color:var(--muted);font-size:18px;line-height:1.65}
.legal-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;color:var(--muted);font-size:12px}
.legal-meta span{display:flex;align-items:center;gap:8px}
.legal-meta span:before{content:"✓";display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#dff7ef;color:var(--mint-dark);font-size:10px;font-weight:900}
.hero-seal{display:grid;place-items:center;width:170px;height:170px;padding:25px;border:1px solid rgba(7,27,43,.08);border-radius:50%;background:linear-gradient(145deg,#fff,#e9f3ef);box-shadow:var(--shadow);text-align:center;transform:rotate(4deg)}
.hero-seal span{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--ink);color:var(--mint);font-size:20px;font-weight:900;letter-spacing:-.03em}
.hero-seal small{margin-top:8px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.09em;line-height:1.35;text-transform:uppercase}

.legal-layout{display:grid;grid-template-columns:250px minmax(0,790px);justify-content:center;align-items:start;gap:50px;max-width:1180px;margin:0 auto;padding:0 24px 100px}
.legal-index{position:sticky;top:110px;padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.72);box-shadow:0 10px 35px rgba(7,27,43,.04);backdrop-filter:blur(10px)}
.legal-index>strong{font-size:13px}
.legal-index ol{margin:14px 0 18px;padding:0;list-style:none;counter-reset:legal-index}
.legal-index li{counter-increment:legal-index}
.legal-index li a{display:grid;grid-template-columns:23px 1fr;gap:6px;padding:6px 0;color:var(--muted);font-size:12px;line-height:1.35;text-decoration:none;transition:.2s}
.legal-index li a:before{content:counter(legal-index,decimal-leading-zero);color:#9aadb4;font-size:9px;font-weight:800;line-height:1.9}
.legal-index li a:hover{color:var(--mint-dark);transform:translateX(3px)}
.legal-index>p{margin:0;padding-top:14px;border-top:1px solid var(--line);color:#87989f;font-size:10px}

.legal-document{min-width:0;padding:48px 58px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow)}
.legal-summary{position:relative;margin:0 0 52px;padding:25px 28px 25px 31px;overflow:hidden;border-radius:18px;background:var(--ink);color:#fff}
.legal-summary:after{content:"";position:absolute;width:150px;height:150px;right:-45px;top:-75px;border-radius:50%;background:var(--mint);opacity:.17}
.legal-summary span{color:var(--mint);font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.legal-summary p{max-width:620px;margin:8px 0 0;color:#d2e1e5;font-size:15px}
.privacy-summary{background:linear-gradient(135deg,var(--ink),#0e3c4b)}
.legal-document section{position:relative;padding:16px 0 42px;border-bottom:1px solid var(--line)}
.legal-document section+section{padding-top:46px}
.legal-document section:last-child{padding-bottom:4px;border-bottom:0}
.section-number{position:absolute;right:0;top:48px;color:#dce6e2;font-size:30px;font-weight:900;letter-spacing:-.06em}
.legal-document section:first-of-type .section-number{top:18px}
.legal-document h2{max-width:620px;margin:0 55px 22px 0;font-size:28px;line-height:1.18;letter-spacing:-.035em}
.legal-document h3{margin:29px 0 12px;font-size:16px;letter-spacing:-.015em}
.legal-document p{margin:0 0 17px;color:#425a64}
.legal-document p:last-child{margin-bottom:0}
.legal-document a{color:var(--mint-dark);font-weight:700;text-underline-offset:3px}
.legal-document a:hover{color:#045e4b}

.legal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:25px}
.legal-grid>div{padding:18px;border:1px solid var(--line);border-radius:14px;background:#f7faf9}
.legal-grid b{font-size:13px}
.legal-grid p{margin:5px 0 0;font-size:12px;line-height:1.5}
.check-list{display:grid;gap:9px;margin:17px 0 0;padding:0;list-style:none}
.check-list li{position:relative;padding:11px 15px 11px 39px;border-radius:11px;background:#f5f9f7;color:#425a64}
.check-list li:before{content:"✓";position:absolute;left:14px;top:11px;color:var(--mint-dark);font-weight:900}
.check-list.prohibited li:before{content:"×";color:#b84350;font-size:18px;line-height:1.2}
.legal-callout{margin:21px 0;padding:19px 21px;border-left:4px solid var(--mint-dark);border-radius:0 13px 13px 0;background:#edf8f4}
.legal-callout.warning{border-left-color:#e7a82f;background:#fff8e8}
.legal-callout strong{font-size:13px}
.legal-callout p{margin:4px 0 0;color:#425a64;font-size:13px}

.purpose-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}
.purpose-list>div{padding:17px 18px;border:1px solid var(--line);border-radius:13px}
.purpose-list b{font-size:13px}
.purpose-list p{margin:4px 0 0;font-size:12px;line-height:1.5}
.provider-card{margin:13px 0;padding:19px 20px;border:1px solid var(--line);border-radius:15px;background:#fbfdfc}
.provider-card>div{display:flex;justify-content:space-between;gap:20px}
.provider-card>div span{padding:3px 8px;border-radius:99px;background:#e2f6ef;color:var(--mint-dark);font-size:9px;font-weight:800;text-transform:uppercase}
.provider-card p{margin:9px 0;font-size:13px}
.provider-card>a{font-size:11px}
.security-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:23px 0;padding:0;list-style:none}
.security-list li{padding:17px;border:1px solid var(--line);border-radius:13px;color:var(--muted);font-size:11px;line-height:1.45}
.security-list span{display:block;margin-bottom:7px;color:var(--ink);font-size:13px;font-weight:800}
.rights-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0;padding:0;counter-reset:rights;list-style:none}
.rights-grid li{position:relative;padding:15px 15px 15px 45px;border-radius:12px;background:#f4f8f6;color:#425a64;font-size:13px;line-height:1.5;counter-increment:rights}
.rights-grid li:before{content:counter(rights);position:absolute;left:15px;top:15px;display:grid;place-items:center;width:21px;height:21px;border-radius:7px;background:var(--ink);color:var(--mint);font-size:9px;font-weight:900}
.contact-card{display:grid;grid-template-columns:1fr auto;align-items:center;margin-top:20px;padding:20px 22px;border:1px solid #b8dfd2;border-radius:15px;background:#effaf6;text-decoration:none;transition:.2s}
.contact-card:hover{border-color:var(--mint-dark);box-shadow:0 12px 35px rgba(8,119,95,.12);transform:translateY(-2px)}
.contact-card span{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase}
.contact-card strong{grid-row:2;color:var(--ink);font-size:15px}
.contact-card em{grid-column:2;grid-row:1/3;color:var(--mint-dark);font-size:11px;font-style:normal;font-weight:800}
.contact-note{margin-top:18px!important;font-size:12px}

.legal-footer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:42px max(24px,calc((100vw - 1180px)/2));background:var(--ink);color:#fff}
.legal-footer strong{font-size:18px}
.legal-footer p{margin:2px 0 0;color:#9eb2ba;font-size:12px}
.legal-footer>a{color:var(--mint);font-size:13px;font-weight:750}
.legal-footer small{grid-column:1/-1;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);color:#829aa3;font-size:10px}

@media(max-width:900px){
    .hero-seal{width:140px;height:140px}
    .legal-layout{grid-template-columns:1fr;gap:20px}
    .legal-index{position:static}
    .legal-index ol{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
    .legal-index>p{display:none}
}

@media(max-width:680px){
    html{scroll-padding-top:130px}
    .legal-header{align-items:flex-start;flex-direction:column;gap:8px;padding-block:11px}
    .legal-brand img{width:120px}
    .legal-brand span{font-size:9px}
    .legal-header nav{width:100%}
    .legal-header nav a{flex:1;text-align:center}
    .legal-hero{grid-template-columns:1fr;min-height:0;padding-top:54px}
    .legal-hero h1{font-size:45px}
    .legal-hero p{font-size:15px}
    .hero-seal{display:none}
    .legal-layout{padding-inline:14px;padding-bottom:65px}
    .legal-index{padding:18px}
    .legal-index ol{grid-template-columns:1fr}
    .legal-document{padding:32px 20px;border-radius:20px}
    .legal-summary{margin-bottom:34px;padding:22px}
    .legal-document section,.legal-document section+section{padding-top:35px;padding-bottom:35px}
    .legal-document section:first-of-type{padding-top:12px}
    .section-number,.legal-document section:first-of-type .section-number{top:36px;font-size:24px}
    .legal-document section:first-of-type .section-number{top:14px}
    .legal-document h2{font-size:24px}
    .legal-grid,.purpose-list,.security-list,.rights-grid{grid-template-columns:1fr}
    .provider-card>div{align-items:flex-start;flex-direction:column;gap:7px}
    .contact-card{grid-template-columns:1fr}
    .contact-card em{grid-column:1;grid-row:3;margin-top:10px}
    .legal-footer{grid-template-columns:1fr}
    .legal-footer small{grid-column:1}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Identidade visual do aplicativo Gestor de Assinaturas */
.subscription-legal{--ink:#17122b;--navy:#231a3d;--mint:#a78bfa;--mint-dark:#6d49d8;--blue:#f3a847;--paper:#f6f4fa;--line:#e5e0ee;--warning:#995e06}
.subscription-legal .legal-header{background:rgba(23,18,43,.96)}
.subscription-brand{gap:12px}
.subscription-brand>span{padding:0;border:0}
.app-product-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:linear-gradient(145deg,#a78bfa,#7654dc);box-shadow:0 8px 22px rgba(118,84,220,.35);color:#fff!important;font-size:13px!important;font-weight:900;letter-spacing:-.02em}
.app-product-name{display:flex;align-items:flex-start;flex-direction:column;gap:1px;color:#fff!important;line-height:1.2}
.app-product-name b{font-size:14px}
.app-product-name small{color:#aca3c2;font-size:9px;text-transform:uppercase;letter-spacing:.09em}
.subscription-legal .legal-header nav a.active{background:var(--mint);color:var(--ink)}
.subscription-legal .legal-kicker:before{box-shadow:0 0 0 6px rgba(167,139,250,.16)}
.subscription-legal .legal-hero:before{background:radial-gradient(circle,rgba(167,139,250,.25) 0,rgba(243,168,71,.09) 45%,transparent 70%)}
.subscription-legal .hero-seal{background:linear-gradient(145deg,#fff,#eee9fa)}
.subscription-legal .legal-summary{background:linear-gradient(135deg,#17122b,#382663)}
.subscription-legal .legal-summary:after{background:#f3a847}
.subscription-legal .legal-summary span{color:#cfbfff}
.subscription-legal .check-list li{background:#f7f5fb}
.subscription-legal .provider-card{background:#fdfcff}
.subscription-legal .legal-callout{background:#f2edff}
.subscription-legal .legal-callout.warning{background:#fff7e8}
.subscription-legal .rights-grid li{background:#f6f3fb}
.subscription-legal .contact-card{border-color:#cfc3f0;background:#f4f0ff}
.subscription-legal .contact-card:hover{border-color:var(--mint-dark);box-shadow:0 12px 35px rgba(109,73,216,.13)}
.subscription-legal .legal-footer{background:#17122b}
.subscription-legal .legal-footer>a{color:#c9b8ff}

@media(max-width:680px){
    .subscription-brand{align-items:center}
    .app-product-mark{width:38px;height:38px}
    .app-product-name b{font-size:12px}
}
