@font-face { font-family:'Playfair'; src:url('fonts/PlayfairDisplay-Regular.ttf'); font-weight:400; }
@font-face { font-family:'PlayfairIt'; src:url('fonts/PlayfairDisplay-Italic.ttf'); font-style:italic; }
@font-face { font-family:'Cinzel'; src:url('fonts/Cinzel.ttf'); }

:root{
  --navy:#0E1B2A; --navy2:#16273B;
  --gold:#D4A24E; --gold-deep:#A87A2E; --gold-soft:#E6C88A; --gold-bg:#F5E9CF;
  --cream:#F4F1EA; --card:#FBF9F4;
  --muted:#5B6B7A; --line:#E2D9C8;
}
*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ background:var(--cream); color:var(--navy); font-family:'Segoe UI',sans-serif; line-height:1.55; }
.wrap{ max-width:1120px; margin:0 auto; padding:0 28px; }
a{ color:var(--gold-deep); }

/* ---------- HEADER / HERO ---------- */
.hero{ background:var(--navy); color:var(--cream); padding:48px 0 44px; position:relative; }
.hero::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:6px; background:var(--gold); }
.hero .wrap{ display:flex; align-items:center; gap:30px; flex-wrap:wrap; }
.hero img{ width:118px; height:118px; object-fit:contain; }
.hero .kicker{ font-family:'Cinzel'; color:var(--gold); letter-spacing:6px; font-size:15px; margin-bottom:10px; }
.hero h1{ font-family:'Playfair'; font-size:46px; line-height:1.05; }
.hero h1 .g{ color:var(--gold); }
.hero .sub{ font-family:'PlayfairIt'; font-style:italic; color:var(--gold-soft); font-size:21px; margin-top:14px; max-width:760px; }
.hero .meta{ color:#9FB0C2; font-size:14px; margin-top:16px; letter-spacing:.5px; }
.back{ display:inline-block; color:var(--gold-soft); text-decoration:none; font-size:14px; letter-spacing:1px; margin-bottom:18px; font-family:'Cinzel'; }
.back:hover{ color:var(--gold); }

/* header da HOME: faixa clara, logo sem fundo centralizada */
.hero.home{ background:linear-gradient(180deg,#FBF7EE 0%, var(--cream) 100%); color:var(--navy); padding:50px 0 44px; text-align:center; }
.hero.home .wrap{ display:block; }
.hero.home .logo{ width:208px; height:auto; object-fit:contain; margin:0 auto 4px; display:block; }
.hero.home .kicker{ color:var(--gold-deep); margin-bottom:0; }
.hero.home .sub{ color:var(--muted); font-size:20px; margin:12px auto 0; }
.hero.home .meta{ color:#8A98A6; margin-top:14px; }

/* ---------- NAV ---------- */
nav{ position:sticky; top:0; z-index:10; background:var(--navy2); border-bottom:1px solid var(--gold-deep); }
nav .wrap{ display:flex; flex-wrap:wrap; gap:4px 22px; padding:13px 28px; }
nav a{ color:var(--cream); text-decoration:none; font-size:13.5px; letter-spacing:.5px; opacity:.85; }
nav a:hover{ color:var(--gold); opacity:1; }

/* ---------- HOME: cards de cliente ---------- */
.intro{ padding:44px 0 8px; }
.intro .label{ font-family:'Cinzel'; color:var(--gold-deep); letter-spacing:5px; font-size:14px; }
.intro h2{ font-family:'Playfair'; font-size:34px; margin:10px 0 6px; }
.intro p{ color:var(--muted); max-width:820px; }
.clients{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:20px; padding:24px 0 50px; }
.client{ display:block; text-decoration:none; background:var(--card); border:1px solid var(--line);
  border-top:4px solid var(--gold); border-radius:14px; padding:26px; transition:transform .12s, box-shadow .12s; }
.client:hover{ transform:translateY(-3px); box-shadow:0 10px 26px rgba(14,27,42,.12); }
.client.soon{ opacity:.62; border-top-color:var(--line); }
.client .cname{ font-family:'Playfair'; font-size:26px; color:var(--navy); }
.client .cbrand{ color:var(--muted); font-size:14px; margin:2px 0 14px; }
.client .cstat{ font-size:14.5px; color:var(--navy); margin:5px 0; }
.client .cstat b{ color:var(--gold-deep); }
.badge{ display:inline-block; font-family:'Cinzel'; font-size:11px; letter-spacing:1px; padding:4px 11px; border-radius:20px; text-transform:uppercase; margin-top:14px; }
.badge.on{ background:#E3EFE6; color:#2E6B45; }
.badge.soon{ background:#EDE6D6; color:var(--gold-deep); }
.badge.op{ background:#E7EEF5; color:#2E6CA4; }

/* ---------- STATS ---------- */
.stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px; margin:38px 0 8px; }
.stat{ background:var(--card); border:1px solid var(--line); border-top:3px solid var(--gold); border-radius:12px; padding:20px 18px; }
.stat .n{ font-family:'Playfair'; font-size:30px; color:var(--navy); line-height:1; }
.stat .l{ font-size:13px; color:var(--muted); margin-top:8px; }

/* ---------- SECTIONS ---------- */
section{ padding:46px 0; border-top:1px solid var(--line); }
section:first-of-type{ border-top:none; }
.label{ font-family:'Cinzel'; color:var(--gold-deep); letter-spacing:5px; font-size:14px; }
.label .num{ color:var(--gold); }
h2{ font-family:'Playfair'; font-size:34px; color:var(--navy); margin:10px 0 6px; line-height:1.1; }
.lead{ color:var(--muted); font-size:16.5px; max-width:860px; margin-bottom:8px; }
h3{ font-family:'Playfair'; font-size:22px; color:var(--navy); margin:26px 0 10px; }
p{ margin:10px 0; font-size:16px; }
strong{ color:var(--gold-deep); }
.navy-b{ color:var(--navy); font-weight:700; }

ul.clean{ list-style:none; margin:12px 0; }
ul.clean li{ position:relative; padding:9px 0 9px 26px; border-bottom:1px solid var(--line); font-size:16px; }
ul.clean li:last-child{ border-bottom:none; }
ul.clean li::before{ content:''; position:absolute; left:2px; top:17px; width:11px; height:11px; border:2px solid var(--gold); border-radius:50%; }

.grid{ display:grid; gap:18px; margin:18px 0; }
.g2{ grid-template-columns:repeat(auto-fit,minmax(330px,1fr)); }
.g3{ grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.box{ background:var(--card); border:1px solid var(--line); border-radius:12px; padding:22px; }
.box.gold{ border-top:3px solid var(--gold); }
.box h4{ font-family:'Playfair'; font-size:20px; color:var(--navy); margin-bottom:8px; }
.box .role{ font-family:'Cinzel'; color:var(--gold-deep); font-size:12px; letter-spacing:2px; text-transform:uppercase; margin-bottom:10px; }
.box p{ font-size:15px; margin:6px 0; }
.box small{ color:var(--muted); }

/* tabela */
.tablewrap{ overflow-x:auto; margin:18px 0; border:1px solid var(--line); border-radius:12px; }
table{ border-collapse:collapse; width:100%; font-size:14.5px; min-width:560px; }
th,td{ padding:11px 14px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }
thead th{ background:var(--navy); color:var(--cream); font-weight:600; letter-spacing:.3px; }
tbody tr:nth-child(even){ background:#F0EADC; }
td.rapha,th.rapha{ background:var(--gold-bg); }
thead th.rapha{ background:var(--gold-deep); }
.first{ font-weight:600; color:var(--navy); white-space:nowrap; }
.barcell{ position:relative; }
.bar{ display:inline-block; height:9px; background:var(--gold); border-radius:5px; vertical-align:middle; margin-right:8px; }

/* trilhas */
.trilha{ border-radius:12px; padding:22px; border:1px solid var(--line); }
.trilha.pessoal{ background:#EFF3F5; border-left:5px solid #2E6CA4; }
.trilha.prof{ background:var(--gold-bg); border-left:5px solid var(--gold-deep); }
.trilha .tt{ font-family:'Cinzel'; letter-spacing:2px; font-size:13px; text-transform:uppercase; }
.trilha.pessoal .tt{ color:#2E6CA4; }
.trilha.prof .tt{ color:var(--gold-deep); }
.trilha h4{ font-family:'Playfair'; font-size:22px; margin:6px 0 12px; }
.flow{ font-size:15px; line-height:1.9; }
.flow b{ color:var(--navy); }

/* pendências */
.pend{ display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-bottom:1px solid var(--line); }
.pend:last-child{ border-bottom:none; }
.tag{ flex-shrink:0; font-family:'Cinzel'; font-size:11px; letter-spacing:1px; padding:4px 10px; border-radius:20px; text-transform:uppercase; }
.tag.conf{ background:#FBE4D0; color:#9A4A12; }
.tag.dec{ background:var(--gold-bg); color:var(--gold-deep); }
.tag.faz{ background:#E3EFE6; color:#2E6B45; }
.pend .txt{ font-size:15.5px; }

.ress{ background:#FBF3E5; border:1px solid var(--gold-soft); border-left:5px solid var(--gold); border-radius:10px; padding:18px 20px; margin:10px 0; }
.ress b{ color:var(--gold-deep); }

.callout{ background:var(--navy); color:var(--cream); border-radius:12px; padding:26px 28px; margin:20px 0; }
.callout .label{ color:var(--gold); }
.callout p{ color:var(--cream); font-size:17px; }
.callout p .g{ color:var(--gold-soft); font-family:'PlayfairIt'; font-style:italic; }

/* drive links */
.drive{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; margin:16px 0; }
.dcol h4{ font-family:'Cinzel'; font-size:13px; letter-spacing:2px; color:var(--gold-deep); text-transform:uppercase; margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid var(--line); }
.dcol a{ display:block; text-decoration:none; color:var(--navy); font-size:15px; padding:7px 0 7px 20px; position:relative; }
.dcol a::before{ content:'↗'; position:absolute; left:0; color:var(--gold); font-size:13px; }
.dcol a:hover{ color:var(--gold-deep); }

footer{ background:var(--navy); color:#9FB0C2; text-align:center; padding:30px; font-size:13px; margin-top:30px; }
footer .g{ font-family:'Cinzel'; color:var(--gold); letter-spacing:3px; }
.upd{ display:inline-block; background:var(--gold-bg); color:var(--gold-deep); font-size:12px; padding:3px 10px; border-radius:20px; margin-left:8px; vertical-align:middle; }
