/* Korch Advogados | folha de estilo do site institucional
   Paleta: Verde Korch #173A2C, Verde Profundo #0C1C15 (variação #142D23), Dourado #BF9B49 (toque),
   Champagne #E2CE97, Creme #F5F1E7, Grafite #1D1F1B. Ouro apenas em detalhes. */

:root{
  --green:#173A2C;
  --green-deep:#0C1C15;
  --green-alt:#142D23;
  --sage:#6E8678;
  --gold:#BF9B49;
  --champagne:#E2CE97;
  --cream:#F5F1E7;
  --graphite:#1D1F1B;
  --white:#FFFFFF;
  --ink:#1D1F1B;
  --ink-muted:#4B514C;
  --line:rgba(29,31,27,.14);
  --on-dark:#F5F1E7;
  --on-dark-muted:rgba(245,241,231,.74);
  --line-dark:rgba(191,155,73,.30);
  --serif-display:"Libre Caslon Display","Libre Caslon Text",Georgia,"Times New Roman",serif;
  --serif:"Libre Caslon Text",Georgia,"Times New Roman",serif;
  --sans:"Source Sans 3","Segoe UI",Calibri,Roboto,Helvetica,Arial,sans-serif;
  --wrap:1120px;
  --gutter:clamp(16px,4vw,40px);
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}
*,*::before,*::after{box-sizing:border-box}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
p{margin:0 0 1em}
[hidden]{display:none!important}

/* Cabeçalho */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--green-deep);border-bottom:1px solid var(--line-dark)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
.brand{display:inline-flex;align-items:baseline;gap:10px;color:var(--on-dark);text-decoration:none;white-space:nowrap}
.brand .k{font-family:var(--serif-display);font-size:1.4rem;letter-spacing:.16em}
.brand .a{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--champagne)}
.top-actions{display:flex;align-items:center;gap:10px}
nav{display:flex;gap:30px}
nav a{color:var(--on-dark-muted);text-decoration:none;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;transition:color .2s}
nav a:hover{color:var(--champagne)}
.menu-btn{display:none;background:none;border:1px solid rgba(245,241,231,.35);color:var(--on-dark);border-radius:2px;padding:9px 12px;cursor:pointer;font:inherit;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.menu-btn:hover{border-color:var(--champagne);color:var(--champagne)}
@media(max-width:860px){
  .menu-btn{display:inline-flex;align-items:center;gap:8px}
  nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--green-deep);border-bottom:1px solid var(--line-dark);flex-direction:column;gap:0;padding:6px var(--gutter) 14px}
  nav.open{display:flex}
  nav a{padding:14px 0;border-top:1px solid rgba(245,241,231,.08)}
}
@media(max-width:480px){
  .top .brand .a{display:none}
  .top .btn-sm,.menu-btn{padding:9px 11px;font-size:.7rem;letter-spacing:.1em}
  .top .wrap{gap:12px}
}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 28px;border-radius:2px;font-weight:600;font-size:.86rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s;white-space:nowrap}
.btn-light{background:var(--cream);color:var(--green-deep)}
.btn-light:hover{background:var(--champagne)}
.btn-ghost{border-color:rgba(245,241,231,.45);color:var(--on-dark)}
.btn-ghost:hover{border-color:var(--champagne);color:var(--champagne)}
.btn-green{background:var(--green);color:var(--cream)}
.btn-green:hover{background:var(--gold);color:var(--green-deep)}
.btn-outline{border-color:var(--green);color:var(--green)}
.btn-outline:hover{border-color:var(--gold);background:rgba(191,155,73,.12);color:var(--green-deep)}
.btn-sm{padding:10px 16px;font-size:.74rem}

/* Rótulos de seção */
.eyebrow{font-size:.74rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:14px;margin:0}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--gold);flex:none}
.label{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);font-weight:600;margin:0 0 10px}

/* Abertura */
.hero{background:var(--green-deep);color:var(--on-dark);position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:1;padding-block:clamp(72px,11vw,148px)}
.hero h1{font-family:var(--serif-display);font-weight:400;font-size:clamp(2.6rem,6.4vw,4.8rem);line-height:1.04;margin:22px 0 28px;max-width:13ch;text-wrap:balance;color:var(--cream)}
.hero .lead{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.55;max-width:54ch;color:var(--on-dark-muted);margin:0 0 42px}
.hero .actions{display:flex;flex-wrap:wrap;gap:14px}
.motif{position:absolute;right:-30px;top:50%;transform:translateY(-50%);width:min(44vw,600px);max-width:100%;opacity:.34;pointer-events:none}
@media(max-width:900px){.motif{width:78vw;right:-32vw;top:auto;bottom:-6%;transform:none;opacity:.16}}

/* Faixa */
.strip{background:var(--green);color:var(--champagne);border-top:1px solid var(--line-dark)}
.strip .wrap{display:flex;flex-wrap:wrap;gap:10px 40px;justify-content:space-between;padding-block:16px;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600}

