/*
 * Digital Reputation — design-token stylesheet.
 * Source of truth: .planning/design/COMPONENT-INVENTORY.md (BASE-04 → FUND-02).
 * Single file, single breakpoint (920px), no framework, no preprocessor.
 * Layer order: @font-face → :root tokens → reset/base → typography → components.
 */

/* ============================================================
   1. Self-hosted variable fonts (FUND-03)
   ============================================================ */
@font-face {
  font-family: 'Archivo';
  src: url('../fonts/archivo-latin-wght-normal.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Newsreader';
  src: url('../fonts/newsreader-latin-opsz-normal.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Newsreader';
  src: url('../fonts/newsreader-latin-wght-italic.woff2') format('woff2');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

/* ============================================================
   2. Design tokens (inventory §1)
   ============================================================ */
:root{
  /* Core colors */
  --bg:#F6F3EE;
  --ink:#201E1C;
  --ink-2:#5A5754;
  --ink-3:#9A938A;
  --accent:#F26A35;
  --line:#E6E1D8;
  --dark:#161514;
  --dark-2:#0E0D0C;
  /* Extended palette (≥10 occurrences in exports) */
  --surface:#FFF;
  --muted-dark:#8E877E;
  --body-dark:#A8A199;
  --negative:#C5221F;
  --line-2:#ECE7DE;
  --badge-bg:#F1ECE3;
  --muted-on-dark:#C9C3BA;
  --prose:#3A3733;
  --whatsapp:#25D366;
  /* Font stacks */
  --font-ui:'Archivo',-apple-system,BlinkMacSystemFont,sans-serif;
  --font-serif:'Newsreader',Georgia,serif;
  /* Type scale (verbatim clamp() from exports) */
  --fs-h1-home:clamp(38px,6vw,72px);
  --fs-h1-hero:clamp(36px,5.6vw,64px);
  --fs-h2:clamp(30px,4.4vw,48px);
  --fs-h3-banner:clamp(26px,3.4vw,38px);
  --fs-h2-prose:clamp(26px,3vw,34px);
  --fs-h2-legal:clamp(23px,2.6vw,29px);
  --fs-stat:clamp(40px,4.6vw,56px);
  --fs-lede:clamp(17px,2vw,20px);
  /* Spacing */
  --section-pad:96px 28px;
  --hero-pad:64px 28px 88px;
  --card-pad:30px;
  --nav-pad:14px 28px;
  --gap-cards:22px;
  --gap-tight:18px;
  --gap-chips:14px;
  --gap-split:56px;
  /* Radii */
  --r-pill:100px;
  --r-card:12px;
  --r-card-lg:14px;
  --r-input:8px;
  --r-btn:7px;
  --r-nav-cta:6px;
  --r-banner:16px;
  /* Shadows */
  --shadow-drop:0 18px 44px rgba(32,30,28,0.14);
  --shadow-mob:0 24px 48px rgba(32,30,28,0.18);
  --shadow-float:0 10px 26px rgba(0,0,0,0.3);
  --shadow-mockup:0 24px 56px rgba(0,0,0,0.45);
}

/* ============================================================
   3. Reset + base (shared helmet block, tokenized)
   ============================================================ */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-ui);color:var(--ink);background:var(--bg);font-size:15px;line-height:1.6;overflow-x:clip}
::selection{background:var(--accent);color:#fff}
input,textarea,select{font-family:inherit}
img{max-width:100%;height:auto}
.dr-logo-rail::-webkit-scrollbar{display:none}
.dr-nav-menu{display:none}
.dr-nav-drop:hover .dr-nav-menu,
.dr-nav-drop:focus-within .dr-nav-menu{display:block}
.dr-mob{display:none}
.dr-mob summary{list-style:none}
.dr-mob summary::-webkit-details-marker{display:none}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;top:12px;left:12px;z-index:100;width:auto;height:auto;padding:12px 18px;background:var(--surface);color:var(--ink);clip-path:none;white-space:normal;border-radius:8px;box-shadow:var(--shadow-drop)}

/* ============================================================
   4. Typography defaults
   ============================================================ */
h1,h2{font-family:var(--font-serif);font-weight:500;line-height:1.1;letter-spacing:-0.01em}
h1{font-size:var(--fs-h1-hero)}
h2{font-size:var(--fs-h2)}
h3{font-size:18px;font-weight:700;line-height:1.3}
h4{font-size:15px;font-weight:700}
.serif{font-family:var(--font-serif);font-weight:500;letter-spacing:-0.01em}
.accent{color:var(--accent)}
.accent-italic{color:var(--accent);font-style:italic}

/* Eyebrows */
.eyebrow{font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:16px}
.eyebrow--strong{font-size:12px;letter-spacing:1.8px;font-weight:800;margin-bottom:12px}
.eyebrow--red{color:var(--negative)}
.eyebrow--muted{font-size:11.5px;letter-spacing:1.6px;color:var(--ink-3);margin-bottom:4px}

/* Section head (h2 + lede wrapper) */
.section-head{max-width:780px;margin-bottom:50px}
.section-head h2{line-height:1.1}
.section-lede{font-size:15.5px;line-height:1.65;color:var(--ink-2);margin-top:16px}

/* ============================================================
   5. Layout: containers & sections
   ============================================================ */
.container{max-width:1140px;margin:0 auto}
.container--wide{max-width:1240px}
.container--hero{max-width:1060px}
.container--narrow{max-width:900px}
.section{background:var(--bg);padding:var(--section-pad)}
.section--white{background:var(--surface)}
.section--dark{background:var(--dark);color:var(--bg)}
.section--contact{background:var(--ink);color:var(--bg)}
.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--gap-cards)}
.grid-tight{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--gap-chips)}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--gap-split);align-items:start}

/* ============================================================
   6. Navigation (.dr-* names kept from exports)
   ============================================================ */
