/* Design v4 (aprovado): editorial, azul profundo e dourado. Carregado depois de site.css. */
:root{
  --primary:#0A1530; --accent:#D9A441; --ink:#0A1530; --deep:#060E22; --steel:#3C5FA8; --mist:#E9ECF2; --paper:#F5F6F8; --line:#CFD6E2; --muted:#4B5876;
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif; --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
}
body{font-size:17px}
h1,h2,h3{font-weight:400;letter-spacing:-.02em}
h2 em,h1 em{font-style:italic;color:var(--accent)}
.sec h2{max-width:none;font-size:clamp(44px,7vw,92px);line-height:.98}
.btn{font-weight:700}
.btn-accent{background:var(--accent);color:#1A1204}
.btn-accent:hover{background:#e6b658}
.topbar .brand{font-size:23px}
.brand .mono{border-radius:0;background:transparent;border:1.5px solid var(--accent);color:var(--accent)}
.topbar.solid .brand .mono{color:#8A6410;border-color:#8A6410}

/* grade técnica reutilizável */
.hero,.tech,.contact,.numbers{background-color:var(--deep);background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:80px 80px}
@media (max-width:700px){.hero,.tech,.contact,.numbers{background-size:48px 48px}}

/* ---------- hero ---------- */
.hero{padding:clamp(110px,12vw,150px) 0 0;color:#fff}
.hero::before{background:radial-gradient(closest-side at 85% 5%,rgba(217,164,65,.22),transparent 60%),radial-gradient(closest-side at 0 100%,rgba(60,96,170,.4),transparent 60%)}
.hero .wrap{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:clamp(32px,5vw,64px)}
.hero .wrap>div:first-child{padding-bottom:clamp(40px,6vw,84px)}
.hero .where{font:400 13px var(--mono);color:var(--accent);letter-spacing:.05em;margin:0 0 24px}
.hero h1{font-size:clamp(52px,9.2vw,132px);line-height:.94;letter-spacing:-.025em;max-width:none}
.hero .sub{font-size:clamp(17px,1.6vw,21px);color:#B9C6E2;max-width:34em}
.hero .id{color:#9FB0D0}
.hero-visual{position:relative;min-height:clamp(380px,46vw,640px)}
.arch{position:absolute;right:0;top:0;width:min(420px,86%);height:min(600px,calc(100% - 20px));border-radius:999px 999px 0 0;background:linear-gradient(170deg,#274985,#0F2150);overflow:hidden;display:flex;align-items:flex-end;justify-content:center}
.arch img{width:100%;height:100%;object-fit:cover}
.arch span{font:400 clamp(90px,12vw,150px)/1 var(--serif);color:rgba(255,255,255,.18);padding-bottom:70px}
.arch-line{position:absolute;right:0;top:0;width:min(420px,86%);height:min(600px,calc(100% - 20px));border:1.5px solid var(--accent);border-radius:999px 999px 0 0;transform:translate(16px,-16px)}
.console{position:absolute;left:0;bottom:36px;width:min(380px,92%);background:rgba(255,255,255,.97);color:var(--ink);border:0;border-radius:20px;box-shadow:0 30px 70px rgba(0,0,0,.45);backdrop-filter:none}
.console header{border-bottom-color:#E1E6EE}
.console header small{color:#5A667E;opacity:1}
.console .dot{background:var(--primary);color:var(--accent)}
.bubble{background:#EEF1F6;color:var(--ink)}
.chip{border-color:#C5CEDC;color:var(--ink)}
.chip:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.console input{background:#F2F4F8;border-color:#C5CEDC;color:var(--ink)}
.console input::placeholder{color:#6B7690}
.console .fine{color:#5A667E;opacity:1}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}.hero-visual{min-height:auto;margin-top:8px;padding-bottom:0}.arch,.arch-line{position:relative;display:block;width:78%;height:340px;margin:0 auto}.arch-line{position:absolute;left:11%;right:auto;top:0}.console{position:relative;left:auto;bottom:auto;margin:-70px auto 28px;width:min(380px,92%)}}

/* ---------- números ---------- */
.numbers{padding:0}
.numbers .wrap{padding-top:0}
.numbers h2{display:none}
.num-row{border-top:1px solid rgba(255,255,255,.18);grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.num{border-left:1px solid rgba(255,255,255,.18);padding:34px 28px}
.num:first-child{padding-left:0;border-left:0}
.num b{font:400 clamp(48px,5.4vw,70px)/1 var(--serif);color:#fff}
.num:last-child b{color:var(--accent)}
.num span{color:#9FB0D0;max-width:26ch}
@media (max-width:620px){.num-row{grid-template-columns:1fr 1fr}.num{border-top:1px solid rgba(255,255,255,.18);padding:22px 12px}.num:nth-child(odd){padding-left:0;border-left:0}}

/* ---------- áreas ---------- */
#areas .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,6vw,80px);align-items:start}
#areas .wrap>h2,#areas .wrap>.lead{grid-column:1}
#areas .wrap>.areas-list{grid-column:2;grid-row:1/span 2;margin-top:0}
#areas .wrap>.lead{margin-top:0}
.areas-list{border-top:1.5px solid var(--primary);counter-reset:a}
.area{counter-increment:a}
.area summary{grid-template-columns:70px 1fr 52px;padding:28px 0}
.area .ico{display:none}
.area summary::before{content:counter(a,decimal-leading-zero);font:400 14px var(--mono);color:#8A6410}
.area h3{font-size:clamp(28px,3.4vw,46px)}
.area .plus{width:52px;height:52px;border-radius:50%;border-color:#B8C2D4}
.area[open]{background:#fff;margin:0 -24px;padding:0 24px}
.area[open] .plus{background:var(--primary);color:var(--accent);border-color:var(--primary)}
.area .body{padding:0 0 30px 90px}
.area li::before{background:var(--accent)}
@media (max-width:900px){#areas .wrap{grid-template-columns:1fr}#areas .wrap>.areas-list{grid-column:1;grid-row:auto;margin-top:36px}.area summary{grid-template-columns:40px 1fr 44px;gap:10px}.area .body{padding-left:0}.area[open]{margin:0 -18px;padding:0 18px}}

/* ---------- tecnologia ---------- */
.tech{position:relative;color:#fff;overflow:hidden;padding:clamp(80px,10vw,130px) 0}
.orb-t{position:absolute;left:-200px;top:-200px;width:700px;height:700px;border-radius:50%;background:radial-gradient(closest-side,rgba(60,96,170,.4),transparent);animation:drift 14s ease-in-out infinite;pointer-events:none}
.tech .wrap{position:relative}
.tech .badge{display:inline-flex;align-items:center;gap:10px;font:400 13px var(--mono);color:var(--accent);margin:0 0 26px;border:1px solid rgba(217,164,65,.4);padding:8px 16px;border-radius:999px}
.live{display:inline-block;width:9px;height:9px;border-radius:50%;background:#2FB26A;animation:blink 1.6s infinite}
.tech-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,72px);align-items:end;margin-bottom:clamp(48px,7vw,84px)}
.tech h2{font-size:clamp(52px,8.4vw,110px);line-height:.94;max-width:none}
.tech-head p{color:#B9C6E2;font-size:clamp(17px,1.5vw,20px);margin:0}
.pipe{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.node{width:150px;flex:none;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
.node .bubble-n{width:88px;height:88px;border-radius:50%;background:#13234A;color:var(--accent);border:1.5px solid rgba(217,164,65,.5);display:grid;place-items:center;font:400 36px var(--serif)}
.node.ai .bubble-n{background:var(--accent);color:#1A1204;border-color:var(--accent);animation:pulse 2.6s infinite}
.node b{font:400 26px/1.1 var(--serif)}
.node span:last-child{color:#9FB0D0;font-size:14px;line-height:1.4}
.link{position:relative;flex:1;height:2px;background:rgba(255,255,255,.16);margin-top:43px;min-width:20px}
.link i{position:absolute;top:-4px;left:0;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px var(--accent);animation:flow 2.8s linear infinite}
.tech-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;margin-top:clamp(56px,8vw,96px)}
.feed{background:#0B1836;border:1px solid rgba(255,255,255,.14);border-radius:24px;overflow:hidden}
.feed-head{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid rgba(255,255,255,.1);font:400 13px var(--mono);color:#9FB0D0}
.feed-body{position:relative;padding:8px 24px 24px;height:290px;overflow:hidden}
.fl{display:flex;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);opacity:0;animation:feed 10s ease-in-out infinite}
.fl time{font:400 13px var(--mono);color:#7F8FB0;white-space:nowrap}
.fl i{width:8px;height:8px;border-radius:50%;flex:none;background:#2FB26A}
.fl i.d1{background:var(--accent)}.fl i.d2{background:#6FA3FF}.fl i.d3{background:#9FB0D0}
.fl span{color:#E4EAF6}
.scan{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.scan::before{content:"";display:block;height:60px;background:linear-gradient(180deg,transparent,rgba(217,164,65,.1),transparent);animation:scan 4s linear infinite}
.pts{display:grid;gap:18px;align-content:stretch}
.pt{border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:26px 28px;background:rgba(255,255,255,.03)}
.pt b{font:400 clamp(26px,2.6vw,34px)/1.1 var(--serif)}
.pt p{color:#9FB0D0;margin:8px 0 0;font-size:15px}
.pt .bar{height:6px;background:rgba(255,255,255,.12);border-radius:99px;overflow:hidden;margin-top:14px}
.pt .bar i{display:block;height:100%;background:var(--accent);animation:bar 4s ease-out infinite}
.tech .fine{font-size:12.5px;color:#7F8FB0;margin:28px 0 0;max-width:820px}
@media (max-width:900px){
  .tech-head,.tech-grid{grid-template-columns:1fr}
  .pipe{flex-direction:column;align-items:stretch;gap:0;position:relative;padding-left:2px}
  .node{width:auto;flex-direction:row;text-align:left;gap:18px;align-items:center;flex-wrap:wrap}
  .node .bubble-n{width:68px;height:68px;font-size:28px}
  .node b{font-size:26px;flex:1 0 60%}
  .node span:last-child{flex-basis:100%;padding-left:86px;margin-top:-8px}
  .link{flex:none;width:2px;height:34px;margin:0 0 0 33px}
  .link i{left:-4px;top:0;animation:flowv 2.8s linear infinite}
}
@keyframes flow{0%{left:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:calc(100% - 10px);opacity:0}}
@keyframes flowv{0%{top:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{top:calc(100% - 10px);opacity:0}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(217,164,65,.55)}70%{box-shadow:0 0 0 26px rgba(217,164,65,0)}100%{box-shadow:0 0 0 0 rgba(217,164,65,0)}}
@keyframes feed{0%{opacity:0;transform:translateY(12px)}6%,78%{opacity:1;transform:none}90%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes scan{0%{transform:translateY(-60px)}100%{transform:translateY(290px)}}
@keyframes bar{0%{width:0}60%,100%{width:100%}}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-24px)}}

/* ---------- ferramentas (bloco escuro) ---------- */
.tools{background:var(--primary);color:#fff}
.tools .lead{color:#B9C6E2}
.tool{border-radius:28px}
.tool h3{font-size:clamp(28px,3vw,38px)}
.tools .diag{background:#13234A;border-color:rgba(255,255,255,.14);color:#fff}
.tools .diag .tool-intro,.tools .diag .tstep,.tools .diag .fine{color:#9FB0D0}
.tools .diag .opt{background:transparent;border-color:rgba(255,255,255,.28);color:#fff}
.tools .diag .opt:hover{background:var(--accent);color:#1A1204;border-color:var(--accent)}
.tools .diag .gaps li span{color:#B9C6E2}
.tools .diag .linkbtn{color:#9FB0D0}
.tools .diag .prog{background:rgba(255,255,255,.14)}
.tools .diag .form{color:#fff}
.tools .diag .form input{background:#0F1A38;color:#fff;border-color:rgba(255,255,255,.28)}
.tools .diag .btn-dark{background:var(--accent);color:#1A1204}
.tool .btn-dark{background:var(--primary);color:#fff}
.calc-out .total b{color:var(--accent)}

/* ---------- método ---------- */
.steps li::before{background:var(--primary);color:var(--accent);font:400 15px var(--mono);width:56px;height:56px}
.steps li::after{left:56px;top:28px;height:1.5px;background:var(--primary)}
.steps li:last-child::before{background:var(--accent);color:#1A1204}
.steps h3{font-size:clamp(26px,2.6vw,34px)}
@media (max-width:700px){.steps li{padding:0 0 30px 76px}.steps li::after{left:27px;top:56px;width:1.5px}}

/* ---------- sobre ---------- */
.about{background:var(--mist);color:var(--ink)}
.about .wrap{align-items:center}
.portrait-wrap{position:relative;padding:0 40px 40px 0}
.portrait{border-radius:6px;aspect-ratio:4/5}
.portrait::after{display:none}
.portrait .initials{color:rgba(255,255,255,.2)}
.oab-badge{position:absolute;right:0;bottom:0;background:var(--accent);color:#1A1204;padding:18px 22px;border-radius:6px;display:grid}
.oab-badge b{font:400 clamp(34px,4vw,52px)/1 var(--serif)}
.oab-badge span{font:500 clamp(16px,1.8vw,22px) var(--mono)}
.about h2{font-size:clamp(44px,6vw,76px)}
.about .role{color:#8A6410}
.about p{color:#2C3956}
.creds{border-top-color:#B8C2D4}
.creds li{border-bottom-color:#B8C2D4}
.creds span{color:var(--muted)}

/* ---------- diferenciais, artigos, faq ---------- */
.diff{background:#fff}
.diff-item{border-top:1.5px solid var(--primary)}
.diff-item h3{font-size:clamp(26px,2.6vw,34px)}
.post time{font:400 14px var(--mono);color:#8A6410;text-transform:uppercase}
.post h3{font-size:clamp(26px,3vw,38px);line-height:1.1}
.post .go{font-size:0}
.post .go::after{content:"→";font-size:26px}
.faq-list summary{font-size:clamp(22px,2.4vw,28px)}

/* ---------- contato ---------- */
.contact{color:#fff}
.contact h2{font-size:clamp(52px,8vw,120px);line-height:.94;max-width:11ch}
.contact h2 em{color:var(--accent)}

/* ---------- movimento ao rolar ---------- */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .orb-t,.link i,.node.ai .bubble-n,.live,.pt .bar i,.scan::before{animation:none!important}
  .fl{animation:none!important;opacity:1}
  .rv{opacity:1;transform:none;transition:none}
}

/* ---------- modo escuro ---------- */
:root[data-theme=dark]{--ink:#E8EDF6;--paper:#0A1126;--mist:#0F1A38;--line:#22305A;--muted:#9AA8C6}
:root[data-theme=dark] .about,:root[data-theme=dark] .diff{background:#0F1A38}
:root[data-theme=dark] .area[open]{background:#0F1A38}
:root[data-theme=dark] .about p,:root[data-theme=dark] .about h2{color:var(--ink)}
html,body{overflow-x:clip}
