/* ============================================================
   O'Donnell Advocacia — folha de estilo única
   Baseada no layout "Layout do Site O'Donnell"
   ============================================================ */

:root{
  --navy:#0B1B33;
  --navy-2:#142A4A;
  --navy-deep:#081426;
  --sage:#7C9690;
  --sage-light:#E4EAE7;
  --cream:#F7F3EA;
  --cream-2:#FBF9F4;
  --ink:#1E2430;
  --ink-soft:#3C4650;
  --ink-mute:#4A5560;
  --line:#DCD5C6;
  --wrap:1248px;
}

*,*::before,*::after{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  margin:0;
  font-family:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  color:var(--ink);
  background:var(--cream);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
  font-family:'Playfair Display',Georgia,'Times New Roman',serif;
  margin:0;
  font-weight:600;
  letter-spacing:-0.01em;
  line-height:1.2;
  color:var(--navy);
}

p{margin:0;line-height:1.65;}

a{color:var(--navy);text-decoration:none;transition:color .15s ease;}
a:hover{color:var(--sage);}

img{max-width:100%;display:block;}

ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px;}
li{font-size:15px;color:var(--ink-soft);line-height:1.55;}

/* ---------- utilidades ---------- */

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 48px;}

.eyebrow{
  font-size:12px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--sage);font-weight:600;
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 28px;font-size:15px;font-weight:600;border-radius:2px;
  white-space:nowrap;cursor:pointer;border:1px solid transparent;
  transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--sage);color:var(--navy);}
.btn-primary:hover{background:#6b8781;color:var(--navy);}
.btn-outline{border-color:rgba(247,243,234,0.55);color:var(--cream);}
.btn-outline:hover{border-color:var(--cream);color:var(--cream);background:rgba(247,243,234,0.08);}
.btn-outline-navy{border-color:var(--navy);color:var(--navy);}
.btn-outline-navy:hover{background:var(--navy);color:var(--cream-2);}

.link-underline{
  font-size:14px;font-weight:600;border-bottom:1px solid var(--navy);
  padding-bottom:2px;width:fit-content;
}
.link-underline:hover{border-color:var(--sage);}

.section{padding:96px 0;}
.section-tight{padding:80px 0;}

/* ---------- cabeçalho ---------- */

.site-header{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:20px 48px;border-bottom:1px solid var(--line);
  background:var(--cream);position:sticky;top:0;z-index:50;
}
.site-header .logo img{height:44px;width:auto;}

.nav{display:flex;align-items:center;gap:32px;}
.nav a{font-size:14px;color:var(--ink);font-weight:500;}
.nav a:hover{color:var(--sage);}
.nav a.is-active{
  color:var(--navy);font-weight:600;
  border-bottom:2px solid var(--sage);padding-bottom:4px;
}

.header-cta{flex-shrink:0;}

.nav-toggle{
  display:none;background:none;border:0;cursor:pointer;padding:8px;
  font-size:24px;line-height:1;color:var(--navy);
}

/* ---------- hero ---------- */

.hero{
  position:relative;background:var(--navy);overflow:hidden;
  padding:112px 0;
}
.hero__mark{
  position:absolute;right:-40px;top:-60px;height:520px;width:auto;
  opacity:0.08;pointer-events:none;
}
.hero__inner{position:relative;max-width:760px;display:flex;flex-direction:column;gap:26px;}
.hero h1{color:#FBF9F4;font-size:46px;line-height:1.15;}
.hero p{color:#C9D2CE;font-size:18px;max-width:620px;}
.hero__actions{display:flex;gap:16px;margin-top:8px;flex-wrap:wrap;}

/* ---------- faixa de credenciais ---------- */

.trust{background:var(--cream-2);border-bottom:1px solid var(--line);}
.trust__inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:28px 48px;flex-wrap:wrap;gap:24px;
}
.trust__item{font-size:13px;max-width:200px;color:var(--ink);}
.trust__big{
  display:flex;align-items:center;gap:10px;
}
.trust__big b{font-family:'Playfair Display',serif;font-size:20px;color:var(--navy);font-weight:600;}
.trust__sep{width:1px;height:32px;background:var(--line);}

/* ---------- grade de áreas (home) ---------- */

.areas-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  margin-bottom:48px;gap:24px;flex-wrap:wrap;
}
.areas-head__text{max-width:560px;display:flex;flex-direction:column;gap:14px;}
.areas-head h2{font-size:32px;}

.areas-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;background:var(--line);border:1px solid var(--line);
}
.area-cell{
  background:var(--cream);padding:28px 24px;
  display:flex;flex-direction:column;gap:12px;min-height:184px;
}
.area-cell__num{font-family:'Playfair Display',serif;font-size:14px;color:var(--sage);}
.area-cell h3{font-size:16px;line-height:1.35;}
.area-cell p{font-size:13px;color:var(--ink-mute);}