.dr-nav,.lp-nav{position:sticky;top:0;z-index:60;backdrop-filter:saturate(160%) blur(12px);background:rgba(246,243,238,0.82);border-bottom:1px solid var(--line)}
.dr-nav-bar{max-width:1240px;margin:0 auto;padding:var(--nav-pad);display:flex;align-items:center;justify-content:space-between;gap:24px}
.dr-nav-logo{display:flex;align-items:center}
.dr-nav-logo img{height:34px;width:auto;display:block}
.dr-nav-desktop{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.dr-nav-link{color:var(--ink-2);text-decoration:none;font-size:15px;font-weight:500}
.dr-nav-link:hover{color:var(--ink)}
.dr-nav-link--active{color:var(--ink);border-bottom:2px solid var(--accent)}
.dr-nav-drop{position:relative}
.dr-nav-drop>button{background:none;border:none;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:6px;padding:0;font-size:15px;font-weight:500;color:var(--ink-2)}
.dr-nav-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:14px;z-index:70}
.dr-nav-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card-lg);box-shadow:var(--shadow-drop);padding:26px;display:grid;grid-template-columns:repeat(2,max-content);gap:0 40px}
.dr-nav-col{display:flex;flex-direction:column;gap:11px}
.dr-nav-col-label{font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin-bottom:4px}
.dr-nav-menu-link{color:var(--ink-2);text-decoration:none;font-size:14.5px;font-weight:500;white-space:nowrap}
.dr-nav-menu-link:hover{color:var(--accent)}
.dr-nav-cta{background:var(--accent);color:#fff;text-decoration:none;font-weight:700;font-size:14px;padding:11px 20px;border-radius:var(--r-nav-cta);white-space:nowrap;letter-spacing:0.2px}
.dr-nav-cta:hover{filter:brightness(1.08)}

/* Mobile menu (<details>) */
.dr-mob summary{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--ink);cursor:pointer;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-input);background:var(--surface);user-select:none}
.dr-mob-panel{position:absolute;left:0;right:0;top:100%;z-index:70;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow-mob);padding:8px 24px 24px;max-height:calc(100vh - 70px);overflow:auto}
.dr-mob-top{display:block;padding:13px 0;color:var(--ink);text-decoration:none;font-size:16px;font-weight:600;border-bottom:1px solid var(--line-2)}
.dr-mob-label{font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin:18px 0 4px}
.dr-mob-link{display:block;padding:9px 0;color:var(--ink-2);text-decoration:none;font-size:15.5px;font-weight:500}
.dr-mob-divider{border-top:1px solid var(--line-2);margin-top:16px}
.dr-mob-cta{display:block;text-align:center;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;font-size:16px;padding:16px;border-radius:var(--r-input);margin-top:20px}

/* Sticky aside (process media, article TOC) */
.dr-sticky{position:sticky;top:90px}

/* ============================================================
   7. Buttons & badges
   ============================================================ */
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;font-size:16px;padding:17px 30px;border:none;border-radius:var(--r-btn);letter-spacing:0.2px;cursor:pointer}
.btn:hover{filter:brightness(1.08)}
.btn--ghost{background:transparent;color:var(--bg);font-weight:600;padding:17px 28px;border:1px solid rgba(255,255,255,0.22)}
.btn--ghost:hover{background:rgba(255,255,255,0.06);filter:none}
.btn--submit{display:block;width:100%;padding:16px;border-radius:var(--r-input)}
.badge{display:inline-block;align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:0.4px;color:var(--ink-2);background:var(--badge-bg);padding:6px 12px;border-radius:var(--r-pill)}
.badge--accent{font-size:11.5px;letter-spacing:0.6px;text-transform:uppercase;color:var(--accent);background:rgba(242,106,53,0.1);padding:5px 11px}
.badge--dark{font-size:13.5px;font-weight:600;color:var(--bg);background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.18);padding:10px 16px;text-decoration:none}
.badge--dark:hover{border-color:var(--accent)}
.badge--dark-lg{font-size:15px;padding:12px 20px}
.hero-badge{display:inline-flex;align-items:center;gap:9px;padding:7px 15px;border:1px solid rgba(255,255,255,0.16);border-radius:var(--r-pill);font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:var(--muted-on-dark);margin-bottom:30px}
.hero-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block}

/* ============================================================
   8. Heroes & section chrome
   ============================================================ */
.hero{position:relative;background:var(--dark);color:var(--bg);overflow:hidden}
.hero-inner{position:relative;max-width:1060px;margin:0 auto;padding:var(--hero-pad)}
.hero-inner--home{padding:96px 28px 100px;text-align:center}
.hero-glow{position:absolute;inset:0;background:radial-gradient(900px 520px at 50% -8%,rgba(242,106,53,0.16),transparent 60%);pointer-events:none}
.hero h1{font-size:var(--fs-h1-hero);line-height:1.06;margin-bottom:24px}
.hero--home h1{font-size:var(--fs-h1-home);line-height:1.05}
.hero-lede{font-size:var(--fs-lede);line-height:1.55;color:var(--muted-on-dark);max-width:700px;margin:0 auto 36px}
.hero-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted-dark);margin-bottom:38px;flex-wrap:wrap}
.hero-meta a{color:var(--muted-dark);text-decoration:none}
.hero-meta a:hover{color:var(--accent)}
.hero-meta .current{color:var(--muted-on-dark)}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero-stats{margin-top:42px;display:flex;gap:30px;justify-content:center;flex-wrap:wrap;font-size:13.5px;color:var(--muted-dark)}
.hero-stats strong{color:var(--accent);font-weight:700}
.hero-stats .divider{width:1px;background:rgba(255,255,255,0.12)}

/* Press rail (imprensa strip) */
.press-rail{background:var(--bg);border-bottom:1px solid var(--line)}
.press-rail-inner{max-width:1200px;margin:0 auto;padding:30px 28px;display:flex;align-items:center;gap:34px;flex-wrap:wrap;justify-content:center}
.press-rail-label{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.press-rail-names{display:flex;gap:30px;flex-wrap:wrap;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:21px;color:#7A746B;font-weight:600}

/* Dark CTA banner */
.cta-banner{background:var(--ink);color:var(--bg);border-radius:var(--r-banner);padding:clamp(34px,4.5vw,54px);position:relative;overflow:hidden}
.cta-banner-glow{position:absolute;inset:0;background:radial-gradient(640px 320px at 88% -10%,rgba(242,106,53,0.2),transparent 60%);pointer-events:none}
.cta-banner-body{position:relative}
.cta-banner h3{font-family:var(--font-serif);font-weight:500;font-size:var(--fs-h3-banner);line-height:1.12;letter-spacing:-0.01em;margin-bottom:28px}
.chip-row{display:flex;flex-wrap:wrap;gap:12px}

/* ============================================================
   9. Cards & data display
   ============================================================ */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--card-pad)}
