/*
Theme Name: Neve Child
Theme URI: https://jairrodrigueslimaadvogados.com.br/
Description: Tema filho personalizado para Jair Rodrigues Lima Advogados.
Author: Jair Rodrigues Lima Advogados
Template: neve
Version: 1.0.0
Text Domain: neve-child
*/

/* =========================================================
   1. VARIÁVEIS E IDENTIDADE VISUAL
   ========================================================= */

:root {
	--jl-navy-950: #07111f;
	--jl-navy-900: #0b1728;
	--jl-navy-850: #102038;
	--jl-navy-800: #142843;
	--jl-navy-700: #1b3658;

	--jl-gold-600: #a67c27;
	--jl-gold-500: #c29a4a;
	--jl-gold-400: #d8b66c;
	--jl-gold-300: #ead49e;

	--jl-white: #ffffff;
	--jl-off-white: #f8f7f3;
	--jl-gray-50: #fafafa;
	--jl-gray-100: #f3f4f6;
	--jl-gray-200: #e5e7eb;
	--jl-gray-300: #d1d5db;
	--jl-gray-400: #9ca3af;
	--jl-gray-500: #6b7280;
	--jl-gray-600: #4b5563;
	--jl-gray-700: #374151;
	--jl-gray-800: #1f2937;
	--jl-gray-900: #111827;

	--jl-success: #16794b;
	--jl-danger: #b42318;

	--jl-font-heading: Georgia, "Times New Roman", serif;
	--jl-font-body: Arial, Helvetica, sans-serif;

	--jl-container: 1180px;
	--jl-container-wide: 1320px;

	--jl-radius-sm: 6px;
	--jl-radius-md: 12px;
	--jl-radius-lg: 20px;
	--jl-radius-pill: 999px;

	--jl-shadow-sm: 0 4px 16px rgba(7, 17, 31, 0.08);
	--jl-shadow-md: 0 14px 40px rgba(7, 17, 31, 0.12);
	--jl-shadow-lg: 0 24px 70px rgba(7, 17, 31, 0.18);

	--jl-transition: 0.25s ease;
}

/* =========================================================
   2. RESET E BASE
   ========================================================= */

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--jl-white);
	color: var(--jl-gray-800);
	font-family: var(--jl-font-body);
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body,
button,
input,
textarea,
select {
	font-family: var(--jl-font-body);
}

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

a {
	color: var(--jl-navy-700);
	text-decoration: none;
	transition:
		color var(--jl-transition),
		background-color var(--jl-transition),
		border-color var(--jl-transition),
		transform var(--jl-transition);
}

a:hover,
a:focus {
	color: var(--jl-gold-600);
}

p {
	margin-top: 0;
	margin-bottom: 1.25rem;
}

ul,
ol {
	margin-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	margin-bottom: 1rem;
	color: var(--jl-navy-950);
	font-family: var(--jl-font-heading);
	font-weight: 700;
	line-height: 1.16;
	letter-spacing: -0.025em;
}

h1 {
	font-size: clamp(2.55rem, 6vw, 5rem);
}

h2 {
	font-size: clamp(2rem, 4vw, 3.45rem);
}

h3 {
	font-size: clamp(1.35rem, 2.5vw, 2rem);
}

h4 {
	font-size: 1.25rem;
}

blockquote {
	margin: 0;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	cursor: pointer;
}

::selection {
	background: var(--jl-gold-400);
	color: var(--jl-navy-950);
}

/* =========================================================
   3. ESTRUTURA GERAL
   ========================================================= */

.jl-site-main {
	width: 100%;
	overflow: hidden;
}

.jl-container {
	width: min(calc(100% - 40px), var(--jl-container));
	margin-right: auto;
	margin-left: auto;
}

.jl-container-wide {
	width: min(calc(100% - 40px), var(--jl-container-wide));
	margin-right: auto;
	margin-left: auto;
}

.jl-section {
	position: relative;
	padding: 96px 0;
}

.jl-section-sm {
	padding: 64px 0;
}

.jl-section-lg {
	padding: 128px 0;
}

.jl-section-light {
	background: var(--jl-off-white);
}

.jl-section-white {
	background: var(--jl-white);
}

