:root{
  --accent:#0d9488;--accent-h:#0f766e;--accent-l:#f0fdfa;--accent-m:#ccfbf1;--accent-s:#14b8a6;--accent-d:#115e59;
  --bg:#fff;--bg2:#f7f8f9;--bg3:#f1f3f5;
  --ink:#0f1419;--ink2:#2b3640;--ink3:#4b5c6b;--ink4:#7b8d9e;--ink5:#a8b7c5;--ink6:#d5dde5;--ink7:#edf0f3;
  --red:#d63031;--amber:#e17e00;
  --ff-h:'DM Sans',system-ui,sans-serif;--ff-b:'Inter',system-ui,sans-serif;
  --h1:clamp(1.75rem,5vw,2.25rem);--h2:clamp(1.375rem,3.5vw,1.75rem);--h3:clamp(1.125rem,2.5vw,1.375rem);
  --body:1rem;--sm:.875rem;--xs:.75rem;--xxs:.6875rem;
  --wrap:1100px;--gut:1.25rem;
  --r:8px;--r2:12px;--r3:16px;
  --ease:cubic-bezier(.22,1,.36,1);--dur:.22s;
  --lh:1.7;--lh-h:1.2;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--ff-b);font-size:var(--body);line-height:var(--lh);color:var(--ink2);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}button{font:inherit;border:none;background:none;cursor:pointer}strong{font-weight:600}
.w{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}