/* ---------- bloco institucional (home) ---------- */

.split{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:80px;align-items:center;
}
.split--text-first .split__text{order:0;}
.split__text{display:flex;flex-direction:column;gap:18px;}
.split__text h2{font-size:30px;}
.split__text p{font-size:15px;color:var(--ink-mute);max-width:480px;}
.split__media img{width:100%;height:360px;object-fit:cover;border-radius:2px;}

.band-cream{
  background:var(--cream-2);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}

/* ---------- faixa instagram (home) ---------- */

.ig-strip{background:var(--cream);}
.ig-strip__inner{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  flex-wrap:wrap;padding:56px 48px;border:1px solid var(--line);border-radius:2px;
  background:var(--cream-2);
}
.ig-strip h2{font-size:24px;}
.ig-strip p{font-size:15px;color:var(--ink-mute);max-width:420px;margin-top:8px;}
.ig-strip__links{display:flex;gap:16px;flex-wrap:wrap;}

/* ---------- faixa de chamada (CTA) ---------- */

.cta-band{background:var(--navy);}
.cta-band__inner{
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  flex-wrap:wrap;padding:72px 48px;
}
.cta-band h2{font-size:26px;color:#FBF9F4;max-width:640px;}

/* ---------- páginas internas: cabeçalho de página ---------- */

.page-intro{padding:88px 0 56px;}
.page-intro__inner{max-width:760px;display:flex;flex-direction:column;gap:16px;}
.page-intro h1{font-size:36px;}
.page-intro p{font-size:16px;color:var(--ink-soft);}

.page-intro--split .page-intro__inner{
  max-width:none;display:grid;grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);gap:80px;
}
.page-intro--split .page-intro__title{display:flex;flex-direction:column;gap:14px;}
.page-intro--split .page-intro__body{display:flex;flex-direction:column;gap:20px;}
.page-intro--split .page-intro__body p{font-size:16px;color:var(--ink-soft);}

.page-intro--photo .page-intro__inner{
  max-width:none;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);
  gap:64px;align-items:center;
}
.page-intro__text{display:flex;flex-direction:column;gap:16px;}
.page-intro__media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px;}

/* ---------- lista de áreas (página) ---------- */

.area-list{border-top:1px solid var(--line);}
.area-row{
  display:grid;grid-template-columns:56px minmax(0,340px) minmax(0,1fr);
  gap:32px;padding:32px 0;border-bottom:1px solid var(--line);align-items:baseline;
}
.area-row:last-child{border-bottom:0;}
.area-row__num{font-family:'Playfair Display',serif;font-size:16px;color:var(--sage);}
.area-row h3{font-size:19px;line-height:1.35;}
.area-row p{font-size:15px;color:var(--ink-soft);}
.area-row p strong{color:var(--navy);}