.jl-section-dark {
	background:
		radial-gradient(
			circle at top right,
			rgba(194, 154, 74, 0.14),
			transparent 32%
		),
		linear-gradient(
			135deg,
			var(--jl-navy-950),
			var(--jl-navy-850)
		);
	color: rgba(255, 255, 255, 0.82);
}

.jl-section-dark h1,
.jl-section-dark h2,
.jl-section-dark h3,
.jl-section-dark h4 {
	color: var(--jl-white);
}

.jl-section-dark p {
	color: rgba(255, 255, 255, 0.78);
}

.jl-grid {
	display: grid;
	gap: 30px;
}

.jl-grid-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jl-grid-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jl-grid-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* =========================================================
   4. TÍTULOS, ETIQUETAS E INTRODUÇÕES
   ========================================================= */

.jl-section-heading {
	max-width: 820px;
	margin: 0 auto 56px;
	text-align: center;
}

.jl-section-heading-left {
	max-width: 780px;
	margin: 0 0 48px;
	text-align: left;
}

.jl-section-heading h2,
.jl-section-heading-left h2 {
	margin-bottom: 20px;
}

.jl-section-heading p,
.jl-section-heading-left p {
	margin-bottom: 0;
	color: var(--jl-gray-600);
	font-size: 1.1rem;
}

.jl-section-dark .jl-section-heading p,
.jl-section-dark .jl-section-heading-left p {
	color: rgba(255, 255, 255, 0.75);
}

.jl-tag,
.jl-eyebrow,
.jl-kicker {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 18px;
	color: var(--jl-gold-600);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
}

.jl-tag::before,
.jl-eyebrow::before,
.jl-kicker::before {
	width: 32px;
	height: 1px;
	background: currentColor;
	content: "";
}

.jl-section-dark .jl-tag,
.jl-section-dark .jl-eyebrow,
.jl-section-dark .jl-kicker {
	color: var(--jl-gold-400);
}

.jl-lead {
	color: var(--jl-gray-600);
	font-size: 1.18rem;
	line-height: 1.75;
}

.jl-section-dark .jl-lead {
	color: rgba(255, 255, 255, 0.8);
}

/* =========================================================
   5. BOTÕES
   ========================================================= */

.jl-buttons,
.jl-button-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}

.jl-button,
a.jl-button,
button.jl-button,
input.jl-button {
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 25px;
	border: 1px solid transparent;
	border-radius: var(--jl-radius-sm);
	font-size: 0.94rem;
	font-weight: 800;
	letter-spacing: 0.025em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition:
		transform var(--jl-transition),
		box-shadow var(--jl-transition),
		background-color var(--jl-transition),
		border-color var(--jl-transition),
		color var(--jl-transition);
}

.jl-button:hover,
.jl-button:focus {
	transform: translateY(-2px);
	text-decoration: none;
}

.jl-button-primary {
	background: linear-gradient(
		135deg,
		var(--jl-gold-500),
		var(--jl-gold-600)
	);
	color: var(--jl-navy-950);
	box-shadow: 0 10px 30px rgba(166, 124, 39, 0.24);
}

.jl-button-primary:hover,
.jl-button-primary:focus {
	background: linear-gradient(
		135deg,
		var(--jl-gold-400),
		var(--jl-gold-500)
	);
	color: var(--jl-navy-950);
	box-shadow: 0 14px 36px rgba(166, 124, 39, 0.34);
}

.jl-button-dark {
	background: var(--jl-navy-950);
	color: var(--jl-white);
}

.jl-button-dark:hover,
.jl-button-dark:focus {
	background: var(--jl-navy-700);
	color: var(--jl-white);
}

.jl-button-outline {
	border-color: rgba(255, 255, 255, 0.45);
	background: transparent;
	color: var(--jl-white);
}

.jl-button-outline:hover,
.jl-button-outline:focus {
	border-color: var(--jl-gold-400);
	background: rgba(255, 255, 255, 0.06);
	color: var(--jl-gold-300);
}

.jl-button-outline-dark {
	border-color: var(--jl-navy-700);
	background: transparent;
	color: var(--jl-navy-900);
}