.card h3{font-size:18px;font-weight:700;margin-bottom:9px}
.card p{color:var(--ink-2);font-size:15px;line-height:1.6}
.problem-card{border-top:3px solid var(--accent);padding-top:22px}
.problem-card--red{border-top-color:var(--negative)}
.problem-card h3{font-size:20px;font-weight:700;margin-bottom:10px;line-height:1.3}
.problem-card p{color:var(--ink-2);font-size:15.5px;line-height:1.65}
.feature-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:var(--r-card);padding:28px}
.feature-card h3{font-size:17.5px;font-weight:700;margin-bottom:9px;display:flex;align-items:center;gap:9px}
.feature-card p{color:var(--body-dark);font-size:14.5px;line-height:1.55}
.check-item h3{display:flex;align-items:center;gap:9px;font-weight:700}
.check-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:1px solid rgba(255,255,255,0.12);margin-top:54px}
.stat{padding:30px 16px 6px;text-align:center}
.stat-number{font-family:var(--font-serif);font-size:var(--fs-stat);line-height:1}
.stat-caption{margin-top:10px;color:var(--body-dark);font-size:14px}
.kpi{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}
.kpi-number{font-family:var(--font-serif);font-size:36px;line-height:1;color:var(--ink)}
.kpi p{color:var(--ink-2);font-size:14px;margin-top:8px}
.case-card{display:flex;flex-direction:column}
.case-card .badge{margin-bottom:20px}
.case-antes{color:var(--negative);font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;display:block;margin-bottom:5px}
.case-depois{color:var(--accent);font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;display:block;margin-bottom:5px}
.service-card{color:var(--ink);text-decoration:none;display:flex;flex-direction:column;transition:border-color .2s}
.service-card:hover{border-color:var(--accent)}
.service-card-more{margin-top:auto;color:var(--accent);font-weight:700;font-size:14.5px;display:flex;align-items:center;gap:7px}
.post-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card-lg);overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:border-color .2s}
.post-card:hover{border-color:var(--accent)}
.post-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.post-card-body{padding:24px 26px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.post-card h3{font-size:19px;font-weight:700;line-height:1.35}
.post-card-meta{font-size:12.5px;color:var(--ink-3);margin-top:auto;padding-top:8px}
.icon-circle{width:56px;height:56px;border-radius:50%;background:rgba(242,106,53,0.15);display:flex;align-items:center;justify-content:center;flex:none}
.icon-circle--sm{width:42px;height:42px}
.numbered-step{display:flex;gap:18px;align-items:flex-start;border-top:1px solid var(--line-2);padding-top:22px}
.numbered-step-num{font-family:var(--font-serif);font-size:30px;color:var(--accent);line-height:1;flex:none;width:44px}
.numbered-step h3{font-size:18px;font-weight:700;margin-bottom:6px}
.numbered-step p{color:var(--ink-2);font-size:15.5px;line-height:1.65}
.step-num{font-family:var(--font-serif);font-size:40px;color:var(--accent);line-height:1;margin-bottom:16px}
.tick-item{display:flex;gap:12px;align-items:flex-start}
.tick-item svg{margin-top:3px;flex:none}
.media{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r-card-lg);border:1px solid var(--line);display:block}
.media--4x3{aspect-ratio:4/3}
.media--dark{border-color:rgba(255,255,255,0.14)}

/* ============================================================
   10. FAQ
   ============================================================ */
.faq{max-width:900px;margin:0 auto;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 4px;text-align:left;font-family:inherit}
.faq-q span{font-size:18px;font-weight:700;color:var(--ink)}
.faq-mark{font-family:var(--font-serif);font-size:28px;color:var(--accent);line-height:1;flex:none}
.faq-a{padding:0 4px 26px;color:var(--ink-2);font-size:15.5px;line-height:1.7;max-width:800px}

/* ============================================================
   11. Forms (dark contact panel)
   ============================================================ */
.form-panel{background:var(--dark);border:1px solid rgba(255,255,255,0.1);border-radius:var(--r-card-lg);padding:34px}
.form-panel form{display:flex;flex-direction:column;gap:16px}
.form-field label{display:block;font-size:13px;color:var(--body-dark);margin-bottom:7px;font-weight:600}
.form-input{width:100%;background:var(--dark-2);border:1px solid rgba(255,255,255,0.14);border-radius:var(--r-input);padding:13px 14px;color:var(--bg);font-size:15px;outline:none}
.form-input:focus{border-color:var(--accent)}
.form-textarea{width:100%;background:var(--dark-2);border:1px solid rgba(255,255,255,0.14);border-radius:var(--r-input);padding:13px 14px;color:var(--bg);font-size:15px;outline:none;resize:vertical}
.form-textarea:focus{border-color:var(--accent)}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-note{font-size:12px;color:#6E675F;text-align:center;line-height:1.5}
.contact-benefit{display:flex;align-items:center;gap:12px;color:var(--muted-on-dark);font-size:15px}

/* ============================================================
   12. Article prose
   ============================================================ */
/* Block flow (NOT flex): floats need a block formatting context — 2 real
   posts use alignright images. Census-complete: every rule keeps the .prose
   ancestor (0,2,0) so it beats per-page core block CSS loaded after main.css. */
.prose{min-width:0;font-size:17px;line-height:1.8;color:var(--prose)}
.prose::after{content:"";display:table;clear:both}
.prose > * + *{margin-top:22px}
.prose h2{font-family:var(--font-serif);font-weight:500;font-size:var(--fs-h2-prose);line-height:1.15;letter-spacing:-0.01em;color:var(--ink);margin-top:34px}
.prose h3{font-weight:700;font-size:20px;line-height:1.4;color:var(--ink);margin-top:28px}
.prose a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.prose strong{color:var(--ink)}
.prose ul,.prose ol{padding-left:22px}
.prose li + li{margin-top:10px}
.prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.55}
.prose th,.prose td{border:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top}
.prose th{background:var(--bg);font-weight:700;color:var(--ink)}
.prose .wp-block-table{overflow-x:auto;margin-left:0;margin-right:0}
.prose hr,.prose .wp-block-separator{border:0;border-top:1px solid var(--line);height:0}
.prose figure{margin-left:0;margin-right:0}
.prose img{max-width:100%;height:auto;border-radius:14px;border:1px solid var(--line)}
.prose figcaption{font-size:13px;color:var(--ink-3);margin-top:8px}
.prose .alignright{float:right;margin:6px 0 16px 24px;max-width:50%}
.prose .alignleft{float:left;margin:6px 24px 16px 0;max-width:50%}
.prose blockquote{border-left:3px solid var(--accent);background:var(--bg);border-radius:0 12px 12px 0;padding:18px 24px;color:var(--ink-2)}
.prose blockquote p + p{margin-top:12px}
.prose--legal h2{font-size:var(--fs-h2-legal)}
.callout{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;padding:22px 26px;font-size:15.5px;line-height:1.7;color:var(--ink-2)}
.callout strong{color:var(--ink)}

