/*
Theme Name: Ila Gabriela Advocacia
Theme URI: https://example.com/
Author: Ila Gabriela Advocacia
Description: Tema institucional acessível e otimizado para um escritório de Direito Previdenciário.
Version: 1.0.0
Text Domain: ila-gabriela
*/

:root { --ink:#15120f; --ink-soft:#27201a; --paper:#f7f3ee; --white:#fffdf9; --copper:#df9a62; --copper-deep:#b9683a; --muted:#746a61; --line:#e6ddd3; --shadow:0 22px 60px rgba(30,19,12,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial, Helvetica, sans-serif; font-size:16px; line-height:1.6; }
img { max-width:100%; height:auto; }
a { color:inherit; }
.site-shell { overflow:hidden; }
.container { width:min(1160px, calc(100% - 40px)); margin:0 auto; }
.eyebrow { margin:0 0 12px; color:var(--copper-deep); font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3 { margin:0; font-family:Georgia, 'Times New Roman', serif; font-weight:500; line-height:1.08; }
h1 { font-size:clamp(2.65rem, 6vw, 5.35rem); letter-spacing:-.045em; }
h2 { font-size:clamp(2rem, 4vw, 3.4rem); letter-spacing:-.035em; }
h3 { font-size:1.45rem; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:.6rem; min-height:52px; padding:0 24px; border:1px solid var(--copper); border-radius:3px; background:var(--copper); color:#19110b; font-size:.76rem; font-weight:800; letter-spacing:.09em; text-decoration:none; text-transform:uppercase; transition:transform .2s,background .2s; }
.button:hover,.button:focus-visible { background:#f0b383; transform:translateY(-2px); }
.button--line { background:transparent; color:var(--copper); }
.button--line:hover,.button--line:focus-visible { color:var(--ink); }
.skip-link { position:absolute; left:-9999px; }.skip-link:focus { left:20px; top:20px; z-index:100; padding:10px; background:#fff; }
.topbar { padding:10px 0; background:#0f0d0b; color:#d9d0c8; font-size:.78rem; }.topbar__inner { display:flex; justify-content:space-between; gap:20px; }.topbar a { color:inherit; text-decoration:none; }
.site-header { position:relative; z-index:10; background:var(--ink); color:#fff; }.nav { display:flex; min-height:82px; align-items:center; justify-content:space-between; gap:25px; }.brand { display:block; width:150px; line-height:0; }.brand img { width:100%; }
.nav__links { display:flex; align-items:center; gap:25px; }.nav__links a { color:#eee7e0; font-size:.76rem; font-weight:700; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }.nav__links a:hover { color:var(--copper); }.nav-toggle { display:none; }
.hero { position:relative; min-height:650px; display:grid; align-items:center; color:#fff; background:var(--ink); }.hero:before { position:absolute; inset:0; opacity:.16; background:linear-gradient(120deg,transparent 48%,var(--copper) 48.1%,transparent 48.4%),linear-gradient(45deg,transparent 68%,var(--copper) 68.1%,transparent 68.4%); content:''; }.hero__grid { position:relative; display:grid; grid-template-columns:1.08fr .92fr; align-items:end; gap:5vw; padding:76px 0 0; }.hero__copy { padding-bottom:76px; }.hero .eyebrow { color:var(--copper); }.hero h1 { max-width:700px; }.hero__copy>p:not(.eyebrow) { max-width:570px; margin:25px 0 32px; color:#ddd5cd; font-size:1.1rem; }.hero__actions { display:flex; flex-wrap:wrap; gap:12px; }.hero__image { align-self:end; position:relative; max-width:480px; justify-self:end; }.hero__image:after { position:absolute; right:-12%; bottom:0; width:64%; height:45%; border:1px solid rgba(223,154,98,.55); content:''; transform:translate(0,10%); }.hero__image img { position:relative; z-index:1; display:block; width:100%; max-height:590px; object-fit:cover; object-position:center top; filter:saturate(.84) contrast(1.04); }
.trust-strip { background:var(--copper); color:#21150d; }.trust-strip .container { display:grid; grid-template-columns:repeat(3,1fr); }.trust { min-height:108px; display:flex; align-items:center; gap:15px; padding:18px 28px; border-right:1px solid rgba(47,25,12,.2); }.trust:last-child { border:0; }.trust strong { display:block; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; }.trust span { font-size:.84rem; line-height:1.35; }.trust__number { font-family:Georgia,serif; font-size:2.1rem; }
.section { padding:110px 0; }.section--dark { background:var(--ink-soft); color:#fff; }.section--paper { background:var(--white); }.split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:9%; }.split__text>p:not(.eyebrow) { color:var(--muted); }.section--dark .split__text>p:not(.eyebrow) { color:#d8d0c9; }.split__image { position:relative; }.split__image img { display:block; width:100%; aspect-ratio:4/4.3; object-fit:cover; object-position:center top; }.split__image:before { position:absolute; top:-18px; left:-18px; z-index:0; width:70%; height:70%; border:1px solid var(--copper); content:''; }.split__image img { position:relative; z-index:1; }.signature { margin-top:28px; color:var(--copper-deep); font-family:Georgia,serif; font-size:1.35rem; }
.services-head { max-width:690px; }.services-head>p:not(.eyebrow) { color:#d8d0c9; }.services { display:grid; grid-template-columns:repeat(3,1fr); margin-top:48px; border-top:1px solid #51473f; border-left:1px solid #51473f; }.service { padding:30px; min-height:226px; border-right:1px solid #51473f; border-bottom:1px solid #51473f; text-decoration:none; transition:background .2s; }.service:hover { background:#332a23; }.service__index { display:block; margin-bottom:38px; color:var(--copper); font-size:.73rem; font-weight:700; letter-spacing:.12em; }.service h3 { margin-bottom:8px; }.service p { margin:0; color:#c9c1b9; font-size:.92rem; line-height:1.45; }
.process { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:55px; }.process__item { padding-top:18px; border-top:1px solid var(--copper); }.process__item span { display:block; margin-bottom:20px; color:var(--copper-deep); font-family:Georgia,serif; font-size:2rem; }.process__item p { color:var(--muted); }
.blog-head { display:flex; align-items:end; justify-content:space-between; gap:30px; }.posts { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:42px; }.post-card { display:flex; flex-direction:column; min-height:290px; padding:30px; background:var(--paper); text-decoration:none; }.post-card:hover h3 { color:var(--copper-deep); }.post-card__meta { margin-bottom:38px; color:var(--copper-deep); font-size:.7rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }.post-card h3 { font-size:1.55rem; transition:color .2s; }.post-card__more { margin-top:auto; padding-top:25px; color:#51433a; font-size:.71rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.contact { position:relative; background:#1a1613; color:#fff; }.contact__grid { display:grid; grid-template-columns:1.2fr .8fr; gap:10%; padding:95px 0; }.contact__copy p { color:#d8d0c9; font-size:1.08rem; }.contact__details { display:grid; gap:20px; align-content:center; }.contact__detail { padding:20px 0; border-bottom:1px solid #4b4037; }.contact__detail span { display:block; margin-bottom:4px; color:var(--copper); font-size:.69rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.contact__detail a,.contact__detail address { color:#fff; font-style:normal; text-decoration:none; }.site-footer { padding:28px 0; background:#0f0d0b; color:#a99f95; font-size:.78rem; }.footer__inner { display:flex; justify-content:space-between; align-items:center; gap:16px; }.footer__brand { color:var(--copper); font-family:Georgia,serif; font-size:1.1rem; }.whatsapp { position:fixed; right:22px; bottom:22px; z-index:20; display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:#25d366; color:#fff; box-shadow:0 8px 26px rgba(0,0,0,.25); font-size:0; text-decoration:none; }.whatsapp:before { width:22px; height:22px; border:2px solid white; border-radius:50%; content:''; }.whatsapp:after { position:absolute; width:7px; height:7px; border-bottom:2px solid #fff; border-left:2px solid #fff; content:''; transform:translate(-7px,11px) rotate(-25deg); }
.article-hero { padding:92px 0 60px; background:var(--ink); color:#fff; }.article-hero__inner { max-width:790px; }.article-hero h1 { font-size:clamp(2.6rem,5vw,4.7rem); }.article-hero__meta { margin-top:22px; color:#d6c9bd; }.content { max-width:760px; padding:75px 0; }.content h2 { margin:2.2em 0 .6em; font-size:2rem; }.content p,.content li { color:#443c35; font-size:1.08rem; }.content a { color:var(--copper-deep); }.archive-header { padding:80px 0 40px; background:var(--ink); color:#fff; }.archive-header p { color:#ddd3ca; }.pagination { display:flex; gap:8px; margin-top:35px; }.pagination a,.pagination span { padding:9px 13px; border:1px solid var(--line); text-decoration:none; }
.consent { position:fixed; right:18px; bottom:18px; z-index:40; width:min(430px,calc(100% - 36px)); padding:23px; background:#fffdf9; box-shadow:var(--shadow); }.consent[hidden] { display:none; }.consent p { margin:7px 0 16px; color:#584e46; font-size:.85rem; line-height:1.5; }.consent__actions { display:flex; gap:10px; }.consent button { padding:10px 14px; border:0; cursor:pointer; font:700 .69rem Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }.consent__accept { background:var(--ink); color:white; }.consent__reject { background:#eee8e1; color:var(--ink); }
@media(max-width:820px) { .topbar__inner { justify-content:center; }.topbar__inner span:first-child { display:none; }.nav { min-height:70px; }.brand { width:128px; }.nav-toggle { display:block; padding:8px; border:1px solid #706257; background:none; color:white; }.nav__links { position:absolute; top:100%; right:0; left:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:15px 20px 25px; background:var(--ink); }.nav__links.is-open { display:flex; }.nav__links a { padding:12px 0; }.hero { min-height:auto; }.hero__grid,.split,.contact__grid { grid-template-columns:1fr; }.hero__grid { gap:0; padding-top:58px; }.hero__copy { padding-bottom:45px; }.hero__image { max-width:420px; justify-self:center; }.trust-strip .container,.services,.process,.posts { grid-template-columns:1fr; }.trust { min-height:auto; border-right:0; border-bottom:1px solid rgba(47,25,12,.2); }.section { padding:75px 0; }.split { gap:48px; }.split__image { max-width:500px; }.blog-head { align-items:start; flex-direction:column; }.post-card { min-height:230px; }.contact__grid { gap:40px; padding:72px 0; }.footer__inner { flex-direction:column; align-items:start; } }
