/* ============================================================
   MEDUSE — Folha de estilo principal (produção, estática)
   Tokens da identidade MEDUSE + componentes do site.
   ============================================================ */

/* ---------------- Fontes: Axiforma ---------------- */
@font-face { font-family:"Axiforma"; src:url("../fonts/Axiforma-Light.ttf") format("truetype");     font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:"Axiforma"; src:url("../fonts/Axiforma-Book.ttf") format("truetype");      font-weight:350; font-style:normal; font-display:swap; }
@font-face { font-family:"Axiforma"; src:url("../fonts/Axiforma-Regular.ttf") format("truetype");   font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Axiforma"; src:url("../fonts/Axiforma-Medium.ttf") format("truetype");    font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:"Axiforma"; src:url("../fonts/Axiforma-SemiBold.ttf") format("truetype");  font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:"Axiforma"; src:url("../fonts/Axiforma-Bold.ttf") format("truetype");      font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:"Axiforma"; src:url("../fonts/Axiforma-ExtraBold.ttf") format("truetype"); font-weight:800; font-style:normal; font-display:swap; }
@font-face { font-family:"Axiforma"; src:url("../fonts/Axiforma-Black.ttf") format("truetype");     font-weight:900; font-style:normal; font-display:swap; }

/* ---------------- Tokens ---------------- */
:root{
  --cyan-50:#e6f5fc; --cyan-100:#c2e7f8; --cyan-200:#8fd3f1; --cyan-300:#5cbeeb; --cyan-400:#2eabe6;
  --cyan-500:#009fe3; --cyan-600:#0083bd; --cyan-700:#006794; --cyan-800:#004c6c; --cyan-900:#003147;
  --navy-50:#edeef4; --navy-100:#d7d9e6; --navy-200:#aeb2cb; --navy-300:#858bb0; --navy-400:#5a6191;
  --navy-500:#434a7e; --navy-600:#303768; --navy-700:#272c54; --navy-800:#1c2040; --navy-900:#12152a;
  --white:#fff; --gray-50:#f7f8fb; --gray-100:#eef0f5; --gray-200:#e1e4ec; --gray-300:#ccd1dd;
  --gray-400:#a4abbd; --gray-500:#7b8398; --gray-600:#586073; --gray-700:#414757; --gray-800:#2b2f3b; --gray-900:#181b24;
  --green-50:#e6f4ee; --green-500:#149a6b; --green-600:#0f7e57;

  --gradient-brand:linear-gradient(110deg,var(--cyan-500) 0%,var(--navy-600) 100%);
  --gradient-symbol:linear-gradient(135deg,#4fb6e8 0%,var(--cyan-500) 38%,#0a5a9c 72%,var(--navy-700) 100%);

  --brand-primary:var(--cyan-500); --brand-primary-ink:var(--cyan-700); --brand-secondary:var(--navy-600);
  --text-strong:var(--navy-700); --text-body:var(--navy-600); --text-muted:var(--gray-600); --text-subtle:var(--gray-500);
  --surface-page:var(--gray-50); --surface-card:var(--white);
  --border-subtle:var(--gray-200); --border-default:var(--gray-300);

  --font-sans:"Axiforma","Segoe UI",system-ui,-apple-system,sans-serif;

  --radius-sm:8px; --radius-md:12px; --radius-lg:16px; --radius-pill:999px;
  --shadow-sm:0 2px 6px rgba(18,21,42,.07);
  --shadow-md:0 8px 20px -6px rgba(18,21,42,.12);
  --shadow-lg:0 18px 40px -12px rgba(18,21,42,.18);
  --shadow-brand:0 14px 30px -10px rgba(0,159,227,.45);
  --ease-standard:cubic-bezier(.4,0,.2,1);
  --dur-fast:120ms; --dur-base:200ms; --dur-slow:360ms;
  --header-h:76px;
}

/* ---------------- Reset / base ---------------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 12px); -webkit-text-size-adjust:100%; }
body{ overflow-x:hidden; }
body{
  margin:0; background:var(--surface-page); color:var(--text-body);
  font-family:var(--font-sans); font-weight:400; line-height:1.65;
  font-size:16px; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{ max-width:100%; height:auto; display:block; }
h1,h2,h3,h4{ margin:0; color:var(--text-strong); line-height:1.15; letter-spacing:-.02em; text-wrap:balance; }
p{ margin:0; text-wrap:pretty; }
a{ color:var(--cyan-600); text-decoration:none; transition:color var(--dur-fast) var(--ease-standard); }
a:hover{ color:var(--cyan-700); }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; }

/* Acessibilidade */
:focus-visible{ outline:3px solid currentColor; outline-offset:3px; border-radius:4px; }
.skip-link{ position:absolute; left:-999px; top:8px; z-index:2000; background:var(--navy-700); color:#fff;
  padding:10px 18px; border-radius:var(--radius-pill); font-weight:600; }
.skip-link:focus{ left:16px; color:#fff; }

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.01ms !important; animation-iteration-count:1 !important;
     scroll-behavior:auto !important; transition-duration:.01ms !important; }
}

/* ---------------- Utilidades ---------------- */
.container{ max-width:1180px; margin:0 auto; padding:0 32px; }
.eyebrow{ font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--brand-primary-ink); }
.eyebrow--light{ color:var(--cyan-300); }
.gradient-text{ background:var(--gradient-brand); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent; }
.section{ border-top:1px solid var(--border-subtle); }
.section--page{ background:var(--surface-page); }
.section--card{ background:var(--surface-card); }
.section--navy{ background:var(--navy-700); position:relative; overflow:hidden; }
.section__inner{ padding:88px 32px; }
.section-head{ max-width:680px; margin:0 0 48px; }
.section-head--center{ margin:0 auto 52px; text-align:center; }
.section-head h2{ font-size:clamp(30px,5vw,42px); font-weight:800; line-height:1.1; margin-top:14px; }
.section-head p{ font-size:17px; color:var(--text-muted); margin-top:16px; }
.section-head--light h2{ color:#fff; }
.section-head--light p{ color:rgba(255,255,255,.72); }
.watermark{ position:absolute; pointer-events:none; opacity:.06; transform:rotate(-8deg); }

/* ---------------- Botões / CTAs ---------------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:var(--font-sans); font-weight:600; font-size:15px; line-height:1;
  padding:14px 24px; min-height:48px; border-radius:var(--radius-pill);
  border:1.5px solid transparent; cursor:pointer; text-align:center;
  transition:background var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard),
             border-color var(--dur-base) var(--ease-standard),transform var(--dur-fast) var(--ease-standard),
             box-shadow var(--dur-base) var(--ease-standard);
}
.btn:active{ transform:scale(.97); }
.btn{ white-space:nowrap; }
.btn svg{ width:19px; height:19px; flex:none; }
.btn--sm{ padding:9px 17px; min-height:40px; font-size:14px; }
.btn--lg{ padding:16px 30px; min-height:54px; font-size:16px; }
.btn--full{ width:100%; }
.btn--primary{ background:var(--cyan-500); color:#fff; }
.btn--primary:hover{ background:var(--cyan-600); color:#fff; }
.btn--gradient{ background:var(--gradient-brand); color:#fff; box-shadow:var(--shadow-brand); }
.btn--gradient:hover{ color:#fff; box-shadow:0 18px 36px -10px rgba(0,159,227,.55); transform:translateY(-1px); }
.btn--secondary{ background:var(--navy-700); color:#fff; }
.btn--secondary:hover{ background:var(--navy-800); color:#fff; }
.btn--outline{ background:transparent; color:var(--navy-700); border-color:var(--border-default); }
.btn--outline:hover{ border-color:var(--cyan-500); color:var(--cyan-700); background:var(--cyan-50); }
.btn--outline-light{ background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
.btn--outline-light:hover{ color:#fff; border-color:#fff; background:rgba(255,255,255,.1); }
.link-cta{ display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:14px; color:var(--cyan-700); }
.link-cta svg{ width:16px; height:16px; transition:transform var(--dur-base) var(--ease-standard); }
.link-cta:hover{ color:var(--cyan-700); }
.link-cta:hover svg{ transform:translateX(3px); }

/* ---------------- Header / navegação ---------------- */
.site-header{ position:sticky; position:-webkit-sticky; top:0; z-index:100; background:rgba(255,255,255,.88);  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid var(--border-subtle); }
.site-header--flow{ position:static; }
.site-header__inner{ height:var(--header-h); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.site-header__logo img{ height:34px; width:auto; }
.nav{ display:flex; align-items:center; gap:4px; }
.nav__link{ padding:8px 13px; font-size:14.5px; font-weight:500; color:var(--text-muted); white-space:nowrap;
  border-radius:var(--radius-pill); line-height:24px; }
.nav__link:hover{ color:var(--navy-700); }
.nav__link[aria-current="page"]{ color:var(--navy-700); font-weight:600; }
.nav__cta{ margin-left:8px; }
.nav-toggle{ display:none; width:44px; height:44px; align-items:center; justify-content:center;
  background:transparent; border:1.5px solid var(--border-default); border-radius:var(--radius-md); color:var(--navy-700); cursor:pointer; }
.nav-toggle svg{ width:24px; height:24px; }
.nav-toggle .icon-close{ display:none; }
.nav-toggle[aria-expanded="true"] .icon-open{ display:none; }
.nav-toggle[aria-expanded="true"] .icon-close{ display:block; }

/* ---------------- Ícones sociais no header ---------------- */
.site-header__logo{ display:inline-flex; align-items:center; flex:none; }
.site-header__logo .logo-light{ display:none; }
.site-header--overlay:not(.is-scrolled) .logo-light{ display:block; }
.site-header--overlay:not(.is-scrolled) .logo-dark{ display:none; }
.site-header--overlay:not(.is-scrolled) .nav__link{ color:rgba(255,255,255,.9); }
.site-header--overlay:not(.is-scrolled) .nav__link:hover,
.site-header--overlay:not(.is-scrolled) .nav__link[aria-current="page"]{ color:#fff; }
.site-header--overlay:not(.is-scrolled) .header-social__btn{ background:rgba(255,255,255,.14); color:#fff; }
.site-header--overlay:not(.is-scrolled) .header-social__btn:hover{ background:rgba(255,255,255,.28); }
.site-header--overlay:not(.is-scrolled) .nav-toggle{ border-color:rgba(255,255,255,.5); color:#fff; }
.site-header--overlay{ position:fixed; left:0; right:0; background:transparent; border-bottom-color:transparent;
  backdrop-filter:none; -webkit-backdrop-filter:none; }
.site-header--overlay.is-scrolled{ background:rgba(255,255,255,.92); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border-subtle); }
.header-social{ display:flex; align-items:center; gap:8px; margin-left:4px; }
.header-social__btn{ width:38px; height:38px; border-radius:var(--radius-pill); display:inline-flex; align-items:center; justify-content:center;
  background:var(--navy-50); color:var(--navy-600); transition:background var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard); }
.header-social__btn:hover{ background:var(--cyan-500); color:#fff; }
.header-social__btn svg{ width:17px; height:17px; }

/* ---------------- Hero imersivo (imagem arredondada + símbolo sangrando) ---------------- */
.hero-about{ position:relative; background:var(--navy-700); overflow:visible; }
.hero.hero--full{ position:relative; background:transparent; overflow:visible; }
.hero__media{ position:relative; width:100%; min-height:min(94vh,900px);
  border-radius:0 0 clamp(28px,5vw,56px) clamp(28px,5vw,56px); overflow:hidden; }
.hero__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.hero__scrim{ position:absolute; inset:0; z-index:1;
  background:linear-gradient(101deg, rgba(0,84,150,.93) 0%, rgba(20,52,116,.82) 34%, rgba(24,44,96,.52) 64%, rgba(24,44,96,.22) 100%); }
.hero__symbol{ position:absolute; right:-8%; left:auto; bottom:-210px; width:min(46vw,720px); height:auto; z-index:2; opacity:.9; pointer-events:none; }
.hero__hl{ color:var(--cyan-300); }
.hero__content-wrap{ position:absolute; inset:0; display:flex; align-items:center; z-index:3; }
.hero__content{ position:relative; z-index:3; color:#fff; max-width:600px; }
.hero__kicker{ font-size:clamp(20px,3vw,32px); font-weight:300; line-height:1.12; color:rgba(255,255,255,.94); letter-spacing:-.01em; }
.hero--full h1{ font-size:clamp(34px,5.6vw,60px); font-weight:800; line-height:1.04; letter-spacing:-.02em; color:#fff; margin-top:4px; }
.hero--full .hero__lead{ font-size:16.5px; color:rgba(255,255,255,.85); max-width:500px; margin-top:22px;
  padding-left:18px; border-left:3px solid var(--cyan-400); }
.hero--full .hero__actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
@media (max-width:960px){
  .header-social{ display:none; }
  .hero__content{ max-width:100%; }
}
@media (max-width:640px){
  .hero__media{ min-height:520px; }
}

/* Sobre em navy (símbolo do hero sangra para cá) */
.about--navy{ position:relative; z-index:3; padding-top:28px; border-top:0; }
.about--navy .about__col h2{ color:#fff; }
.about--navy .about__col p{ color:rgba(255,255,255,.82); }
.about--navy .about__col{ position:relative; z-index:2; color:rgba(255,255,255,.82); }
.about--navy .about__col a{ color:#fff; }
.about--navy .about__col strong{ color:#fff; }

/* ---------------- Hero (home antiga, mantida para fallback) ---------------- */
.hero{ position:relative; overflow:hidden; background:var(--surface-page); }
.hero__inner{ padding:84px 32px 90px; display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center; }
.hero h1{ font-size:clamp(34px,6vw,54px); font-weight:800; line-height:1.07; letter-spacing:-.025em; margin-top:18px; }
.hero__lead{ font-size:18px; color:var(--text-muted); max-width:560px; margin-top:22px; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.hero__points{ display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:28px; }
.hero__point{ display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:500; color:var(--navy-600); }
.hero__point svg{ width:18px; height:18px; color:var(--cyan-600); flex:none; }
.hero__art{ position:relative; display:flex; justify-content:center; align-items:center; min-height:340px; }
.hero__art::before{ content:""; position:absolute; width:380px; height:380px; border-radius:50%;
  background:radial-gradient(circle,rgba(0,159,227,.18),transparent 68%); }
.hero__seal{ width:min(340px,80%); position:relative; filter:drop-shadow(0 24px 50px rgba(18,21,42,.18)); }

/* Hero com composição de imagem */
.hero__photo{ position:relative; margin:0; width:100%; max-width:600px; }
.hero__photo > img{ display:block; width:100%; border-radius:var(--radius-lg); aspect-ratio:16/10; object-fit:cover;
  box-shadow:var(--shadow-lg); }
.hero__photo__badge{ position:absolute; left:-18px; bottom:-18px; display:flex; align-items:center; gap:12px;
  background:#fff; border:1px solid var(--border-subtle); border-radius:var(--radius-md); box-shadow:var(--shadow-md);
  padding:13px 18px; max-width:250px; }
.hero__photo__badge img{ width:40px; height:40px; flex:none; }
.hero__photo__badge b{ display:block; font-size:15px; color:var(--navy-700); font-weight:800; line-height:1.15; }
.hero__photo__badge span{ font-size:12.5px; color:var(--text-muted); }
@media (max-width:860px){ .hero__photo{ max-width:100%; } }
@media (max-width:640px){ .hero__photo__badge{ left:8px; bottom:-14px; padding:11px 14px; } }

/* Hero (subpáginas navy) */
.subhero{ background:var(--navy-700); position:relative; overflow:hidden; }
.subhero__inner{ padding:78px 32px; position:relative; max-width:860px; }
.subhero h1{ font-size:clamp(32px,5.5vw,48px); font-weight:800; letter-spacing:-.025em; color:#fff; line-height:1.08; margin-top:14px; }
.subhero__lead{ font-size:18px; color:rgba(255,255,255,.78); margin-top:20px; max-width:680px; }
.subhero__chips{ display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.chip-link{ display:block; padding:12px 18px; border-radius:var(--radius-md); background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12); transition:background var(--dur-base) var(--ease-standard); }
.chip-link:hover{ background:rgba(255,255,255,.12); }
.chip-link__k{ display:block; font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--cyan-300); }
.chip-link__v{ display:block; font-size:13.5px; color:rgba(255,255,255,.8); margin-top:3px; }

/* ---------------- Cards ---------------- */
.card{ background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md); padding:28px; }
.card--soft{ box-shadow:var(--shadow-sm); }
.card--flat{ box-shadow:none; }
.card--interactive{ transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard); }
.card--interactive:hover{ transform:translateY(-3px); box-shadow:var(--shadow-lg); border-color:var(--cyan-200); }
.card--accent{ position:relative; overflow:hidden; }
.card--accent::before{ content:""; position:absolute; inset:0 0 auto 0; height:4px; background:var(--gradient-brand); }
.icon-tile{ width:52px; height:52px; border-radius:var(--radius-md); background:var(--cyan-50); color:var(--cyan-600);
  display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.icon-tile svg{ width:26px; height:26px; }
.icon-tile--grad{ background:var(--gradient-brand); color:#fff; }
.icon-tile--navy{ background:var(--navy-50); color:var(--navy-600); }

/* Badges */
.badge{ display:inline-flex; align-items:center; font-size:12.5px; font-weight:700; letter-spacing:.02em;
  padding:5px 12px; border-radius:var(--radius-pill); }
.badge--brand{ background:var(--cyan-50); color:var(--cyan-700); }
.badge--navy{ background:var(--navy-50); color:var(--navy-600); }
.badge--solid{ background:var(--navy-700); color:#fff; }

/* ---------------- Sobre / stats ---------------- */
.about__grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.about__col p{ font-size:17px; color:var(--text-muted); margin-top:16px; }
.stats{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.stat{ padding:28px; }
.stat--wide{ grid-column:1 / -1; }
.stat__n{ font-size:40px; font-weight:800; letter-spacing:-.03em; color:var(--cyan-600); line-height:1; }
.stat__l{ font-size:14px; color:var(--text-muted); margin-top:8px; line-height:1.4; }

/* ---------------- Serviços (grid home) ---------------- */
.grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.service-card h3{ font-size:18px; font-weight:700; margin:0 0 8px; line-height:1.25; }
.svc-line{ display:block; font-size:12.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--brand-primary-ink); margin-bottom:5px; }
.service-card p{ font-size:14px; color:var(--text-muted); }
.service-card__who{ font-size:12.5px; font-weight:600; color:var(--brand-primary-ink);
  text-transform:uppercase; letter-spacing:.06em; margin:14px 0 4px; }
.center-row{ display:flex; justify-content:center; margin-top:40px; }

/* ---------------- Processo ---------------- */
.process{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.process__step{ padding:0 26px 0 0; }
.process__n{ font-size:15px; font-weight:800; color:var(--cyan-500); letter-spacing:.1em; margin-bottom:14px; }
.process__bar{ width:100%; height:3px; background:var(--gray-200); margin-bottom:20px; position:relative; }
.process__bar span{ position:absolute; left:0; top:-4.5px; width:12px; height:12px; border-radius:50%; background:var(--gradient-brand); }
.process__step h3{ font-size:18px; font-weight:700; margin:0 0 8px; }
.process__step p{ font-size:14px; color:var(--text-muted); }

/* ---------------- Depoimentos (navy) ---------------- */
.testi-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.testi{ background:#fff; display:flex; flex-direction:column; gap:14px; }
.testi__mark{ color:var(--cyan-500); }
.testi__mark svg{ width:30px; height:30px; }
.testi p{ font-size:15.5px; color:var(--text-body); flex:1; }
.testi__foot{ display:flex; gap:12px; align-items:center; border-top:1px solid var(--border-subtle); padding-top:14px; }
.avatar{ width:44px; height:44px; border-radius:50%; background:var(--gradient-brand); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; flex:none; }
.testi__name{ font-weight:700; color:var(--navy-700); font-size:15px; }
.testi__role{ font-size:12.5px; color:var(--text-subtle); }

/* ---------------- FAQ (details/summary nativo) ---------------- */
.faq__grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; align-items:start; }
.faq__intro p{ font-size:16px; color:var(--text-muted); margin-top:16px; }
.faq-item{ border-bottom:1px solid var(--border-subtle); }
.faq-item > summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:22px 4px; font-size:17px; font-weight:600; color:var(--navy-700); }
.faq-item > summary::-webkit-details-marker{ display:none; }
.faq-item > summary::after{ content:""; flex:none; width:22px; height:22px; color:var(--cyan-600);
  background:currentColor; transition:transform var(--dur-base) var(--ease-standard);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center/contain no-repeat; }
.faq-item[open] > summary::after{ transform:rotate(180deg); }
.faq-item__a{ font-size:15.5px; color:var(--text-muted); padding:0 4px 22px; margin:0; }
.faq-item[open] .faq-item__a{ animation:faqIn var(--dur-slow) var(--ease-standard); }
@keyframes faqIn{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }

/* ---------------- Carrossel de depoimentos ---------------- */
.carousel{ position:relative; }
.carousel__viewport{ overflow:hidden; }
.carousel__track{ display:flex; gap:20px; transition:transform var(--dur-slow) var(--ease-standard); will-change:transform; }
.carousel__slide{ flex:0 0 calc((100% - 20px) / 2); min-width:0; }
.carousel__controls{ display:flex; align-items:center; justify-content:center; gap:16px; margin-top:32px; }
.carousel__dots{ display:flex; gap:8px; }
.carousel__dot{ width:9px; height:9px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.28);
  cursor:pointer; transition:background var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard); }
.carousel__dot[aria-current="true"]{ background:var(--cyan-400); transform:scale(1.25); }
.carousel__btn{ width:46px; height:46px; border-radius:var(--radius-pill); border:1.5px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.06); color:#fff; display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
  transition:background var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard); }
.carousel__btn:hover{ background:rgba(255,255,255,.16); border-color:#fff; }
.carousel__btn svg{ width:20px; height:20px; }

/* ---------------- Elementos WordPress (blog, prose, paginação) ---------------- */
.screen-reader-text{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.post-card__thumb{ display:block; overflow:hidden; }
.post-card__thumb img{ width:100%; height:200px; object-fit:cover; transition:transform var(--dur-slow) var(--ease-standard); }
.card--interactive:hover .post-card__thumb img{ transform:scale(1.04); }
.cat-filter{ display:flex; flex-wrap:wrap; gap:10px; }
.cat-filter__link{ font-size:14px; font-weight:600; color:var(--text-muted); padding:8px 16px; border-radius:var(--radius-pill);
  border:1.5px solid var(--border-default); transition:all var(--dur-base) var(--ease-standard); }
.cat-filter__link:hover{ color:var(--cyan-700); border-color:var(--cyan-400); background:var(--cyan-50); }
.cat-filter__link.is-active{ color:#fff; background:var(--navy-700); border-color:var(--navy-700); }
.crumbs{ display:flex; gap:10px; align-items:center; font-size:13px; }
.crumbs a{ color:var(--cyan-300); }
.crumbs a:hover{ color:#fff; }
.crumbs span{ color:rgba(255,255,255,.4); }
.subhero--article{ padding-bottom:20px; }
.single-post__hero{ margin:0 0 32px; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); }
.single-post__hero img{ width:100%; height:auto; display:block; }
.pagination{ margin-top:44px; display:flex; justify-content:center; }
.pagination .nav-links{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.pagination .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:44px;
  padding:0 14px; border-radius:var(--radius-md); border:1.5px solid var(--border-default); color:var(--navy-700);
  font-weight:600; font-size:14px; transition:all var(--dur-base) var(--ease-standard); }
.pagination .page-numbers:hover{ border-color:var(--cyan-400); color:var(--cyan-700); background:var(--cyan-50); }
.pagination .page-numbers.current{ background:var(--navy-700); border-color:var(--navy-700); color:#fff; }
.pagination .page-numbers.dots{ border-color:transparent; }
.search-form{ display:flex; gap:10px; max-width:520px; }
.search-form .form-control{ flex:1; }

/* Conteúdo rico dos artigos e páginas (WYSIWYG) */
.prose{ font-size:17px; line-height:1.75; color:var(--text-body); }
.prose > *{ margin:0 0 20px; }
.prose h2{ font-size:clamp(24px,3.4vw,30px); font-weight:800; margin:40px 0 14px; color:var(--navy-700); }
.prose h3{ font-size:21px; font-weight:700; margin:30px 0 10px; color:var(--navy-700); }
.prose h4{ font-size:18px; font-weight:700; margin:24px 0 8px; color:var(--navy-700); }
.prose a{ color:var(--cyan-700); text-decoration:underline; text-underline-offset:2px; }
.prose a:hover{ color:var(--cyan-600); }
.prose ul,.prose ol{ padding-left:24px; }
.prose ul{ list-style:disc; }
.prose ol{ list-style:decimal; }
.prose li{ margin:0 0 8px; }
.prose img{ border-radius:var(--radius-md); height:auto; }
.prose blockquote{ border-left:4px solid var(--cyan-400); padding:6px 0 6px 22px; margin:24px 0; color:var(--text-muted); font-style:italic; }
.prose figure{ margin:24px 0; }
.prose figcaption{ font-size:13.5px; color:var(--text-subtle); margin-top:8px; text-align:center; }
.prose table{ width:100%; border-collapse:collapse; font-size:15px; }
.prose th,.prose td{ border:1px solid var(--border-subtle); padding:10px 14px; text-align:left; }
.prose th{ background:var(--gray-50); font-weight:700; color:var(--navy-700); }
.prose code{ background:var(--gray-100); padding:2px 6px; border-radius:6px; font-size:.9em; }
.footer-widget{ color:rgba(255,255,255,.7); }
.footer-widget__title{ color:#fff; font-size:15px; margin-bottom:10px; }
@media (max-width:640px){
  .post-card__thumb img{ height:180px; }
  .search-form{ flex-direction:column; }
}

/* ---------------- Botão flutuante de WhatsApp ---------------- */
.wa-float{ position:fixed; right:22px; bottom:22px; z-index:200; width:60px; height:60px; border-radius:var(--radius-pill);
  background:#25d366; color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 28px -6px rgba(37,211,102,.55); transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard); }
.wa-float:hover{ color:#fff; transform:translateY(-2px) scale(1.05); box-shadow:0 16px 34px -6px rgba(37,211,102,.6); }
.wa-float svg{ width:32px; height:32px; }

/* ---------------- Faixa de associação e parceria ---------------- */
.partners{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px 40px; }
.partners__label{ width:100%; text-align:center; font-size:12px; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--text-subtle); margin-bottom:6px; }
.partners img{ height:52px; width:auto; opacity:.85; transition:opacity var(--dur-base) var(--ease-standard),filter var(--dur-base) var(--ease-standard);
  filter:grayscale(1); }
.partners img:hover{ opacity:1; filter:grayscale(0); }
.partners--footer img{ height:40px; filter:none; opacity:.9; }
.partner{ display:flex; flex-direction:column; align-items:center; gap:9px; }
.partner__label{ font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.55); }
.partners--footer .partner + .partner{ border-left:1px solid rgba(255,255,255,.14); padding-left:28px; }
.partners--footer{ gap:0 28px; }

/* Faixa de associação e parceria clara (labels acima) */
.partners--labeled .partner__label{ color:var(--text-subtle); }
.partners--labeled .partner + .partner{ border-left:1px solid var(--border-default); padding-left:40px; }
.partners--labeled{ gap:0 40px; }

/* ---------------- Formulário de contato ---------------- */
.form-field{ display:flex; flex-direction:column; gap:7px; }
.form-field label{ font-size:13.5px; font-weight:600; color:var(--navy-700); }
.form-field label .req{ color:var(--cyan-600); }
.form-control{ font-family:var(--font-sans); font-size:15px; color:var(--navy-700); background:var(--white);
  border:1.5px solid var(--border-default); border-radius:var(--radius-md); padding:12px 14px; width:100%;
  transition:border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard); }
.form-control::placeholder{ color:var(--gray-400); }
.form-control:focus{ outline:none; border-color:var(--cyan-500); box-shadow:0 0 0 3px rgba(0,159,227,.15); }
textarea.form-control{ resize:vertical; min-height:110px; }
.form-note{ font-size:12.5px; color:var(--text-subtle); margin:0; }
.form-status{ font-size:14.5px; font-weight:600; border-radius:var(--radius-md); padding:12px 14px; }
.form-status--ok{ background:var(--green-50); color:var(--green-600); }
.form-status--err{ background:#fdecec; color:#b3261e; }

/* ---------------- Contato ---------------- */
.contact__grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.contact__lead{ font-size:17px; color:var(--text-muted); margin-top:16px; max-width:440px; }
.contact__rows{ display:flex; flex-direction:column; gap:18px; margin-top:30px; }
.contact-row{ display:flex; align-items:center; gap:12px; }
.contact-row svg{ width:20px; height:20px; color:var(--cyan-600); flex:none; }
.contact-row__k{ font-size:12px; color:var(--text-subtle); text-transform:uppercase; letter-spacing:.08em; font-weight:600; }
.contact-row__v{ font-weight:600; color:var(--navy-700); }
.contact-row__v a{ color:var(--navy-700); }
.contact-row__v a:hover{ color:var(--cyan-700); }
.contact__panel h3{ font-size:20px; font-weight:800; }
.contact__panel ol{ counter-reset:step; display:flex; flex-direction:column; gap:16px; margin:20px 0 0; padding:0; }
.contact__panel li{ counter-increment:step; display:flex; gap:14px; align-items:flex-start; font-size:14.5px; color:var(--text-muted); }
.contact__panel li::before{ content:counter(step); flex:none; width:30px; height:30px; border-radius:50%;
  background:var(--cyan-50); color:var(--cyan-700); font-weight:800; font-size:14px; display:flex; align-items:center; justify-content:center; }

/* ---------------- Serviços (página) ---------------- */
.line-head{ max-width:760px; margin-bottom:40px; }
.line-head__top{ display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.line-head h2{ font-size:clamp(26px,4vw,34px); font-weight:800; line-height:1.12; margin-bottom:14px; }
.line-head p{ font-size:16.5px; color:var(--text-muted); }
.method-card{ display:flex; flex-direction:column; height:100%; }
.method-card__top{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.method-card__top .icon-tile{ width:46px; height:46px; margin:0; flex:none; }
.method-card__top .icon-tile svg{ width:24px; height:24px; }
.method-card h3{ font-size:21px; font-weight:800; letter-spacing:-.01em; }
.method-card__head{ font-size:15px; font-weight:600; color:var(--navy-600); margin:0 0 8px; line-height:1.35; }
.method-card__desc{ font-size:14px; color:var(--text-muted); margin:0 0 16px; flex:1; }
.tag-row{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.tag{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:var(--navy-600); font-weight:500;
  background:var(--gray-50); border:1px solid var(--border-subtle); border-radius:var(--radius-pill); padding:5px 11px; }
.tag svg{ width:13px; height:13px; color:var(--cyan-600); flex:none; }
.ov-table-wrap{ border:1px solid var(--border-default); border-radius:var(--radius-lg); overflow:hidden; }
.ov-table{ width:100%; border-collapse:collapse; }
.ov-table th{ text-align:left; padding:14px 24px; font-size:12px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--text-subtle); background:var(--gray-50); }
.ov-table td{ padding:16px 24px; border-top:1px solid var(--border-subtle); font-size:14.5px; color:var(--text-muted); }
.ov-table td.prod{ font-weight:800; color:var(--navy-700); font-size:15px; }
.choose-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.choose-item{ display:flex; align-items:center; gap:18px; padding:18px 22px; background:var(--surface-card);
  border:1px solid var(--border-subtle); border-radius:var(--radius-md); }
.choose-item__need{ font-size:14.5px; color:var(--text-body); line-height:1.45; flex:1; }
.choose-item__sol{ font-weight:800; color:var(--cyan-700); font-size:15px; white-space:nowrap; }
.cta-band{ background:var(--gradient-brand); }
.cta-band__inner{ padding:64px 32px; display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap; }
.cta-band h2{ font-size:clamp(26px,4vw,32px); font-weight:800; color:#fff; }
.cta-band p{ font-size:16.5px; color:rgba(255,255,255,.9); margin-top:12px; max-width:600px; }

/* ---------------- Cursos (página) ---------------- */
.course__grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.course__overview{ position:sticky; top:100px; }
.course__top{ display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.course__top .icon-tile{ margin:0; }
.course h2{ font-size:clamp(24px,3.5vw,30px); font-weight:800; line-height:1.15; margin-bottom:10px; }
.course__sub{ font-size:16px; font-weight:600; color:var(--navy-600); margin:0 0 12px; }
.course__desc{ font-size:15px; color:var(--text-muted); margin:0 0 22px; }
.course__meta{ display:flex; flex-wrap:wrap; gap:16px; padding:18px 0; border-top:1px solid var(--border-subtle);
  border-bottom:1px solid var(--border-subtle); margin-bottom:22px; }
.course__meta span{ display:inline-flex; align-items:center; gap:7px; font-size:14px; color:var(--navy-600); font-weight:600; }
.course__meta svg{ width:17px; height:17px; color:var(--cyan-600); }
.course__norms-label,.modules-label{ font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--text-subtle); margin-bottom:10px; }
.modules-label{ color:var(--brand-primary-ink); margin-bottom:18px; }
.norm-row{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.modules{ display:flex; flex-direction:column; gap:12px; }
.module{ display:flex; gap:16px; padding:20px 22px; }
.module__n{ width:36px; height:36px; border-radius:50%; background:var(--cyan-50); color:var(--cyan-700);
  font-weight:800; font-size:15px; display:flex; align-items:center; justify-content:center; flex:none; }
.module h3{ font-size:16px; font-weight:700; margin:0 0 4px; }
.module p{ font-size:13.5px; color:var(--text-muted); }
.diffs{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.diff{ text-align:center; padding:0 8px; }
.diff .icon-tile{ width:56px; height:56px; border-radius:var(--radius-pill); margin:0 auto 16px; }
.diff .icon-tile svg{ width:25px; height:25px; }
.diff h3{ font-size:17px; font-weight:700; margin:0 0 8px; }
.diff p{ font-size:13.5px; color:var(--text-muted); }
.formats{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.format h3{ font-size:17px; font-weight:700; margin:0 0 8px; }
.format p{ font-size:13.5px; color:var(--text-muted); }
.pull-quote{ max-width:860px; margin:0 auto; text-align:center; }
.pull-quote__mark{ color:var(--cyan-500); }
.pull-quote__mark svg{ width:34px; height:34px; }
.pull-quote p{ font-size:22px; line-height:1.5; font-weight:500; color:var(--navy-700); margin:18px 0; }
.pull-quote__name{ font-weight:700; color:var(--navy-700); }
.pull-quote__role{ font-size:13.5px; color:var(--text-subtle); }

/* ---------------- Cases (novo layout por relatório) ---------------- */
.case-note{ background:var(--cyan-50); border:1px solid var(--cyan-100); border-radius:var(--radius-lg);
  padding:20px 24px; margin-top:36px; max-width:820px; }
.case-note p{ font-size:15px; color:var(--navy-600); }
.case-note b{ color:var(--navy-700); }

.case-list{ display:flex; flex-direction:column; gap:28px; }
.case{ display:grid; grid-template-columns:320px 1fr; background:var(--surface-card);
  border:1px solid var(--border-subtle); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); overflow:hidden; }
.case__aside{ position:relative; overflow:hidden; background:var(--gradient-brand); color:#fff;
  padding:32px 30px; display:flex; flex-direction:column; }
.case__wm{ position:absolute; right:-30px; bottom:-30px; width:180px; opacity:.16; pointer-events:none; }
.case__num{ font-size:12.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.8); }
.case__icon{ width:52px; height:52px; border-radius:var(--radius-md); background:rgba(255,255,255,.18);
  display:flex; align-items:center; justify-content:center; margin:20px 0 22px; }
.case__icon svg{ width:26px; height:26px; color:#fff; }
.case__title{ font-size:23px; font-weight:800; letter-spacing:-.01em; color:#fff; line-height:1.15; }
.case__sub{ font-size:14.5px; color:rgba(255,255,255,.82); margin-top:8px; }
.case__status{ margin-top:auto; display:inline-flex; align-items:center; gap:9px; align-self:flex-start;
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.28); border-radius:var(--radius-pill);
  padding:9px 16px; font-size:13px; font-weight:700; color:#fff; }
.case__status .dot{ width:8px; height:8px; border-radius:50%; background:#fff; flex:none; }
.case__main{ padding:30px 34px 34px; }
.case__stats{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:26px; }
.case__stat{ flex:1 1 120px; min-width:110px; border:1px solid var(--border-subtle); border-radius:var(--radius-md);
  padding:14px 16px; background:var(--gray-50); }
.case__stat b{ display:block; font-size:22px; font-weight:800; color:var(--cyan-600); line-height:1.1; letter-spacing:-.02em; }
.case__stat span{ display:block; font-size:12.5px; color:var(--text-muted); margin-top:4px; line-height:1.35; }
.case__block{ margin-bottom:18px; }
.case__block:last-child{ margin-bottom:0; }
.case__k{ font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--cyan-700); margin-bottom:6px; }
.case__k--result{ color:var(--cyan-600); }
.case__v{ font-size:14.5px; color:var(--text-muted); line-height:1.6; }

/* Contexto do setor (navy) */
.risk-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.risk-card{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-lg);
  padding:26px 28px; display:flex; gap:16px; align-items:flex-start; }
.risk-card--wide{ grid-column:1 / -1; }
.risk-card__icon{ width:44px; height:44px; border-radius:var(--radius-md); background:rgba(0,159,227,.22); color:var(--cyan-300);
  display:flex; align-items:center; justify-content:center; flex:none; }
.risk-card__icon svg{ width:22px; height:22px; }
.risk-card h3{ font-size:16.5px; font-weight:700; color:#fff; margin:0 0 7px; }
.risk-card p{ font-size:13.5px; line-height:1.6; color:rgba(255,255,255,.72); margin:0; }

/* Fontes */
.src-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.src-card{ display:flex; gap:12px; align-items:flex-start; background:var(--surface-card);
  border:1px solid var(--border-subtle); border-radius:var(--radius-md); padding:16px 18px; }
.src-card svg{ width:18px; height:18px; color:var(--cyan-600); flex:none; margin-top:2px; }
.src-card__t{ font-size:14px; font-weight:700; color:var(--navy-700); line-height:1.35; }
.src-card:hover{ border-color:var(--cyan-200); }
.cta-center{ text-align:center; max-width:640px; margin:0 auto; }
.cta-center h2{ font-size:clamp(28px,4.5vw,38px); font-weight:800; }
.cta-center p{ font-size:17px; color:var(--text-muted); margin:16px auto 32px; max-width:520px; }

@media (max-width:860px){
  .case{ grid-template-columns:1fr; }
  .case__aside{ padding:26px 24px; }
  .case__status{ margin-top:22px; }
  .risk-grid,.src-grid{ grid-template-columns:1fr; }
}

/* ---------------- Blog (página) ---------------- */
/* ---------------- Blog (página) ---------------- */
.post-card{ display:flex; flex-direction:column; height:100%; padding:0; overflow:hidden; }
.post-card__body{ padding:24px 26px 26px; display:flex; flex-direction:column; flex:1; }
.post-card__meta{ display:flex; align-items:center; gap:10px; margin-bottom:12px; flex-wrap:wrap; }
.post-card__date{ font-size:12.5px; color:var(--text-subtle); }
.post-card h3{ font-size:18px; font-weight:700; line-height:1.28; margin:0 0 10px; }
.post-card h3 a{ color:var(--navy-700); }
.post-card h3 a:hover{ color:var(--cyan-700); }
.post-card p{ font-size:14px; color:var(--text-muted); margin:0 0 18px; flex:1; }
.post-card__bar{ height:4px; background:var(--gradient-brand); }

/* ---------------- Artigo (post individual) ---------------- */
.article{ max-width:760px; margin:0 auto; }
.article__meta{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:18px; }
.article__date{ font-size:13px; color:var(--text-subtle); }
.article h1{ font-size:clamp(28px,4.5vw,42px); font-weight:800; letter-spacing:-.02em; line-height:1.12; }
.article__lead{ font-size:18px; color:var(--text-muted); margin-top:18px; line-height:1.6; }
.article__cover{ width:100%; border-radius:var(--radius-lg); margin-top:28px; aspect-ratio:16/9; object-fit:cover; }
.prose{ margin-top:8px; }
.prose > * + *{ margin-top:18px; }
.prose h2{ font-size:24px; font-weight:800; color:var(--navy-700); margin-top:44px; letter-spacing:-.01em; }
.prose h3{ font-size:18.5px; font-weight:700; color:var(--navy-700); margin-top:32px; }
.prose p{ font-size:16.5px; color:var(--text-body); line-height:1.75; }
.prose strong{ color:var(--navy-700); font-weight:700; }
.prose ul{ list-style:disc; padding-left:24px; display:flex; flex-direction:column; gap:8px; }
.prose ul li{ font-size:16.5px; color:var(--text-body); line-height:1.6; }
.prose hr{ border:0; border-top:1px solid var(--border-subtle); margin:40px 0; }
.prose a{ color:var(--cyan-700); text-decoration:underline; }
.article__tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:40px; padding-top:28px; border-top:1px solid var(--border-subtle); }

.blog-hub{ max-width:760px; }
.blog-hub__lead{ font-size:18px; color:var(--text-muted); margin-top:20px; }
.social-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:8px; }
.social-card{ display:flex; flex-direction:column; align-items:flex-start; gap:12px; text-decoration:none; }
.social-card h3{ font-size:18px; font-weight:700; }
.social-card p{ font-size:14px; color:var(--text-muted); }

/* ---------------- Footer ---------------- */
.site-footer{ background:var(--navy-800); color:rgba(255,255,255,.7); }
.site-footer__top{ padding:48px 32px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px; }
.site-footer__logo img{ height:32px; width:auto; }
.site-footer__tag{ font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--cyan-300); font-weight:600; }
.social-row{ display:flex; gap:10px; }
.social-btn{ width:44px; height:44px; border-radius:var(--radius-pill); display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.08); color:#fff; transition:background var(--dur-base) var(--ease-standard); }
.social-btn:hover{ background:var(--cyan-500); color:#fff; }
.social-btn svg{ width:19px; height:19px; }
.site-footer__bar{ border-top:1px solid rgba(255,255,255,.08); }
.site-footer__bar-inner{ padding:18px 32px; font-size:12.5px; color:rgba(255,255,255,.5); text-align:center; letter-spacing:.04em; }

/* ============================================================
   Responsivo
   ============================================================ */
@media (max-width:1024px){
  .grid-4,.diffs,.formats{ grid-template-columns:repeat(2,1fr); }
  .process{ grid-template-columns:repeat(2,1fr); gap:36px 24px; }
  .grid-3{ grid-template-columns:repeat(2,1fr); }
  .hero__inner{ gap:40px; }
}
@media (max-width:960px){
  .nav{ position:fixed; inset:var(--header-h) 0 auto 0; flex-direction:column; align-items:stretch; gap:0;
    background:#fff; border-bottom:1px solid var(--border-subtle); box-shadow:var(--shadow-lg);
    padding:12px 20px 20px; transform:translateY(-12px); opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard),visibility var(--dur-base); }
  .nav[data-open="true"]{ transform:none; opacity:1; visibility:visible; pointer-events:auto; }
  .nav__link{ padding:14px 8px; font-size:16px; border-radius:var(--radius-md); border-bottom:1px solid var(--gray-100); }
  .nav__link:last-of-type{ border-bottom:0; }
  .nav__cta{ margin:12px 0 0; }
  .nav-toggle{ display:inline-flex; }
  .about__grid,.contact__grid,.faq__grid,.course__grid{ grid-template-columns:1fr; gap:40px; }
  .hero__inner{ grid-template-columns:1fr; padding:56px 24px 64px; }
  .hero__art{ order:-1; min-height:auto; }
  .hero__seal{ width:220px; }
  .course__overview{ position:static; }
  .section__inner{ padding:64px 24px; }
  .subhero__inner,.cta-band__inner,.site-footer__top,.hero__inner{ padding-left:24px; padding-right:24px; }
  .container{ padding:0 24px; }
}
@media (max-width:640px){
  .grid-4,.grid-3,.grid-2,.diffs,.formats,.testi-grid,.choose-grid,.stats,.process,.social-cards{ grid-template-columns:1fr; }
  .stat--wide{ grid-column:auto; }
  .cta-band__inner,.site-footer__top{ flex-direction:column; align-items:flex-start; text-align:left; }
  .ov-table thead{ display:none; }
  .ov-table,.ov-table tbody,.ov-table tr,.ov-table td{ display:block; width:100%; }
  .ov-table tr{ padding:14px 4px; border-top:1px solid var(--border-subtle); }
  .ov-table td{ padding:4px 20px; border:0; }
  .section-head h2{ font-size:28px; }
  .hero__actions .btn,.hero__actions{ width:100%; }
  .hero__actions .btn{ justify-content:center; }
  .carousel__slide{ flex:0 0 100%; }
  .partners{ gap:14px 28px; }
  .partners img{ height:42px; }
}