.jl-button-outline-dark:hover,
.jl-button-outline-dark:focus {
	border-color: var(--jl-gold-600);
	background: var(--jl-off-white);
	color: var(--jl-gold-600);
}

/* =========================================================
   6. CABEÇALHO E MENU DO TEMA NEVE
   ========================================================= */

.site-header,
.header-main-inner,
.nv-navbar {
	background: rgba(255, 255, 255, 0.97);
}

.site-header {
	position: relative;
	z-index: 999;
	border-bottom: 1px solid rgba(7, 17, 31, 0.08);
	box-shadow: 0 6px 24px rgba(7, 17, 31, 0.05);
}

.header-main-inner {
	min-height: 84px;
}

.site-title,
.site-title a {
	color: var(--jl-navy-950);
	font-family: var(--jl-font-heading);
	font-weight: 700;
}

.site-logo img {
	max-height: 70px;
	width: auto;
}

.header-menu-sidebar-bg,
.header-menu-sidebar {
	background: var(--jl-navy-950);
}

.primary-menu-ul > li > a,
.nav-ul > li > a {
	color: var(--jl-navy-900);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.035em;
	text-transform: uppercase;
}

.primary-menu-ul > li > a:hover,
.primary-menu-ul > li.current-menu-item > a,
.primary-menu-ul > li.current_page_item > a,
.nav-ul > li > a:hover {
	color: var(--jl-gold-600);
}

.nav-toggle-label {
	font-weight: 700;
}

.icon-bar {
	background-color: var(--jl-navy-950);
}

/* =========================================================
   7. HERO GERAL
   ========================================================= */

.jl-hero {
	position: relative;
	display: flex;
	min-height: 760px;
	align-items: center;
	padding: 110px 0;
	overflow: hidden;
	background:
		linear-gradient(
			90deg,
			rgba(7, 17, 31, 0.98) 0%,
			rgba(11, 23, 40, 0.94) 48%,
			rgba(11, 23, 40, 0.76) 100%
		);
	color: var(--jl-white);
}

.jl-hero::before {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(
			circle at 82% 18%,
			rgba(216, 182, 108, 0.2),
			transparent 32%
		),
		linear-gradient(
			135deg,
			transparent 0%,
			rgba(194, 154, 74, 0.06) 100%
		);
	content: "";
	pointer-events: none;
}

.jl-hero::after {
	position: absolute;
	right: -140px;
	bottom: -180px;
	width: 560px;
	height: 560px;
	border: 1px solid rgba(216, 182, 108, 0.16);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.jl-hero .jl-container,
.jl-hero .jl-container-wide {
	position: relative;
	z-index: 2;
}

.jl-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
	align-items: center;
	gap: 70px;
}

.jl-hero-content {
	max-width: 760px;
}

.jl-hero h1 {
	margin-bottom: 26px;
	color: var(--jl-white);
}

.jl-hero h1 strong,
.jl-hero h1 span {
	color: var(--jl-gold-400);
}

.jl-hero p {
	max-width: 720px;
	margin-bottom: 32px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 1.16rem;
	line-height: 1.75;
}

.jl-hero-note {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-top: 28px;
	color: rgba(255, 255, 255, 0.68);
	font-size: 0.9rem;
}

.jl-hero-note::before {
	flex: 0 0 auto;
	color: var(--jl-gold-400);
	content: "◆";
	font-size: 0.72rem;
	transform: translateY(5px);
}

.jl-hero-panel {
	padding: 38px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--jl-radius-lg);
	background: rgba(255, 255, 255, 0.06);
	box-shadow: var(--jl-shadow-lg);
	backdrop-filter: blur(14px);
}

.jl-hero-panel h2,
.jl-hero-panel h3 {
	color: var(--jl-white);
}

.jl-hero-panel p {
	margin-bottom: 22px;
	font-size: 1rem;
}

