/* TerraTools: duas páginas aprovadas (inicial e aplicativos). Medidas tiradas das imagens aprovadas. */
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Barlow+Condensed:wght@600;700&family=Nunito+Sans:wght@400;600;700&display=swap');
:root{
 --w:min(100vw,1440px);
 --azul:#00638F; --azul-app:#016DA5; --cinza:#8F9090; --cinza-texto:#8F8F8F;
 --tinta:#111; --linha:#D5DCE0; --ambar:#D59223;
 --condensada:'Barlow Condensed','Arial Narrow',sans-serif; --texto:'Nunito Sans',system-ui,sans-serif; --titulo:'Anton','Impact','Arial Narrow',sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fefefe;color:var(--tinta);font-family:var(--texto)}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--ambar);outline-offset:4px}
.stage{position:relative;width:var(--w);margin:0 auto}
.site-header{position:absolute;inset:0 0 auto 0;z-index:3}
.brand{position:absolute;display:block}
.site-header nav{position:absolute;display:flex}
.site-header nav a{text-decoration:none;font-family:var(--condensada);font-weight:600;line-height:1;color:var(--tinta)}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:3px;background:var(--azul);color:#fff;text-decoration:none;font-family:var(--texto);font-weight:700;line-height:1.1;cursor:pointer;white-space:nowrap}
.button:hover{filter:brightness(1.12)}
.button:disabled{background:var(--cinza);cursor:default;filter:none}

