/* Max Ytetsu v2 (out/2026): paleta da marca, claro e escuro. Tudo preso em body.mxy-v2. */
body.mxy-v2 {
  --bg:#FBFBFD; --bg2:#F3F4F8; --surface:#FFFFFF; --surf2:#ECEEF4; --border:rgba(47,52,99,.14);
  --blue:#318F9B; --blue-lt:#1E6F7A; --cyan:#318F9B; --amber:#F07300; --accent:#2F3463;
  --text:#1B1E3A; --muted:#50547A; --subtle:#6B6F94;
  --cta:#F07300; --cta-ink:#1B1E3A; --grad:linear-gradient(#F07300,#F07300);
  --navy:#2F3463; --shadow:0 1px 2px rgba(27,30,58,.05),0 14px 36px rgba(27,30,58,.08);
  background:var(--bg); color:var(--text); -webkit-font-smoothing:antialiased;
}
@media (prefers-color-scheme:dark) {
  html:not([data-theme="light"]) body.mxy-v2 {
    --bg:#0D0F21; --bg2:#12152C; --surface:#181B38; --surf2:#22264C; --border:rgba(255,255,255,.11);
    --blue:#4FB3BF; --blue-lt:#74CAD4; --cyan:#4FB3BF; --text:#F3F4FA; --muted:#AEB2CD; --subtle:#8388AB;
    --navy:#22264C; --shadow:0 1px 2px rgba(0,0,0,.3),0 14px 36px rgba(0,0,0,.35);
  }
}
html[data-theme="dark"] body.mxy-v2 {
  --bg:#0D0F21; --bg2:#12152C; --surface:#181B38; --surf2:#22264C; --border:rgba(255,255,255,.11);
  --blue:#4FB3BF; --blue-lt:#74CAD4; --cyan:#4FB3BF; --text:#F3F4FA; --muted:#AEB2CD; --subtle:#8388AB;
  --navy:#22264C; --shadow:0 1px 2px rgba(0,0,0,.3),0 14px 36px rgba(0,0,0,.35);
}

/* Barra do topo e menu do celular: sempre em navy, nos dois temas (o logo foi feito para fundo escuro). */
body.mxy-v2 #navbar, body.mxy-v2 .mobile-menu {
  --surface:#22264C; --surf2:#2D3260; --border:rgba(255,255,255,.12); --text:#F3F4FA; --muted:#C3C6DC; --subtle:#9498B8; --blue-lt:#7FD0DA;
}
body.mxy-v2 #navbar, body.mxy-v2 #navbar.solid { background:rgba(27,30,58,.9); -webkit-backdrop-filter:saturate(160%) blur(18px); backdrop-filter:saturate(160%) blur(18px); border-bottom:1px solid rgba(255,255,255,.08); padding:.6rem 0; }
body.mxy-v2 .custom-logo { height:46px !important; }
body.mxy-v2 .btn-primary, body.mxy-v2 .v2-btn-primary { background:var(--cta); color:var(--cta-ink); box-shadow:none; border-radius:999px; }
body.mxy-v2 .nv-panel { box-shadow:0 24px 60px rgba(0,0,0,.35); }
body.mxy-v2 .mm-logo, body.mxy-v2 .ft-name { font-family:'Archivo','Inter',sans-serif; font-weight:800; }
body.mxy-v2 footer { background:var(--bg2); }
.v2-theme { width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.16); background:transparent; color:#F3F4FA; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; margin-left:.25rem; }
.v2-theme:hover { background:rgba(255,255,255,.1); }