.jl-hero-list {
	display: grid;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.jl-hero-list li {
	position: relative;
	padding-left: 32px;
	color: rgba(255, 255, 255, 0.85);
}

.jl-hero-list li::before {
	position: absolute;
	top: 2px;
	left: 0;
	display: flex;
	width: 22px;
	height: 22px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(216, 182, 108, 0.5);
	border-radius: 50%;
	color: var(--jl-gold-400);
	content: "✓";
	font-size: 0.72rem;
	font-weight: 900;
}

/* =========================================================
   8. HERO DAS PÁGINAS INTERNAS
   ========================================================= */

.jl-page-hero {
	position: relative;
	padding: 110px 0 90px;
	overflow: hidden;
	background:
		radial-gradient(
			circle at top right,
			rgba(194, 154, 74, 0.18),
			transparent 34%
		),
		linear-gradient(
			135deg,
			var(--jl-navy-950),
			var(--jl-navy-800)
		);
	text-align: center;
}

.jl-page-hero::after {
	position: absolute;
	right: -120px;
	bottom: -220px;
	width: 520px;
	height: 520px;
	border: 1px solid rgba(216, 182, 108, 0.12);
	border-radius: 50%;
	content: "";
}

.jl-page-hero .jl-container {
	position: relative;
	z-index: 2;
}

.jl-page-hero h1 {
	max-width: 940px;
	margin: 0 auto 22px;
	color: var(--jl-white);
	font-size: clamp(2.5rem, 5vw, 4.5rem);
}

.jl-page-hero p {
	max-width: 780px;
	margin: 0 auto;
	color: rgba(255, 255, 255, 0.78);
	font-size: 1.15rem;
}

/* =========================================================
   9. CARDS GERAIS
   ========================================================= */

.jl-card {
	position: relative;
	height: 100%;
	padding: 34px;
	border: 1px solid var(--jl-gray-200);
	border-radius: var(--jl-radius-md);
	background: var(--jl-white);
	box-shadow: var(--jl-shadow-sm);
	transition:
		transform var(--jl-transition),
		box-shadow var(--jl-transition),
		border-color var(--jl-transition);
}

.jl-card:hover {
	border-color: rgba(194, 154, 74, 0.5);
	box-shadow: var(--jl-shadow-md);
	transform: translateY(-5px);
}

.jl-card-icon {
	display: flex;
	width: 58px;
	height: 58px;
	align-items: center;
	justify-content: center;
	margin-bottom: 24px;
	border: 1px solid rgba(194, 154, 74, 0.4);
	border-radius: 50%;
	background: rgba(194, 154, 74, 0.08);
	color: var(--jl-gold-600);
	font-size: 1.35rem;
	font-weight: 700;
}

.jl-card h3 {
	margin-bottom: 14px;
}

.jl-card p:last-child {
	margin-bottom: 0;
}

.jl-card-dark {
	border-color: rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.05);
	box-shadow: none;
}

.jl-card-dark:hover {
	border-color: rgba(216, 182, 108, 0.45);
	background: rgba(255, 255, 255, 0.075);
}

.jl-card-dark h3 {
	color: var(--jl-white);
}

.jl-card-dark p {
	color: rgba(255, 255, 255, 0.72);
}

/* =========================================================
   10. SEÇÃO ESPECIALIDADE
   ========================================================= */

.jl-especialidade,
.jl-specialty {
	padding: 110px 0;
	background: var(--jl-white);
}

.jl-especialidade-grid,
.jl-specialty-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: 72px;
}

.jl-especialidade-content,
.jl-specialty-content {
	max-width: 650px;
}

.jl-especialidade-content h2,
.jl-specialty-content h2 {
	margin-bottom: 24px;
}

.jl-especialidade-content p,
.jl-specialty-content p {
	color: var(--jl-gray-600);
}

.jl-especialidade-box,
.jl-specialty-box {
	position: relative;
	padding: 44px;
	border-radius: var(--jl-radius-lg);
	background:
		linear-gradient(
			145deg,
			var(--jl-navy-900),
			var(--jl-navy-700)
		);
	box-shadow: var(--jl-shadow-lg);
	color: rgba(255, 255, 255, 0.8);
}

.jl-especialidade-box::before,
.jl-specialty-box::before {
	position: absolute;
	top: 0;
	left: 42px;
	width: 86px;
	height: 4px;
	background: var(--jl-gold-500);
	content: "";
}

.jl-especialidade-box h3,
.jl-specialty-box h3 {
	color: var(--jl-white);
}

