:root{
  --alu:#E7E9EB; --ink:#1D2428; --ink2:#262E33; --off:#F2F0EC; --red:#FF3300; --white:#fff;
  --steel:#6B757C; --rule:rgba(29,36,40,.14);
  --g:'Host Grotesk',system-ui,sans-serif; --u:'Urbanist','Host Grotesk',sans-serif;
  --gut:clamp(16px,3.6vw,56px);
  --ease:cubic-bezier(.7,0,.2,1); --out:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--g);font-size:17px;line-height:1.55;color:var(--ink);background:var(--alu);-webkit-font-smoothing:antialiased;font-kerning:normal;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.tnum{font-feature-settings:"tnum"}

/* grade de 12 colunas visível no fundo das áreas claras */
.sheet{position:relative}
.sheet::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc((100% - 2*var(--gut))/12 - 1px),var(--rule) calc((100% - 2*var(--gut))/12 - 1px),var(--rule) calc((100% - 2*var(--gut))/12));
  background-position:var(--gut) 0;background-size:calc(100% - 2*var(--gut)) 100%;background-repeat:no-repeat;opacity:.55}
.sheet>*{position:relative;z-index:1}
.pad{padding-left:var(--gut);padding-right:var(--gut)}

/* tipografia */
.giant{font-family:var(--u);font-weight:850;letter-spacing:-.07em;line-height:.8}
.title{font-family:var(--g);font-weight:560;letter-spacing:-.05em;line-height:.9;font-size:clamp(44px,6.6vw,112px)}
.title2{font-family:var(--g);font-weight:560;letter-spacing:-.04em;line-height:.95;font-size:clamp(34px,4.2vw,68px)}
.lede{font-size:clamp(17px,1.35vw,20px);line-height:1.5;color:#3A4348;max-width:33em}
.meta{font-size:14px;color:var(--steel)}
.btn{display:inline-flex;align-items:center;gap:12px;height:54px;padding:0 24px;font-weight:550;font-size:16px;border-radius:2px;transition:background .3s,color .3s}
.btn svg{width:18px;height:18px;transition:transform .45s var(--out)}
.btn:hover svg{transform:translateX(4px)}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:#DD2C00}
.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:#000}
.btn-line{box-shadow:inset 0 0 0 1px currentColor}.btn-line:hover{background:var(--ink);color:#fff;box-shadow:none}

/* cota (dimensão) */
.cota{position:absolute;color:var(--red);font-size:12px;font-weight:500;pointer-events:none}
.cota.h{height:12px;border-left:1px solid;border-right:1px solid}
.cota.h::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid}
.cota.v{width:12px;border-top:1px solid;border-bottom:1px solid}
.cota.v::before{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:1px solid}
.cota b{position:absolute;font-weight:500;background:var(--alu);padding:0 8px;white-space:nowrap}
.cota.h b{left:50%;top:-3px;transform:translateX(-50%)}
.cota.v b{top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg)}

/* ---------- header ---------- */
.top{position:fixed;inset:0 0 auto;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:20px var(--gut);color:var(--off);transition:color .4s}
.top .logo img{height:26px;width:auto}
.top nav{display:flex;gap:28px;font-size:15px;font-weight:450}
.top nav a{opacity:.82;transition:opacity .2s,color .2s}
.top nav a:hover{opacity:1;color:var(--red)}
.top .right{justify-self:end;display:flex;gap:18px;align-items:center;font-size:15px;font-weight:500}
.top .right .btn{height:42px;padding:0 18px;font-size:14px}
body.light .top{color:var(--ink)}
body.solid .top{background:rgba(231,233,235,.84);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);padding-top:12px;padding-bottom:12px}
.menu{display:none;font-weight:600}

