/* Bravi — Landing Marketing Médico */
@font-face{font-family:'Swift Sage';src:url('../fonts/SwiftSage.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Swift Sage';src:url('../fonts/SwiftSageItalic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Arial Nova';src:url('../fonts/ArialNova-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Arial Nova';src:url('../fonts/ArialNova-LightItalic.woff2') format('woff2');font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:'Arial Nova';src:url('../fonts/ArialNova.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Arial Nova';src:url('../fonts/ArialNova-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Arial Nova Cond';src:url('../fonts/ArialNovaCond.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Arial Nova Cond';src:url('../fonts/ArialNovaCond-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
/* Brand palette (source: brand brief) */
--bravi-espresso:#4e2b1b;
--bravi-linen:#e7e1d9;
--bravi-ink:#17130f;
--bravi-sand:#b9997e;
--bravi-cocoa:#866951;
/* Derived tints/shades (oklch steps from the brand palette) */
--bravi-espresso-700:#3c2014;
--bravi-espresso-600:#5f3726;
--bravi-linen-50:#f6f3ef;
--bravi-linen-100:#efebe5;
--bravi-linen-300:#d9d0c5;
--bravi-sand-200:#d6c3b1;
--bravi-white:#fdfcfa;
/* Earth-toned semantic */
--bravi-moss:#5d6b48;
--bravi-rust:#9a3b22;
--bravi-ochre:#a87b2f;

/* Semantic aliases */
--surface-page:var(--bravi-linen);
--surface-raised:var(--bravi-linen-50);
--surface-card:var(--bravi-white);
--surface-sunken:var(--bravi-linen-100);
--surface-inverse:var(--bravi-espresso);
--surface-ink:var(--bravi-ink);
--text-primary:var(--bravi-ink);
--text-brand:var(--bravi-espresso);
--text-secondary:var(--bravi-cocoa);
--text-muted:#7a6553;
--text-on-brand:var(--bravi-linen);
--text-accent:var(--bravi-sand);
--border-subtle:var(--bravi-linen-300);
--border-default:var(--bravi-sand-200);
--border-strong:var(--bravi-cocoa);
--border-brand:var(--bravi-espresso);
--action-primary:var(--bravi-espresso);
--action-primary-hover:var(--bravi-espresso-600);
--action-primary-press:var(--bravi-espresso-700);
--action-secondary:var(--bravi-sand);
--focus-ring:var(--bravi-sand);
--status-success:var(--bravi-moss);
--status-error:var(--bravi-rust);
--status-warning:var(--bravi-ochre);
--overlay-scrim:rgba(23,19,15,.48);
--overlay-photo:linear-gradient(180deg,rgba(78,43,27,.55) 0%,rgba(78,43,27,.15) 45%,rgba(78,43,27,.35) 100%); /* @kind other */
--text-highlight:#d9cbbd;
}

:root{
--font-display:'Swift Sage','Cormorant Garamond',Georgia,serif;
--font-sans:'Arial Nova','Helvetica Neue',Arial,sans-serif;
--font-script:'Swift Sage',Georgia,serif;
--font-mono:'Courier Prime','Courier New',monospace;
--font-sans-cond:'Arial Nova Cond','Arial Narrow',sans-serif;
--fw-light:300;
--fw-regular:400;
--fw-bold:700;
--fs-display-xl:96px;--fs-display-l:72px;--fs-display-m:56px;
--fs-h1:44px;--fs-h2:34px;--fs-h3:26px;--fs-h4:20px;
--fs-body-l:18px;--fs-body:16px;--fs-body-s:14px;--fs-caption:12px;--fs-overline:11px;
--lh-tight:1.04;
--lh-display:0.9;
--lh-heading:1.15;
--lh-body:1.55;
--ls-display:-0.02em;
--ls-display-tight:-0.045em;
--ls-heading:-0.01em;
--ls-body:0;
--ls-overline:0.16em;
--text-display-family:var(--font-display);
--text-body-family:var(--font-sans);
}

:root{
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:144px;
--radius-0:0;--radius-xs:2px;--radius-s:4px;--radius-m:8px;--radius-l:16px;--radius-xl:24px;--radius-pill:999px;
--border-hair:1px;--border-thick:1.5px;
--shadow-0:none;
--shadow-1:0 1px 2px rgba(23,19,15,.06),0 2px 8px rgba(78,43,27,.06);
--shadow-2:0 4px 16px rgba(78,43,27,.10),0 1px 3px rgba(23,19,15,.06);
--shadow-3:0 16px 48px rgba(23,19,15,.18);
--ease-out:cubic-bezier(.22,.61,.36,1);
--ease-inout:cubic-bezier(.65,0,.35,1);
--dur-fast:140ms;
--dur-base:240ms;
--dur-slow:480ms;
--container-max:1240px;--gutter:24px;
}

a{color:var(--text-brand);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--bravi-cocoa)}
::selection{background:var(--bravi-sand-200);color:var(--bravi-ink)}

@keyframes braviSpin{to{transform:rotate(360deg)}}
@keyframes braviSpinR{to{transform:rotate(-360deg)}}
@keyframes braviRing{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.45);opacity:0}}
@keyframes braviFlow{0%{top:16%;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:46%;opacity:0}}
@keyframes braviFade{from{opacity:0;transform:translateY(8px)}
to{opacity:1;transform:none}}
@keyframes braviPulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.7}100%{transform:translate(-50%,-50%) scale(3.2);opacity:0}}
body{margin:0;background:#4e2b1b}
html{scroll-behavior:smooth}
a{color:#4e2b1b}
a:hover{color:#866951}
/* responsivo */
:root{--nav-d:flex;--hdr-pad:12px 22px;--hdr-fs:13px;--j-top:27px;--j-topbar:26px;--j-gap:8px;--j-inner:14px;--j-node:56px;--j-node-fs:13px;--j-desc-d:block;--j-cap-d:none;--sticky:sticky;--front-cols:64px 1fr 32px;--front-pad:0 48px 32px 80px;--wa-label:inline;--wa-pad:14px 22px 14px 16px}
@media (max-width:899px){:root{--nav-d:none}}
@media (max-width:719px){:root{--hdr-pad:10px 14px;--hdr-fs:11px;--j-top:19px;--j-topbar:18px;--j-gap:4px;--j-inner:10px;--j-node:38px;--j-node-fs:11px;--j-desc-d:none;--j-cap-d:block;--sticky:static;--front-cols:36px 1fr 24px;--front-pad:0 0 24px 52px;--wa-label:none;--wa-pad:8px}}
/* acordeões (funcionam sem JS) */
details.acc>summary{list-style:none}
details.acc>summary::-webkit-details-marker{display:none}
details.acc>summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}
details.acc .sign::before{content:"+"}
details.acc[open] .sign::before{content:"\2013"}
button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}
/* melhoria progressiva: estados animados só com JS */
.jdesc{transition:opacity 480ms,transform 480ms cubic-bezier(.22,.61,.36,1)}
.js .jdesc{opacity:0;transform:translateY(6px)}
.js .jdesc.on{opacity:1;transform:none}
.pc{display:flex;flex-direction:column;gap:28px}
.js .pc{display:none}
.js .pc.on{display:flex}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* hover */
.hv1:hover{color:var(--bravi-sand)!important}
.hv2:hover{background:var(--bravi-linen)!important;color:var(--bravi-espresso)!important}
.hv3:hover{background:var(--bravi-sand)!important;color:var(--bravi-espresso)!important}
.hv4:hover{background:var(--bravi-espresso-600)!important;color:var(--bravi-linen)!important}
.hv5:hover{background:var(--bravi-espresso)!important;color:var(--bravi-linen)!important}
.hv6:hover{transform:translateY(-2px)!important;background:var(--bravi-espresso-600)!important;color:var(--bravi-linen)!important}
