/* HIBA One public spatial primitives.
 * Lean shared layer: page canvas, intentional full-bleed sections and footer only.
 * Component composition lives in marketing-hallmark.css and page-specific styles.
 */
body.hiba-one-public:not(.hiba-one-app-page) .simple-page{background:var(--bg,#F7F9FC)}
body.hiba-one-public:not(.hiba-one-app-page) .simple-page__inner{padding:0}
body.hiba-one-public:not(.hiba-one-app-page) .simple-page .entry-content{margin:0}
body.hiba-one-public:not(.hiba-one-app-page) .simple-page__inner>article{
  min-width:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none;
}

/* Full-bleed subtle bands without 100vw overflow. */
body.hiba-one-public:not(.hiba-one-app-page) .public-section--subtle{
  position:relative;
  isolation:isolate;
  background:var(--subtleAlt,#F9FAFB);
  box-shadow:0 0 0 100vmax var(--subtleAlt,#F9FAFB);
  clip-path:inset(0 -100vmax);
}

/* Feature-specific dark rail can bleed safely without viewport overflow. */
body.hiba-one-public:not(.hiba-one-app-page) .student-feature .sf-flow{
  width:auto;
  margin-left:0;
  margin-right:0;
  padding-left:0;
  padding-right:0;
  position:relative;
  isolation:isolate;
  box-shadow:0 0 0 100vmax #081426;
  clip-path:inset(0 -100vmax);
}

/* Public footer */
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer{
  margin-top:clamp(72px,8vw,120px);
  padding:clamp(64px,7vw,96px) 0 0;
  background:#081426;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer a{color:inherit;text-decoration:none}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__top{
  display:grid;
  grid-template-columns:minmax(240px,.8fr) minmax(0,2.2fr);
  gap:clamp(48px,6vw,88px);
  align-items:start;
}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__brand .brand{
  display:inline-flex;
  width:min(210px,100%);
  padding:12px 14px;
  border-radius:16px;
  background:#fff;
}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__brand .brand img{width:100%;height:auto}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__promise{
  max-width:380px;
  margin:24px 0 28px;
  color:rgba(255,255,255,.68);
  font-size:15px;
  line-height:1.7;
}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__contact{display:grid;gap:10px}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__contact a{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.10);
}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__contact span{color:rgba(255,255,255,.52);font-size:13px}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__contact strong{font-size:15px}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__columns{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(24px,3vw,42px);
}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__columns section{min-width:0}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__columns h2{
  margin:0 0 20px;
  color:#fff;
  font:800 15px/1.3 var(--fontH,Manrope,sans-serif);
  letter-spacing:.01em;
}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__columns a{
  display:block;
  width:fit-content;
  margin:0 0 12px;
  color:rgba(255,255,255,.67);
  font-size:14px;
  line-height:1.45;
  transition:color .2s ease,transform .2s ease;
}
@media(hover:hover){
  body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__columns a:hover,
  body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__company a:hover{
    color:#fff;
    transform:translateX(3px);
  }
}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__columns .hiba-footer__all{color:#C7D7FE;font-weight:750}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__support-note{
  margin:22px 0 0;
  color:rgba(255,255,255,.50);
  font-size:13px;
  line-height:1.65;
}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__company{
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:clamp(32px,6vw,96px);
  margin-top:clamp(52px,6vw,80px);
  padding-top:34px;
  padding-bottom:34px;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__company h2{
  margin:0 0 18px;
  color:#fff;
  font:800 clamp(18px,1.5vw,22px)/1.25 var(--fontH,Manrope,sans-serif);
}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__company p{
  margin:8px 0;
  color:rgba(255,255,255,.68);
  font-size:14px;
  line-height:1.6;
}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__company p span{
  display:block;
  margin-bottom:3px;
  color:rgba(255,255,255,.42);
  font-size:12px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.06em;
}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__company strong,
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__company a{color:#fff}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-top:24px;
  padding-bottom:28px;
  color:rgba(255,255,255,.46);
  font-size:12px;
}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__bottom div{display:flex;flex-wrap:wrap;gap:18px}
body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__bottom a{color:rgba(255,255,255,.58)}

@media(max-width:1100px){
  body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__top{grid-template-columns:1fr}
  body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__brand{
    display:grid;
    grid-template-columns:minmax(220px,.7fr) 1fr;
    gap:20px 48px;
    align-items:start;
  }
  body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__brand .brand{grid-row:1 / span 2}
  body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__promise{margin:0;max-width:560px}
  body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__contact{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer{margin-top:64px;padding-top:52px}
  body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__brand{display:block}
  body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__promise{margin:22px 0}
  body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__contact{grid-template-columns:1fr}
  body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 24px}
  body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__company{grid-template-columns:1fr;gap:22px}
  body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__bottom{align-items:flex-start;flex-direction:column}
}
@media(max-width:460px){
  body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__columns{grid-template-columns:1fr;gap:34px}
}
@media(prefers-reduced-motion:reduce){
  body.hiba-one-public:not(.hiba-one-app-page) .hiba-footer__columns a{transition:none}
}
