 :root{
    --black:#000000;
    --navy:#0F1F38;
    --navy-2:#16294a;
    --paper:#F7F5F0;
    --paper-2:#EFEBE1;
    --gold:#B98B3E;
    --gold-soft:#E4C588;
    --teal:#2F6659;
    --brick:#A8433A;
    --ink:#262A31;
    --line: rgba(15,31,56,.14);
    --green:#3EAC4A;
    --green-2:#247e2e;
  }

  html{ scroll-behavior:smooth; }

  body{
    background:var(--paper);
    color:var(--ink);
    font-family:'Public Sans', system-ui, sans-serif;
    font-size:1.02rem;
  }

  h1,h2,h3,.display-serif{
    font-family:'Fraunces', Georgia, serif;
    color:var(--navy);
    letter-spacing:-0.01em;
  }

  .mono{
    font-family:'IBM Plex Mono', monospace;
    letter-spacing:.04em;
  }

  a{ text-decoration:none; }

  /* ---------- barra superior ---------- */
  .top-bar{
    background:var(--black);
    color:var(--paper);
    font-size:.86rem;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .top-bar a{ color:var(--green); font-weight:600; }
  .top-bar a:hover{ color:#fff; }

  /* ---------- navbar ---------- */
  .navbar-prev{
    background:var(--paper);
    border-bottom:1px solid var(--line);
  }
  .navbar-prev .nav-link{
    color:var(--navy);
    font-weight:600;
    font-size:.94rem;
    margin:0 .55rem;
  }
  .navbar-prev .nav-link:hover{ color:var(--gold); }
  .brand-mark{
    display:flex; align-items:center; gap:.6rem;
    font-family:'Fraunces', serif; font-weight:600; font-size:1.15rem;
    color:var(--navy);
  }
  .brand-seal{
    width:38px;height:38px;border-radius:50%;
    background:var(--navy);
    display:flex;align-items:center;justify-content:center;
    color:var(--gold-soft); font-family:'Fraunces',serif; font-weight:700; font-size:1rem;
    border:2px solid var(--gold);
  }
  .btn-gold{
    background:var(--gold); border:1px solid var(--gold); color:var(--navy);
    font-weight:700; padding:.55rem 1.3rem; border-radius:2px;
  }
  .btn-gold:hover{ background:#a97c31; border-color:#a97c31; color:#fff; }
  .btn-outline-navy{
    border:1.5px solid var(--navy); color:var(--navy); font-weight:700; border-radius:2px; padding:.55rem 1.3rem;
  }
  .btn-outline-navy:hover{ background:var(--navy); color:#fff; }


    .btn-green{
    background:var(--green); border:1px solid var(--green); color:var(--paper);
    font-weight:500; padding:.55rem 1.3rem; border-radius:2px;
    }
    .btn-green:hover{ background:var(--green-2); border-color: var(--green); color:#fff; }

    
    .gold{
        color: var(--gold);
    }

  /* ---------- hero ---------- */
  .hero{
    background:
      radial-gradient(1200px 500px at 85% -10%, rgba(185,139,62,.16), transparent 60%),
      var(--navy);
    color:var(--paper);
    position:relative;
    overflow:hidden;
  }
  .hero::after{
    content:"";
    position:absolute; inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size:44px 44px;
    pointer-events:none;
  }
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    text-transform:uppercase; letter-spacing:.14em; font-size:.76rem;
    color:var(--gold-soft);
    display:inline-flex; align-items:center; gap:.5rem;
  }
  .eyebrow::before{ content:""; width:22px; height:1px; background:var(--gold-soft); display:inline-block; }

  .hero h1{ color:#fff; }
  .hero .lede{ color:rgba(247,245,240,.82); font-size:1.08rem; }

  .stamp-card{
    background:var(--paper);
    color:var(--ink);
    border-radius:4px;
    padding:2rem 1.75rem;
    box-shadow:0 30px 60px -20px rgba(0,0,0,.5);
    position:relative;
  }
  .stamp-badge{
    position:absolute; top:-18px; right:1.5rem;
    background:var(--brick); color:#fff;
    font-family:'IBM Plex Mono', monospace;
    font-size:.68rem; letter-spacing:.08em;
    padding:.35rem .7rem; border-radius:2px;
    transform:rotate(3deg);
    box-shadow:0 8px 16px -6px rgba(168,67,58,.6);
  }
  .stamp-card .protocolo{
    font-family:'IBM Plex Mono', monospace; font-size:.78rem; color:#8a8f98;
    border-top:1px dashed var(--line); margin-top:1.25rem; padding-top:.9rem;
  }

  .hero-photo-frame{
    border:1px solid rgba(255,255,255,.18);
    border-radius:4px;
    padding:10px;
  }
  .hero-photo{
    border-radius:2px;
    aspect-ratio: 4/5;
    background:
      linear-gradient(160deg, rgba(185,139,62,.35), rgba(15,31,56,.1)),
      linear-gradient(#3b4c6d,#1a2c4d);
    display:flex; align-items:end; justify-content:center;
    position:relative;
    overflow:hidden;
  }
  .hero-photo svg{ opacity:.9; }

  /* ---------- section headers ---------- */
  .kicker{
    font-family:'IBM Plex Mono', monospace;
    text-transform:uppercase; letter-spacing:.14em; font-size:.76rem;
    color:var(--gold); font-weight:600;
  }
  section{ padding:5rem 0; }
  .section-tight{ padding:3.5rem 0; }
  .divider-cut{
    border:0; height:1px;
    background-image:linear-gradient(90deg, var(--line) 60%, transparent 0%);
    background-size:14px 1px; background-repeat:repeat-x;
  }

  /* ---------- situação cards ---------- */
  .case-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:4px;
    padding:1.6rem;
    height:100%;
    transition:.2s ease;
    position:relative;
  }
  .case-card:hover{ border-color:var(--gold); transform:translateY(-3px); box-shadow:0 18px 30px -18px rgba(15,31,56,.25); }
  .case-card .tag{
    font-family:'IBM Plex Mono', monospace; font-size:.7rem; color:var(--teal);
    text-transform:uppercase; letter-spacing:.08em;
  }
  .case-card h3{ font-size:1.08rem; margin:.5rem 0 .5rem; }
  .case-card p{ font-size:.9rem; color:#565c66; margin-bottom:1rem; }
  .case-card .go{ font-weight:700; font-size:.86rem; color:var(--green); }
  .case-card .go::after{ content:" →"; }

  /* ---------- checklist ---------- */
  .check-yes li, .check-no li{
    padding:.5rem 0 .5rem 1.9rem;
    position:relative;
    border-bottom:1px dashed var(--line);
    font-size:.94rem;
  }
  .check-yes li:last-child, .check-no li:last-child{ border-bottom:0; }
  .check-yes li::before{
    content:"✓"; position:absolute; left:0; top:.5rem;
    color:var(--teal); font-weight:700;
  }
  .check-no li::before{
    content:"×"; position:absolute; left:0; top:.4rem;
    color:var(--brick); font-weight:700; font-size:1.1rem;
  }

  /* ---------- processo ---------- */
  .proc-item{ position:relative; padding-left:0; }
  .proc-num{
    font-family:'Fraunces', serif; font-weight:600; font-size:2.4rem;
    color:var(--gold-soft);
    -webkit-text-stroke:1.4px var(--navy);
    color:transparent;
    line-height:1;
  }

  /* ---------- documentos ---------- */
  .doc-chip{
    background:#fff; border:1px solid var(--line); border-radius:4px;
    padding:.85rem 1rem; font-size:.9rem; height:100%;
    display:flex; align-items:center; gap:.6rem;
  }
  .doc-chip .dot{
    width:8px; height:8px; border-radius:50%; background:var(--gold); flex:0 0 auto;
  }

  /* ---------- equipe ---------- */
  .team-panel{
    background:var(--navy); color:var(--paper);
    border-radius:4px; overflow:hidden;
  }
  .team-photo{
    aspect-ratio:1/1;
    background:linear-gradient(160deg, rgba(185,139,62,.3), rgba(15,31,56,.2)), linear-gradient(#3b4c6d,#1a2c4d);
    display:flex; align-items:center; justify-content:center;
  }

  .value-card h3{ font-size:1.02rem; }
  .value-card{ border-left:2px solid var(--gold); padding-left:1.1rem; height:100%; }

  /* ---------- FAQ ---------- */
  .accordion-item{ border:0; border-bottom:1px solid var(--line); background:transparent; }
  .accordion-button{
    font-family:'Fraunces', serif; font-weight:600; color:var(--navy);
    background:transparent; padding:1.15rem 0; font-size:1.05rem;
  }
  .accordion-button:not(.collapsed){ background:transparent; color:var(--gold); box-shadow:none; }
  .accordion-button:focus{ box-shadow:none; }
  .accordion-button::after{ filter:none; }
  .accordion-body{ padding:0 0 1.25rem; color:#565c66; }

  /* ---------- CTA final ---------- */
  .cta-final{
    background:var(--navy); color:#fff; border-radius:6px;
    padding:3.5rem 2rem;
    position:relative; overflow:hidden;
  }
  .cta-final::before{
    content:""; position:absolute; right:-60px; top:-60px;
    width:220px; height:220px; border:1px dashed rgba(228,197,136,.35); border-radius:50%;
  }

  footer{ background:var(--navy-2); color:rgba(247,245,240,.7); font-size:.9rem; }
  footer a{ color:var(--gold-soft); }
  footer a:hover{ color:#fff; }
  footer h6{ color:#fff; font-family:'Fraunces',serif; font-weight:600; }

  .badge-soft{
    background:rgba(185,139,62,.14); color:var(--gold);
    border:1px solid rgba(185,139,62,.35);
    font-weight:600; font-size:.78rem; padding:.4rem .8rem; border-radius:2px;
  }