/* ============================================================
   13. Footer
   ============================================================ */
.footer{background:var(--dark-2);color:var(--muted-dark);padding:56px 28px 36px}
.footer-inner{max-width:1240px;margin:0 auto}
.footer-grid{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,0.08)}
.footer-brand{max-width:300px}
.footer-brand img{height:36px;width:auto;display:block;margin-bottom:16px}
.footer-brand p{font-size:13.5px;line-height:1.6}
.footer-col-title{color:var(--bg);font-size:13px;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:16px;font-family:var(--font-ui);font-weight:700}
.footer-col{display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.6}
.footer-col a{color:var(--muted-dark);text-decoration:none}
.footer-col a:hover{color:var(--accent)}
.footer-legal{padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px}

/* ============================================================
   14. Misc: WhatsApp float, logo rail, carousel
   ============================================================ */
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:90;width:58px;height:58px;border-radius:50%;background:var(--whatsapp);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-float);text-decoration:none}
.whatsapp-float:hover{transform:scale(1.06)}
.dr-logo-rail{display:flex;gap:16px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.carousel-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center}
.carousel-btn:hover{border-color:var(--accent)}

/* ============================================================
   15. Phase 3 — blog cluster (listing, article, author, 404,
   quem-somos). Tokens only — no new hex literals.
   ============================================================ */
/* Category chips (home + category) */
.chip{display:inline-block;background:var(--surface);color:var(--ink-2);border:1px solid var(--line);border-radius:var(--r-pill);font-size:13.5px;font-weight:600;padding:9px 16px;letter-spacing:0.2px;text-decoration:none}
.chip:hover{border-color:var(--accent)}
.chip.is-active{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* Listing layout (home + category): heading + chips in one row, per Blog export */
.blog-listing .section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;max-width:none;margin-bottom:30px}
.blog-listing .post-card-featured{margin-bottom:56px}

/* Listing grid + cards */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post-card-thumb--empty{display:block;aspect-ratio:16/9;background:var(--badge-bg)}
.post-card-body p{color:var(--ink-2);font-size:14.5px;line-height:1.6}
.post-card-featured{display:grid;grid-template-columns:1fr 1fr;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card-lg);overflow:hidden;text-decoration:none;color:var(--ink);transition:border-color .2s}
.post-card-featured:hover{border-color:var(--accent)}
.post-card-featured > img{width:100%;height:100%;min-height:280px;object-fit:cover;display:block}
.post-card-featured > .post-card-thumb--empty{height:100%;min-height:280px;aspect-ratio:auto}
.post-card-featured-body{padding:34px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.post-card-featured-body h2{font-size:clamp(26px,3.2vw,38px);line-height:1.12}
.post-card-featured-body p{color:var(--ink-2);font-size:16px;line-height:1.65}
.post-card-featured-tags{display:flex;align-items:center;gap:10px}
.post-card-featured-author{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:8px}
.post-card-featured-name{font-size:14px;font-weight:700}

/* Native pagination (the_posts_pagination) */
.navigation.pagination{display:flex;justify-content:center;margin-top:56px}
.navigation.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.page-numbers{display:inline-block;background:var(--surface);color:var(--ink-2);border:1px solid var(--line);border-radius:var(--r-pill);font-size:13.5px;font-weight:600;padding:9px 16px;letter-spacing:0.2px;text-decoration:none}
.page-numbers:hover{border-color:var(--accent)}
.page-numbers.current{background:var(--accent);color:var(--surface);border-color:var(--accent)}
.page-numbers.dots{border:none;background:transparent}

/* Article hero (light #F6F3EE variant of .hero) */
.hero--light{background:var(--bg);color:var(--ink)}
.hero--light .hero-lede{color:var(--ink-2);margin-left:0}
.hero--light .hero-meta a{color:var(--ink-3)}
.hero--light .hero-meta .current{color:var(--ink-2)}
.hero-role{font-size:15px;color:var(--muted-on-dark);font-weight:600;margin-bottom:16px}
.article-hero-author{display:flex;align-items:center;gap:12px}
.author-avatar{border-radius:50%;object-fit:cover;display:block}
.article-feature-img{max-width:1060px;margin:0 auto;padding:0 28px}
.article-feature-img img{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:16px}

/* Article body: content + sticky aside */
.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;align-items:start}
.article-grid .cta-banner{margin-top:18px}
.article-grid .author-box{margin-top:26px}
.article-grid aside > * + *{margin-top:18px}
.toc-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px}
.toc-title{display:block;font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin-bottom:14px}
.toc-card nav a{display:block;font-size:14.5px;color:var(--ink-2);text-decoration:none;line-height:1.4}
.toc-card nav a + a{margin-top:8px}
.toc-card nav a:hover{color:var(--accent)}
.cta-card{background:var(--ink);color:var(--bg);border-radius:14px;padding:24px}
.cta-card h2{font-family:var(--font-ui);font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:10px}
.cta-card p{font-size:15px;line-height:1.6;color:var(--muted-on-dark)}
.cta-card .btn{display:block;text-align:center;font-size:14.5px;padding:13px;border-radius:var(--r-input);margin-top:18px}
.cta-banner h2{font-size:var(--fs-h3-banner);line-height:1.12;letter-spacing:-0.01em;margin-bottom:14px}
.cta-banner p{color:var(--body-dark);font-size:15px}
.cta-banner .btn{margin-top:24px}
.section-head a{color:var(--accent);font-weight:700;font-size:15px;text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:2px}

