/* =====================================================================
   Regy — website multi-marca. Design system aprovado no mockup:
   cor de acento POR MARCA (--cor em body.brand-*; laranja=box, verde-lima=fit,
   azul-mar=surf, vermelho=fight), hero/rodapé escuros, secções claras,
   linhas finas, sem sombras nem blur, títulos em maiúsculas (peso <= 600).
   ===================================================================== */
:root{
	/* cor de acento — overridada por marca em body.brand-* (derivadas mais abaixo, no body) */
	--cor:#FF990F;
	--cor-ink:#191204;
	--escuro:#0C0D10;
	--escuro-2:#13151A;
	--branco:#FFFFFF;
	--suave:#F6F6F4;
	--texto:#1C1D20;
	--texto-2:#66696F;
	--texto-inv:#F4F4F2;
	--texto-inv-2:rgba(244,244,242,.62);
	--linha:rgba(127,127,127,.28);
	--linha-inv:rgba(255,255,255,.16);
	--wa:#25D366;
	--erro:#C64632;
	--r:16px;
}
*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none !important} /* o hidden tem de ganhar a display:flex/grid das classes */
html{scroll-behavior:smooth}

/* ---------- cor de acento por marca ---------- */
body.brand-regybox{--cor:#FF990F;--cor-ink:#191204}
body.brand-regyfit{--cor:#84CC16;--cor-ink:#1A2E05}
body.brand-regysurf{--cor:#06B6D4;--cor-ink:#06272E}
body.brand-regyfight{--cor:#DC2626;--cor-ink:#FFFFFF}
/* derivadas no body (não no :root) para recalcularem com a --cor da marca */
body{--cor-escura:color-mix(in srgb, var(--cor) 85%, #000);--cor-tinta:color-mix(in srgb, var(--cor) 9%, transparent)}

body{font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",sans-serif;color:var(--texto);background:var(--branco);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit;text-decoration:none}
.sprite{position:absolute;width:0;height:0}
.ic{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tcenter{text-align:center}
.mt20{margin-top:20px}

/* ---------- acessibilidade ---------- */
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--cor);color:var(--cor-ink);padding:12px 20px;border-radius:0 0 12px 0;font-size:13px;font-weight:600}
.skip-link:focus{left:0}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cor);outline-offset:3px;border-radius:4px}
.nav a:focus-visible,footer a:focus-visible,.btn-ghost:focus-visible{outline-color:var(--texto-inv)}

/* ---------- wordmark ---------- */
.wordmark{display:inline-flex;align-items:baseline;gap:1px;letter-spacing:.04em;line-height:1}
.wm-regy{font-weight:300;letter-spacing:.18em}
.wm-suf{font-weight:800;letter-spacing:.02em}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:12px 24px;cursor:pointer;border:1px solid transparent;background:none;font-family:inherit;transition:background .18s,border-color .18s,color .18s}
.btn-primary{background:var(--cor);color:var(--cor-ink)}
.btn-primary:hover{background:var(--cor-escura)}
.btn-ghost{border-color:var(--linha-inv);color:var(--texto-inv)}
.btn-ghost:hover{border-color:rgba(255,255,255,.45)}
.btn-ghost-dark{border-color:var(--linha);color:var(--texto)}
.btn-ghost-dark:hover{border-color:var(--texto)}
.btn-wa{background:var(--wa);color:#0B2313}
.btn-wa:hover{background:#1FBF5A}
.btn[disabled]{opacity:.45;cursor:default}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:60;background:rgba(12,13,16,.95);color:var(--texto-inv);border-bottom:1px solid var(--linha-inv)}
.nav-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:26px;padding:14px 22px}
.nav .wordmark{font-size:21px}
.nav-links{display:flex;gap:24px;font-size:13px;letter-spacing:.05em;text-transform:uppercase}
.nav-links a{color:var(--texto-inv-2)}
.nav-links a:hover{color:var(--texto-inv)}
.nav-links .nav-dim{opacity:.7}
.nav-spacer{flex:1}
.lang{display:flex;border:1px solid var(--linha-inv);border-radius:999px;overflow:hidden;font-size:11px;letter-spacing:.08em}
.lang a{padding:5px 11px;color:var(--texto-inv-2)}
.lang a.on{background:rgba(255,255,255,.12);color:var(--texto-inv)}
.nav .btn{padding:10px 20px}
.burger{display:none;background:none;border:1px solid var(--linha-inv);border-radius:10px;color:var(--texto-inv);padding:7px 9px;cursor:pointer}
.burger .ic{display:block}

/* menu mobile */
.m-menu{position:fixed;inset:0;background:var(--escuro);color:var(--texto-inv);z-index:90;display:flex;flex-direction:column;padding:24px}
.m-menu[hidden]{display:none}
.m-menu-top{display:flex;justify-content:space-between;align-items:center}
.m-menu-top .wordmark{font-size:21px}
.m-menu nav{display:flex;flex-direction:column;margin-top:36px;font-size:22px;letter-spacing:.03em;text-transform:uppercase}
.m-menu nav a{padding:14px 0;border-bottom:1px solid var(--linha-inv);color:var(--texto-inv)}
.m-menu .btn{margin-top:32px}
.m-lang{margin-top:22px;align-self:flex-start}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--escuro);color:var(--texto-inv);overflow:hidden}
.hero-media{position:absolute;inset:0;background-image:var(--hero-img);background-size:cover;background-position:center}
.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(12,13,16,.96) 0%,rgba(12,13,16,.82) 45%,rgba(12,13,16,.42) 100%)}
.hero-ph{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0 16px,transparent 16px 32px)}
.hero-in{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:88px 22px 70px;display:flex;flex-direction:column;align-items:flex-start;min-height:560px;justify-content:center}
.kicker{color:var(--cor);font-size:12.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin-bottom:16px}
.lead-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb, var(--cor) 55%, transparent);background:var(--cor-tinta);color:var(--cor);border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:8px 16px;margin-bottom:18px}
.lead-badge .ic{width:15px;height:15px}
.hero h1{font-size:clamp(32px,5vw,58px);line-height:1.06;font-weight:600;letter-spacing:.005em;text-transform:uppercase;max-width:14ch}
.hero h1 em{font-style:normal;color:var(--cor)}
.hero-sub{margin-top:20px;font-size:16.5px;color:var(--texto-inv-2);max-width:54ch}
.hero-ctas{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.hero-offer{display:flex;align-items:center;gap:9px;margin-top:18px;font-size:13.5px;color:var(--texto-inv-2)}
.hero-offer .ic{width:17px;height:17px;color:var(--cor)}
.hero-offer b{color:var(--texto-inv);font-weight:600}
.trust{display:flex;gap:26px;flex-wrap:wrap;margin-top:44px;padding-top:20px;border-top:1px solid var(--linha-inv);font-size:13px;color:var(--texto-inv-2)}
.trust b{color:var(--texto-inv);font-weight:600;font-size:15px}
.trust i{font-style:normal;display:block;text-transform:uppercase;font-size:10.5px;letter-spacing:.12em;margin-top:2px}

/* ---------- faixa de logotipos ---------- */
.logos{background:var(--escuro-2);color:var(--texto-inv-2);border-top:1px solid var(--linha-inv);padding:18px 0;overflow:hidden}
.logos-label{max-width:1180px;margin:0 auto 12px;padding:0 22px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}
.marquee{display:flex;gap:34px;width:max-content;align-items:center;animation:mq var(--mq-dur,80s) linear infinite}
@keyframes mq{to{transform:translateX(-50%)}}
.mlogo{width:46px;height:46px;border-radius:999px;overflow:hidden;background:#FFFFFF;border:1px solid var(--linha-inv);flex:none;display:flex;align-items:center;justify-content:center;pointer-events:none;user-select:none}
.mlogo img{width:100%;height:100%;object-fit:cover}

/* ---------- secções ---------- */
section{scroll-margin-top:70px}
.sec{max-width:1180px;margin:0 auto;padding:84px 22px}
.sec-slim{max-width:900px;padding-top:56px}
.sec-head{max-width:660px;margin:0 auto 48px;text-align:center}
.sec-head .kicker{margin-bottom:12px}
.sec-head h1,.sec-head h2{font-size:clamp(24px,3.2vw,36px);font-weight:600;letter-spacing:.02em;text-transform:uppercase;line-height:1.15}
.sec-head p{margin-top:14px;color:var(--texto-2);font-size:15.5px}
.h2t{font-size:clamp(24px,3.2vw,36px);font-weight:600;letter-spacing:.02em;text-transform:uppercase;line-height:1.15}
.h3t{font-size:17px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}

/* cabeçalho de página interior (escuro) */
.page-head{background:var(--escuro);color:var(--texto-inv);border-bottom:1px solid var(--linha-inv)}
.page-head .sec{padding:56px 22px 48px}
.page-head p{margin-top:12px;color:var(--texto-inv-2);max-width:60ch;font-size:15.5px}

/* bandeiras: posicionamento (logo abaixo do hero) */
.lider{border-bottom:1px solid var(--linha)}
.lider .sec{padding:64px 22px 60px}
.lider-in{text-align:center}
.lider-2col{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;text-align:left}
.lider-tit{font-size:clamp(30px,5vw,58px);font-weight:600;letter-spacing:.01em;text-transform:uppercase;line-height:1.04;color:var(--cor)}
.lider-sub{margin-top:16px;font-size:16.5px;color:var(--texto-2);max-width:56ch}
.lider-in:not(.lider-2col) .lider-sub{margin-left:auto;margin-right:auto}
.lider-tiles{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.lider-in:not(.lider-2col) .lider-tiles{justify-content:center}
.lt{border:1px solid var(--linha);border-radius:var(--r);padding:18px 24px;min-width:190px;display:flex;flex-direction:column;align-items:center;gap:3px;background:var(--branco)}
.lt b{font-size:34px;font-weight:600;line-height:1.1;letter-spacing:.01em}
.lt>span{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--texto-2);display:inline-flex;align-items:center;gap:7px;text-align:center}
.lt>span .ic{width:15px;height:15px}
.lt-store{transition:border-color .18s}
.lt-store:hover{border-color:var(--cor)}
.stars{display:inline-flex;gap:2px;margin-bottom:2px}
.stars .ic{width:15px;height:15px;fill:#F5B301;stroke:none}
.lider-img img{width:100%;border-radius:var(--r);display:block}

/* funcionalidades (home) */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feat{border:1px solid var(--linha);border-radius:var(--r);padding:26px 24px;background:var(--branco);display:block;transition:border-color .18s}
.feat:hover{border-color:var(--cor)}
.fi{width:46px;height:46px;border-radius:12px;background:var(--cor-tinta);color:var(--cor);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.feat h3{font-size:13.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.feat p{margin-top:8px;font-size:13.8px;color:var(--texto-2);line-height:1.55}
.feat-note{text-align:center;margin-top:36px;font-size:13.5px;color:var(--texto-2)}
/* links de texto do rodapé das secções — os .btn ficam de fora (têm cor própria) */
.feat-note a:not(.btn){color:var(--cor);font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-size:12.5px;display:inline-flex;align-items:center;gap:7px}
.feat-note .ic{width:16px;height:16px}

/* funcionalidades (página) */
.func-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.func-card{border:1px solid var(--linha);border-radius:var(--r);padding:26px;display:flex;gap:18px;align-items:flex-start}
.func-card .fi{margin-bottom:0}
.func-body{min-width:0;flex:1}
.func-card p{margin-top:8px;font-size:14px;color:var(--texto-2)}
.fdet{max-height:132px;overflow:hidden;position:relative;transition:max-height .35s ease}
.fdet::after{content:'';position:absolute;left:0;right:0;bottom:0;height:56px;background:linear-gradient(transparent,var(--branco));transition:opacity .25s;pointer-events:none}
.func-card.open .fdet{max-height:1200px}
.func-card.open .fdet::after{opacity:0}
.fdet-list{margin:12px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:7px;font-size:13.5px;color:var(--texto-2);line-height:1.5}
.fdet-list li::marker{color:var(--cor)}
.fdet-mais{color:var(--cor);font-weight:600;list-style:none;margin-left:-18px;padding-top:2px}
.fdet-btn{margin-top:12px;background:none;border:none;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px;color:var(--cor);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:0}
.fdet-btn .ic{width:15px;height:15px;transform:rotate(90deg);transition:transform .25s}
.func-card.open .fdet-btn .ic{transform:rotate(-90deg)}
.fdet-btn .fd-menos{display:none}
.func-card.open .fdet-btn .fd-mais{display:none}
.func-card.open .fdet-btn .fd-menos{display:inline}
.func-todos{display:flex;justify-content:center;margin:0 0 22px}
.func-todos .btn{padding:10px 22px;font-size:12px}
.func-todos .ic{width:15px;height:15px;transform:rotate(90deg);transition:transform .25s}
.js-fdet-all.on .ic{transform:rotate(-90deg)}
.js-fdet-all .fa-menos{display:none}
.js-fdet-all.on .fa-mais{display:none}
.js-fdet-all.on .fa-menos{display:inline}

/* bandeiras: automação */
.auto{background:var(--escuro);color:var(--texto-inv);border-top:1px solid var(--linha-inv)}
.auto .sec{padding:74px 22px}
.auto-head{max-width:760px}
.auto-tit{font-size:clamp(26px,3.8vw,44px);font-weight:600;letter-spacing:.01em;text-transform:uppercase;line-height:1.1}
.auto-tit span{color:var(--cor)}
.auto-sub{margin-top:16px;font-size:16px;color:var(--texto-inv-2);max-width:60ch}
.auto-passos{list-style:none;counter-reset:none;display:grid;grid-template-columns:repeat(3,1fr);gap:18px 26px;margin:40px 0 0;padding:0}
.auto-passos li{display:flex;gap:14px;align-items:flex-start;padding-top:16px;border-top:1px solid var(--linha-inv);font-size:14.5px;color:var(--texto-inv-2);line-height:1.5}
.auto-passos b{flex:none;width:30px;height:30px;border-radius:999px;background:var(--cor-tinta);border:1px solid color-mix(in srgb, var(--cor) 55%, transparent);color:var(--cor);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}
.auto-humano{display:flex;gap:16px;align-items:flex-start;margin-top:40px;padding:24px;border:1px solid var(--linha-inv);border-radius:var(--r);background:rgba(255,255,255,.03);max-width:820px}
.auto-humano .ic{width:26px;height:26px;color:var(--cor);flex:none;margin-top:2px}
.auto-humano h3{font-size:13.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--texto-inv)}
.auto-humano p{margin-top:9px;font-size:14.5px;color:var(--texto-inv-2);line-height:1.6}

/* app showcase */
.app-sec{background:var(--suave);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.app-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.app-copy h2{font-size:clamp(24px,3vw,34px);font-weight:600;letter-spacing:.02em;text-transform:uppercase;line-height:1.15}
.app-copy>p{margin-top:14px;color:var(--texto-2);font-size:15.5px}
.app-list{margin-top:24px;display:flex;flex-direction:column;gap:13px}
.app-item{display:flex;gap:13px;align-items:flex-start;font-size:14.5px}
.app-item .ic{color:var(--cor);margin-top:2px;width:19px;height:19px;stroke-width:2}
.badges{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.badge-store{display:inline-flex;align-items:center;gap:10px;background:#000000;color:#FFFFFF;border:1px solid #000000;border-radius:12px;padding:8px 18px 8px 13px;transition:background .18s}
.badge-store:hover{background:#1C1D20}
.bs-ic{width:26px;height:26px;flex:none}
.bs-ic-apple{fill:none;stroke:#FFFFFF;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.bs-t{display:flex;flex-direction:column;line-height:1.15;text-align:left}
.bs-t i{font-style:normal;font-size:9px;letter-spacing:.09em;text-transform:uppercase;opacity:.75}
.bs-t b{font-weight:600;font-size:15px}
.phones{display:flex;gap:22px;justify-content:center;align-items:flex-start}
.phone{display:block;width:200px;aspect-ratio:9/19;border:1px solid var(--texto);border-radius:30px;padding:9px;background:var(--branco)}
.phone.js-gal{cursor:pointer}
.phone:last-child{margin-top:44px}
.phone img{width:100%;height:100%;object-fit:cover;border-radius:22px;display:block}
.phone .ph{height:100%;border-radius:22px;min-height:0}
.phone .ph-chip{font-size:9.5px;padding:6px 10px}

/* placeholders (imagens ainda por colocar) */
.ph{position:relative;display:flex;align-items:center;justify-content:center;border:1px dashed color-mix(in srgb, var(--cor) 50%, transparent);border-radius:var(--r);background:repeating-linear-gradient(45deg,rgba(127,127,127,.06) 0 14px,transparent 14px 28px);min-height:220px}
.ph-chip{background:rgba(12,13,16,.85);color:var(--texto-inv);border:1px solid color-mix(in srgb, var(--cor) 50%, transparent);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:7px 14px;text-align:center;line-height:1.5;max-width:88%}

/* números */
.numbers{background:var(--escuro);color:var(--texto-inv)}
.num-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}
.num b{font-size:clamp(28px,3.4vw,44px);font-weight:600;letter-spacing:.01em}
.num span{display:block;margin-top:6px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--texto-inv-2)}
.num-note{text-align:center;margin-top:34px;font-size:12.5px;color:var(--texto-inv-2)}

/* testemunhos */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.testi{border:1px solid var(--linha);border-radius:var(--r);padding:26px;background:var(--branco);display:flex;flex-direction:column;gap:16px}
.testi q{quotes:'«' '»';font-size:14.5px;line-height:1.6}
.testi-who{display:flex;align-items:center;gap:10px;margin-top:auto}
.av{position:relative;width:44px;height:44px;border-radius:999px;background:var(--cor-tinta);border:1px solid color-mix(in srgb, var(--cor) 40%, transparent);flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden}
.av i{font-style:normal;color:var(--cor);font-weight:600;font-size:15px}
.av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.av-logo{background:#FFFFFF;border-color:var(--linha)}
.testi-nome{min-width:0}
.testi-nome b{display:block;font-size:13.5px;font-weight:600;line-height:1.3}
.testi-nome span{font-size:12px;color:var(--texto-2)}

/* secção exclusiva da marca */
.extra-sec{background:var(--suave);border-top:1px solid var(--linha)}
.extra-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.extra-copy h2{font-size:clamp(24px,3vw,34px);font-weight:600;letter-spacing:.02em;text-transform:uppercase;line-height:1.15}
.extra-copy>p{margin-top:14px;color:var(--texto-2);font-size:15.5px}
.extra-media img{width:100%;border-radius:var(--r);display:block;aspect-ratio:3/2;object-fit:cover}
.extra-cta{margin-top:28px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.extra-cta .ic{width:15px;height:15px}
.extra-nota{font-size:12.5px;color:var(--texto-2)}
.extra-grid .ph{min-height:0;aspect-ratio:3/2}

/* o teu website (integrações ou site novo) */
.wsite{background:var(--branco);border-top:1px solid var(--linha)}
.wsite-topo{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.wsite-sub{margin-top:14px;font-size:16.5px;color:var(--texto-2);max-width:54ch}
.wsite-sub b{font-weight:600;color:var(--texto)}
.wsite-ops{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.wsite-op{border:1px solid var(--linha);border-radius:var(--r);padding:20px}
.wsite-op-on{border-color:color-mix(in srgb, var(--cor) 45%, transparent);background:var(--cor-tinta)}
.wsite-op h3{font-size:13px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.wsite-op p{margin-top:8px;font-size:13.8px;color:var(--texto-2);line-height:1.55}
.wsite-img img{width:100%;border-radius:var(--r);display:block;aspect-ratio:3/2;object-fit:cover}
.wsite-img .ph{aspect-ratio:3/2;min-height:0}
.wsite-lista{margin-top:44px;padding-top:32px;border-top:1px solid var(--linha)}
.wsite-lista-tit{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--texto-2);margin-bottom:18px}
.wsite-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:13px 26px;margin-top:0}
.wsite-casa{display:flex;gap:18px;align-items:flex-start;margin-top:36px;border:1px solid color-mix(in srgb, var(--cor) 40%, transparent);background:var(--cor-tinta);border-radius:var(--r);padding:26px}
.wsite-casa .ic{width:26px;height:26px;color:var(--cor);flex:none;margin-top:2px}
.wsite-casa h3{font-size:14px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.wsite-casa p{margin-top:10px;font-size:14.5px;color:var(--texto-2);line-height:1.65;max-width:78ch}
.wsite-casa .btn{margin-top:20px}
.wsite-casa .btn .ic{width:18px;height:18px;color:inherit;margin-top:0}

/* migração ("já usas outro software?") */
.migra{background:var(--suave);border-top:1px solid var(--linha)}
.migra-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.migra-sub{margin-top:14px;color:var(--texto-2);font-size:15.5px;max-width:56ch}
.migra-cta{margin-top:26px}
.migra-cta .ic{width:18px;height:18px}
.migra-list{margin-top:0}

/* segurança e RGPD */
.seg{background:var(--branco)}
.seg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.seg-item{display:flex;gap:13px;align-items:flex-start;border:1px solid var(--linha);border-radius:var(--r);padding:20px;font-size:14px;color:var(--texto-2);line-height:1.5}
.seg-item .ic{width:20px;height:20px;color:var(--cor);flex:none;margin-top:1px}

/* perguntas frequentes */
.faq-list{display:flex;flex-direction:column;gap:10px;max-width:820px;margin:0 auto}
.faq-item{border:1px solid var(--linha);border-radius:var(--r);background:var(--branco);overflow:hidden}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:15px;font-weight:600;line-height:1.4}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .ic{width:16px;height:16px;color:var(--cor);flex:none;transform:rotate(90deg);transition:transform .2s}
.faq-item[open] summary .ic{transform:rotate(-90deg)}
.faq-item[open]{border-color:color-mix(in srgb, var(--cor) 45%, transparent)}
.faq-item p{padding:0 22px 20px;font-size:14.5px;color:var(--texto-2);line-height:1.65;max-width:70ch}

/* barra fixa no telemóvel */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:65;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(12,13,16,.96);border-top:1px solid var(--linha-inv);display:none;transform:translateY(100%);transition:transform .25s}
.sticky-cta.on{transform:none}
.sticky-cta .btn{width:100%;padding:14px 20px}

/* cta final */
.cta-final{border-top:1px solid var(--linha);background:linear-gradient(0deg,var(--cor-tinta),var(--cor-tinta)),var(--branco)}
.cta-final .sec{text-align:center;padding:72px 22px}
.cta-final h2{font-size:clamp(26px,3.4vw,40px);font-weight:600;letter-spacing:.02em;text-transform:uppercase;line-height:1.15;max-width:22ch;margin:0 auto}
.cta-final p{margin:16px auto 0;color:var(--texto-2);max-width:56ch;font-size:15.5px}
.cta-final .btn{margin-top:28px}
.cta-mini{margin-top:13px;font-size:12.5px;color:var(--texto-2)}

/* contacto */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:960px;margin:0 auto}
.c-card{border:1px solid var(--linha);border-radius:var(--r);padding:28px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.c-card .fi{border-radius:999px;margin-bottom:0}
.fi-wa{background:rgba(37,211,102,.12);color:#149648}
.c-card h3{font-size:13.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.c-card p{font-size:13.5px;color:var(--texto-2)}
.c-card .btn{margin-top:6px;padding:10px 20px}
.c-tel{font-size:12px}
.soon{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--linha);border-radius:999px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--texto-2);padding:5px 12px;margin-top:6px}
.soon i{width:7px;height:7px;border-radius:999px;background:var(--cor)}

/* modalidades / soluções */
.mod-intro{font-size:16px;max-width:64ch;margin:0 auto 28px;text-align:center}
.mod-pontos{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;max-width:860px;margin:0 auto}
/* banner da modalidade: faixa panorâmica, para não roubar altura */
.mod-banner{max-width:1180px;margin:0 auto;padding:0 22px}
.mod-banner img{width:100%;display:block;aspect-ratio:3/1;object-fit:cover;object-position:center;border-radius:0 0 var(--r) var(--r)}
.mod-ph{aspect-ratio:3/1;min-height:0;border-radius:0 0 var(--r) var(--r);border-top:none}
.mod-testi{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:44px}
.mod-outras-wrap{margin-top:40px;text-align:center}
.mod-outras-tit{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--texto-2);margin-bottom:12px}
.mod-outras{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.mod-outras a{border:1px solid var(--linha);border-radius:999px;padding:6px 14px;font-size:12.5px;color:var(--texto-2);transition:border-color .18s,color .18s}
.mod-outras a:hover{border-color:var(--cor);color:var(--texto)}
.mod-mais-sub{color:var(--texto-2);font-size:15px;margin-top:12px}

/* legal */
.legal-body{max-width:760px;margin:0 auto;font-size:14.5px;line-height:1.75}
.legal-body h2{font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:36px 0 12px}
.legal-body h3{font-size:13.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin:26px 0 10px;color:var(--texto-2)}
.legal-body p{margin:0 0 14px}
.legal-body ul,.legal-body ol{margin:0 0 14px;padding-left:22px}
.legal-body li{margin-bottom:6px}
.legal-body a{color:var(--cor)}
.legal-body strong{font-weight:600}

/* cancelar demo */
.cancel-card{border:1px solid var(--linha);border-radius:var(--r);padding:28px;max-width:560px;margin:0 auto}
.cancel-dados{display:flex;flex-direction:column;gap:8px;margin:18px 0 22px;font-size:14px}
.cancel-dados div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--linha);padding-bottom:8px}
.cancel-dados span{color:var(--texto-2);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.cancel-dados b{font-weight:600;text-align:right}
.cancel-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.cancel-ok{padding:30px 0}

/* ---------- footer ---------- */
footer{background:var(--escuro);color:var(--texto-inv-2)}
.foot-in{max-width:1180px;margin:0 auto;padding:60px 22px 28px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr .9fr;gap:30px}
.foot-brand .wordmark{font-size:24px;color:var(--texto-inv)}
.foot-brand p{margin-top:14px;font-size:13.5px;max-width:32ch}
.foot-since{font-size:12px !important;margin-top:8px !important}
/* outras marcas da casa (venda cruzada no rodapé) */
.fam{margin-top:28px}
.fam h4{margin-bottom:12px}
.fam-list{display:flex;flex-direction:column;gap:8px;max-width:290px}
.fam-item{display:flex;align-items:center;gap:10px;border:1px solid var(--linha-inv);border-radius:12px;padding:11px 14px;transition:border-color .18s,background .18s}
.fam-item:hover{border-color:var(--c);background:rgba(255,255,255,.04)}
.fam-wm{display:inline-flex;align-items:baseline;gap:1px;font-size:14px;line-height:1;color:var(--texto-inv);flex:none}
.fam-item:hover .wm-suf{color:var(--c)}
.fam-tag{font-size:11.5px;color:var(--texto-inv-2);line-height:1.3;flex:1;min-width:0}
.fam-item .ic{width:14px;height:14px;color:var(--c);flex:none;opacity:0;transform:translateX(-4px);transition:opacity .18s,transform .18s}
.fam-item:hover .ic{opacity:1;transform:none}
.foot h4{color:var(--texto-inv);font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:15px}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:9px;font-size:13.5px}
.foot ul a:hover{color:var(--texto-inv)}
.foot-bottom{display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-top:48px;padding-top:22px;border-top:1px solid var(--linha-inv);font-size:12px}

/* whatsapp flutuante */
.wa-fab{position:fixed;right:18px;bottom:18px;z-index:70;width:54px;height:54px;border-radius:999px;background:var(--wa);color:#0B2313;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.15)}
.wa-fab .ic{width:26px;height:26px}

/* cookies */
.cookies{position:fixed;left:14px;bottom:14px;z-index:75;max-width:340px;background:var(--branco);border:1px solid var(--linha);border-radius:var(--r);padding:18px}
.cookies h4{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.cookies p{font-size:12.5px;color:var(--texto-2);margin-top:8px}
.cookies p a{color:var(--cor)}
.cookies-btns{display:flex;gap:8px;margin-top:14px}
.cookies .btn{padding:8px 16px;font-size:11px}

/* ---------- modal demo ---------- */
.overlay{position:fixed;inset:0;z-index:100;background:rgba(8,9,11,.74);display:flex;align-items:flex-start;justify-content:center;padding:34px 16px;overflow:auto}
.overlay[hidden]{display:none}
.modal{background:var(--branco);border-radius:20px;max-width:600px;width:100%;border:1px solid var(--linha)}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 26px;border-bottom:1px solid var(--linha)}
.modal-head h3{font-size:14.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.modal-close{background:none;border:1px solid var(--linha);border-radius:999px;width:34px;height:34px;cursor:pointer;color:var(--texto-2);display:flex;align-items:center;justify-content:center}
.modal-close .ic{width:16px;height:16px}
.steps{display:flex;gap:8px;padding:16px 26px 0}
.step{flex:1;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--texto-2);border-top:2px solid var(--linha);padding-top:8px}
.step.on{color:var(--cor);border-top-color:var(--cor);font-weight:600}
.modal-body{padding:18px 26px 24px}
.offer{display:flex;align-items:center;gap:9px;background:var(--cor-tinta);border:1px solid color-mix(in srgb, var(--cor) 45%, transparent);border-radius:12px;padding:10px 14px;font-size:12.5px;margin-bottom:14px}
.offer .ic{width:17px;height:17px;color:var(--cor)}
.offer b{font-weight:600}
.fld{margin-bottom:13px}
.fld label{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--texto-2);margin-bottom:6px}
.fld input,.fld select,.fld textarea{width:100%;border:1px solid var(--linha);border-radius:12px;padding:11px 14px;font-size:14px;font-family:inherit;background:var(--branco);color:var(--texto)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--cor)}
.fld-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fld-tel{display:flex;gap:8px}
.fld-tel select{width:120px;flex:none}
.honey{position:absolute;left:-5000px;top:-5000px;width:1px;height:1px;opacity:0;pointer-events:none}
.tz{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--texto-2);background:var(--suave);border:1px solid var(--linha);border-radius:12px;padding:10px 14px;margin-bottom:14px}
.tz .ic{width:17px;height:17px;color:var(--cor)}
.tz b{font-weight:600;color:var(--texto)}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:13px;scrollbar-width:none}
.days::-webkit-scrollbar{display:none}
.day{flex:none;border:1px solid var(--linha);border-radius:12px;padding:9px 0;width:64px;text-align:center;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--texto-2);cursor:pointer;background:none;font-family:inherit}
.day b{display:block;font-size:16px;font-weight:600;color:var(--texto)}
.day.on{border-color:var(--cor);background:var(--cor-tinta);color:var(--texto)}
.day[disabled]{opacity:.35;cursor:default}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.slot{border:1px solid var(--linha);border-radius:999px;padding:9px 0;text-align:center;font-size:13px;cursor:pointer;background:none;font-family:inherit;color:var(--texto)}
.slot.on{background:var(--cor);border-color:var(--cor);color:var(--cor-ink);font-weight:600}
.modal-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:0 26px 24px}
.modal-note{font-size:11.5px;color:var(--texto-2);max-width:30ch}
.modal-note a{color:var(--cor)}
.modal-btns{display:flex;gap:10px}
.modal-btns-c{justify-content:center;margin-top:18px}
.form-msg{margin-top:12px;font-size:13px;color:var(--erro);border:1px solid rgba(198,70,50,.4);background:rgba(198,70,50,.06);border-radius:10px;padding:10px 14px}
.demo-ok{padding:34px 26px}
.ok-ic{width:64px;height:64px;border-radius:999px;background:var(--cor-tinta);border:1px solid color-mix(in srgb, var(--cor) 50%, transparent);color:var(--cor);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.ok-ic .ic{width:30px;height:30px;stroke-width:2.2}
.demo-ok p{margin-top:10px;font-size:14.5px}

/* ---------- galeria de screenshots (lightbox) ---------- */
.gal-ov{position:fixed;inset:0;z-index:120;background:rgba(8,9,11,.93);display:flex;align-items:center;justify-content:center}
.gal-img{max-height:82vh;max-width:86vw;border-radius:18px;border:1px solid var(--linha-inv);display:block}
.gal-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:999px;border:1px solid var(--linha-inv);background:none;color:var(--texto-inv);cursor:pointer;display:flex;align-items:center;justify-content:center}
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:999px;border:1px solid var(--linha-inv);background:rgba(12,13,16,.6);color:var(--texto-inv);cursor:pointer;display:flex;align-items:center;justify-content:center}
.gal-prev{left:16px}
.gal-prev .ic{transform:rotate(180deg)}
.gal-next{right:16px}
.gal-nav .ic,.gal-close .ic{width:18px;height:18px}
.gal-dots{position:absolute;bottom:20px;left:0;right:0;display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:0 20px}
.gal-dot{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.35);border:none;cursor:pointer;padding:0;transition:width .18s,background .18s}
.gal-dot.on{width:22px;background:var(--cor)}