.jl-especialidade-box p,
.jl-specialty-box p {
	color: rgba(255, 255, 255, 0.76);
}

.jl-check-list {
	display: grid;
	gap: 15px;
	margin: 25px 0 0;
	padding: 0;
	list-style: none;
}

.jl-check-list li {
	position: relative;
	padding-left: 31px;
}

.jl-check-list li::before {
	position: absolute;
	top: 1px;
	left: 0;
	color: var(--jl-gold-500);
	content: "✓";
	font-weight: 900;
}

/* =========================================================
   11. SEÇÃO DE NÚMEROS
   ========================================================= */

.jl-numeros,
.jl-numbers,
.jl-stats {
	padding: 82px 0;
	background:
		linear-gradient(
			135deg,
			var(--jl-navy-950),
			var(--jl-navy-800)
		);
}

.jl-numeros-grid,
.jl-numbers-grid,
.jl-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: var(--jl-radius-md);
	background: rgba(255, 255, 255, 0.09);
}

.jl-numero-item,
.jl-number-item,
.jl-stat-item {
	padding: 40px 24px;
	background: rgba(7, 17, 31, 0.68);
	text-align: center;
}

.jl-numero,
.jl-number,
.jl-stat-number {
	display: block;
	margin-bottom: 8px;
	color: var(--jl-gold-400);
	font-family: var(--jl-font-heading);
	font-size: clamp(2.1rem, 4vw, 3.6rem);
	font-weight: 700;
	line-height: 1;
}

.jl-numero-label,
.jl-number-label,
.jl-stat-label {
	display: block;
	color: rgba(255, 255, 255, 0.74);
	font-size: 0.93rem;
	line-height: 1.5;
}

/* =========================================================
   12. COMO FUNCIONA
   ========================================================= */

.jl-como-funciona,
.jl-how-it-works {
	padding: 110px 0;
	background: var(--jl-off-white);
}

.jl-passos-grid,
.jl-steps-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	counter-reset: jl-step;
}

.jl-passo,
.jl-step {
	position: relative;
	min-height: 100%;
	padding: 40px 34px;
	border: 1px solid var(--jl-gray-200);
	border-radius: var(--jl-radius-md);
	background: var(--jl-white);
	box-shadow: var(--jl-shadow-sm);
	counter-increment: jl-step;
}

.jl-passo::before,
.jl-step::before {
	display: flex;
	width: 52px;
	height: 52px;
	align-items: center;
	justify-content: center;
	margin-bottom: 26px;
	border-radius: 50%;
	background: var(--jl-navy-950);
	color: var(--jl-gold-400);
	content: counter(jl-step, decimal-leading-zero);
	font-size: 0.86rem;
	font-weight: 800;
}

.jl-passo::after,
.jl-step::after {
	position: absolute;
	top: 65px;
	right: -30px;
	z-index: 2;
	width: 32px;
	height: 1px;
	background: var(--jl-gold-500);
	content: "";
}

.jl-passo:last-child::after,
.jl-step:last-child::after {
	display: none;
}

.jl-passo h3,
.jl-step h3 {
	margin-bottom: 13px;
}

.jl-passo p:last-child,
.jl-step p:last-child {
	margin-bottom: 0;
	color: var(--jl-gray-600);
}

/* =========================================================
   13. DIFERENCIAIS
   ========================================================= */

.jl-diferenciais,
.jl-differentials {
	padding: 110px 0;
	background: var(--jl-white);
}

.jl-diferenciais-grid,
.jl-differentials-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.jl-diferencial,
.jl-differential {
	position: relative;
	padding: 34px;
	border: 1px solid var(--jl-gray-200);
	border-radius: var(--jl-radius-md);
	background: var(--jl-white);
	box-shadow: var(--jl-shadow-sm);
}

.jl-diferencial::before,
.jl-differential::before {
	display: block;
	width: 42px;
	height: 3px;
	margin-bottom: 24px;
	background: var(--jl-gold-500);
	content: "";
}

.jl-diferencial h3,
.jl-differential h3 {
	margin-bottom: 13px;
}

.jl-diferencial p:last-child,
.jl-differential p:last-child {
	margin-bottom: 0;
	color: var(--jl-gray-600);
}