/* ===== Inicial (referência 1697 px) ===== */
.home{--u:calc(var(--w)/1697)}
.home .stage{height:calc(580*var(--u))}
.home .brand{left:calc(233*var(--u));top:calc(28*var(--u));width:calc(267*var(--u))}
.home .site-header nav{right:calc(250*var(--u));top:calc(28*var(--u));gap:calc(46*var(--u))}
.home .site-header nav a{font-size:max(17px,calc(30*var(--u)))}
.hero-art{position:absolute;left:calc(655*var(--u));top:calc(75*var(--u));width:calc(1042*var(--u));max-width:none;pointer-events:none}
.hero h1{margin:0;position:absolute;left:calc(426*var(--u));top:calc(269*var(--u));width:calc(399*var(--u));z-index:1}
.profiles{width:calc(1236*var(--u));margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(30*var(--u));padding-bottom:calc(80*var(--u))}
.profile-card{display:flex;flex-direction:column;height:calc(285*var(--u));min-height:230px;padding:calc(27*var(--u)) calc(27*var(--u)) calc(27*var(--u)) calc(25*var(--u));background:#eee;border:1px solid #dadada;border-left:max(7px,calc(11*var(--u))) solid var(--cinza);border-radius:4px;box-shadow:0 2px 4px #0003}
.profile-card.active{border-left-color:#035E8C}
.profile-heading{display:flex;align-items:center;gap:calc(12*var(--u));height:calc(79*var(--u));min-height:56px}
.profile-heading img{width:max(48px,calc(77*var(--u)));height:auto}
.profile-heading h2{margin:0;font:600 max(26px,calc(42*var(--u)))/1 var(--condensada);color:var(--tinta)}
.inactive h2{color:var(--cinza-texto)}
.profile-card p{margin:calc(15*var(--u)) 0 0;text-align:center;font-size:max(15px,calc(22*var(--u)));line-height:1.23}
.profile-card .button{margin-top:auto;width:100%;height:max(40px,calc(56*var(--u)));font-size:max(15px,calc(22*var(--u)))}

/* ===== Aplicativos (referência 1422 px) ===== */
.applications{--u:calc(var(--w)/1422)}
.applications .stage{height:calc(262*var(--u))}
.applications .brand{left:calc(112*var(--u));top:calc(26*var(--u));width:calc(252*var(--u))}
.applications .site-header nav{right:calc(102*var(--u));top:calc(30*var(--u));gap:calc(43*var(--u))}
.applications .site-header nav a{font-size:max(17px,calc(28*var(--u)))}
.apps-heading>img{position:absolute;left:calc(1016*var(--u));top:calc(93*var(--u));width:calc(400*var(--u));max-width:none;pointer-events:none}
.apps-heading h1{position:absolute;left:calc(82*var(--u));top:calc(150*var(--u));margin:0;font:400 max(38px,calc(67*var(--u)))/1.1 var(--titulo);letter-spacing:-.005em;white-space:nowrap}
.apps-main{width:calc(1312*var(--u));margin:0 auto}
.apps-grid{border-top:0}
.app-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:calc(56*var(--u));border-bottom:1px solid var(--linha)}
.app-entry{display:grid;grid-template-columns:calc(112*var(--u)) minmax(0,1fr);column-gap:calc(28*var(--u));align-items:start;padding-top:calc(22*var(--u));padding-bottom:calc(20*var(--u));min-width:0}
.app-icon-wrap{display:flex;justify-content:center;align-items:flex-start;padding-top:calc(4*var(--u))}
.app-icon{width:calc(var(--iw)*0.62*var(--u));max-width:100%;height:auto}
.app-content{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.app-content h2{margin:0 0 calc(6*var(--u));display:flex;align-items:center;min-height:0}
.app-wordmark{width:calc(var(--ww)*0.7*var(--u));height:auto;max-width:none}
.app-content p{margin:0 0 calc(12*var(--u));font-size:max(14px,calc(17*var(--u)));line-height:1.32;color:#111}
.app-access{background:var(--azul-app);margin-top:calc(2*var(--u));width:calc(140*var(--u));min-width:106px;height:max(34px,calc(40*var(--u)));font-size:max(14px,calc(16*var(--u)))}
.site-footer{width:calc(1312*var(--u));margin:0 auto;padding:calc(16*var(--u)) 0 calc(28*var(--u))}
.site-footer img{width:calc(135*var(--u));min-width:100px}

/* ===== Abaixo de 960 px: reorganiza em coluna ===== */
@media(max-width:959px){
 .stage{width:100%;height:auto!important}
 .site-header{position:static;display:flex;justify-content:space-between;align-items:center;padding:18px 22px}
 .brand,.site-header nav{position:static}
 .brand{width:176px!important}
 .site-header nav{gap:20px!important}
 .site-header nav a{font-size:21px!important}
 .home .hero{display:flex;flex-direction:column;align-items:center;padding:4px 0 8px;overflow:hidden}
 .hero h1{position:static;order:-1;width:min(300px,68%);margin:10px 0 0}
 .hero-art{position:static;width:min(560px,100%);margin-top:-6px}
 .profiles{width:min(420px,calc(100% - 40px));grid-template-columns:1fr;gap:18px;padding-bottom:40px}
 .profile-card{height:auto;min-height:0;padding:20px 20px 22px 18px;border-left-width:8px}
 .profile-heading{gap:14px;height:auto}
 .profile-heading img{width:62px}
 .profile-heading h2{font-size:32px}
 .profile-card p{font-size:17px;margin:14px 0 18px}
 .profile-card .button{height:48px;font-size:18px}
 .applications .stage{position:relative}
 .apps-heading{position:relative;padding:8px 22px 18px;overflow:hidden}
 .apps-heading>img{left:auto;right:-60px;top:-6px;width:260px;opacity:.5}
 .apps-heading h1{position:relative;left:auto;top:auto;white-space:normal;font-size:clamp(38px,8.6vw,56px);max-width:88%}
 .apps-main{width:calc(100% - 44px)}
 .app-row{display:block;height:auto}
 .app-entry{grid-template-columns:96px minmax(0,1fr);column-gap:18px;padding:22px 0 26px;border-bottom:1px solid var(--linha)}
 .app-row:last-child .app-entry:last-child{border-bottom:0}
 .app-row{border-bottom:0}
 .app-icon-wrap{padding-top:4px}
 .app-icon{width:auto;max-width:92px;max-height:104px}
 .app-content h2{min-height:0;margin-bottom:8px}
 .app-wordmark{width:auto;height:38px;max-width:100%}
 .app-content p{font-size:17px}
 .app-content p br.d{display:none}
 .app-access{margin-top:14px;width:140px;height:44px}
 .site-footer{width:calc(100% - 44px);padding:16px 0 26px}
 .site-footer img{width:130px}
 .applications .brand{width:150px!important}
 .applications .site-header nav{gap:14px!important}
 .applications .site-header nav a{font-size:19px!important}
}

/* ===== Nomes estilizados (links) ===== */
.nm{display:inline-block;text-decoration:none}
.nm img{display:inline-block;height:1.3em;width:auto;max-width:none;vertical-align:-.3em}
.nm-card,.nm-hero{display:inline-block;text-decoration:none}
.nm:hover img,.nm-card:hover img,.nm-hero:hover img{opacity:.8}

/* ===== Inicial: texto abaixo dos cards ===== */
.about{width:calc(1236*var(--u));margin:0 auto;padding:0 0 calc(70*var(--u))}
.about-lead{margin:0 0 calc(34*var(--u));font-size:max(17px,calc(24*var(--u)));line-height:1.45;max-width:62em}
.about h2{margin:0 0 calc(10*var(--u));font:600 max(26px,calc(38*var(--u)))/1.1 var(--condensada);color:var(--azul)}
.about-intro{margin:0 0 calc(22*var(--u));font-size:max(16px,calc(20*var(--u)));line-height:1.5;max-width:62em}
.about-apps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:calc(56*var(--u))}
.about-apps li{border-top:1px solid var(--linha);padding:calc(16*var(--u)) 0 calc(18*var(--u))}
.about-apps p{margin:0;font-size:max(15px,calc(18*var(--u)));line-height:1.6;color:#222}

/* ===== Aplicativos: saiba mais no canto ===== */
.app-entry{position:relative}
.app-more{position:absolute;right:0;bottom:calc(22*var(--u));font-size:max(14px,calc(16*var(--u)));font-weight:600;color:var(--azul-app);text-decoration:underline;text-underline-offset:3px}
.app-more:hover{color:#014a73}

/* ===== Página de cada aplicativo ===== */
.app-detail{--u:calc(var(--w)/1422)}
.app-top{width:calc(1312*var(--u));margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:calc(26*var(--u)) 0 0}
.app-top .brand{position:static;width:calc(252*var(--u));min-width:150px}
.app-top nav{display:flex;gap:calc(43*var(--u))}
.app-top nav a{text-decoration:none;font:600 max(17px,calc(28*var(--u)))/1 var(--condensada);color:var(--tinta)}
.app-top nav a:hover{color:var(--azul-app)}
.app-page{width:calc(1312*var(--u));margin:0 auto}
.app-hero{position:relative;display:flex;align-items:center;gap:calc(40*var(--u));padding:calc(54*var(--u)) 0 calc(44*var(--u));border-bottom:1px solid var(--linha);min-height:calc(260*var(--u))}
.hero-circ{position:absolute;right:calc(-10*var(--u));top:calc(46*var(--u));width:calc(400*var(--u));max-width:none;pointer-events:none;opacity:.9}
.hero-icon{width:calc(150*var(--u));min-width:84px;height:auto;position:relative}
.app-hero>div{position:relative;max-width:calc(640*var(--u));min-width:0}
.app-hero h1{margin:0 0 calc(12*var(--u))}
.nm-hero img{height:max(44px,calc(68*var(--u)));width:auto;max-width:100%}
.app-hero p{margin:0 0 calc(20*var(--u));font-size:max(16px,calc(22*var(--u)));line-height:1.4}
.hero-btn{margin-top:0;display:inline-flex}
.block{padding:calc(42*var(--u)) 0 calc(14*var(--u))}
.block h2{margin:0 0 calc(22*var(--u));font:400 max(30px,calc(44*var(--u)))/1.1 var(--titulo)}
.videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(28*var(--u))}
.video{margin:0}
.video-frame{position:relative;aspect-ratio:16/9;background:#eceff1;border:1px solid var(--linha);border-radius:4px;display:flex;align-items:center;justify-content:center}
.play{width:calc(64*var(--u));min-width:44px;aspect-ratio:1;border-radius:50%;background:var(--azul-app);position:relative}
.play::after{content:"";position:absolute;left:38%;top:28%;border-left:calc(22*var(--u)) solid #fff;border-top:calc(14*var(--u)) solid transparent;border-bottom:calc(14*var(--u)) solid transparent}
.video figcaption{display:flex;flex-direction:column;gap:2px;margin-top:10px;font-size:max(15px,calc(17*var(--u)))}
.video figcaption span{color:var(--cinza-texto);font-size:.9em}
.manual{display:grid;grid-template-columns:calc(260*var(--u)) minmax(0,1fr);gap:calc(28*var(--u));border:1px solid var(--linha);border-radius:4px;min-height:calc(260*var(--u))}
.manual-index{background:#f3f5f6;padding:calc(20*var(--u));display:flex;flex-direction:column;gap:12px;border-right:1px solid var(--linha)}
.manual-index span{font:600 max(18px,calc(22*var(--u)))/1 var(--condensada);color:var(--azul)}
.manual-index i{display:block;height:10px;border-radius:2px;background:#dde2e5}
.manual-index i:nth-of-type(2){width:80%}.manual-index i:nth-of-type(3){width:65%}.manual-index i:nth-of-type(4){width:75%}
.manual-body{padding:calc(22*var(--u)) calc(26*var(--u)) calc(22*var(--u)) 0;color:var(--cinza-texto);font-size:max(15px,calc(18*var(--u)))}
.faq details{border-bottom:1px solid var(--linha)}
.faq details:first-child{border-top:1px solid var(--linha)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:calc(18*var(--u)) 0;font-weight:700;font-size:max(16px,calc(20*var(--u)))}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5em;line-height:1;color:var(--azul-app)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:0 0 calc(18*var(--u));color:var(--cinza-texto);font-size:max(15px,calc(18*var(--u)))}

@media(max-width:959px){
 .about{width:min(640px,calc(100% - 40px));padding-bottom:36px}
 .about-lead{font-size:18px;margin-bottom:26px}
 .about h2{font-size:30px}
 .about-intro{font-size:17px}
 .about-apps{grid-template-columns:1fr}
 .about-apps p{font-size:16px}
 .app-more{position:static;display:inline-block;margin:12px 0 0;font-size:16px}
 .app-content .app-access{display:inline-flex}
 .app-top,.app-page{width:calc(100% - 44px)}
 .app-top{padding-top:18px;flex-wrap:wrap;gap:10px 16px}
 .app-top .brand{width:150px}
 .app-top nav{gap:6px 14px;flex-wrap:wrap}
 .app-top nav a{font-size:17px}
 .app-hero{flex-direction:column;align-items:flex-start;gap:16px;padding:30px 0 28px}
 .hero-circ{display:none}
 .hero-icon{width:84px}
 .nm-hero img{height:44px}
 .app-hero p{font-size:17px}
 .block h2{font-size:32px}
 .videos{grid-template-columns:1fr;gap:20px}
 .manual{grid-template-columns:1fr}
 .manual-index{border-right:0;border-bottom:1px solid var(--linha)}
 .manual-body{padding:18px}
 .faq summary{font-size:17px}
}

/* escala menor nas páginas internas */
.applications,.app-detail{--w:min(100vw,1000px)}
.applications .apps-heading h1{font-size:max(34px,calc(56*var(--u)))}

@media(min-width:960px){
 .applications .site-header nav a,.app-top nav a{font-size:max(15px,calc(28*var(--u)))}
 .applications .apps-heading h1{font-size:max(28px,calc(56*var(--u)))}
 .app-content p{font-size:max(13px,calc(17*var(--u)))}
 .app-access{height:max(30px,calc(40*var(--u)));min-width:92px;font-size:max(13px,calc(16*var(--u)))}
 .app-more{font-size:max(13px,calc(16*var(--u)))}
 .app-hero p{font-size:max(14px,calc(22*var(--u)))}
 .nm-hero img{height:max(36px,calc(68*var(--u)))}
 .block h2{font-size:max(26px,calc(44*var(--u)))}
 .video figcaption{font-size:max(13px,calc(17*var(--u)))}
 .faq summary{font-size:max(14px,calc(20*var(--u)))}
 .faq details p,.manual-body{font-size:max(13px,calc(18*var(--u)))}
 .manual-index span{font-size:max(16px,calc(22*var(--u)))}
}
