*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
:root{
  --ink:#08080f;--card:#13131e;
  --line:rgba(255,255,255,.07);--line2:rgba(255,255,255,.12);
  --red:#CC0000;--red2:#ff3333;
  --amber:#e8a020;--blue:#3a7bd5;--green:#3db87a;--purple:#7c6af0;
  --text:rgba(255,255,255,.84);--text2:rgba(255,255,255,.5);
  --muted:rgba(255,255,255,.32);--muted2:rgba(255,255,255,.16);
  --white:#f2f2ee;
  --fh:'Syne',sans-serif;--fb:'DM Sans',sans-serif;--fm:'Syne Mono',monospace;
  --nav-h:52px;
  --sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);
  --sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);
  --px:clamp(16px,4vw,40px);
}
body{background:var(--ink);color:var(--text);font-family:var(--fb);font-size:15px;line-height:1.7;overflow-x:hidden;min-height:100vh;-webkit-font-smoothing:antialiased}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(204,0,0,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(204,0,0,.022) 1px,transparent 1px);background-size:56px 56px}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:300;height:var(--nav-h);background:rgba(8,8,15,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--line);padding:0 var(--px)}
.nav-inner{display:flex;align-items:center;height:100%;max-width:1280px;margin:0 auto;gap:12px}
.nav-logo{display:flex;align-items:center;gap:8px;text-decoration:none;flex-shrink:0}
.logo-mark{width:30px;height:30px;border-radius:7px;background:var(--red);display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-weight:800;font-size:13px;color:#fff;box-shadow:0 0 16px rgba(204,0,0,.45);flex-shrink:0}
.nav-brand{font-family:var(--fh);font-weight:800;font-size:17px;color:var(--white);letter-spacing:-.3px}
.nav-brand span{color:var(--red)}
.nav-mid{flex:1;display:flex;justify-content:center}
.nav-status{display:flex;align-items:center;gap:6px;font-family:var(--fm);font-size:10px;color:var(--muted)}
.sdot{width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 7px var(--amber);animation:blink 2s ease-in-out infinite;flex-shrink:0}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.nav-stxt{display:none}
@media(min-width:480px){.nav-stxt{display:inline}}
@media(min-width:720px){.nav-links{display:flex!important}}
.lang-bar{display:flex;align-items:center;gap:2px;flex-shrink:0}
.lb{padding:3px 7px;border-radius:4px;font-family:var(--fm);font-size:10px;color:var(--muted2);background:transparent;border:1px solid transparent;cursor:pointer;transition:all .15s}
.lb:hover{color:var(--text);border-color:var(--line2)}
.lb.active{color:var(--amber);border-color:rgba(232,160,32,.3);background:rgba(232,160,32,.06)}

/* HERO */
.hero{position:relative;z-index:1;width:100%;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:calc(var(--nav-h) + 24px) var(--px) 48px}
#qcanvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0}
.hero-content{position:relative;z-index:2;width:100%;max-width:900px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.eyebrow{font-family:var(--fm);font-size:9.5px;color:var(--red2);letter-spacing:2.5px;text-transform:uppercase;margin-bottom:clamp(16px,3vh,28px);display:flex;align-items:center;gap:10px;opacity:0;animation:fadeUp .6s .3s both}
.eyebrow::before,.eyebrow::after{content:'';width:24px;height:1px;background:var(--red);flex-shrink:0}

/*
  H1 — RESPONSIVO POR VW
  Cada span é uma linha independente com white-space:nowrap.
  O h1 é um flex-column que centra cada linha individualmente.
  Sem overflow horizontal em nenhum ecrã.
*/
h1{
  font-family:var(--fh);
  font-weight:800;
  line-height:.93;
  letter-spacing:-.02em;
  color:var(--white);
  text-align:center;
  margin:0 0 clamp(14px,3vh,28px);
  opacity:0;
  animation:fadeUp .7s .4s both;
  padding:0 4px;
}
h1 .w1{display:block;font-size:22vw;line-height:.88}
h1 .w2{display:block;font-size:13vw;line-height:.93;word-break:keep-all;overflow-wrap:normal}
h1 .red{display:block;font-size:20vw;color:var(--red);line-height:.92}
h1 .dim{display:block;font-size:15vw;color:rgba(255,255,255,.24);font-weight:300;line-height:.97}
@media(min-width:480px){
  h1 .w1{font-size:18vw}
  h1 .w2{font-size:11vw}
  h1 .red{font-size:16vw}
  h1 .dim{font-size:12vw}
}
@media(min-width:768px){
  h1 .w1{font-size:14vw}
  h1 .w2{font-size:8.5vw}
  h1 .red{font-size:12vw}
  h1 .dim{font-size:9.5vw}
}
@media(min-width:1100px){
  h1 .w1{font-size:120px}
  h1 .w2{font-size:80px}
  h1 .red{font-size:108px}
  h1 .dim{font-size:86px}
}

.hero-domains{font-family:var(--fm);font-size:clamp(9px,1.8vw,12px);color:var(--muted);letter-spacing:.4px;line-height:1.8;margin-bottom:clamp(12px,2vh,20px);opacity:0;animation:fadeUp .6s .62s both}
.hero-domains strong{color:var(--amber)}
.hero-desc{font-size:clamp(13px,2.2vw,15px);color:var(--text2);line-height:1.75;max-width:540px;margin-bottom:clamp(24px,4vh,40px);opacity:0;animation:fadeUp .6s .75s both}
.mbar{width:100%;max-width:460px;opacity:0;animation:fadeUp .6s .88s both}
.mbar-hdr{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.mbar-lbl{font-family:var(--fm);font-size:9.5px;color:var(--muted);letter-spacing:.8px}
.mbar-pct{font-family:var(--fh);font-weight:700;font-size:22px;color:var(--amber)}
.mbar-track{height:2px;background:rgba(255,255,255,.06);border-radius:1px;overflow:hidden}
.mbar-fill{height:100%;border-radius:1px;background:linear-gradient(90deg,var(--red),var(--amber));width:0;animation:fillBar 2.4s 1.2s cubic-bezier(.4,0,.2,1) both}
@keyframes fillBar{to{width:73%}}
.mbar-nodes{display:flex;justify-content:space-between;margin-top:8px}
.mbar-node{font-family:var(--fm);font-size:7.5px;color:var(--muted2);text-align:center}
.mbar-node.done{color:var(--amber)}
.qbit-label{position:absolute;bottom:20px;right:var(--px);z-index:3;font-family:var(--fm);font-size:8.5px;color:rgba(124,106,240,.38);letter-spacing:1.5px;text-transform:uppercase;opacity:0;animation:fadeUp .6s 1.5s both}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* landscape mobile */
@media(max-height:500px) and (orientation:landscape){
  .hero{min-height:auto;padding-top:calc(var(--nav-h)+8px);padding-bottom:24px}
  h1 .w1{font-size:11vw}h1 .w2{font-size:7.5vw}h1 .red{font-size:9.5vw}h1 .dim{font-size:7.5vw}
  .hero-desc{display:none}#qcanvas{opacity:.4}
}

/* STATS */
.stats{position:relative;z-index:1;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
@media(min-width:640px){.stats-grid{grid-template-columns:repeat(6,1fr)}}
.stat{background:var(--ink);padding:clamp(16px,3vw,32px) 12px;text-align:center}
.stat-v{font-family:var(--fh);font-weight:800;font-size:clamp(22px,3.8vw,38px);line-height:1;color:var(--white);letter-spacing:-1px;margin-bottom:4px}
.stat-v span{color:var(--red)}
.stat-l{font-family:var(--fm);font-size:8px;color:var(--muted);letter-spacing:.8px;text-transform:uppercase;line-height:1.4}

/* ECOSSISTEMA */
.eco{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:clamp(48px,7vw,96px) var(--px)}
.section-lbl{font-family:var(--fm);font-size:9.5px;color:var(--red);letter-spacing:3px;text-transform:uppercase;margin-bottom:10px;text-align:center}
.section-title{font-family:var(--fh);font-weight:800;font-size:clamp(22px,4.5vw,42px);color:var(--white);letter-spacing:-.02em;text-align:center;margin-bottom:clamp(24px,4vw,40px)}
.eco-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:560px){.eco-grid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.eco-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1200px){.eco-grid{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--card);border:1px solid var(--line2);border-radius:14px;overflow:hidden;transition:border-color .2s,transform .2s}
@media(hover:hover){.card:hover{border-color:rgba(255,255,255,.22);transform:translateY(-2px)}}
.card-canvas-wrap{width:100%;height:120px;overflow:hidden;border-bottom:1px solid var(--line);position:relative}
@media(min-width:900px){.card-canvas-wrap{height:140px}}
.card-canvas-wrap canvas{display:block;width:100%;height:100%}
.card-body{padding:14px 14px 16px}
.card-tag{font-family:var(--fm);font-size:8px;letter-spacing:2px;text-transform:uppercase;margin-bottom:5px}
.card-name{font-family:var(--fh);font-weight:700;font-size:17px;color:var(--white);margin-bottom:5px;letter-spacing:-.2px}
.card-desc{font-size:12px;color:var(--text2);line-height:1.6}
.card-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.card-dom{font-family:var(--fm);font-size:9px;color:var(--muted2)}
.card-status{display:inline-flex;align-items:center;gap:4px;font-family:var(--fm);font-size:8px;padding:2px 7px;border-radius:3px;border:1px solid;white-space:nowrap}
.s-mig{background:rgba(232,160,32,.08);color:var(--amber);border-color:rgba(232,160,32,.22)}
.s-ok{background:rgba(61,184,122,.08);color:var(--green);border-color:rgba(61,184,122,.22)}

/* DIVIDER */
.divider{max-width:1280px;margin:0 auto clamp(40px,6vw,72px);padding:0 var(--px);display:flex;align-items:center;gap:12px}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:var(--line)}
.divider-txt{font-family:var(--fm);font-size:9px;color:var(--muted2);white-space:nowrap;letter-spacing:2px}

/* CONTACTO */
.contact{position:relative;z-index:1;max-width:560px;margin:0 auto;padding:0 var(--px) calc(clamp(60px,10vw,100px) + var(--sab,0px))}
.contact-lbl{font-family:var(--fm);font-size:9.5px;color:var(--red);letter-spacing:3px;text-transform:uppercase;margin-bottom:10px;text-align:center}
.contact-title{font-family:var(--fh);font-weight:800;font-size:clamp(26px,6vw,40px);color:var(--white);letter-spacing:-.02em;text-align:center;margin-bottom:8px}
.contact-sub{font-size:13.5px;color:var(--text2);text-align:center;margin-bottom:28px;line-height:1.7}
.contact-sub a{color:var(--amber);text-decoration:none}
.cform{display:flex;flex-direction:column;gap:11px}
.frow{display:grid;grid-template-columns:1fr;gap:11px}
@media(min-width:480px){.frow{grid-template-columns:1fr 1fr}}
.field{display:flex;flex-direction:column;gap:5px}
label{font-family:var(--fm);font-size:9px;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase}
input,select,textarea{background:var(--card);border:1px solid var(--line2);border-radius:8px;color:var(--white);font-family:var(--fb);font-size:16px;padding:12px 14px;width:100%;outline:none;-webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s}
input::placeholder,textarea::placeholder{color:var(--muted2)}
input:focus,select:focus,textarea:focus{border-color:rgba(204,0,0,.5);box-shadow:0 0 0 3px rgba(204,0,0,.07)}
select option{background:#13131e;color:var(--white)}
textarea{resize:vertical;min-height:110px}
.btn-send{width:100%;padding:14px;background:var(--red);color:#fff;border:none;border-radius:8px;font-family:var(--fh);font-weight:700;font-size:17px;letter-spacing:.4px;cursor:pointer;box-shadow:0 0 24px rgba(204,0,0,.25);touch-action:manipulation;transition:background .2s,transform .1s}
.btn-send:hover{background:#b30000}.btn-send:active{transform:scale(.98)}
.form-note{font-size:11px;color:var(--muted2);text-align:center;margin-top:4px}
.form-success{display:none;text-align:center;padding:28px 20px;background:var(--card);border:1px solid rgba(61,184,122,.2);border-radius:12px}
.form-success.show{display:block}
.form-success h3{font-family:var(--fh);font-weight:700;font-size:22px;color:var(--green);margin-bottom:8px}
.form-success p{font-size:13px;color:var(--text2)}

/* FOOTER */
footer{position:relative;z-index:1;background:var(--card);border-top:1px solid var(--line);padding:clamp(20px,4vw,32px) var(--px) calc(clamp(16px,3vw,24px) + var(--sab,0px))}
.foot-inner{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
@media(min-width:600px){.foot-inner{flex-direction:row;align-items:flex-start;justify-content:space-between}.foot-right{text-align:right}}
.foot-brand{font-family:var(--fh);font-weight:800;font-size:14px;color:var(--white)}
.foot-brand span{color:var(--red)}
.foot-tag{font-size:11px;color:var(--muted2);margin-top:2px;line-height:1.5}
.foot-email{font-family:var(--fm);font-size:12px;color:var(--amber)}
.foot-copy{font-size:10px;color:var(--muted2);margin-top:2px}
.foot-sig{font-family:var(--fm);font-size:9px;color:var(--muted2);margin-top:2px}
.foot-sig span{color:var(--amber)}.foot-sig em{font-style:normal;color:var(--blue)}


/* ===== SECÇÕES COMERCIAIS (Serviços · Planos · Aderir) ===== */
.csec{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:clamp(48px,7vw,90px) var(--px)}
.csec.alt{background:rgba(255,255,255,.012);max-width:none}
.csec.alt > .csec-in{max-width:1280px;margin:0 auto}
.csec-lead{font-size:clamp(13px,2.2vw,15px);color:var(--text2);line-height:1.7;max-width:580px;margin:0 auto clamp(28px,4vw,44px);text-align:center}
.svc-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:560px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
.svc{background:var(--card);border:1px solid var(--line2);border-radius:14px;padding:22px 20px;transition:border-color .2s,transform .2s}
@media(hover:hover){.svc:hover{border-color:rgba(204,0,0,.4);transform:translateY(-2px)}}
.svc-ic{font-family:var(--fh);font-weight:800;font-size:18px;color:var(--red);width:42px;height:42px;border-radius:10px;background:rgba(204,0,0,.08);border:1px solid rgba(204,0,0,.2);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.svc h3{font-family:var(--fh);font-weight:700;font-size:16px;color:var(--white);margin-bottom:7px;letter-spacing:-.2px}
.svc p{font-size:12.5px;color:var(--text2);line-height:1.65}
/* MK_LEADS_V1 */
#marketing .svc-grid{grid-template-columns:1fr;max-width:780px;margin-left:auto;margin-right:auto}
@media(min-width:700px){#marketing .svc-grid{grid-template-columns:1fr 1fr}}
#marketing .plan-note{margin-top:18px}
/* PLANOS */
.plans{display:grid;grid-template-columns:1fr;gap:16px;max-width:1080px;margin:0 auto}
@media(min-width:760px){.plans{grid-template-columns:repeat(3,1fr)}}
.plan{background:var(--card);border:1px solid var(--line2);border-radius:16px;padding:26px 24px;display:flex;flex-direction:column;text-align:left;position:relative;transition:border-color .2s}
.plan.pop{border-color:rgba(204,0,0,.55);box-shadow:0 0 0 1px rgba(204,0,0,.25),0 20px 50px -20px rgba(204,0,0,.4)}
.pophdr{position:absolute;top:-11px;left:24px;background:var(--red);color:#fff;font-family:var(--fm);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;padding:4px 10px;border-radius:5px;box-shadow:0 0 16px rgba(204,0,0,.4)}
.plan h3{font-family:var(--fh);font-weight:700;font-size:19px;color:var(--white);letter-spacing:-.3px}
.plan .pc{font-family:var(--fh);font-weight:800;font-size:34px;color:var(--white);margin:12px 0 0;letter-spacing:-.02em}
.plan .pc small{font-size:13px;font-weight:400;color:var(--muted)}
.plan .ref{color:var(--muted2);font-size:12px;text-decoration:line-through;margin-top:2px;font-family:var(--fm)}
.plan .feat{list-style:none;margin:18px 0;padding:0;display:flex;flex-direction:column;gap:9px;flex:1}
.plan .feat li{font-size:12.5px;color:var(--text);display:flex;align-items:flex-start;gap:8px;line-height:1.5}
.plan .feat li.off{color:var(--muted2)}
.plan .feat .c{color:var(--green);font-weight:700;flex-shrink:0}
.plan .feat li.off .c{color:var(--muted2)}
.choose{font-family:var(--fh);font-weight:700;font-size:14px;text-align:center;padding:13px;border-radius:9px;border:1px solid var(--line2);cursor:pointer;background:transparent;color:var(--white);transition:all .15s;width:100%}
.choose:hover{border-color:rgba(204,0,0,.5);background:rgba(204,0,0,.06)}
.plan.pop .choose{background:var(--red);border-color:transparent;box-shadow:0 0 20px rgba(204,0,0,.3)}
.plan.pop .choose:hover{background:#b30000}
.plan-note{font-size:11px;color:var(--muted2);text-align:center;margin-top:16px;font-family:var(--fm)}
/* PORQUÊ + FAQ */
.why{display:grid;grid-template-columns:1fr;gap:18px;max-width:900px;margin:0 auto}
@media(min-width:560px){.why{grid-template-columns:1fr 1fr}}
.why > div{padding:4px}
.why .ic{font-size:22px;margin-bottom:8px}
.why b{font-family:var(--fh);font-weight:700;font-size:15px;color:var(--white);display:block;margin-bottom:5px}
.why p{font-size:12.5px;color:var(--text2);line-height:1.6}
.faq{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.qa{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.qa summary{font-family:var(--fh);font-weight:600;font-size:14px;color:var(--white);cursor:pointer;list-style:none}
.qa summary::-webkit-details-marker{display:none}
.qa[open] summary{margin-bottom:8px}
.qa p{font-size:12.5px;color:var(--text2);line-height:1.65}
/* ADERIR */
.reg{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:11px;text-align:left}
.g2f{display:grid;grid-template-columns:1fr;gap:11px}
@media(min-width:480px){.g2f{grid-template-columns:1fr 1fr}}
.reg .submit{width:100%;padding:14px;background:var(--red);color:#fff;border:none;border-radius:8px;font-family:var(--fh);font-weight:700;font-size:16px;cursor:pointer;box-shadow:0 0 24px rgba(204,0,0,.25);transition:background .2s,transform .1s;margin-top:4px}
.reg .submit:hover{background:#b30000}.reg .submit:active{transform:scale(.98)}
.reg .err{display:none;font-size:13px;color:var(--red2);background:rgba(204,0,0,.08);border:1px solid rgba(204,0,0,.25);border-radius:8px;padding:10px 12px}
.okbox{text-align:center;padding:36px 20px;background:var(--card);border:1px solid rgba(61,184,122,.25);border-radius:14px}
.okbox .ci{width:54px;height:54px;border-radius:50%;background:rgba(61,184,122,.12);border:1px solid rgba(61,184,122,.4);color:var(--green);font-size:26px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.okbox h2{font-family:var(--fh);font-weight:700;color:var(--white)}