/* =========================================================
   14. RESPONSIVIDADE INICIAL
   ========================================================= */

@media (max-width: 1024px) {
	.jl-hero {
		min-height: auto;
		padding: 92px 0;
	}

	.jl-hero-grid,
	.jl-especialidade-grid,
	.jl-specialty-grid {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.jl-hero-content {
		max-width: 850px;
	}

	.jl-hero-panel {
		max-width: 700px;
	}

	.jl-grid-4,
	.jl-numeros-grid,
	.jl-numbers-grid,
	.jl-stats-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jl-grid-3,
	.jl-passos-grid,
	.jl-steps-grid,
	.jl-diferenciais-grid,
	.jl-differentials-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jl-passo::after,
	.jl-step::after {
		display: none;
	}
}

@media (max-width: 767px) {
	body {
		font-size: 16px;
	}

	.jl-container,
	.jl-container-wide {
		width: min(calc(100% - 30px), var(--jl-container));
	}

	.jl-section,
	.jl-especialidade,
	.jl-specialty,
	.jl-como-funciona,
	.jl-how-it-works,
	.jl-diferenciais,
	.jl-differentials {
		padding: 74px 0;
	}

	.jl-section-lg {
		padding: 88px 0;
	}

	.jl-section-heading {
		margin-bottom: 40px;
		text-align: left;
	}

	.jl-hero {
		padding: 78px 0;
	}

	.jl-hero h1 {
		font-size: clamp(2.35rem, 12vw, 3.75rem);
	}

	.jl-hero p {
		font-size: 1.03rem;
	}

	.jl-hero-panel {
		padding: 28px 24px;
	}

	.jl-page-hero {
		padding: 80px 0 68px;
		text-align: left;
	}

	.jl-page-hero h1,
	.jl-page-hero p {
		margin-right: 0;
		margin-left: 0;
	}

	.jl-grid-2,
	.jl-grid-3,
	.jl-grid-4,
	.jl-numeros-grid,
	.jl-numbers-grid,
	.jl-stats-grid,
	.jl-passos-grid,
	.jl-steps-grid,
	.jl-diferenciais-grid,
	.jl-differentials-grid {
		grid-template-columns: 1fr;
	}

	.jl-buttons,
	.jl-button-group {
		align-items: stretch;
		flex-direction: column;
	}

	.jl-button,
	a.jl-button,
	button.jl-button,
	input.jl-button {
		width: 100%;
	}

	.jl-card,
	.jl-passo,
	.jl-step,
	.jl-diferencial,
	.jl-differential {
		padding: 28px 24px;
	}

	.jl-especialidade-box,
	.jl-specialty-box {
		padding: 34px 26px;
	}

	.jl-numero-item,
	.jl-number-item,
	.jl-stat-item {
		padding: 34px 22px;
	}
}
/* =========================================================
   15. ESCRITÓRIO
   ========================================================= */

.jl-escritorio{
    position:relative;
    padding:110px 0;
    background:linear-gradient(180deg,#ffffff 0%,#fafaf8 100%);
    overflow:hidden;
}

.jl-escritorio::before{
    content:"";
    position:absolute;
    width:380px;
    height:380px;
    border-radius:50%;
    border:1px solid rgba(194,154,74,.15);
    top:-180px;
    right:-180px;
}

.jl-escritorio-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:70px;
    align-items:center;
}

.jl-escritorio-content{
    max-width:700px;
}

.jl-escritorio-content h2{
    margin-bottom:24px;
}

.jl-escritorio-content p{
    color:var(--jl-gray-600);
}

.jl-escritorio-content p:last-child{
    margin-bottom:0;
}

.jl-escritorio-box{
    background:linear-gradient(135deg,var(--jl-navy-950),var(--jl-navy-800));
    color:#fff;
    padding:46px;
    border-radius:var(--jl-radius-lg);
    box-shadow:var(--jl-shadow-lg);
    position:relative;
}

.jl-escritorio-box::before{
    content:"";
    position:absolute;
    left:42px;
    top:0;
    width:90px;
    height:4px;
    background:var(--jl-gold-500);
}

.jl-escritorio-box h3{
    color:#fff;
    margin-bottom:28px;
}

.jl-escritorio-box p{
    color:rgba(255,255,255,.82);
}

.jl-escritorio-box p:last-child{
    margin-bottom:0;
}

/* =========================================================
   16. EQUIPE
   ========================================================= */

.jl-equipe{
    padding:110px 0;
    background:var(--jl-off-white);
}

.jl-section-title{
    max-width:820px;
    margin:0 auto 60px;
    text-align:center;
}

.jl-section-title h2{
    margin-bottom:18px;
}

.jl-section-title p{
    color:var(--jl-gray-600);
    margin-bottom:0;
}

.jl-equipe-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:34px;
}