/* ---------- responsivo ---------- */
@media (max-width:1020px){
	.feat-grid{grid-template-columns:1fr 1fr}
	.num-grid{grid-template-columns:1fr 1fr;gap:32px}
	.app-grid,.extra-grid,.lider-2col,.migra-grid,.wsite-topo{grid-template-columns:1fr;gap:40px}
	.auto-passos,.seg-grid,.wsite-cols{grid-template-columns:1fr 1fr}
	.foot-grid{grid-template-columns:1fr 1fr}
	.func-grid{grid-template-columns:1fr}
}
@media (max-width:820px){
	.nav-links,.nav .lang,.nav .btn{display:none}
	.burger{display:block}
	.testi-grid,.contact-grid,.auto-passos,.seg-grid,.mod-testi,.wsite-cols,.wsite-ops{grid-template-columns:1fr}
	.sticky-cta{display:block}
	.wa-fab{bottom:82px}
	.cookies{bottom:150px}
	.mod-banner{padding:0}
	.mod-banner img,.mod-ph{aspect-ratio:2/1;border-radius:0}
	.hero-in{padding:64px 22px 54px;min-height:0}
	.sec{padding:60px 20px}
	.mod-pontos{grid-template-columns:1fr}
}
@media (max-width:560px){
	.feat-grid{grid-template-columns:1fr}
	.phones{gap:14px}
	.phone{width:44%}
	.slots{grid-template-columns:repeat(3,1fr)}
	.fld-row{grid-template-columns:1fr}
	.cookies{left:12px;right:12px;max-width:none;bottom:80px}
	.trust{gap:18px}
	.gal-img{max-height:74vh}
	.gal-dots{bottom:14px;gap:6px}
	.gal-nav{width:36px;height:36px}
	.gal-prev{left:8px}
	.gal-next{right:8px}
	.lt{min-width:0;flex:1 1 100%;padding:16px 20px}
	.lt b{font-size:30px}
	.modal-foot{flex-direction:column;align-items:stretch}
	.modal-btns{justify-content:stretch}
	.modal-btns .btn{flex:1}
}