/* Author box ("Escrito por" panel) */
.author-box{display:grid;grid-template-columns:72px 1fr;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card-lg);padding:26px}
.author-box-body{min-width:0}
.author-box-label{display:block;font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin-bottom:6px}
.author-box-name{font-size:17px;font-weight:700;color:var(--ink);text-decoration:none}
.author-box-name:hover{color:var(--accent)}
.author-box-cargo{display:block;font-size:13px;color:var(--ink-3);margin-top:2px}
.author-box-bio{font-size:14.5px;color:var(--ink-2);line-height:1.65;margin-top:8px}
.author-box-more{display:inline-block;margin-top:12px;color:var(--accent);font-weight:700;font-size:14.5px;text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:2px}

/* Author archive hero (dark) */
.author-hero-photo img{width:168px;height:168px;border-radius:50%;object-fit:cover}
.author-chips .chip{background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.18);color:var(--bg);pointer-events:none}

/* Centered hero variant (404, Quem Somos) */
.hero-inner--center{text-align:center}
.hero-inner--center .chip-row{margin-top:44px;justify-content:center}
.hero-inner--narrow{max-width:840px}

/* 404 */
.error-digits{display:flex;gap:10px;justify-content:center;font-family:var(--font-serif);font-weight:500;font-size:clamp(80px,14vw,150px);line-height:1;letter-spacing:-0.02em}
.error-digits span:nth-child(2){color:var(--accent);font-style:italic}

/* Quem Somos: team + princípios */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.team-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-card-lg);padding:30px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.team-card img{width:84px;height:84px;border-radius:50%;object-fit:cover}
.team-card h3{font-size:17px;font-weight:700}
.team-cargo{font-size:13px;color:var(--accent);font-weight:700}
.team-card p{font-size:14px;color:var(--ink-2);line-height:1.6}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.team-grid + .cta-banner{margin-top:56px}

/* Production breadcrumbs (RankMath output inside the hero-meta wrapper) */
.hero-meta .rank-math-breadcrumb a{color:inherit;text-decoration:none}
.hero-meta .rank-math-breadcrumb a:hover{color:var(--accent)}

/* ============================================================
   15b. Phase 4 — service template (svc-*). Tokens only; component
   classes (problem-card, feature-card, faq-item, case-card, chip,
   stat-*, tick-item, media) reused from the sections above.
   ============================================================ */
/* Section wrappers (exact classes = verify-services.sh markers) */
.svc-hero{position:relative;background:var(--dark);color:var(--bg);overflow:hidden}
.svc-hero h1{line-height:1.06;margin-bottom:24px}
.svc-hero-center{text-align:center}
.svc-hero-stats{margin-top:42px;display:flex;gap:30px;justify-content:center;flex-wrap:wrap;font-size:13.5px;color:var(--muted-dark)}
.svc-hero-stat strong{color:var(--accent);font-weight:700}
.svc-hero-stat+.svc-hero-stat{border-left:1px solid rgba(255,255,255,0.12);padding-left:30px}
.svc-autor-sec{background:var(--bg);padding:22px 0 0}
.svc-autor{margin:0;font-size:14px;color:var(--ink-3)}
.svc-autor-nome{color:var(--ink-2);font-weight:600;text-decoration:none}
a.svc-autor-nome:hover{color:var(--accent)}
.svc-problema,.svc-processo,.svc-entenda,.svc-custo{background:var(--surface);padding:var(--section-pad)}
.svc-custo[data-variant="alt"]{background:var(--bg)}
.svc-frentes,.svc-resultados,.svc-faq{background:var(--bg);padding:var(--section-pad)}
.svc-abordagem{background:var(--dark);color:var(--bg);padding:var(--section-pad)}
.svc-contato{background:var(--ink);color:var(--bg);padding:var(--section-pad)}

/* Problema */
.svc-problema-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px}
.svc-problema-cta{margin-top:48px}

/* Abordagem */
.svc-media-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:44px;align-items:center;margin-bottom:50px}
.svc-abordagem-stat{padding:30px 16px 6px;text-align:center}

/* Custo (+ optional comparativo — E-commerce) */
.section-lede--lg{font-size:17px;line-height:1.6}
.svc-comparativo{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;margin-bottom:18px}
.svc-comp-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card-lg);padding:clamp(28px,3.5vw,40px)}
.svc-comp-panel .eyebrow--strong{margin-bottom:22px}
.svc-comp-panel--dark{background:var(--ink);color:var(--bg);border:none;position:relative;overflow:hidden}
.svc-comp-glow{position:absolute;inset:0;background:radial-gradient(480px 260px at 90% -10%,rgba(242,106,53,0.22),transparent 60%);pointer-events:none}
.svc-comp-body{position:relative}
.svc-comp-items{display:flex;flex-direction:column;gap:16px}
.svc-comp-panel .tick-item p{color:var(--ink-2);font-size:15.5px;line-height:1.6}
.svc-comp-panel .tick-item strong{color:var(--ink)}
.svc-comp-panel--dark .tick-item p{color:var(--body-dark)}
.svc-comp-panel--dark .tick-item strong{color:var(--bg)}