.jl-advogado-card{
    background:#fff;
    border:1px solid var(--jl-gray-200);
    border-radius:var(--jl-radius-lg);
    padding:36px;
    display:flex;
    gap:28px;
    align-items:flex-start;
    transition:.30s;
    box-shadow:var(--jl-shadow-sm);
}

.jl-advogado-card:hover{
    transform:translateY(-6px);
    border-color:rgba(194,154,74,.45);
    box-shadow:var(--jl-shadow-md);
}

.jl-advogado-foto{
    flex:0 0 96px;
}

.jl-foto-placeholder{
    width:96px;
    height:96px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--jl-navy-900),var(--jl-navy-700));
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--jl-gold-400);
    font-size:32px;
    font-family:var(--jl-font-heading);
    font-weight:700;
}

.jl-advogado-content{
    flex:1;
}

.jl-advogado-content h3{
    margin-bottom:8px;
}

.jl-oab{
    color:var(--jl-gold-600);
    font-weight:700;
    margin-bottom:18px;
}

.jl-advogado-content p:last-child{
    margin-bottom:0;
    color:var(--jl-gray-600);
}

.jl-equipe-note{
    margin-top:50px;
    padding:34px;
    background:#fff;
    border:1px solid var(--jl-gray-200);
    border-radius:var(--jl-radius-md);
    text-align:center;
    box-shadow:var(--jl-shadow-sm);
}

.jl-equipe-note p:last-child{
    margin-bottom:0;
}

.jl-text-link{
    font-weight:700;
    color:var(--jl-gold-600);
}

.jl-text-link:hover{
    color:var(--jl-navy-900);
}

/* =========================================================
   17. DEPOIMENTOS HOME
   ========================================================= */

.jl-depoimentos{
    padding:110px 0;
    background:#fff;
}

.jl-depoimentos-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:30px;
}

.jl-depoimento-card{
    border:1px solid var(--jl-gray-200);
    border-radius:var(--jl-radius-md);
    background:#fff;
    padding:34px;
    box-shadow:var(--jl-shadow-sm);
    transition:.30s;
    height:100%;
}

.jl-depoimento-card:hover{
    transform:translateY(-6px);
    border-color:rgba(194,154,74,.45);
    box-shadow:var(--jl-shadow-md);
}

.jl-depoimento-card p:last-child{
    margin-bottom:0;
    color:var(--jl-gray-600);
}

.jl-center{
    text-align:center;
}
/* =========================================================
   18. PÁGINA DE DEPOIMENTOS
   ========================================================= */

.jl-depoimentos-page{
    padding:110px 0;
    background:var(--jl-off-white);
}

.jl-depoimentos-intro{
    max-width:850px;
    margin:0 auto 60px;
    text-align:center;
}

.jl-depoimentos-intro h2{
    margin-bottom:18px;
}

.jl-depoimentos-intro p{
    color:var(--jl-gray-600);
    margin-bottom:0;
    font-size:1.08rem;
}

.jl-depoimentos-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:30px;
}

.jl-depoimento-card{
    display:flex;
    flex-direction:column;
    height:100%;
    padding:34px;
    background:#fff;
    border:1px solid var(--jl-gray-200);
    border-radius:var(--jl-radius-md);
    box-shadow:var(--jl-shadow-sm);
    transition:
        transform .30s,
        box-shadow .30s,
        border-color .30s;
}

.jl-depoimento-card:hover{
    transform:translateY(-8px);
    border-color:rgba(194,154,74,.45);
    box-shadow:var(--jl-shadow-md);
}

