/* ============================================================
   Medicina Executiva — estilo compartilhado
   Usado pela Biblioteca (/biblioteca) e pelas páginas de artigo.
   A home (index.html) tem o seu próprio CSS inline.
   ============================================================ */
:root{
  --bg:#121418; --bg-2:#171a1f; --bg-3:#1d2127;
  --fg:#F2EDE4; --gold:#C69E58; --gold-soft:#d8b878;
  --muted:#A09E98; --line:rgba(198,158,88,.22);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
.kicker{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:500}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.16;letter-spacing:.01em}

.btn{display:inline-block;padding:14px 30px;border-radius:2px;font-family:var(--sans);font-weight:500;font-size:.92rem;letter-spacing:.04em;cursor:pointer;border:none;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.btn-gold{background:var(--gold);color:#16130b}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 30px -10px rgba(198,158,88,.55);background:var(--gold-soft)}
.btn-ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}

/* NAV */
header.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:rgba(18,20,24,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px}
.brand .mark{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--gold);display:grid;place-items:center;flex:0 0 auto}
.brand .mark span{font-family:var(--serif);font-weight:700;color:var(--gold);font-size:.92rem;letter-spacing:.01em}
.brand .name{font-family:var(--serif);font-size:1.12rem;letter-spacing:.04em;line-height:1.05}
.brand .name b{font-weight:600;display:block}
.brand .name small{font-size:.56rem;letter-spacing:.3em;color:var(--muted);text-transform:uppercase}
nav.links{display:flex;gap:30px;align-items:center}
nav.links a{font-size:.86rem;color:var(--muted);transition:color .2s;letter-spacing:.02em}
nav.links a:hover{color:var(--fg)}
nav.links a.active{color:var(--gold)}
.nav-toggle{display:none;background:none;border:none;color:var(--fg);font-size:1.5rem;cursor:pointer}
@media(max-width:820px){
  nav.links{position:fixed;inset:0 0 0 auto;width:74%;max-width:320px;background:var(--bg-2);flex-direction:column;justify-content:center;gap:26px;transform:translateX(100%);transition:transform .35s ease;border-left:1px solid var(--line)}
  nav.links.open{transform:translateX(0)}
  nav.links a{font-size:1.05rem}
  .nav-toggle{display:block;z-index:60}
}

/* PAGE HEAD (biblioteca) */
.page{padding:72px 0 40px}
.page-head{max-width:720px;margin-bottom:48px}
.page-head h1{font-size:clamp(2.2rem,4.4vw,3.2rem);margin:14px 0 14px}
.page-head p{color:var(--muted);font-size:1.05rem;max-width:600px}

/* LIBRARY GRID */
.lib-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;padding-bottom:80px}
@media(max-width:720px){.lib-grid{grid-template-columns:1fr}}
.art-card{background:var(--bg-2);border:1px solid var(--line);border-radius:4px;padding:32px 30px;display:flex;flex-direction:column;gap:12px;transition:transform .35s,border-color .35s;position:relative;overflow:hidden}
.art-card::before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .35s}
.art-card:hover{transform:translateY(-6px);border-color:rgba(198,158,88,.5)}
.art-card:hover::before{transform:scaleY(1)}
.art-card .tag{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.art-card h3{font-size:1.5rem;line-height:1.22}
.art-card .meta{font-size:.8rem;color:var(--muted);letter-spacing:.02em}
.art-card p{color:var(--muted);font-size:.96rem;flex:1}
.art-card .more{font-size:.84rem;color:var(--gold-soft);letter-spacing:.04em;display:inline-flex;align-items:center;gap:8px;margin-top:4px}
.art-card .more::after{content:"→";transition:transform .25s}
.art-card:hover .more::after{transform:translateX(5px)}
.art-card.soon{opacity:.62;pointer-events:none}
.art-card.soon .tag{color:var(--muted)}

/* ARTICLE READING */
.article{padding:64px 0 40px}
.article .col{max-width:720px;margin:0 auto}
.article .back{font-size:.82rem;color:var(--muted);letter-spacing:.04em;display:inline-flex;align-items:center;gap:8px;margin-bottom:30px}
.article .back::before{content:"←";transition:transform .25s}
.article .back:hover{color:var(--gold)}
.article .back:hover::before{transform:translateX(-4px)}
.article .tag{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.article h1{font-size:clamp(2.1rem,4.6vw,3.3rem);margin:16px 0 20px;line-height:1.14}
.article .byline{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding-bottom:26px;margin-bottom:34px;border-bottom:1px solid var(--line);font-size:.9rem;color:var(--muted)}
.article .byline b{color:var(--fg);font-weight:500}
.article .byline .dot{width:3px;height:3px;border-radius:50%;background:var(--muted);display:inline-block}

.article .deck{font-family:var(--serif);font-size:1.5rem;line-height:1.5;color:var(--gold-soft);margin:-4px 0 32px}
.article-body{font-size:1.14rem;line-height:1.85;color:#e7e1d6}
.article-body p{margin:0 0 1.4em}
.article-body h2{font-size:1.7rem;margin:1.8em 0 .6em;color:var(--fg)}
.article-body h3{font-size:1.35rem;margin:1.5em 0 .5em;color:var(--gold-soft)}
.article-body a{color:var(--gold-soft);border-bottom:1px solid var(--line)}
.article-body a:hover{border-color:var(--gold)}
.article-body strong{color:var(--fg);font-weight:600}
.article-body em{color:var(--gold-soft);font-style:italic}
.article-body ul,.article-body ol{margin:0 0 1.4em 1.2em}
.article-body li{margin-bottom:.5em}
.article-body blockquote{font-family:var(--serif);font-size:1.5rem;line-height:1.4;color:var(--fg);border-left:3px solid var(--gold);padding:6px 0 6px 24px;margin:1.6em 0}
.article-body hr{border:none;border-top:1px solid var(--line);margin:2.2em 0}

.article-end{max-width:720px;margin:54px auto 0;padding:36px 34px;background:radial-gradient(120% 120% at 0% 0%,rgba(198,158,88,.12),transparent 60%),var(--bg-3);border:1px solid var(--line);border-radius:6px;text-align:center}
.article-end h3{font-size:1.6rem;color:var(--fg);margin-bottom:8px}
.article-end p{color:var(--muted);font-size:.96rem;margin-bottom:22px}

/* FOOTER */
footer{background:var(--bg);border-top:1px solid var(--line);padding:56px 0 36px;margin-top:40px}
.foot-grid{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-start}
.foot-sign{font-family:var(--serif);font-size:1.3rem;color:var(--fg)}
.foot-sign small{display:block;font-family:var(--sans);font-size:.84rem;color:var(--muted);margin-top:6px;letter-spacing:.02em}
.foot-links{display:flex;flex-direction:column;gap:10px}
.foot-links a{font-size:.9rem;color:var(--muted);transition:color .2s}
.foot-links a:hover{color:var(--gold)}
.foot-bottom{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.78rem;color:var(--muted)}