/* Frentes */
.svc-frentes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.svc-frente-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--card-pad);color:var(--ink);text-decoration:none;display:flex;flex-direction:column}
a.svc-frente-card{transition:border-color .2s}
a.svc-frente-card:hover{border-color:var(--accent)}
.svc-frente-card h3{font-size:18px;font-weight:700;margin-bottom:9px}
.svc-frente-card p{color:var(--ink-2);font-size:15px;line-height:1.6}
a.svc-frente-card p{margin-bottom:20px}
.svc-frente-link{margin-top:auto;color:var(--accent);font-weight:700;font-size:14.5px;display:flex;align-items:center;gap:7px}

/* Processo */
.svc-processo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:36px}
.svc-step h3{font-size:20px;font-weight:700;margin-bottom:10px}
.svc-step p{color:var(--ink-2);font-size:15px;line-height:1.6}

/* Resultados: case cards, disclaimer, logo rail, sectors banner */
.svc-cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:18px;margin-bottom:44px}
.svc-resultados .case-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--card-pad)}
.case-txt{color:var(--ink);font-size:15.5px;line-height:1.55;margin-bottom:14px}
.case-txt--acao{color:var(--ink-2);font-size:15px;margin-bottom:22px}
.svc-resultados-disclaimer{font-size:12.5px;color:var(--ink-3);margin-bottom:44px;max-width:760px;line-height:1.6}
.logo-rail{margin-bottom:44px}
.logo-rail-label{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin-bottom:20px}
.logo-rail img{width:180px;height:72px;object-fit:contain;border-radius:10px;flex:none}
.svc-resultados .chip{background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.18);color:var(--bg);font-size:15px;font-weight:600;padding:12px 20px}

/* Entenda */
.svc-entenda-media{margin-top:32px}
.svc-entenda-body{display:flex;flex-direction:column;gap:24px;font-size:16.5px;line-height:1.75;color:var(--prose)}
.svc-entenda-body a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.svc-entenda-intro p+p,.svc-entenda-outro p+p{margin-top:20px}
.svc-entenda-step{display:flex;gap:18px;align-items:flex-start;border-top:1px solid var(--line-2);padding-top:22px}
.svc-entenda-step h3{font-size:18px;font-weight:700;margin-bottom:6px}
.svc-entenda-step p{color:var(--ink-2);font-size:15.5px;line-height:1.65}
.svc-entenda-step~.svc-entenda-outro{color:var(--ink-2);font-size:15.5px;line-height:1.65;border-top:1px solid var(--line-2);padding-top:22px}
.svc-entenda-cta{align-self:flex-start;color:var(--accent);font-weight:700;font-size:16.5px;text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:3px;margin-top:4px}
.svc-entenda-cta:hover{filter:brightness(0.85)}

/* FAQ: <details> accordion (zero JS) — marker via CSS */
summary.faq-q{list-style:none}
summary.faq-q::-webkit-details-marker{display:none}
.faq-mark::before{content:"+"}
details[open] .faq-mark::before{content:"−"}

/* Contato */
.svc-contato .container{max-width:1080px}
.svc-contato h2{font-size:clamp(30px,4.2vw,44px);margin-bottom:18px}
.svc-contato-lede{color:var(--body-dark);font-size:17px;line-height:1.6;margin-bottom:30px}
.svc-benefits{display:flex;flex-direction:column;gap:16px}
.svc-benefit{display:flex;align-items:center;gap:12px;color:var(--muted-on-dark);font-size:15px}
.svc-benefit svg{flex:none}
.form-stack{display:flex;flex-direction:column;gap:16px}

/* ============================================================
   15c. Phase 5 — Fluent Forms card (.dr-formcard, INTG-02).
   Overrides ported from landingpages/agencia-de-gestao-de-reputacao/
   landing-wordpress.html (battle-tested in production), rescoped from
   .dr-lp .dr-formcard to .dr-formcard and tokenized. The !important
   flags are required against the plugin stylesheet specificity —
   do NOT dequeue the plugin CSS (it carries layout/validation states).
   ============================================================ */
.dr-formcard{background:var(--dark);border:1px solid rgba(255,255,255,0.1);border-radius:var(--r-card-lg);padding:34px}
.btn-accent{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;font-size:16px;padding:16px 24px;border-radius:var(--r-input);letter-spacing:0.2px}
.btn-accent:hover{filter:brightness(1.08)}
.dr-formcard .fluentform,
.dr-formcard .ff-el-group,
.dr-formcard .ff_form_wrap{background:transparent !important;box-shadow:none !important}
.dr-formcard .ff-el-group{margin:0 0 16px !important}
.dr-formcard .ff-el-input--label label,
.dr-formcard label{color:var(--muted-on-dark) !important;font-size:13px !important;font-weight:600 !important;margin-bottom:7px !important;text-transform:none !important}
.dr-formcard .ff-el-input--label.ff-el-is-required label:after{color:var(--accent) !important}
.dr-formcard input.ff-el-form-control,
.dr-formcard textarea.ff-el-form-control,
.dr-formcard select.ff-el-form-control,
.dr-formcard .ff-el-form-control{background:var(--dark-2) !important;border:1px solid rgba(255,255,255,0.40) !important;border-radius:var(--r-input) !important;color:var(--bg) !important;padding:13px 14px !important;font-size:15px !important;box-shadow:none !important;width:100% !important;height:auto !important}
.dr-formcard .ff-el-form-control::placeholder{color:rgba(246,243,238,0.55) !important;opacity:1 !important}
.dr-formcard .ff-el-form-control:focus{border-color:var(--accent) !important;outline:none !important;box-shadow:none !important}
.dr-formcard .ff-btn-submit,
.dr-formcard button[type="submit"]{background:var(--accent) !important;color:#fff !important;border:none !important;font-weight:700 !important;font-size:16px !important;padding:16px !important;border-radius:var(--r-input) !important;width:100% !important;cursor:pointer !important;transition:filter .15s ease !important;text-transform:none !important}
.dr-formcard .ff-btn-submit:hover,
.dr-formcard button[type="submit"]:hover{filter:brightness(1.08) !important}
.dr-formcard .ff-message-success{color:var(--bg) !important}
.dr-formcard .error.text-danger,
.dr-formcard .ff-el-is-error .text-danger{color:#F2A48C !important}

/* ============================================================
   15d. Phase 5 — home / front-page (home-*, TMPL-01). Section
   wrappers = verify-home.sh marker contract; tokens only (literal
   Google-UI colors in the SERP mockup only, Phase 1). Inner nodes
   reuse hero-inner--home/hero-lede/hero-actions/hero-stats,
   press-rail-*, feature-card, svc-benefits/svc-benefit/
   svc-contato-lede, dr-sticky — see the home parts.
   ============================================================ */
.home-hero{position:relative;background:var(--dark);color:var(--bg);overflow:hidden}
.home-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.22;pointer-events:none}
.home-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,21,20,0.72) 0%,rgba(22,21,20,0.95) 80%),radial-gradient(900px 520px at 50% -8%,rgba(242,106,53,0.2),transparent 60%);pointer-events:none}
.home-hero h1{font-size:var(--fs-h1-home);line-height:1.05;margin-bottom:26px}

