:root{
      --blue-1000:#041747;
      --blue-950:#05205e;
      --blue-900:#062a78;
      --blue-800:#063ea4;
      --blue-700:#0954c8;
      --blue-600:#1767e9;
      --green:#55ae4e;
      --green-2:#70ca67;
      --yellow:#f5d63d;
      --white:#fff;
      --ink:#10182e;
      --muted:#66738d;
      --line:#e3e8f1;
      --soft:#f5f8fc;
      --shadow:0 26px 70px rgba(4,34,102,.16);
      --shadow-soft:0 14px 34px rgba(4,34,102,.08);
      --container:1180px;
      --radius-xl:32px;
      --radius-lg:24px;
      --radius-md:17px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      color:var(--ink);
      background:#fff;
      line-height:1.5;
      overflow-x:hidden;
    }
    body.lock{overflow:hidden}
    img{display:block;max-width:100%}
    a{text-decoration:none;color:inherit}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    section{scroll-margin-top:105px}
    .container{width:min(calc(100% - 36px),var(--container));margin-inline:auto}

    /* ===================== NAV ===================== */
    .nav-shell{
      position:fixed;
      z-index:100;
      top:16px;
      left:50%;
      transform:translateX(-50%);
      width:auto;
      max-width:calc(100% - 28px);
      border:1px solid rgba(255,255,255,.15);
      border-radius:22px;
      background:rgba(4,23,71,.92);
      color:#fff;
      backdrop-filter:blur(18px);
      -webkit-backdrop-filter:blur(18px);
      box-shadow:0 18px 46px rgba(3,17,59,.22);
    }
    .nav{
      min-height:60px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:8px 10px 8px 16px;
      white-space:nowrap;
    }

    .nav-links{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:3px;
      margin:0;
    }
    .nav-links a{
      padding:10px 13px;
      border-radius:12px;
      color:rgba(255,255,255,.78);
      font-size:12px;
      font-weight:850;
      transition:.2s ease;
      letter-spacing:.05px;
    }
    .nav-links a:hover,
    .nav-links a.active{
      background:rgba(255,255,255,.10);
      color:#fff;
    }
    .nav-cta{
      position:static;
      transform:none;
      min-height:42px;
      padding:0 17px;
      margin-left:7px;
      border:0;
      border-radius:13px;
      background:var(--yellow);
      color:var(--blue-1000);
      font-size:12px;
      font-weight:1000;
      box-shadow:0 9px 22px rgba(245,214,61,.17);
      transition:.2s ease;
    }
    .nav-cta:hover{
      transform:translateY(-1px);
      filter:brightness(1.02);
    }
    .menu-btn{
      display:none;
      width:44px;
      height:44px;
      border:0;
      border-radius:14px;
      background:rgba(255,255,255,.10);
      color:#fff;
      place-items:center;
    }

    /* ===================== HERO ===================== */
    .hero{
      position:relative;
      min-height:690px;
      overflow:hidden;
      background:#053489;
      color:#fff;
      isolation:isolate;
    }
    .hero-art{
      position:absolute;
      z-index:0;
      inset:0;
      overflow:hidden;
    }
    .hero-art .hero-photo{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center center;
      transform:scale(.94);
      transform-origin:center right;
      filter:brightness(1.03) contrast(1.05) saturate(1.03) ;
    }
    .hero-mobile-logo{
      display:none;
    }
    .hero-shade{
      position:absolute;
      z-index:1;
      inset:0;
      background:
        linear-gradient(90deg,
          rgba(3,24,75,.94) 0%,
          rgba(3,39,115,.88) 25%,
          rgba(4,53,145,.50) 41%,
          rgba(4,57,154,.12) 56%,
          rgba(4,57,154,0) 68%),
        linear-gradient(0deg,rgba(2,18,60,.08),rgba(2,18,60,0) 36%);
      pointer-events:none;
    }
    .hero-inner{
      position:relative;
      z-index:3;
      min-height:690px;
      display:flex;
      align-items:center;
      padding-top:88px;
      padding-bottom:48px;
    }
    .hero-copy{
      width:min(560px,50%);
    }
    .hero-logo{
      width:min(100%,380px);
      margin-bottom:20px;
      filter:drop-shadow(0 12px 22px rgba(1,13,51,.14));
    }

    .hero h1{
      margin:0;
      max-width:570px;
      font-size:clamp(36px,4.2vw,60px);
      line-height:1;
      letter-spacing:-2.2px;
      text-wrap:balance;
    }
    .hero h1 span{color:var(--yellow)}
    .hero-lead{
      max-width:570px;
      margin:20px 0 0;
      font-size:17px;
      line-height:1.6;
      color:rgba(255,255,255,.75);
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:11px;
      margin-top:28px;
    }
    .btn{
      min-height:54px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      padding:0 20px;
      border:1px solid transparent;
      border-radius:15px;
      font-size:13px;
      font-weight:1000;
      transition:.2s ease;
    }
    .btn svg{width:18px;height:18px}
    .btn-yellow{
      background:var(--yellow);
      color:var(--blue-1000);
      box-shadow:0 14px 28px rgba(245,214,61,.18);
    }
    .btn-yellow:hover{transform:translateY(-2px)}
    .btn-glass{
      border-color:rgba(255,255,255,.22);
      background:rgba(255,255,255,.10);
      color:#fff;
    }
    .btn-glass:hover{background:rgba(255,255,255,.16)}
    .hero-meta{
      display:flex;
      align-items:center;
      gap:18px;
      flex-wrap:wrap;
      margin-top:24px;
      color:rgba(255,255,255,.64);
      font-size:12px;
      font-weight:800;
    }
    .hero-meta span{
      display:flex;
      align-items:center;
      gap:8px;
    }
    .hero-meta i{
      width:9px;height:9px;border-radius:50%;
      background:var(--green-2);
      box-shadow:0 0 0 5px rgba(112,202,103,.12);
    }
    .hero-meta a{
      color:#fff;
      font-weight:1000;
    }

    /* ===================== INTRO ===================== */
    .intro-wrap{
      position:relative;
      z-index:7;
      margin-top:-48px;
    }
    .intro-panel{
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:22px;
      align-items:center;
      padding:27px 29px;
      border-radius:26px;
      background:#fff;
      border:1px solid var(--line);
      box-shadow:var(--shadow);
    }
    .intro-panel h2{
      margin:0;
      font-size:clamp(26px,3vw,38px);
      line-height:1.03;
      letter-spacing:-1.2px;
    }
    .intro-panel p{
      margin:9px 0 0;
      color:var(--muted);
      font-size:14px;
    }
    .intro-stats{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
    }
    .intro-stat{
      padding:17px;
      border-radius:17px;
      background:var(--soft);
      border:1px solid var(--line);
    }
    .intro-stat strong{
      display:block;
      color:var(--blue-900);
      font-size:25px;
      line-height:1;
      letter-spacing:-1px;
    }
    .intro-stat span{
      display:block;
      margin-top:6px;
      color:var(--muted);
      font-size:10px;
      font-weight:900;
      letter-spacing:.6px;
      text-transform:uppercase;
    }

    /* ===================== GENERAL ===================== */
    .section{padding:96px 0}
    .section-soft{background:var(--soft)}
    .section-head{
      display:flex;
      justify-content:space-between;
      gap:30px;
      align-items:end;
      margin-bottom:36px;
    }
    .section-head-main{max-width:720px}
    .eyebrow{
      color:var(--green);
      font-size:11px;
      font-weight:1000;
      letter-spacing:1.2px;
      text-transform:uppercase;
    }
    .section h2{
      margin:8px 0 0;
      font-size:clamp(34px,4.3vw,55px);
      line-height:1;
      letter-spacing:-2px;
    }
    .section-sub{
      max-width:500px;
      margin:0;
      color:var(--muted);
      font-size:15px;
    }

    /* ===================== SOBRE ===================== */
    .about-grid{
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:18px;
    }
    .about-feature{
      position:relative;
      min-height:390px;
      overflow:hidden;
      padding:34px;
      border-radius:var(--radius-xl);
      color:#fff;
      background:
        radial-gradient(circle at 88% 12%,rgba(112,202,103,.46),transparent 29%),
        linear-gradient(145deg,var(--blue-800),var(--blue-950));
      box-shadow:var(--shadow-soft);
    }
    .about-feature:after{
      content:"";
      position:absolute;
      right:-55px;bottom:-72px;
      width:190px;height:190px;
      border-radius:42px;
      transform:rotate(23deg);
      background:var(--yellow);
      opacity:.14;
    }
    .icon-box{
      width:55px;height:55px;
      display:grid;
      place-items:center;
      border-radius:17px;
      background:rgba(255,255,255,.12);
      color:var(--yellow);
    }
    .icon-box svg{width:25px;height:25px}
    .about-feature h3{
      margin:96px 0 11px;
      max-width:420px;
      font-size:34px;
      line-height:1.02;
      letter-spacing:-1.3px;
    }
    .about-feature p{
      max-width:430px;
      margin:0;
      color:rgba(255,255,255,.72);
      font-size:15px;
    }
    .focus-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:14px;
    }
    .focus-card{
      min-height:185px;
      padding:23px;
      border-radius:20px;
      border:1px solid var(--line);
      background:#fff;
      box-shadow:0 10px 27px rgba(17,46,132,.05);
      transition:.22s ease;
    }
    .focus-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}
    .focus-icon{
      width:46px;height:46px;
      display:grid;
      place-items:center;
      border-radius:14px;
      margin-bottom:25px;
      background:var(--blue-100);
      color:var(--blue-700);
    }
    .focus-card:nth-child(2) .focus-icon{background:#edf8ea;color:#3e8835}
    .focus-card:nth-child(3) .focus-icon{background:#fff8d6;color:#876f00}
    .focus-card:nth-child(4) .focus-icon{background:#eef1f7;color:#3f567f}
    .focus-icon svg{width:21px;height:21px}
    .focus-card strong{display:block;font-size:18px}
    .focus-card span{display:block;margin-top:6px;color:var(--muted);font-size:13px}


    /* ===================== PROPOSTAS — SHOWCASE ===================== */
    .proposals-showcase{
      position:relative;
      overflow:hidden;
      color:#fff;
      background:
        radial-gradient(circle at 18% 18%,rgba(27,103,233,.22),transparent 28%),
        radial-gradient(circle at 86% 76%,rgba(85,174,78,.16),transparent 30%),
        linear-gradient(145deg,#03143f 0%,#052568 48%,#063992 100%);
    }
    .proposals-showcase:before{
      content:"";
      position:absolute;
      inset:0;
      opacity:.18;
      pointer-events:none;
      background-image:
        linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
      background-size:58px 58px;
      mask-image:linear-gradient(90deg,#000,transparent 48%,#000);
    }
    .proposals-showcase:after{
      content:"";
      position:absolute;
      left:-130px;
      bottom:-150px;
      width:390px;
      height:390px;
      border-radius:54px;
      transform:rotate(28deg);
      background:linear-gradient(145deg,var(--yellow),var(--green));
      opacity:.10;
      pointer-events:none;
    }
    .proposal-showcase-grid{
      position:relative;
      z-index:2;
      display:grid;
      grid-template-columns:minmax(310px,.78fr) minmax(0,1.45fr);
      gap:62px;
      align-items:center;
    }

    /* CELULAR / MOCKUP */
    .proposal-phone-column{
      position:relative;
      min-height:650px;
      display:grid;
      place-items:center;
    }
    .phone-aura{
      position:absolute;
      width:440px;
      height:440px;
      border-radius:50%;
      background:
        radial-gradient(circle,rgba(23,103,233,.25) 0%,rgba(23,103,233,.06) 55%,transparent 72%);
      filter:blur(4px);
    }
    .proposal-phone{
      position:relative;
      width:300px;
      height:612px;
      padding:10px;
      border-radius:46px;
      background:linear-gradient(145deg,#0a0d15,#343944 48%,#06080d);
      box-shadow:
        0 36px 70px rgba(0,0,0,.38),
        0 0 0 1px rgba(255,255,255,.16),
        inset 0 0 0 1px rgba(255,255,255,.10);
      transform:rotate(-2deg);
    }
    .proposal-phone:before{
      content:"";
      position:absolute;
      inset:4px;
      border-radius:43px;
      border:1px solid rgba(255,255,255,.13);
      pointer-events:none;
    }
    .phone-island{
      position:absolute;
      z-index:8;
      top:18px;
      left:50%;
      transform:translateX(-50%);
      width:98px;
      height:25px;
      border-radius:999px;
      background:#020308;
      box-shadow:0 1px 0 rgba(255,255,255,.08);
    }
    .phone-screen{
      position:relative;
      height:100%;
      overflow:hidden;
      border-radius:37px;
      background:
        radial-gradient(circle at 78% 18%,rgba(112,202,103,.28),transparent 28%),
        linear-gradient(160deg,#0b52c9 0%,#07368f 48%,#04184e 100%);
    }
    .phone-screen:before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(145deg,transparent 0 54%,rgba(245,214,61,.14) 54% 61%,transparent 61%),
        radial-gradient(circle at 15% 82%,rgba(85,174,78,.22),transparent 28%);
      pointer-events:none;
    }
    .phone-top{
      position:absolute;
      z-index:5;
      top:42px;
      left:24px;
      right:24px;
    }
    .phone-top small{
      display:none;
    }
    .phone-top h3{
      margin:0;
      font-size:33px;
      line-height:.92;
      letter-spacing:-1.2px;
      color:#fff;
      max-width:175px;
      text-wrap:balance;
    }
    .phone-top h3 span{
      display:block;
      color:var(--yellow);
    }
    .phone-candidate{
      position:absolute;
      z-index:3;
      width:111%;
      max-width:none;
      left:50%;
      bottom:-34px;
      transform:translateX(-50%);
      filter:drop-shadow(0 24px 30px rgba(0,0,0,.30)) brightness(1.02) contrast(1.04) saturate(1.02);
    }
    .phone-bottom{
      position:absolute;
      z-index:6;
      left:20px;
      right:20px;
      bottom:18px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      padding:10px 12px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.15);
      background:rgba(3,18,61,.62);
      backdrop-filter:blur(8px);
      -webkit-backdrop-filter:blur(8px);
      color:rgba(255,255,255,.76);
      font-size:9px;
      font-weight:900;
      letter-spacing:.5px;
      text-transform:uppercase;
    }
    .phone-bottom b{color:#fff}
    .phone-bottom i{
      width:9px;height:9px;border-radius:50%;
      background:var(--green-2);
      box-shadow:0 0 0 4px rgba(112,202,103,.12);
    }

    /* CONTEÚDO / LISTA */
    .proposal-content{position:relative}
    .proposal-label{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 11px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.15);
      background:rgba(255,255,255,.06);
      color:rgba(255,255,255,.72);
      font-size:10px;
      font-weight:950;
      letter-spacing:1px;
      text-transform:uppercase;
    }
    .proposal-label i{
      width:7px;height:7px;border-radius:50%;
      background:var(--yellow);
      box-shadow:0 0 0 4px rgba(245,214,61,.10);
    }
    .proposal-content h2{
      margin:17px 0 0;
      max-width:760px;
      font-size:clamp(42px,5.1vw,72px);
      line-height:.98;
      letter-spacing:-2.6px;
      color:#fff;
    }
    .proposal-content h2 span{
      color:var(--yellow);
    }
    .proposal-intro{
      max-width:720px;
      margin:16px 0 0;
      color:rgba(255,255,255,.72);
      font-size:17px;
      line-height:1.6;
    }
    .proposal-list{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:11px;
      margin-top:29px;
    }
    .proposal-row{
      position:relative;
      min-height:90px;
      display:grid;
      grid-template-columns:52px 1fr 30px;
      gap:14px;
      align-items:center;
      padding:15px 15px 15px 12px;
      overflow:hidden;
      border-radius:17px;
      border:1px solid rgba(255,255,255,.10);
      background:
        linear-gradient(110deg,rgba(255,255,255,.09),rgba(255,255,255,.045));
      box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
      transition:.22s ease;
    }
    .proposal-row:before{
      content:"";
      position:absolute;
      left:0;
      top:0;
      bottom:0;
      width:3px;
      background:linear-gradient(180deg,var(--yellow),var(--green));
      opacity:.9;
    }
    .proposal-row:hover{
      transform:translateY(-3px);
      border-color:rgba(255,255,255,.17);
      background:linear-gradient(110deg,rgba(255,255,255,.12),rgba(255,255,255,.06));
      box-shadow:0 16px 28px rgba(0,0,0,.12);
    }
    .proposal-index{
      width:50px;
      height:50px;
      display:grid;
      place-items:center;
      border-radius:15px;
      color:#fff;
      font-size:14px;
      font-weight:1000;
      background:
        linear-gradient(145deg,rgba(245,214,61,.95),rgba(245,214,61,.10) 46%,rgba(85,174,78,.88));
      box-shadow:0 10px 24px rgba(0,0,0,.18);
    }
    .proposal-row:nth-child(even) .proposal-index{
      background:
        linear-gradient(145deg,rgba(85,174,78,.95),rgba(85,174,78,.14) 46%,rgba(23,103,233,.90));
    }
    .proposal-row strong{
      display:block;
      color:#fff;
      font-size:18px;
      line-height:1.18;
      letter-spacing:-.2px;
    }
    .proposal-row span{
      display:block;
      margin-top:5px;
      color:rgba(255,255,255,.56);
      font-size:11px;
      font-weight:800;
      letter-spacing:.35px;
      text-transform:uppercase;
    }
    .proposal-arrow{
      width:28px;
      height:28px;
      display:grid;
      place-items:center;
      border-radius:10px;
      color:rgba(255,255,255,.55);
      background:rgba(255,255,255,.06);
    }
    .proposal-arrow svg{width:14px;height:14px}
    .proposal-cta{
      display:inline-flex;
      align-items:center;
      gap:10px;
      margin-top:24px;
      min-height:50px;
      padding:0 18px;
      border-radius:14px;
      background:linear-gradient(90deg,var(--yellow),#ffe96d);
      color:var(--blue-1000);
      font-size:12px;
      font-weight:1000;
      box-shadow:0 14px 28px rgba(245,214,61,.15);
      transition:.2s ease;
    }
    .proposal-cta:hover{transform:translateY(-2px)}
    .proposal-cta svg{width:16px;height:16px}

    /* ===================== TRAJETÓRIA ===================== */
    .journey{
      color:#fff;
      background:
        radial-gradient(circle at 91% 9%,rgba(112,202,103,.25),transparent 25%),
        linear-gradient(142deg,var(--blue-1000),var(--blue-900));
    }
    .journey .eyebrow{color:var(--yellow)}
    .journey .section-sub{color:rgba(255,255,255,.67)}
    .journey-grid{
      display:grid;
      grid-template-columns:1fr .84fr;
      gap:24px;
    }
    .timeline{display:grid;gap:12px}
    .timeline-item{
      display:grid;
      grid-template-columns:48px 1fr;
      gap:14px;
      align-items:start;
      padding:18px;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.07);
    }
    .timeline-icon{
      width:48px;height:48px;
      display:grid;
      place-items:center;
      border-radius:15px;
      background:rgba(245,214,61,.14);
      color:var(--yellow);
    }
    .timeline-icon svg{width:21px;height:21px}
    .timeline-item strong{display:block;font-size:17px}
    .timeline-item span{display:block;margin-top:4px;color:rgba(255,255,255,.62);font-size:13px}
    .journey-card{
      align-self:stretch;
      padding:32px;
      border-radius:28px;
      background:#fff;
      color:var(--ink);
      box-shadow:0 24px 60px rgba(0,0,0,.18);
    }
    .journey-card .icon-box{
      background:#eef8eb;
      color:#3c8734;
    }
    .journey-card h3{
      margin:58px 0 10px;
      font-size:31px;
      line-height:1.03;
      letter-spacing:-1.1px;
    }
    .journey-card p{margin:0;color:var(--muted)}
    .journey-quote{
      margin-top:24px;
      padding-top:19px;
      border-top:1px solid var(--line);
      color:var(--blue-900);
      font-weight:1000;
    }

    /* ===================== CONTATO ===================== */
    .contact-grid{
      display:grid;
      grid-template-columns:1.06fr .94fr;
      gap:18px;
    }
    .contact-main{
      padding:34px;
      border-radius:var(--radius-xl);
      background:#fff;
      border:1px solid var(--line);
      box-shadow:var(--shadow-soft);
    }
    .contact-main h3{
      margin:0;
      font-size:35px;
      line-height:1.02;
      letter-spacing:-1.3px;
    }
    .contact-main p{
      max-width:620px;
      margin:12px 0 0;
      color:var(--muted);
      font-size:15px;
    }
    .contact-actions{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:24px;
    }
    .btn-blue{background:var(--blue-800);color:#fff}
    .btn-soft{background:var(--blue-100);color:var(--blue-900)}
    .contact-visual{
      position:relative;
      min-height:300px;
      overflow:hidden;
      padding:34px;
      border-radius:var(--radius-xl);
      color:#fff;
      background:
        radial-gradient(circle at 77% 18%,rgba(255,255,255,.16),transparent 28%),
        linear-gradient(145deg,var(--green),#3b8235);
    }
    .contact-visual:after{
      content:"";
      position:absolute;
      width:175px;height:175px;
      right:-45px;bottom:-62px;
      border-radius:38px;
      transform:rotate(22deg);
      background:var(--yellow);
      opacity:.17;
    }
    .contact-visual .icon-box{margin-bottom:67px}
    .contact-visual strong{
      position:relative;z-index:2;
      display:block;
      max-width:390px;
      font-size:30px;
      line-height:1.04;
      letter-spacing:-1px;
    }
    .contact-visual span{
      position:relative;z-index:2;
      display:block;
      max-width:390px;
      margin-top:10px;
      color:rgba(255,255,255,.77);
      font-size:14px;
    }

    /* ===================== SOCIAL ===================== */
    .social-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
    }
    .social-card{
      display:flex;
      align-items:center;
      gap:12px;
      padding:17px;
      border-radius:17px;
      border:1px solid var(--line);
      background:#fff;
      transition:.2s ease;
    }
    .social-card:hover{transform:translateY(-3px);box-shadow:0 13px 28px rgba(10,44,140,.08)}
    .social-icon{
      width:42px;height:42px;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      border-radius:13px;
      background:var(--blue-100);
      color:var(--blue-800);
      font-weight:1000;
    }
    .social-card strong{display:block;font-size:14px}
    .social-card span{display:block;margin-top:2px;color:var(--muted);font-size:11px}

    /* ===================== FINAL CTA ===================== */
    .final-cta{
      width:min(calc(100% - 36px),var(--container));
      margin:0 auto 92px;
      overflow:hidden;
      border-radius:36px;
      color:#fff;
      background:
        radial-gradient(circle at 86% 20%,rgba(112,202,103,.53),transparent 31%),
        linear-gradient(135deg,var(--blue-800),var(--blue-1000));
      box-shadow:var(--shadow);
    }
    .final-cta-inner{
      display:grid;
      grid-template-columns:1.18fr .82fr;
      gap:26px;
      align-items:center;
      padding:48px;
    }
    .final-cta h2{
      margin:0;
      font-size:clamp(34px,4.7vw,56px);
      line-height:1;
      letter-spacing:-2px;
    }
    .final-cta p{
      max-width:630px;
      margin:13px 0 0;
      color:rgba(255,255,255,.72);
    }
    .final-actions{display:flex;flex-direction:column;gap:10px}
    .btn-white{background:#fff;color:var(--blue-1000)}
    .btn-green{background:var(--green-2);color:#fff}

    /* ===================== FOOTER ===================== */
    footer{
      padding:42px 0 28px;
      color:#fff;
      background:
        radial-gradient(circle at 88% 18%,rgba(85,174,78,.12),transparent 25%),
        linear-gradient(145deg,#03143f,var(--blue-1000));
    }
    .footer-top{
      display:grid;
      grid-template-columns:.8fr 1.2fr;
      justify-content:space-between;
      align-items:start;
      gap:32px;
    }
    .footer-brand strong{display:block;font-size:25px;letter-spacing:-.8px}
    .footer-brand span{display:block;margin-top:6px;color:rgba(255,255,255,.60);font-size:12px}
    .footer-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}
    .footer-links a{
      padding:8px 10px;border-radius:10px;color:rgba(255,255,255,.68);
      font-size:11px;font-weight:850;transition:.2s ease;
    }
    .footer-links a:hover{color:#fff;background:rgba(255,255,255,.07)}
    .footer-campaign-id{
      margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:20px;
      padding:18px 20px;border:1px solid rgba(255,255,255,.10);border-radius:18px;
      background:rgba(255,255,255,.055);box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
    }
    .footer-campaign-id span{
      flex:0 0 auto;color:var(--yellow);font-size:10px;font-weight:1000;
      letter-spacing:1px;text-transform:uppercase;
    }
    .footer-campaign-id strong{
      text-align:right;color:#fff;font-size:12px;line-height:1.45;letter-spacing:.15px;
    }
    .footer-bottom{
      display:flex;justify-content:space-between;align-items:center;gap:20px;
      margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.09);
      color:rgba(255,255,255,.45);font-size:10px;
    }
    .footer-legal-links{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
    .footer-legal-links button{
      border:0;padding:6px 8px;border-radius:8px;background:transparent;
      color:rgba(255,255,255,.64);font-size:10px;font-weight:850;cursor:pointer;transition:.2s ease;
    }
    .footer-legal-links button:hover{color:#fff;background:rgba(255,255,255,.07)}
    .footer-legal-links i{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.28)}

    /* ===================== WHATSAPP ===================== */
    .wa-float{
      position:fixed;
      z-index:80;
      right:20px;bottom:20px;
      width:58px;height:58px;
      display:grid;
      place-items:center;
      border-radius:18px;
      background:#22c563;
      color:#fff;
      border:1px solid rgba(255,255,255,.55);
      box-shadow:0 16px 34px rgba(34,197,99,.34);
      transition:.2s ease;
    }
    .wa-float:hover{transform:translateY(-3px)}
    .wa-float svg{width:28px;height:28px}

    /* ===================== MODAL ===================== */
    .modal-bg{
      position:fixed;
      z-index:150;
      inset:0;
      display:grid;
      place-items:center;
      padding:20px;
      background:rgba(4,12,49,.65);
      backdrop-filter:blur(8px);
      opacity:0;
      visibility:hidden;
      transition:.2s ease;
    }
    .modal-bg.open{opacity:1;visibility:visible}
    .modal{
      width:min(100%,660px);
      max-height:90vh;
      overflow:auto;
      padding:27px;
      border-radius:25px;
      background:#fff;
      box-shadow:0 28px 80px rgba(0,0,0,.27);
      transform:translateY(12px) scale(.98);
      transition:.2s ease;
    }
    .modal-bg.open .modal{transform:none}
    .modal-head{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:18px;
      margin-bottom:19px;
    }
    .modal h3{margin:0;font-size:30px;line-height:1;letter-spacing:-1px}
    .modal p{margin:7px 0 0;color:var(--muted);font-size:13px}
    .modal-close{
      width:40px;height:40px;
      border:0;
      border-radius:12px;
      background:var(--soft);
      color:var(--ink);
      font-size:22px;
    }

    .legal-modal{
      width:min(100%,820px);
      padding:0;
      overflow:hidden;
    }
    .legal-modal .modal-head{
      position:sticky;top:0;z-index:3;margin:0;padding:25px 27px 20px;
      background:#fff;border-bottom:1px solid var(--line);
    }
    .legal-modal .modal-body{
      max-height:calc(90vh - 95px);overflow:auto;padding:24px 27px 30px;
    }
    .legal-copy{color:#505b73;font-size:14px;line-height:1.72}
    .legal-copy p{margin:0 0 16px}
    .legal-copy h4{
      margin:24px 0 7px;color:var(--blue-950);font-size:16px;line-height:1.3;letter-spacing:-.2px;
    }
    .legal-copy h4:first-of-type{margin-top:10px}
    .legal-copy strong{color:var(--ink)}

    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
    .field{display:flex;flex-direction:column;gap:6px}
    .field.full{grid-column:1/-1}
    .field label{
      font-size:11px;
      font-weight:1000;
      letter-spacing:.5px;
      text-transform:uppercase;
      color:#39445f;
    }
    .field input,.field select,.field textarea{
      width:100%;
      border:1px solid #dce1ec;
      border-radius:12px;
      background:#fbfcff;
      padding:13px 14px;
      outline:none;
    }
    .field input:focus,.field select:focus,.field textarea:focus{
      border-color:var(--blue-700);
      box-shadow:0 0 0 4px rgba(9,84,200,.08);
    }
    .field textarea{min-height:100px;resize:vertical}
    .submit{width:100%;margin-top:16px;background:var(--blue-800);color:#fff;border:0}

    /* ===================== ANIMAÇÃO ===================== */
    .reveal{opacity:0;transform:translateY(17px);transition:.55s ease}
    .reveal.show{opacity:1;transform:none}

    /* ===================== TABLET ===================== */
    @media(max-width:1080px){
      .hero-copy{width:min(620px,61%)}
    }

    /* ===================== MOBILE / TABLET ===================== */
    @media(max-width:820px){
      .nav-links,.nav-cta{display:none}
      .nav{
        min-height:62px;
        display:grid;
        place-items:center;
        padding:8px;
      }
      .menu-btn{
        display:grid;
        place-items:center;
        margin:0;
      }
      .nav-shell.open .nav-links{
        display:flex;
        position:absolute;
        top:70px;
        left:50%;
        transform:translateX(-50%);
        width:min(calc(100vw - 28px),360px);
        flex-direction:column;
        align-items:stretch;
        padding:10px;
        border-radius:17px;
        background:rgba(4,23,71,.985);
        box-shadow:var(--shadow);
      }
      .nav-shell.open .nav-links a{padding:13px 14px}

      /* Regra crítica: no celular o texto e a foto NÃO se sobrepõem. */
      .hero{
        min-height:0;
        display:flex;
        flex-direction:column;
        background:linear-gradient(145deg,var(--blue-900),var(--blue-700));
      }
      .hero-inner{
        min-height:0;
        order:2;
        display:block;
        padding-top:26px;
        padding-bottom:38px;
      }
      .hero-copy{
        width:100%;
        max-width:620px;
        text-align:left;
        margin-inline:auto;
      }
      .hero-logo{width:min(100%,290px);margin-bottom:18px}
      .hero h1{
        max-width:650px;
        font-size:clamp(37px,9vw,55px);
        letter-spacing:-1.8px;
      }
      .hero-lead{max-width:600px;font-size:16px}
      .hero-art{
        order:1;
        position:relative;
        inset:auto;
        width:calc(100% - 24px);
        height:390px;
        min-height:390px;
        margin:84px auto 0;
        border-radius:26px;
        background:#0450a9;
        overflow:hidden;
        box-shadow:0 20px 44px rgba(3,20,70,.24);
        border:1px solid rgba(255,255,255,.12);
      }
      .hero-art .hero-photo{
        width:100%;
        height:100%;
        object-fit:cover;
        object-position:66% center;
        transform:none;
        filter:brightness(1.03) contrast(1.05) saturate(1.03);
      }
      .hero-mobile-logo{
        display:block;
        position:absolute;
        left:18px;
        bottom:20px;
        width:min(52%,235px);
        height:auto;
        z-index:3;
        filter:drop-shadow(0 12px 20px rgba(1,12,50,.24));
      }
      .hero-shade{display:none}
      .hero-art:after{
        content:"";
        position:absolute;
        inset:0;
        z-index:2;
        background:
          linear-gradient(180deg,rgba(4,42,120,.01) 0%,rgba(4,42,120,.02) 52%,rgba(3,30,95,.28) 100%),
          linear-gradient(90deg,rgba(3,27,86,.14) 0%,rgba(3,27,86,.03) 50%,rgba(3,27,86,0) 100%);
        pointer-events:none;
      }

      .intro-wrap{margin-top:0;background:#fff;padding-top:12px}
      .intro-panel{grid-template-columns:1fr}
      .about-grid,.journey-grid,.contact-grid,.final-cta-inner{grid-template-columns:1fr}
      .social-grid{grid-template-columns:1fr 1fr}
      .final-actions{flex-direction:row}
    }



    /* ===================== CELULAR ===================== */
    @media(max-width:620px){
      .container{width:min(calc(100% - 24px),var(--container))}
      .nav-shell{
        top:10px;
        width:64px;
        max-width:64px;
        border-radius:18px;
      }
      .nav{min-height:62px;padding:8px 10px}

      .hero-inner{padding-top:24px;padding-bottom:34px}
      .hero-logo{display:none}
      .hero-kicker{font-size:10px;padding:7px 10px}
      .hero h1{font-size:clamp(30px,8.8vw,40px);line-height:1.05;letter-spacing:-1.25px}
      .hero-lead{font-size:15px;line-height:1.55;margin-top:16px}
      .hero-actions{
        display:grid;
        grid-template-columns:1fr;
        gap:10px;
        margin-top:23px;
      }
      .hero-actions .btn{
        width:100%;
        min-height:54px;
        font-size:14px;
      }
      .hero-meta{
        margin-top:20px;
        gap:12px;
        align-items:flex-start;
      }
      .hero-meta span{width:100%}
      .hero-art{
        width:calc(100% - 20px);
        height:350px;
        min-height:350px;
        margin-top:82px;
        border-radius:23px;
      }
      .hero-mobile-logo{
        left:16px;
        bottom:17px;
        width:min(58%,220px);
      }
      .hero-art img{
        object-position:67% center;
        transform:none;
      }

      .intro-panel{padding:22px;border-radius:21px;box-shadow:0 12px 30px rgba(4,34,102,.08)}
      .intro-stats{grid-template-columns:1fr 1fr}
      .section{padding:72px 0}
      .section-head{display:block}
      .section-sub{margin-top:12px}
      .focus-grid{grid-template-columns:1fr}
      .about-feature{min-height:320px;padding:28px}
      .about-feature h3{margin-top:62px}
      .proposal{min-height:165px}
      .contact-main,.contact-visual{padding:27px}
      .social-grid{grid-template-columns:1fr}
      .final-cta{
        width:calc(100% - 24px);
        margin-bottom:70px;
        border-radius:28px;
      }
      .final-cta-inner{padding:34px 24px}
      .final-actions{flex-direction:column}
      .footer-top{grid-template-columns:1fr;gap:20px}
      .footer-links{justify-content:flex-start}
      .footer-campaign-id{align-items:flex-start;flex-direction:column;gap:8px}
      .footer-campaign-id strong{text-align:left}
      .footer-bottom{align-items:flex-start;flex-direction:column;gap:10px}
      .form-grid{grid-template-columns:1fr}
      .wa-float{right:14px;bottom:14px}
    }

    @media(max-width:430px){
      .hero-art{
        width:calc(100% - 18px);
        height:320px;
        min-height:320px;
        margin-top:80px;
        border-radius:22px;
      }
      .hero-art .hero-photo{object-position:68% center;transform:none;filter:brightness(1.03) contrast(1.05) saturate(1.03)}
      .hero-mobile-logo{
        left:14px;
        bottom:15px;
        width:min(60%,205px);
      }
      .intro-stats{grid-template-columns:1fr 1fr}
    }


    /* PROPOSTAS RESPONSIVAS */
    @media(max-width:1080px){
      .proposal-showcase-grid{
        grid-template-columns:290px 1fr;
        gap:38px;
      }
      .proposal-phone{
        width:270px;
        height:552px;
        border-radius:42px;
      }
      .phone-screen{border-radius:34px}
      .proposal-list{grid-template-columns:1fr}
      .proposal-content h2{font-size:clamp(38px,5.5vw,58px)}
    }

    @media(max-width:820px){
      .proposals-showcase{
        padding-top:76px;
        padding-bottom:76px;
      }
      .proposal-showcase-grid{
        grid-template-columns:1fr;
        gap:46px;
      }
      .proposal-phone-column{
        min-height:0;
      }
      .proposal-phone{
        width:262px;
        height:534px;
        transform:none;
      }
      .proposal-content{
        text-align:center;
      }
      .proposal-content h2,
      .proposal-intro{
        margin-left:auto;
        margin-right:auto;
      }
      .proposal-label{margin-inline:auto}
      .proposal-list{
        grid-template-columns:1fr 1fr;
        text-align:left;
      }
      .proposal-cta{margin-left:auto;margin-right:auto}
    }

    @media(max-width:620px){
      .proposals-showcase{
        padding-top:64px;
        padding-bottom:68px;
      }
      .proposal-showcase-grid{gap:38px}
      .proposal-phone{
        width:246px;
        height:500px;
        border-radius:39px;
        padding:9px;
      }
      .phone-screen{border-radius:31px}
      .phone-island{
        top:16px;
        width:82px;
        height:22px;
      }
      .phone-top{
        top:38px;
        left:18px;
        right:18px;
      }
      .phone-top h3{
        font-size:29px;
        max-width:150px;
      }
      .phone-candidate{
        width:116%;
        bottom:-25px;
      }
      .phone-bottom{
        left:16px;
        right:16px;
        bottom:15px;
      }
      .proposal-content h2{
        font-size:clamp(38px,10vw,52px);
        letter-spacing:-1.8px;
      }
      .proposal-intro{
        font-size:14px;
      }
      .proposal-list{
        grid-template-columns:1fr;
        gap:9px;
        margin-top:24px;
      }
      .proposal-row{
        min-height:76px;
        grid-template-columns:44px 1fr 28px;
        padding:11px 11px 11px 10px;
        border-radius:16px;
      }
      .proposal-index{
        width:42px;
        height:42px;
        border-radius:13px;
      }
      .proposal-row strong{font-size:16px}
      .proposal-row span{font-size:10px}
    }

    @media(max-width:430px){
      .proposal-phone{
        width:228px;
        height:462px;
      }
      .phone-top h3{
        font-size:27px;
        max-width:142px;
      }
      .phone-candidate{
        width:116%;
        bottom:-22px;
      }
      .proposal-content h2{font-size:36px}
    }


    @media(max-width:820px){
      .proposal-content h2{
        max-width:680px;
      }
      .proposal-intro{
        font-size:16px;
      }
    }
    @media(max-width:620px){
      .proposal-phone-column{
        margin-bottom:4px;
      }
      .proposal-content{
        margin-top:0;
      }
    }

    @media(prefers-reduced-motion:reduce){
      *{scroll-behavior:auto!important}
      .reveal{opacity:1;transform:none;transition:none}
    }
  
    /* ==========================================================
       AJUSTE FINAL — HERO MOBILE MAIS VERTICAL E ELEGANTE
       Foto centralizada, sem aparência de "quadrado", com
       transição suave para o azul e logo integrada ao conjunto.
       ========================================================== */
    @media(max-width:820px){
      .hero{
        background:
          radial-gradient(circle at 50% 16%,rgba(24,103,226,.28),transparent 34%),
          linear-gradient(180deg,#063b9d 0%,#063993 45%,#07358a 100%);
      }

      .hero-art{
        order:1;
        position:relative;
        width:100%;
        height:520px;
        min-height:520px;
        margin:72px 0 0;
        border:0;
        border-radius:0;
        box-shadow:none;
        background:
          linear-gradient(90deg,#063a96 0%,#0753b9 48%,#063a96 100%);
        overflow:hidden;
      }

      .hero-art .hero-photo{
        position:absolute;
        top:0;
        left:50%;
        width:min(100%,470px);
        height:100%;
        object-fit:cover;
        object-position:65% center;
        transform:translateX(-50%);
        filter:brightness(1.03) contrast(1.05) saturate(1.03);
      }

      .hero-art:before{
        content:"";
        position:absolute;
        z-index:2;
        inset:0;
        background:
          linear-gradient(90deg,
            rgba(5,48,129,.58) 0%,
            rgba(5,48,129,.04) 15%,
            rgba(5,48,129,0) 78%,
            rgba(5,48,129,.42) 100%);
        pointer-events:none;
      }

      .hero-art:after{
        content:"";
        position:absolute;
        z-index:2;
        inset:0;
        background:
          linear-gradient(180deg,
            rgba(5,47,128,0) 0%,
            rgba(5,47,128,0) 54%,
            rgba(5,47,128,.18) 67%,
            rgba(5,47,128,.74) 84%,
            #07358a 100%);
        pointer-events:none;
      }

      .hero-mobile-logo{
        display:block;
        position:absolute;
        z-index:4;
        left:50%;
        bottom:34px;
        width:min(54%,230px);
        height:auto;
        transform:translateX(-50%);
        filter:drop-shadow(0 10px 18px rgba(1,12,50,.22));
      }

      .hero-inner{
        order:2;
        padding-top:24px;
        padding-bottom:38px;
      }
    }

    @media(max-width:620px){
      .hero-art{
        height:490px;
        min-height:490px;
        margin-top:70px;
      }

      .hero-art .hero-photo{
        width:min(100%,430px);
        object-position:66% center;
      }

      .hero-mobile-logo{
        bottom:30px;
        width:min(56%,215px);
      }

      .hero-inner{
        padding-top:20px;
      }
    }

    @media(max-width:430px){
      .hero-art{
        width:100%;
        height:455px;
        min-height:455px;
        margin-top:68px;
        border-radius:0;
      }

      .hero-art .hero-photo{
        width:100%;
        object-position:67% center;
        transform:translateX(-50%);
      }

      .hero-mobile-logo{
        bottom:27px;
        width:min(58%,205px);
      }
    }

  
    /* ==========================================================
       HERO MOBILE — FOTO DIFUSA + LOGO REALMENTE CENTRALIZADA
       ========================================================== */
    .hero-photo-blur{
      display:none;
    }

    @media(max-width:820px){
      .hero-art{
        isolation:isolate;
        height:520px;
        min-height:520px;
        margin-top:72px;
        background:#073a96;
        overflow:hidden;
      }

      /* Fundo da própria foto desfocado: elimina o corte seco lateral. */
      .hero-photo-blur{
        display:block;
        position:absolute;
        z-index:0;
        inset:-30px;
        width:calc(100% + 60px);
        height:calc(100% + 60px);
        object-fit:cover;
        object-position:66% center;
        transform:scale(1.08);
        filter:blur(26px) brightness(.78) saturate(1.08);
        opacity:.72;
      }

      /* Foto principal preservada, com bordas suavemente dissolvidas. */
      .hero-art .hero-photo{
        position:absolute;
        z-index:1;
        top:0;
        left:50%;
        width:min(100%,470px);
        height:100%;
        object-fit:cover;
        object-position:65% center;
        transform:translateX(-50%);
        filter:brightness(1.03) contrast(1.05) saturate(1.03);
        -webkit-mask-image:linear-gradient(
          90deg,
          transparent 0%,
          rgba(0,0,0,.35) 5%,
          #000 14%,
          #000 86%,
          rgba(0,0,0,.35) 95%,
          transparent 100%
        );
        mask-image:linear-gradient(
          90deg,
          transparent 0%,
          rgba(0,0,0,.35) 5%,
          #000 14%,
          #000 86%,
          rgba(0,0,0,.35) 95%,
          transparent 100%
        );
      }

      /* Somente uma leve integração cromática, sem esconder a foto. */
      .hero-art:before{
        content:"";
        position:absolute;
        z-index:2;
        inset:0;
        background:
          linear-gradient(90deg,
            rgba(5,47,128,.35) 0%,
            rgba(5,47,128,0) 18%,
            rgba(5,47,128,0) 82%,
            rgba(5,47,128,.30) 100%);
        pointer-events:none;
      }

      /* Degradê inferior longo para a imagem desaparecer no azul. */
      .hero-art:after{
        content:"";
        position:absolute;
        z-index:3;
        inset:0;
        background:linear-gradient(
          180deg,
          rgba(7,53,138,0) 0%,
          rgba(7,53,138,0) 54%,
          rgba(7,53,138,.10) 63%,
          rgba(7,53,138,.40) 75%,
          rgba(7,53,138,.78) 88%,
          #07358a 100%
        );
        pointer-events:none;
      }

      /* Logo/22456 centrados pelo conteúdo visual, sem encostar nas bordas. */
      .hero-mobile-logo{
        display:block;
        position:absolute;
        z-index:5;
        left:50% !important;
        right:auto !important;
        bottom:38px;
        width:min(72vw,290px) !important;
        max-width:calc(100% - 48px) !important;
        height:auto !important;
        transform:translateX(-50%) !important;
        object-fit:contain;
        object-position:center;
        filter:drop-shadow(0 10px 18px rgba(1,12,50,.22));
      }
    }

    @media(max-width:620px){
      .hero-art{
        height:500px;
        min-height:500px;
        margin-top:70px;
      }

      .hero-art .hero-photo{
        width:min(100%,440px);
        object-position:66% center;
      }

      .hero-photo-blur{
        object-position:66% center;
        filter:blur(24px) brightness(.77) saturate(1.08);
      }

      .hero-mobile-logo{
        bottom:34px;
        width:min(74vw,275px) !important;
        max-width:calc(100% - 42px) !important;
      }
    }

    @media(max-width:430px){
      .hero-art{
        height:470px;
        min-height:470px;
        margin-top:68px;
      }

      .hero-art .hero-photo{
        width:min(100%,410px);
        object-position:67% center;
      }

      .hero-mobile-logo{
        bottom:32px;
        width:min(76vw,265px) !important;
        max-width:calc(100% - 36px) !important;
      }
    }

  
    /* ==========================================================
       AJUSTE MOBILE — FOTO CENTRALIZADA + SEM FAIXA AZUL NO TOPO
       ========================================================== */
    @media(max-width:820px){
      .hero{
        background:#07358a !important;
      }

      /* A imagem começa no topo do hero; o menu flutua por cima. */
      .hero-art{
        width:100% !important;
        height:520px !important;
        min-height:520px !important;
        margin:0 !important;
        border:0 !important;
        border-radius:0 !important;
        box-shadow:none !important;
        background:#07358a !important;
      }

      /* Fundo desfocado ocupa toda a largura e evita qualquer corte seco. */
      .hero-photo-blur{
        display:block !important;
        position:absolute !important;
        z-index:0 !important;
        inset:-28px !important;
        width:calc(100% + 56px) !important;
        height:calc(100% + 56px) !important;
        object-fit:cover !important;
        object-position:center center !important;
        transform:scale(1.06) !important;
        filter:blur(27px) brightness(.80) saturate(1.06) !important;
        opacity:.78 !important;
      }

      /* Foto principal realmente centralizada na versão mobile. */
      .hero-art .hero-photo{
        position:absolute !important;
        z-index:1 !important;
        top:0 !important;
        left:50% !important;
        width:min(100%,450px) !important;
        height:100% !important;
        object-fit:cover !important;
        object-position:center center !important;
        transform:translateX(-50%) !important;
        filter:brightness(1.03) contrast(1.05) saturate(1.03) !important;
        -webkit-mask-image:linear-gradient(
          90deg,
          transparent 0%,
          rgba(0,0,0,.28) 4%,
          #000 12%,
          #000 88%,
          rgba(0,0,0,.28) 96%,
          transparent 100%
        ) !important;
        mask-image:linear-gradient(
          90deg,
          transparent 0%,
          rgba(0,0,0,.28) 4%,
          #000 12%,
          #000 88%,
          rgba(0,0,0,.28) 96%,
          transparent 100%
        ) !important;
      }

      /* Remove qualquer diferença de azul no topo/laterais. */
      .hero-art:before{
        content:"" !important;
        position:absolute !important;
        z-index:2 !important;
        inset:0 !important;
        background:linear-gradient(
          90deg,
          rgba(7,53,138,.20) 0%,
          rgba(7,53,138,0) 16%,
          rgba(7,53,138,0) 84%,
          rgba(7,53,138,.20) 100%
        ) !important;
        pointer-events:none !important;
      }

      /* Transição inferior suave para o mesmo azul do site. */
      .hero-art:after{
        content:"" !important;
        position:absolute !important;
        z-index:3 !important;
        inset:0 !important;
        background:linear-gradient(
          180deg,
          rgba(7,53,138,0) 0%,
          rgba(7,53,138,0) 58%,
          rgba(7,53,138,.10) 67%,
          rgba(7,53,138,.40) 78%,
          rgba(7,53,138,.78) 90%,
          #07358a 100%
        ) !important;
        pointer-events:none !important;
      }

      .hero-mobile-logo{
        left:50% !important;
        right:auto !important;
        bottom:36px !important;
        width:min(72vw,285px) !important;
        max-width:calc(100% - 44px) !important;
        transform:translateX(-50%) !important;
      }

      .hero-inner{
        padding-top:20px !important;
      }
    }

    @media(max-width:620px){
      .hero-art{
        height:500px !important;
        min-height:500px !important;
      }

      .hero-art .hero-photo{
        width:min(100%,430px) !important;
        object-position:center center !important;
      }

      .hero-mobile-logo{
        bottom:32px !important;
        width:min(74vw,272px) !important;
      }
    }

    @media(max-width:430px){
      .hero-art{
        height:470px !important;
        min-height:470px !important;
      }

      .hero-art .hero-photo{
        width:100% !important;
        object-position:center center !important;
      }

      .hero-mobile-logo{
        bottom:30px !important;
        width:min(76vw,258px) !important;
      }
    }

  
    /* ==========================================================
       CORREÇÃO FINAL DO HERO MOBILE
       - foto ocupa toda a largura
       - candidato centralizado visualmente
       - sem bordas/cortes laterais
       - sem efeito de difusão
       - apenas transição inferior suave
       ========================================================== */
    @media(max-width:820px){
      .hero{
        background:#07358a !important;
      }

      .hero-art{
        position:relative !important;
        width:100% !important;
        height:520px !important;
        min-height:520px !important;
        margin:0 !important;
        border:0 !important;
        border-radius:0 !important;
        box-shadow:none !important;
        overflow:hidden !important;
        background:#07358a !important;
      }

      /* Remove totalmente o fundo desfocado/difusão lateral. */
      .hero-photo-blur{
        display:none !important;
      }

      /* A foto passa a preencher toda a área do hero. */
      .hero-art .hero-photo{
        position:absolute !important;
        z-index:1 !important;
        inset:0 !important;
        left:0 !important;
        top:0 !important;
        width:100% !important;
        max-width:none !important;
        height:100% !important;
        object-fit:cover !important;
        object-position:70% center !important;
        transform:none !important;
        filter:brightness(1.03) contrast(1.05) saturate(1.03) !important;
        -webkit-mask-image:none !important;
        mask-image:none !important;
      }

      /* Sem sombreado lateral: mantém a foto limpa. */
      .hero-art:before{
        content:none !important;
        display:none !important;
      }

      /* Apenas um degradê inferior suave para integrar com o azul do site. */
      .hero-art:after{
        content:"" !important;
        display:block !important;
        position:absolute !important;
        z-index:3 !important;
        inset:0 !important;
        background:linear-gradient(
          180deg,
          rgba(7,53,138,0) 0%,
          rgba(7,53,138,0) 64%,
          rgba(7,53,138,.10) 72%,
          rgba(7,53,138,.35) 82%,
          rgba(7,53,138,.72) 92%,
          #07358a 100%
        ) !important;
        pointer-events:none !important;
      }

      /* Logo e número centralizados em relação à tela. */
      .hero-mobile-logo{
        display:block !important;
        position:absolute !important;
        z-index:5 !important;
        left:50% !important;
        right:auto !important;
        bottom:32px !important;
        width:min(70vw,280px) !important;
        max-width:calc(100% - 44px) !important;
        height:auto !important;
        transform:translateX(-50%) !important;
        object-fit:contain !important;
        object-position:center !important;
        filter:drop-shadow(0 10px 18px rgba(1,12,50,.20)) !important;
      }

      .hero-inner{
        padding-top:18px !important;
      }
    }

    @media(max-width:620px){
      .hero-art{
        height:500px !important;
        min-height:500px !important;
      }

      .hero-art .hero-photo{
        object-position:71% center !important;
      }

      .hero-mobile-logo{
        bottom:30px !important;
        width:min(72vw,270px) !important;
      }
    }

    @media(max-width:430px){
      .hero-art{
        height:470px !important;
        min-height:470px !important;
      }

      .hero-art .hero-photo{
        object-position:72% center !important;
      }

      .hero-mobile-logo{
        bottom:28px !important;
        width:min(74vw,255px) !important;
      }
    }

/* WordPress: mantém a barra administrativa sem alterar o site público. */
@media (min-width:783px){
  body.admin-bar .nav-shell{margin-top:32px}
}
@media (max-width:782px){
  body.admin-bar .nav-shell{margin-top:46px}
}
