/* ============================================================
   HUB · OFERTA PERSONALIZADA (identificação de aluna)
   Padrão Apple unification v5: SF stack · #1D1D1F · azul #0071E3
   ============================================================ */

.hof{padding:clamp(10px,2.5vw,18px) 16px clamp(56px,13vw,84px);}
.hof__card{max-width:680px;margin:0 auto;background:#F5F5F7;border-radius:28px;
  padding:clamp(30px,8vw,52px) clamp(20px,6vw,56px);text-align:center;box-sizing:border-box;}

.hof__eyebrow{display:block;font-size:13px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:#6E6E73;margin-bottom:10px;}
.hof__title{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,system-ui,sans-serif;
  font-weight:700;letter-spacing:-.022em;line-height:1.08;color:#1D1D1F;
  font-size:clamp(24px,6.8vw,36px);margin:0 auto;max-width:18ch;text-wrap:balance;}
.hof__sub{font-size:15.5px;line-height:1.45;color:#6E6E73;max-width:38ch;
  margin:12px auto 0;letter-spacing:-.01em;}

.hof__form{display:flex;flex-direction:column;gap:10px;max-width:420px;margin:clamp(20px,5.5vw,28px) auto 0;}
.hof__field{width:100%;box-sizing:border-box;padding:14px 18px;background:#fff;
  border:1px solid #D2D2D7;border-radius:14px;font-family:inherit;font-size:17px;
  letter-spacing:-.01em;color:#1D1D1F;outline:none;-webkit-appearance:none;appearance:none;
  transition:border-color .18s ease,box-shadow .18s ease;}
.hof__field::placeholder{color:#86868B;opacity:1;}
.hof__field:focus{border-color:#0071E3;box-shadow:0 0 0 3.5px rgba(0,113,227,.18);}
.hof__hp{position:absolute;left:-9999px;top:-9999px;height:1px;width:1px;opacity:0;}

.hof__consent{display:flex;align-items:center;justify-content:center;gap:8px;
  font-size:13px;color:#6E6E73;cursor:pointer;user-select:none;margin-top:2px;}
.hof__consent input{accent-color:#0071E3;width:16px;height:16px;margin:0;}

.hof__btn{display:inline-flex;align-items:center;justify-content:center;gap:.35em;
  margin-top:6px;padding:14px 28px;background:#0071E3;color:#fff;border:none;
  border-radius:100px;font-family:inherit;font-size:16px;font-weight:600;
  letter-spacing:-.01em;cursor:pointer;transition:transform .15s ease,background .15s ease;}
.hof__btn:hover{background:#0666CE;transform:translateY(-1px);}
.hof__btn[disabled]{opacity:.55;cursor:default;transform:none;}

.hof__err{font-size:14px;color:#D70015;margin:4px 0 0;}
.hof__note{font-size:12.5px;color:#86868B;margin:16px auto 0;max-width:40ch;}

/* ---- Resultado ---- */
.hof__hello{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:#6E6E73;margin-bottom:10px;display:block;}
.hof__rtitle{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,system-ui,sans-serif;
  font-weight:700;letter-spacing:-.022em;line-height:1.1;color:#1D1D1F;
  font-size:clamp(23px,6.4vw,34px);margin:0 auto;max-width:20ch;text-wrap:balance;}
.hof__rsub{font-size:15.5px;line-height:1.5;color:#6E6E73;max-width:42ch;margin:12px auto 0;letter-spacing:-.01em;}

.hof__chip{display:inline-flex;align-items:center;gap:12px;margin:clamp(18px,5vw,26px) auto 6px;
  background:#fff;border:1.5px dashed #0071E3;border-radius:14px;padding:12px 18px;}
.hof__chip-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:19px;
  font-weight:700;letter-spacing:.05em;color:#1D1D1F;}
.hof__chip-pct{font-size:14px;font-weight:700;color:#0071E3;white-space:nowrap;}
.hof__chip-copy{border:none;background:none;color:#0071E3;font-family:inherit;font-size:13.5px;
  font-weight:600;cursor:pointer;padding:4px 6px;border-radius:8px;}
.hof__chip-copy:hover{text-decoration:underline;}
.hof__auto{font-size:12.5px;color:#86868B;margin:2px 0 0;}

.hof__doors{display:grid;grid-template-columns:1fr;gap:12px;max-width:520px;
  margin:clamp(20px,5vw,26px) auto 0;text-align:left;}
@media (min-width:640px){.hof__doors{grid-template-columns:1fr 1fr;}}
.hof__door{background:#fff;border-radius:18px;padding:22px 20px;display:flex;
  flex-direction:column;gap:8px;box-shadow:0 1px 2px rgba(0,0,0,.04);}
.hof__door-eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0071E3;}
.hof__door-title{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,system-ui,sans-serif;
  font-weight:700;letter-spacing:-.015em;font-size:19px;color:#1D1D1F;line-height:1.15;margin:0;}
.hof__door-sub{font-size:14px;line-height:1.45;color:#6E6E73;margin:0;flex:1;}
.hof__door-cta{display:inline-flex;align-items:center;gap:.3em;color:#0071E3;
  font-size:15px;font-weight:500;text-decoration:none;margin-top:4px;}
.hof__door-cta svg{width:.9em;height:.9em;stroke:currentColor;stroke-width:2.4;fill:none;
  stroke-linecap:round;stroke-linejoin:round;}
.hof__door-cta:hover{text-decoration:underline;}

.hof__ladder{display:flex;align-items:center;justify-content:center;gap:8px;
  margin:clamp(18px,4.5vw,22px) auto 0;font-size:13.5px;color:#6E6E73;}
.hof__ladder-dots{display:inline-flex;gap:5px;}
.hof__ladder-dot{width:8px;height:8px;border-radius:50%;background:#D2D2D7;}
.hof__ladder-dot--on{background:#0071E3;}

.hof__ctas{display:flex;flex-direction:column;align-items:center;gap:14px;margin:clamp(20px,5vw,26px) auto 0;}
.hof__cta-solid{display:inline-flex;align-items:center;justify-content:center;gap:.35em;
  padding:14px 28px;background:#0071E3;color:#fff;border-radius:100px;text-decoration:none;
  font-size:16px;font-weight:600;letter-spacing:-.01em;transition:transform .15s ease,background .15s ease;}
.hof__cta-solid:hover{background:#0666CE;transform:translateY(-1px);}
.hof__cta-link{color:#0071E3;font-size:15px;font-weight:500;text-decoration:none;
  background:none;border:none;font-family:inherit;cursor:pointer;padding:0;}
.hof__cta-link:hover{text-decoration:underline;}

.hof__switch{margin-top:clamp(20px,5vw,26px);}
.hof__switch button{background:none;border:none;color:#86868B;font-family:inherit;
  font-size:12.5px;cursor:pointer;padding:4px;}
.hof__switch button:hover{color:#6E6E73;text-decoration:underline;}

@media (prefers-reduced-motion:reduce){
  .hof__btn,.hof__cta-solid{transition:none;}
}

/* ---- Modal Área da Aluna ---- */
body.hofm-locked{overflow:hidden;}
.hofm{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px;}
.hofm[hidden]{display:none;}
.hofm__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.42);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  opacity:0;transition:opacity .26s ease;}
.hofm__sheet{position:relative;width:100%;max-width:560px;max-height:88vh;overflow-y:auto;
  -webkit-overflow-scrolling:touch;background:#F5F5F7;border-radius:28px;
  padding:clamp(30px,7vw,48px) clamp(20px,5vw,48px);text-align:center;box-sizing:border-box;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
  opacity:0;transform:translateY(26px) scale(.98);
  transition:opacity .26s ease,transform .3s cubic-bezier(.2,.8,.2,1);}
.hofm.is-open .hofm__backdrop{opacity:1;}
.hofm.is-open .hofm__sheet{opacity:1;transform:none;}
.hofm__close{position:absolute;top:14px;right:14px;width:32px;height:32px;border:none;
  border-radius:50%;background:rgba(118,118,128,.14);color:#3A3A3C;display:grid;place-items:center;
  cursor:pointer;transition:background .15s;}
.hofm__close:hover{background:rgba(118,118,128,.24);}
.hofm__close svg{width:15px;height:15px;}
.hof__title--modal{font-size:clamp(22px,5.6vw,30px);}
@media (max-width:560px){
  .hofm{padding:0;align-items:end;}
  .hofm__sheet{max-width:100%;border-radius:24px 24px 0 0;max-height:92vh;
    transform:translateY(40px);}
}
@media (prefers-reduced-motion:reduce){
  .hofm__backdrop,.hofm__sheet{transition:none;}
}