/* ================= ABERTURA ================= */
#intro{height:270vh;position:relative}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--ink);--fg:#F2F0EC;--fg2:#AEB6BB;--ln:#3A4449}
.stage .lightbg{position:absolute;inset:0;background:var(--alu);opacity:0;will-change:opacity}
.center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 var(--gut) 12vh}
.center .pre{font-size:clamp(19px,1.9vw,30px);font-weight:400;letter-spacing:-.025em;color:var(--fg2)}
.center .word{white-space:nowrap;margin-top:1vh;color:var(--fg)}
.center .slot{display:inline-block;overflow:hidden;vertical-align:top;height:1.06em;line-height:.86}
.center .slot span{display:block;background-size:cover;background-position:center 40%;-webkit-background-clip:text;background-clip:text;color:transparent}
.center .slot span[data-w="peça"]{background-image:url(../img/multiaxis.jpg);background-position:center 45%}
.center .slot span[data-w="obra"]{background-image:url(../img/casa-render.jpg);background-position:center 60%}
.center .slot span[data-w="venda"],.center .slot span[data-w="resultado"]{background-image:none;color:var(--fg)}
.center .dot{color:var(--red)}
.center .after{display:grid;grid-template-rows:0fr;opacity:0;max-width:980px;width:100%}
.center .after>div{min-height:0;overflow:hidden}
.center .after p{font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:#4A5358;padding-top:22px}
.center .after .sol-cap{font-size:13.5px;color:var(--steel);padding-top:30px;line-height:1.4}
.sol-row{list-style:none;display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;gap:clamp(22px,2.6vw,44px);padding-top:18px}
.sol-row li{opacity:0;will-change:transform,opacity}
.sol-row li img{height:var(--h,22px);width:auto;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.sol-row li:hover img{transform:translateY(-2px)}
.center .after .ctas{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:40px;padding-bottom:4px}
.center .hint{margin-top:3vh;font-size:14px;color:var(--fg2)}
.fronts{position:absolute;left:var(--gut);right:var(--gut);bottom:5vh;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;font-size:15px;color:var(--fg2)}
.fronts a{border-top:1px solid var(--ln);padding-top:14px;transition:border-color .5s}
.fronts b{display:block;color:var(--fg);font-weight:550;font-size:17px;margin-bottom:2px;transition:color .5s}
.fronts .on{border-color:var(--red)}
.fronts .on b{color:var(--red)}
.fronts a:hover b{color:var(--red)}

/* lettering de seção: minúsculas, Urbanist, ponto vermelho — mesmo sistema do logo e de "resultado." */
.lettering{font-family:var(--u);font-weight:850;letter-spacing:-.065em;line-height:.8;font-size:clamp(72px,10vw,168px);white-space:nowrap}
.lettering i{font-style:normal;color:var(--red)}
.lh{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end;border-top:1px solid currentColor;border-color:var(--rule);padding-top:28px;margin-bottom:clamp(56px,6vw,88px)}
.lh .lettering{grid-column:1/8}
.lh p{grid-column:9/13;font-size:17px;line-height:1.6;color:#4A5358;max-width:30em;padding-bottom:10px}

/* ================= SISTEMA DAS SEÇÕES ================= */
/* escala: 13 · 15 · 17 · 21 · 34 · 64  — grid de 12 colunas, calha 24 */
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.sec{padding-top:clamp(96px,10vw,160px);padding-bottom:clamp(96px,10vw,160px)}
.sh{border-top:1px solid var(--ink);padding-top:28px;margin-bottom:clamp(56px,6vw,96px);align-items:end}
.sh h2{grid-column:1/8;font-size:clamp(38px,4.4vw,64px);font-weight:500;letter-spacing:-.04em;line-height:1;text-wrap:balance}
.sh p{grid-column:9/13;font-size:17px;line-height:1.6;color:#4A5358;max-width:30em}
.h3{font-size:clamp(26px,2.2vw,34px);font-weight:500;letter-spacing:-.03em;line-height:1.08;text-wrap:balance}
.body{font-size:17px;line-height:1.6;color:#4A5358}
.cap{font-size:13px;color:var(--steel);line-height:1.4}
.tlink{display:inline-flex;align-items:center;gap:10px;font-weight:500;font-size:16px;padding-bottom:6px;border-bottom:1px solid currentColor;transition:gap .4s var(--out),color .3s}
.tlink svg{width:16px;height:16px}
.tlink:hover{gap:16px;color:var(--red)}

/* ---------- frentes ---------- */
.fr{row-gap:40px;align-items:center}
.fr+.fr{margin-top:clamp(96px,10vw,150px)}
.fr figure{grid-column:1/8;position:relative}
.fr .txt{grid-column:9/13}
.fr.rev figure{grid-column:6/13;grid-row:1}
.fr.rev .txt{grid-column:1/5;grid-row:1}
.fr .ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--ink)}
.fr .ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.6s var(--out)}
.fr:hover .ph img{transform:scale(1)}
.fr figcaption{display:flex;justify-content:space-between;margin-top:12px}
/* marcas de corte nos cantos */
.fr .ph::before,.fr .ph::after{content:"";position:absolute;width:18px;height:18px;z-index:2;border-color:#fff;border-style:solid;opacity:.9}
.fr .ph::before{left:14px;top:14px;border-width:1px 0 0 1px}
.fr .ph::after{right:14px;bottom:14px;border-width:0 1px 1px 0}
.fr .lock{height:38px;width:auto;margin-bottom:36px}
.fr .h3{margin-bottom:16px}
.fr .spec{margin:28px 0 32px;border-top:1px solid var(--ink)}
.fr .spec div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:15px}
.fr .spec dt{font-weight:500}
.fr .spec dd{color:var(--steel);text-align:right}
.fr .ph.red{background:var(--red);display:grid;place-items:center}
.fr .ph.red img{width:52%;height:auto;object-fit:contain;transform:none}
.fr .ph.red .chat{position:absolute;left:8%;bottom:9%;display:flex;flex-direction:column;gap:8px;width:46%}
.fr .ph.red .chat span{background:#fff;color:var(--ink);font-size:13px;padding:9px 13px;border-radius:13px 13px 13px 3px;align-self:flex-start}
.fr .ph.red .chat span.t{background:var(--ink);color:#fff;border-radius:13px 13px 3px 13px;align-self:flex-end}

.fr .ph.s360{background:var(--red);overflow:hidden}
.fr .ph.s360::before,.fr .ph.s360::after{display:none}
.fr .ph.s360 .sym{position:absolute;left:auto;right:7%;bottom:9%;width:46%;height:auto;object-fit:contain;transform:none;opacity:1}
.s360 .ui{position:absolute;background:#fff;color:var(--ink);box-shadow:0 24px 48px -20px rgba(70,15,0,.45);border-radius:10px}
.s360 .chat{left:6%;top:8%;width:50%;padding:14px 14px 12px}
.s360 .chat .h{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--steel);padding-bottom:10px;border-bottom:1px solid #EEF0F1;margin-bottom:10px;line-height:1.3}
.s360 .chat .h i{width:30px;height:30px;border-radius:50%;background:var(--alu);display:grid;place-items:center;font-style:normal;font-weight:600;font-size:11px;color:var(--ink);flex:none}
.s360 .chat .h b{display:block;font-weight:600;color:var(--ink);font-size:13px}
.s360 .chat .on{margin-left:auto;font-size:11px;color:#1F9D55}
.s360 .m{font-size:12.5px;line-height:1.4;padding:8px 11px;border-radius:12px;max-width:86%;margin-bottom:7px}
.s360 .m.c{background:#F1F2F3;border-bottom-left-radius:3px}
.s360 .m.t{background:var(--ink);color:#fff;margin-left:auto;border-bottom-right-radius:3px}
.s360 .ai{font-size:11px;color:var(--red);font-weight:600;margin-top:4px}
.s360 .funnel{left:6%;right:auto;bottom:9%;width:44%;padding:14px;background:var(--ink);color:#fff}
.s360 .funnel .h2{display:flex;justify-content:space-between;font-size:12px;color:#8C979D;margin-bottom:12px}
.s360 .funnel .h2 b{color:#fff;font-weight:600;font-size:13px}
.s360 .funnel .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.s360 .funnel small{display:block;font-size:10.5px;color:#8C979D;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s360 .funnel .cols b{display:block;font-size:22px;font-weight:500;letter-spacing:-.03em;margin:2px 0 8px}
.s360 .funnel .cols i{display:block;height:4px;background:#3A4449;position:relative;border-radius:2px;overflow:hidden}
.s360 .funnel .cols i::after{content:"";position:absolute;inset:0;width:calc(var(--v)*100%);background:#C9CED2}
.s360 .funnel .cols i.r::after{background:var(--red)}
/* ---------- serviços ---------- */
.services{background:var(--alu)}
.svc-feat{grid-column:1/6;align-self:start}
.svc-feat .tag{display:inline-block;font-size:13px;font-weight:600;color:#fff;background:var(--red);padding:5px 10px;margin-bottom:22px}
.svc-feat h3{font-size:clamp(30px,2.8vw,42px);font-weight:500;letter-spacing:-.035em;line-height:1.02;margin-bottom:18px}
.svc-feat p{font-size:17px;line-height:1.6;color:#4A5358}
.svc-feat dl{margin:28px 0 34px;border-top:1px solid var(--ink)}
.svc-feat dl div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--rule);font-size:15px}
.svc-feat dt{color:var(--steel)}
.svc-feat dd{font-weight:500}
.svc-post{grid-column:7/13}
.svc-post .hint{font-size:14px;color:var(--steel);margin-bottom:12px}
.svc-more{display:grid;grid-template-columns:repeat(3,1fr);column-gap:24px;margin-top:clamp(72px,7vw,110px)}
.svc-more .s{border-top:1px solid var(--ink);padding-top:20px}
.svc-more h3{font-size:21px;font-weight:500;letter-spacing:-.015em;margin-bottom:8px}
.svc-more p{font-size:15.5px;line-height:1.6;color:#4A5358}
.svc-more .tlink{margin-top:16px}
.post{background:var(--ink);color:#E9ECEE}
.post .bar{display:flex;flex-wrap:wrap;border-bottom:1px solid #333C41}
.post .bar button{padding:14px 18px;font-size:14px;color:#9AA3AA;font-weight:500;border-right:1px solid #333C41}
.post .bar button:hover{color:#fff}
.post .bar button[aria-pressed="true"]{color:#fff;background:var(--red)}
.post pre{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:14px;line-height:1.8;padding:24px 26px;min-height:360px;white-space:pre-wrap}
.post pre .c{color:#7E8A91}.post pre .k{color:#FF8A66}
.post .foot{display:flex;justify-content:space-between;padding:12px 26px;border-top:1px solid #333C41;font-size:13px;color:#8C979D}
.caret{display:inline-block;width:8px;height:1.1em;background:var(--red);vertical-align:-.2em;animation:bl 1s steps(1) infinite}
@keyframes bl{50%{opacity:0}}

/* ---------- treinamentos ---------- */
.train{background:var(--off)}
.tabs{display:flex;gap:36px;border-bottom:1px solid var(--ink)}
.tabs button{font-size:clamp(22px,2vw,28px);font-weight:500;letter-spacing:-.025em;padding:0 0 16px;color:#9AA0A3;position:relative;transition:color .3s}
.tabs button sup{font-size:12px;font-weight:500;letter-spacing:0;margin-left:5px;vertical-align:10px;color:inherit;font-feature-settings:"tnum"}
.tabs button .soon{color:var(--red)}
.tabs button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--out)}
.tabs button[aria-selected="true"]{color:var(--ink)}
.tabs button[aria-selected="true"]::after{transform:scaleX(1)}
.panel{display:none;padding-top:44px}
.panel.on{display:grid;animation:pi .7s var(--out)}
@keyframes pi{from{opacity:0;transform:translateY(10px)}}
.panel .p-about{grid-column:1/4}
.panel .p-about p{font-size:15.5px;line-height:1.6;color:#4A5358;margin-bottom:24px}
.panel .tbl{grid-column:5/13}
.row{display:grid;grid-template-columns:minmax(0,1fr) 130px 70px;gap:16px;padding:18px 0;border-bottom:1px solid #D9D6CF;align-items:baseline}
.row.hd{font-size:13px;color:var(--steel);padding-top:0;border-bottom-color:var(--ink)}
.row b{font-size:17px;font-weight:500;letter-spacing:-.01em}
.row small{display:block;color:var(--steel);font-size:14px;margin-top:3px}
.row .mode{font-size:14px;color:var(--steel)}
.row .h{text-align:right;font-weight:500;font-feature-settings:"tnum"}
.row .free{color:var(--red)}
.tag-new{font-size:11px;font-weight:600;color:#fff;background:var(--red);padding:2px 7px;margin-left:10px;vertical-align:2px;letter-spacing:.01em}
.chk{font-size:11px;font-weight:700;background:#FFE27A;padding:2px 6px;margin-left:8px;vertical-align:2px}
.notify{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.notify input{flex:1;min-width:220px;height:54px;padding:0 16px;border:1px solid var(--ink);background:transparent;font:inherit}

/* ---------- faixa de soluções ---------- */
.sol{background:var(--white);border-bottom:1px solid var(--rule);padding-top:40px;padding-bottom:40px}
.sol .in{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);column-gap:24px;align-items:center}
.sol p{font-size:15px;line-height:1.45;color:var(--steel);max-width:16em}
.sol ul{list-style:none;display:grid;grid-template-columns:repeat(6,1fr)}
.sol li{display:flex;justify-content:center;align-items:center;height:64px;border-left:1px solid var(--rule);padding:0 20px}
.sol li img{max-height:26px;max-width:100%;width:auto;filter:grayscale(1) brightness(.35);opacity:.85;transition:filter .4s,opacity .4s}
.sol li:hover img{filter:none;opacity:1}

/* ---------- case (autoridade Mastercam) ---------- */
.case{position:relative;background:var(--ink);color:var(--off);overflow:hidden;isolation:isolate}
.case-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.5)}
.case-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,26,29,.97) 0%,rgba(20,26,29,.92) 50%,rgba(20,26,29,.8) 100%)}
.case-in{padding-top:clamp(72px,7vw,110px);padding-bottom:clamp(72px,7vw,110px)}
.case .lh{border-color:rgba(255,255,255,.16)}
.case .lh .lettering{color:var(--off)}
.case .lh .by{grid-column:9/13;justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:14px;padding-bottom:12px;font-size:14px;color:#8C979D;text-align:right}
.case .lh .by .row{display:flex;align-items:center;gap:18px}
.case .lh .by img{height:20px;width:auto}
.case-main{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.case-l{grid-column:1/6}
.client{display:flex;align-items:center;gap:16px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.12)}
.client .pill{height:52px;width:auto;background:#fff;border-radius:999px;padding:6px 14px}
.client b{display:block;font-weight:500;font-size:17px}
.client span{font-size:14px;color:#AEB6BB}
.case h3{font-size:clamp(28px,2.6vw,40px);font-weight:500;letter-spacing:-.035em;line-height:1.05;margin:28px 0 22px}
.case h3 .l1{color:#7E888E}
.case blockquote{font-size:17px;line-height:1.6;color:#D3D9DC;padding-left:18px;border-left:2px solid var(--red)}
.case blockquote cite{display:block;font-style:normal;font-size:14px;color:#8C979D;margin-top:10px}
.case blockquote cite b{color:var(--off);font-weight:500}
.case .ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.case .ctas .btn{background:var(--off);color:var(--ink)}
.case .ctas .btn:hover{background:#fff}
.case .ctas .btn-line{background:none;color:var(--off);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.case .ctas .btn-line:hover{background:var(--off);color:var(--ink)}
.case-r{grid-column:7/13;border-top:1px solid rgba(255,255,255,.12)}
.proofrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:baseline;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.proofrow b{font-family:var(--g);font-weight:500;letter-spacing:-.05em;line-height:.9;font-size:clamp(52px,5vw,84px);white-space:nowrap;font-feature-settings:"tnum"}
.proofrow b i{font-style:normal;color:var(--red)}
.proofrow span{font-size:15px;line-height:1.5;color:#AEB6BB}
.proofrow strong{display:block;font-weight:500;font-size:17px;color:var(--off);margin-bottom:4px}

/* ---------- clientes e depoimentos ---------- */
.proof{background:var(--white)}
.logos{display:flex;flex-wrap:wrap;justify-content:center;border-top:1px solid var(--rule)}
.logos li{list-style:none;width:20%;height:150px;display:flex;align-items:center;justify-content:center;padding:24px;border-bottom:1px solid var(--rule)}
.logos li img{max-height:58px;max-width:72%;width:auto;object-fit:contain;filter:saturate(.9);opacity:.92;transition:transform .5s var(--out),opacity .3s}
.logos li:hover img{transform:scale(1.06);opacity:1}
.logos li.wide img{max-height:30px}
.logos-note{text-align:center;font-size:13px;color:var(--steel);margin-top:18px}
.depo{margin-top:clamp(96px,10vw,150px);border-top:1px solid var(--ink);padding-top:32px;align-items:start}
.depo .score{grid-column:1/4}
.depo .score b{display:block;font-family:var(--u);font-weight:850;letter-spacing:-.06em;line-height:.85;font-size:clamp(96px,9vw,150px)}
.stars{color:var(--red);letter-spacing:3px;font-size:18px;margin:16px 0 8px}
.depo .score p{font-size:15px;color:var(--steel);line-height:1.5}
.depo .score .tlink{margin-top:24px}
.depo .main{grid-column:5/13}
.depo .feat p{font-size:clamp(24px,2.3vw,34px);letter-spacing:-.025em;line-height:1.25;text-indent:-.4em}
.depo .feat p::before{content:"“";color:var(--red)}
.depo .feat p::after{content:"”";color:var(--red)}
.who{display:flex;align-items:center;gap:12px;margin-top:20px;font-size:14px;color:var(--steel)}
.who i{width:38px;height:38px;border-radius:50%;background:var(--alu);display:grid;place-items:center;font-style:normal;font-weight:600;font-size:13px;color:var(--ink)}
.who b{display:block;color:var(--ink);font-weight:500;font-size:15px}
.depo .more{display:grid;grid-template-columns:1fr 1fr;gap:36px 28px;margin-top:56px}
.depo .more>div{border-top:1px solid var(--rule);padding-top:18px}
.depo .more p{font-size:16.5px;line-height:1.55;color:#3A4348}

/* ---------- tecc360 ---------- */
.t360{background:var(--red);color:#fff}
.t360 .g12{align-items:center}
.t360 .copy{grid-column:1/6}
.t360 .copy img{height:40px;width:auto;margin-bottom:48px}
.t360 .copy h2{font-size:clamp(38px,4.4vw,64px);font-weight:500;letter-spacing:-.04em;line-height:1;margin-bottom:22px}
.t360 .copy p{font-size:17px;line-height:1.6;color:rgba(255,255,255,.92);max-width:28em}
.t360 .copy .btn{margin-top:36px}
.phone{grid-column:8/13;background:var(--ink);padding:22px 18px;min-height:440px;display:flex;flex-direction:column;gap:10px}
.phone .hd{display:flex;gap:12px;align-items:center;border-bottom:1px solid #333C41;padding-bottom:14px;margin-bottom:6px;font-size:15px}
.phone .hd i{width:34px;height:34px;border-radius:50%;background:#384147;display:grid;place-items:center;font-style:normal;font-weight:600;font-size:13px}
.phone .hd small{display:block;color:#8C979D;font-size:12px}
.bub{max-width:84%;padding:12px 16px;border-radius:16px;font-size:15px;line-height:1.4;opacity:0;transform:translateY(12px);transition:opacity .5s,transform .6s var(--out)}
.bub.in{opacity:1;transform:none}
.bub.c{background:#fff;color:var(--ink);border-bottom-left-radius:4px}
.bub.t{align-self:flex-end;background:var(--red);color:#fff;border-bottom-right-radius:4px}
.bub.s{align-self:center;background:none;color:#8C979D;font-size:12.5px;padding:2px}

/* ---------- sobre ---------- */
.about{align-items:end}
.about figure{grid-column:1/6}
.about figure img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}
.about figure figcaption{margin-top:12px;display:flex;justify-content:space-between}
.about .txt{grid-column:7/13;padding-bottom:8px}
.about .txt h2{font-size:clamp(38px,4.4vw,64px);font-weight:500;letter-spacing:-.04em;line-height:1;margin-bottom:28px;text-wrap:balance}
.about .txt p{font-size:17.5px;line-height:1.65;color:#3A4348;max-width:34em}
.about .txt p+p{margin-top:16px}
.about .sign{display:flex;align-items:center;gap:14px;margin-top:36px;padding-top:20px;border-top:1px solid var(--ink)}
.about .sign b{display:block;font-weight:500;font-size:17px}
.about .sign span{font-size:14px;color:var(--steel)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.facts b{display:block;font-size:clamp(34px,3.2vw,48px);font-weight:500;letter-spacing:-.04em;line-height:1;font-feature-settings:"tnum";margin-bottom:8px}
.facts span{font-size:14px;color:var(--steel);line-height:1.4}

/* ---------- rodapé ---------- */
footer{background:var(--ink);color:#AEB6BB;font-size:15px}
footer .cta{padding-top:clamp(96px,10vw,150px);padding-bottom:80px;align-items:end}
footer .cta h2{grid-column:1/8;color:var(--off);font-size:clamp(38px,4.4vw,64px);font-weight:500;letter-spacing:-.04em;line-height:1;text-wrap:balance}
footer .cta .btns{grid-column:9/13;display:flex;flex-direction:column;gap:10px;align-items:stretch}
footer .cta .btn{justify-content:space-between}
footer .cta .btn-line{color:var(--off)}
footer .cta .btn-line:hover{background:var(--off);color:var(--ink)}
footer .cols{border-top:1px solid #333C41;padding-top:44px;padding-bottom:56px}
footer .cols>div{grid-column:span 3}
footer h4{color:var(--off);font-size:15px;font-weight:500;margin-bottom:12px}
footer .cols a,footer .cols span{display:block;line-height:2}
footer .cols a:hover{color:var(--off)}
footer .mark{display:block;height:40px;width:auto;margin:8px var(--gut) 0}
footer .legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:24px;padding-bottom:28px;font-size:13px;color:#7E8A91}

.draft{position:fixed;left:12px;bottom:12px;z-index:60;background:#FFE27A;color:var(--ink);font-size:12px;font-weight:600;padding:7px 11px}

@media (max-width:960px){
  .top{display:flex;justify-content:space-between}
  .top nav,.top .right .btn,.top .right a:not(.btn){display:none}
  .menu{display:block}
  .center{padding-bottom:30vh}
  .fronts{grid-template-columns:1fr;gap:10px;font-size:13px}
  .fronts b{font-size:15px}
  .sol-row{display:grid;grid-template-columns:repeat(3,auto);justify-content:center;justify-items:center;align-items:center;gap:18px 26px}
  .sol-row li{transform-origin:center}
  .sol-row li img{height:calc(var(--h,22px)*.82)}
  .center .after .sol-cap{padding-top:20px}
  .g12>*{grid-column:1/-1!important;grid-row:auto!important}
  .sol .in{grid-template-columns:1fr}
  .sol p{margin-bottom:18px}
  .sol ul{grid-template-columns:repeat(3,1fr);row-gap:8px}
  .sol li{padding:0 12px}
  .logos li{width:50%;height:110px}
  .depo .more{grid-template-columns:1fr}
  .s360 .chat{width:70%;left:5%;top:6%}
  .s360 .funnel{width:74%;right:4%;bottom:5%}
  .s360 .m{font-size:11.5px}
  .case-l,.case-r{grid-column:1/-1}
  .lh .lettering,.lh p,.case .lh .by{grid-column:1/-1;justify-self:start;align-items:flex-start;text-align:left}
  .lh p,.case .lh .by{margin-top:22px}
  .lettering{font-size:clamp(52px,15vw,96px);white-space:normal}
  .svc-feat,.svc-post{grid-column:1/-1}
  .svc-post{margin-top:48px}
  .svc-more{grid-template-columns:1fr;row-gap:32px}
  .svc-feat dl div{grid-template-columns:90px 1fr}
  .case-r{margin-top:48px}
  .proofrow{grid-template-columns:1fr;gap:8px}
  .case-top .by{flex-wrap:wrap}
  .facts{grid-template-columns:1fr 1fr 1fr}
  .depo .main{margin-top:48px}
  .sh p{margin-top:18px}
  .fr .txt{margin-top:8px}
  .bom td.n,.bom th:first-child,.bom td.f,.bom th.f{display:none}
  .bom table{table-layout:fixed;font-size:14.5px}
  .bom td.logo{width:42%}
  .bom td.logo img{max-width:100%;height:auto;max-height:22px}
  .svc-list{margin-top:56px}
  .post-head{flex-direction:column;align-items:start}
  .post-head p{text-align:left}
  .tabs{gap:22px}
  .row{grid-template-columns:minmax(0,1fr) 64px}
  .row .mode{display:none}
  .panel .tbl{margin-top:28px}
  .case .txt{margin-top:36px}
  .phone{margin-top:56px}
  .about .txt{margin-top:40px}
  .facts{grid-template-columns:1fr 1fr}
  footer .cta .btns{margin-top:32px}
  footer .cols>div{grid-column:span 6!important}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.sol-row li a{display:block;padding:6px 4px}
footer .cols{grid-template-columns:repeat(5,minmax(0,1fr))}
footer .cols>div{grid-column:auto}
@media (max-width:960px){footer .cols{grid-template-columns:1fr 1fr}footer .cols>div{grid-column:auto!important}}
.tbl .row{grid-template-columns:minmax(0,1fr) 100px 100px}
.tbl .row .h{white-space:nowrap}

/* a tecc na mídia */
.imp{display:flex;align-items:center;gap:16px clamp(24px,3vw,48px);flex-wrap:wrap;padding-top:26px;padding-bottom:26px;background:var(--off);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.imp>b{font-family:var(--u);font-weight:850;font-size:24px;letter-spacing:-.05em;line-height:1;white-space:nowrap}
.imp>b i{font-style:normal;color:var(--red)}
.imp-nomes{display:flex;flex-wrap:wrap;gap:6px clamp(16px,2vw,30px);flex:1;min-width:0}
.imp-nomes a{font-size:15px;font-weight:550;letter-spacing:-.01em;color:#3A4348;transition:color .25s}
.imp-nomes a:hover{color:var(--red)}
.imp .tlink{white-space:nowrap}

/* na mídia: seção com os prints dos portais */
.midia{background:var(--ink);color:var(--off)}
.midia .lh .lettering{color:var(--off)}
.midia .lh p{color:#AEB6BB}
.midia-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,28px);margin-top:clamp(40px,5vw,64px)}
.midia-card{display:flex;flex-direction:column;gap:16px;min-width:0;color:inherit}
.midia-card.grande{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,56px);align-items:center;margin-bottom:clamp(12px,2vw,24px)}
.midia-tela{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 30px 60px -36px rgba(0,0,0,.8);transition:transform .7s var(--out)}
.midia-card:hover .midia-tela{transform:translateY(-5px)}
.midia-barra{display:flex;align-items:center;gap:5px;height:28px;padding:0 11px;background:#E7E9EB;color:#5F696F;font-size:11.5px}
.midia-barra i{width:7px;height:7px;border-radius:50%;background:#B9BFC4}
.midia-barra span{margin-left:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.midia-print{aspect-ratio:16/10;overflow:hidden;background:#fff}
.midia-print img{width:100%;height:100%;object-fit:cover;object-position:top}
.midia-nome{display:grid;place-items:center;height:100%;color:#1D2428;font-family:var(--u);font-weight:850;font-size:30px;letter-spacing:-.04em}
.midia-txt span{display:block;margin-bottom:6px;font-size:13.5px;font-weight:600;color:var(--red)}
.midia-txt b{display:block;font-size:clamp(18px,1.5vw,22px);font-weight:500;letter-spacing:-.025em;line-height:1.2}
.midia-card.grande .midia-txt b{font-size:clamp(28px,3.2vw,48px);letter-spacing:-.04em;line-height:1.04}
.midia .tlink{margin-top:clamp(28px,3vw,40px);color:var(--off)}
@media (max-width:860px){.midia-cards{grid-template-columns:1fr}.midia-card.grande{grid-template-columns:1fr;gap:16px}}
