/* ═══════════════════════════════════════════════════════════
   LINO ADVOGADOS · Landing pages de campanha
   (beneficios-por-incapacidade/, planejamento-previdenciario/)
   Usa style.css + blog.css. Páginas geradas por _build/build_lps.py
   ═══════════════════════════════════════════════════════════ */

.lp { background: var(--paper); }
.lp .section { padding-block: clamp(64px, 8vw, 112px); }
.lp .header__bar { padding: 8px 8px 8px 20px; }
.lp-head__cta { display: flex; align-items: center; gap: 8px; }
.lp-head__tel { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 999px; font-size: 14.5px; font-weight: 500; color: rgba(248, 247, 245, .85); }
.lp-head__tel:hover { background: rgba(255, 255, 255, .08); color: var(--white); }
.lp-head__tel .i { width: 17px; height: 17px; color: var(--caramel-soft); }
.lp .header .btn { min-height: 46px; padding: 0 20px; font-size: 14px; }
@media (max-width: 720px) { .lp-head__tel { display: none; } .lp .brand__logo { height: 48px; } }

/* ── Hero ── */
.lp-hero { position: relative; isolation: isolate; overflow: hidden; color: var(--light); padding: calc(var(--header-h) + clamp(32px, 5vw, 64px)) 0 clamp(56px, 7vw, 96px);
  background: radial-gradient(130% 110% at 85% 0%, #1D3170 0%, var(--night) 48%, var(--abyss) 100%); }
.lp-hero .orb--caramel { width: 40vw; height: 40vw; right: -8vw; top: -12vw; opacity: .4; }
.lp-hero .orb--sapphire { width: 56vw; height: 56vw; left: -20vw; bottom: -36vw; }
.lp-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
.lp-hero__copy { display: grid; gap: 22px; justify-items: start; }
.lp-hero h1 { font-size: clamp(36px, 4.9vw, 66px); line-height: 1.04; letter-spacing: -.042em; font-weight: 500; }
.lp-hero .lead { max-width: 58ch; }
.lp-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.lp-trust { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; color: rgba(248, 247, 245, .72); }
.lp-trust li { display: inline-flex; align-items: center; gap: 8px; }
.lp-trust .i { width: 17px; height: 17px; color: var(--caramel); }
.lp-hero__visual { position: relative; justify-self: center; width: min(100%, 440px); }
.lp-hero__photo { position: relative; aspect-ratio: 4 / 5; border-radius: var(--r-xl); overflow: hidden; box-shadow: 0 50px 100px -40px rgba(0, 0, 0, .8), 0 0 0 1px rgba(242, 207, 151, .18); }
.lp-hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; }
.lp-hero__photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(8, 14, 36, .85) 100%); }
.lp-hero__sign { position: absolute; left: 22px; right: 22px; bottom: 20px; z-index: 1; display: grid; gap: 2px; }
.lp-hero__sign b { font-size: 19px; font-weight: 600; letter-spacing: -.02em; }
.lp-hero__sign span { font-size: 13px; color: var(--caramel-soft); }
.lp-hero__badge { position: absolute; left: -26px; top: 34px; z-index: 2; display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: var(--r); background: rgba(15, 25, 57, .82); border: 1px solid rgba(255, 255, 255, .14); backdrop-filter: var(--blur); box-shadow: var(--shadow); }
.lp-hero__badge b { font-size: 26px; font-weight: 600; letter-spacing: -.04em; line-height: 1; background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lp-hero__badge span { font-size: 12.5px; line-height: 1.3; color: rgba(248, 247, 245, .8); }
.lp-hero__badge--b { left: auto; right: -20px; top: auto; bottom: 110px; }
@media (max-width: 960px) {
  .lp-hero__grid { grid-template-columns: 1fr; }
  .lp-hero__visual { width: min(100%, 360px); }
  .lp-hero__badge { left: -8px; }
  .lp-hero__badge--b { right: -8px; }
}
@media (max-width: 560px) { .lp-hero__actions .btn { width: 100%; } }

/* ── Faixa de credenciais ── */
.lp-proof { background: var(--white); border-bottom: 1px solid var(--line); }
.lp-proof ul { display: grid; grid-template-columns: repeat(4, 1fr); }
.lp-proof li { display: flex; align-items: center; gap: 14px; padding: 22px 18px; }
.lp-proof li + li { border-left: 1px solid var(--line); }
.lp-proof .ico { width: 44px; height: 44px; }
.lp-proof b { display: block; font-size: 16px; font-weight: 600; letter-spacing: -.015em; line-height: 1.25; }
.lp-proof small { font-size: 13px; color: var(--ink-mute); }
@media (max-width: 960px) { .lp-proof ul { grid-template-columns: 1fr 1fr; } .lp-proof li:nth-child(3) { border-left: 0; } .lp-proof li:nth-child(n+3) { border-top: 1px solid var(--line); } }
@media (max-width: 520px) { .lp-proof li { padding: 16px 10px; gap: 10px; } .lp-proof .ico { width: 38px; height: 38px; } .lp-proof b { font-size: 14.5px; } }

/* ── Cards de situação ── */
.lp-sits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.lp-sit { display: flex; flex-direction: column; gap: 12px; padding: 24px; border-radius: var(--r-lg); background: var(--white); border: 1px solid var(--line); transition: transform .5s var(--ease), box-shadow .5s var(--ease), border-color .4s; }
.lp-sit:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--line-bronze); }
.lp-sit h3 { font-size: 19px; font-weight: 600; letter-spacing: -.02em; line-height: 1.25; }
.lp-sit p { font-size: 15px; line-height: 1.6; color: var(--ink-soft); flex: 1; }
.lp-sit__tag { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: rgba(201, 142, 59, .12); color: var(--bronze-deep); font-size: 12px; font-weight: 600; }
.lp-sit__tag .i { width: 13px; height: 13px; }
.lp-sit__go { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; padding-top: 14px; border-top: 1px solid var(--line); font-size: 14px; font-weight: 600; }
.lp-sit__go a { display: inline-flex; align-items: center; gap: 6px; }
.lp-sit__go a:first-child { color: var(--ink); }
.lp-sit__go a:first-child .i { color: #1FA855; }
.lp-sit__go a + a { color: var(--ink-mute); font-weight: 500; }
.lp-sit__go a:hover { color: var(--bronze-deep); }
@media (max-width: 1000px) { .lp-sits { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .lp-sits { grid-template-columns: 1fr; } }

/* ── Seção escura com cards de informação ── */
.lp-dark { position: relative; isolation: isolate; overflow: hidden; background: var(--night); color: var(--light); }
.lp-dark .orb--caramel { width: 34vw; height: 34vw; right: -10vw; top: -10vw; opacity: .35; }
.lp-info { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.lp-info--4 { grid-template-columns: repeat(4, 1fr); }
.lp-info--3 { grid-template-columns: repeat(3, 1fr); }
.lp-info article { display: grid; gap: 10px; align-content: start; padding: 24px; border-radius: var(--r-lg); background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); }
.lp-info h3 { font-size: 19px; font-weight: 600; letter-spacing: -.02em; line-height: 1.25; }
.lp-info p { font-size: 15px; line-height: 1.6; color: rgba(248, 247, 245, .72); }
.lp-info small { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--caramel-soft); }
.lp-info a { font-size: 14px; font-weight: 600; color: var(--caramel-soft); display: inline-flex; align-items: center; gap: 6px; }
.lp-info a:hover { color: var(--white); }
@media (max-width: 1100px) { .lp-info--4 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 860px) { .lp-info--3 { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .lp-info, .lp-info--4 { grid-template-columns: 1fr; } }

/* ── Dor × solução ── */
.lp-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 32px); }
.lp-list { display: grid; gap: 14px; align-content: start; padding: clamp(22px, 3vw, 34px); border-radius: var(--r-xl); background: var(--white); border: 1px solid var(--line); }
.lp-list h3 { display: flex; align-items: center; gap: 12px; font-size: 20px; font-weight: 600; letter-spacing: -.02em; margin-bottom: 4px; }
.lp-list li { display: flex; gap: 12px; align-items: flex-start; font-size: 15.5px; line-height: 1.55; color: var(--ink-soft); }
.lp-list li .i { width: 20px; height: 20px; margin-top: 2px; }
.lp-list li b { color: var(--ink); font-weight: 600; }
.lp-list--bad li .i { color: #C2410C; }
.lp-list--good { background: var(--night); color: var(--light); border-color: transparent; }
.lp-list--good li { color: rgba(248, 247, 245, .76); }
.lp-list--good li b { color: var(--white); }
.lp-list--good li .i { color: var(--caramel); }
@media (max-width: 860px) { .lp-split { grid-template-columns: 1fr; } }

/* ── Tabela ── */
.lp-table { overflow-x: auto; border-radius: var(--r-lg); border: 1px solid var(--line); background: var(--white); }
.lp-table table { width: 100%; border-collapse: collapse; min-width: 640px; font-size: 15px; line-height: 1.5; }
.lp-table th { text-align: left; padding: 14px 18px; background: var(--night); color: var(--caramel-soft); font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.lp-table td { padding: 14px 18px; border-top: 1px solid var(--line); vertical-align: top; }
.lp-table td:first-child { font-weight: 600; }
.lp-table tr:nth-child(even) td { background: var(--paper); }
.lp-note { margin-top: 14px; font-size: 13.5px; color: var(--ink-mute); }
.lp-note a { color: var(--bronze-deep); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* ── Triagem ── */
.lp-tri-sec { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(120% 100% at 15% 0%, #1D3170 0%, var(--night) 50%, var(--abyss) 100%); color: var(--light); scroll-margin-top: 90px; }
.lp-tri-sec .orb--caramel { width: 36vw; height: 36vw; right: -12vw; bottom: -14vw; opacity: .35; }
.lp-tri-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(28px, 5vw, 64px); align-items: start; }
.lp-tri-aside { display: grid; gap: 20px; justify-items: start; position: sticky; top: 120px; }
.lp-tri-aside ul { display: grid; gap: 10px; }
.lp-tri-aside li { display: flex; gap: 10px; font-size: 15px; color: rgba(248, 247, 245, .78); }
.lp-tri-aside li .i { width: 19px; height: 19px; color: var(--caramel); margin-top: 2px; }
@media (max-width: 960px) { .lp-tri-grid { grid-template-columns: 1fr; } .lp-tri-aside { position: static; } }

.tri { display: grid; gap: 18px; padding: clamp(20px, 3vw, 32px); border-radius: var(--r-xl); background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); backdrop-filter: var(--blur); box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .7); }
.tri__top span { display: inline-flex; align-items: center; gap: 6px; }
.tri__top .i { width: 14px; height: 14px; color: var(--caramel-soft); }
.tri__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 13px; color: rgba(248, 247, 245, .65); }
.tri__bar { height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .1); overflow: hidden; }
.tri__bar i { display: block; height: 100%; background: var(--gold-grad); transition: width .5s var(--ease); }
.tri__h { font-size: clamp(21px, 2.2vw, 26px); font-weight: 600; letter-spacing: -.025em; line-height: 1.25; }
.tri__sub { font-size: 14.5px; color: rgba(248, 247, 245, .65); margin-top: -8px; }
.tri__opts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tri__opt { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 12px 16px; border-radius: var(--r); text-align: left; font-size: 15px; font-weight: 500; line-height: 1.35; color: var(--light); background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .14); transition: border-color .25s, background .25s, transform .3s var(--ease); }
.tri__opt:hover { border-color: var(--caramel); background: rgba(255, 255, 255, .09); }
.tri__opt[aria-pressed="true"] { border-color: var(--caramel); background: rgba(227, 175, 100, .14); }
.tri__opt i { flex: none; width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .4); display: grid; place-items: center; }
.tri__opt--multi i { border-radius: 6px; }
.tri__opt[aria-pressed="true"] i { border-color: var(--caramel); background: var(--caramel); box-shadow: inset 0 0 0 3px var(--night); }
.tri__opt--multi[aria-pressed="true"] i { box-shadow: none; }
.tri__opt--multi[aria-pressed="true"] i::after { content: ''; width: 9px; height: 5px; border: 2px solid var(--night); border-top: 0; border-right: 0; transform: translateY(-1px) rotate(-45deg); }
.tri__note { display: flex; gap: 12px; padding: 14px 16px; border-radius: var(--r); background: rgba(227, 175, 100, .1); border: 1px solid rgba(227, 175, 100, .3); font-size: 14.5px; line-height: 1.55; color: rgba(248, 247, 245, .88); }
.tri__note .i { width: 20px; height: 20px; color: var(--caramel); margin-top: 1px; }
.tri__note[hidden] { display: none; }
.tri__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tri__field { display: grid; gap: 6px; font-size: 13.5px; color: rgba(248, 247, 245, .75); }
.tri__field input { min-height: 52px; padding: 0 16px; border-radius: var(--r); border: 1px solid rgba(255, 255, 255, .18); background: rgba(255, 255, 255, .06); color: var(--white); font-size: 16px; outline: 0; transition: border-color .25s; }
.tri__field input:focus { border-color: var(--caramel); }
.tri__field input::placeholder { color: rgba(248, 247, 245, .4); }
.tri__nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tri__back { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: rgba(248, 247, 245, .7); padding: 10px 4px; }
.tri__back .i { transform: rotate(180deg); }
.tri__back:hover { color: var(--white); }
.tri__back[hidden] { visibility: hidden; display: inline-flex; }
.tri__sum { display: grid; gap: 8px; padding: 16px 18px; border-radius: var(--r); background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); font-size: 14.5px; }
.tri__sum div { display: grid; grid-template-columns: 150px 1fr; gap: 10px; }
.tri__sum dt { color: rgba(248, 247, 245, .55); }
.tri__sum dd { color: var(--white); }
.tri__legal { display: flex; gap: 8px; font-size: 12.5px; line-height: 1.5; color: rgba(248, 247, 245, .5); }
.tri__legal .i { width: 14px; height: 14px; color: var(--caramel-soft); margin-top: 2px; }
.tri .btn[disabled] { opacity: .45; pointer-events: none; }
@media (max-width: 640px) {
  .tri__opts, .tri__fields { grid-template-columns: 1fr; }
  .tri__sum div { grid-template-columns: 1fr; gap: 0; }
  .tri__nav .btn { flex: 1; }
}

