/* páginas internas: soluções, academy e cursos — usa os tokens de site.css */

/* menu com submenu de soluções */
.top nav .dd{position:relative}
.top nav .dd>button{font:inherit;opacity:.82;display:inline-flex;align-items:center;gap:6px}
.top nav .dd>button::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.top nav .dd:hover>button,.top nav .dd:focus-within>button{opacity:1;color:var(--red)}
.top nav .dd .menu-sol{position:absolute;left:-20px;top:100%;padding-top:14px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .25s,transform .35s var(--out),visibility .25s}
.top nav .dd:hover .menu-sol,.top nav .dd:focus-within .menu-sol{opacity:1;visibility:visible;transform:none}
.menu-sol .in{background:#fff;color:var(--ink);box-shadow:0 24px 50px -20px rgba(29,36,40,.35);display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:4px 24px;padding:22px 24px;min-width:520px}
.menu-sol h5{grid-column:span 1;font-size:12.5px;font-weight:500;color:var(--steel);margin-bottom:4px}
.menu-sol a{display:block;padding:7px 0;opacity:1!important;font-size:15px}
.menu-sol a small{display:block;color:var(--steel);font-size:13px}
.menu-sol a:hover{color:var(--red)}

/* casca das páginas internas */
body.inner{background:var(--alu)}
body.inner .top{color:var(--ink)}
.crumb{font-size:14px;color:var(--steel);display:flex;gap:8px;flex-wrap:wrap}
.crumb a:hover{color:var(--red)}
.crumb span::before{content:"/";margin-right:8px;color:#AEB6BB}

/* hero de solução */
.phero{padding-top:clamp(120px,12vw,170px);padding-bottom:clamp(64px,7vw,110px)}
.phero .g12{align-items:center;row-gap:48px}
.phero .txt{grid-column:1/7}
.phero .logo{height:var(--h,28px);width:auto;margin:36px 0 30px}
.phero h1{font-size:clamp(38px,4.6vw,72px);font-weight:500;letter-spacing:-.045em;line-height:1;text-wrap:balance}
.phero .lede{margin-top:24px;font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:#4A5358;max-width:34em}
.phero .ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px}
.phero figure{grid-column:8/13;position:relative}
.phero figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.phero figure figcaption{margin-top:12px}
.pnav{position:sticky;top:64px;z-index:20;background:rgba(231,233,235,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.pnav .in{display:flex;gap:28px;overflow-x:auto;font-size:14.5px;font-weight:500;padding-top:14px;padding-bottom:14px;white-space:nowrap}
.pnav a{color:#4A5358}
.pnav a:hover{color:var(--red)}

/* problemas que resolve */
.solves{display:grid;grid-template-columns:repeat(3,1fr);column-gap:24px}
.solves div{border-top:1px solid var(--ink);padding-top:22px}
.solves h3{font-size:22px;font-weight:500;letter-spacing:-.02em;margin-bottom:10px}
.solves p{font-size:16px;line-height:1.6;color:#4A5358}

/* módulos (acordeão) */
.mods{background:var(--white)}
.mgroup+.mgroup{margin-top:56px}
.mgroup h3{font-size:14px;font-weight:500;color:var(--steel);margin-bottom:12px}
details.mod{border-top:1px solid var(--rule)}
details.mod:last-child{border-bottom:1px solid var(--rule)}
details.mod summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,5fr) 40px;gap:24px;align-items:center;padding:22px 0}
details.mod summary::-webkit-details-marker{display:none}
details.mod summary b{font-size:clamp(22px,2vw,30px);font-weight:500;letter-spacing:-.03em}
details.mod summary span{color:var(--steel);font-size:16px}
details.mod summary i{justify-self:end;width:18px;height:18px;position:relative}
details.mod summary i::before,details.mod summary i::after{content:"";position:absolute;left:0;right:0;top:8px;border-top:1.5px solid var(--ink);transition:transform .4s var(--out)}
details.mod summary i::after{transform:rotate(90deg)}
details.mod[open] summary i::after{transform:rotate(0)}
details.mod summary:hover b{color:var(--red)}
details.mod .body{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,5fr) 40px;gap:24px;padding:0 0 30px}
details.mod .body .l{grid-column:2}
details.mod .body p{font-size:16.5px;line-height:1.6;color:#3A4348}
details.mod .body .app{margin-top:14px;font-size:15px;color:var(--steel)}
details.mod .body .app b{color:var(--ink);font-weight:500}
details.mod ul{list-style:none;margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px}
details.mod li{font-size:15px;padding-left:16px;position:relative}
details.mod li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;background:var(--red)}

/* passos, recursos, planos */
.steps3{display:grid;grid-template-columns:repeat(3,1fr);column-gap:24px;counter-reset:s}
.steps3 div{border-top:1px solid var(--ink);padding-top:20px;counter-increment:s}
.steps3 div::before{content:counter(s);display:block;font-family:var(--u);font-weight:850;font-size:64px;line-height:.9;letter-spacing:-.05em;color:var(--red);margin-bottom:16px}
.steps3 h3{font-size:21px;font-weight:500;margin-bottom:8px}
.steps3 p{color:#4A5358;font-size:16px;line-height:1.6}
.feats{display:grid;grid-template-columns:repeat(4,1fr);column-gap:24px}
.feats div{border-top:1px solid var(--ink);padding-top:20px}
.feats h3{font-size:20px;font-weight:500;margin-bottom:8px}
.feats p{color:#4A5358;font-size:15.5px;line-height:1.6}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.plan{background:var(--white);padding:28px;display:flex;flex-direction:column}
.plan.hl{background:var(--ink);color:var(--off)}
.plan h3{font-size:26px;font-weight:500;letter-spacing:-.03em}
.plan p{font-size:15.5px;line-height:1.55;color:#4A5358;margin:8px 0 18px}
.plan.hl p{color:#AEB6BB}
.plan ul{list-style:none;border-top:1px solid var(--rule);margin-top:auto}
.plan.hl ul{border-color:#333C41}
.plan li{font-size:15px;padding:10px 0;border-bottom:1px solid var(--rule)}
.plan.hl li{border-color:#333C41}
.req{margin-top:28px;font-size:15px;color:var(--steel)}

/* licença */
.lic{background:var(--ink);color:var(--off)}
.lic .g12{align-items:start}
.lic h2{grid-column:1/6;font-size:clamp(34px,3.6vw,56px);font-weight:500;letter-spacing:-.04em;line-height:1}
.lic ul{grid-column:7/13;list-style:none;border-top:1px solid #333C41}
.lic li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid #333C41;font-size:17px}
.lic li::before{content:"";flex:none;width:8px;height:8px;margin-top:.55em;background:var(--red)}
.lic .ctas{grid-column:7/13;display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.lic .btn-line{color:var(--off)}
.lic .btn-line:hover{background:var(--off);color:var(--ink)}

/* cartões de curso */
.cgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}
.ccard{display:flex;flex-direction:column}
.ccard .cv{aspect-ratio:4/3;overflow:hidden;background:var(--ink)}
.ccard .cv img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--out)}
.ccard:hover .cv img{transform:scale(1.035)}
.ccard .meta{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font-size:13.5px;color:var(--steel)}
.ccard h3{font-size:20px;font-weight:500;letter-spacing:-.015em;line-height:1.25;margin-top:6px}
.ccard:hover h3{color:var(--red)}
.ccard .tagfree{color:var(--red);font-weight:500}

/* academy */
.ahero{padding-top:clamp(120px,12vw,170px);padding-bottom:clamp(40px,4vw,64px)}
.ahero .lettering{font-size:clamp(76px,13vw,232px);margin-top:28px}
.ahero .row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;margin-top:40px;align-items:end}
.ahero .row p{grid-column:1/7;font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:#4A5358}
.ahero .stats{grid-column:8/13;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.ahero .stats div{padding-top:14px}
.ahero .stats b{display:block;font-size:clamp(30px,2.8vw,44px);font-weight:500;letter-spacing:-.04em;line-height:1;font-feature-settings:"tnum"}
.ahero .stats span{font-size:13.5px;color:var(--steel)}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}
.filters button{height:40px;padding:0 16px;border:1px solid var(--ink);font-size:14.5px;font-weight:500;transition:background .25s,color .25s}
.filters button[aria-pressed="true"]{background:var(--ink);color:#fff}
.filters button:hover{background:var(--ink);color:#fff}
.filters .soon{color:var(--red);margin-left:6px;font-size:12px}
.trackhead{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;border-top:1px solid var(--ink);padding-top:22px;margin:72px 0 32px}
.trackhead:first-of-type{margin-top:0}
.trackhead h2{font-size:clamp(28px,2.6vw,40px);font-weight:500;letter-spacing:-.035em;display:flex;align-items:center;gap:16px}
.trackhead h2 img{height:28px;width:auto}
.trackhead p{font-size:15.5px;color:#4A5358;max-width:34em}
.incomp{background:var(--ink);color:var(--off);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding:40px;margin-top:40px;align-items:center}
.incomp h3{grid-column:1/8;font-size:clamp(26px,2.4vw,36px);font-weight:500;letter-spacing:-.03em;line-height:1.1}
.incomp p{grid-column:1/8;color:#AEB6BB;margin-top:10px}
.incomp .btn{grid-column:9/13;justify-self:end;grid-row:1/3}

/* página de curso */
.course-hero{padding-top:clamp(120px,12vw,160px);padding-bottom:clamp(56px,6vw,90px)}
.course-hero .g12{row-gap:40px;align-items:start}
.course-hero .cv{grid-column:1/7}
.course-hero .cv img{width:100%;aspect-ratio:4/3;object-fit:cover}
.course-hero .txt{grid-column:8/13}
.course-hero h1{font-size:clamp(34px,3.6vw,56px);font-weight:500;letter-spacing:-.04em;line-height:1.02;margin:22px 0 18px;text-wrap:balance}
.course-hero .desc{font-size:17px;line-height:1.6;color:#4A5358}
.facts4{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ink);margin-top:28px}
.facts4 div{padding:14px 0;border-bottom:1px solid var(--rule)}
.facts4 span{display:block;font-size:13px;color:var(--steel)}
.facts4 b{font-weight:500;font-size:17px}
.course-hero .ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.lessons{counter-reset:l}
.lesson{display:grid;grid-template-columns:56px minmax(0,1fr) 80px;gap:16px;padding:16px 0;border-bottom:1px solid var(--rule);align-items:baseline;counter-increment:l}
.lesson::before{content:counter(l,decimal-leading-zero);font-feature-settings:"tnum";color:var(--steel);font-size:14px}
.lesson b{font-weight:500;font-size:16.5px}
.lesson small{display:block;color:var(--steel);font-size:14.5px;margin-top:3px;line-height:1.5}
.lesson.lock .d{opacity:.55}
.lesson .d{text-align:right;font-size:14px;color:var(--steel);font-feature-settings:"tnum"}
.player{aspect-ratio:16/9;background:var(--ink);margin-bottom:32px;display:none}
.player.on{display:block}
.player iframe{width:100%;height:100%;border:0;display:block}
.learn{list-style:none;columns:2;column-gap:24px}
.learn li{break-inside:avoid;padding:10px 0 10px 18px;position:relative;font-size:16px;border-bottom:1px solid var(--rule)}
.learn li::before{content:"";position:absolute;left:0;top:1.05em;width:6px;height:6px;background:var(--red)}
.src{font-size:14px;color:var(--steel);margin-top:18px}
.src a{text-decoration:underline;text-underline-offset:3px}

/* formulário de interesse */
.lead{background:var(--ink);color:var(--off)}
.lead .g12{align-items:start;row-gap:40px}
.lead .l{grid-column:1/6}
.lead h2{font-size:clamp(34px,3.6vw,56px);font-weight:500;letter-spacing:-.04em;line-height:1}
.lead .l p{color:#AEB6BB;margin-top:18px;font-size:17px;line-height:1.6;max-width:28em}
.lead form{grid-column:7/13;display:grid;grid-template-columns:1fr 1fr;gap:16px 16px}
.fld{display:flex;flex-direction:column;gap:7px}
.fld.full{grid-column:1/-1}
.fld label{font-size:13.5px;color:#AEB6BB}
.fld input,.fld select,.fld textarea{font:inherit;font-size:16px;color:var(--off);background:transparent;border:0;border-bottom:1px solid #4A5358;padding:10px 0;border-radius:0;outline:none;transition:border-color .3s}
.fld select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#AEB6BB 50%),linear-gradient(135deg,#AEB6BB 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.fld select option{color:var(--ink)}
.fld textarea{resize:vertical;min-height:84px}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--red)}
.lead .consent{grid-column:1/-1;font-size:13px;color:#8C979D;line-height:1.5}
.lead form .btn{grid-column:1/-1;justify-self:start;margin-top:6px}
.lead .err{grid-column:1/-1;font-size:14.5px;color:#FF8A66}
.lead .err a{text-decoration:underline}
.lead form .btn[disabled]{opacity:.6;cursor:wait}
.lead .ok{grid-column:7/13;border-top:1px solid #333C41;padding-top:24px;display:none}
.lead .ok.on{display:block}
.lead .ok h3{font-size:28px;font-weight:500;letter-spacing:-.03em}
.lead .ok p{color:#AEB6BB;margin-top:10px}


/* menu Entrar */
.top .right .dd{position:relative}
.top .right .dd>button{font:inherit;font-weight:500;display:inline-flex;align-items:center;gap:6px}
.top .right .dd>button::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.top .right .dd .menu-sol{position:absolute;right:-12px;left:auto;top:100%;padding-top:14px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .25s,transform .35s var(--out),visibility .25s}
.top .right .dd:hover .menu-sol,.top .right .dd:focus-within .menu-sol{opacity:1;visibility:visible;transform:none}
.menu-enter .in{grid-template-columns:1fr;min-width:300px}
.menu-enter a{font-size:15px;color:var(--ink)}

/* módulos com imagem */
details.mod summary{grid-template-columns:96px minmax(0,3fr) minmax(0,5fr) 40px}
details.mod summary .th{width:96px;height:64px;object-fit:cover;background:#F1F2F3}
details.mod .body{grid-template-columns:96px minmax(0,3fr) minmax(0,5fr) 40px}
details.mod .body .mimg{grid-column:2;align-self:start}
details.mod .body .mimg img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#F1F2F3}
details.mod .body .l{grid-column:3}

/* planos e preços */
.offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.offers:has(.offer:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
.offer{position:relative;background:var(--white);padding:30px 28px;display:flex;flex-direction:column}
.offer.hl{background:var(--ink);color:var(--off)}
.offer .pop{position:absolute;top:0;right:0;background:var(--red);color:#fff;font-size:12.5px;font-weight:600;padding:6px 10px}
.offer h3{font-size:26px;font-weight:500;letter-spacing:-.03em}
.offer p{font-size:15.5px;line-height:1.55;color:#4A5358;margin:8px 0 24px}
.offer.hl p{color:#AEB6BB}
.offer .price{margin-top:auto;border-top:1px solid var(--rule);padding-top:18px;margin-bottom:22px}
.offer.hl .price{border-color:#333C41}
.offer .price b{display:block;font-size:44px;font-weight:500;letter-spacing:-.04em;line-height:1;font-feature-settings:"tnum"}
.offer .price span{font-size:14px;color:var(--steel)}
.offer.hl .price span{color:#AEB6BB}
.offer .btn{align-self:flex-start}
.offer.hl .btn-line{color:var(--off)}
.cmpwrap{margin-top:72px}
.cmpt{font-size:24px;font-weight:500;letter-spacing:-.02em;margin-bottom:18px}
.cmp{width:100%;border-collapse:collapse;font-size:15.5px}
.cmp thead th{font-weight:500;font-size:20px;letter-spacing:-.02em;text-align:center;padding:0 12px 16px;border-bottom:1px solid var(--ink);width:16%}
.cmp thead th small{display:block;font-size:13.5px;color:var(--steel);font-weight:400;letter-spacing:0;margin-top:2px}
.cmp thead th:first-child{width:auto}
.cmp tbody th{text-align:left;font-weight:400;padding:14px 12px 14px 0}
.cmp td{text-align:center;padding:14px 12px}
.cmp tbody tr{border-bottom:1px solid var(--rule)}
.cmp tbody tr:hover{background:rgba(255,255,255,.55)}
.cmp td:nth-child(3){background:rgba(255,51,0,.05)}
.cmp .y,.cmp .n{display:inline-block;width:14px;height:14px;vertical-align:middle}
.cmp .y{background:var(--red);-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="M2 7.5l3.2 3L12 3.5" fill="none" stroke="black" stroke-width="2.2"/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="M2 7.5l3.2 3L12 3.5" fill="none" stroke="black" stroke-width="2.2"/></svg>') center/contain no-repeat}
.cmp .n{width:12px;height:1.5px;background:#AEB6BB}
.buybar{margin-top:48px;background:var(--ink);color:var(--off);padding:28px 32px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.buybar div{flex:1;min-width:280px}
.buybar b{display:block;font-weight:500;font-size:22px;letter-spacing:-.02em}
.buybar span{font-size:15px;color:#AEB6BB}
.buybar .btn-line{color:var(--off)}
.buybar .btn-line:hover{background:var(--off);color:var(--ink)}

/* educacional */
.edu{background:var(--warm)}
.edu .g12{align-items:start;row-gap:40px}
.edu .t{grid-column:1/6}
.edu .lettering{font-size:clamp(80px,9vw,150px)}
.edu h2{font-size:clamp(30px,3vw,44px);font-weight:500;letter-spacing:-.035em;line-height:1.05;margin:26px 0 14px}
.edu .t>p{color:#4A5358;font-size:17px;line-height:1.6}
.edu ul{list-style:none;margin-top:22px;border-top:1px solid var(--ink)}
.edu li{padding:11px 0 11px 18px;position:relative;border-bottom:1px solid #D9D6CF;font-size:15.5px}
.edu li::before{content:"";position:absolute;left:0;top:1.15em;width:6px;height:6px;background:var(--red)}
.edu .c{grid-column:7/13;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.edu-c{background:#fff;padding:22px;display:flex;flex-direction:column;gap:4px;transition:transform .4s var(--out),box-shadow .4s}
.edu-c:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(29,36,40,.4)}
.edu-c b{font-weight:500;font-size:17px}
.edu-c .p{font-size:32px;font-weight:500;letter-spacing:-.04em;margin-top:10px;font-feature-settings:"tnum"}
.edu-c span:last-child{font-size:13.5px;color:var(--steel)}
.edu .c .btn{grid-column:1/-1;justify-self:start;margin-top:8px}

/* compra segura (Mastercam) */
.lic.buy .h{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end;border-bottom:1px solid #333C41;padding-bottom:30px}
.lic.buy .lettering{grid-column:1/9;color:var(--off);font-size:clamp(64px,8vw,136px);white-space:normal}
.lic.buy .h p{grid-column:9/13;color:#AEB6BB;font-size:17px;line-height:1.6}
.buy4{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);column-gap:24px;margin-top:36px}
.buy4 div{border-top:2px solid var(--red);padding-top:18px}
.buy4 h3{font-size:20px;font-weight:500;margin-bottom:8px}
.buy4 p{font-size:15px;line-height:1.6;color:#AEB6BB}
.lic.buy .ctas{grid-column:1/-1;margin-top:40px}

/* academy: formatos e curso em destaque */
.formats{display:grid;grid-template-columns:repeat(3,1fr);column-gap:24px;margin-bottom:48px}
.formats div{border-top:1px solid var(--ink);padding-top:18px}
.formats h3{font-size:20px;font-weight:500;margin-bottom:6px}
.formats p{font-size:15px;line-height:1.55;color:#4A5358;margin-bottom:14px}
.badge{display:inline-block;background:var(--red);color:#fff;font-size:12.5px;font-weight:600;padding:5px 10px}
.course-hero .badge{margin-bottom:16px}
.fastc{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center;background:var(--white);padding:24px;margin-bottom:24px}
.fastc .cv{grid-column:1/6;overflow:hidden}
.fastc .cv img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1s var(--out)}
.fastc:hover .cv img{transform:scale(1.03)}
.fastc .t{grid-column:7/12}
.fastc h2{font-size:clamp(32px,3.2vw,52px);font-weight:500;letter-spacing:-.04em;line-height:1;margin:18px 0 14px}
.fastc p{color:#4A5358;font-size:17px;line-height:1.6;margin-bottom:22px}

/* newsletters */
.nlhero{padding-top:clamp(120px,12vw,170px);padding-bottom:clamp(64px,7vw,110px)}
.nlhero .g12{align-items:end;row-gap:48px;margin-top:28px}
.nlhero .t{grid-column:1/7}
.nlhero .lettering{font-size:clamp(96px,12vw,200px)}
.nlhero h1{font-size:clamp(32px,3.4vw,52px);font-weight:500;letter-spacing:-.04em;line-height:1.02;margin:24px 0 16px}
.nlhero .lede{font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:#4A5358;max-width:32em}
.nlstats{display:grid;grid-template-columns:auto 1fr;gap:32px;margin-top:32px;border-top:1px solid var(--ink);padding-top:16px}
.nlstats b{display:block;font-size:40px;font-weight:500;letter-spacing:-.04em;line-height:1;font-feature-settings:"tnum"}
.nlstats span{font-size:14px;color:var(--steel)}
.nlhero .f{grid-column:8/13;background:var(--ink);color:var(--off);padding:32px}
.nlhero .f h2{font-size:26px;font-weight:500;letter-spacing:-.03em;margin-bottom:18px}
.nlhero .f .consent{font-size:13px;color:#8C979D;margin-top:14px}
.nl-form{display:grid;gap:14px}
.nl-form .fld label{color:#AEB6BB}
.nl-form .btn{justify-self:start;margin-top:4px}
.nl-ok{color:#7ED6A2;font-size:15px}.nl-err{color:#FF8A66;font-size:15px}
.nlwhere{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:56px}
.nlwhere a{background:var(--white);padding:22px;transition:background .3s}
.nlwhere a:hover{background:#fff;color:var(--red)}
.nlwhere b{display:block;font-weight:500;font-size:20px}
.nlwhere span{font-size:14px;color:var(--steel)}
.nlother{background:var(--ink);color:var(--off)}
.nlother .g12{align-items:end}
.nlother .t{grid-column:1/9}
.nlother .k{font-size:14px;color:var(--red)}
.nlother h2{font-size:clamp(30px,3vw,46px);font-weight:500;letter-spacing:-.035em;margin:8px 0 12px}
.nlother p{color:#AEB6BB;max-width:40em}
.nlother .btn{grid-column:10/13;justify-self:end;background:var(--off);color:var(--ink)}
.nlhome{background:var(--warm)}
.nlgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nlcard{background:var(--ink);color:var(--off);padding:clamp(28px,3vw,44px);display:flex;flex-direction:column}
.nlcard:nth-child(2){background:#fff;color:var(--ink)}
.nlcard .h{display:flex;justify-content:space-between;align-items:baseline}
.nlcard .lettering{font-size:clamp(64px,6vw,104px)}
.nlcard .ed{font-size:14px;color:#AEB6BB}
.nlcard:nth-child(2) .ed{color:var(--steel)}
.nlcard h3{font-size:clamp(24px,2.2vw,32px);font-weight:500;letter-spacing:-.03em;line-height:1.1;margin:24px 0 10px}
.nlcard h3 a:hover{color:var(--red)}
.nlcard p{font-size:16px;line-height:1.6;color:#AEB6BB;margin-bottom:24px}
.nlcard:nth-child(2) p{color:#4A5358}
.nl-form.compact{grid-template-columns:1fr 1fr;margin-top:auto}
.nl-form.compact .btn,.nl-form.compact .nl-ok,.nl-form.compact .nl-err{grid-column:1/-1}
.nlcard:nth-child(2) .fld input{color:var(--ink);border-color:#C9CED3}
.nlcard:nth-child(2) .fld label{color:var(--steel)}

@media (max-width:960px){
  details.mod summary{grid-template-columns:64px 1fr 24px}
  details.mod summary .th{width:64px;height:44px}
  details.mod summary span{grid-column:2;grid-row:2}
  details.mod .body{grid-template-columns:1fr}
  details.mod .body .mimg,details.mod .body .l{grid-column:1}
  .offers,.offers:has(.offer:nth-child(2):last-child){grid-template-columns:1fr}
  .cmpwrap{overflow-x:auto}
  .cmp{min-width:560px;font-size:14px}
  .edu .t,.edu .c,.lic.buy .lettering,.lic.buy .h p,.nlhero .t,.nlhero .f,.nlother .t,.nlother .btn,.fastc .cv,.fastc .t{grid-column:1/-1}
  .lic.buy .h p{margin-top:18px}
  .buy4,.formats,.nlwhere,.nlgrid{grid-template-columns:1fr;row-gap:24px}
  .edu .c{grid-template-columns:1fr}
  .fastc .t{margin-top:22px}
  .nl-form.compact{grid-template-columns:1fr}
  .nlother .btn{justify-self:start;margin-top:22px}
}

@media (max-width:960px){
  .phero .txt,.phero figure,.course-hero .cv,.course-hero .txt,.lic h2,.lic ul,.lic .ctas,.lead .l,.lead form,.lead .ok,.incomp h3,.incomp p,.incomp .btn,.ahero .row p,.ahero .stats{grid-column:1/-1}
  .phero figure img{aspect-ratio:4/3}
  .solves,.steps3,.feats,.plans{grid-template-columns:1fr;row-gap:32px}
  .cgrid{grid-template-columns:1fr 1fr;gap:32px 14px}
  details.mod summary,details.mod .body{grid-template-columns:1fr 24px}
  details.mod summary span{grid-column:1;grid-row:2}
  details.mod .body .l{grid-column:1}
  details.mod ul{grid-template-columns:1fr}
  .incomp{padding:28px}
  .incomp .btn{grid-row:auto;justify-self:start;margin-top:20px}
  .ahero .stats{margin-top:32px}
  .lic ul{margin-top:28px}
  .learn{columns:1}
  .lead form{grid-template-columns:1fr}
  .lesson{grid-template-columns:40px minmax(0,1fr) 56px}
}
@media (max-width:960px){
  .ahero .lettering{font-size:17vw;white-space:normal}
  .ahero .stats span{display:block;line-height:1.3;padding-right:8px}
  .trackhead h2{font-size:24px;flex-wrap:wrap;gap:10px}
  .trackhead h2 img{height:18px}
  .course-hero h1{font-size:34px}
}
@media (max-width:560px){ .cgrid{grid-template-columns:1fr} }

/* suporte incluso */
.sup{background:var(--white)}
.sup .g12{align-items:start;row-gap:48px}
.sup .h{grid-column:1/6}
.sup .lettering{font-size:clamp(80px,9vw,150px)}
.sup h2{font-size:clamp(30px,3vw,44px);font-weight:500;letter-spacing:-.035em;line-height:1.05;margin:26px 0 14px}
.sup .h>p{color:var(--steel);max-width:44ch}
.sup .score{display:flex;align-items:center;gap:18px;margin-top:36px;padding-top:24px;border-top:1px solid var(--rule)}
.sup .score>b{font-family:var(--u);font-weight:850;font-size:72px;letter-spacing:-.06em;line-height:.8}
.sup .score>div{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--steel)}
.sup .stars{color:var(--red);font-size:18px;letter-spacing:3px}
.sup .items{grid-column:7/13;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}
.sup .items>div{padding:26px 24px 30px 0;border-bottom:1px solid var(--rule)}
.sup .items>div:nth-child(odd){padding-right:32px;border-right:1px solid var(--rule)}
.sup .items>div:nth-child(even){padding-left:32px}
.sup .items .n{display:block;font-size:13px;font-weight:600;color:var(--red);font-feature-settings:"tnum";margin-bottom:28px}
.sup .items h3{font-size:22px;font-weight:500;letter-spacing:-.025em;line-height:1.15;margin-bottom:8px}
.sup .items p{font-size:15px;color:var(--steel)}
.sup .revs{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(20px,2.4vw,36px);margin-top:clamp(56px,6vw,88px)}
.sup .revs.one{grid-template-columns:minmax(0,640px)}
.sup figure{display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:28px;background:var(--off)}
.sup figure:first-child{background:var(--ink);color:var(--off)}
.sup blockquote{font-size:17px;line-height:1.5;letter-spacing:-.01em}
.sup figure:first-child blockquote{font-size:clamp(19px,1.6vw,23px);letter-spacing:-.02em;line-height:1.4}
.sup figcaption{font-size:13px;color:var(--steel)}
.sup figure:first-child figcaption{color:#9AA3A9}
.sup figcaption b{display:block;font-size:15px;font-weight:600;color:inherit;margin-bottom:2px}
.sup figure:first-child figcaption b{color:var(--off)}
.sup figure:not(:first-child) figcaption b{color:var(--ink)}
@media (max-width:960px){
  .sup .h,.sup .items{grid-column:1/-1}
  .sup .items{grid-template-columns:1fr}
  .sup .items>div:nth-child(n){padding:22px 0;border-right:0}
  .sup .items .n{margin-bottom:12px}
  .sup .revs{grid-template-columns:1fr}
}

/* chamada para o portal nas páginas de curso */
.portal-cta .l{grid-column:1/8}
.portal-cta .lettering{font-size:clamp(72px,8vw,136px);margin-bottom:24px}
.portal-cta .r{grid-column:9/13;display:flex;flex-direction:column;gap:10px;align-self:end}
.portal-cta .r .btn{justify-content:space-between}
@media (max-width:960px){.portal-cta .l,.portal-cta .r{grid-column:1/-1}}
/* imagens oficiais dos módulos Mastercam: render em fundo branco */
details.mod summary .th{background:#fff;object-fit:cover;box-shadow:inset 0 0 0 1px var(--rule)}
details.mod .body .mimg img{aspect-ratio:16/10;background:#fff;box-shadow:0 0 0 1px var(--rule)}
details.mod .body .mimg figcaption{font-size:12px;color:var(--steel);margin-top:8px}

/* requisitos de hardware */
.hw{background:var(--white)}
.hw .lettering{white-space:normal}
.hwt{margin-top:clamp(40px,4vw,64px)}
.hwt h3{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--red);margin-bottom:12px}
.hwt table{width:100%;border-collapse:collapse;table-layout:fixed}
.hwt th,.hwt td{text-align:left;vertical-align:top;padding:14px 18px 14px 0;border-bottom:1px solid var(--rule);font-size:15.5px;line-height:1.45}
.hwt thead th{font-size:13px;font-weight:600;color:var(--steel);border-bottom:1px solid var(--ink);padding-top:0}
.hwt tbody th{font-weight:500;width:20%;color:var(--ink)}
.hwt thead th:first-child{width:20%}
.hwn{list-style:none;margin-top:28px;display:grid;gap:8px;max-width:80ch}
.hwn li{font-size:15px;color:#3A4348;padding-left:16px;position:relative}
.hwn li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;background:var(--red)}
.hws{margin-top:22px;font-size:13px;color:var(--steel)}
.hws a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:960px){
  .hwt table,.hwt thead,.hwt tbody,.hwt tr,.hwt th,.hwt td{display:block;width:auto!important}
  .hwt thead{display:none}
  .hwt tr{padding:12px 0;border-bottom:1px solid var(--rule)}
  .hwt th,.hwt td{border:0;padding:3px 0}
  .hwt tbody th{font-size:13px;color:var(--steel)}
}
@media (max-width:960px){
  .hwt td[data-col]::before{content:attr(data-col) ": ";font-weight:600;color:var(--ink)}
  .hwt td[data-col]{padding:4px 0}
}
.phero figure figcaption.credit{font-size:12px;color:var(--steel)}

/* valor dos treinamentos Mastercam */
.cprice{font-weight:600;color:var(--ink)}
.cinvest{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:16px;margin-top:24px;padding:18px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
.cinvest>span{grid-column:1/-1;font-size:13px;color:var(--steel);margin-bottom:6px}
.cinvest b{font-family:var(--u);font-weight:850;font-size:clamp(40px,4vw,60px);letter-spacing:-.05em;line-height:.9}
.cinvest small{font-size:14px;color:var(--steel)}

/* página de imprensa */
.imp-pg{padding-top:clamp(120px,12vw,170px);padding-bottom:clamp(80px,9vw,140px)}
.imp-pg .lettering{white-space:normal}
.imp-pg>p{margin-top:24px;max-width:56ch;font-size:clamp(17px,1.35vw,20px);color:var(--steel)}
.imp-mes{margin-top:clamp(40px,5vw,64px);padding-bottom:12px;border-bottom:1px solid var(--ink);font-size:14px;font-weight:600;color:var(--steel)}
.imp-mes::first-letter{text-transform:uppercase}
.imp-item{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:4px 24px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--rule)}
.imp-item span{font-size:15px;color:var(--steel)}
.imp-item b{font-size:clamp(19px,1.7vw,25px);font-weight:500;letter-spacing:-.025em;line-height:1.2;transition:color .25s}
.imp-item:hover b{color:var(--red)}
@media (max-width:760px){.imp-item{grid-template-columns:1fr}}

/* página /imprensa com os prints */
.midia-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,40px) clamp(18px,2vw,28px);margin-top:28px}
.midia-grade .midia-txt span{color:var(--red)}
.midia-grade .midia-tela{box-shadow:0 0 0 1px var(--rule),0 24px 44px -34px rgba(29,36,40,.6)}
@media (max-width:960px){.midia-grade{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.midia-grade{grid-template-columns:1fr}}

/* política de privacidade */
.priv{padding-top:clamp(120px,12vw,170px);padding-bottom:clamp(80px,9vw,130px);max-width:900px}
.priv .lettering{white-space:normal;font-size:clamp(52px,9vw,128px)}
.priv .lede{margin-top:22px;color:var(--steel)}
.priv h2{margin-top:clamp(32px,4vw,48px);font-size:clamp(22px,2vw,28px);font-weight:500;letter-spacing:-.025em}
.priv p,.priv ul{margin-top:10px;font-size:16.5px;line-height:1.6;color:#3A4348;max-width:72ch}
.priv ul{padding-left:20px;display:grid;gap:6px}
.priv b{font-weight:600;color:var(--ink)}
.priv-t{margin-top:14px;overflow-x:auto}
.priv table{width:100%;border-collapse:collapse;font-size:15px}
.priv th,.priv td{text-align:left;vertical-align:top;padding:11px 16px 11px 0;border-bottom:1px solid var(--rule)}
.priv th{font-size:13px;font-weight:600;color:var(--steel);border-bottom-color:var(--ink);white-space:nowrap}
.priv-btn{color:var(--red);font-weight:600;text-decoration:underline;text-underline-offset:3px;padding:0}
.lead .consent a,.nl-legal a{text-decoration:underline;text-underline-offset:3px}
.nl-legal{font-size:12.5px;line-height:1.4;color:var(--steel)}