.jl-depoimento-stars{
    margin-bottom:20px;
    color:var(--jl-gold-500);
    font-size:20px;
    letter-spacing:3px;
}

.jl-depoimento-card blockquote{
    flex:1;
    margin:0;
}

.jl-depoimento-card blockquote p{
    color:var(--jl-gray-600);
    line-height:1.8;
}

.jl-depoimento-author{
    margin-top:30px;
    padding-top:22px;
    border-top:1px solid var(--jl-gray-200);
}

.jl-depoimento-author strong{
    display:block;
    margin-bottom:6px;
    color:var(--jl-navy-900);
}

.jl-depoimento-author time{
    color:var(--jl-gray-500);
    font-size:.92rem;
}

.jl-empty-message{
    max-width:700px;
    margin:auto;
    padding:60px;
    text-align:center;
    border-radius:var(--jl-radius-md);
    background:#fff;
    border:1px solid var(--jl-gray-200);
    box-shadow:var(--jl-shadow-sm);
}

.jl-empty-message p{
    margin:0;
    color:var(--jl-gray-600);
    font-size:1.08rem;
}

/* =========================================================
   FORMULÁRIO
   ========================================================= */

.jl-depoimento-form-section{
    padding:110px 0;
    background:#fff;
}

.jl-depoimento-form-container{
    display:grid;
    grid-template-columns:420px 1fr;
    gap:60px;
    align-items:start;
}

.jl-depoimento-form-intro h2{
    margin-bottom:24px;
}

.jl-depoimento-form-intro p{
    color:var(--jl-gray-600);
}

.jl-depoimento-form{
    background:#fff;
    border:1px solid var(--jl-gray-200);
    border-radius:var(--jl-radius-lg);
    padding:42px;
    box-shadow:var(--jl-shadow-md);
}

.jl-depoimento-form form{
    display:grid;
    gap:22px;
}

.jl-depoimento-form label{
    display:block;
    margin-bottom:8px;
    font-weight:700;
    color:var(--jl-navy-900);
}

.jl-depoimento-form input[type=text],
.jl-depoimento-form input[type=email],
.jl-depoimento-form input[type=url],
.jl-depoimento-form textarea{
    width:100%;
    padding:16px 18px;
    border:1px solid var(--jl-gray-300);
    border-radius:var(--jl-radius-sm);
    background:#fff;
    font-size:16px;
    transition:border-color .25s, box-shadow .25s;
}

.jl-depoimento-form textarea{
    resize:vertical;
    min-height:180px;
}

.jl-depoimento-form input:focus,
.jl-depoimento-form textarea:focus{
    outline:none;
    border-color:var(--jl-gold-500);
    box-shadow:0 0 0 4px rgba(194,154,74,.12);
}

.jl-form-note{
    padding:18px;
    border-left:4px solid var(--jl-gold-500);
    background:#faf8f1;
    color:var(--jl-gray-600);
    font-size:.95rem;
}

.jl-privacy-consent{
    margin-top:10px;
    padding:22px;
    border-radius:var(--jl-radius-sm);
    background:#fafafa;
    border:1px solid var(--jl-gray-200);
}

.jl-privacy-consent label{
    display:flex;
    gap:14px;
    align-items:flex-start;
    margin:0;
    font-weight:400;
}

.jl-privacy-consent input{
    margin-top:4px;
}

.jl-privacy-consent span{
    color:var(--jl-gray-600);
    line-height:1.7;
}

.jl-privacy-consent a{
    font-weight:700;
}

.jl-depoimento-form .submit{
    width:100%;
}

.jl-depoimento-form .jl-button{
    width:100%;
}

/* =========================================================
   RESPONSIVIDADE
   ========================================================= */

@media (max-width:1024px){

    .jl-depoimentos-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .jl-depoimento-form-container{
        grid-template-columns:1fr;
        gap:50px;
    }

}

@media (max-width:767px){

    .jl-depoimentos-page,
    .jl-depoimento-form-section{
        padding:80px 0;
    }

    .jl-depoimentos-grid{
        grid-template-columns:1fr;
    }

    .jl-depoimento-form{
        padding:28px;
    }

    .jl-empty-message{
        padding:34px 24px;
    }

}