:root{--navy:#20242B;--navy2:#343B46;--ink:#252B34;--muted:#68717D;--green:#454C56;--mint:#EDF0F2;--paper:#F7F8FA;--white:#FFFFFF;--line:#DFE3E8;--sand:#F2F3F5;--warning:#6A5B48;--shadow:0 16px 48px rgba(32,36,43,.075);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8e8e8e;outline-offset:3px}.shell{max-width:1200px;margin:auto;padding:0 28px}.top{background:#ffffff;border-bottom:1px solid #ebebeb;position:sticky;top:0;z-index:30}.topin{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:850;letter-spacing:-.5px;font-size:21px;color:var(--navy)}.brandmark{width:38px;height:38px;background:var(--navy);color:#e4e4e4;border-radius:12px;display:grid;place-items:center}.brandmark svg{width:22px;height:22px}.brand em{font-style:normal;color:var(--green)}nav{display:flex;gap:4px;align-items:center}nav button{border:0;color:#6c6c6c;background:transparent;border-radius:9px;padding:12px 13px;font-size:13px;font-weight:750}nav button:hover,nav button.active{background:#f0f0f0;color:#4f4f4f}.topright{display:flex;gap:8px;align-items:center}.smallbtn{white-space:nowrap;border:1px solid #d8d8d8;border-radius:11px;padding:10px 13px;font-size:12px;font-weight:800;color:var(--navy);background:white}.hamb{display:none;border:1px solid #e5e5e5;border-radius:10px;padding:9px 12px;background:white;font-size:18px}.view{display:none;animation:come .32s ease}.view.active{display:block}@keyframes come{from{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:none}}.hero{background:var(--navy);color:white;overflow:hidden}.hero-in{min-height:475px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:25px;position:relative}.hero-in:after{content:"";position:absolute;right:-200px;top:-270px;width:650px;height:650px;border:1px solid #8f8f8f44;border-radius:50%;pointer-events:none}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:900;color:#b4b4b4;display:flex;align-items:center;gap:10px}.eyebrow:before{content:"";background:#b4b4b4;width:22px;height:2px}h1,h2,h3,h4,p{margin-top:0}h1,.display{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-1.9px}h1{font-size:clamp(40px,5vw,67px);line-height:1.07;margin:19px 0 20px}h1 span{color:#d3d3d3}.hero p{color:#d4d4d4;line-height:1.7;max-width:515px;font-size:16px}.heroact{display:flex;gap:11px;margin-top:28px;flex-wrap:wrap}.btn{border:0;border-radius:12px;padding:14px 20px;display:inline-flex;gap:10px;align-items:center;justify-content:center;font-weight:800;font-size:14px;transition:transform .15s,background .15s;text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn.primary{background:#dedede;color:#2c2c2c}.btn.dark{background:var(--navy);color:white}.btn.outline{border:1px solid #c0c0c0;background:transparent;color:inherit}.btn.line{border:1px solid #dedede;color:var(--navy);background:#ffffff}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.showcase{height:340px;position:relative;display:flex;align-items:center;justify-content:center;z-index:1}.graphicframe{width:min(100%,490px);height:300px;position:relative;border:1px solid #69696988;border-radius:23px;padding:23px;background:linear-gradient(130deg,#3d3d3ddd,#2f2f2f99);box-shadow:0 30px 50px #1a1a1a3b;transform:rotate(-2deg)}.graphichead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #7777775c;padding-bottom:15px;color:#c5c5c5;font-size:11px;font-weight:800;letter-spacing:.8px}.graphicmain{display:flex;gap:13px;align-items:center;margin-top:22px}.graphicicon{background:#f0f0f0;color:#4a4a4a;width:58px;height:58px;display:grid;place-items:center;border-radius:16px;font-size:30px}.graphicmain strong{display:block;font-size:17px}.graphicmain span{display:block;font-size:11px;color:#b9b9b9;margin-top:8px}.graphiclist{margin-top:22px;display:grid;gap:9px}.graphicrow{display:flex;gap:9px;align-items:center;background:#494949;padding:10px 13px;border-radius:9px;color:#e5e5e5;font-size:12px}.graphicrow b{color:#d4d4d4}.floating{position:absolute;right:-13px;bottom:9px;background:#f5f5f5;color:#3f3f3f;border-radius:13px;padding:15px 19px;box-shadow:0 14px 25px #14141455;font-size:12px;font-weight:800;transform:rotate(3deg)}.floating span{display:block;color:#787878;font-size:11px;font-weight:600;margin-top:5px}.section{padding:58px 0}.sec-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:25px}.overline{font-size:11px;text-transform:uppercase;color:var(--green);font-weight:900;letter-spacing:1.6px;margin-bottom:10px}.section h2,.pagehead h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.9px;font-size:clamp(30px,3.2vw,42px);line-height:1.18;margin-bottom:12px}.desc{color:var(--muted);line-height:1.7;max-width:650px;font-size:15px}.rolegrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.rolecard{border:1px solid var(--line);background:white;border-radius:var(--radius);padding:27px;position:relative;transition:box-shadow .2s,border-color .2s,transform .2s;min-height:242px;display:flex;flex-direction:column}.rolecard:hover{border-color:#a1a1a1;box-shadow:var(--shadow);transform:translateY(-2px)}.rolehead{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.roleic{height:49px;width:49px;border-radius:13px;background:#efefef;color:#626262;display:grid;place-items:center}.roleic svg{height:25px;width:25px}.arrow{font-size:23px;color:#949494}.rolecard h3{font-family:Georgia,serif;font-size:25px;letter-spacing:-.5px;font-weight:400;margin-bottom:9px}.rolecard p{color:var(--muted);font-size:14px;line-height:1.55;max-width:400px}.rolelink{margin-top:auto;color:#646464;font-size:13px;font-weight:850}.featuregrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature{border:1px solid var(--line);border-radius:17px;background:white;padding:23px;min-height:205px}.feature h3{font-size:16px;margin:17px 0 9px}.feature p{color:var(--muted);line-height:1.6;font-size:13px}.fi{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#f0f0f0;color:#585858}.fi svg{width:20px;height:20px}.band{margin:24px 0 50px;background:var(--navy);color:#f7f7f7;border-radius:22px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:30px}.band h3{font-size:24px;font-family:Georgia,serif;font-weight:400;margin-bottom:9px}.band p{color:#cacaca;line-height:1.6;font-size:13px;margin:0;max-width:680px}.footer{border-top:1px solid #e4e4e4;padding:28px 0 35px;color:#757575;font-size:12px}.footerin{display:flex;justify-content:space-between;gap:25px;align-items:center;flex-wrap:wrap}.footer strong{color:var(--ink)}.pagehead{background:linear-gradient(115deg,#efefef,#f7f7f7);border-bottom:1px solid #e5e5e5;padding:46px 0}.pagehead h2{margin-bottom:11px}.pagebody{padding:33px 0 65px}.pill{display:inline-flex;border-radius:25px;border:1px solid #dadada;color:#6a6a6a;padding:7px 12px;font-size:11px;font-weight:800;background:#ffffff}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:23px}.switch{background:#ececec;display:flex;gap:5px;border-radius:12px;padding:5px}.switch button{border:0;border-radius:9px;background:transparent;padding:10px 15px;color:#696969;font-weight:800;font-size:13px}.switch button.sel{background:white;color:var(--navy);box-shadow:0 1px 8px #1e1e1e16}.input{background:white;padding:12px 15px;border:1px solid #e4e4e4;border-radius:11px;min-width:230px;flex:1;color:var(--ink);font-size:14px}.riskgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.riskcard{border:1px solid #e4e4e4;border-radius:16px;background:white;padding:22px;display:flex;flex-direction:column;gap:13px}.riskcard h3{font-size:17px;line-height:1.3;margin:0}.riskid{color:var(--green);font-size:11px;font-weight:800;letter-spacing:1px}.riskcard p{font-size:13px;line-height:1.65;color:#676767;margin:0}.tag{display:inline-flex;align-self:flex-start;background:#f3f3f3;border-radius:6px;color:#626262;font-size:10px;letter-spacing:.1px;font-weight:800;padding:6px 9px}.riskfoot{border-top:1px solid #ececec;margin-top:auto;padding-top:12px;font-size:12px;color:#818181}.linkunder{color:#5f5f5f;text-decoration:underline;text-underline-offset:3px;font-weight:750}.panel{background:white;border:1px solid #e3e3e3;border-radius:20px;padding:27px;box-shadow:0 9px 30px #39393909}.dual{display:grid;grid-template-columns:280px 1fr;gap:23px;align-items:start}.aside{background:#f0f0f0;border-radius:16px;padding:22px}.aside h3{font-size:14px}.aside p,.aside li{font-size:12px;line-height:1.65;color:#6e6e6e}.aside ul{padding-left:17px}.progress{height:7px;background:#ededed;border-radius:5px;overflow:hidden;margin:16px 0 27px}.progressbar{height:100%;background:#747474;border-radius:5px;transition:width .2s}.questiontitle{font-family:Georgia,serif;font-size:28px;font-weight:400;letter-spacing:-.5px;line-height:1.25;margin:10px 0 21px}.choices{display:grid;gap:10px}.choice{border:1px solid #e4e4e4;border-radius:12px;padding:15px;display:flex;align-items:center;gap:13px;cursor:pointer;font-size:14px;line-height:1.4}.choice input{accent-color:#666666;flex-shrink:0;width:18px;height:18px}.choice:has(input:checked){border-color:#7d7d7d;background:#f3f3f3}.qactions{display:flex;justify-content:space-between;gap:10px;margin-top:26px}.resultcard{background:#f6f6f6;border:1px solid #e2e2e2;border-radius:15px;padding:17px;margin:12px 0}.resultcard h4{font-size:15px;margin-bottom:7px}.resultcard p{color:#656565;font-size:13px;line-height:1.6;margin:0}.notebox{background:#f5f5f5;border:1px solid #e1e1e1;color:#575757;border-radius:12px;padding:13px 16px;font-size:12px;line-height:1.65;margin:15px 0}.checkrow{display:flex;gap:12px;padding:15px;border:1px solid #e8e8e8;border-radius:12px;margin-bottom:9px;background:white;cursor:pointer}.checkrow input{width:19px;height:19px;accent-color:#656565;flex-shrink:0;margin-top:2px}.checkrow strong{display:block;font-size:13px;margin-bottom:5px}.checkrow span{display:block;color:#808080;font-size:12px;line-height:1.55}.checkrow.done{background:#f5f5f5;border-color:#d2d2d2}.checkrow.done strong{text-decoration:line-through;color:#717171}.checkstat{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin-bottom:12px}.guide{display:grid;grid-template-columns:220px 1fr;gap:25px}.guide-nav{display:grid;align-content:start;gap:7px;position:sticky;top:96px}.guide-nav button{border:0;background:transparent;border-radius:9px;text-align:left;padding:12px;font-size:13px;font-weight:700;color:#707070}.guide-nav button.sel{background:#eeeeee;color:#555555}.article{max-width:760px}.article h3{font-family:Georgia,serif;font-size:29px;font-weight:400;margin:0 0 15px}.article h4{font-size:15px;margin:23px 0 8px}.article p,.article li{font-size:14px;color:#656565;line-height:1.85}.article ul{padding-left:20px}.article .callout{background:#f1f1f1;padding:20px;border-left:3px solid #7f7f7f;border-radius:8px;color:#4e4e4e;font-size:14px;line-height:1.8}.source{padding:20px;background:#ffffff;border:1px solid #e7e7e7;border-radius:14px;display:flex;justify-content:space-between;gap:10px;align-items:start}.source strong{font-size:14px}.source p{margin:6px 0 0;color:#797979;font-size:12px;line-height:1.5}.source a{font-size:12px;color:#646464;white-space:nowrap;font-weight:750}.sources{display:grid;gap:11px}.print-header{display:none}.hidden{display:none!important}
@media(max-width:980px){nav{position:absolute;top:74px;right:16px;left:16px;background:white;box-shadow:var(--shadow);padding:12px;border:1px solid #eaeaea;border-radius:13px;display:none;flex-direction:column;align-items:stretch}nav.open{display:flex}nav button{text-align:left}.hamb{display:block}.hero-in{grid-template-columns:1fr .85fr}.graphicframe{transform:rotate(0);padding:17px}.floating{right:-5px}.featuregrid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.shell{padding:0 18px}.topin{min-height:68px}.brand{font-size:18px}.brandmark{height:34px;width:34px}.topright .smallbtn{display:none}nav{top:65px}.hero-in{display:block;min-height:auto;padding-top:63px;padding-bottom:54px}.hero p{font-size:14px}.showcase{height:260px;margin-top:28px}.graphicframe{height:255px;width:100%;max-width:430px}.graphiclist{margin-top:10px}.graphicrow{padding:8px}.graphicmain{margin-top:14px}.floating{display:none}.section{padding:42px 0}.sec-head{align-items:start;display:block}.rolegrid,.featuregrid,.riskgrid,.dual,.guide{grid-template-columns:1fr}.rolecard{min-height:205px}.band{display:block}.band .btn{margin-top:19px}.pagehead{padding:34px 0}.pagebody{padding:23px 0 45px}.aside{display:none}.guide-nav{position:static;display:flex;overflow-x:auto;white-space:nowrap;padding-bottom:4px}.guide-nav button{flex:0 0 auto}.input{min-width:100%;width:100%}.switch{width:100%;justify-content:space-between}.switch button{flex:1;padding:10px}.questiontitle{font-size:23px}.panel{padding:19px}.source{display:block}.source a{display:inline-block;margin-top:12px}.footerin{display:block}.footerin span{display:block;margin-top:8px}}
@media print{.top,.hero,.footer,.no-print,.pagehead,.btn,.guide-nav,.toolbar{display:none!important}.view{display:none!important}.view.active{display:block!important}body{background:white;color:black}.shell{max-width:100%;padding:0}.pagebody{padding:0}.print-header{display:block;margin-bottom:22px}.guide{display:block}.panel{border:0;box-shadow:none;padding:0}.article{max-width:100%}.article p,.article li{font-size:12px}.article h3{font-size:24px}.article .callout{border:1px solid #cccccc}.riskgrid{grid-template-columns:1fr 1fr}}


/* v2.0 — identidade institucional monocromática */
body{font-family:Inter,"Segoe UI",Arial,sans-serif;background:var(--paper);color:var(--ink)}
.top{border-bottom:1px solid #E5E8EB;box-shadow:0 2px 14px rgba(32,36,43,.025)}
.brand{color:#20242B;letter-spacing:-.8px}
.brand em{color:#5A626E}
.brandmark{background:#20242B;color:#fff;border-radius:10px}
nav button{color:#59616D}nav button:hover,nav button.active{background:#ECEEF1;color:#20242B}
.smallbtn{border-color:#D9DEE4;color:#20242B}
button:focus-visible,a:focus-visible,input:focus-visible,.rolecard:focus-visible{outline:2px solid #676F7B;outline-offset:3px}
.hero{background:#20242B;color:#fff}
.hero-in:after{border-color:rgba(255,255,255,.10)}
.eyebrow,.overline{color:#646D79}
.hero .eyebrow{color:#C9CED6}.hero .eyebrow:before{background:#C9CED6}
h1 span{color:#D5D8DD}
.hero p{color:#D3D7DE}
.btn.primary{background:#F1F2F4;color:#20242B}
.btn.primary:hover{background:#fff}
.btn.dark{background:#20242B;color:#fff}.btn.dark:hover{background:#3B424D}
.btn.line{color:#20242B;border-color:#DDE2E6}
.btn.outline{border-color:#868E99}
.btn:hover{box-shadow:0 5px 15px rgba(30,34,40,.06)}
.graphicframe{background:linear-gradient(135deg,#3A414D,#242A34);border-color:#737B8744;box-shadow:0 25px 50px #070B1255}
.graphichead{color:#C1C7D0;border-bottom-color:#737B8750}
.graphicicon{background:#DFE3E8;color:#20242B}
.graphicmain span{color:#C1C7D0}.graphicrow{background:#454C58;color:#F4F5F6}
.graphicrow b{color:#F3F5F7}.floating{background:#F6F7F9;color:#2D333B}.floating span{color:#68717D}
.rolecard,.feature,.riskcard,.panel,.source{border-color:#E0E4E8;background:#fff}
.rolecard:hover{border-color:#ACB3BC}.rolelink,.arrow,.riskid,.linkunder,.source a{color:#444D59}
.roleic,.fi{background:#EEF0F2;color:#343C47}

.band{background:#252B34;color:white}.band p{color:#D0D5DB}
.footer{background:#222832;color:#D3D7DE;border-top:0;padding:37px 0 28px}
.footer strong{color:#fff}.footer a,.footer button{font:inherit;color:#E0E3E8;background:transparent;border:0;padding:0;cursor:pointer;text-decoration:none}
.footer a:hover,.footer button:hover{text-decoration:underline;text-underline-offset:4px}
.footerin{align-items:start;gap:20px}.footer-main{display:flex;align-items:start;gap:15px;justify-content:space-between;flex-wrap:wrap;width:100%}
.footer-meta{display:flex;flex-wrap:wrap;gap:13px;align-items:center}.footer-rule{border:0;border-top:1px solid #48505C;margin:22px 0 17px}
.footer-small{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#BEC5CE;font-size:11px;line-height:1.6}
.pagehead{background:#EEF0F3;border-color:#E0E4E8}.pagehead .overline{color:#606977}
.pill{border-color:#DBDFE4;color:#4D5763}
.switch{background:#EAEDF0}.switch button{color:#616B78}.switch button.sel{color:#20242B}
.input{border-color:#DBDFE5;color:#20242B}.input:focus{border-color:#68717D}
.tag{background:#ECEFF1;color:#47505B}
.riskcard p,.riskfoot,.aside p,.aside li,.feature p,.article p,.article li{color:#66707B}
.aside{background:#EBEDF0}
.progress{background:#E7EAEF}.progressbar{background:#525B68}
.resultcard{background:#F5F6F8;border-color:#E2E5E9}.resultcard p{color:#616A76}
.notebox{background:#F2F3F5;border-color:#DFE2E6;color:#525B66}
.guide-nav button{color:#606A75}.guide-nav button.sel{background:#E5E8EC;color:#20242B}
.article .callout{background:#F1F3F5;border-left-color:#626B78;color:#3D4652}
.checkrow{border-color:#E4E7EA}.checkrow input{accent-color:#454C56}.checkrow span{color:#717C87}
.checkrow.done{background:#F2F3F5;border-color:#CDD1D7}.checkrow.done strong{color:#59636E}
.source a{font-weight:800}
.about-hero{display:grid;grid-template-columns:1.55fr .75fr;gap:24px;margin-bottom:22px}
.about-statement{background:#20242B;color:#F8F9FA;padding:38px;border-radius:20px;position:relative;overflow:hidden;min-height:240px}
.about-statement:after{content:'§';position:absolute;right:28px;bottom:-58px;font:230px Georgia,serif;color:rgba(255,255,255,.06);pointer-events:none}
.about-statement .overline{color:#CBD1D9}.about-statement h3{font-family:Georgia,serif;font-size:clamp(25px,3vw,36px);font-weight:400;letter-spacing:-1px;line-height:1.2;max-width:590px;margin:12px 0}
.about-statement p{max-width:570px;font-size:14px;line-height:1.8;color:#CDD2D9;margin-bottom:0}
.about-year{background:#E9ECEF;border:1px solid #DFE3E8;border-radius:20px;padding:30px;display:flex;flex-direction:column;justify-content:space-between}
.about-year-label{color:#646F7C;text-transform:uppercase;letter-spacing:1.6px;font-weight:800;font-size:11px}
.about-year-num{font:76px Georgia,serif;letter-spacing:-4px;color:#262C35;margin:10px 0}
.about-year p{font-size:13px;line-height:1.65;color:#646F7C;margin:0}
.about-section{padding:25px 0 12px}.about-section h3{font:400 28px Georgia,serif;letter-spacing:-.6px;margin:0 0 9px}
.about-section>p{font-size:14px;line-height:1.75;color:#646E79;max-width:750px;margin:0 0 24px}
.academic-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.academic-card{background:#fff;border:1px solid #E0E4E8;border-radius:17px;padding:25px}
.academic-label{font-size:11px;color:#6F7884;letter-spacing:1px;font-weight:800;text-transform:uppercase;margin-bottom:11px}
.academic-card strong{font-size:17px;color:#222831;line-height:1.4;display:block}
.academic-card p{font-size:13px;line-height:1.65;color:#6B7480;margin:11px 0 0}
.academic-wide{grid-column:1/-1}
.team-placeholder{display:flex;align-items:center;gap:14px;border:1px dashed #B6BDC6;border-radius:13px;padding:19px;background:#FAFAFB;color:#5A626E;font-size:13px;line-height:1.6}
.team-icon{height:39px;min-width:39px;display:grid;place-items:center;background:#E8EBEF;border-radius:11px;color:#39414B;font-size:18px;font-weight:700}
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.principle{padding:21px;background:#fff;border-radius:15px;border:1px solid #E0E4E8}
.principle b{display:block;font-size:14px;margin-bottom:8px}.principle p{font-size:12px;color:#66707B;line-height:1.65;margin:0}
.institution-note{border-left:3px solid #A2A8B0;padding:13px 16px;background:#ECEEF1;border-radius:5px;color:#59636F;font-size:12px;line-height:1.7;margin:20px 0 0}
@media (max-width:700px){.about-hero{grid-template-columns:1fr}.about-statement{padding:26px;min-height:auto}.about-year{padding:22px}.about-year-num{font-size:52px}.academic-grid,.principle-grid{grid-template-columns:1fr}.academic-wide{grid-column:auto}.footer-main,.footer-small{display:block}.footer-main>*+*,.footer-small>*+*{margin-top:14px}}
@media print{.footer{display:none!important}}

/* v2.3 — mantém idealizadores sem numeração */
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:19px}
.team-member{display:flex;align-items:center;min-height:66px;border:1px solid #E0E4E8;border-radius:13px;background:#F8F9FA;padding:13px 15px}
.team-name{font-size:14px;line-height:1.45;font-weight:650;color:#252B34;overflow-wrap:anywhere}
@media(max-width:700px){.team-grid{grid-template-columns:1fr}.team-member{min-height:60px}}

/* v2.4 — revisão de nomenclatura e remoção de indicadores */
.legal-context{display:block;margin-top:4px}

/* v2.5 — aprimoramentos de UX, acessibilidade e impressão */
.skip-link{position:fixed;top:-100px;left:14px;z-index:1000;background:#20242B;color:white;padding:13px 18px;border-radius:10px;text-decoration:none;font-weight:750}
.skip-link:focus{top:10px}
.rolecard{cursor:pointer}
button, .rolecard{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,.rolecard:focus-visible{outline:3px solid #596A82;outline-offset:3px}
.view h1:focus,.view h2:focus{outline:none}
.btn{min-height:44px}
.switch button{min-height:42px}
.hamb{min-height:44px;min-width:44px}
#riskGrid:empty{min-height:40px}
.print-only{display:none}
/* Contrast refinements for small labels and supporting text */
.checkrow span{color:#58636F}
.academic-label{color:#59636F}
.about-year-label,.about-year p{color:#525C69}
.guide-nav button{color:#545E69}
/* Honor user preference; avoid unnecessary motion for keyboard/motion-sensitive visitors. */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:700px){
 .heroact .btn{flex:1 1 auto}
 .rolecard{min-height:190px}
 .pagehead .desc{line-height:1.7}
 .toolbar .btn{min-height:44px}
 .guide-nav button{min-height:42px}
 .qactions .btn{min-height:44px}
}
@media(max-width:360px){
 .shell{padding-left:14px;padding-right:14px}
 .brand{font-size:16px}
 .switch button{padding:10px 7px;font-size:12px}
 .hero-in{padding-top:46px}
 h1{font-size:39px}
 .graphicframe{padding:13px}
}
@media print{
 @page{size:A4;margin:17mm 15mm}
 body{background:white!important;color:#20242B!important}
 .view,.view.active{animation:none!important;opacity:1!important;transform:none!important}
 .skip-link{display:none!important}
 .article p,.article li,.article h3,.article h4,.print-header h1{color:#20242B!important;opacity:1!important}
 .print-chapter .overline{color:#404A56!important}
 .article .callout{background:#F5F6F7!important;color:#20242B!important}
 .print-guide #guideArticle{display:none!important}
 .print-guide #guidePrintAll{display:block!important}
 .print-guide .print-chapter{break-before:auto;page-break-before:auto;break-inside:avoid;page-break-inside:avoid;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #DCE1E6}
 .print-guide .print-chapter:first-child{break-before:auto;page-break-before:auto}
 .print-guide .print-chapter h3{font-size:24px;line-height:1.2}
 .print-guide .print-chapter h4{break-after:avoid}
 .print-guide .print-chapter p,.print-guide .print-chapter li{orphans:3;widows:3}
 .print-guide .callout{break-inside:avoid}
 .checkrow{break-inside:avoid}
}


/* v2.6 — refinamento incremental de design e experiência de uso.
   Preserva o layout monocromático, o conteúdo jurídico e todos os fluxos. */
:root{
  --radius:16px;
  --shadow-soft:0 10px 28px rgba(25,31,41,.055);
  --shadow-raised:0 16px 36px rgba(25,31,41,.09);
}
body{line-height:1.5}
.top{box-shadow:0 3px 20px rgba(28,33,41,.035)}
.topin{min-height:72px;gap:14px}
.brand{font-size:19px;letter-spacing:-.6px;white-space:nowrap}
.brandmark{flex:0 0 auto}
nav{gap:2px}
nav button{padding:11px 10px;min-height:42px;font-size:12.5px;transition:background .16s,color .16s}
nav button.active{background:#E9EDF1;color:#20242B}
.smallbtn{min-height:42px;transition:border-color .16s,background .16s}
.smallbtn:hover{border-color:#949DA9;background:#F7F8FA}
.hero{background:linear-gradient(112deg,#20242B 0%,#282F39 100%)}
.hero-in{min-height:425px;grid-template-columns:1.06fr .94fr;gap:42px}
.hero-in:after{opacity:.65}
h1{font-size:clamp(39px,4.45vw,61px);line-height:1.09;letter-spacing:-1.55px;margin:18px 0 19px;text-wrap:balance}
.hero p{font-size:15px;line-height:1.75;max-width:510px}
.heroact{margin-top:24px;gap:10px}
.btn{border-radius:10px;font-weight:750;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}
.btn.primary{box-shadow:0 5px 18px rgba(10,12,15,.06)}
.btn.line:hover{background:#F3F5F7;border-color:#BDC5CE}
.showcase{height:300px}
.graphicframe{height:275px;transform:rotate(-1deg);padding:21px;border-radius:20px}
.graphicmain{margin-top:18px}
.graphiclist{margin-top:18px}
.graphicrow{padding:9px 12px}
.floating{right:-6px;bottom:8px}
.section{padding:48px 0}
.sec-head{margin-bottom:22px}
.section h2,.pagehead h2{font-size:clamp(29px,3vw,39px);line-height:1.19;letter-spacing:-.85px;text-wrap:balance}
.desc{font-size:14.5px;line-height:1.7;color:#5D6876}
.overline{font-size:10.5px;letter-spacing:1.35px}
.rolegrid{gap:15px}
.rolecard{min-height:218px;padding:23px 24px;border-radius:16px;box-shadow:0 1px 1px rgba(25,31,41,.015);transition:border-color .18s,box-shadow .18s,transform .18s,background .18s}
.rolehead{margin-bottom:18px}
.roleic{width:46px;height:46px;border-radius:12px;background:#EEF1F4}
.rolecard h3{font-size:24px;letter-spacing:-.55px;margin-bottom:8px;line-height:1.2}
.rolecard p{font-size:13.5px;line-height:1.65;color:#606B78;margin-bottom:14px}
.rolelink{font-weight:800;letter-spacing:.04px;display:inline-flex;align-items:center;font-size:13px}
.arrow{font-size:19px;transition:transform .18s,color .18s}
.featuregrid{gap:14px}
.feature{min-height:208px;padding:22px;border-radius:16px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:border-color .18s,box-shadow .18s,transform .18s}
.feature:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:#697583;opacity:.66}
.feature:nth-child(2):before{background:#919AA7}
.feature:nth-child(3):before{background:#515B67}
.fi{width:42px;height:42px;border-radius:11px;background:#EDF1F4;color:#3C4957}
.fi svg{width:22px;height:22px}
.feature:nth-child(2) .fi{background:#F0F1F4;color:#505969}
.feature:nth-child(3) .fi{background:#E8ECEF;color:#313A47}
.feature h3{margin:15px 0 7px;font-size:16px;line-height:1.35;color:#29313B}
.feature p{font-size:13px;line-height:1.64;color:#606B78;margin-bottom:15px}
.feature .btn{margin-top:auto!important;align-self:flex-start!important;min-height:35px;padding:7px 0!important;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}
.band{margin:20px 0 40px;padding:26px 30px;border-radius:17px}
.band h3{font-size:23px;line-height:1.24}
.band p{font-size:13px}
.pagehead{padding:41px 0}
.pagebody{padding:29px 0 55px}
.pagehead h2{max-width:940px}
.panel,.riskcard,.academic-card,.source,.principle{border-radius:16px}
.riskcard{gap:11px;padding:22px;transition:box-shadow .18s,border-color .18s}
.riskcard h3{letter-spacing:-.18px}
.riskcard p{font-size:13.5px;line-height:1.7}
.toolbar{gap:10px}
.switch button{transition:background .15s,color .15s,box-shadow .15s}
.switch button:not(.sel):hover{background:#E1E5E9;color:#2F3945}
.guide-nav button{transition:background .15s,color .15s}
.guide-nav button:hover{background:#EDF0F3;color:#303A47}
.academic-card{padding:24px}
.team-member{background:#FAFBFC}
.footer{padding-top:33px}
@media(hover:hover){
  .rolecard:hover{border-color:#9CA5B1;box-shadow:var(--shadow-raised);transform:translateY(-3px);background:#FEFEFF}
  .rolecard:hover .arrow{color:#303B47;transform:translate(2px,-2px)}
  .feature:hover{border-color:#B5BDC8;box-shadow:var(--shadow-soft);transform:translateY(-2px)}
  .feature:hover .btn{text-decoration-color:currentColor}
  .riskcard:hover{border-color:#CBD1D9;box-shadow:var(--shadow-soft)}
}
.rolecard:active{transform:translateY(0);background:#F4F6F8}
.feature:focus-within{border-color:#A4AFBC;box-shadow:0 0 0 2px #DDE3E9}
.rolecard:focus-visible{outline:3px solid #536780;outline-offset:3px}
@media(max-width:1120px) and (min-width:981px){
  .topin{gap:8px}
  nav button{font-size:12px;padding:9px 8px}
  .smallbtn{padding:9px}
  .brand{font-size:18px}
}
@media(max-width:980px){
  nav{top:69px}
  nav button{font-size:14px;padding:12px 14px}
  nav.open{box-shadow:0 18px 45px rgba(23,29,37,.16)}
  .hero-in{gap:23px}
}
@media(max-width:700px){
  .shell{padding-left:18px;padding-right:18px}
  .topin{min-height:64px}
  .brand{font-size:17px}
  .brandmark{width:34px;height:34px}
  nav{top:62px}
  .hero-in{padding-top:39px;padding-bottom:34px}
  h1{font-size:clamp(36px,9.3vw,45px);line-height:1.12;letter-spacing:-1.1px;margin:14px 0}
  .hero p{font-size:13.5px;line-height:1.68}
  .heroact{margin-top:20px;gap:9px}
  .heroact .btn{padding:12px 14px;min-height:45px}
  .showcase{height:225px;margin-top:22px}
  .graphicframe{height:219px;max-width:410px;padding:15px;border-radius:17px}
  .graphichead{padding-bottom:9px;font-size:9px}
  .graphicmain{gap:11px;margin-top:12px}
  .graphicmain strong{font-size:14px}
  .graphicmain span{font-size:10px;margin-top:5px}
  .graphicicon{width:44px;height:44px;border-radius:12px;font-size:24px}
  .graphiclist{margin-top:11px;gap:6px}
  .graphicrow{padding:7px 10px;font-size:11px}
  .section{padding-top:32px;padding-bottom:32px}
  .sec-head{margin-bottom:17px}
  .section h2,.pagehead h2{font-size:clamp(27px,7vw,33px);line-height:1.19;letter-spacing:-.6px}
  .desc{font-size:13.5px;line-height:1.64}
  .overline{margin-bottom:8px}
  .rolegrid,.featuregrid{gap:11px}
  .rolecard{min-height:174px;padding:19px 19px 18px;border-radius:15px}
  .rolehead{margin-bottom:11px}
  .roleic{height:40px;width:40px;border-radius:10px}
  .roleic svg{height:21px;width:21px}
  .rolecard h3{font-size:22px;line-height:1.17;margin-bottom:7px}
  .rolecard p{font-size:13px;line-height:1.57;margin-bottom:11px}
  .rolelink{font-size:12.5px}
  .feature{min-height:173px;padding:18px;border-radius:15px}
  .fi{width:38px;height:38px}
  .fi svg{width:20px;height:20px}
  .feature h3{margin:12px 0 6px;font-size:15px}
  .feature p{font-size:12.8px;line-height:1.6;margin-bottom:8px}
  .feature .btn{font-size:13px}
  .band{margin:12px 0 30px;padding:23px;border-radius:16px}
  .band h3{font-size:22px}
  .band .btn{margin-top:17px}
  .pagehead{padding:28px 0}
  .pagebody{padding:22px 0 41px}
  .panel{padding:19px;border-radius:16px}
  .riskcard{padding:19px;border-radius:15px}
  .riskcard p{font-size:13px}
  .toolbar{margin-bottom:17px}
  .about-section{padding:21px 0 10px}
  .about-statement{padding:24px}
  .academic-card{padding:20px}
  .footer{padding-top:29px;padding-bottom:25px}
}
@media(max-width:360px){
  .brand{font-size:16px}
  .hero-in{padding-top:33px}
  h1{font-size:35px}
  .graphicframe{padding:12px}
  .graphichead{letter-spacing:.2px}
  .rolecard h3{font-size:21px}
}
@media(prefers-reduced-motion:reduce){
  .rolecard,.feature,.riskcard,.arrow,.btn,nav button,.smallbtn{transition:none!important}
}
@media print{
  .hero,.feature:before{background:transparent!important}
  .feature,.rolecard,.riskcard{box-shadow:none!important;transform:none!important}
}


/* v2.7 — diagnóstico com checklist contextual integrado */
.diagnosis-steps{margin:12px 0 18px;padding-left:21px;display:grid;gap:9px}
.diagnosis-steps li{font-size:13px;color:#4C5663;line-height:1.5}
.stepper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:27px}
.stepper-item{display:flex;align-items:center;gap:9px;border-bottom:2px solid #DFE3E8;padding:0 2px 12px;font-size:11px;font-weight:800;color:#77818C;line-height:1.35}
.stepper-num{height:27px;min-width:27px;background:#EBEDF0;border-radius:50%;display:grid;place-items:center;font-size:12px}
.stepper-item.is-active{border-bottom-color:#20242B;color:#20242B}
.stepper-item.is-active .stepper-num{background:#20242B;color:#fff}
.stepper-item.is-complete{border-bottom-color:#8A949F;color:#505A66}
.stepper-item.is-complete .stepper-num{background:#DDE2E7;color:#37404A}
.plan-context{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#F1F3F5;border:1px solid #DFE3E8;padding:15px 17px;border-radius:12px;margin:20px 0}
.plan-context strong{font-size:13px;color:#27303B}.plan-context span{font-size:12px;color:#5F6A77}
.plan-stats{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0 8px}
.plan-stats strong{font-size:13px}.plan-clear{background:none;border:0;color:#566272;font-size:12px;text-decoration:underline;text-underline-offset:3px;padding:8px;min-height:40px}
.plan-progress{margin:6px 0 22px!important}
.plan-list{display:grid;gap:9px}
.plan-row{margin:0}.plan-row strong{font-size:14px;line-height:1.45}.plan-row span span{line-height:1.6}
.plan-actions{flex-wrap:wrap;gap:9px}.plan-actions .btn{flex:1 1 auto}
.plan-print-sheet{display:none}
@media(max-width:700px){
 .stepper{gap:5px;margin-bottom:20px}.stepper-item{display:block;font-size:10px;padding-bottom:9px}
 .stepper-num{margin-bottom:7px;height:24px;min-width:24px;width:24px}
 .plan-context{align-items:flex-start;display:grid}
 .plan-actions{display:grid;grid-template-columns:1fr 1fr}
 .plan-actions .btn{padding:12px 8px;font-size:12px}
 .plan-actions .btn:last-child{grid-column:1/-1}
}
@media(max-width:390px){.plan-actions{grid-template-columns:1fr}.plan-actions .btn:last-child{grid-column:auto}}
@media print{
 body.print-plan>*:not(#planPrint){display:none!important}
 body.print-plan #planPrint{display:block!important;position:static!important;padding:0!important;background:#fff;color:#20242B;font:12px/1.5 Arial,sans-serif}
 .plan-print-sheet header{border-bottom:2px solid #20242B;margin-bottom:15px;padding-bottom:11px}
 .plan-print-sheet h1{font:28px Georgia,serif;letter-spacing:0;margin:0 0 4px}
 .plan-print-sheet h2{font:20px Georgia,serif;letter-spacing:0;margin:20px 0 8px}
 .plan-print-sheet h3{font:700 13px Arial,sans-serif;margin:0 0 3px}
 .plan-print-sheet p{margin:3px 0 7px}
 .plan-print-sheet .print-risk{break-inside:avoid;border-bottom:1px solid #ddd;padding:7px 0}
 .plan-print-sheet ol{padding-left:19px}
 .plan-print-sheet li{break-inside:avoid;padding:5px 0;border-bottom:1px solid #eee}
 .plan-print-sheet li p{color:#404954}
 .plan-print-sheet .print-disclaimer{border-top:1px solid #aaa;padding-top:12px;font-size:10px}
}


/* v2.9 — tema escuro opcional, identidade monocromática preservada */
:root{color-scheme:light}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;min-height:42px;padding:9px 11px;border:1px solid #D9DEE4;border-radius:11px;background:#F9FAFB;color:#333C49;font:750 12px/1.2 Inter,"Segoe UI",Arial,sans-serif;transition:background .18s,border-color .18s,color .18s}
.theme-toggle:hover{background:#EEF0F3;border-color:#AAB4C0}
.theme-toggle:focus-visible{outline:3px solid #65788F;outline-offset:3px}
.theme-icon{width:17px;height:17px;flex-shrink:0}
.theme-sun{display:none}
:root[data-theme="dark"]{color-scheme:dark;--navy:#151B24;--navy2:#242D38;--ink:#E8EDF3;--muted:#B9C3CF;--green:#C1CBD7;--mint:#242E39;--paper:#11161D;--white:#1C2530;--line:#3A4655;--sand:#202A35;--warning:#DDC6A2;--shadow:0 16px 48px rgba(0,0,0,.3);--shadow-soft:0 10px 28px rgba(0,0,0,.22);--shadow-raised:0 16px 36px rgba(0,0,0,.35)}
:root[data-theme="dark"] .theme-moon{display:none}
:root[data-theme="dark"] .theme-sun{display:block}
:root[data-theme="dark"] .theme-toggle{color:#E8EDF3;background:#26313D;border-color:#465365}
:root[data-theme="dark"] .theme-toggle:hover{background:#344152;border-color:#738195}
:root[data-theme="dark"] .top{background:#171D26;border-bottom:1px solid #35404E;box-shadow:0 4px 22px rgba(0,0,0,.18)}
:root[data-theme="dark"] .brand,:root[data-theme="dark"] .brand em{color:#EDF1F6}
:root[data-theme="dark"] .brandmark{background:#D6DEE7;color:#202833}
:root[data-theme="dark"] nav button{color:#C0CAD6}
:root[data-theme="dark"] nav button:hover,:root[data-theme="dark"] nav button.active{background:#2A3543;color:#F6F8FB}
:root[data-theme="dark"] .hamb,:root[data-theme="dark"] .smallbtn{background:#26313D;color:#E8EDF3;border-color:#465365}
:root[data-theme="dark"] .hamb:hover,:root[data-theme="dark"] .smallbtn:hover{background:#354251;border-color:#748197}
:root[data-theme="dark"] .hero{background:linear-gradient(112deg,#151B24 0%,#212B36 100%)}
:root[data-theme="dark"] .hero .eyebrow,:root[data-theme="dark"] .hero p,:root[data-theme="dark"] .hero h1 span{color:#D1D9E3}
:root[data-theme="dark"] .graphicframe{background:linear-gradient(135deg,#303C4B,#1A232D);border-color:#6D7A8C66}
:root[data-theme="dark"] .graphicrow{background:#3B4859}
:root[data-theme="dark"] .graphicicon{background:#D8E0EA;color:#202A35}
:root[data-theme="dark"] .floating{background:#DEE5ED;color:#202A35}
:root[data-theme="dark"] .floating span{color:#435164}
:root[data-theme="dark"] .overline,:root[data-theme="dark"] .pagehead .overline{color:#CBD5E0}
:root[data-theme="dark"] .desc,:root[data-theme="dark"] .rolecard p,:root[data-theme="dark"] .feature p,:root[data-theme="dark"] .riskcard p,:root[data-theme="dark"] .riskfoot,:root[data-theme="dark"] .article p,:root[data-theme="dark"] .article li,:root[data-theme="dark"] .aside p,:root[data-theme="dark"] .aside li,:root[data-theme="dark"] .academic-card p,:root[data-theme="dark"] .principle p,:root[data-theme="dark"] .about-section>p{color:#BDC7D3}
:root[data-theme="dark"] .rolecard,:root[data-theme="dark"] .feature,:root[data-theme="dark"] .riskcard,:root[data-theme="dark"] .panel,:root[data-theme="dark"] .source,:root[data-theme="dark"] .academic-card,:root[data-theme="dark"] .principle{background:#1D2631;border-color:#3C4958;box-shadow:none}
:root[data-theme="dark"] .rolecard:hover,:root[data-theme="dark"] .rolecard:active{background:#253241;border-color:#8190A3}
:root[data-theme="dark"] .feature:hover,:root[data-theme="dark"] .riskcard:hover{border-color:#8090A3;box-shadow:0 12px 27px rgba(0,0,0,.2)}
:root[data-theme="dark"] .roleic,:root[data-theme="dark"] .fi,:root[data-theme="dark"] .feature:nth-child(2) .fi,:root[data-theme="dark"] .feature:nth-child(3) .fi,:root[data-theme="dark"] .team-icon{background:#344150;color:#E1E8F1}
:root[data-theme="dark"] .rolelink,:root[data-theme="dark"] .arrow,:root[data-theme="dark"] .riskid,:root[data-theme="dark"] .linkunder,:root[data-theme="dark"] .source a{color:#D0DBE7}
:root[data-theme="dark"] .feature h3,:root[data-theme="dark"] .academic-card strong,:root[data-theme="dark"] .team-name{color:#F1F4F8}
:root[data-theme="dark"] .band,:root[data-theme="dark"] .about-statement{background:#202B38;color:#F4F6F9;border:1px solid #425163}
:root[data-theme="dark"] .band p,:root[data-theme="dark"] .about-statement p{color:#CDD6E1}
:root[data-theme="dark"] .pagehead{background:linear-gradient(110deg,#1C2530,#222C38);border-bottom:1px solid #3D4857}
:root[data-theme="dark"] .pill,:root[data-theme="dark"] .tag{background:#303D4B;border-color:#4B5A6C;color:#E1E8F0}
:root[data-theme="dark"] .choice{background:#202A36;border-color:#566578;color:#E6EDF4}
:root[data-theme="dark"] .choice:has(input:checked){background:#35465A;border-color:#A7BACF;color:#FFFFFF}
:root[data-theme="dark"] .choice span{color:#E6EDF4}
:root[data-theme="dark"] .choice input{accent-color:#B6C8DB}
:root[data-theme="dark"] .switch{background:#26313D}
:root[data-theme="dark"] .switch button,:root[data-theme="dark"] .guide-nav button{color:#C1CBD7}
:root[data-theme="dark"] .switch button:not(.sel):hover,:root[data-theme="dark"] .guide-nav button:hover{background:#344152;color:#F1F4F8}
:root[data-theme="dark"] .switch button.sel,:root[data-theme="dark"] .guide-nav button.sel{background:#445366;color:#FAFCFE;box-shadow:none}
:root[data-theme="dark"] .input{background:#222C38;border-color:#48586A;color:#F2F6FA}
:root[data-theme="dark"] .input::placeholder{color:#AAB6C5}
:root[data-theme="dark"] .input:focus{border-color:#AFC1D5}
:root[data-theme="dark"] .aside,:root[data-theme="dark"] .resultcard,:root[data-theme="dark"] .notebox,:root[data-theme="dark"] .article .callout,:root[data-theme="dark"] .plan-context,:root[data-theme="dark"] .about-year,:root[data-theme="dark"] .institution-note{background:#27323F;border-color:#48586A;color:#DFE6EF}
:root[data-theme="dark"] .notebox strong,:root[data-theme="dark"] .article .callout strong{color:#F2F5F8}
:root[data-theme="dark"] .resultcard p,:root[data-theme="dark"] .source p,:root[data-theme="dark"] .about-year p,:root[data-theme="dark"] .about-year-label,:root[data-theme="dark"] .academic-label,:root[data-theme="dark"] .plan-context span{color:#BAC6D4}
:root[data-theme="dark"] .about-year-num,:root[data-theme="dark"] .plan-context strong{color:#E9EFF7}
:root[data-theme="dark"] .checkrow,:root[data-theme="dark"] .team-member{background:#202B37;border-color:#415163}
:root[data-theme="dark"] .checkrow span,:root[data-theme="dark"] .checkrow.done strong,:root[data-theme="dark"] .team-member .team-name{color:#DFE6EF}
:root[data-theme="dark"] .checkrow.done{background:#2D3A48;border-color:#67788C}
:root[data-theme="dark"] .checkrow input{accent-color:#A9BBD0}
:root[data-theme="dark"] .progress{background:#354353}
:root[data-theme="dark"] .progressbar{background:#B1C0D0}
:root[data-theme="dark"] .source{border-color:#435367}
:root[data-theme="dark"] .about-year{border-color:#48586A}
:root[data-theme="dark"] .team-placeholder{background:#222E3B;color:#C8D3DF;border-color:#6D7A8B}
:root[data-theme="dark"] .institution-note{border-left-color:#A8B7C8}
:root[data-theme="dark"] .diagnosis-steps li,:root[data-theme="dark"] .stepper-item{color:#BCC8D6}
:root[data-theme="dark"] .stepper-item{border-bottom-color:#4A5869}
:root[data-theme="dark"] .stepper-num{background:#364556;color:#DDE5EE}
:root[data-theme="dark"] .stepper-item.is-active{border-bottom-color:#D4DDE8;color:#EFF4FA}
:root[data-theme="dark"] .stepper-item.is-active .stepper-num{background:#E1E8F0;color:#1B2530}
:root[data-theme="dark"] .stepper-item.is-complete{border-bottom-color:#8FA3BB;color:#C7D3E1}
:root[data-theme="dark"] .stepper-item.is-complete .stepper-num{background:#526479;color:#F3F6FA}
:root[data-theme="dark"] .plan-clear{color:#D4E0EC}
:root[data-theme="dark"] .btn.dark{background:#DBE3EC;color:#1B2530;box-shadow:none}
:root[data-theme="dark"] .btn.dark:hover{background:#FFFFFF}
:root[data-theme="dark"] .btn.line{background:#293544;color:#E5ECF4;border:1px solid #536478}
:root[data-theme="dark"] .btn.line:hover{background:#354354;border-color:#8496AB}
:root[data-theme="dark"] .btn.outline{color:#E7EDF4;border-color:#8997A9}
:root[data-theme="dark"] .btn.primary{background:#E1E6ED;color:#202936}
:root[data-theme="dark"] .btn.primary:hover{background:#FFFFFF}
:root[data-theme="dark"] .footer{background:#151B24;border-top:1px solid #303C4B;color:#D4DEE9}
:root[data-theme="dark"] .footer strong{color:#F3F6FA}
:root[data-theme="dark"] .footer-rule{border-top-color:#414D5C}
:root[data-theme="dark"] .footer-small{color:#C5D0DE}
:root[data-theme="dark"] .footer button,:root[data-theme="dark"] .footer a{color:#DDE5EE}
:root[data-theme="dark"] .footer p[style]{color:#C8D3E0!important}
:root[data-theme="dark"] .skip-link{background:#E1E8F0;color:#111820}
:root[data-theme="dark"] :is(button,a,input,.rolecard):focus-visible{outline:3px solid #A9CAE9;outline-offset:3px}
/* Impressão sempre clara, independentemente do tema selecionado. */
@media print{
 :root[data-theme="dark"]{color-scheme:light;--ink:#20242B;--paper:#FFFFFF;--muted:#515B67;--line:#D8DDE3}
 :root[data-theme="dark"] body{background:#FFFFFF!important;color:#20242B!important}
 :root[data-theme="dark"] .article p,:root[data-theme="dark"] .article li,:root[data-theme="dark"] .article .callout,:root[data-theme="dark"] .print-chapter{background:#FFFFFF!important;color:#20242B!important}
 :root[data-theme="dark"] .plan-print-sheet{color:#20242B!important;background:#FFFFFF!important}
}
@media(max-width:1150px) and (min-width:981px){.theme-toggle-label{display:none}.theme-toggle{width:42px;padding:9px}}
@media(max-width:700px){.theme-toggle-label{display:none}.theme-toggle{min-width:44px;min-height:44px;padding:10px}}
@media(prefers-reduced-motion:reduce){.theme-toggle{transition:none}}

/* v2.10 — tipografia: reduz quebras isoladas entre frases, inclusive em textos responsivos. */
@supports (text-wrap: pretty) {
  .desc, .hero p, .rolecard p, .feature p, .band p, .riskcard p,
  .resultcard p, .article p, .article li, .notebox, .aside p, .aside li,
  .academic-card p, .about-section p, .about-statement p, .about-year p,
  .principle p, .source p, .checkrow span, .plan-context,
  .footer p, .footer-small, .institution-note { text-wrap: pretty; }
}