.home-imprensa{background:var(--bg);border-bottom:1px solid var(--line)}
.home-servicos,.home-blog,.home-faq{background:var(--surface)}
.home-comofunciona,.home-cases,.home-agencia{background:var(--bg)}
.home-oquesabem,.home-porque,.home-depoimentos{background:var(--dark);color:var(--bg)}
.home-contato{background:var(--ink);color:var(--bg);border-top:1px solid rgba(255,255,255,0.07)}
.home-servicos,.home-comofunciona,.home-porque,.home-cases,.home-depoimentos,.home-blog{padding:100px 28px}
.home-oquesabem,.home-agencia,.home-faq,.home-contato{padding:96px 28px}

.home-servicos-inner{max-width:1240px;margin:0 auto}
.home-oquesabem-inner{max-width:1120px;margin:0 auto}
.home-comofunciona-inner{max-width:1100px;margin:0 auto}
.home-porque-inner,.home-agencia-inner{max-width:1140px;margin:0 auto}
.home-cases-inner,.home-depoimentos-inner,.home-blog-inner{max-width:1200px;margin:0 auto}
.home-faq-inner{max-width:900px;margin:0 auto}
.home-contato-inner{max-width:1080px;margin:0 auto}
.home-agencia-inner,.home-contato-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:56px;align-items:start}

.home-servicos-head,.home-porque-head,.home-cases-head{max-width:760px}
.home-comofunciona-head,.home-depoimentos-head{max-width:720px}
.home-servicos-head{margin-bottom:56px}
.home-comofunciona-head{margin-bottom:58px}
.home-porque-head{margin-bottom:54px}
.home-depoimentos-head{margin-bottom:52px}
.home-cases-head{margin-bottom:50px}
.home-faq-head{margin-bottom:44px}
.home-blog-head-text{max-width:640px}
.home-oquesabem-head{text-align:center;max-width:760px;margin:0 auto 48px}
.home-comofunciona-head h2,.home-porque-head h2,.home-cases-head h2,.home-depoimentos-head h2{font-size:clamp(30px,4.4vw,50px)}
.home-porque-head h2,.home-cases-head h2{margin-bottom:16px}
.home-servicos-head h2{font-size:clamp(30px,4.4vw,52px);margin-bottom:16px}
.home-agencia-head h2{font-size:clamp(30px,4.4vw,46px)}
.home-blog-head h2,.home-faq-head h2{font-size:var(--fs-h2)}
.home-contato h2{font-size:clamp(30px,4.2vw,46px);margin-bottom:18px}
.home-oquesabem-head h2{font-size:clamp(30px,4.6vw,54px);line-height:1.08;margin-bottom:14px}
.home-oquesabem-lede,.home-porque-lede{color:var(--body-dark);font-size:17px;line-height:1.6}
.home-cases-lede{font-size:17px;line-height:1.6;color:var(--ink-2)}

.home-svc-grid,.home-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.home-cases-grid,.home-blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.home-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:36px}
.home-benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}