/* Seções */
.section{padding-block:clamp(64px,9vw,124px)}
.section.cream{background:var(--cream)}
.section.white{background:var(--white)}
.section.dark{background:var(--green);color:var(--on-dark)}
h2.title{font-family:var(--serif-display);font-weight:400;font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.12;margin:18px 0 26px;text-wrap:balance;color:var(--green-deep)}
.dark h2.title{color:var(--cream)}
.dark p{color:var(--on-dark-muted)}
.measure{max-width:62ch}
.muted{color:var(--ink-muted)}

/* O escritório */
.cols{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,88px);align-items:start}
.cols .lede{font-family:var(--serif);font-size:1.2rem;line-height:1.55;color:var(--green)}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin:64px 0 0;padding-top:44px;border-top:1px solid var(--line)}
.principles dt{font-family:var(--serif);font-size:1.3rem;color:var(--green);margin:0 0 8px}
.principles dd{margin:0;color:var(--ink-muted);font-size:.98rem}
@media(max-width:860px){.cols{grid-template-columns:1fr}.principles{grid-template-columns:1fr;gap:26px}}

/* Atuação */
.areas{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(32px,5vw,80px);margin-top:20px}
.area{border-top:1px solid var(--gold);padding:30px 0 44px}
.area h3{font-family:var(--serif);font-weight:400;font-size:1.55rem;margin:0 0 12px;color:var(--green-deep)}
.area p{margin:0 0 18px;color:var(--ink-muted)}
.area .tags{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);font-weight:600;margin:0}
.note{padding-top:26px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:baseline}
.note .label{color:var(--gold);white-space:nowrap;margin:0}
.note p{margin:0;color:var(--ink-muted);max-width:70ch}
@media(max-width:860px){.areas{grid-template-columns:1fr}.area{padding-bottom:34px}}
@media(max-width:560px){.note{grid-template-columns:1fr;gap:8px}}

/* Método */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,44px);margin-top:52px}
.step{border-top:1px solid var(--line-dark);padding-top:26px}
.step .num{font-family:var(--serif-display);font-size:2.3rem;color:var(--gold);line-height:1;margin:0 0 16px}
.step h3{font-family:var(--serif);font-weight:400;font-size:1.3rem;margin:0 0 10px;color:var(--cream)}
.step p{margin:0;font-size:.98rem}
@media(max-width:1000px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}

/* Atendimento */
.service{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px);margin-top:44px}
.service article{border-top:1px solid var(--gold);padding-top:22px}
.service h3{font-family:var(--serif);font-weight:400;font-size:1.35rem;margin:0 0 10px;color:var(--green-deep)}
.service p{margin:0;color:var(--ink-muted);font-size:.98rem}
@media(max-width:860px){.service{grid-template-columns:1fr;gap:28px}}

/* O advogado */
.profile{display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.seal{width:200px;max-width:100%;height:auto;display:block}
.profile .name{font-family:var(--serif-display);font-weight:400;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.12;margin:16px 0 10px;color:var(--green-deep);text-wrap:balance}
.profile .role{margin-bottom:26px}
blockquote.pull{font-family:var(--serif);font-style:italic;font-size:1.35rem;line-height:1.4;color:var(--green);border-left:2px solid var(--gold);padding-left:22px;margin:34px 0 0;max-width:40ch}
@media(max-width:700px){.profile{grid-template-columns:1fr}.seal{width:140px}}

/* Contato */
.contact{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,6vw,88px);align-items:start}
.contact .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.details{display:grid;gap:24px;border-left:1px solid var(--line);padding-left:30px;margin:0}
.details dt{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);font-weight:600;margin:0 0 4px}
.details dd{margin:0;font-family:var(--serif);font-size:1.15rem;color:var(--green-deep)}
.details a{color:inherit;text-decoration:none;border-bottom:1px solid var(--gold);transition:color .2s}
.details a:hover{color:var(--gold)}
@media(max-width:860px){.contact{grid-template-columns:1fr}.details{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:30px}}

/* Rodapé */
footer{background:var(--green-deep);color:var(--on-dark-muted);border-top:1px solid var(--line-dark);font-size:.9rem}
footer .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;padding-block:52px}
footer .brand{margin-bottom:12px}
footer p{margin:0 0 8px;max-width:58ch}
footer .legal{border-top:1px solid rgba(245,241,231,.12);padding-block:18px;font-size:.78rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;letter-spacing:.04em}
@media(max-width:860px){footer .grid{grid-template-columns:1fr}}

/* Página de erro */
.error{min-height:60vh;display:grid;place-items:center;text-align:center;padding-block:clamp(64px,10vw,140px)}
.error h1{font-family:var(--serif-display);font-weight:400;font-size:clamp(2rem,5vw,3.4rem);color:var(--green-deep);margin:12px 0 16px}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,nav a,.details a,.menu-btn{transition:none}}
