/*
Theme Name: Mestre Online
Theme URI: https://mestreonline.com.br
Author: Mestre Online
Description: Tema institucional Mestre Online para educacao, inclusao e tecnologia educacional.
Version: 3.5
Text Domain: mestre-online
*/
:root{
 --navy:#071f4b;--navy2:#0b2e59;--blue:#0d63e6;--cyan:#1bb5f4;--green:#34c759;
 --pink:#f32382;--purple:#8b3dff;--teal:#1bb3b9;--gold:#f3b52b;
 --text:#071f4b;--muted:#53627a;--line:#e8edf5;--bg:#fff;--shadow:0 12px 34px rgba(7,31,75,.09);
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.45}
a{text-decoration:none;color:inherit}.wrap{width:min(1115px,calc(100% - 40px));margin:auto}
.site-header{height:74px;background:#fff;border-bottom:1px solid #eef2f7;position:sticky;top:0;z-index:50}
.header-inner{height:74px;display:flex;align-items:center;gap:28px}.logo{width:200px;display:flex;align-items:center}.logo img{display:block;width:100%;height:auto}
.nav{margin-left:auto;display:flex;align-items:center;gap:30px;font-size:13px;font-weight:800;text-transform:uppercase}
.nav a{color:#111}.nav a:hover{color:var(--blue)}.nav .cta{background:var(--blue);color:#fff;padding:12px 17px;border-radius:8px;box-shadow:0 7px 20px rgba(13,99,230,.23)}
.hero{padding:0 0 0;background:#fff}.hero-box{display:grid;grid-template-columns:36% 64%;min-height:350px;overflow:hidden;border:0;border-radius:0;box-shadow:0 18px 38px rgba(7,31,75,.20)}
.hero-copy{background:linear-gradient(135deg,#061b45,#08336f);color:#fff;padding:42px 35px 42px 46px;display:flex;flex-direction:column;justify-content:center}
.hero-copy h1{font-size:39px;line-height:1.06;margin:0 0 20px;letter-spacing:-1.2px}.hero-copy .green{color:#40d144}.hero-copy .cyan{color:#19afff}
.hero-copy p{font-size:15px;margin:0 0 24px;max-width:360px}.btn{display:inline-flex;width:max-content;align-items:center;gap:9px;background:var(--blue);color:white;padding:13px 18px;border-radius:7px;text-transform:uppercase;font-size:12px;font-weight:800;box-shadow:0 8px 24px rgba(13,99,230,.24)}
.hero-photo{background:url('assets/hero-photo.jpg') center/cover no-repeat;position:relative}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,31,75,.18),transparent 24%)}
.tools{margin-top:-15px;position:relative;z-index:8}.tools-box{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);padding:14px 22px;display:grid;grid-template-columns:1.35fr repeat(5,1fr);align-items:center;gap:8px}
.tools-intro{font-weight:800;font-size:16px;line-height:1.4;padding-right:20px}.tools-intro .blue{color:var(--blue)}.tools-intro .pink{color:var(--pink)}
.tool{text-align:center;font-size:11px;font-weight:700;line-height:1.25}.tool img{width:54px;height:54px;object-fit:contain;display:block;margin:0 auto 4px}
.section{padding:24px 0}.section-title{text-align:center;margin:0 auto 18px}.section-title h2{font-size:27px;margin:0 0 4px}.section-title p{font-size:12px;margin:0;color:var(--muted)}
.spark{color:var(--pink)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(7,31,75,.055);padding:15px;min-height:205px;position:relative;overflow:hidden}
.service-head{display:flex;align-items:center;gap:11px;margin-bottom:8px}.service-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;flex:0 0 54px}.service-icon img{width:39px;height:39px}.service h3{font-size:15px;line-height:1.15;text-transform:uppercase;margin:0}.service p{font-size:11.5px;max-width:100%;margin:0 0 10px}.service .ia{font-size:10.5px;font-weight:800;max-width:100%;display:block}.service .ia span{font-weight:500}.service-photo{display:none!important}
.s-green .service-icon{background:#dff7e9}.s-purple .service-icon{background:#f0e5ff}.s-blue .service-icon{background:#e7efff}.s-gold .service-icon{background:#fff1ca}.s-pink .service-icon{background:#ffe1ed}.s-teal .service-icon{background:#dff7f7}
.inclusion{padding:8px 0}.inclusion-box{min-height:145px;border-radius:12px;overflow:hidden;display:grid;grid-template-columns:42% 58%;background:linear-gradient(100deg,#0766c8 18%,#7a35d6 63%,#e31b84 100%);color:#fff}
.inclusion-photo{background:url('assets/inclusao.png') center/cover no-repeat}.inclusion-copy{padding:20px 80px 18px 26px;position:relative;display:flex;flex-direction:column;justify-content:center}.inclusion-copy h2{font-size:27px;line-height:1.12;margin:0 0 7px}.inclusion-copy p{font-size:15px;line-height:1.45;margin:0}.heart{position:absolute;right:24px;top:31px;font-size:60px;line-height:1;color:#fff}
.stats{padding:0 0 16px}.stats-grid{border:1px solid var(--line);border-radius:11px;box-shadow:0 5px 18px rgba(7,31,75,.05);display:grid;grid-template-columns:repeat(5,1fr);padding:12px 16px;background:#fff}
.stat{display:grid;grid-template-columns:42px 1fr;gap:9px;align-items:center;border-right:1px solid #edf0f5}.stat:last-child{border:0}.stat .ico{font-size:32px;color:var(--blue)}.stat b{font-size:20px;display:block;line-height:1}.stat span{font-size:10px;display:block;margin-top:4px}
.process{padding:0 0 18px}.process-title{text-align:center;margin-bottom:13px}.process-title h2{font-size:20px;margin:0}.process-title p{font-size:10px;margin:3px 0;color:var(--muted)}
.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.step{text-align:center;position:relative}.step:not(:last-child):after{content:"→";position:absolute;right:-17px;top:23px;color:#1668ff;font-size:26px}.step-icon{width:54px;height:54px;border-radius:50%;background:#eef4ff;color:var(--blue);display:grid;place-items:center;margin:0 auto 6px;font-size:27px}.step b{font-size:11px}.step strong{font-size:10px;display:block}.step p{font-size:9.5px;margin:5px auto 0;max-width:150px}
.case-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:18px}.case-card,.quote-card{min-height:208px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(7,31,75,.05)}
.case-card{display:grid;grid-template-columns:54% 46%}.case-copy{padding:18px}.eyebrow{color:var(--blue);font-weight:800;font-size:9px;text-transform:uppercase}.case-copy h3{font-size:19px;line-height:1.1;margin:7px 0 9px}.case-copy p{font-size:11px;margin:0 0 14px}.case-copy a{font-size:10px;color:var(--blue);font-weight:800}.case-photo{background:url('assets/caso-uso.jpg') center/cover no-repeat}
.quote-card{display:grid;grid-template-columns:56% 44%}.quote-copy{padding:17px}.quote-mark{font-size:50px;line-height:.8;color:var(--blue);font-weight:900}.quote-copy p{font-size:11px}.quote-copy strong{font-size:10.5px}.quote-photo{background:url('assets/depoimento.jpg') center 18%/cover no-repeat}
.cta-band{padding:0 0 8px}.cta-box{min-height:185px;border-radius:12px;overflow:hidden;background:linear-gradient(110deg,#08296e 0%,#1a3aab 45%,#da1b8d 100%);display:grid;grid-template-columns:47% 53%;color:#fff}.cta-copy{padding:27px 30px}.cta-copy h2{font-size:27px;line-height:1.05;margin:0 0 9px}.cta-copy p{font-size:11px;max-width:370px}.cta-copy .btn{margin-top:8px}.cta-photo{background:url('assets/cta.jpg') center/cover no-repeat}
.footer{background:#061d49;color:#fff;margin-top:0}.footer-top{display:grid;grid-template-columns:1.1fr .8fr 1.25fr 1.1fr;gap:30px;padding:22px 0 14px}.footer-logo img{width:170px;height:auto;display:block}.social{display:flex;gap:12px;margin-top:9px;font-size:18px}.footer h4{font-size:10px;margin:0 0 7px;text-transform:uppercase}.footer a,.footer p{font-size:9.5px;margin:2px 0;display:block;color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;padding:9px 0 12px;font-size:8.5px}
@media(max-width:900px){
 .nav{display:none}.hero-box{grid-template-columns:1fr}.hero-copy{padding:35px 28px}.hero-photo{min-height:360px}.tools-box{grid-template-columns:repeat(3,1fr)}.tools-intro{grid-column:1/-1;text-align:center;padding:0}
 .services-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat{border-right:0;border-bottom:1px solid #edf0f5;padding:8px}.process-grid{grid-template-columns:1fr 1fr}.step:after{display:none}
 .case-row{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr}.inclusion-box{grid-template-columns:1fr}.inclusion-photo{min-height:190px}
}
@media(max-width:560px){
 .wrap{width:min(100% - 28px,1115px)}.site-header,.header-inner{height:64px}.logo{width:170px}.hero-copy h1{font-size:34px}.hero-photo{min-height:290px}
 .tools-box{grid-template-columns:repeat(2,1fr);padding:15px}.tool img{width:48px;height:48px}.services-grid{grid-template-columns:1fr}.service{min-height:205px}.service p,.service .ia{max-width:100%}
 .inclusion-copy{padding:22px}.heart{display:none}.stats-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.case-card,.quote-card{grid-template-columns:1fr}.case-photo,.quote-photo{min-height:230px}
 .cta-box{grid-template-columns:1fr}.cta-photo{min-height:220px}.footer-top{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:6px}
}

/* v3.3 corrections */
.nav a:not(.cta){
  color:#111 !important;
  border:0 !important;
  border-bottom:0 !important;
  text-decoration:none !important;
  padding-bottom:0 !important;
}
.nav a:not(.cta):hover{color:var(--blue) !important}

/* Hero: no border/moldura; only soft external shadow */
.hero-box{
  border:0 !important;
  outline:0 !important;
  border-radius:0 !important;
  box-shadow:0 22px 46px rgba(7,31,75,.20) !important;
}

/* Services: icons only; no human photos */
.service-photo{display:none !important}
.service p,.service .ia{max-width:100% !important}
.service{min-height:205px}


/* v3.5 — typography and contextual indicators */
/* Tecnologia e IA: logos only, without duplicated names below them */
.tool{font-size:0;line-height:0}
.tool img{margin:0 auto;width:58px;height:58px}

/* Nossos serviços: improved readability */
.section-title p{font-size:15px;line-height:1.5}
.service h3{font-size:16px;line-height:1.22}
.service p{font-size:14px;line-height:1.5;margin-bottom:12px}
.service .ia{font-size:12.5px;line-height:1.45}

/* Indicadores: contextual icons and larger type */
.stat{grid-template-columns:50px 1fr;gap:11px}
.stat .ico{width:42px;height:42px;display:grid;place-items:center;color:var(--blue)}
.stat .ico svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.stat b{font-size:23px}
.stat span{font-size:13px;line-height:1.3;margin-top:5px}

/* Como Trabalhamos: larger type */
.process-title h2{font-size:24px}
.process-title p{font-size:14px;line-height:1.45;margin-top:5px}
.step b{font-size:12px}
.step strong{font-size:14px;line-height:1.3;margin-top:2px}
.step p{font-size:13px;line-height:1.4;max-width:180px}

/* Caso de uso: larger type */
.case-copy{padding:22px}
.case-copy .eyebrow{font-size:11px}
.case-copy h3{font-size:22px;line-height:1.16;margin:8px 0 11px}
.case-copy p{font-size:14px;line-height:1.5;margin-bottom:16px}
.case-copy a{font-size:12.5px}

@media(max-width:560px){
 .section-title p{font-size:14px}
 .service h3{font-size:15.5px}
 .service p{font-size:14px}
 .service .ia{font-size:12.5px}
 .stat b{font-size:22px}.stat span{font-size:13px}
 .process-title h2{font-size:22px}.process-title p{font-size:14px}
 .step strong{font-size:14px}.step p{font-size:13px;max-width:250px}
 .case-copy h3{font-size:21px}.case-copy p{font-size:14px}
}