/* Base */
.v2 { font-family:'Inter',system-ui,-apple-system,sans-serif; }
.v2-wrap { max-width:1120px; margin:0 auto; padding:0 24px; }
.v2-sec { padding:clamp(72px,10vw,128px) 0; }
.v2-alt { background:var(--bg2); }
.v2-eyebrow { display:block; font:600 .78rem/1.2 'Inter',sans-serif; letter-spacing:.09em; text-transform:uppercase; color:var(--blue-lt); }
.v2-h1 { font:800 clamp(2.5rem,6.2vw,4.5rem)/1.03 'Archivo','Inter',sans-serif; letter-spacing:-.03em; margin:1rem 0 1.25rem; text-wrap:balance; color:var(--text); }
.v2-h2 { font:800 clamp(1.85rem,3.8vw,2.9rem)/1.08 'Archivo','Inter',sans-serif; letter-spacing:-.025em; margin:.8rem 0 1rem; text-wrap:balance; color:var(--text); }
.v2-h3 { font:700 1.25rem/1.25 'Inter',sans-serif; letter-spacing:-.01em; margin:0; color:var(--text); }
.v2-lead { font-size:clamp(1.06rem,1.6vw,1.25rem); line-height:1.6; color:var(--muted); max-width:56ch; margin:0; }
.v2-head { max-width:720px; margin-bottom:clamp(36px,5vw,56px); }
.v2 p { color:var(--muted); line-height:1.65; margin:0; }
.v2-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:52px; padding:0 26px; border-radius:999px; border:0; font:600 1rem/1 'Inter',sans-serif; text-decoration:none; cursor:pointer; transition:transform .15s, box-shadow .15s, background .15s; }
.v2-btn-primary:hover { transform:translateY(-1px); box-shadow:0 10px 26px rgba(240,115,0,.3); }
.v2-btn-ghost { color:var(--text); background:transparent; box-shadow:inset 0 0 0 1px var(--border); }
.v2-btn-ghost:hover { background:var(--surf2); }
.v2-btns { display:flex; flex-wrap:wrap; gap:12px; margin-top:2rem; }
.v2 a:focus-visible, .v2 button:focus-visible, .v2 summary:focus-visible, .v2 input:focus-visible, .v2 select:focus-visible, .v2 textarea:focus-visible { outline:2px solid var(--blue); outline-offset:3px; }
.v2-more { display:inline-flex; align-items:center; gap:6px; color:var(--blue-lt); font-weight:600; font-size:.95rem; text-decoration:none; margin-top:auto; }
.v2-more:hover { text-decoration:underline; }

/* Hero */
.v2-hero { padding:clamp(128px,15vw,184px) 0 clamp(64px,8vw,104px); }
.v2-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(32px,6vw,80px); align-items:center; }
.v2-photo { position:relative; border-radius:32px; overflow:hidden; aspect-ratio:4/5; background:var(--surf2); box-shadow:var(--shadow); }
.v2-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.v2-facts { display:flex; flex-wrap:wrap; gap:14px 44px; margin:clamp(40px,6vw,64px) 0 0; padding:28px 0 0; border-top:1px solid var(--border); }
.v2-facts div { display:flex; flex-direction:column; gap:4px; }
.v2-facts dt { font:800 1.9rem/1 'Archivo','Inter',sans-serif; letter-spacing:-.02em; color:var(--text); }
.v2-facts dd { margin:0; font-size:.9rem; color:var(--muted); }

/* Cards */
.v2-grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.v2-card { background:var(--surface); border:1px solid var(--border); border-radius:24px; padding:32px; display:flex; flex-direction:column; gap:16px; transition:transform .2s, box-shadow .2s; }
.v2-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.v2-ico { width:46px; height:46px; border-radius:13px; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb,var(--blue) 14%,transparent); color:var(--blue-lt); }
.v2-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.v2-list li { position:relative; padding-left:26px; color:var(--muted); font-size:.96rem; line-height:1.5; }
.v2-list li::before { content:""; position:absolute; left:2px; top:.42em; width:12px; height:7px; border-left:2px solid var(--blue); border-bottom:2px solid var(--blue); transform:rotate(-45deg); }

/* Etapas */
.v2-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; counter-reset:s; list-style:none; padding:0; margin:0; }
.v2-steps li { counter-increment:s; padding-top:22px; border-top:2px solid var(--border); display:flex; flex-direction:column; gap:10px; }
.v2-steps li::before { content:"0" counter(s); font:800 1rem/1 'Archivo','Inter',sans-serif; color:var(--blue-lt); }

/* Projetos e artigos */
.v2-tile { display:flex; flex-direction:column; gap:14px; text-decoration:none; color:inherit; }
.v2-thumb { border-radius:20px; overflow:hidden; aspect-ratio:16/10; background:var(--surf2); border:1px solid var(--border); }
.v2-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.v2-tile:hover .v2-thumb img { transform:scale(1.03); }
.v2-tile small { color:var(--subtle); font-size:.82rem; }
.v2-tile strong { font:700 1.08rem/1.35 'Inter',sans-serif; color:var(--text); letter-spacing:-.005em; }
.v2-rowhead { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:clamp(32px,4vw,48px); }
.v2-rowhead .v2-h2 { margin-bottom:0; }

