/*
Theme Name: Gustavo Ferrari
Theme URI: https://gustavoferrari.jor.br
Author: Ferrari Produções Jornalísticas
Description: Tema landing page / CV de Gustavo Ferrari. Sem page builder.
Version: 1.2.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: gustavoferrari
*/
:root{--navy:#131E29;--navy-2:#1B2835;--navy-3:#0E1720;--line-d:#33424F;--gray:#C8C8C8;--brown:#5C4839;--gold:#C6AA76;--gold-h:#D4BC8E;--ink-2:#4B5663;--paper:#F4F4F3;--r:12px;--serif:'Newsreader',Georgia,serif;--sans:'Golos Text',system-ui,sans-serif;--pad:clamp(20px,5vw,56px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--navy-3)}
/* body em coluna: rodapé sempre no fim da tela, sem faixa branca embaixo */
body{margin:0;padding:0;font-family:var(--sans);color:var(--navy);background:#fff;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column;gap:0}
body > *{flex-shrink:0}
body > .footer{margin-top:auto}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-decoration-color:var(--gold);text-underline-offset:3px}
a:hover{color:var(--brown)}
h1,h2,h3,p{margin:0}
em{font-style:italic}
.wrap{max-width:1240px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--brown)}
.eyebrow--gold{color:var(--gold);font-weight:500}
.btn{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 24px;border-radius:var(--r);font-weight:500;font-size:15px;text-decoration:none;transition:background .2s;border:1px solid var(--gold);color:#fff;background:transparent;cursor:pointer;font-family:inherit}
.btn:hover{background:#1E2B38;color:#fff}
.btn svg{color:var(--gold)}
.btn--solid{background:var(--gold);color:var(--navy);font-weight:600;border-color:var(--gold)}
.btn--solid:hover{background:var(--gold-h);color:var(--navy)}
.btn--solid svg{color:currentColor}
.btns{display:flex;flex-wrap:wrap;gap:12px}
/* nav */
.nav{position:sticky;top:0;z-index:20;background:var(--navy);border-bottom:1px solid #22303D}
.admin-bar .nav{top:32px}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px 28px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.nav__logo img{height:40px;width:auto}
.nav__links{display:flex;align-items:center;gap:clamp(16px,3vw,32px);flex-wrap:wrap}
.nav__links a{color:var(--gray);text-decoration:none;font-size:14px}
.nav__links a:hover{color:#fff}
.nav__links .nav__cta{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:var(--r);background:var(--gold);color:var(--navy);font-weight:600}
.nav__links .nav__cta:hover{background:var(--gold-h);color:var(--navy)}
.nav__toggle{display:none}
.nav__ico-close{display:none}
/* menu mobile */
@media (max-width:760px){
.nav .wrap{flex-wrap:nowrap;padding-top:12px;padding-bottom:12px}
.nav__logo img{height:36px}
.nav__toggle{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:1px solid var(--line-d);border-radius:var(--r);background:transparent;color:#fff;cursor:pointer}
.nav__toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.nav.is-open .nav__ico-open{display:none}
.nav.is-open .nav__ico-close{display:block}
.nav__links{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:4px var(--pad) 24px;background:var(--navy);border-bottom:1px solid #22303D;box-shadow:0 24px 40px rgba(14,23,32,.35);max-height:calc(100vh - 70px);overflow-y:auto}
.nav.is-open .nav__links{display:flex}
.nav__links a:not(.nav__cta){display:block;padding:16px 0;font-size:17px;color:#fff;border-bottom:1px solid #22303D}
.nav__links a.is-active{color:var(--gold);border-bottom:1px solid #22303D;padding-bottom:16px}
.nav__links .nav__cta{justify-content:center;min-height:52px;margin-top:20px;font-size:16px}
}
/* hero */
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.hero__mark{position:absolute;right:-6%;top:-8%;width:min(62vw,720px);opacity:.04;pointer-events:none}
.hero__grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:clamp(40px,6vw,80px);align-items:end;padding-top:clamp(48px,8vw,104px)}
.hero__text{padding-bottom:clamp(48px,8vw,104px);display:flex;flex-direction:column;gap:28px}
.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(42px,6.4vw,80px);line-height:1.02;letter-spacing:-.02em;text-wrap:balance}
.hero h1 em,.contact h2 em{color:var(--gold)}
.hero__lead{font-size:clamp(16px,1.6vw,18px);line-height:1.6;color:var(--gray);max-width:540px;text-wrap:pretty}
.hero__photo{position:relative;max-width:460px;width:100%;justify-self:center}
.hero__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:28px 28px 0 0;filter:brightness(.88) contrast(1.05) saturate(.8)}
.hero__photo::after{content:"";position:absolute;inset:0;border-radius:28px 28px 0 0;background:linear-gradient(180deg,rgba(19,30,41,0) 55%,rgba(19,30,41,.6) 100%)}
/* stats */
.stats{border-bottom:1px solid var(--gray)}
.stats .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:24px 40px;padding-top:clamp(32px,5vw,48px);padding-bottom:clamp(32px,5vw,48px)}
.stat{display:flex;flex-direction:column;gap:6px}
.stat b{font-family:var(--serif);font-weight:300;font-size:clamp(40px,4.4vw,56px);line-height:1}
.stat span{font-size:14px;color:var(--ink-2);line-height:1.4}
/* split sections */
.section{padding-top:clamp(64px,9vw,120px);padding-bottom:clamp(64px,9vw,120px)}
.split{display:flex;flex-wrap:wrap;gap:clamp(24px,5vw,72px);align-items:start}
.split__aside{flex:1 1 220px;display:flex;flex-direction:column;gap:16px}
.split__main{flex:999 1 min(100%,600px);min-width:0}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-.01em}
.about__quote{font-family:var(--serif);font-weight:300;font-size:clamp(26px,3.2vw,38px);line-height:1.3;text-wrap:pretty}
.about__text{font-size:17px;line-height:1.7;color:var(--ink-2);max-width:640px;margin-top:28px}
/* services */
.services{background:var(--paper)}
.services__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px 40px;margin-bottom:clamp(32px,5vw,56px)}
.services__head p{font-size:15px;color:var(--ink-2);max-width:380px;line-height:1.6}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
.card{background:#fff;border-radius:20px;padding:32px 28px;display:flex;flex-direction:column;gap:14px;min-height:240px}
.card small{font-size:13px;color:var(--brown);font-weight:500}
.card h3{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.15}
.card p{font-size:15px;line-height:1.6;color:var(--ink-2)}
/* accordion */
.acc{border-top:1px solid var(--navy)}
.acc details{border-bottom:1px solid var(--gray)}
.acc summary{list-style:none;display:flex;align-items:center;gap:clamp(12px,3vw,20px);padding:clamp(20px,4vw,28px) 0;cursor:pointer}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{color:var(--brown)}
.acc__num{font-size:13px;color:var(--brown);font-weight:500;min-width:28px}
.acc__title{flex:1;min-width:0;font-family:var(--serif);font-size:clamp(22px,2.6vw,30px);line-height:1.2}
.acc__count{font-size:13px;color:var(--ink-2);white-space:nowrap}
.acc__icon{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:var(--r);background:#F0EEEA;color:var(--navy);flex-shrink:0;transition:transform .25s,background .25s}
details[open] .acc__icon{transform:rotate(45deg);background:var(--navy);color:var(--gold)}
.acc__body{padding:0 0 36px clamp(0px,6vw,48px);display:flex;flex-direction:column;gap:32px}
.item{display:flex;flex-direction:column;gap:8px}
.item__head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 24px;align-items:baseline}
.item h3{font-size:18px;font-weight:600;line-height:1.35}
.item__period{font-size:14px;color:var(--brown);font-weight:500}
.item__org{font-size:15px;color:var(--ink-2);line-height:1.5}
.item ul{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.item li{display:flex;gap:14px;font-size:16px;line-height:1.6}
.item li::before{content:"";flex-shrink:0;width:6px;height:1px;background:var(--gold);margin-top:13px}
/* contact */
.contact{background:var(--navy);color:#fff}
.contact .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:clamp(40px,6vw,88px);align-items:start}
.contact__intro{display:flex;flex-direction:column;gap:24px}
.contact h2{font-family:var(--serif);font-weight:300;font-size:clamp(36px,5vw,60px);line-height:1.04;letter-spacing:-.01em}
.contact__intro p{font-size:17px;line-height:1.6;color:var(--gray);max-width:440px}
.form{background:var(--navy-2);border-radius:24px;padding:clamp(24px,4vw,44px);display:flex;flex-direction:column;gap:18px}
.form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:18px}
.form label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--gray);font-weight:500}
.form input,.form textarea{font:inherit;font-size:16px;min-height:52px;padding:0 16px;border-radius:var(--r);border:1px solid var(--line-d);background:var(--navy);color:#fff;outline:none;width:100%}
.form textarea{padding:14px 16px;line-height:1.5;resize:vertical;min-height:140px}
.form input:focus,.form textarea:focus{border-color:var(--gold)}
.form ::placeholder{color:#8A939C}
.form .btn{min-height:56px;font-size:16px}
.form__note{font-size:12px;color:#8A939C;line-height:1.5}
.form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.notice{border-radius:var(--r);padding:14px 16px;font-size:15px;line-height:1.5}
.notice--ok{background:rgba(198,170,118,.14);color:#fff;border:1px solid var(--gold)}
.notice--err{background:rgba(220,80,80,.14);color:#fff;border:1px solid #C96B6B}
/* footer */
.footer{background:var(--navy-3);color:var(--gray)}
.footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:32px;padding-bottom:32px;font-size:13px}
.footer img{height:36px;width:auto}
/* páginas internas */
.page-content{max-width:760px;margin:0 auto;padding:clamp(48px,8vw,96px) var(--pad);font-size:17px;line-height:1.7}
.page-content h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5vw,52px);line-height:1.1;margin-bottom:24px}

/* ============ BLOG ============ */
.nav__links a.is-active{color:#fff;border-bottom:1px solid var(--gold);padding-bottom:2px}
.btn--navy{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:600;flex:0 0 auto}
.btn--navy:hover{background:#1E2B38;color:#fff}
.wrap--narrow{max-width:880px}
.wrap--cover{max-width:1080px}
.blog-hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.blog-hero .hero__mark{top:-30%;right:-4%;width:min(48vw,520px)}
.blog-hero .wrap{position:relative;display:flex;flex-direction:column;gap:20px;padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(48px,7vw,96px)}
.blog-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(40px,6vw,72px);line-height:1.04;letter-spacing:-.02em;max-width:820px;text-wrap:balance}
.blog-hero h1 em{color:var(--gold)}
.chips{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px}
.chip{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:var(--r);border:1px solid var(--line-d);color:#fff;text-decoration:none;font-size:14px}
.chip:hover{border-color:var(--gold);color:#fff}
.chip.is-active{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.blog-list{display:flex;flex-direction:column;gap:clamp(48px,6vw,72px);padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(64px,9vw,120px)}
.ph{border-radius:20px;background:#F0EEEA;aspect-ratio:3/2;overflow:hidden;display:flex;align-items:center;justify-content:center}
.ph img{width:100%;height:100%;object-fit:cover}
.ph .ph__mark{width:44px;height:auto;opacity:.14;object-fit:contain}
.ph--wide{aspect-ratio:16/10;border-radius:24px;background:#E6E4E0}
.ph--wide .ph__mark{width:72px;opacity:.18}
.ph--cover{aspect-ratio:16/8;border-radius:24px;background:#E6E4E0}
.ph--cover .ph__mark{width:80px;opacity:.16}
.meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;color:var(--brown);font-weight:500}
.meta time{color:var(--ink-2);font-weight:400}
.meta .dot{color:var(--gray)}
.meta .tag{padding:6px 12px;border-radius:10px;background:var(--navy);color:var(--gold)}
.featured{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:clamp(24px,4vw,56px);align-items:center;text-decoration:none;color:var(--navy)}
.featured:hover{color:var(--navy)}
.featured__text{display:flex;flex-direction:column;gap:18px}
.featured h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.6vw,44px);line-height:1.1;letter-spacing:-.01em;text-wrap:balance}
.featured p{font-size:17px;line-height:1.65;color:var(--ink-2)}
.more{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px}
.more svg{color:var(--gold)}
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(32px,4vw,48px) 24px;border-top:1px solid var(--navy);padding-top:clamp(32px,4vw,48px)}
.posts:empty{display:none}
.post-card{display:flex;flex-direction:column;gap:16px;text-decoration:none;color:var(--navy)}
.post-card:hover{color:var(--brown)}
.post-card h3{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.18;text-wrap:balance}
.post-card p{font-size:15px;line-height:1.6;color:var(--ink-2)}
.pager{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border-radius:var(--r);border:1px solid var(--gray);text-decoration:none;color:var(--navy)}
.pager a.page-numbers:hover{border-color:var(--navy)}
.pager .current{background:var(--navy);border-color:var(--navy);color:var(--gold);font-weight:600}
.pager .dots{border:0}
.empty{font-size:17px;color:var(--ink-2)}
.blog-cta{background:var(--paper)}
.blog-cta .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 40px;padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(48px,7vw,88px)}
.blog-cta h2{font-family:var(--serif);font-weight:300;font-size:clamp(28px,3.4vw,40px);line-height:1.15;max-width:620px;text-wrap:balance}
/* single */
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:30;pointer-events:none}
.progress span{display:block;height:100%;width:0;background:var(--gold)}
.post-hero{background:var(--navy);color:#fff}
.post-hero .wrap{display:flex;flex-direction:column;gap:24px;align-items:flex-start;padding-top:clamp(40px,6vw,80px);padding-bottom:clamp(48px,6vw,72px)}
.post-hero a.eyebrow{text-decoration:none}
.back{color:var(--gray);text-decoration:none;font-size:14px}
.back:hover{color:#fff}
.post-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(36px,5.4vw,64px);line-height:1.06;letter-spacing:-.02em;text-wrap:balance}
.post-hero__lead{font-size:clamp(17px,1.8vw,20px);line-height:1.55;color:var(--gray)}
.byline{display:flex;align-items:center;gap:14px;padding-top:8px}
.byline img{width:48px;height:48px;border-radius:var(--r);object-fit:cover;object-position:50% 20%}
.byline div{display:flex;flex-direction:column;gap:2px}
.byline strong{font-size:15px}
.byline span{font-size:13px;color:var(--gray)}
.post-cover{background:linear-gradient(180deg,var(--navy) 0,var(--navy) 50%,#fff 50%)}
.post-body{max-width:880px;margin:0 auto;padding:clamp(48px,7vw,80px) clamp(20px,5vw,32px);display:flex;align-items:flex-start;gap:clamp(14px,4vw,56px)}
.prose{flex:1 1 0;min-width:0;max-width:720px;font-size:18px;line-height:1.75;color:#1F2A35}
.prose > p:first-of-type{font-family:var(--serif);font-size:clamp(22px,2.4vw,26px);line-height:1.5;color:var(--navy)}
.prose > p:first-of-type::first-letter{float:left;font-family:var(--serif);font-weight:300;font-size:clamp(76px,8vw,96px);line-height:.82;margin:8px 14px 0 -2px;color:var(--brown)}
.prose p,.prose ul,.prose ol,.prose figure{margin:0 0 24px}
.prose h2,.prose h3{font-family:var(--serif);font-weight:400;color:var(--navy);line-height:1.15;margin:48px 0 16px}
.prose h2{font-size:clamp(28px,3vw,34px)}
.prose h3{font-size:clamp(22px,2.4vw,26px)}
.prose ul{padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.prose ul li{display:flex;gap:14px}
.prose ul li::before{content:"";flex-shrink:0;width:6px;height:1px;background:var(--gold);margin-top:15px}
.prose ol{padding-left:22px}
.prose ol li::marker{color:var(--brown);font-weight:600}
.prose blockquote{margin:40px 0;padding:8px 0 8px 28px;border-left:2px solid var(--gold);font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(24px,2.6vw,30px);line-height:1.4;color:var(--navy)}
.prose blockquote p{margin:0}
.prose img{border-radius:16px}
.prose figcaption{font-size:14px;color:var(--ink-2);margin-top:8px}
.prose a{color:var(--navy)}
.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:48px;padding-top:28px;border-top:1px solid var(--gray)}
.post-tags a{padding:8px 14px;border-radius:10px;background:#F0EEEA;font-size:14px;text-decoration:none;line-height:1.3}
.share{flex:0 0 44px;position:sticky;top:96px;display:flex;flex-direction:column;gap:10px}
.admin-bar .share{top:128px}
.share__btn{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:var(--r);border:1px solid var(--gray);background:#fff;color:var(--navy);transition:background .2s,color .2s}
.share__btn:hover{background:var(--navy);border-color:var(--navy);color:var(--gold)}
.author-box{margin-top:48px;padding:28px;border-radius:20px;background:var(--navy);color:#fff;display:flex;gap:20px;align-items:center;flex-wrap:wrap;line-height:1.5}
.author-box img{width:72px;height:72px;border-radius:16px;object-fit:cover;object-position:50% 20%}
.author-box div{flex:1 1 260px;display:flex;flex-direction:column;gap:6px}
.author-box strong{font-family:var(--serif);font-weight:400;font-size:22px}
.author-box span{font-size:15px;color:var(--gray)}
.author-box .btn{flex:0 0 auto;min-height:48px;font-size:14px}
.related{background:var(--paper)}
.related .wrap{display:flex;flex-direction:column;gap:32px;padding-top:clamp(56px,8vw,96px);padding-bottom:clamp(56px,8vw,96px)}
.related__head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}
.related__head h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.4vw,40px);line-height:1.1}
.related__head a{font-size:15px;font-weight:600}
.related__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:24px}
.related__card{background:#fff;border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--navy)}
.related__card:hover{color:var(--brown)}
.related__card small{font-size:13px;color:var(--brown);font-weight:500}
.related__card h3{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.2;text-wrap:balance}
.related__card time{font-size:13px;color:var(--ink-2)}

/* ============ AJUSTES MOBILE ============ */
@media (max-width:760px){
.hero__grid{gap:8px}
.hero__text{padding-bottom:32px}
.hero__photo{max-width:360px}
.stats .wrap{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.stat b{font-size:clamp(28px,8vw,40px)}
.stat span{font-size:12px}
.card{min-height:0}
.acc__body{padding-left:0}
.footer .wrap{flex-direction:column;align-items:flex-start;gap:14px}
}
@media (max-width:640px){
.post-body{flex-direction:column;gap:28px}
.share{position:static;flex:0 0 auto;flex-direction:row}
.prose{font-size:17px}
.prose > p:first-of-type{font-size:21px}
.author-box{padding:22px}
.author-box .btn{flex:1 1 100%}
.ph--cover{aspect-ratio:16/10;border-radius:18px}
.post-cover .wrap--cover{padding-left:16px;padding-right:16px}
.featured h2{font-size:28px}
.post-card h3{font-size:23px}
.related__card{padding:22px}
}
@media (max-width:400px){
.stats .wrap{grid-template-columns:1fr;gap:20px}
.stat span{font-size:14px}
}