.closing{background:var(--cream-2);border-top:1px solid var(--line);}
.closing__inner{max-width:820px;display:flex;flex-direction:column;gap:18px;}
.closing__inner p{font-size:15px;color:var(--ink-soft);}
.closing__inner p strong{color:var(--navy);}
.closing__cta{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  flex-wrap:wrap;margin-top:12px;
}
.closing__cta p{font-size:16px;color:var(--navy);font-weight:600;}

/* ---------- institucional: advogada ---------- */

.lawyer{
  display:grid;grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);gap:80px;
}
.lawyer__media{display:flex;flex-direction:column;gap:20px;}
.lawyer__media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px;}
.lawyer__body{display:flex;flex-direction:column;gap:26px;}
.lawyer__name{display:flex;flex-direction:column;gap:8px;}
.lawyer__name h2{font-size:28px;}
.lawyer__name p{font-size:15px;color:var(--sage);font-weight:600;}
.lawyer__group{display:flex;flex-direction:column;gap:12px;}
.lawyer__group > span{font-size:14px;font-weight:600;color:var(--navy);}
.lawyer__note{font-size:14px;color:var(--ink-soft);}
.lawyer__note strong{color:var(--navy);}
.lawyer__cta{
  background:var(--cream);border:1px solid var(--line);border-radius:2px;padding:24px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.lawyer__cta p{font-size:14px;color:var(--ink-soft);max-width:420px;}

/* ---------- ferramentas ---------- */

.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;}
.tool-card{
  border:1px solid var(--line);background:var(--cream-2);padding:32px;
  display:flex;flex-direction:column;gap:16px;border-radius:2px;
}
.tool-card h3{font-size:20px;}
.tool-card p{font-size:14px;color:var(--ink-soft);}
.tool-card__disc{font-size:12px;color:#6B7681;}
.tool-card .btn{margin-top:auto;align-self:flex-start;}
.tools-note{font-size:13px;color:#6B7681;margin-top:32px;}

/* ---------- contato ---------- */

.contact-grid{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:64px;
  align-items:start;
}
.contact-actions{display:flex;flex-direction:column;gap:16px;}
.contact-actions .btn{padding:18px 28px;font-size:16px;width:100%;}
.contact-actions__hint{font-size:13px;color:#6B7681;line-height:1.6;}
.contact-actions__hint a{font-weight:600;border-bottom:1px solid var(--navy);}

.contact-form{display:flex;flex-direction:column;gap:20px;}
.contact-form label{
  font-size:13px;font-weight:600;color:var(--navy);
  display:flex;flex-direction:column;gap:8px;
}
.contact-form input,
.contact-form textarea{
  font-family:inherit;font-size:15px;padding:12px 14px;
  border:1px solid var(--line);border-radius:2px;
  background:var(--cream-2);color:var(--ink);width:100%;
}
.contact-form input:focus,
.contact-form textarea:focus{
  outline:2px solid var(--sage);outline-offset:1px;border-color:var(--sage);
}
.contact-form textarea{resize:vertical;min-height:120px;}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.contact-form input[name="_gotcha"]{
  position:absolute;left:-9999px;width:1px;height:1px;opacity:0;padding:0;border:0;
}
.contact-form button[type="submit"]{align-self:flex-start;margin-top:4px;}
.contact-form.is-sending button[type="submit"]{opacity:.6;pointer-events:none;}
.contact-form__status{
  font-size:14px;padding:12px 14px;border-radius:2px;margin:0;
}
.contact-form__status--ok{background:var(--sage-light);color:var(--navy);}
.contact-form__status--erro{background:#F6E3E3;color:#8D2B3A;}
.contact-card{
  background:var(--navy);border-radius:2px;padding:40px;
  display:flex;flex-direction:column;gap:24px;
}
.contact-card__row{display:flex;flex-direction:column;gap:6px;}
.contact-card__row a,.contact-card__row span{font-size:16px;color:#FBF9F4;}
.contact-card__row a{font-weight:600;}
.contact-card__sep{width:100%;height:1px;background:rgba(247,243,234,0.14);}
.contact-card__socials{display:flex;gap:20px;flex-wrap:wrap;}
.contact-card__socials a{font-size:14px;color:#C9D2CE;}

/* ---------- rodapé ---------- */

.site-footer{background:var(--navy-deep);padding:64px 0 32px;}
.site-footer__grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;
  padding-bottom:40px;border-bottom:1px solid rgba(247,243,234,0.14);
}
.site-footer__brand{display:flex;flex-direction:column;gap:16px;}
.site-footer__brand img{height:36px;width:auto;filter:brightness(0) invert(1);}
.site-footer__brand p{font-size:13px;color:#93A0AC;max-width:280px;}
.site-footer__col{display:flex;flex-direction:column;gap:12px;}
.site-footer__col span.eyebrow{color:var(--sage);}
.site-footer__col a,.site-footer__col span:not(.eyebrow){font-size:13px;color:#C9D2CE;}
.site-footer__col a:hover{color:#fff;}
.site-footer__legal{font-size:12px;color:#5C6A76;padding-top:24px;}

/* ============================================================
   RESPONSIVO
   ============================================================ */

@media (max-width:1024px){
  .wrap{padding:0 32px;}
  .site-header{padding:18px 32px;}
  .hero{padding:88px 0;}
  .hero h1{font-size:38px;}
  .split{gap:48px;}
  .lawyer{gap:48px;}
  .page-intro--split .page-intro__inner{gap:48px;}
  .areas-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .trust__inner{padding:24px 32px;}
}

@media (max-width:820px){
  .nav,.header-cta{display:none;}
  .nav-toggle{display:block;}

  .site-header{position:relative;}
  .nav.is-open{
    display:flex;flex-direction:column;align-items:flex-start;gap:4px;
    position:absolute;top:100%;left:0;right:0;
    background:var(--cream);border-bottom:1px solid var(--line);
    padding:12px 32px 20px;z-index:60;
  }
  .nav.is-open a{padding:12px 0;width:100%;border-bottom:1px solid var(--line);font-size:15px;}
  .nav.is-open a:last-child{border-bottom:0;}
  .nav.is-open a.is-active{border-bottom:1px solid var(--line);}

  .section{padding:64px 0;}
  .section-tight{padding:56px 0;}

  .hero{padding:72px 0;}
  .hero h1{font-size:32px;}
  .hero p{font-size:16px;}
  .hero__mark{height:340px;right:-80px;}

  .split,
  .lawyer,
  .page-intro--split .page-intro__inner,
  .page-intro--photo .page-intro__inner,
  .contact-grid{grid-template-columns:1fr;gap:36px;}

  .split__media{order:-1;}
  .split__media img{height:280px;}
  .page-intro__media{order:-1;}

  .areas-head h2{font-size:26px;}
  .page-intro h1{font-size:30px;}

  .area-row{grid-template-columns:1fr;gap:8px;padding:24px 0;}
  .area-row__num{font-size:14px;}

  .tools-grid{grid-template-columns:1fr;}

  .cta-band__inner,
  .ig-strip__inner,
  .trust__inner{padding:40px 28px;}
  .cta-band h2{font-size:22px;}

  .site-footer__grid{grid-template-columns:1fr 1fr;gap:32px;}
  .contact-card{padding:32px;}
  .contact-form__row{grid-template-columns:1fr;}
}

@media (max-width:520px){
  .wrap{padding:0 20px;}
  .site-header{padding:16px 20px;}
  .site-header .logo img{height:38px;}
  .hero h1{font-size:27px;}
  .areas-grid{grid-template-columns:1fr;}
  .trust__sep{display:none;}
  .trust__item,.trust__big{max-width:none;width:100%;}
  .site-footer__grid{grid-template-columns:1fr;}
  .hero__actions .btn,.cta-band .btn,.closing__cta .btn{width:100%;}
}

/* respeita quem prefere menos animação */
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important;}
  .btn:hover{transform:none;}
}
