/* ============ FONTS ============ */
/* Raleway/Poppins carregadas via Google Fonts no <head> — mesmas fontes do lawffice.com.br */

/* ============ TOKENS ============ */
:root{
  --ink:#12192B; --ink-soft:#3E4658;
  --paper:#F4F5F0; --paper-raised:#FFFFFF;
  --brass:#B8863C; --brass-strong:#8F6526;
  --harbor:#1F3E5C; --harbor-soft:#E6ECEF;
  --slate:#5B6472; --line:#DBDDD5;
  --good:#2F7A4F; --good-soft:#E5F2EA;
  --bad:#B23B3B; --bad-soft:#FBEAEA;
  --radius-s:4px; --radius-m:10px;
  --shadow-card:0 1px 2px rgba(18,25,43,.06), 0 12px 28px -16px rgba(18,25,43,.22);
  --font-display:'Poppins', Arial, sans-serif;
  --font-body:'Raleway', Arial, sans-serif;
  --font-mono:'Poppins', Arial, sans-serif;
  --deep:#0F1B2E; --deep-accent:#D9AB63; --on-deep:#F5F6F0; --on-deep-soft:rgba(245,246,240,.74);
  --wrap:900px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root{
    --ink:#ECEEE7; --ink-soft:#B6BCC8; --paper:#0D131E; --paper-raised:#161F2E;
    --brass:#D9AB63; --brass-strong:#EAC688; --harbor:#9FC1DE; --harbor-soft:#182635;
    --slate:#8B93A3; --line:#293246; --good-soft:#123423; --bad-soft:#3A1818;
    --shadow-card:0 1px 2px rgba(0,0,0,.3), 0 14px 32px -16px rgba(0,0,0,.55);
    color-scheme: dark;
  }
}
:root[data-theme="dark"]{--ink:#ECEEE7;--ink-soft:#B6BCC8;--paper:#0D131E;--paper-raised:#161F2E;--brass:#D9AB63;--brass-strong:#EAC688;--harbor:#9FC1DE;--harbor-soft:#182635;--slate:#8B93A3;--line:#293246;--good-soft:#123423;--bad-soft:#3A1818;color-scheme:dark;}
:root[data-theme="light"]{--ink:#12192B;--ink-soft:#3E4658;--paper:#F4F5F0;--paper-raised:#FFFFFF;--brass:#B8863C;--brass-strong:#8F6526;--harbor:#1F3E5C;--harbor-soft:#E6ECEF;--slate:#5B6472;--line:#DBDDD5;--good-soft:#E5F2EA;--bad-soft:#FBEAEA;color-scheme:light;}

/* ============ LAWFFICE TOP BAR (cores do site institucional) ============ */
.lawffice-topbar{background:#1a1a1a;color:#fff;font-family:var(--font-body);font-size:.82rem;}
.ltb-inner{display:flex;align-items:center;justify-content:space-between;gap:1em;padding:.55em 0;flex-wrap:wrap;}
.ltb-contact{display:flex;align-items:center;gap:1.6em;flex-wrap:wrap;}
.ltb-contact a{display:inline-flex;align-items:center;gap:.5em;color:#fff;text-decoration:none;opacity:.9;}
.ltb-contact a:hover{color:#d4af37;opacity:1;}
.ltb-contact .icon{width:1em;height:1em;color:#d4af37;}
.ltb-social{display:flex;align-items:center;gap:.9em;}
.ltb-social a{display:inline-flex;color:#fff;opacity:.85;}
.ltb-social a:hover{color:#d4af37;opacity:1;}
.ltb-social .icon{width:1.15em;height:1.15em;}

.lawffice-navbar{background:#232323;}
.lnb-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5em;padding:.9em 0;flex-wrap:wrap;}
.lnb-logo{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:#fff;text-decoration:none;letter-spacing:.03em;}
.lnb-logo small{display:block;font-family:var(--font-body);font-weight:400;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:#d4af37;margin-top:.2em;}
.lnb-links{display:flex;align-items:center;gap:1.6em;flex-wrap:wrap;}
.lnb-links a{font-family:var(--font-display);font-weight:500;font-size:.8rem;letter-spacing:.03em;text-transform:uppercase;color:#d4af37;text-decoration:none;}
.lnb-links a:hover{color:#fff;}
@media (max-width:680px){
  .ltb-contact span{display:none;}
  .lnb-links{gap:1em;}
  .lnb-links a{font-size:.72rem;}
}

/* ============ BASE ============ */
*,*::before,*::after{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;}
img,svg{max-width:100%;display:block;}
h1,h2,h3{font-family:var(--font-display);font-weight:700;margin:0;color:var(--ink);}
p{margin:0;}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:24px;}
.eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-strong);display:inline-flex;align-items:center;gap:.5em;}
.eyebrow::before{content:"";width:1.4em;height:1px;background:var(--brass-strong);display:inline-block;}
section{padding-block:clamp(40px,6vw,72px);}
.icon{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
:focus-visible{outline:3px solid var(--brass);outline-offset:2px;}

/* ============ HEADER ============ */
header{position:sticky;top:0;z-index:50;background:color-mix(in srgb, var(--paper) 90%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px;}
.brand{display:flex;align-items:center;gap:.5em;font-family:var(--font-display);font-weight:700;font-size:1.2rem;text-decoration:none;color:var(--ink);}
.brand-mark{width:1.6em;height:auto;flex:none;}
.brand small{font-family:var(--font-mono);font-weight:400;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-left:.3em;}
.nav-phone{display:flex;align-items:center;gap:.5em;font-family:var(--font-mono);font-size:.86rem;color:var(--ink-soft);text-decoration:none;}
@media (max-width:640px){.nav-phone span{display:none;}}

/* ============ HERO ============ */
.hero{padding-top:clamp(36px,6vw,64px);}
.hero h1{font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.14;margin-top:.5em;max-width:22ch;}
.hero p.lead{margin-top:1em;font-size:1.08rem;color:var(--ink-soft);max-width:60ch;}
.trust-row{display:flex;flex-wrap:wrap;gap:20px;margin-top:1.8em;}
.trust-item{display:flex;align-items:center;gap:.55em;font-size:.86rem;color:var(--ink-soft);}
.trust-item .icon{color:var(--brass);}

/* ============ FORM CARD ============ */
.tool-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-card);padding:clamp(22px,3vw,36px);margin-top:32px;}
.tool-card h2{font-size:1.3rem;}
.step-label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);margin-bottom:1.4em;}
fieldset{border:none;margin:0;padding:0;}
.field{display:flex;flex-direction:column;gap:.4em;margin-bottom:18px;}
.field label{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;color:var(--slate);}
.field .hint{font-size:.78rem;color:var(--slate);font-family:var(--font-body);text-transform:none;letter-spacing:0;margin-top:.2em;}
.field input[type="text"],.field input[type="password"],.field select{
  font-family:var(--font-body);font-size:1rem;padding:.85em .9em;border-radius:var(--radius-s);
  border:1px solid var(--line);background:var(--paper);color:var(--ink);width:100%;
}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:560px){.row-2{grid-template-columns:1fr;}}

.dropzone{
  border:2px dashed var(--line);border-radius:var(--radius-m);padding:28px 20px;text-align:center;
  cursor:pointer;transition:border-color .15s ease, background-color .15s ease;background:var(--paper);
}
.dropzone:hover,.dropzone.is-dragover{border-color:var(--brass);background:var(--harbor-soft);}
.dropzone .icon{width:2em;height:2em;color:var(--brass);margin:0 auto .5em;}
.dropzone-text{font-size:.94rem;color:var(--ink-soft);}
.dropzone-file{margin-top:.6em;font-family:var(--font-mono);font-size:.84rem;color:var(--harbor);word-break:break-all;}
#input-certificado{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.password-field{position:relative;}
.password-toggle{
  position:absolute;right:.7em;top:50%;transform:translateY(-50%);background:none;border:none;
  cursor:pointer;color:var(--slate);padding:.3em;display:flex;
}

.consent{display:flex;gap:.7em;align-items:flex-start;font-size:.86rem;color:var(--ink-soft);margin-block:1.4em;}
.consent input{margin-top:.25em;width:1.1em;height:1.1em;flex:none;accent-color:var(--brass);}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;font-family:var(--font-body);font-weight:600;
  font-size:.98rem;padding:.95em 1.5em;border-radius:var(--radius-s);border:1px solid transparent;cursor:pointer;
  text-decoration:none;transition:transform .15s ease, background-color .15s ease, opacity .15s ease;width:100%;
}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--brass);color:#1B1203;}
.btn-primary:hover{background:var(--brass-strong);}
.btn-primary:disabled{opacity:.55;cursor:not-allowed;}

/* ============ PROGRESS / RESULT ============ */
.status-panel{margin-top:20px;border-radius:var(--radius-m);padding:18px 20px;display:none;gap:12px;align-items:flex-start;}
.status-panel.is-visible{display:flex;}
.status-panel.is-progress{background:var(--harbor-soft);color:var(--harbor);}
.status-panel.is-error{background:var(--bad-soft);color:var(--bad);}
.status-panel.is-success{background:var(--good-soft);color:var(--good);}
.status-panel .icon{margin-top:.15em;flex:none;}
.spinner{width:1.15em;height:1.15em;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite;flex:none;margin-top:.15em;}
@media (prefers-reduced-motion: reduce){.spinner{animation-duration:1.4s;}}
@keyframes spin{to{transform:rotate(360deg);}}
.status-text strong{display:block;margin-bottom:.2em;}
.status-text{font-size:.92rem;}

/* ============ SECURITY BAND ============ */
.security{background:var(--deep);color:var(--on-deep);}
.security .section-head h2{color:var(--on-deep);}
.security .section-head p{color:var(--on-deep-soft);}
.security .eyebrow{color:var(--deep-accent);}
.security .eyebrow::before{background:var(--deep-accent);}
.security-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:2em;}
.security-item .icon{width:1.6em;height:1.6em;color:var(--deep-accent);margin-bottom:.7em;}
.security-item h3{font-family:var(--font-body);font-size:1rem;font-weight:700;color:var(--on-deep);}
.security-item p{margin-top:.5em;font-size:.9rem;color:var(--on-deep-soft);}
@media (max-width:760px){.security-grid{grid-template-columns:1fr;}}

/* ============ SECTION HEAD ============ */
.section-head{max-width:640px;margin-bottom:1.6em;}
.section-head h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin-top:.5em;}
.section-head p{color:var(--ink-soft);margin-top:.7em;}

/* ============ FAQ ============ */
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:1.2em 0;cursor:pointer;font-weight:600;font-size:.98rem;list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .chev{color:var(--brass);transition:transform .2s ease;flex:none;}
.faq-item[open] summary .chev{transform:rotate(180deg);}
.faq-item .faq-a{padding-bottom:1.4em;color:var(--ink-soft);font-size:.94rem;max-width:64ch;}

/* ============ FOOTER ============ */
footer{padding-block:32px 48px;border-top:1px solid var(--line);}
.footer-note{font-size:.8rem;color:var(--slate);max-width:70ch;}
.footer-note + .footer-note{margin-top:.8em;}
