/* HUBMAT — apresentação consolidada
   Princípio: títulos, chamadas, métricas e ações centralizados.
   Textos explicativos longos permanecem alinhados à esquerda para leitura. */

/* ---------- HOME: cabeçalho e ações ---------- */
.hm-wordmark{color:inherit;text-decoration:none}
.hm-top-login{
  margin-left:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:34px;padding:6px 11px;border:1px solid #cfd9e6;border-radius:10px;
  background:rgba(255,255,255,.9);color:#17345d;text-decoration:none;font-size:10.5px;font-weight:900;
  white-space:nowrap;box-shadow:0 4px 14px rgba(7,26,58,.05);transition:.15s ease;
}
.hm-top-login:hover,.hm-top-login:focus-visible{background:#fff;border-color:#aebed2;transform:translateY(-1px)}
.hm-top-login i{font-size:10px;color:#315f9c}

/* ---------- HOME: hierarquia editorial ---------- */
.hm-main .hm-cover-grid{display:block!important;grid-template-columns:1fr!important}
.hm-main .hm-cover-main{
  width:100%!important;max-width:none!important;align-items:center!important;justify-content:center!important;
  text-align:center!important;min-height:360px!important;padding:30px clamp(28px,6vw,76px)!important;
}
.hm-main .hm-cover-main :where(.hm-eyebrow,.hm-link){align-self:center!important}
.hm-main .hm-cover-main :where(h1,p){margin-left:auto!important;margin-right:auto!important}
.hm-main .hm-cover-main h1{max-width:860px!important;font-size:clamp(40px,4.1vw,58px)!important}
.hm-main .hm-cover-main p{max-width:770px!important}

.hm-main .hm-section-head{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  gap:8px!important;text-align:center!important;
}
.hm-main .hm-section-head>div{width:100%;text-align:center!important}
.hm-main .hm-section-head .hm-lead{justify-self:auto!important;margin-inline:auto!important;text-align:center!important;max-width:720px}
.hm-main .hm-title{margin-left:auto!important;margin-right:auto!important;text-align:center!important}

/* Títulos e ações centralizados; leitura explicativa preservada. */
.hm-main :where(.hm-student-intro,.hm-teacher-main,.hm-family-copy,.hm-school-grid>div:first-child,.hm-product-main,.hm-book-intro){text-align:center!important}
.hm-main :where(.hm-student-intro,.hm-teacher-main,.hm-family-copy,.hm-school-grid>div:first-child,.hm-product-main,.hm-book-intro) .hm-link{justify-content:center!important}
.hm-main :where(.hm-student-intro,.hm-family-copy) .hm-lead,
.hm-main .hm-teacher-main>p,
.hm-main .hm-school-grid>div:first-child>p,
.hm-main .hm-product-main>p{
  text-align:left!important;max-width:640px;margin-left:auto!important;margin-right:auto!important;
}
.hm-main .hm-family-copy blockquote{text-align:center!important}

/* Índices curtos: menos caixas, mais ritmo editorial. */
.hm-main .hm-student-paths{border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important}
.hm-main .hm-path{
  min-height:0!important;padding:18px 14px!important;border:0!important;border-bottom:1px solid #cfe1d6!important;
  border-radius:0!important;background:transparent!important;text-align:center!important;
}
.hm-main .hm-path:first-child{border-top:1px solid #cfe1d6!important}
.hm-main .hm-path:before{position:static!important;display:block!important;margin:0 0 6px!important;text-align:center!important}
.hm-main .hm-path :where(strong,span){text-align:center!important}

.hm-main .hm-family-notes{border:0!important;background:transparent!important}
.hm-main .hm-family-note{
  padding:19px 14px!important;border-radius:0!important;border:0!important;border-bottom:1px solid #ead8cc!important;
  background:transparent!important;text-align:center!important;
}
.hm-main .hm-family-note:first-child{border-top:1px solid #ead8cc!important}
.hm-main .hm-family-note:before{position:static!important;display:block!important;margin:0 0 6px!important;text-align:center!important}
.hm-main .hm-family-note :where(strong,span){text-align:center!important}

.hm-main .hm-school-point{text-align:center!important}
.hm-main .hm-school-point :where(strong,span){display:block;text-align:center!important}
.hm-main .hm-school-panel,.hm-main .hm-teacher-board,.hm-main .hm-product-layout{border-radius:15px!important}

.hm-main .hm-teacher-numbers{justify-content:center!important;flex-wrap:wrap!important}
.hm-main .hm-teacher-number{justify-content:center!important;text-align:center!important}
.hm-main .hm-teacher-list a{position:relative!important;justify-content:center!important;text-align:center!important;padding-left:34px!important;padding-right:34px!important}
.hm-main .hm-teacher-list a>i:last-child{position:absolute!important;right:15px!important}
.hm-main .hm-teacher-access-copy{text-align:center!important}
.hm-main .hm-teacher-access-copy strong{display:block;color:#123f3c;font-size:13px;font-weight:900;line-height:1.15;text-align:center!important}
.hm-main .hm-teacher-access-copy small{display:block;margin-top:4px;color:#657b76;font-size:8.6px;font-weight:800;line-height:1.25;text-align:center!important}

.hm-main .hm-live-item{text-align:center!important;align-items:center!important;justify-content:center!important}
.hm-main .hm-live-item :where(strong,span){text-align:center!important}
.hm-main .hm-live-item.extra,.hm-main .hm-live-item.curiosity,.hm-main .hm-live-item:nth-child(n+4){display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:0!important}
.hm-main .hm-live-item.extra i,.hm-main .hm-live-item.curiosity i,.hm-main .hm-live-item:nth-child(n+4) i{margin-bottom:4px!important}
.hm-main .hm-live-item.daily{align-items:center!important;justify-content:center!important;text-align:center!important;padding:26px 28px!important}
.hm-main .hm-live-item.daily>i{font-size:28px!important;margin-bottom:4px}
.hm-main .hm-live-item.daily>strong{margin-top:7px!important;font-size:clamp(29px,2.55vw,37px)!important;line-height:.98!important}
.hm-main .hm-live-item.daily .hm-live-copy{max-width:520px!important;margin:11px auto 0!important;color:#263d36!important;font-size:clamp(13px,1.03vw,15.5px)!important;line-height:1.43!important;font-weight:900!important}
.hm-main .hm-live-item.daily:after{right:50%!important;top:50%!important;transform:translate(50%,-50%)!important;font-size:clamp(72px,8vw,118px)!important;opacity:.58;pointer-events:none}
.hm-main .hm-live-item.daily>*{position:relative;z-index:1}

.hm-main .hm-product-side a{text-align:center!important;align-items:center!important;justify-content:center!important}
.hm-main .hm-product-side a :where(strong,span){display:block;text-align:center!important}
.hm-main .hm-book-intro{grid-template-columns:1fr!important;justify-items:center!important;gap:6px!important}
.hm-main .hm-book-intro .hm-link{margin-top:5px!important}
.hm-main .hm-book-top{text-align:center!important}
.hm-main .hm-book-top-copy :where(span,strong,small){text-align:center!important}

/* ---------- CTAs: ação visível sem virar banner ---------- */
.hm-main .hm-link{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
  min-height:42px!important;padding:9px 14px!important;border:1px solid rgba(7,26,58,.14)!important;
  border-radius:11px!important;background:rgba(255,255,255,.86)!important;box-shadow:0 6px 18px rgba(7,26,58,.07)!important;
  text-decoration:none!important;font-weight:900!important;
}
.hm-main .hm-link i{width:24px!important;height:24px!important;display:grid!important;place-items:center!important;flex:0 0 24px!important;border-radius:50%!important;background:rgba(7,26,58,.08)!important;transition:.15s ease!important}
.hm-main .hm-link:hover,.hm-main .hm-link:focus-visible{box-shadow:0 9px 22px rgba(7,26,58,.11)!important}
.hm-main .hm-link:hover i,.hm-main .hm-link:focus-visible i{transform:translateX(2px)!important;background:rgba(7,26,58,.12)!important}
.hm-main .hm-cover-main .hm-link,.hm-main .hm-product-main .hm-link{color:#fff!important;border-color:rgba(255,255,255,.28)!important;background:rgba(255,255,255,.12)!important;box-shadow:none!important}
.hm-main .hm-cover-main .hm-link i,.hm-main .hm-product-main .hm-link i{background:rgba(255,255,255,.16)!important}

/* ---------- PÁGINAS INTERNAS: centralização seletiva ---------- */
.hps-main :where(.access-head,.teacher-summary,.pr2-head,.teacher-section-head,.section-head,.head,.intro-head){text-align:center!important}
.hps-main :where(.hero h1,.hero h2,.hero .eyebrow,.hero .kicker){margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.hps-main .hero-grid>div:first-child{min-width:0;text-align:center!important}
.hps-main :where(.hero-actions,.teacher-notice-actions,.pr2-cta-actions,.band-actions,.cta-actions){justify-content:center!important}
.hps-main :where(.teacher-metrics,.metrics,.stats,.numbers,.proof-grid,.pr2-proof-grid){justify-content:center!important}
.hps-main :where(.teacher-metric,.metric,.stat,.number,.pr2-proof-card){text-align:center!important}
.hps-main :where(.choice,.card,.teacher-tool,.teacher-priority,.pr2-value-card,.pr2-proof-card,.access-card,.access-products,.teacher-notice,.step){text-align:center!important}
.hps-main :where(.choice,.card,.teacher-tool,.teacher-priority,.pr2-value-card,.access-card,.step) :where(h2,h3,strong){text-align:center!important}
.hps-main :where(.hero p,.choice p,.card p,.teacher-tool p,.teacher-priority p,.pr2-value-card p,.access-card p,.step p){text-align:left!important}
.hps-main :where(.teacher-tool-top,.card-top,.choice-top){justify-content:center!important}
.hps-main :where(.teacher-tool-link,.card-link,.access-action){justify-content:center!important;align-self:center!important}
.hps-main .access-card .access-icon{margin-inline:auto!important}

html[data-hub-page="professor"] .hps-main .hero-grid>div:first-child{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}
html[data-hub-page="professor"] .hps-main .hero-panel{text-align:center!important}
html[data-hub-page="professor"] .hps-main .hero-list a{justify-content:center!important;text-align:center!important}
html[data-hub-page="professor"] .hps-main .teacher-section-head{align-items:center!important}
html[data-hub-page="professor"] .hps-main .teacher-count{align-self:center!important}
html[data-hub-page="entrar"] .access-products{justify-items:center!important;text-align:center!important}

.hps-main :where(.prose,.article-body,.long-form,.content-text,.reading,.instructions,.instruction,.form,.form-group,form,table,thead,tbody,tfoot,th,td,pre,code,textarea,input,select,label,ul,ol,dl){text-align:left!important}

.hps-main :where(.teacher-tool-link,.card-link,.access-action){display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:34px!important;margin-top:12px!important;padding:7px 11px!important;border:1px solid #d8e3eb!important;border-radius:9px!important;background:#f7fafc!important;box-shadow:0 4px 12px rgba(7,26,58,.045)!important;font-weight:900!important;text-decoration:none!important}

/* ---------- TABLET E CELULAR: drawer, topo e primeira dobra ---------- */
@media(max-width:1024px){
  :root{--hm-rail:0px}
  body.hm-menu-open{overflow:hidden;touch-action:none}
  .hm-main{margin-left:0!important}

  .hm-hero{padding-top:12px!important}
  .hm-hero-top{display:flex!important;align-items:center!important;gap:8px!important;min-height:52px!important;padding-left:58px!important;margin-bottom:10px!important}
  .hm-proofline{display:none!important}
  .hm-wordmark{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important}
  .hm-wordmark>.hm-mark{width:44px!important;height:44px!important;flex:0 0 44px!important;border-radius:13px!important;font-size:22px!important;box-shadow:0 7px 20px rgba(7,26,58,.08)!important}
  .hm-wordmark>span:last-child{min-width:0!important}
  .hm-wordmark strong{font-size:clamp(16px,2.3vw,20px)!important;line-height:1.02!important;white-space:nowrap!important}
  .hm-wordmark small{display:block!important;margin-top:4px!important;color:#5f6f86!important;font-size:9.2px!important;line-height:1!important;font-weight:900!important;letter-spacing:.095em!important;white-space:nowrap!important}
  .hm-top-login{min-height:31px!important;padding:5px 9px!important;font-size:9.8px!important;gap:5px!important}

  .hm-main .hm-cover-main{min-height:430px!important;padding:28px clamp(24px,6vw,48px)!important}
  .hm-main .hm-cover-main h1{max-width:760px!important;font-size:clamp(38px,6vw,50px)!important}
  .hm-main .hm-cover-main p{font-size:13.5px!important;line-height:1.48!important}

  .hm-mobile-menu-toggle{position:fixed!important;z-index:130!important;left:12px;width:44px!important;height:44px!important;border:0!important;border-radius:13px!important;background:#071a3a!important;color:#fff!important;display:grid!important;place-items:center!important;box-shadow:0 8px 24px rgba(7,26,58,.22)!important;cursor:pointer!important;transition:opacity .15s ease,visibility .15s ease,transform .15s ease!important}
  .hm-mobile-menu-toggle i{font-size:18px!important}.hm-mobile-menu-toggle span{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
  body.hm-menu-open .hm-mobile-menu-toggle{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:scale(.92)!important}
  .hm-menu-backdrop{position:fixed!important;inset:0!important;z-index:118!important;border:0!important;padding:0!important;display:block!important;background:rgba(3,15,36,.48)!important;backdrop-filter:blur(2px)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .2s ease,visibility .2s ease!important}
  body.hm-menu-open .hm-menu-backdrop{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .hm-rail{inset:0 auto 0 0!important;z-index:120!important;width:min(82vw,292px)!important;max-width:292px!important;height:100dvh!important;padding:0 0 max(10px,env(safe-area-inset-bottom))!important;border-radius:0 20px 20px 0!important;display:flex!important;flex-direction:column!important;overflow-y:auto!important;background:linear-gradient(180deg,#071a3a 0%,#0a2a58 72%,#0b356c 100%)!important;box-shadow:16px 0 42px rgba(3,18,45,.32)!important;transform:translateX(-104%);visibility:hidden;transition:transform .23s cubic-bezier(.2,.75,.2,1),visibility .23s ease!important}
  body.hm-menu-open .hm-rail{transform:translateX(0);visibility:visible}
  .hm-rail-brand{display:none!important}
  .hm-mobile-menu-head{min-height:64px!important;flex:0 0 64px!important;padding:9px 12px 8px 16px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;border-bottom:1px solid rgba(255,255,255,.09)!important}
  .hm-mobile-menu-brand{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;color:#fff!important}.hm-mobile-menu-brand .hm-mark{width:36px!important;height:36px!important;border-radius:10px!important;font-size:18px!important;flex:0 0 36px!important}.hm-mobile-menu-brand strong{display:block!important;font-size:14px!important;line-height:1!important}.hm-mobile-menu-brand small{display:block!important;margin-top:4px!important;color:#afc4e4!important;font-size:7.5px!important;font-weight:900!important;letter-spacing:.09em!important;text-transform:uppercase!important}.hm-mobile-menu-close{width:38px!important;height:38px!important;flex:0 0 38px!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:11px!important;background:rgba(255,255,255,.055)!important;color:#fff!important;display:grid!important;place-items:center!important;cursor:pointer!important}
  .hm-rail-group{padding:4px 8px!important;border-bottom:1px solid rgba(255,255,255,.075)!important}.hm-rail-group.identity{margin-top:auto!important;border-top:0!important}.hm-rail-link{min-height:44px!important;padding:6px 11px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;border-radius:10px!important;color:#fff!important;text-align:left!important;font-size:13px!important;font-weight:900!important;line-height:1.08!important}.hm-rail-link i{width:22px!important;flex:0 0 22px!important;font-size:15px!important;text-align:center!important}.hm-rail-link span{display:block!important}.hm-rail-link br{display:none!important}.hm-rail-link.is-active{background:rgba(255,255,255,.075)!important}.hm-rail-link.is-active:before{top:8px!important;bottom:8px!important;width:3px!important}.hm-rail-login{min-height:48px!important;flex:0 0 auto!important;margin:4px 8px 0!important;padding:6px 11px!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:10px!important;background:rgba(2,14,32,.56)!important}

  .hps-main .hero-grid{align-items:center!important}.hps-main .hero-grid>div:first-child{align-self:center!important}
  .hps-top-login{min-height:29px!important;padding:5px 8px!important;font-size:9.5px!important}
  .hps-wordmark-copy small{color:#66768a!important;font-size:8.5px!important;line-height:1!important;font-weight:900!important;letter-spacing:.085em!important}
}

@media(max-width:760px){
  .hm-main .hm-cover-main{min-height:335px!important;padding:24px 20px!important}
  .hm-main .hm-cover-main h1{font-size:clamp(34px,8.4vw,43px)!important;line-height:.98!important;letter-spacing:-1.5px!important}
  .hm-main .hm-cover-main p{font-size:12.8px!important;line-height:1.46!important;max-width:580px!important}
  .hm-main .hm-cover-main .hm-eyebrow{font-size:8.3px!important}
  .hm-main .hm-cover-main .hm-link{margin-top:12px!important}
  .hm-section{padding-top:30px!important;padding-bottom:30px!important}
  .hm-main .hm-live-item.daily{min-height:178px!important;padding:22px 18px!important}
  .hm-main .hm-student-layout,.hm-main .hm-family-layout,.hm-main .hm-school-grid,.hm-main .hm-teacher-board,.hm-main .hm-product-layout{align-items:stretch!important}
  .hm-main .hm-student-intro .hm-lead,.hm-main .hm-family-copy .hm-lead,.hm-main .hm-teacher-main>p,.hm-main .hm-school-grid>div:first-child>p,.hm-main .hm-product-main>p{text-align:left!important}
}

@media(max-width:480px){
  .hm-hero-top{padding-left:52px!important;gap:6px!important}
  .hm-mobile-menu-toggle{left:10px!important;width:42px!important;height:42px!important;border-radius:12px!important}
  .hm-wordmark{gap:7px!important}.hm-wordmark>.hm-mark{width:42px!important;height:42px!important;flex-basis:42px!important;border-radius:12px!important;font-size:21px!important}
  .hm-wordmark strong{font-size:15px!important}.hm-wordmark small{font-size:8.5px!important}
  .hm-top-login{padding:5px 8px!important;font-size:9.3px!important}
  .hm-main .hm-cover-main{min-height:305px!important;padding:22px 18px!important}
  .hm-main .hm-cover-main h1{font-size:clamp(31px,8.8vw,38px)!important}
  .hm-main .hm-cover-main p{font-size:12.2px!important}
  .hps-wordmark-copy small{font-size:8px!important}
}
