/* ============================================================
   Devint - common.css
   Tokens, base, layout, header/nav, buttons, language switch, page hero,
   CTA strip, footer and the components shared by more than one page.
   Page-specific rules live in pages/*.css.
   ============================================================ */

/* ---------- Base / tokens ---------- */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#011C4C;--navy2:#052258;--navybdr:#16345F;--navybdr2:#1B3A6F;
  --acc:#1239DB;--teal:#2FDCC9;--pink:#E8A3DC;--cyan:#AAFFFF;
  --ink:#16181D;--body:#3E4046;--muted:#767983;
  --page:#F7F8FA;--card:#FFFFFF;--bdr:#E6E8EE;--bdr2:#D8DBE2;
}
html{scroll-behavior:smooth}
body{font-family:'Manrope',-apple-system,"Segoe UI",sans-serif;background:var(--page);color:var(--body);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.rv{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}
.rv.d2{transition-delay:.16s}
.rv.d3{transition-delay:.24s}
section{padding:88px 0}
h2.st{font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.12;letter-spacing:-.03em;font-weight:800;color:var(--navy);max-width:26ch}
p.sl{margin-top:16px;font-size:15.5px;color:var(--body);max-width:60ch}

/* ---------- Patterns: declarations shared by several components (pages/*.css rely on them) ---------- */
/* Card surface (12px radius) */
.pcard,
.bcell,
.dcard,
.case,
.toc,
.tldr,
.related a{background:var(--card);border:1px solid var(--bdr);border-radius:12px}

/* Panel surface (16px radius) */
.plan,
.panel,
.formcard,
.mdim,
.mtable,
.soccard,
.lcard,
.tstep{background:var(--card);border:1px solid var(--bdr);border-radius:16px}

/* Card hover lift */
.pcard:hover,
.plan:hover,
.bcell:hover,
.dcard:hover,
.case:hover{border-color:var(--bdr2);box-shadow:0 18px 44px -18px rgba(1,28,76,.16);transform:translateY(-3px)}

/* Eyebrow label */
.pagehero .crumb,
.integra .lbl,
.eyebrow,
.postcat{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}

/* Card title */
.plan h2,
.ptitle,
.mhexinfo h3,
.mpesostxt h3{color:var(--navy);font-size:20px;font-weight:800;letter-spacing:-.02em}

/* Cover image */
.shot img,
.heroimg img,
.soccard .socphoto img{display:block;height:100%;object-fit:cover;width:100%}

/* Centered flex box */
.fsocial a,
.dropico,
.hero-down,
.integra .logos,
.dico,
.fcore,
.step .glyph,
.pico,
.lbox,
.lbstage,
.mdim .ic,
.mlvlctl,
.mlvlnav,
.lcard .ic{align-items:center;display:flex;justify-content:center}

/* ---------- Header & navigation ---------- */
header{position:sticky;top:0;z-index:50;background:rgba(247,248,250,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--bdr);transition:background .3s ease,border-color .3s ease}
.hbar{height:62px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:9px;flex-shrink:0}
.brand svg{width:23px;height:27px}
.brand span{font-family:'PT Sans',sans-serif;font-weight:700;font-size:19px;color:var(--navy);letter-spacing:.2px}
nav.mainnav{display:flex;align-items:center;gap:24px}
nav.mainnav a.nl{font-size:13px;font-weight:600;color:#4A4D55;white-space:nowrap;padding:6px 0;transition:color .2s}
nav.mainnav a.nl:hover{color:var(--navy)}
nav.mainnav a.nl.on{color:var(--navy);font-weight:800}
.droptrig.on{color:var(--navy);font-weight:800}
.langsw{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--bdr2);border-radius:11px;background:var(--card);flex-shrink:0}
.langsw a{font-size:12.5px;font-weight:800;color:var(--muted);padding:6px 12px;border-radius:8px;line-height:1;transition:background .2s,color .2s}
.langsw a:hover{color:var(--navy)}
.langsw a.on{background:var(--navy);color:#fff}
.langsw .soon{font-size:12.5px;font-weight:800;color:var(--muted);padding:6px 12px;border-radius:8px;line-height:1;opacity:.55;cursor:default}
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px}
.burger span{display:block;width:22px;height:2px;background:var(--navy);margin:5px 0;border-radius:2px;transition:transform .25s cubic-bezier(.16,1,.3,1),width .25s,margin-left .25s,background .2s}
.dropmenu a{display:flex;align-items:flex-start;gap:11px;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:600;color:#4A4D55;white-space:nowrap}
.navdrop{position:relative}
.droptrig{display:inline-flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:#4A4D55;padding:6px 0;transition:color .2s;white-space:nowrap}
.droptrig:hover{color:var(--navy)}
.droptrig svg{transition:transform .2s}
.navdrop:hover .droptrig svg,.navdrop:focus-within .droptrig svg{transform:rotate(180deg)}
.dropmenu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(4px);background:#fff;border:1px solid #E4E6EB;border-radius:12px;box-shadow:0 14px 34px rgba(1,28,76,.14);padding:6px;min-width:280px;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s,visibility .18s;z-index:60}
.dropmenu::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
.navdrop:hover .dropmenu,.navdrop:focus-within .dropmenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dropmenu a:hover{background:#F5F6F8;color:var(--navy)}
.dropmenu a span{display:block;font-size:11px;font-weight:400;color:#8A8C93;margin-top:2px;white-space:normal}
.droptxt{display:block}
.dropico{width:32px;height:32px;border-radius:9px;flex-shrink:0;margin-top:1px}
.dropico svg{width:16px;height:16px}
.dropico.gestao{background:rgba(47,220,201,.14);color:#0B8A7C}
.dropico.ctos{background:rgba(18,57,219,.10);color:#1239DB}
.dropmenu a:hover .dropico.gestao{background:rgba(47,220,201,.22)}
.dropmenu a:hover .dropico.ctos{background:rgba(18,57,219,.16)}
.dropmenu a span.droptxt{font-size:13px;font-weight:600;color:#4A4D55;margin-top:0}
.dropmenu a:hover span.droptxt{color:var(--navy)}
.dropmenu a span.dropico{display:flex;font-size:0;margin-top:1px}
a.droptrig{text-decoration:none}
.dropico.dscore{background:rgba(1,28,76,.08);color:#011C4C}
.dropico.dims{background:rgba(45,173,208,.16);color:#12627A}
.dropico.faixas{background:rgba(232,163,220,.22);color:#A94F98}
.dropmenu a:hover .dropico.dscore{background:rgba(1,28,76,.14)}
.dropmenu a:hover .dropico.dims{background:rgba(45,173,208,.24)}
.dropmenu a:hover .dropico.faixas{background:rgba(232,163,220,.3)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-size:13.5px;font-weight:700;padding:9px 18px;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s,border-color .2s,box-shadow .2s;white-space:nowrap;letter-spacing:-.005em}
.btn:active{transform:translateY(1px) scale(.98)}
.btn.pri{background:var(--navy);color:#fff}
.btn.pri:hover{background:#0E3271;transform:translateY(-1px);box-shadow:0 8px 20px rgba(1,28,76,.3)}
.btn.sec{background:var(--card);color:var(--ink);border-color:var(--bdr2)}
.btn.sec:hover{border-color:#A9ADB8;transform:translateY(-1px)}
.btn.lg{font-size:14.5px;padding:12px 24px}

/* ---------- Page hero ---------- */
.pagehero{position:relative;overflow:hidden;padding:76px 0 64px;background:
  radial-gradient(640px 420px at 82% -12%, rgba(170,255,255,.34), transparent 62%),
  radial-gradient(560px 400px at 12% -8%, rgba(232,163,220,.16), transparent 60%),
  var(--page)}
.pagehero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(1,28,76,.10) 1px, transparent 1.1px);background-size:20px 20px;mask-image:linear-gradient(to bottom, rgba(0,0,0,.55), transparent 75%);-webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,.55), transparent 75%);pointer-events:none}
.pagehero .wrap{position:relative;z-index:1}
.pagehero .crumb{color:var(--acc);margin-bottom:14px}
.pagehero h1{font-size:clamp(2rem,4vw,2.9rem);line-height:1.1;letter-spacing:-.03em;font-weight:800;color:var(--navy);max-width:24ch}
.pagehero p.sub{margin-top:18px;font-size:16px;color:var(--body);max-width:58ch}

/* ---------- CTA strip ---------- */
.ctastrip{border-top:1px solid var(--bdr);background:
  radial-gradient(560px 380px at 82% 120%, rgba(170,255,255,.28), transparent 65%),
  radial-gradient(480px 340px at 6% 110%, rgba(232,163,220,.16), transparent 60%),
  var(--card)}
.ctastrip .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding-top:56px;padding-bottom:56px}
.ctastrip h2{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800;color:var(--navy);letter-spacing:-.025em;line-height:1.15;max-width:24ch}

/* ---------- Footer ---------- */
footer{background:var(--navy);color:#C9D4EA;position:relative;overflow:hidden}
footer::before{content:"";position:absolute;left:-120px;bottom:-200px;width:480px;height:560px;background:url("../img/hex-stroke.svg") no-repeat center/contain;filter:invert(1);opacity:.05;pointer-events:none}
.ftop{display:grid;grid-template-columns:minmax(0,2fr) 1fr 1fr 1fr;gap:48px;padding:68px 0 52px;position:relative;z-index:1}
.ftop .brand span{color:#fff}
.ftop .fdesc{margin-top:16px;font-size:13px;line-height:1.7;color:#8FA2C9;max-width:32ch}
.fcol h4{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#4C6698;margin-bottom:18px}
.fcol a{display:block;font-size:13.5px;font-weight:500;color:#C9D4EA;padding:5px 0;transition:color .2s}
.fcol a:hover{color:var(--teal)}
.fbottom{border-top:1px solid var(--navybdr);padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12.5px;color:#8FA2C9;position:relative;z-index:1}
.fbottom strong{color:#fff;font-weight:700}
@keyframes flogospin{to{transform:rotate(360deg)}}
footer .brand svg{animation:flogospin 14s linear infinite}
.fsocial{display:flex;gap:10px;margin-top:18px}
.fsocial a{width:36px;height:36px;border:1px solid var(--navybdr,#1B3A6F);border-radius:9px;color:#8FA2C9;transition:all .15s}
.fsocial a:hover{color:#fff;border-color:#2FDCC9;background:rgba(47,220,201,.08)}
.fsocial svg{width:17px;height:17px;fill:currentColor}
.feslogo{display:inline-flex;align-items:center;vertical-align:middle;margin-left:2px}
.feslogo img{height:15px;width:auto;opacity:.85;transition:opacity .15s}
.feslogo:hover img{opacity:1}
.faddr{display:block;font-size:13px;line-height:1.6;color:#8FA2C9;margin-top:2px}

/* ---------- Shared components ---------- */
.tab{font-family:inherit;font-size:13px;font-weight:700;color:#55575E;background:transparent;border:none;border-radius:6px;padding:8px 18px;cursor:pointer;transition:background .2s,color .2s}
.tab:hover{color:var(--navy)}
.tab.active{background:var(--card);color:var(--navy);box-shadow:0 2px 8px rgba(1,28,76,.10);border:1px solid var(--bdr)}
.faq .head{max-width:640px}
.faqlist{margin-top:40px;max-width:780px}
.faqlist details{border-bottom:1px solid var(--bdr)}
.faqlist summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font-size:16px;font-weight:700;color:var(--navy);letter-spacing:-.01em}
.faqlist summary::-webkit-details-marker{display:none}
.faqlist summary::after{content:"+";font-size:22px;font-weight:500;color:var(--muted);line-height:1;transition:transform .25s ease;flex-shrink:0}
.faqlist details[open] summary::after{transform:rotate(45deg);color:var(--acc)}
.faqlist details p{padding:0 40px 22px 0;font-size:14.5px;color:var(--body);line-height:1.7;max-width:64ch}
.pcard{overflow:hidden;display:flex;flex-direction:column;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,border-color .25s}
.pcard .pimg{aspect-ratio:16/9;overflow:hidden;background:var(--navy)}
.pcard .pimg img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.pcard:hover .pimg img{transform:scale(1.04)}
.pcard .pbody{padding:26px 28px 28px;display:flex;flex-direction:column;gap:13px;flex:1}
.pcard h2{font-size:19px;font-weight:800;color:var(--navy);letter-spacing:-.015em;line-height:1.3}
.pcard p{font-size:14px;color:#5A5D66;line-height:1.65;flex:1}
.plangrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:8px;align-items:stretch}
.plan{padding:36px;display:flex;flex-direction:column;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,border-color .25s}
.plan.hl{background:radial-gradient(420px 300px at 82% 0%, rgba(47,220,201,.18), transparent 60%),radial-gradient(360px 280px at 10% 100%, rgba(232,163,220,.12), transparent 60%),var(--navy);border-color:var(--navybdr)}
.plan.hl h2,.plan.hl .price{color:#fff}
.plan.hl .pdesc{color:#C9D4EA}
.plan.hl li{color:#D7E0F2}
.plan.hl li::before{background:var(--teal)}
.plan.hl .psize{color:#8FA2C9}
.plan .psize{font-size:12px;font-weight:700;color:var(--muted);margin-top:4px}
.plan .pdesc{font-size:13.5px;color:#5A5D66;line-height:1.6;margin-top:14px}
.plan .price{font-size:26px;font-weight:800;letter-spacing:-.03em;color:var(--navy);margin-top:22px;font-variant-numeric:tabular-nums}
.plan .price span{font-size:13.5px;font-weight:700;color:var(--muted);letter-spacing:0}
.plan .pimp{font-size:12.5px;font-weight:700;color:var(--muted);margin-top:4px}
.plan.hl .price span,.plan.hl .pimp{color:#8FA2C9}
.plan ul{list-style:none;margin:22px 0 28px;display:flex;flex-direction:column;gap:11px;flex:1}
.plan li{display:flex;gap:11px;font-size:13.5px;color:var(--body);line-height:1.55}
.plan li::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--acc);flex-shrink:0;margin-top:7px}
.plan .btn{width:100%}
.plannote{margin-top:22px;font-size:12.5px;color:var(--muted);text-align:center}

/* ---------- Responsive ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
}
@media (max-width:1180px){
  nav.mainnav{display:flex;position:fixed;top:62px;left:0;right:0;height:calc(100vh - 62px);height:calc(100dvh - 62px);background:rgba(1,20,54,.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);flex-direction:column;align-items:flex-start;gap:0;padding:28px 28px 40px;overflow-y:auto;transform:translateX(100%);visibility:hidden;transition:transform .32s cubic-bezier(.22,1,.36,1),visibility 0s linear .32s}
  nav.mainnav.open{transform:translateX(0);visibility:visible;transition:transform .32s cubic-bezier(.22,1,.36,1),visibility 0s}
  nav.mainnav a.nl{padding:16px 0;font-size:19px;font-weight:600;width:100%;color:#EFF3FA;border-bottom:1px solid rgba(255,255,255,.08)}
  nav.mainnav a.nl:hover{color:var(--teal)}
  nav.mainnav a.nl.on{color:var(--teal);font-weight:800}
  nav.mainnav .btn{order:1;margin-top:26px;width:100%;padding:14px 22px;font-size:15px}
  nav.mainnav .btn.pri{background:#fff;color:var(--navy)}
  nav.mainnav .btn.pri:hover{background:#EAF0FA}
  .langsw{order:2;align-self:center;margin-top:20px;background:transparent;border-color:rgba(255,255,255,.22)}
  .langsw a{color:#8FA2C9;padding:9px 18px;font-size:14px}
  .langsw a:hover{color:#fff}
  .langsw a.on{background:#fff;color:var(--navy)}
  .langsw .soon{color:#6E80A8;padding:9px 18px;font-size:14px}
  .burger{display:block}
  body.menu-open{overflow:hidden}
  
  body.menu-open header{background:rgba(1,20,54,.97);border-bottom-color:transparent}
  body.menu-open header .brand span{color:#fff}
  body.menu-open header .brand svg>path{fill:#fff}
  
  body.menu-open .burger span{background:#fff}
  body.menu-open .burger span:nth-child(1){width:11px;margin-left:11px;transform-origin:right center;transform:translateY(7px) rotate(45deg)}
  body.menu-open .burger span:nth-child(3){width:11px;margin-left:11px;transform-origin:right center;transform:translateY(-7px) rotate(-45deg)}
  
  nav.mainnav .navdrop.metod .dropmenu{display:none}
  nav.mainnav .navdrop.metod>a.droptrig{display:block;width:100%;padding:16px 0;font-size:19px;font-weight:600;color:#EFF3FA;border-bottom:1px solid rgba(255,255,255,.08)}
  nav.mainnav .navdrop.metod>a.droptrig:hover{color:var(--teal)}
  nav.mainnav .navdrop.metod>a.droptrig.on{color:var(--teal);font-weight:800}
  nav.mainnav .navdrop.metod>a.droptrig svg{display:none}
}
@media (max-width:960px){
  section{padding:64px 0}
  .ftop{grid-template-columns:1fr 1fr;gap:36px}
}
@media (max-width:600px){
  .ftop{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){footer .brand svg{animation:none}}
@media (max-width:1180px){
  .navdrop{width:100%}
  .navdrop:hover .dropmenu,.navdrop:focus-within .dropmenu{transform:none}
  .droptrig{display:none}
  .dropmenu{position:static;transform:none;opacity:1;visibility:visible;background:transparent;border:none;box-shadow:none;padding:0;min-width:0}
  .dropmenu::before{display:none}
  .dropmenu a{padding:16px 0;font-size:19px;color:#EFF3FA;border-bottom:1px solid rgba(255,255,255,.08);border-radius:0;white-space:normal}
  .dropmenu a:hover{background:transparent;color:var(--teal)}
  .dropmenu a span{display:none}
}
@media (max-width:1180px){.dropico{display:none}}
@media (max-width:1180px){
  .dropmenu a span.droptxt{display:block;font-size:19px;font-weight:600;color:#EFF3FA;margin:0}
  .dropmenu a:hover span.droptxt{color:var(--teal)}
  .dropmenu a span.droptxt span{display:none}
}
@media (max-width:1180px){.dropmenu a span.dropico{display:none}}
@media (max-width:960px){.plangrid{grid-template-columns:1fr}}
@media (max-width:1180px){
  .navdrop{width:100%}
  .navdrop:hover .dropmenu,.navdrop:focus-within .dropmenu{transform:none}
  .droptrig{display:none}
  .dropmenu{position:static;transform:none;opacity:1;visibility:visible;background:transparent;border:none;box-shadow:none;padding:0;min-width:0}
  .dropmenu::before{display:none}
  .dropmenu a{padding:16px 0;font-size:19px;color:#EFF3FA;border-bottom:1px solid rgba(255,255,255,.08);border-radius:0;white-space:normal}
  .dropmenu a:hover{background:transparent;color:var(--teal)}
  .dropmenu a span{display:none}
  .dropico{display:none}
  .dropmenu a span.droptxt{display:block;font-size:19px;font-weight:600;color:#EFF3FA;margin:0}
  .dropmenu a:hover span.droptxt{color:var(--teal)}
  .dropmenu a span.droptxt span{display:none}
  .dropmenu a span.dropico{display:none}
}