/* ── Entregáveis / documentos ── */
.lp-checks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.lp-checks li { display: flex; gap: 12px; align-items: flex-start; padding: 16px 18px; border-radius: var(--r); background: var(--white); border: 1px solid var(--line); font-size: 15px; line-height: 1.5; color: var(--ink-soft); }
.lp-checks li .i { width: 20px; height: 20px; color: var(--bronze-deep); margin-top: 2px; }
.lp-checks li b { display: block; color: var(--ink); font-weight: 600; }
@media (max-width: 960px) { .lp-checks { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .lp-checks { grid-template-columns: 1fr; } }

/* ── Sobre ── */
.lp-about { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
.lp-about__img { border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--shadow); aspect-ratio: 4 / 5; }
.lp-about__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; }
.lp-about__body { display: grid; gap: 18px; justify-items: start; }
.lp-about__body p { color: var(--ink-soft); }
.lp-about .creds { width: 100%; }
@media (max-width: 860px) { .lp-about { grid-template-columns: 1fr; } .lp-about__img { max-width: 360px; } }

/* ── Ajustes de seções reaproveitadas ── */
.lp .testimonials, .lp .faq { background: var(--ivory); }
.lp .section-head { margin-bottom: clamp(32px, 4vw, 52px); }
.lp .flow__cta { margin-top: 36px; }
.lp-mini-footer { padding: 28px 0 110px; background: var(--abyss); color: rgba(248, 247, 245, .6); font-size: 13px; line-height: 1.6; }
.lp-mini-footer .container { display: grid; gap: 10px; }
.lp-mini-footer a { color: var(--caramel-soft); }
@media (min-width: 961px) { .lp-mini-footer { padding-bottom: 28px; } }
