/*
Theme Name: GDN Marketing
Theme URI: https://gdnmarketing.com.br/
Author: GDN Marketing
Description: Tema WordPress customizado da GDN Marketing, com home institucional, Raio-X, Portal GDN, animações, clientes e integração dinâmica com o blog.
Version: 1.2.5
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: gdn-marketing
*/

:root {
  --green: #01bf5f;
  --deep: #004522;
  --ink: #17332A;
  --paper: #F7F8F5;
  --soft: #dfe9e2;
  --line: rgba(6, 19, 12, .12);
  --white: #ffffff;
  --radius: 28px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; max-width:100%; overflow-x:hidden; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Montserrat", system-ui, sans-serif;
  overflow-x: hidden;
  max-width:100%;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }

.noise {
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .035;
  z-index: 1000;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}
.cursor-glow {
  position: fixed;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(1,191,95,.12), transparent 70%);
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: -1;
}

.site-header {
  position: fixed;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
  width: min(1380px, calc(100% - 24px));
  z-index: 100;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
  padding: 12px 18px;
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 999px;
  background: rgba(247,248,245,.86);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 10px 40px rgba(0,69,34,.08);
  transition: background .3s ease, box-shadow .3s ease, top .3s ease, width .3s ease;
}
.site-header.scrolled { top: 10px; background: rgba(247,248,245,.94); box-shadow: 0 12px 45px rgba(0,69,34,.14); }
.brand { display:inline-flex; align-items:center; width:fit-content; }
.brand-logo { line-height:1; color:var(--deep); }
.brand-logo-image { display:block; width:230px; height:auto; }
.footer-brand { color:#fff; }
.footer-brand .brand-logo-image { width:250px; filter:brightness(0) invert(1); }
.brand.brand-logo { flex-shrink:0; }
.desktop-nav { display:flex; justify-content:center; min-width:0; gap:28px; font-size:.94rem; font-weight:700; }
.desktop-nav a { position: relative; }
.desktop-nav a::after { content:""; position:absolute; left:0; bottom:-5px; height:2px; width:0; background:var(--green); transition:.25s; }
.desktop-nav a:hover::after { width:100%; }

/* Menu Ferramentas */
.gdn-primary-menu { width:100%; }
.gdn-tools-item { position:relative; }
.gdn-tools-toggle {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:inherit;
  cursor:pointer;
  white-space:nowrap;
}
.gdn-tools-toggle::after {
  content:"";
  position:absolute;
  left:0;
  bottom:-5px;
  width:0;
  height:2px;
  background:var(--green);
  transition:.25s;
}
.gdn-tools-toggle:hover::after,
.gdn-tools-item.is-open > .gdn-tools-toggle::after { width:100%; }
.gdn-tools-chevron { color:var(--green); font-size:.78em; line-height:1; transition:transform .2s ease; }
.gdn-tools-item.is-open .gdn-tools-chevron { transform:rotate(180deg); }
.desktop-nav .gdn-tools-submenu {
  position:absolute;
  top:calc(100% + 18px);
  left:50%;
  width:310px;
  margin:0;
  padding:10px;
  display:grid;
  gap:6px;
  list-style:none;
  border:1px solid rgba(0,69,34,.10);
  border-radius:20px;
  background:rgba(255,255,255,.98);
  box-shadow:0 20px 55px rgba(0,69,34,.14);
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,8px);
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index:140;
}
.desktop-nav .gdn-tools-item:hover > .gdn-tools-submenu,
.desktop-nav .gdn-tools-item:focus-within > .gdn-tools-submenu,
.desktop-nav .gdn-tools-item.is-open > .gdn-tools-submenu {
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
  pointer-events:auto;
}
.desktop-nav .gdn-tools-submenu::before {
  content:"";
  position:absolute;
  top:-18px;
  left:0;
  right:0;
  height:18px;
}
.desktop-nav .gdn-tools-submenu li { width:100%; }
.desktop-nav .gdn-tools-submenu a {
  display:block;
  padding:13px 14px;
  border-radius:13px;
  color:var(--deep);
  line-height:1.25;
  transition:background .2s ease, transform .2s ease;
}
.desktop-nav .gdn-tools-submenu a::after { display:none; }
.desktop-nav .gdn-tools-submenu a:hover { background:#eff8f2; transform:translateX(2px); }
.gdn-tool-title { display:block; font-size:.78rem; font-weight:800; }
.gdn-tool-desc { display:block; margin-top:4px; color:#69786f; font-size:.64rem; font-weight:500; line-height:1.35; }
.header-actions { justify-self:end; display:flex; align-items:center; gap:12px; }
.portal-login { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 15px; border-radius:999px; border:1px solid rgba(0,69,34,.18); background:rgba(255,255,255,.72); color:var(--deep); font-size:.78rem; font-weight:800; white-space:nowrap; transition:transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.portal-login:hover { transform:translateY(-2px); border-color:rgba(1,191,95,.48); background:#fff; box-shadow:0 10px 28px rgba(0,69,34,.08); }
.portal-login-icon { color:var(--green); font-size:1rem; line-height:1; }
.header-actions .button { white-space:nowrap; }
.menu-toggle { display:none; border:0; background:none; font-size:1.45rem; cursor:pointer; }

.section-pad { padding: 120px max(28px, calc((100vw - 1180px) / 2)); }
.hero {
  min-height: 100vh;
  padding-top: 170px;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 70px;
  align-items: center;
  position: relative;
}
.hero::before {
  content:"";
  position:absolute;
  width: 760px;
  height: 760px;
  right: -280px;
  top: -240px;
  border-radius:50%;
  background: radial-gradient(circle, rgba(1,191,95,.17) 0%, rgba(1,191,95,0) 70%);
}
.eyebrow { font-size:.73rem; font-weight:800; letter-spacing:.22em; color:var(--deep); margin-bottom:24px; }
.eyebrow.light { color:#a9f5ca; }
h1, h2, h3 { margin:0; }
h1, h2 { font-family:"Montserrat", sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:.01em; }
h1 { font-size:clamp(1.9rem, 3.2vw, 3.25rem); line-height:1.22; max-width:760px; }
h1 span { color:var(--green); }
.hero-lead { font-size:1.12rem; line-height:1.75; max-width:720px; margin:30px 0 0; color:#314138; }
.hero-actions { display:flex; gap:24px; align-items:center; margin-top:34px; flex-wrap:wrap; }
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 24px;
  border-radius:999px;
  background:var(--deep);
  color:#fff;
  font-size:.84rem;
  font-weight:800;
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.button:hover { transform:translateY(-2px); background:#073a20; box-shadow:0 10px 26px rgba(0,69,34,.2); }
.button-small { min-height:44px; padding:0 20px; font-size:.86rem; }
.text-link { font-weight:800; font-size:.9rem; display:flex; gap:8px; align-items:center; }
.text-link span { color:var(--green); font-size:1.25rem; transition:transform .2s; }
.text-link:hover span { transform:translate(3px,3px); }
.hero-proof { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:48px; }
.hero-proof div { border-top:1px solid var(--line); padding-top:16px; }
.hero-proof strong { display:block; font-size:.82rem; margin-bottom:5px; color:var(--deep); }
.hero-proof span { font-size:.72rem; line-height:1.45; color:#627067; }

.hero-visual { min-height:610px; position:relative; display:grid; place-items:center; perspective:1000px; }
.orbit { position:absolute; border:1px solid rgba(1,191,95,.26); border-radius:50%; animation:spin 20s linear infinite; }
.orbit-a { width:520px; height:520px; }
.orbit-b { width:390px; height:390px; animation-direction:reverse; animation-duration:15s; }
.orbit::after { content:""; width:10px; height:10px; position:absolute; top:50%; left:-5px; background:var(--green); border-radius:50%; box-shadow:0 0 18px var(--green); }
.visual-card { border:1px solid rgba(255,255,255,.56); background:rgba(255,255,255,.62); backdrop-filter:blur(18px); box-shadow:0 22px 60px rgba(0,69,34,.13); }
.main-card { width:min(430px,86vw); padding:32px; border-radius:34px; transform:rotate(-2.5deg); animation:float 6s ease-in-out infinite; }
.card-label { font-size:.65rem; font-weight:800; letter-spacing:.18em; color:#6c7d72; }
.card-title { font-family:"Montserrat"; font-weight:800; text-transform:uppercase; font-size:2.45rem; line-height:1.08; margin:16px 0 28px; color:var(--deep); }
.pulse-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.pulse-grid span { height:68px; display:grid; place-items:center; border-radius:16px; background:#edf7f0; color:var(--deep); font-weight:800; font-size:.72rem; border:1px solid rgba(0,69,34,.08); transition:.25s; }
.pulse-grid span:hover { background:var(--green); color:white; transform:translateY(-3px); }
.signal-line { height:5px; background:#dde7e0; border-radius:99px; margin:28px 0; overflow:hidden; }
.signal-line span { display:block; width:42%; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--deep),var(--green)); animation:signal 3.6s ease-in-out infinite; }
.card-bottom { display:flex; justify-content:space-between; font-size:.62rem; text-transform:uppercase; font-weight:800; letter-spacing:.08em; color:#738078; }
.floating-card { position:absolute; padding:14px 18px; border-radius:999px; font-weight:800; font-size:.68rem; letter-spacing:.05em; display:flex; align-items:center; gap:8px; }
.floating-1 { top:80px; left:0; animation:float2 5s ease-in-out infinite; }
.floating-2 { right:-10px; top:220px; animation:float2 5.8s ease-in-out infinite reverse; }
.floating-3 { bottom:95px; left:36px; animation:float2 6.6s ease-in-out infinite; }
.dot { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 12px var(--green); }

.marquee { overflow:hidden; background:var(--deep); color:#d9fbe7; border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); }
.marquee-track { display:flex; width:max-content; animation:marquee 24s linear infinite; }
.marquee span { font-family:"Montserrat"; font-weight:800; font-size:1.6rem; letter-spacing:.03em; padding:18px 28px; }
.marquee span::after { content:"•"; color:var(--green); margin-left:56px; }

.section-heading { max-width:900px; }
.section-heading h2 { font-size:clamp(1.85rem,3vw,3rem); line-height:1.22; }
.section-heading p { max-width:720px; font-size:1.08rem; line-height:1.75; color:#526158; margin:24px 0 0; }
.services-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:64px; }
.service-card { min-height:390px; border:1px solid var(--line); border-radius:var(--radius); padding:26px; position:relative; overflow:hidden; background:rgba(255,255,255,.5); transition:transform .35s ease, background .35s ease, color .35s ease; display:flex; flex-direction:column; }
.service-card::before { content:""; position:absolute; inset:auto -80px -110px auto; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle,rgba(1,191,95,.28),rgba(1,191,95,0) 68%); transition:.35s; }
.service-card:hover { transform:translateY(-8px); background:var(--deep); color:white; }
.service-card:hover::before { transform:scale(1.35); }
.service-index { font-size:.7rem; font-weight:800; color:var(--green); letter-spacing:.13em; }
.service-card h3 { font-size:1.78rem; line-height:1.18; margin-top:72px; max-width:300px; }
.service-card p { font-size:.88rem; line-height:1.7; color:#617068; margin:18px 0 26px; transition:.35s; }
.service-card:hover p { color:#ccddd3; }
.tags { display:flex; flex-wrap:wrap; gap:8px; position:static; margin-top:auto; padding-top:6px; }
.tags span { font-size:.62rem; font-weight:800; padding:7px 10px; border-radius:999px; border:1px solid rgba(0,69,34,.12); background:white; color:var(--deep); }


.clients-section { padding-top:100px; padding-bottom:110px; background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.clients-intro { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(280px,.65fr); gap:60px; align-items:end; margin-bottom:54px; }
.clients-intro h2 { margin:10px 0 0; font-family:"Montserrat",sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:.01em; font-size:clamp(1.8rem,2.9vw,2.9rem); line-height:1.22; color:var(--deep); }
.clients-intro p { margin:0; color:#5d6a62; line-height:1.75; max-width:530px; }
.clients-grid { display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:16px; }
.client-logo-card { min-height:150px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(180deg,#ffffff 0%, #f5f8f5 100%); display:flex; align-items:center; justify-content:center; padding:20px 18px; overflow:hidden; position:relative; transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease, background .3s ease; box-shadow:0 10px 30px rgba(0,69,34,.04); }
.client-logo-card::after { content:""; position:absolute; inset:auto 18px 0; height:3px; background:linear-gradient(90deg,var(--deep),var(--green)); transform:scaleX(0); transform-origin:left; transition:transform .35s ease; }
.client-logo-card:hover { transform:translateY(-6px); border-color:rgba(1,191,95,.42); box-shadow:0 18px 45px rgba(0,69,34,.10); background:#fff; }
.client-logo-card:hover::after { transform:scaleX(1); }
.client-logo-media { width:100%; height:94px; display:flex; align-items:center; justify-content:center; }
.client-logo-media img { max-width:100%; max-height:94px; width:auto; height:auto; object-fit:contain; display:block; }
.client-logo-card.logo-uhoo .client-logo-media { height:110px; }
.client-logo-card.logo-uhoo .client-logo-media img { max-height:110px; transform:scale(1.28); }
.client-logo-card.logo-byd .client-logo-media img { max-height:84px; }
.client-logo-card.logo-nike .client-logo-media img { max-height:100px; }
.client-logo-card.logo-mercado-livre .client-logo-media img { max-height:98px; }
.client-logo-card.logo-gizmoo .client-logo-media img { max-height:86px; }
.client-logo-card.logo-localiza .client-logo-media img { max-height:80px; }


.diagnostic-section { background:var(--paper); }
.diagnostic-shell {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:70px;
  align-items:center;
  padding:72px;
  border-radius:38px;
  background:linear-gradient(135deg,#003b1d 0%,#004522 58%,#06371f 100%);
  color:white;
  box-shadow:0 28px 80px rgba(0,69,34,.16);
}
.diagnostic-shell::before {
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border-radius:50%;
  right:-220px;
  top:-260px;
  background:radial-gradient(circle,rgba(1,191,95,.42),rgba(1,191,95,0) 68%);
}
.diagnostic-shell::after {
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  border:1px solid rgba(1,191,95,.18);
  border-radius:50%;
  left:-160px;
  bottom:-170px;
}
.diagnostic-copy,.diagnostic-visual { position:relative; z-index:1; }
.diagnostic-copy h2 {
  max-width:700px;
  font-size:clamp(2rem,3.2vw,3.35rem);
  line-height:1.16;
  color:white;
}
.diagnostic-copy > p { max-width:650px; color:#c5dacd; font-size:1rem; line-height:1.78; margin:22px 0 0; }
.diagnostic-copy > p + p { margin-top:12px; }
.diagnostic-copy strong { color:white; }
.diagnostic-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:34px; }
.diagnostic-stats div { padding:18px 16px; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:rgba(255,255,255,.055); backdrop-filter:blur(8px); }
.diagnostic-stats strong { display:block; color:var(--green); font-size:1.45rem; line-height:1; }
.diagnostic-stats span { display:block; margin-top:7px; color:#c2d7ca; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.diagnostic-actions { display:flex; align-items:center; gap:18px; margin-top:30px; flex-wrap:wrap; }
.diagnostic-actions small { color:#a9c2b2; font-size:.72rem; line-height:1.5; }
.diagnostic-button { background:var(--green); color:#043019; }
.diagnostic-button:hover { background:#21d979; color:#043019; box-shadow:0 12px 30px rgba(1,191,95,.2); }
.diagnostic-button span { margin-left:8px; }
.diagnostic-visual { display:grid; place-items:center; }
.diagnostic-card { width:min(470px,100%); border:1px solid rgba(255,255,255,.18); border-radius:30px; padding:28px; background:rgba(255,255,255,.095); backdrop-filter:blur(20px); box-shadow:0 24px 64px rgba(0,0,0,.18); transform:rotate(1.5deg); }
.diagnostic-card-top { display:flex; align-items:center; justify-content:space-between; color:#9ebbac; font-size:.62rem; font-weight:800; letter-spacing:.15em; }
.diagnostic-score-wrap { display:flex; gap:22px; align-items:center; margin:28px 0 30px; }
.diagnostic-score { width:132px; height:132px; border-radius:50%; display:grid; place-items:center; background:conic-gradient(var(--green) 0 68%,rgba(255,255,255,.12) 68% 100%); position:relative; flex:0 0 auto; }
.diagnostic-score::after { content:""; position:absolute; inset:10px; border-radius:50%; background:#074a28; }
.diagnostic-score div { position:relative; z-index:1; display:flex; align-items:baseline; gap:2px; }
.diagnostic-score strong { font-size:2.35rem; line-height:1; color:white; }
.diagnostic-score span { color:#9ebbac; font-size:.68rem; font-weight:700; }
.diagnostic-score-copy span { display:block; color:#9ebbac; font-size:.72rem; margin-bottom:7px; }
.diagnostic-score-copy strong { display:block; color:white; font-size:1.25rem; line-height:1.25; }
.diagnostic-bars { display:grid; gap:14px; }
.diagnostic-bar { display:grid; grid-template-columns:88px 1fr 26px; gap:10px; align-items:center; color:#c6d9cd; font-size:.68rem; font-weight:700; }
.diagnostic-bar i { display:block; height:7px; border-radius:999px; background:rgba(255,255,255,.12); overflow:hidden; }
.diagnostic-bar i b { display:block; width:var(--score); height:100%; border-radius:999px; background:linear-gradient(90deg,#01bf5f,#53e895); }
.diagnostic-bar em { font-style:normal; color:white; text-align:right; font-size:.66rem; }
.diagnostic-card-foot { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:26px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); color:#c6d9cd; font-size:.72rem; font-weight:700; }
.diagnostic-card-foot b { color:var(--green); font-size:1.25rem; }

.technology-section { background:#062d19; color:white; position:relative; overflow:hidden; }
.technology-section::before { content:""; position:absolute; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle,rgba(1,191,95,.18),rgba(1,191,95,0) 70%); left:-240px; bottom:-320px; pointer-events:none; }
.technology-shell { width:min(1180px,100%); margin:0 auto; display:grid; grid-template-columns:.9fr 1.1fr; gap:72px; align-items:center; position:relative; z-index:1; }
.technology-copy h2 { margin:12px 0 22px; font-size:clamp(1.95rem,3vw,3.15rem); line-height:1.2; letter-spacing:-.035em; max-width:720px; }
.technology-copy > p { color:#bfd2c6; line-height:1.75; font-size:.98rem; max-width:700px; }
.technology-copy strong { color:white; }
.technology-copy .technology-lead { color:white; margin-top:18px; }
.technology-features { display:grid; gap:0; margin-top:32px; border-top:1px solid rgba(255,255,255,.13); }
.technology-features article { display:grid; grid-template-columns:42px 1fr; gap:14px; padding:19px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.technology-features article > span { color:var(--green); font-weight:800; font-size:.72rem; padding-top:3px; }
.technology-features h3 { margin:0; color:white; font-size:1.02rem; line-height:1.3; }
.technology-features p { margin:6px 0 0; color:#afc5b7; font-size:.82rem; line-height:1.6; }
.technology-actions { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:28px; }
.technology-button { background:var(--green); color:#043019; }
.technology-button:hover { background:#25db7d; color:#043019; }
.technology-button span { margin-left:6px; }
.technology-note { color:#a9c1b2; font-size:.72rem; }
.technology-visual { display:grid; place-items:center; }
.portal-mockup { width:min(610px,100%); overflow:hidden; border-radius:28px; border:1px solid rgba(255,255,255,.16); background:#f7f8f5; color:var(--ink); box-shadow:0 32px 90px rgba(0,0,0,.28); transform:rotate(1deg); }
.portal-window-top { height:48px; display:grid; grid-template-columns:90px 1fr auto; gap:12px; align-items:center; padding:0 17px; background:white; border-bottom:1px solid rgba(0,69,34,.1); font-size:.6rem; color:#849087; }
.portal-window-top > span { text-align:center; }
.portal-window-top > b { color:var(--deep); letter-spacing:.06em; }
.portal-window-dots { display:flex; gap:5px; }
.portal-window-dots i { width:7px; height:7px; border-radius:50%; background:#d7ded9; }
.portal-window-dots i:nth-child(2) { background:#a8d9bb; }
.portal-window-dots i:nth-child(3) { background:var(--green); }
.portal-layout { min-height:420px; display:grid; grid-template-columns:132px 1fr; }
.portal-sidebar { background:#05351d; color:#a8c2b1; padding:24px 15px; display:flex; flex-direction:column; gap:10px; font-size:.58rem; }
.portal-sidebar strong { color:white; font-size:.68rem; letter-spacing:.1em; margin-bottom:16px; }
.portal-sidebar span { padding:9px 10px; border-radius:9px; }
.portal-sidebar span.active { color:white; background:rgba(1,191,95,.18); }
.portal-content { padding:26px; display:flex; flex-direction:column; gap:18px; }
.portal-welcome small { display:block; color:#7e8d84; font-size:.55rem; font-weight:800; letter-spacing:.11em; margin-bottom:6px; }
.portal-welcome strong { display:block; color:var(--deep); font-size:1.35rem; line-height:1.25; }
.portal-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.portal-kpis div { background:white; border:1px solid rgba(0,69,34,.08); border-radius:14px; padding:13px; }
.portal-kpis b { display:block; color:var(--deep); font-size:1.35rem; }
.portal-kpis span { display:block; margin-top:4px; color:#76847b; font-size:.56rem; line-height:1.35; }
.portal-project { background:white; border:1px solid rgba(0,69,34,.08); border-radius:16px; padding:17px; }
.portal-project-head,.portal-project-meta { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.portal-project-head strong { font-size:.75rem; color:var(--deep); }
.portal-project-head span { color:#217b48; background:#e8f8ee; border-radius:999px; padding:5px 8px; font-size:.5rem; font-weight:800; }
.portal-progress { height:7px; border-radius:99px; background:#e8eeea; margin:16px 0 10px; overflow:hidden; }
.portal-progress i { display:block; width:72%; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--deep),var(--green)); }
.portal-project-meta { color:#839087; font-size:.54rem; }
.portal-approval { background:#eaf8ef; border:1px solid rgba(1,191,95,.18); border-radius:16px; padding:16px; display:flex; align-items:center; justify-content:space-between; gap:15px; }
.portal-approval small { display:block; color:#459260; font-size:.48rem; font-weight:800; letter-spacing:.08em; margin-bottom:5px; }
.portal-approval strong { color:var(--deep); display:block; font-size:.69rem; line-height:1.35; }
.portal-approval button { border:0; border-radius:999px; background:var(--deep); color:white; padding:8px 11px; font:inherit; font-size:.52rem; font-weight:800; white-space:nowrap; }

.method-section { background:var(--deep); color:white; display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; align-items:start; }
.method-sticky { position:sticky; top:130px; }
.method-sticky h2 { font-size:clamp(1.85rem,3vw,3rem); line-height:1.22; }
.method-sticky p { color:#bad0c2; line-height:1.75; max-width:540px; }
.method-steps { border-top:1px solid rgba(255,255,255,.14); }
.method-step { display:grid; grid-template-columns:90px 1fr; gap:18px; padding:38px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.method-number { color:var(--green); font-family:"Montserrat"; font-weight:800; font-size:2rem; }
.method-step h3 { font-size:1.28rem; }
.method-step p { color:#b9cfc1; line-height:1.7; margin:10px 0 0; }

.seo-section { background:#e9efe9; }
.seo-panel { border-radius:36px; background:white; padding:56px; display:grid; grid-template-columns:1fr .9fr; gap:54px; align-items:center; box-shadow:0 20px 70px rgba(0,69,34,.08); }
.seo-copy h2 { font-size:clamp(1.85rem,3vw,3rem); line-height:1.22; }
.seo-copy p { color:#55645b; line-height:1.75; font-size:1rem; }
.keyword-cloud { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.keyword-cloud span { padding:10px 13px; border-radius:999px; background:#edf8f1; border:1px solid rgba(0,69,34,.08); font-size:.7rem; font-weight:800; color:var(--deep); }
.search-mockup { border:1px solid rgba(0,69,34,.12); border-radius:26px; padding:24px; background:#f6f9f6; box-shadow:0 18px 46px rgba(0,69,34,.08); }
.search-top { display:flex; gap:7px; }
.search-top span { width:8px; height:8px; border-radius:50%; background:#c7d2ca; }
.search-bar { margin:22px 0 26px; padding:15px 18px; border-radius:14px; background:white; border:1px solid rgba(0,69,34,.1); font-size:.76rem; color:#647068; display:flex; justify-content:space-between; }
.search-bar b { color:var(--green); }
.result-line { height:10px; background:#dce5df; border-radius:99px; margin:12px 0; }
.w90{width:90%}.w70{width:70%}.w80{width:80%}
.answer-box { margin-top:28px; padding:24px; border-radius:20px; background:var(--deep); color:white; position:relative; overflow:hidden; }
.answer-box::after { content:""; position:absolute; width:140px; height:140px; border-radius:50%; background:var(--green); filter:blur(50px); right:-40px; top:-50px; opacity:.65; }
.answer-box small { font-size:.58rem; letter-spacing:.14em; color:#a9f5ca; }
.answer-box strong { display:block; font-family:"Montserrat"; font-weight:800; text-transform:uppercase; font-size:2.6rem; margin-top:8px; }
.answer-box p { margin:5px 0 0; font-size:.76rem; color:#c6dace; }

.blog-section { background:var(--paper); }
.blog-header { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; }
.blog-header .section-heading { max-width:820px; }
.blog-all { white-space:nowrap; margin-bottom:8px; }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:58px; }
.blog-card { border:1px solid var(--line); border-radius:var(--radius); background:white; overflow:hidden; min-height:430px; display:flex; flex-direction:column; transition:transform .35s ease, box-shadow .35s ease; }
.blog-card:hover { transform:translateY(-7px); box-shadow:0 24px 60px rgba(0,69,34,.10); }
.blog-visual { min-height:190px; position:relative; overflow:hidden; background:var(--deep); }
.blog-visual::before { content:""; position:absolute; width:240px; height:240px; border:1px solid rgba(255,255,255,.18); border-radius:50%; right:-55px; top:-85px; }
.blog-visual::after { content:""; position:absolute; width:120px; height:220px; background:var(--green); right:35px; top:-20px; transform:skewX(-28deg); opacity:.92; }
.blog-card:nth-child(2) .blog-visual { background:#17332A; }
.blog-card:nth-child(2) .blog-visual::after { right:auto; left:45px; transform:skewX(28deg); }
.blog-card:nth-child(3) .blog-visual { background:#e7efe9; }
.blog-card:nth-child(3) .blog-visual::before { border-color:rgba(0,69,34,.15); }
.blog-card:nth-child(3) .blog-visual::after { background:var(--deep); right:70px; }
.blog-kicker { position:absolute; left:22px; bottom:20px; z-index:2; font-size:.64rem; font-weight:800; letter-spacing:.16em; color:white; }
.blog-card:nth-child(3) .blog-kicker { color:var(--deep); }
.blog-body { padding:26px; display:flex; flex-direction:column; flex:1; }
.blog-meta { font-size:.67rem; font-weight:800; letter-spacing:.08em; color:#6a776f; text-transform:uppercase; }
.blog-body h3 { margin:18px 0 14px; font-size:1.38rem; line-height:1.34; color:var(--deep); }
.blog-body p { margin:0; color:#607067; font-size:.88rem; line-height:1.7; }
.blog-link { margin-top:auto; padding-top:24px; font-size:.78rem; font-weight:800; color:var(--deep); display:inline-flex; align-items:center; gap:8px; }
.blog-link span { color:var(--green); font-size:1.1rem; transition:transform .2s; }
.blog-card:hover .blog-link span { transform:translateX(4px); }

.outcomes-section { background:var(--paper); }
.outcome-list { margin-top:58px; border-top:1px solid var(--line); }
.outcome { display:grid; grid-template-columns:90px 1fr 1fr; align-items:center; gap:22px; padding:28px 0; border-bottom:1px solid var(--line); }
.outcome > span { font-family:"Montserrat"; font-weight:800; font-size:1.8rem; color:var(--green); }
.outcome h3 { font-size:1.25rem; }
.outcome p { margin:0; color:#5e6b63; line-height:1.6; }

.cta-section { min-height:78vh; background:var(--deep); color:white; position:relative; overflow:hidden; display:grid; place-items:center; text-align:center; }
.cta-content { max-width:980px; position:relative; z-index:2; }
.cta-content h2 { font-size:clamp(2rem,3.8vw,3.6rem); line-height:1.2; }
.cta-content p { color:#bfd2c6; font-size:1.08rem; margin:28px auto 0; max-width:690px; }
.cta-actions { display:flex; justify-content:center; gap:12px; margin-top:34px; flex-wrap:wrap; }
.button-light { background:var(--green); color:#042c17; }
.button-light:hover { background:#20d878; }
.button-outline { border:1px solid rgba(255,255,255,.32); background:transparent; }
.button-outline:hover { background:white; color:var(--deep); }
.contact-meta { display:flex; justify-content:center; gap:30px; flex-wrap:wrap; margin-top:34px; font-size:.74rem; color:#b3c9bb; }
.contact-meta a:hover { color:white; }
.cta-orb { position:absolute; width:760px; height:760px; border-radius:50%; background:radial-gradient(circle,rgba(1,191,95,.42),rgba(1,191,95,0) 68%); animation:breathe 5s ease-in-out infinite; }

footer { background:#041b10; color:#b8c9be; padding:34px max(28px, calc((100vw - 1180px) / 2)); display:grid; grid-template-columns:1fr auto auto; gap:24px; align-items:center; font-size:.72rem; }
footer p { margin:0; }
footer a:hover { color:white; }

.reveal { opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.visible { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:.12s; }
.reveal-delay-2 { transition-delay:.24s; }

.mobile-menu { position:fixed; inset:0; width:100%; max-width:100vw; z-index:90; background:var(--deep); color:white; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:22px; padding:100px 20px 36px; font-family:"Montserrat"; font-weight:800; text-transform:uppercase; font-size:clamp(1.35rem,6.4vw,2rem); line-height:1.12; opacity:0; visibility:hidden; overflow-x:hidden; overflow-y:auto; transition:.3s; }
.mobile-menu.open { opacity:1; visibility:visible; }
.mobile-menu > ul { list-style:none; margin:0; padding:0; width:100%; max-width:520px; display:flex; flex-direction:column; align-items:center; gap:18px; }
.mobile-menu > ul > li { margin:0; padding:0; width:100%; text-align:center; }
.mobile-menu > ul > li > a { display:flex; align-items:center; justify-content:center; width:100%; max-width:100%; padding:4px 8px; white-space:normal; overflow-wrap:anywhere; text-align:center; }
.mobile-portal-login { margin-top:6px; max-width:calc(100vw - 40px); padding:12px 18px; border:1px solid rgba(1,191,95,.7); border-radius:999px; color:var(--green); font-size:.92rem; letter-spacing:.02em; text-align:center; white-space:normal; }
.mobile-portal-login span { margin-left:6px; }

@keyframes spin { to { transform:rotate(360deg); } }
@keyframes float { 0%,100%{transform:rotate(-2.5deg) translateY(0)}50%{transform:rotate(-1deg) translateY(-12px)} }
@keyframes float2 { 0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)} }
@keyframes signal { 0%{transform:translateX(-120%)}45%,55%{transform:translateX(145%)}100%{transform:translateX(-120%)} }
@keyframes marquee { to { transform:translateX(-50%); } }
@keyframes breathe { 0%,100%{transform:scale(.92);opacity:.7}50%{transform:scale(1.07);opacity:1} }

@media (max-width: 1260px) {
  .site-header { width:calc(100% - 24px); gap:18px; padding:11px 14px; }
  .brand-logo-image { width:195px; }
  .desktop-nav { gap:18px; font-size:.84rem; }
  .header-actions { gap:7px; }
  .portal-login { padding:0 12px; font-size:.72rem; }
  .button-small { padding:0 15px; font-size:.76rem; }
}

@media (max-width: 1100px) {
  .site-header { gap:12px; }
  .brand-logo-image { width:178px; }
  .desktop-nav { gap:13px; font-size:.76rem; }
  .header-actions { gap:5px; }
  .portal-login { min-height:42px; padding:0 10px; font-size:.66rem; }
  .button-small { min-height:42px; padding:0 12px; font-size:.68rem; }
  .technology-shell { gap:45px; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 980px) {
  .site-header { left:10px; transform:none; width:calc(100vw - 20px); max-width:calc(100vw - 20px); grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:9px 11px; }
  .brand { min-width:0; max-width:100%; }
  .brand-logo-image { width:min(180px,52vw); max-width:100%; height:auto; }
  .menu-toggle { flex:0 0 auto; width:42px; height:42px; padding:0; display:grid; place-items:center; border-radius:50%; }
  .diagnostic-shell { grid-template-columns:1fr; gap:48px; padding:54px; }
  .diagnostic-card { transform:none; }
  .technology-shell { grid-template-columns:1fr; gap:48px; }
  .portal-mockup { transform:none; }
  .clients-intro { grid-template-columns:1fr; gap:22px; }
  .clients-grid { grid-template-columns:repeat(3, minmax(0,1fr)); }
  .site-header { grid-template-columns:1fr auto; }
  .desktop-nav,.header-actions { display:none; }
  .menu-toggle { display:block; color:var(--deep); z-index:110; }
  .hero { grid-template-columns:1fr; gap:40px; padding-top:150px; }
  .hero-visual { min-height:520px; }
  .blog-grid { grid-template-columns:1fr; }
  .blog-header { align-items:flex-start; flex-direction:column; }
  .method-section { grid-template-columns:1fr; gap:54px; }
  .method-sticky { position:relative; top:auto; }
  .seo-panel { grid-template-columns:1fr; }
  footer { grid-template-columns:1fr; text-align:center; justify-items:center; }
}

@media (max-width: 680px) {
  .technology-copy h2 { font-size:clamp(1.8rem,8vw,2.4rem); }
  .technology-features article { grid-template-columns:34px 1fr; }
  .portal-layout { grid-template-columns:92px 1fr; min-height:360px; }
  .portal-sidebar { padding:18px 9px; font-size:.48rem; }
  .portal-sidebar strong { font-size:.55rem; }
  .portal-content { padding:16px 12px; gap:13px; }
  .portal-welcome strong { font-size:1rem; }
  .portal-kpis { gap:6px; }
  .portal-kpis div { padding:9px 7px; }
  .portal-kpis b { font-size:1rem; }
  .portal-kpis span { font-size:.45rem; }
  .portal-approval { align-items:flex-start; flex-direction:column; }
  .portal-window-top { grid-template-columns:70px 1fr auto; padding:0 10px; }
  .diagnostic-shell { padding:34px 22px; border-radius:28px; gap:38px; }
  .diagnostic-copy h2 { font-size:clamp(1.8rem,8vw,2.45rem); }
  .diagnostic-stats { grid-template-columns:1fr; }
  .diagnostic-stats div { display:flex; align-items:center; gap:12px; }
  .diagnostic-stats span { margin-top:0; }
  .diagnostic-score-wrap { align-items:flex-start; }
  .diagnostic-score { width:112px; height:112px; }
  .diagnostic-score strong { font-size:2rem; }
  .diagnostic-card { padding:22px 18px; border-radius:24px; }
  .diagnostic-bar { grid-template-columns:75px 1fr 24px; gap:8px; }
  .section-heading h2,
  .clients-intro h2,
  .method-sticky h2,
  .seo-copy h2 { font-size:clamp(1.7rem,7.5vw,2.25rem); line-height:1.24; }
  .cta-content h2 { font-size:clamp(1.95rem,8.5vw,2.7rem); line-height:1.22; }
  .site-header { top:10px; left:8px; width:calc(100vw - 16px); max-width:calc(100vw - 16px); padding:8px 10px; border-radius:26px; }
  .brand-logo-image { width:min(158px,48vw); }
  .menu-toggle { width:40px; height:40px; font-size:1.25rem; }
  .mobile-menu { padding:88px 16px 28px; gap:18px; font-size:clamp(1.22rem,6vw,1.65rem); }
  .mobile-menu > ul { gap:14px; }
  .mobile-portal-login { max-width:calc(100vw - 32px); padding:11px 16px; font-size:.84rem; }
  .footer-brand .brand-logo-image { width:220px; filter:brightness(0) invert(1); }
  .clients-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
  .client-logo-card { min-height:128px; padding:14px 10px; border-radius:20px; }
  .client-logo-media { height:72px; }
  .client-logo-media img { max-height:72px; }
  .client-logo-card.logo-uhoo .client-logo-media { height:88px; }
  .client-logo-card.logo-uhoo .client-logo-media img { max-height:88px; transform:scale(1.18); }
  .section-pad { padding:90px 20px; }
  .hero { padding-top:145px; }
  h1 { font-size:clamp(1.95rem,8vw,2.7rem); line-height:1.22; }
  .hero-proof { grid-template-columns:1fr; }
  .hero-visual { min-height:470px; margin-top:15px; }
  .orbit-a { width:390px; height:390px; }
  .orbit-b { width:300px; height:300px; }
  .floating-card { font-size:.57rem; padding:11px 13px; }
  .floating-1 { top:60px; left:0; }
  .floating-2 { top:180px; right:-4px; }
  .floating-3 { bottom:70px; left:4px; }
  .main-card { padding:26px; }
  .card-title { font-size:2.15rem; }
  .services-grid { grid-template-columns:1fr; }
  .service-card { min-height:360px; }
  .seo-panel { padding:28px 20px; border-radius:24px; }
  .outcome { grid-template-columns:54px 1fr; }
  .outcome p { grid-column:2; }
  .method-step { grid-template-columns:54px 1fr; }
  .cta-section { min-height:85vh; }
  .contact-meta { flex-direction:column; gap:12px; }
  .cursor-glow { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.001ms !important; }
  .reveal { opacity:1; transform:none; }
}

/* WordPress integration */
body.admin-bar .site-header { top: 50px; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 62px; } }
.desktop-nav .menu, .desktop-nav ul { display:flex; gap:28px; align-items:center; margin:0; padding:0; list-style:none; }
.desktop-nav li, .mobile-menu li { list-style:none; margin:0; padding:0; }
.mobile-menu .menu, .mobile-menu ul { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:26px; margin:0; padding:0; }
.blog-visual { display:block; color:inherit; }
.blog-visual.has-image::before { background:linear-gradient(180deg,rgba(0,69,34,.04),rgba(0,69,34,.58)); border:0; border-radius:0; width:100%; height:100%; inset:0; z-index:1; }
.blog-visual.has-image::after { display:none; }
.blog-visual.has-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.blog-body h3 a { color:inherit; }
.blog-card-empty { grid-column:1/-1; max-width:380px; }
.wp-site-blocks { padding:0; }
.gdn-content-shell { padding:160px max(28px, calc((100vw - 960px) / 2)) 100px; min-height:70vh; }
.gdn-content-shell.wide { padding-left:max(28px, calc((100vw - 1180px) / 2)); padding-right:max(28px, calc((100vw - 1180px) / 2)); }
.gdn-page-header { margin-bottom:52px; }
.gdn-page-header h1 { font-size:clamp(2.2rem,5vw,4.5rem); line-height:1.12; max-width:950px; }
.gdn-page-header p { max-width:760px; color:#5e6b63; line-height:1.75; }
.gdn-post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.gdn-post-card { border:1px solid var(--line); border-radius:24px; overflow:hidden; background:#fff; transition:.3s ease; }
.gdn-post-card:hover { transform:translateY(-5px); box-shadow:0 22px 50px rgba(0,69,34,.09); }
.gdn-post-thumb { display:block; aspect-ratio:16/9; background:var(--deep); overflow:hidden; }
.gdn-post-thumb img { width:100%; height:100%; object-fit:cover; }
.gdn-post-card-body { padding:24px; }
.gdn-post-card-body h2 { font-size:1.35rem; line-height:1.3; text-transform:none; letter-spacing:0; }
.gdn-post-card-body p { color:#607067; line-height:1.7; }
.gdn-entry { max-width:820px; margin:auto; }
.gdn-entry .entry-meta { color:#718078; font-size:.82rem; margin:14px 0 34px; }
.gdn-entry-content { font-size:1.05rem; line-height:1.85; color:#26382f; }
.gdn-entry-content h2, .gdn-entry-content h3 { text-transform:none; letter-spacing:0; color:var(--deep); margin:1.8em 0 .7em; }
.gdn-entry-content h2 { font-size:2rem; }
.gdn-entry-content h3 { font-size:1.45rem; }
.gdn-entry-content img { max-width:100%; height:auto; border-radius:18px; }
.gdn-entry-content a { color:var(--deep); text-decoration:underline; text-decoration-color:var(--green); text-decoration-thickness:2px; }
.gdn-pagination { margin-top:48px; }
.gdn-pagination .nav-links { display:flex; gap:10px; flex-wrap:wrap; }
.gdn-pagination a, .gdn-pagination span { padding:10px 14px; border:1px solid var(--line); border-radius:999px; }
.screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media (max-width: 980px) { .gdn-post-grid { grid-template-columns:1fr 1fr; } }
@media (max-width: 680px) { .gdn-content-shell { padding-top:130px; } .gdn-post-grid { grid-template-columns:1fr; } }


/* v1.2.3 — navegação responsiva: evita sobreposição em notebooks e telas menores */
@media (max-width: 1180px) {
  .site-header {
    left:10px;
    transform:none;
    width:calc(100vw - 20px);
    max-width:calc(100vw - 20px);
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    padding:9px 11px;
  }
  .site-header .brand { min-width:0; max-width:100%; }
  .site-header .brand-logo-image { width:min(190px,48vw); max-width:100%; height:auto; }
  .desktop-nav,
  .header-actions { display:none!important; }
  .menu-toggle {
    display:grid!important;
    place-items:center;
    flex:0 0 auto;
    width:42px;
    height:42px;
    padding:0;
    border-radius:50%;
    color:var(--deep);
    z-index:110;
  }
}

/* Submenu Ferramentas no menu mobile */
.mobile-menu .gdn-tools-item { width:100%; text-align:center; }
.mobile-menu .gdn-tools-toggle {
  width:100%;
  justify-content:center;
  padding:4px 8px;
  color:#fff;
  font-size:inherit;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:inherit;
}
.mobile-menu .gdn-tools-toggle::after { display:none; }
.mobile-menu .gdn-tools-chevron { font-size:.72em; }
.mobile-menu .gdn-tools-submenu {
  width:min(430px, calc(100vw - 36px));
  max-height:0;
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  display:grid!important;
  gap:8px!important;
  margin:0 auto!important;
  padding:0!important;
  transition:max-height .3s ease, opacity .25s ease, padding .3s ease, margin .3s ease;
}
.mobile-menu .gdn-tools-item.is-open > .gdn-tools-submenu {
  max-height:260px;
  opacity:1;
  visibility:visible;
  margin-top:12px!important;
  padding:8px!important;
}
.mobile-menu .gdn-tools-submenu li { width:100%; }
.mobile-menu .gdn-tools-submenu a {
  display:block;
  width:100%;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(255,255,255,.06);
  text-align:left;
  text-transform:none;
}
.mobile-menu .gdn-tool-title { color:#fff; font-size:.86rem; line-height:1.25; }
.mobile-menu .gdn-tool-desc { color:#b9d2c3; font-size:.68rem; line-height:1.4; }
@media (max-width: 680px) {
  .mobile-menu { justify-content:flex-start; padding-top:94px; }
  .mobile-menu > .gdn-primary-menu { gap:12px!important; }
  .mobile-menu .gdn-tools-item.is-open > .gdn-tools-submenu { max-height:280px; }
}


/* v1.2.4 — desktop compacto + menu Ferramentas com Radar SEO */
@media (max-width: 1500px) and (min-width: 1221px) {
  .site-header {
    width: min(1348px, calc(100% - 20px));
    gap: 18px;
    padding: 10px 14px;
  }
  .brand-logo-image {
    width: 188px;
  }
  .desktop-nav {
    gap: 0;
    font-size: .80rem;
  }
  .desktop-nav .menu,
  .desktop-nav ul {
    gap: 17px;
  }
  .gdn-tools-toggle {
    gap: 4px;
  }
  .header-actions {
    gap: 7px;
  }
  .portal-login {
    min-height: 42px;
    padding: 0 11px;
    font-size: .68rem;
  }
  .header-actions .button-small {
    min-height: 42px;
    padding: 0 16px;
    font-size: .74rem;
  }
}

@media (max-width: 1220px) {
  .site-header {
    left:10px;
    transform:none;
    width:calc(100vw - 20px);
    max-width:calc(100vw - 20px);
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    padding:9px 11px;
  }
  .site-header .brand { min-width:0; max-width:100%; }
  .site-header .brand-logo-image { width:min(190px,48vw); max-width:100%; height:auto; }
  .desktop-nav,
  .header-actions { display:none!important; }
  .menu-toggle {
    display:grid!important;
    place-items:center;
    flex:0 0 auto;
    width:42px;
    height:42px;
    padding:0;
    border-radius:50%;
    color:var(--deep);
    z-index:110;
  }
}

/* Mais espaço para três ferramentas no dropdown */
.desktop-nav .gdn-tools-submenu {
  width: 340px;
}
.mobile-menu .gdn-tools-item.is-open > .gdn-tools-submenu {
  max-height: 390px;
}


/* v1.2.5 — cabeçalho responsivo para notebooks sem sobreposição */
@media (max-width: 1450px) and (min-width: 1301px) {
  .site-header {
    width: calc(100vw - 12px);
    max-width: 1440px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 10px;
    padding: 9px 10px 9px 13px;
  }
  .site-header .brand-logo-image {
    width: 166px;
  }
  .desktop-nav {
    width: 100%;
    min-width: 0;
    font-size: .73rem;
  }
  .desktop-nav .gdn-primary-menu,
  .desktop-nav .menu,
  .desktop-nav > ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 12px;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    white-space: nowrap;
  }
  .desktop-nav li {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
  }
  .gdn-tools-toggle { gap: 3px; }
  .header-actions {
    gap: 5px;
    min-width: 0;
  }
  .portal-login {
    min-height: 40px;
    padding: 0 10px;
    gap: 5px;
    font-size: .64rem;
  }
  .portal-login-icon { font-size: .88rem; }
  .header-actions .button-small {
    min-height: 40px;
    padding: 0 13px;
    font-size: .68rem;
  }
}

/* Mobile/tablet entra antes que os itens do desktop comecem a disputar espaço */
@media (max-width: 1300px) {
  .site-header {
    left: 10px;
    transform: none;
    width: calc(100vw - 20px);
    max-width: calc(100vw - 20px);
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 9px 11px;
  }
  .site-header .brand { min-width: 0; max-width: 100%; }
  .site-header .brand-logo-image { width: min(190px,48vw); max-width: 100%; height: auto; }
  .desktop-nav,
  .header-actions { display: none !important; }
  .menu-toggle {
    display: grid !important;
    place-items: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    padding: 0;
    border-radius: 50%;
    color: var(--deep);
    z-index: 110;
  }
}


/* v1.2.6 — correção definitiva do cabeçalho em notebooks */
@media (max-width: 1640px) and (min-width: 1501px) {
  .site-header {
    width: calc(100vw - 24px);
    max-width: 1580px;
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: 12px;
    padding: 10px 12px 10px 15px;
  }
  .site-header .brand-logo-image { width: 176px; }
  .desktop-nav { min-width: 0; font-size: .76rem; }
  .desktop-nav .gdn-primary-menu,
  .desktop-nav .menu,
  .desktop-nav > ul {
    gap: 13px;
    justify-content: center;
    flex-wrap: nowrap;
    white-space: nowrap;
  }
  .header-actions { gap: 7px; }
  .portal-login { min-height: 40px; padding: 0 10px; font-size: .66rem; }
  .header-actions .button-small { min-height: 40px; padding: 0 14px; font-size: .70rem; }
}

/* A partir de 1500 px para baixo, priorizamos legibilidade e evitamos qualquer sobreposição. */
@media (max-width: 1500px) {
  .site-header {
    left: 10px;
    transform: none;
    width: calc(100vw - 20px);
    max-width: calc(100vw - 20px);
    grid-template-columns: minmax(0,1fr) auto;
    gap: 8px;
    padding: 9px 11px;
  }
  .site-header .brand { min-width: 0; max-width: 100%; }
  .site-header .brand-logo-image { width: min(190px,48vw); max-width: 100%; height: auto; }
  .desktop-nav,
  .header-actions { display: none !important; }
  .menu-toggle {
    display: grid !important;
    place-items: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    padding: 0;
    border-radius: 50%;
    color: var(--deep);
    z-index: 110;
  }
}


/* v1.2.7 — Blog GDN: artigo padrão, autoria e metadados */
.gdn-single-shell {
  padding-top: 154px;
  padding-bottom: 110px;
}
.gdn-single-article {
  max-width: 920px;
  margin: 0 auto;
}
.gdn-single-header {
  margin-bottom: 38px;
}
.gdn-single-category {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: #e9f8ef;
  color: var(--deep);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 22px;
}
.gdn-single-header h1 {
  max-width: 920px;
  font-size: clamp(2.35rem, 5.2vw, 4.8rem);
  line-height: 1.06;
  letter-spacing: -.035em;
  text-transform: none;
}
.gdn-single-excerpt {
  max-width: 760px;
  margin: 24px 0 0;
  color: #596960;
  font-size: 1.12rem;
  line-height: 1.72;
}
.gdn-single-byline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.gdn-single-author-mini {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
}
.gdn-single-author-mini .avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px rgba(0,69,34,.12);
  flex: 0 0 auto;
}
.gdn-single-author-mini span,
.gdn-single-date span {
  display: block;
  color: #7a8780;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 3px;
}
.gdn-single-author-mini strong,
.gdn-single-date strong {
  color: var(--deep);
  font-size: .86rem;
  line-height: 1.3;
}
.gdn-single-author-mini a:hover strong { color: var(--green); }
.gdn-single-date {
  text-align: right;
  flex: 0 0 auto;
}
.gdn-single-featured {
  width: min(1120px, calc(100vw - 40px));
  margin: 0 50% 48px;
  transform: translateX(-50%);
  border-radius: 30px;
  overflow: hidden;
  background: #edf4ef;
  box-shadow: 0 18px 50px rgba(0,69,34,.08);
}
.gdn-single-featured img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 650px;
  object-fit: cover;
}
.gdn-entry-content > :first-child { margin-top: 0; }
.gdn-entry-content p { margin: 0 0 1.4em; }
.gdn-entry-content blockquote {
  margin: 2.2em 0;
  padding: 22px 26px;
  border-left: 4px solid var(--green);
  border-radius: 0 18px 18px 0;
  background: #f0f7f2;
  color: var(--deep);
  font-size: 1.12rem;
  line-height: 1.7;
}
.gdn-entry-content ul,
.gdn-entry-content ol {
  padding-left: 1.4em;
  margin: 0 0 1.6em;
}
.gdn-entry-content li { margin-bottom: .6em; }
.gdn-entry-content figure { margin: 2.2em 0; }
.gdn-entry-content figcaption {
  margin-top: 8px;
  color: #7a8780;
  font-size: .72rem;
  line-height: 1.5;
  text-align: center;
}
.gdn-author-box {
  display: grid;
  grid-template-columns: 86px minmax(0,1fr);
  gap: 22px;
  align-items: start;
  margin-top: 66px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(0,69,34,.05);
}
.gdn-author-box .avatar {
  width: 86px;
  height: 86px;
  border-radius: 50%;
  object-fit: cover;
}
.gdn-author-box-label {
  display: block;
  color: var(--green);
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 7px;
}
.gdn-author-box h3 {
  font-size: 1.3rem;
  line-height: 1.25;
  text-transform: none;
  letter-spacing: 0;
}
.gdn-author-box p {
  margin: 10px 0 0;
  color: #607067;
  font-size: .86rem;
  line-height: 1.7;
}
.gdn-post-navigation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
  margin-top: 26px;
}
.gdn-post-navigation a {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-height: 118px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.gdn-post-navigation a:hover {
  transform: translateY(-3px);
  border-color: rgba(1,191,95,.34);
  box-shadow: 0 12px 32px rgba(0,69,34,.07);
}
.gdn-post-navigation span {
  color: #7a8780;
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.gdn-post-navigation strong {
  color: var(--deep);
  font-size: .86rem;
  line-height: 1.4;
}
.gdn-post-navigation .next-post { text-align: right; }

/* Listagem do blog — autor + data */
.gdn-blog-card-meta {
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:13px;
  color:#718078;
  font-size:.68rem;
  line-height:1.35;
}
.gdn-blog-card-meta .avatar {
  width:26px;
  height:26px;
  border-radius:50%;
  object-fit:cover;
  flex:0 0 auto;
}
.gdn-blog-card-meta strong {
  color:var(--deep);
  font-size:.7rem;
}
.gdn-blog-card-meta .sep { color:#b1bbb5; }

@media (max-width: 720px) {
  .gdn-single-shell { padding-top: 128px; padding-left: 18px; padding-right: 18px; }
  .gdn-single-header h1 { font-size: clamp(2rem, 10vw, 3rem); line-height: 1.08; }
  .gdn-single-excerpt { font-size: 1rem; }
  .gdn-single-byline { align-items: flex-start; flex-direction: column; gap: 16px; }
  .gdn-single-date { text-align: left; }
  .gdn-single-featured { width: 100%; margin: 0 0 34px; transform: none; border-radius: 20px; }
  .gdn-author-box { grid-template-columns: 64px minmax(0,1fr); gap: 16px; padding: 20px; }
  .gdn-author-box .avatar { width:64px; height:64px; }
  .gdn-post-navigation { grid-template-columns: 1fr; }
  .gdn-post-navigation .next-post { text-align:left; }
  .gdn-entry-content { font-size: 1rem; line-height: 1.78; }
  .gdn-entry-content h2 { font-size: 1.65rem; }
}


/* v1.2.8 — refinamento visual do blog */
.gdn-single-shell {
  padding-top: 148px;
}
.gdn-single-header {
  margin-bottom: 30px;
}
.gdn-single-excerpt {
  max-width: 720px;
  font-size: 1.06rem;
}
.gdn-single-byline {
  margin-top: 30px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f6faf7 100%);
  box-shadow: 0 8px 26px rgba(0,69,34,.04);
}
.gdn-single-author-mini { gap: 12px; }
.gdn-single-author-mini .avatar {
  width: 56px;
  height: 56px;
  border: 3px solid #fff;
}
.gdn-single-author-mini strong,
.gdn-single-date strong {
  font-size: .95rem;
}
.gdn-single-date {
  padding-left: 18px;
  border-left: 1px solid var(--line);
}
.gdn-single-featured {
  width: min(920px, calc(100vw - 40px));
  margin: 0 auto 42px;
  transform: none;
  border-radius: 24px;
  box-shadow: 0 16px 42px rgba(0,69,34,.08);
}
.gdn-single-featured img {
  max-height: 500px;
}
.gdn-entry-content {
  font-size: 1.03rem;
}
.gdn-author-box {
  grid-template-columns: 74px minmax(0,1fr);
  gap: 18px;
  align-items: center;
  margin-top: 58px;
  padding: 22px 24px;
  border: 1px solid rgba(1,191,95,.18);
  border-radius: 24px;
  background: linear-gradient(135deg, #ffffff 0%, #f2fbf6 100%);
  box-shadow: 0 12px 32px rgba(0,69,34,.04);
  position: relative;
  overflow: hidden;
}
.gdn-author-box::after {
  content: "";
  position: absolute;
  right: -24px;
  top: -30px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(1,191,95,.12) 0%, rgba(1,191,95,0) 70%);
}
.gdn-author-box > * { position: relative; z-index: 1; }
.gdn-author-box .avatar {
  width: 74px;
  height: 74px;
  border-radius: 20px;
  object-fit: cover;
  box-shadow: 0 8px 20px rgba(0,69,34,.10);
}
.gdn-author-box-label {
  margin-bottom: 4px;
}
.gdn-author-box h3 {
  font-size: 1.12rem;
  margin: 0;
}
.gdn-author-box p {
  margin-top: 8px;
  font-size: .92rem;
  line-height: 1.68;
  max-width: 680px;
}
.gdn-post-navigation {
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
  margin-top: 20px;
}
.gdn-post-navigation a {
  min-height: 102px;
  padding: 18px 20px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(0,69,34,.04);
}
.gdn-post-navigation a span {
  color: #6c796f;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.gdn-post-navigation a strong {
  font-size: 1rem;
  line-height: 1.42;
}
@media (max-width: 900px) {
  .gdn-single-byline {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .gdn-single-date {
    width: 100%;
    text-align: left;
    padding-left: 0;
    border-left: 0;
    padding-top: 12px;
    border-top: 1px solid var(--line);
  }
  .gdn-single-featured {
    width: min(100%, calc(100vw - 28px));
    margin-bottom: 34px;
  }
  .gdn-single-featured img {
    max-height: 360px;
  }
  .gdn-author-box {
    grid-template-columns: 1fr;
    text-align: left;
    gap: 14px;
  }
  .gdn-author-box .avatar {
    width: 84px;
    height: 84px;
  }
  .gdn-post-navigation {
    grid-template-columns: 1fr;
  }
}