/* Faixa do CRM */
.v2-crm { background:var(--navy); color:#F3F4FA; border-radius:36px; padding:clamp(36px,6vw,72px); display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(28px,5vw,64px); align-items:center; }
.v2-crm .v2-eyebrow { color:#7FD0DA; }
.v2-crm .v2-h2 { color:#fff; }
.v2-crm p { color:#C9CCE2; }
.v2-crm .v2-list li { color:#E4E6F3; font-size:1.02rem; }
.v2-crm .v2-list li::before { border-color:#7FD0DA; }
.v2-crm .v2-btn-ghost { color:#fff; box-shadow:inset 0 0 0 1px rgba(255,255,255,.28); }
.v2-crm .v2-btn-ghost:hover { background:rgba(255,255,255,.1); }

/* Perguntas */
.v2-faq { max-width:780px; }
.v2-faq details { border-bottom:1px solid var(--border); }
.v2-faq summary { list-style:none; cursor:pointer; padding:22px 40px 22px 0; position:relative; font:600 1.08rem/1.4 'Inter',sans-serif; color:var(--text); }
.v2-faq summary::-webkit-details-marker { display:none; }
.v2-faq summary::after { content:""; position:absolute; right:6px; top:50%; width:10px; height:10px; border-right:2px solid var(--subtle); border-bottom:2px solid var(--subtle); transform:translateY(-70%) rotate(45deg); transition:transform .2s; }
.v2-faq details[open] summary::after { transform:translateY(-30%) rotate(-135deg); }
.v2-faq details p { padding:0 0 24px; max-width:64ch; }

/* Contato */
.v2-contact { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,80px); align-items:start; }
.v2-form { background:var(--surface); border:1px solid var(--border); border-radius:28px; padding:clamp(24px,4vw,40px); display:flex; flex-direction:column; gap:18px; box-shadow:var(--shadow); }
.v2-form label { display:flex; flex-direction:column; gap:8px; font:600 .9rem/1.2 'Inter',sans-serif; color:var(--text); }
.v2-form input, .v2-form select, .v2-form textarea { width:100%; min-height:52px; padding:14px 16px; border-radius:14px; border:1px solid var(--border); background:var(--bg); color:var(--text); font:400 1rem/1.4 'Inter',sans-serif; }
.v2-form textarea { min-height:104px; resize:vertical; }
.v2-form .v2-btn { width:100%; }
.v2-form small { color:var(--subtle); font-size:.84rem; line-height:1.5; }

@media (max-width:960px) {
  .v2-hero-grid, .v2-crm, .v2-contact { grid-template-columns:1fr; }
  .v2-photo { max-width:420px; aspect-ratio:1/1; }
  .v2-grid3 { grid-template-columns:1fr; }
  .v2-steps { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px) {
  .v2-steps { grid-template-columns:1fr; }
  .v2-btn { width:100%; }
  .v2-card { padding:26px; }
}
@media (prefers-reduced-motion:reduce) { .v2 *, .v2-btn { transition:none !important; } }

/* ── Paginas com estilo proprio no conteudo (MCC, calculadora, licenca): ficam sempre no tema escuro ── */
html body.mxy-v2.mxy-dark-only {
  --bg:#0D0F21; --bg2:#12152C; --surface:#181B38; --surf2:#22264C; --border:rgba(255,255,255,.11);
  --blue:#4FB3BF; --blue-lt:#74CAD4; --cyan:#4FB3BF; --text:#F3F4FA; --muted:#AEB2CD; --subtle:#8388AB;
  --navy:#22264C; --shadow:0 1px 2px rgba(0,0,0,.3),0 14px 36px rgba(0,0,0,.35);
}

/* ── Ajustes das paginas antigas para a paleta nova (claro e escuro) ── */
body.mxy-v2 :is(h1,h2) { font-family:'Archivo','Inter',sans-serif; font-weight:800; letter-spacing:-.02em; }
body.mxy-v2 .btn { border-radius:999px; }
body.mxy-v2 .btn-primary:hover { box-shadow:0 10px 26px rgba(240,115,0,.3); }
body.mxy-v2 .btn-ghost:hover { background:var(--surf2); border-color:var(--border); }
body.mxy-v2 :is(.step-num,.tl-num,.testimonial-avatar,.mm-logo-mark,.mm-brand-avatar) { background:var(--cta); color:var(--cta-ink); }
body.mxy-v2 :is(.grad-text,.metric-number) { background:none; -webkit-background-clip:border-box; background-clip:border-box; -webkit-text-fill-color:currentColor; color:var(--blue-lt); }
body.mxy-v2 :is(.pill,.hero-badge,.tag,.contact-badge,.blog-category) { background:color-mix(in srgb,var(--blue) 12%,transparent); border-color:color-mix(in srgb,var(--blue) 26%,transparent); color:var(--blue-lt); }
body.mxy-v2 :is(.svc-icon,.platform-icon-wrap,.ben-icon,.feat-icon) { background:color-mix(in srgb,var(--blue) 13%,transparent); color:var(--blue-lt); }
body.mxy-v2 :is(.service-card,.platform-card,.testimonial-card,.benefit-card,.feature-item,.contact-card,.port-card,.blog-card):hover { border-color:color-mix(in srgb,var(--blue) 40%,transparent); box-shadow:var(--shadow); }
body.mxy-v2 :is(.hero-bg,.page-hero::before,.cta-banner,.cta-banner::before,.blog-hero-gradient,.about-card::before) { background-image:none; }
body.mxy-v2 :is(.service-card,.platform-card)::before { background:var(--blue); }
body.mxy-v2 .process-grid::before, body.mxy-v2 .tl-line { background:var(--border); }
body.mxy-v2 .faq-trigger:hover, body.mxy-v2 .toc-link.toc-active, body.mxy-v2 .blog-content blockquote { background:color-mix(in srgb,var(--blue) 9%,transparent); }
body.mxy-v2 .blog-cta-box { background:var(--bg2); }
body.mxy-v2 .blog-content a { color:var(--blue-lt); }
body.mxy-v2 .svc-card-link { color:var(--blue-lt); }
body.mxy-v2 .svc-card-link:hover { color:var(--text); }
body.mxy-v2 .consent-bar::before { background:var(--blue); }

/* ── Paginas de servico v2 ── */
.v2-hero-s .v2-h1 { max-width:16ch; }
.v2-hero-s { padding-bottom:clamp(56px,7vw,88px); }
.v2-crumb { font-size:.85rem; color:var(--subtle); margin-bottom:1.5rem; }
.v2-crumb a { color:var(--muted); text-decoration:none; }
.v2-crumb a:hover { text-decoration:underline; }
.v2-split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,80px); align-items:start; }
.v2-list-lg { background:var(--surface); border:1px solid var(--border); border-radius:24px; padding:clamp(24px,3.5vw,36px); gap:16px; }
.v2-list-lg li { font-size:1.04rem; color:var(--text); }
.v2-rel { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:48px; }
.v2-rel .v2-more { margin-top:0; }
.v2-cta { grid-template-columns:1.4fr auto; }
.v2-cta .v2-h2 { margin-top:0; }
@media (max-width:960px) { .v2-split, .v2-cta { grid-template-columns:1fr; } }

/* ── Modelos v2: Servicos, Sobre, Contato, Portfolio ── */
.v2-sec-tight { padding:clamp(48px,7vw,88px) 0; }
.v2-sec-cta { padding-top:0; }
.v2-sec-cta .v2-btns { margin-top:0; }
.v2-grid4 { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.v2-card-link { text-decoration:none; color:inherit; }
.v2-card-link .v2-h3 { font-size:1.12rem; }
.v2-prose { display:flex; flex-direction:column; gap:1.1rem; }
.v2-prose p { font-size:1.08rem; line-height:1.75; color:var(--text); }
.v2-addr { font-style:normal; margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--border); color:var(--muted); line-height:1.7; font-size:.95rem; }
.v2-addr strong { color:var(--text); }
.v2-tile strong a { color:inherit; text-decoration:none; }
.v2-tile strong a:hover { text-decoration:underline; }
.v2-tile .v2-more { margin-top:0; font-size:.88rem; }
.v2-grid-port { gap:36px 20px; }
@media (max-width:1100px) { .v2-grid4 { grid-template-columns:repeat(2,1fr); } }

/* ── Blog e artigos: leitura ── */
body.mxy-v2 .blog-content { font-size:1.09rem; line-height:1.8; max-width:70ch; }
body.mxy-v2 .blog-content p { margin-bottom:1.25rem; }
body.mxy-v2 .blog-content :is(h2,h3) { margin-top:2.2rem; scroll-margin-top:90px; text-wrap:balance; }
body.mxy-v2 .blog-content img { border-radius:16px; height:auto; }
body.mxy-v2 .blog-content :is(ul,ol) { padding-left:1.3rem; margin-bottom:1.25rem; }
body.mxy-v2 .blog-content li { margin-bottom:.5rem; }
.rp { position:fixed; left:0; top:0; height:3px; width:100%; transform:scaleX(0); transform-origin:0 50%; background:var(--cta,#F07300); z-index:300; pointer-events:none; }

/* ── Transicao suave entre paginas (navegadores compativeis) ── */
@view-transition { navigation:auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration:.18s; }

/* ════════════ CELULAR EM FORMATO DE APP (ate 960px) ════════════ */
.tb { display:none; }
@media (max-width:960px) {
  html { scroll-padding-top:72px; -webkit-text-size-adjust:100%; }
  body.mxy-v2 { padding-bottom:calc(68px + env(safe-area-inset-bottom)); -webkit-tap-highlight-color:transparent; }

  /* Barra do topo enxuta: logo e tema */
  body.mxy-v2 #navbar, body.mxy-v2 #navbar.solid { padding:.45rem 0; padding-top:calc(.45rem + env(safe-area-inset-top)); }
  body.mxy-v2 .custom-logo { height:38px !important; }
  body.mxy-v2 .hamburger { display:none; }
  body.mxy-v2 .wa-float { display:none; }

  /* Barra de abas */
  .tb { position:fixed; left:0; right:0; bottom:0; z-index:250; display:grid; grid-template-columns:repeat(5,1fr); align-items:end; padding:6px 6px calc(6px + env(safe-area-inset-bottom)); background:rgba(27,30,58,.94); -webkit-backdrop-filter:saturate(160%) blur(20px); backdrop-filter:saturate(160%) blur(20px); border-top:1px solid rgba(255,255,255,.1); }
  .tb-i { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-height:54px; padding:4px 2px; border:0; background:none; border-radius:14px; color:#A9ADC8; font:500 .68rem/1.1 'Inter',sans-serif; text-decoration:none; cursor:pointer; transition:color .15s, transform .1s; }
  .tb-i:active { transform:scale(.94); }
  .tb-i[aria-current="page"], .tb-i[aria-expanded="true"] { color:#fff; }
  .tb-i[aria-current="page"] svg, .tb-i[aria-expanded="true"] svg { color:#7FD0DA; }
  .tb-wa b { width:50px; height:50px; margin-top:-22px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(37,211,102,.4), 0 0 0 4px rgba(27,30,58,.94); }
  .tb-wa { color:#D6F5E1; }
  .tb-i:focus-visible { outline:2px solid #7FD0DA; outline-offset:-2px; }

  /* Menu "Mais" como folha que sobe de baixo */
  body.mxy-v2 .mobile-menu { top:auto; left:0; right:0; bottom:0; width:100%; height:auto; max-height:86dvh; border-right:0; border-top:1px solid rgba(255,255,255,.12); border-radius:26px 26px 0 0; padding:10px 18px calc(84px + env(safe-area-inset-bottom)); transform:translateY(105%); box-shadow:0 -18px 50px rgba(0,0,0,.45); z-index:240; }
  body.mxy-v2 .mobile-menu.open { transform:translateY(0); }
  body.mxy-v2 .mobile-menu::before { content:""; display:block; width:40px; height:4px; border-radius:4px; background:rgba(255,255,255,.28); margin:2px auto 12px; }
  body.mxy-v2 .mobile-menu-overlay { z-index:230; background:rgba(8,9,22,.6); }
  body.mxy-v2 .mm-header { padding-bottom:.8rem; margin-bottom:.5rem; }
  body.mxy-v2 .mm-item { min-height:52px; font-size:1.02rem; }
  body.mxy-v2 .mm-submenu a { min-height:44px; display:flex; align-items:center; font-size:.96rem; }
  body.mxy-v2 .mm-footer { display:none; }

  /* Aviso de cookies acima da barra de abas */
  #mclc-banner { bottom:calc(68px + env(safe-area-inset-bottom)) !important; }

  /* Leitura e toque */
  .v2-wrap { padding:0 20px; }
  .v2-hero { padding-top:calc(96px + env(safe-area-inset-top)); }
  .v2-lead { font-size:1.08rem; }
  .v2 p, .v2-list li { font-size:1.02rem; }
  .v2-card { border-radius:22px; }
  .v2-card:active, .v2-tile:active { transform:scale(.985); }
  .v2-faq summary { padding:20px 36px 20px 0; min-height:56px; }
  .v2-form input, .v2-form select, .v2-form textarea { font-size:16px; } /* evita zoom automatico no iPhone */
  .v2-crm { border-radius:28px; }
  .v2-facts { gap:18px 28px; }
  .v2-facts dt { font-size:1.55rem; }
  .v2-grid4 { grid-template-columns:1fr 1fr; gap:12px; }
  .v2-grid4 .v2-card { padding:20px; gap:10px; }
  .v2-grid4 .v2-card p { font-size:.92rem; }
  .v2-grid-port { grid-template-columns:1fr 1fr; gap:26px 14px; }
  .v2-grid-port .v2-tile strong { font-size:.95rem; }

  /* Listas de projetos e artigos: deslizam de lado, como em app */
  .v2-snap { display:flex; grid-template-columns:none; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; margin:0 -20px; padding:4px 20px 14px; scrollbar-width:none; }
  .v2-snap::-webkit-scrollbar { display:none; }
  .v2-snap > * { flex:0 0 78%; scroll-snap-align:start; }

  /* Paginas antigas do blog */
  body.mxy-v2 .blog-content { font-size:1.08rem; line-height:1.78; }
  body.mxy-v2 .blog-sidebar { display:none; }
  body.mxy-v2 .container { padding-left:20px; padding-right:20px; }
}
@media (max-width:420px) {
  .v2-grid4 { grid-template-columns:1fr; }
  .v2-h1 { font-size:2.25rem; }
}
@media (display-mode:standalone) { body.mxy-v2 #navbar { padding-top:calc(.6rem + env(safe-area-inset-top)); } }

/* ── Capas: print do portfolio comeca no topo e rola no hover; capa de artigo sem corte ── */
.v2-thumb-shot { aspect-ratio:16/11; }
.v2-thumb-shot .v2-shot { width:100%; height:100%; object-fit:cover; object-position:50% 0; transition:object-position .9s ease; }
.v2-tile:hover .v2-thumb-shot .v2-shot { transform:none; }
@media (hover:hover) and (pointer:fine) {
  .v2-tile:hover .v2-thumb-shot .v2-shot, .v2-thumb-shot:focus-visible .v2-shot { object-position:50% 100%; transition:object-position 7s linear; }
}
.v2-thumb-post { aspect-ratio:2/1; }
.v2-thumb-post img { object-fit:cover; object-position:center; }
.v2-tile:hover .v2-thumb-post img { transform:none; }
@media (max-width:960px) {
  .v2-snap > * { flex-basis:82%; }
  #mclc-reopen { bottom:calc(80px + env(safe-area-inset-bottom)) !important; left:12px !important; width:38px !important; height:38px !important; font-size:17px !important; }
}
@media (prefers-reduced-motion:reduce) { .v2-thumb-shot .v2-shot { transition:none !important; } }

/* ── Validador de Segurança ── */
.sec-form { margin-top:2rem; max-width:720px; }
.sec-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.sec-form label { display:flex; flex-direction:column; gap:7px; font:600 .9rem/1.2 'Inter',sans-serif; color:var(--text); }
.sec-form input[type=text], .sec-form input[type=email] { min-height:54px; padding:14px 16px; border-radius:14px; border:1px solid var(--border); background:var(--surface); color:var(--text); font-size:16px; }
.sec-consent { flex-direction:row !important; align-items:flex-start; gap:10px; font-weight:400 !important; color:var(--muted) !important; margin-top:14px; font-size:.9rem; line-height:1.5; }
.sec-consent input { margin-top:3px; width:18px; height:18px; flex-shrink:0; }
.sec-submit { margin-top:18px; min-height:54px; }
.sec-erro { margin-top:12px; color:#e5484d; font-weight:600; font-size:.92rem; }
.sec-nota { margin-top:14px; color:var(--subtle); font-size:.85rem; }
.sec-stage .sec-center { text-align:center; max-width:640px; margin:0 auto; }

.sec-radar { width:96px; height:96px; margin:0 auto 1.5rem; position:relative; }
.sec-radar span { position:absolute; inset:0; border-radius:50%; border:2px solid var(--blue); opacity:0; animation:secPing 2.4s cubic-bezier(0,.2,.8,1) infinite; }
.sec-radar span:nth-child(2){ animation-delay:.8s; } .sec-radar span:nth-child(3){ animation-delay:1.6s; }
@keyframes secPing { 0%{ transform:scale(.3); opacity:.9; } 100%{ transform:scale(1); opacity:0; } }
.sec-steps { list-style:none; padding:0; margin:1.5rem auto 0; max-width:420px; text-align:left; display:flex; flex-direction:column; gap:12px; }
.sec-steps li { position:relative; padding-left:34px; color:var(--subtle); font-size:1rem; transition:color .3s; }
.sec-steps li::before { content:""; position:absolute; left:4px; top:50%; transform:translateY(-50%); width:16px; height:16px; border-radius:50%; border:2px solid var(--border); }
.sec-steps li.on { color:var(--text); font-weight:600; }
.sec-steps li.on::before { border-color:var(--blue); border-top-color:transparent; animation:secSpin .7s linear infinite; }
.sec-steps li.done { color:var(--muted); }
.sec-steps li.done::before { border-color:#3fae6a; background:#3fae6a; animation:none; }
.sec-steps li.done::after { content:""; position:absolute; left:9px; top:50%; transform:translateY(-62%) rotate(-45deg); width:7px; height:4px; border-left:2px solid #fff; border-bottom:2px solid #fff; }
@keyframes secSpin { to { transform:translateY(-50%) rotate(360deg); } }

.sec-head { display:grid; grid-template-columns:auto 1fr; gap:36px; align-items:center; margin-bottom:2.5rem; }
.sec-gauge { position:relative; width:160px; height:160px; flex-shrink:0; }
.sec-gauge svg { width:100%; height:100%; transform:rotate(-90deg); }
.sec-gauge .g-bg { fill:none; stroke:var(--surf2); stroke-width:10; }
.sec-gauge .g-fg { fill:none; stroke-width:10; stroke-linecap:round; transition:stroke-dashoffset 1s ease; }
.sec-gauge-num { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.sec-gauge-num strong { font:800 2.6rem/1 'Archivo','Inter',sans-serif; }
.sec-gauge-num span { font-size:.8rem; color:var(--muted); }
.sec-verd.v2-ok { color:#3fae6a; } .sec-verd.v2-warn { color:#d9a400; } .sec-verd.v2-bad { color:#e5484d; }
.sec-counts { display:flex; flex-wrap:wrap; gap:10px; margin-top:1.2rem; }
.sec-pill { display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border-radius:999px; background:var(--surf2); font-size:.85rem; color:var(--muted); border:1px solid var(--border); }
.sec-pill strong { color:var(--c); font-size:1rem; }

.sec-findings { display:flex; flex-direction:column; gap:12px; }
.sec-find { display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start; padding:20px 22px; border-radius:16px; background:var(--surface); border:1px solid var(--border); border-left:4px solid var(--c); }
.sec-find .sec-tag { font:700 .68rem/1 'Inter',sans-serif; letter-spacing:.05em; text-transform:uppercase; color:#fff; background:var(--c); padding:6px 10px; border-radius:7px; white-space:nowrap; }
.sec-find strong { display:block; color:var(--text); font-size:1.02rem; margin-bottom:4px; }
.sec-find p { color:var(--muted); font-size:.95rem; line-height:1.55; }
.sec-clean { padding:26px; border-radius:16px; background:color-mix(in srgb,#3fae6a 10%,transparent); border:1px solid color-mix(in srgb,#3fae6a 30%,transparent); color:var(--text); line-height:1.6; }
.sec-cta { margin-top:2.5rem; }

@media (max-width:720px) {
  .sec-row { grid-template-columns:1fr; }
  .sec-head { grid-template-columns:1fr; gap:20px; text-align:center; justify-items:center; }
  .sec-counts { justify-content:center; }
  .sec-find { grid-template-columns:1fr; gap:10px; }
}
@media (prefers-reduced-motion:reduce) { .sec-radar span, .sec-steps li.on::before { animation:none; } }

/* ── Relatório premium da Auditoria 360 ── */
.rep { background:var(--surface); border:1px solid var(--border); border-radius:28px; overflow:hidden; box-shadow:var(--shadow); }
.rep-top { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:26px clamp(22px,4vw,44px); background:#1B1E3A; color:#F3F4FA; background-image:linear-gradient(120deg,#1B1E3A 0%,#22264C 60%,#1F5F68 140%); }
.rep-logo { height:48px; width:auto; display:block; }
.rep-logo-txt { font:800 1.4rem/1 'Archivo','Inter',sans-serif; }
.rep-meta { display:flex; flex-direction:column; align-items:flex-end; gap:3px; text-align:right; }
.rep-meta span { font:600 .72rem/1 'Inter',sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#7FD0DA; }
.rep-meta strong { font:700 1.1rem/1.2 'Inter',sans-serif; color:#fff; word-break:break-all; }
.rep-meta small { color:#AEB2CD; font-size:.82rem; }
.rep-summary { display:grid; grid-template-columns:auto 1fr; gap:clamp(22px,4vw,44px); align-items:center; padding:clamp(26px,4vw,44px); border-bottom:1px solid var(--border); }
.rep-summary .v2-h2 { font-size:clamp(1.4rem,2.6vw,2rem); margin:.4rem 0 .6rem; }
.rep-summary p { color:var(--muted); }
.rep-pillars { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border-bottom:1px solid var(--border); }
.rep-pill { display:grid; grid-template-columns:auto 1fr auto; grid-template-rows:auto auto; align-items:center; gap:8px 12px; padding:20px 22px; background:var(--surface); text-decoration:none; color:var(--text); transition:background .15s; }
.rep-pill:hover { background:var(--bg2); }
.rep-pill-ico { width:40px; height:40px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; background:color-mix(in srgb,var(--blue) 13%,transparent); color:var(--blue-lt); flex-shrink:0; }
.rep-pill-name { font:600 .9rem/1.25 'Inter',sans-serif; }
.rep-pill strong { font:800 1.5rem/1 'Archivo','Inter',sans-serif; }
.rep-bar { grid-column:1 / -1; height:6px; border-radius:6px; background:var(--surf2); overflow:hidden; }
.rep-bar i { display:block; height:100%; border-radius:6px; transition:width 1s ease; }
.rep-sec { padding:clamp(24px,3.5vw,40px) clamp(22px,4vw,44px); border-bottom:1px solid var(--border); display:flex; flex-direction:column; gap:12px; scroll-margin-top:90px; }
.rep-sec-head { display:flex; align-items:center; gap:14px; margin-bottom:6px; }
.rep-sec-head h3 { font:800 1.3rem/1.2 'Archivo','Inter',sans-serif; margin:0; flex:1; color:var(--text); }
.rep-sec-head strong { font:800 1.2rem/1 'Archivo','Inter',sans-serif; }
.rep-sec-cta { align-self:flex-start; margin-top:6px; color:var(--blue-lt); font-weight:600; text-decoration:none; font-size:.95rem; }
.rep-sec-cta:hover { text-decoration:underline; }
.rep-cta { padding:clamp(28px,4vw,48px) clamp(22px,4vw,44px); background:var(--bg2); }
.rep-cta-head { max-width:680px; margin-bottom:22px; }
.rep-cta-head .v2-h2 { margin-top:0; }
.rep-cta-head p { color:var(--muted); }
.rep-cta-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-bottom:22px; }
.rep-cta-btn { display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:16px; border-radius:16px; background:var(--surface); border:1px solid var(--border); color:var(--text); text-decoration:none; font:600 .9rem/1.3 'Inter',sans-serif; transition:border-color .15s, transform .15s; }
.rep-cta-btn svg { color:var(--blue-lt); }
.rep-cta-btn:hover { border-color:color-mix(in srgb,var(--blue) 50%,transparent); transform:translateY(-2px); }
.rep-cta-main { display:flex; flex-wrap:wrap; gap:12px; }
.rep-foot { margin-top:22px; color:var(--subtle); font-size:.8rem; line-height:1.5; }

/* Card do validador na home */
.v2-audit { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(24px,5vw,56px); align-items:center; padding:clamp(30px,5vw,60px); border-radius:36px; color:#F3F4FA; background:#1B1E3A; background-image:radial-gradient(120% 140% at 100% 0%,#1F5F68 0%,transparent 55%),linear-gradient(135deg,#1B1E3A,#22264C); }
.v2-audit .v2-eyebrow { color:#7FD0DA; }
.v2-audit .v2-h2 { color:#fff; margin-bottom:.6rem; }
.v2-audit p { color:#C9CCE2; }
.v2-audit ul { list-style:none; padding:0; margin:1.2rem 0 0; display:flex; flex-wrap:wrap; gap:8px; }
.v2-audit li { padding:7px 13px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); font-size:.85rem; color:#E4E6F3; }
.v2-audit-form { display:flex; flex-direction:column; gap:12px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:24px; padding:clamp(20px,3vw,30px); }
.v2-audit-form label { font:600 .9rem/1.2 'Inter',sans-serif; color:#fff; display:flex; flex-direction:column; gap:8px; }
.v2-audit-form input { min-height:54px; padding:14px 16px; border-radius:14px; border:1px solid rgba(255,255,255,.18); background:rgba(13,15,33,.6); color:#fff; font-size:16px; }
.v2-audit-form input::placeholder { color:#8F93B5; }
.v2-audit-form small { color:#AEB2CD; font-size:.82rem; }

@media (max-width:960px) {
  .rep-pillars { grid-template-columns:1fr 1fr; }
  .rep-cta-grid { grid-template-columns:1fr 1fr; }
  .v2-audit { grid-template-columns:1fr; border-radius:28px; }
}
@media (max-width:600px) {
  .rep-top { flex-direction:column; align-items:flex-start; }
  .rep-meta { align-items:flex-start; text-align:left; }
  .rep-summary { grid-template-columns:1fr; justify-items:center; text-align:center; }
  .rep-summary .sec-counts { justify-content:center; }
  .rep-cta-main .v2-btn { width:100%; }
}

/* Impressão / PDF: só o relatório, com as cores */
@media print {
  @page { size:A4; margin:12mm; }
  body.mxy-v2 { padding:0 !important; background:#fff !important; }
  #navbar, .mobile-menu, .mobile-menu-overlay, .tb, .wa-float, footer.ft, .sec-hero, #secLoad, #o-que-verifico, .v2-faq, .v2-sec:not(#secResult), #mclc-banner, #mclc-reopen, .rep-cta-grid, .rep-cta-main, .rep-sec-cta, .nv-skip { display:none !important; }
  #secResult { padding:0 !important; }
  #secResult .v2-wrap { max-width:none; padding:0; }
  .rep { box-shadow:none; border:1px solid #ddd; }
  .rep, .rep * { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .rep-sec, .rep-pill, .sec-find { break-inside:avoid; }
}

/* Medição Lighthouse dentro do relatório */
.rep-lh { display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; padding:16px 18px; border-radius:16px; background:var(--bg2); border:1px solid var(--border); }
.rep-lh > span { flex:1 1 100%; font:600 .78rem/1 'Inter',sans-serif; letter-spacing:.06em; text-transform:uppercase; color:var(--subtle); }
.rep-lh b { display:flex; flex-direction:column; font:800 1.35rem/1.1 'Archivo','Inter',sans-serif; color:var(--text); }
.rep-lh b small { font:500 .75rem/1.3 'Inter',sans-serif; color:var(--muted); }
.rep-lh-wait { color:var(--muted); font-size:.92rem; gap:12px; }
.rep-lh-wait > span.rep-spin { flex:0 0 auto; width:16px; height:16px; border-radius:50%; border:2px solid var(--border); border-top-color:var(--blue); animation:secSpin .8s linear infinite; }