/* === Buttons === */
.btn{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.25rem;font-family:var(--ff-b);font-size:var(--sm);font-weight:500;border-radius:var(--r);transition:all var(--dur) var(--ease);white-space:nowrap}
.btn--p{background:var(--accent);color:#fff;box-shadow:0 1px 3px rgba(13,148,136,.12)}
.btn--p:hover{background:var(--accent-h);box-shadow:0 4px 14px rgba(13,148,136,.16);transform:translateY(-1px)}
.btn--o{border:1.5px solid var(--ink6);color:var(--ink2)}
.btn--o:hover{border-color:var(--accent-s);color:var(--accent-h);background:var(--accent-l)}

/* === HEADER === */
.hdr{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--ink7);transition:box-shadow .2s}
.hdr.s{box-shadow:0 1px 8px rgba(0,0,0,.04)}
.hdr__in{display:flex;align-items:center;height:54px}
.logo{display:flex;align-items:center;gap:.45rem;margin-right:auto}
.logo__i{width:28px;height:28px;background:var(--accent);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo__i svg{width:14px;height:14px}
.logo__t{font-family:var(--ff-h);font-size:var(--sm);color:var(--ink3);font-weight:500}
.logo__t b{font-weight:700;color:var(--ink)}
.dn{display:none;align-items:center;gap:.1rem}
.dn a,.dn button{padding:.3rem .6rem;font-family:var(--ff-b);font-size:var(--xs);font-weight:500;color:var(--ink3);border-radius:6px;transition:all var(--dur);display:flex;align-items:center;gap:2px}
.dn a:hover,.dn button:hover{color:var(--ink);background:var(--bg2)}
.dn button svg{width:8px;opacity:.4}
.dd{position:relative}
.dd__m{display:none;position:absolute;top:calc(100% + 5px);left:50%;transform:translateX(-50%);min-width:180px;background:#fff;border-radius:var(--r2);box-shadow:0 8px 28px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.03);padding:.3rem;z-index:50}
.dd:hover .dd__m{display:block}
.dd__m a{display:block;padding:.4rem .6rem;font-size:var(--xs);border-radius:6px}
.dd__m a:hover{background:var(--accent-l);color:var(--accent-h)}
.hdr__c{display:none;font-size:var(--xxs);font-weight:600;color:var(--accent);padding:.3rem .7rem;border:1.5px solid var(--accent-m);border-radius:6px;margin-left:.6rem;transition:all var(--dur)}
.hdr__c:hover{background:var(--accent-l);border-color:var(--accent-s)}
/* Burger */
.bg{position:relative;width:22px;height:16px;z-index:120}
.bg span,.bg::before,.bg::after{content:'';position:absolute;left:0;width:100%;height:1.5px;background:var(--ink3);border-radius:2px;transition:all .3s var(--ease)}
.bg::before{top:0}.bg span{top:7px}.bg::after{top:14px}
.bg[aria-expanded="true"]::before{transform:rotate(45deg);top:7px}
.bg[aria-expanded="true"] span{opacity:0}
.bg[aria-expanded="true"]::after{transform:rotate(-45deg);top:7px}
/* Mobile nav */
.mn{display:none;position:fixed;inset:0;background:#fff;z-index:110;padding:64px var(--gut) 2rem;overflow-y:auto;flex-direction:column}
.mn.open{display:flex}
.mn a{display:block;padding:.8rem 0;font-family:var(--ff-h);font-size:1.05rem;font-weight:500;color:var(--ink2);border-bottom:1px solid var(--ink7)}
.mn a:hover{color:var(--accent)}
.mn__sub{display:none;padding:0 0 .3rem .8rem}
.mn__dd.open .mn__sub{display:block}
.mn__sub a{font-size:var(--sm);color:var(--ink4);font-family:var(--ff-b);font-weight:400}
@media(min-width:860px){.bg{display:none}.dn{display:flex}.hdr__c{display:inline-block}.mn{display:none!important}}

/* === HERO === */
.hero{padding:3rem 0 3.5rem;background:linear-gradient(177deg,var(--bg2) 0%,#fff 60%);position:relative}
.hero::after{content:'';position:absolute;top:0;right:0;width:40%;height:100%;background:radial-gradient(ellipse at 65% 35%,rgba(13,148,136,.03),transparent 70%);pointer-events:none}
.hero__g{display:grid;gap:1.5rem;align-items:center}
.hero__ey{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--ff-h);font-size:var(--xxs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem}
.hero__ey::before{content:'';width:16px;height:1.5px;background:var(--accent);border-radius:1px}
.hero__h1{font-family:var(--ff-h);font-size:var(--h1);font-weight:700;line-height:var(--lh-h);color:var(--ink);letter-spacing:-.025em;margin-bottom:1rem}
.hero__h1 em{color:var(--accent);font-style:normal}
.hero__p{font-size:1.05rem;line-height:1.75;color:var(--ink4);max-width:480px;margin-bottom:1.5rem}
.hero__act{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.hero__tr{display:flex;align-items:center;gap:.3rem;font-size:var(--xxs);color:var(--ink5);font-weight:400}
.hero__tr svg{flex-shrink:0}
.hero__vis{display:none}
@media(min-width:860px){.hero{padding:4.5rem 0 5rem}.hero__g{grid-template-columns:1fr auto;gap:2.5rem}.hero__vis{display:block}}
/* Spine mini visual */
.spn{display:flex;flex-direction:column;align-items:center;gap:5px;padding:1.5rem 1rem;background:var(--bg2);border-radius:var(--r3);border:1px solid var(--ink7)}
.spn__r{display:flex;align-items:center;gap:.6rem}
.spn__l{font-family:var(--ff-h);font-size:var(--xxs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink5);min-width:52px;text-align:right}
.spn__d{display:flex;flex-direction:column;gap:2px}
.spn__d i{display:block;width:14px;height:12px;border-radius:3px;font-style:normal;transition:transform .3s}
.spn__r:hover .spn__d i{transform:scaleX(1.3)}

/* === SECTIONS === */
.sh{text-align:center;margin-bottom:2rem}
.sh--l{text-align:left}
.sh__la{display:inline-block;font-family:var(--ff-h);font-size:var(--xxs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.25rem}
.sh__t{font-family:var(--ff-h);font-size:var(--h2);font-weight:700;line-height:var(--lh-h);color:var(--ink);letter-spacing:-.02em;margin-bottom:.45rem}
.sh__d{font-size:var(--sm);color:var(--ink4);max-width:500px;margin:0 auto;line-height:1.65}
.sh--l .sh__d{margin:0}
section{padding:3.5rem 0}

/* === TOPICS === */
.tg{display:grid;gap:.6rem}
.tc{display:flex;align-items:center;gap:.85rem;padding:.9rem 1rem;background:#fff;border:1px solid var(--ink7);border-radius:var(--r2);transition:all var(--dur) var(--ease)}
.tc:hover{border-color:rgba(13,148,136,.3);box-shadow:0 2px 12px rgba(13,148,136,.06);transform:translateY(-1px)}
.tc__i{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--r);background:var(--accent-l);color:var(--accent);flex-shrink:0;transition:background var(--dur)}
.tc:hover .tc__i{background:var(--accent-m)}
.tc__b{flex:1;min-width:0}
.tc__n{font-family:var(--ff-h);font-size:var(--sm);font-weight:600;color:var(--ink);line-height:1.3}
.tc__d{font-size:var(--xs);color:var(--ink4);line-height:1.45;margin-top:.1rem}
.tc__a{font-size:1rem;color:var(--ink6);transition:all var(--dur);flex-shrink:0}
.tc:hover .tc__a{color:var(--accent);transform:translateX(2px)}
@media(min-width:560px){.tg{grid-template-columns:repeat(2,1fr);gap:.65rem}}
@media(min-width:900px){.tg{grid-template-columns:repeat(3,1fr)}}

/* === POPULAR === */
.pop{background:var(--bg2)}
.pg{display:grid;gap:.65rem}
.pc{display:flex;flex-direction:column;padding:1rem 1.1rem;background:#fff;border-radius:var(--r2);border:1px solid transparent;box-shadow:0 1px 2px rgba(0,0,0,.02);transition:all var(--dur) var(--ease)}
.pc:hover{border-color:rgba(13,148,136,.18);box-shadow:0 4px 16px rgba(0,0,0,.04);transform:translateY(-1px)}
.pc__c{display:inline-block;align-self:flex-start;font-family:var(--ff-h);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--accent-h);background:var(--accent-l);padding:.12rem .45rem;border-radius:99px;margin-bottom:.45rem}
.pc__t{font-family:var(--ff-h);font-size:var(--sm);font-weight:600;line-height:1.35;color:var(--ink);margin-bottom:.25rem}
.pc__e{font-size:var(--xs);color:var(--ink4);line-height:1.5;flex:1}
.pc__l{margin-top:.55rem;font-size:var(--xs);font-weight:500;color:var(--accent)}
.pc:hover .pc__l{color:var(--accent-h)}
@media(min-width:560px){.pg{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.pg{grid-template-columns:repeat(4,1fr)}}

/* === ÚLTIMOS ARTIGOS === */
.lat{background:var(--bg)}
.lg{display:grid;gap:.6rem}
.lc{display:flex;gap:.85rem;padding:.85rem 1rem;border:1px solid var(--ink7);border-radius:var(--r2);transition:all var(--dur) var(--ease);align-items:center}
.lc:hover{border-color:rgba(13,148,136,.25);box-shadow:0 2px 10px rgba(0,0,0,.03)}
.lc__num{font-family:var(--ff-h);font-size:1.35rem;font-weight:700;color:var(--ink7);min-width:28px;transition:color var(--dur)}
.lc:hover .lc__num{color:var(--accent-m)}
.lc__b{flex:1}
.lc__t{font-family:var(--ff-h);font-size:var(--sm);font-weight:600;color:var(--ink);line-height:1.35}
.lc__m{font-size:var(--xxs);color:var(--ink5);margin-top:.1rem}
@media(min-width:560px){.lg{grid-template-columns:repeat(2,1fr)}}

/* === EDUCATION === */
.edu{background:var(--bg2)}
.eg{display:grid;gap:.6rem;margin-bottom:2rem}
.ec{padding:1rem 1.1rem;background:#fff;border-radius:var(--r2);border:1px solid var(--ink7);transition:border-color var(--dur)}
.ec:hover{border-color:var(--accent-m)}
.ec__d{display:inline-block;width:8px;height:8px;border-radius:50%;margin-bottom:.4rem}
.ec__t{font-family:var(--ff-h);font-size:var(--sm);font-weight:600;color:var(--ink);margin-bottom:.15rem}
.ec__p{font-size:var(--xs);color:var(--ink4);line-height:1.55}
.es{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-top:1.5rem;border-top:1px solid var(--ink7)}
.es__n{display:block;font-family:var(--ff-h);font-size:var(--h2);font-weight:700;color:var(--accent);line-height:1.1;text-align:center}
.es__l{font-size:var(--xxs);color:var(--ink4);line-height:1.4;margin-top:.15rem;display:block;text-align:center}
@media(min-width:560px){.eg{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.eg{grid-template-columns:repeat(4,1fr)}}
@media(max-width:480px){.es{grid-template-columns:1fr;gap:1rem}}

/* === EXERCISES === */
.exs{background:var(--bg)}
.xg{display:grid;gap:.6rem}
.xc{display:block;padding:1rem 1.1rem;background:var(--bg2);border:1px solid var(--ink7);border-radius:var(--r2);transition:all var(--dur) var(--ease)}
.xc:hover{border-color:rgba(13,148,136,.3);transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.03)}
.xc__n{font-family:var(--ff-h);font-size:1.4rem;font-weight:700;color:var(--ink7);line-height:1;transition:color var(--dur)}
.xc:hover .xc__n{color:var(--accent-m)}
.xc__t{font-family:var(--ff-h);font-size:var(--sm);font-weight:600;color:var(--ink);margin:.3rem 0 .08rem}
.xc__d{font-size:var(--xs);color:var(--ink4);line-height:1.5}
.xg__cta{text-align:center;margin-top:1.25rem}
@media(min-width:560px){.xg{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.xg{grid-template-columns:repeat(4,1fr)}}

/* === AUTHORITY === */
.au{padding:2rem 0}
.au__c{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:var(--accent-l);border:1px solid var(--accent-m);border-radius:var(--r3)}
.au__b{flex-shrink:0;color:var(--accent)}
.au__t{font-family:var(--ff-h);font-size:1.05rem;font-weight:700;color:var(--accent-d);margin-bottom:.2rem}
.au__p{font-size:var(--sm);color:var(--accent-h);line-height:var(--lh);margin-bottom:.4rem}
.au__l{font-size:var(--xs);font-weight:600;color:var(--accent-h);transition:color var(--dur)}
.au__l:hover{color:var(--ink)}

/* === FAQ HOME === */
.hfaq{background:var(--bg2)}
.hfaq .faq__heading{font-family:var(--ff-h);font-size:var(--h2);font-weight:700;color:var(--ink);margin-bottom:.85rem;text-align:center}
.faq__item{border-bottom:1px solid var(--ink7)}
.faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;font-family:var(--ff-h);font-size:var(--sm);font-weight:600;color:var(--ink2);text-align:left;gap:.5rem}
.faq__q svg{flex-shrink:0;transition:transform .3s var(--ease);color:var(--ink5)}
.faq__item.open .faq__q svg{transform:rotate(180deg)}
.faq__a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.faq__a-inner{padding-bottom:.75rem;font-size:var(--sm);color:var(--ink3);line-height:var(--lh)}
.faq__wrap{max-width:680px;margin:0 auto}

/* === FINAL CTA === */
.fc{padding:3.5rem 0;background:var(--ink)}
.fc__in{text-align:center;max-width:480px;margin:0 auto}
.fc__t{font-family:var(--ff-h);font-size:var(--h2);font-weight:700;color:#fff;margin-bottom:.5rem}
.fc__p{font-size:var(--sm);color:var(--ink4);line-height:1.75;margin-bottom:1.25rem}
.fc__act{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem}
.fc .btn--o{border-color:rgba(255,255,255,.15);color:var(--ink5)}
.fc .btn--o:hover{border-color:var(--accent-s);color:#fff;background:rgba(255,255,255,.04)}

/* === FOOTER === */
.ft{padding:2.5rem 0 1.25rem;border-top:1px solid var(--ink7);background:var(--bg2)}
.ft__top{display:grid;gap:1.5rem;margin-bottom:2rem}
.ft__tg{font-size:var(--xs);color:var(--ink4);margin-top:.35rem;max-width:220px}
.ft__col h4{font-family:var(--ff-h);font-size:var(--xxs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink5);margin-bottom:.5rem}
.ft__col li+li{margin-top:.3rem}
.ft__col a{font-size:var(--xs);color:var(--ink4);transition:color var(--dur)}
.ft__col a:hover{color:var(--accent)}
.ft__disc{padding:.85rem 1rem;background:var(--bg3);border-radius:var(--r);margin-bottom:1rem}
.ft__disc p{font-size:var(--xxs);color:var(--ink4);line-height:1.6}
.ft__btm p{font-size:var(--xxs);color:var(--ink5)}
@media(min-width:560px){.ft__top{grid-template-columns:2fr 1fr 1fr 1fr}}

/* === PAGE TEMPLATES === */
.ph{padding:2rem 0 1.5rem;background:linear-gradient(178deg,var(--bg2) 0%,#fff 65%)}
.ph__bc{display:flex;align-items:center;gap:.3rem;font-size:var(--xs);color:var(--ink5);margin-bottom:1rem;flex-wrap:wrap}
.ph__bc a{color:var(--accent);font-weight:500}.ph__bc a:hover{text-decoration:underline}
.ph__h1{font-family:var(--ff-h);font-size:clamp(1.5rem,4.5vw,2.25rem);font-weight:700;line-height:var(--lh-h);color:var(--ink);letter-spacing:-.02em;margin-bottom:.7rem;max-width:660px}
.ph__m{display:flex;flex-wrap:wrap;gap:.5rem .85rem;font-size:var(--xs);color:var(--ink4)}
.ph__mi{display:flex;align-items:center;gap:.2rem}
.ph__mi svg{opacity:.5;flex-shrink:0}
/* Article body */
.ag{display:grid;gap:2rem;padding:1.75rem 0 3rem}
.ab{max-width:660px}
.ab h2{font-family:var(--ff-h);font-size:var(--h3);font-weight:700;margin:2rem 0 .55rem;color:var(--ink);letter-spacing:-.01em}
.ab h3{font-family:var(--ff-h);font-size:1rem;font-weight:600;margin:1.35rem 0 .35rem;color:var(--ink2)}
.ab p{color:var(--ink3);margin-bottom:.8rem;font-size:var(--body);line-height:var(--lh)}
.ab a{color:var(--accent);font-weight:500;text-decoration:underline;text-decoration-color:var(--accent-m);text-underline-offset:3px;transition:text-decoration-color var(--dur)}
.ab a:hover{text-decoration-color:var(--accent)}
.ab ul,.ab ol{padding-left:1.15rem;margin-bottom:.8rem;color:var(--ink3)}
.ab li{margin-bottom:.3rem;font-size:var(--body);line-height:var(--lh)}
.ab li::marker{color:var(--accent)}
/* Key take */
.kt{padding:.85rem 1rem;background:var(--accent-l);border-left:3px solid var(--accent);border-radius:0 var(--r) var(--r) 0;margin:1.25rem 0}
.kt__t{font-family:var(--ff-h);font-weight:700;font-size:var(--xs);color:var(--accent-d);margin-bottom:.1rem}
.kt__p{font-size:var(--sm);color:var(--accent-h);line-height:1.65}
/* Alert */
.alb{padding:.85rem 1rem;border-radius:var(--r);margin:1.25rem 0}
.alb--w{background:#fef8ee;border-left:3px solid var(--amber)}
.alb--i{background:var(--accent-l);border-left:3px solid var(--accent)}
.alb__t{font-family:var(--ff-h);font-weight:700;font-size:var(--xs);margin-bottom:.1rem}
.alb--w .alb__t{color:#7c5a00}.alb--i .alb__t{color:var(--accent-d)}
.alb__p{font-size:var(--xs);line-height:1.6}
.alb--w .alb__p{color:#6b4e00}.alb--i .alb__p{color:var(--accent-h)}
/* TOC */
.aside{display:none}
.toc{position:sticky;top:68px}
.toc__t{font-family:var(--ff-h);font-size:var(--xxs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink5);margin-bottom:.5rem}
.toc__l{border-left:2px solid var(--ink7)}
.toc__a{display:block;padding:.25rem 0 .25rem .75rem;font-size:var(--xs);font-weight:500;color:var(--ink4);border-left:2px solid transparent;margin-left:-2px;transition:all var(--dur)}
.toc__a:hover,.toc__a.active{color:var(--accent-h);border-left-color:var(--accent)}
@media(min-width:900px){.ag{grid-template-columns:1fr 200px}.aside{display:block}}
/* Cluster */
.cl{margin-top:2rem;padding:1rem 1.1rem;background:var(--bg2);border-radius:var(--r2)}
.cl h3{font-family:var(--ff-h);font-size:var(--sm);font-weight:600;margin:0 0 .5rem;color:var(--ink)}
.cl ul{padding:0;margin:0}.cl li{margin-bottom:.35rem}
.cl a{font-size:var(--sm);color:var(--accent);font-weight:500;text-decoration:none}.cl a:hover{text-decoration:underline}
.pb{margin-top:2rem;padding:.85rem 1rem;background:var(--accent-l);border-radius:var(--r2);text-align:center}
.pb__l{font-size:var(--xs);color:var(--accent-h);margin-bottom:.15rem}
.pb a{font-family:var(--ff-h);font-size:var(--sm);font-weight:600;color:var(--accent-h);text-decoration:none}.pb a:hover{color:var(--ink)}

/* === Focus & Print === */
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@keyframes up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.hero__g>*{animation:up .5s var(--ease) both}.hero__vis{animation-delay:.08s}
@media print{.hdr,.bg,.fc,.ft__top{display:none}body{font-size:11pt;color:#000}}