.home-mockups{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:22px;align-items:start}
.home-mockup{background:var(--surface);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-mockup);color:#202124}
.home-mockup-label{text-align:center;font-size:12.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted-dark);font-weight:700;margin-top:16px}
.home-serp-bar{padding:16px 18px 12px;border-bottom:1px solid #ebebeb;display:flex;align-items:center;gap:12px}
.home-serp-logo{font-family:var(--font-serif);font-weight:600;font-size:20px}
.home-serp-input{flex:1;background:#fff;border:1px solid #DADCE0;border-radius:100px;padding:8px 14px;font-size:13px;color:#202124;display:flex;align-items:center;gap:8px}
.home-serp-input svg{margin-left:auto}
.home-serp-results{padding:18px 20px 22px;display:flex;flex-direction:column;gap:16px}
.home-serp-crumb{display:flex;align-items:center;gap:7px;margin-bottom:3px}
.home-serp-crumb span:first-child{font-size:11.5px;color:#202124}
.home-serp-tag{font-size:10px;font-weight:700;color:var(--negative);background:#FCE8E6;padding:2px 6px;border-radius:4px}
.home-serp-title{color:#1a0dab;font-size:15.5px;line-height:1.3}
.home-ai-bar{padding:14px 18px;border-bottom:1px solid #ebebeb;display:flex;align-items:center;gap:9px}
.home-ai-dot{width:8px;height:8px;border-radius:50%;background:#10A37F;display:inline-block}
.home-ai-name{font-size:13.5px;font-weight:700;color:#202124}
.home-ai-body{padding:20px;display:flex;flex-direction:column;gap:14px}
.home-ai-q{align-self:flex-end;max-width:85%;background:#F1F3F4;border-radius:14px 14px 3px 14px;padding:11px 15px;font-size:14px;line-height:1.5}
.home-ai-a{align-self:flex-start;max-width:92%;background:#FAF9F7;border:1px solid #EFEBE4;border-radius:14px 14px 14px 3px;padding:14px 16px;font-size:14px;line-height:1.65;color:#3a3733}
.home-ai-a mark{background:rgba(197,34,31,0.1);color:var(--negative);padding:1px 4px;border-radius:4px}
.home-oquesabem-cta{text-align:center;margin-top:44px}
.home-oquesabem-cta .microcopy{color:var(--muted-dark);font-size:13px;margin-top:14px}

/* Serviços cards */
.home-svc-card{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:36px 32px;display:flex;flex-direction:column}
.home-svc-card--dark{background:var(--dark);border-color:var(--dark);color:var(--bg)}
.home-svc-icon{width:46px;height:46px;border-radius:10px;background:rgba(242,106,53,0.12);display:flex;align-items:center;justify-content:center;margin-bottom:24px}
.home-svc-card--dark .home-svc-icon{background:rgba(242,106,53,0.18)}
.home-svc-card h3{font-size:22px;font-weight:700;margin-bottom:10px}
.home-svc-desc{color:var(--ink-2);font-size:15.5px;line-height:1.6;margin-bottom:20px}
.home-svc-card--dark .home-svc-desc{color:var(--body-dark)}
.home-svc-tag{position:absolute;top:18px;right:18px;font-size:10.5px;font-weight:800;letter-spacing:1.2px;color:#fff;background:var(--accent);padding:5px 10px;border-radius:100px}
.home-svc-sublinks{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-bottom:24px}
.home-svc-card--dark .home-svc-sublinks{border-top-color:rgba(255,255,255,0.12)}
.home-svc-sublink{color:var(--ink-2);text-decoration:none;font-size:14.5px;display:flex;align-items:center;gap:8px}
.home-svc-sublink:hover{color:var(--accent)}
.home-svc-card--dark .home-svc-sublink{color:var(--body-dark)}
.home-svc-sublink .arrow{color:var(--accent);font-weight:700}
.home-svc-more{margin-top:auto;text-decoration:none;color:var(--accent);font-weight:700;font-size:14.5px;display:flex;align-items:center;gap:7px}

/* Como funciona steps */
.home-step-num{font-family:var(--font-serif);font-size:40px;color:var(--accent);line-height:1;margin-bottom:16px}
.home-step h3{font-size:20px;font-weight:700;margin-bottom:10px}
.home-step p{color:var(--ink-2);font-size:15px;line-height:1.6}

.home-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-top:1px solid rgba(255,255,255,0.12);margin-bottom:56px}
.home-stat{padding:34px 18px 8px;text-align:center}
.home-stat-num{font-family:var(--font-serif);font-size:clamp(46px,5.6vw,64px);line-height:1;font-weight:500}
.home-stat-num span{color:var(--accent)}
.home-stat p{margin-top:12px;color:var(--body-dark);font-size:15px;line-height:1.5}

/* Cases cards */
.home-case-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:30px;display:flex;flex-direction:column}
.home-case-badge{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:0.4px;color:var(--ink-2);background:var(--badge-bg);padding:6px 12px;border-radius:100px;margin-bottom:22px}
.home-case-situacao{color:var(--ink);font-size:15.5px;line-height:1.55;margin-bottom:18px}
.home-case-acao{color:var(--ink-2);font-size:15px;line-height:1.55;margin-bottom:24px}
.home-case-kpi{margin-top:auto;border-top:1px solid var(--line);padding-top:20px}
.home-case-kpi-num{font-family:var(--font-serif);font-size:38px;line-height:1;color:var(--ink)}
.home-case-kpi-num .kpi-muted{color:var(--muted-on-dark)}
.home-case-kpi-num .kpi-accent{color:var(--accent)}
.home-case-kpi-legenda{color:var(--ink-2);font-size:14px;margin-top:8px}
.home-cases-disclaimer{font-size:12.5px;color:var(--ink-3);margin-top:24px;max-width:760px;line-height:1.6}

/* Depoimentos (dark) — quote cards */
.home-quote-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:12px;padding:32px;display:flex;flex-direction:column}
.home-quote-mark{font-family:var(--font-serif);font-size:52px;line-height:0.6;color:var(--accent);margin-bottom:20px}
.home-quote-text{font-family:var(--font-serif);font-style:italic;font-size:19px;line-height:1.55;color:#E8E3DB;margin-bottom:26px}
.home-quote-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,0.1);padding-top:18px}
.home-quote-autor{font-weight:700;font-size:15px}
.home-quote-cargo{color:var(--body-dark);font-size:13.5px;margin-top:3px}

/* Blog (WP_Query cards, no thumbnail) */
.home-blog-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:50px}
.home-blog-all{color:var(--accent);text-decoration:none;font-weight:700;font-size:15px;display:flex;align-items:center;gap:7px;white-space:nowrap}
.home-blog-card{text-decoration:none;color:inherit;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:30px;display:flex;flex-direction:column;transition:border-color .2s}
.home-blog-card:hover{border-color:var(--accent)}
.home-blog-badge{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:0.4px;color:var(--accent);background:rgba(242,106,53,0.1);padding:6px 12px;border-radius:100px;margin-bottom:20px}
.home-blog-card h3{font-family:var(--font-serif);font-weight:500;font-size:24px;line-height:1.25;margin-bottom:12px}
.home-blog-excerpt{color:var(--ink-2);font-size:14.5px;line-height:1.55;margin-bottom:22px}
.home-blog-more{margin-top:auto;color:var(--accent);font-weight:700;font-size:14px;display:flex;align-items:center;gap:7px}

.home-agencia-prose{display:flex;flex-direction:column;gap:20px;font-size:16.5px;line-height:1.75;color:var(--prose)}
.home-agencia-prose a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}

.home-contato-urgency{color:var(--muted-dark);font-size:13.5px;line-height:1.6;margin-top:26px;font-style:italic}
.home-contato-photo{width:100%;max-width:480px;aspect-ratio:16/10;object-fit:cover;border-radius:12px;margin-top:26px;display:block}

/* ============================================================
   16. Single breakpoint (inventory §1.7)
   ============================================================ */
@media (max-width:920px){
  .dr-nav-desktop{display:none !important}
  .dr-mob{display:block}
  .dr-sticky{position:static !important}
  .blog-grid{grid-template-columns:1fr}
  .post-card-featured{grid-template-columns:1fr}
  .article-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .value-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
  .svc-cases{grid-template-columns:1fr}
  .svc-comparativo{grid-template-columns:1fr}
}
