/*
Theme Name: DSIS Sistemas
Theme URI: https://www.dsis.com.br/
Author: DSIS Sistemas
Description: Tema institucional da DSIS Sistemas, com landing page de soluções de gestão empresarial.
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: dsis-sistemas
*/

/*
 * Direção visual: preservar a gramática de composição aprovada — hero escuro,
 * navegação em pill, tipografia geométrica e turquesa DSIS como único destaque.
 */
:root { --f-bg:#1b1314; --f-paper:#f4f3d8; --f-accent:#3db5c5; --f-ink:#152728; --f-ease:cubic-bezier(.23,1,.32,1); --f-font:"Wix Madefor Display",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--f-bg); }
body { margin:0; overflow-x:hidden; color:var(--f-paper); background:var(--f-bg); font-family:var(--f-font); }
a { color:inherit; text-decoration:none; }
button,a { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible { outline:2px solid var(--f-accent); outline-offset:4px; }
img { max-width:100%; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.fidelity-site { min-width:0; overflow:clip; color:var(--f-paper); background:var(--f-bg); }
.fidelity-site :is(h1,h2,h3,p,span,strong,a,button) { font-family:var(--f-font) !important; }
.fidelity-band { position:relative; isolation:isolate; }

/* Cabeçalho */
.fidelity-header { position:absolute; z-index:10; top:0; left:0; width:100%; padding:30px 18px; }
body.admin-bar .fidelity-header { top:32px; }
.fidelity-nav { width:min(900px,100%); min-height:82px; margin:auto; padding:5px 20px 5px 24px; display:flex; align-items:center; border:1px solid rgba(244,243,216,.47); border-radius:999px; background:rgba(38,28,29,.36); backdrop-filter:blur(8px); }
.fidelity-brand { display:flex; align-items:center; }
.fidelity-brand img { display:block; width:162px; height:72px; object-fit:contain; }
.fidelity-desktop-links { display:flex; align-items:center; gap:28px; margin-left:auto; }
.fidelity-desktop-links a { color:var(--f-paper); font:600 13px/1 var(--f-font); letter-spacing:.02em; text-transform:uppercase; transition:color .16s var(--f-ease); }
.fidelity-desktop-links a:hover { color:var(--f-accent); }
.fidelity-menu { display:none; margin-left:auto; width:37px; height:37px; border:1px solid rgba(244,243,216,.45); border-radius:50%; color:var(--f-paper); background:transparent; cursor:pointer; }
.fidelity-menu svg { width:18px; height:18px; }
.fidelity-mobile-links { display:none; }

/* Hero */
.fidelity-hero { position:relative; min-height:760px; display:grid; place-items:center; overflow:hidden; isolation:isolate; background:#1b1314; }
.fidelity-hero::before { content:""; position:absolute; z-index:-3; inset:0; background:radial-gradient(circle at 90% 72%,rgba(61,181,197,.94) 0 .8%,rgba(61,181,197,.28) 11%,transparent 29%),radial-gradient(circle at 5% 0%,rgba(61,181,197,.13),transparent 28%),linear-gradient(90deg,#1b1314 0%,rgba(27,19,20,.94) 47%,rgba(27,19,20,.75) 100%); }
.fidelity-hero::after { content:""; position:absolute; z-index:-2; width:540px; height:540px; right:-112px; bottom:-182px; opacity:.68; background:repeating-radial-gradient(circle at center,rgba(244,243,216,.22) 0 1px,transparent 2px 5px); mask-image:radial-gradient(circle,#000 0 17%,transparent 70%); }
.fidelity-hero-texture { position:absolute; z-index:-1; inset:0; opacity:.13; background-image:radial-gradient(rgba(244,243,216,.65) .55px,transparent .55px); background-size:4px 4px; mask-image:linear-gradient(120deg,#000,transparent 78%); }
.fidelity-hero-content { width:min(780px,calc(100% - 44px)); padding-top:76px; text-align:center; }
.fidelity-hero h1 { margin:0; font:600 clamp(50px,6vw,82px)/.97 "Space Grotesk",Arial,sans-serif; letter-spacing:-.071em; text-transform:uppercase; }
.fidelity-dual-cta { display:inline-flex; margin-top:32px; overflow:hidden; border:1px solid rgba(244,243,216,.58); border-radius:999px; }
.fidelity-dual-cta a { min-height:49px; padding:0 23px; display:inline-flex; align-items:center; gap:9px; color:var(--f-paper); border-right:1px solid rgba(244,243,216,.48); font:600 13px/1 var(--f-font); letter-spacing:.035em; text-transform:uppercase; transition:color .16s var(--f-ease),background .16s var(--f-ease); }
.fidelity-dual-cta a:last-child { border-right:0; }
.fidelity-dual-cta a:hover { color:#102124; background:var(--f-accent); }
.arrow { display:inline-block; font-size:17px; line-height:1; }

/* Institucional e métricas */
.fidelity-about { max-width:1110px; min-height:370px; margin:auto; padding:70px 55px 60px; display:grid; grid-template-columns:260px 1fr; gap:80px; align-items:center; }
.fidelity-institutional-frame { position:relative; width:264px; height:264px; justify-self:center; display:grid; place-items:center; isolation:isolate; }
.fidelity-institutional-frame::before { content:""; position:absolute; inset:12px; border:1px solid rgba(61,181,197,.6); transform:rotate(-6deg); }
.fidelity-institutional-frame::after { content:""; position:absolute; width:178px; height:178px; border:1px solid rgba(244,243,216,.26); border-radius:50%; box-shadow:0 0 0 22px rgba(61,181,197,.05),0 0 0 52px rgba(61,181,197,.025); }
.fidelity-institutional-frame>span { position:absolute; right:14px; bottom:14px; width:14px; height:14px; border-radius:50%; background:var(--f-accent); box-shadow:0 0 0 8px rgba(61,181,197,.12); }
.fidelity-institutional-image { position:relative; z-index:1; width:164px; height:191px; object-fit:contain; filter:contrast(1.03) saturate(1); box-shadow:0 18px 36px rgba(0,0,0,.28); }
.fidelity-about-copy { max-width:556px; }
.fidelity-about-copy p { margin:0 0 17px; color:var(--f-paper); font:400 15px/1.35 "Manrope",Arial,sans-serif; }
.fidelity-about-copy p:last-child { margin:0; }
.fidelity-metrics { max-width:1110px; margin:0 auto; padding:38px 55px 58px; display:grid; grid-template-columns:repeat(3,1fr); gap:55px; }
.fidelity-metrics article { min-height:148px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(244,243,216,.26); border-radius:6px; }
.fidelity-metrics strong { font:600 clamp(60px,5.5vw,76px)/.82 var(--f-font); letter-spacing:-.08em; }
.fidelity-metrics span { margin-top:16px; color:var(--f-accent); font:600 13px/1 var(--f-font); letter-spacing:.07em; }

/* Clientes */
.fidelity-clients { position:relative; width:100%; max-width:none; margin:0; padding:18px 0 78px; overflow:hidden; isolation:isolate; }
.fidelity-clients::before, .fidelity-clients::after { content:""; position:absolute; z-index:1; top:0; bottom:0; width:min(11vw,135px); pointer-events:none; }
.fidelity-clients::before { left:0; background:linear-gradient(90deg,var(--f-bg),transparent); }
.fidelity-clients::after { right:0; background:linear-gradient(270deg,var(--f-bg),transparent); }
.fidelity-client-track { width:max-content; display:flex; align-items:center; padding:0; will-change:transform; animation:dsis-client-scroll 20s linear infinite !important; }
.fidelity-client { width:100px; height:25px; flex:0 0 100px; margin:0 150px 0 0; padding:0; display:block; overflow:visible; }
.fidelity-client img { display:block; width:100px; height:25px; max-width:100%; object-fit:contain; object-position:center; opacity:.8; filter:brightness(0) saturate(100%) invert(68%) sepia(30%) saturate(971%) hue-rotate(140deg) brightness(84%) contrast(84%); }
@keyframes dsis-client-scroll { from { transform:translate3d(0,0,0); } to { transform:translate3d(-50%,0,0); } }

/* Soluções — painéis grafite, bordas e CTAs pill inspirados na referência Junsoft. */
.fidelity-solutions { position:relative; padding:80px max(40px,calc((100% - 1140px)/2)) 102px; overflow:hidden; isolation:isolate; border-top:1px solid rgba(244,243,216,.05); background:radial-gradient(circle at 89% 9%,rgba(61,181,197,.32),transparent 16%),radial-gradient(circle at 81% 12%,rgba(61,181,197,.14),transparent 28%),var(--f-bg); }
.fidelity-solutions::before { content:""; position:absolute; z-index:-1; width:540px; height:540px; right:-116px; top:-208px; border-radius:50%; opacity:.76; background:repeating-radial-gradient(circle,rgba(244,243,216,.19) 0 1px,transparent 2px 5px); mask-image:radial-gradient(circle,#000 0 20%,transparent 70%); }
.fidelity-solution-heading { position:relative; z-index:1; display:flex; align-items:center; gap:28px; margin-bottom:29px; }
.fidelity-solution-heading::after { content:""; height:1px; flex:1; background:linear-gradient(90deg,rgba(61,181,197,.65),transparent); }
.fidelity-solution-heading h2 { margin:0; color:var(--f-accent); font:600 clamp(25px,2.5vw,33px)/1 var(--f-font); letter-spacing:-.045em; text-transform:none; white-space:nowrap; }
.fidelity-solution-row { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.fidelity-solution-row::-webkit-scrollbar { display:none; }
.fidelity-solution-card { position:relative; min-width:0; min-height:511px; overflow:hidden; border:1px solid rgba(244,243,216,.17); border-radius:8px; isolation:isolate; background:rgba(51,44,44,.68); }
.fidelity-solution-card::before { content:""; position:absolute; z-index:-1; inset:0; opacity:.42; background-image:radial-gradient(rgba(244,243,216,.15) .45px,transparent .45px); background-size:5px 5px; mask-image:linear-gradient(135deg,#000,transparent 82%); }
.fidelity-solution-card>img, .fidelity-card-overlay { display:none; }
.fidelity-card-content { height:100%; padding:30px 20px; display:flex; flex-direction:column; align-items:flex-start; }
.fidelity-card-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:4px; color:#253133; background:var(--f-paper); }
.fidelity-symbol { position:relative; width:25px; height:25px; display:inline-block; }
.fidelity-symbol i { position:absolute; left:1px; top:5px; width:15px; height:15px; border:3px solid currentColor; }
.fidelity-symbol b { position:absolute; top:1px; right:0; width:8px; height:8px; background:currentColor; }
.fidelity-card-icon span { font:700 11px/1 "Space Grotesk",Arial,sans-serif; }
.fidelity-card-content>p { margin:18px 0 8px; color:rgba(244,243,216,.76); font:600 10px/1 var(--f-font); letter-spacing:.03em; }
.fidelity-card-content h3 { margin:0; color:var(--f-paper); font:600 23px/.98 var(--f-font); letter-spacing:-.052em; }
.fidelity-card-title { margin-top:5px; color:var(--f-accent); font:600 13px/1.1 var(--f-font); letter-spacing:-.01em; }
.fidelity-card-rule { width:66px; height:1px; margin:20px 0 24px; background:var(--f-accent); }
.fidelity-card-copy { color:rgba(244,243,216,.87); font:400 13px/1.43 var(--f-font); }
.fidelity-card-content>a { min-height:39px; margin-top:auto; padding:12px 24px; display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(244,243,216,.31); border-radius:100px; color:var(--f-paper); background:rgba(244,243,216,.2); font:600 11px/1 var(--f-font); letter-spacing:.015em; transition:color .16s var(--f-ease),border-color .16s var(--f-ease),background .16s var(--f-ease); }
.fidelity-card-content>a:hover { color:#102124; border-color:var(--f-accent); background:var(--f-accent); }

/* Carreiras, newsletter e rodapé */
.fidelity-team { min-height:545px; padding:72px max(40px,calc((100% - 1050px)/2)); display:grid; grid-template-columns:1fr 1fr; gap:76px; align-items:center; }
.fidelity-team-illustration { width:min(100%,420px); aspect-ratio:1; justify-self:center; object-fit:contain; }
.fidelity-team-copy { max-width:500px; }
.fidelity-team-copy h2 { margin:0 0 22px; color:var(--f-accent); font:600 clamp(43px,4.7vw,66px)/.91 "Space Grotesk",Arial,sans-serif; letter-spacing:-.07em; }
.fidelity-team-copy p { margin:0 0 14px; color:var(--f-paper); font:400 13px/1.38 "Manrope",Arial,sans-serif; }
.fidelity-team-copy strong { display:block; margin-top:17px; font:600 13px/1.25 "Manrope",Arial,sans-serif; }
.fidelity-team-copy>a { min-height:48px; margin-top:21px; padding:0 21px; display:inline-flex; align-items:center; gap:8px; color:#152728; background:var(--f-accent); font:600 15px/1 var(--f-font); transition:background .16s var(--f-ease); }
.fidelity-team-copy>a:hover { background:var(--f-paper); }
.fidelity-newsletter { max-width:1110px; min-height:152px; margin:auto; padding:38px 55px; display:flex; align-items:center; justify-content:space-between; gap:35px; }
.fidelity-newsletter h2 { margin:0; color:var(--f-accent); font:600 clamp(31px,3.8vw,53px)/1 "Space Grotesk",Arial,sans-serif; letter-spacing:-.06em; }
.fidelity-newsletter>span { min-height:46px; padding:0 18px; display:inline-flex; align-items:center; color:rgba(244,243,216,.74); border:1px solid rgba(244,243,216,.45); font:600 14px/1 "Manrope",Arial,sans-serif; }
.fidelity-footer { max-width:1110px; margin:auto; padding:30px 55px 36px; }
.fidelity-footer-row { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.fidelity-footer-brand { display:grid; gap:12px; }
.fidelity-footer-brand>img { width:194px; height:92px; object-fit:contain; }
.fidelity-social { display:flex; gap:13px; }
.fidelity-social a { width:42px; height:42px; display:grid; place-items:center; color:var(--f-accent); font:700 21px/1 var(--f-font); transition:color .16s var(--f-ease); }
.fidelity-social a:hover { color:var(--f-paper); }
.fidelity-contact { display:grid; justify-content:end; gap:9px; }
.fidelity-contact a { display:flex; justify-content:flex-end; align-items:center; gap:12px; color:var(--f-paper); font:500 17px/1 var(--f-font); }
.fidelity-contact span { margin-top:4px; color:rgba(244,243,216,.72); font:600 12px/1.25 var(--f-font); letter-spacing:.04em; text-align:right; }
.fidelity-contact .fidelity-contact-icon { width:32px; margin:0; color:var(--f-accent); font:700 29px/1 var(--f-font); letter-spacing:0; text-align:center; }

/* Movimento */
@media (prefers-reduced-motion:no-preference) { .fidelity-hero-content { animation:dsis-hero-enter .72s var(--f-ease) both; } .fidelity-solution-card>img { transition:transform .45s var(--f-ease); } .fidelity-solution-card:hover>img { transform:scale(1.05); } }
@keyframes dsis-hero-enter { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }

@media (max-width:760px) {
  body.admin-bar .fidelity-header { top:46px; }
  .fidelity-header { padding:13px 14px; }
  .fidelity-nav { min-height:68px; padding:4px 10px 4px 16px; }
  .fidelity-brand img { width:126px; height:58px; }
  .fidelity-desktop-links { display:none; }
  .fidelity-menu { display:grid; place-items:center; }
  .fidelity-mobile-links { width:min(100%,510px); margin:7px auto 0; padding:7px; grid-template-columns:1fr 1fr; gap:3px; opacity:0; visibility:hidden; transform:translateY(-8px); border:1px solid rgba(244,243,216,.25); background:rgba(27,19,20,.96); transition:opacity .16s var(--f-ease),transform .16s var(--f-ease),visibility .16s; }
  .fidelity-mobile-links.is-open { display:grid; opacity:1; visibility:visible; transform:translateY(0); }
  .fidelity-mobile-links a { padding:14px; color:var(--f-paper); font:600 13px/1 var(--f-font); text-transform:uppercase; }
  .fidelity-hero { min-height:620px; }
  .fidelity-hero h1 { font-size:clamp(39px,10.8vw,59px); }
  .fidelity-about { grid-template-columns:1fr; gap:42px; padding:70px 28px 48px; }
  .fidelity-about-copy { justify-self:center; }
  .fidelity-institutional-frame { width:224px; height:224px; }
  .fidelity-institutional-frame::after { width:152px; height:152px; }
  .fidelity-institutional-image { width:139px; height:162px; }
  .fidelity-metrics { gap:14px; padding:28px 28px 44px; }
  .fidelity-metrics article { min-height:112px; }
  .fidelity-metrics strong { font-size:46px; }
  .fidelity-metrics span { font-size:10px; text-align:center; }
  .fidelity-clients { padding:22px 0 52px; }
  .fidelity-client-track { padding:0 14px; gap:15px; }
  .fidelity-clients { padding:16px 0 54px; }
  .fidelity-client { width:92px; height:23px; flex-basis:92px; margin-right:88px; }
  .fidelity-client img { width:92px; height:23px; }
  .fidelity-solutions { padding:68px 28px 82px; }
  .fidelity-solution-heading { gap:18px; margin-bottom:24px; }
  .fidelity-solution-heading h2 { font-size:29px; }
  .fidelity-solution-row { grid-template-columns:1fr; gap:16px; }
  .fidelity-solution-card { min-height:511px; }
  .fidelity-team { grid-template-columns:1fr; gap:42px; padding:70px 28px; }
  .fidelity-team-illustration { width:min(100%,320px); justify-self:start; }
  .fidelity-newsletter { min-height:0; padding:48px 28px; flex-direction:column; align-items:flex-start; }
  .fidelity-footer { padding:31px 28px 24px; }
  .fidelity-footer-row { display:grid; gap:22px; }
  .fidelity-contact { justify-content:start; }
  .fidelity-contact a { justify-content:flex-start; }
  .fidelity-contact span { text-align:left; }
  .fidelity-footer-brand>img { width:166px; height:78px; }
}

@media (max-width:420px) {
  .fidelity-dual-cta { display:flex; width:100%; flex-direction:column; border-radius:8px; }
  .fidelity-dual-cta a { justify-content:center; border-right:0; border-bottom:1px solid rgba(244,243,216,.4); }
  .fidelity-dual-cta a:last-child { border-bottom:0; }
  .fidelity-metrics { grid-template-columns:1fr; }
  .fidelity-metrics article { min-height:76px; }
}
