html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}
/* ==================================================================
   Alkamanda brand + landing theme (education · AI · future learning)
   Scoped to .ak-* classes so the portal pages are unaffected.
   ================================================================== */
:root{
  --ak-indigo:#4f46e5; --ak-violet:#7c3aed; --ak-cyan:#06b6d4;
  --ak-ink:#0f172a; --ak-slate:#64748b;
  --ak-grad:linear-gradient(135deg,#4f46e5 0%,#7c3aed 55%,#06b6d4 100%);
}

/* brand in navbar */
.navbar-brand .brand-word{font-weight:800;letter-spacing:.2px;color:var(--ak-ink);}

/* brand buttons */
.btn-brand{background:var(--ak-grad);border:0;color:#fff;font-weight:600;}
.btn-brand:hover,.btn-brand:focus{filter:brightness(1.07);color:#fff;box-shadow:0 8px 22px rgba(79,70,229,.35);}
.btn-ghost{border:1px solid rgba(255,255,255,.4);color:#fff;font-weight:600;background:transparent;}
.btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff;}

/* hero */
.ak-hero{position:relative;overflow:hidden;border-radius:22px;color:#e5e7fb;
  background:
    radial-gradient(1000px 500px at 80% -10%,rgba(34,211,238,.25),transparent 60%),
    radial-gradient(800px 500px at 0% 110%,rgba(124,58,237,.38),transparent 55%),
    linear-gradient(160deg,#0b1220,#131c33 60%,#0b1220);
  padding:clamp(2.4rem,5vw,4.6rem);}
.ak-hero::before{content:"";position:absolute;inset:0;opacity:.35;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:38px 38px;
  -webkit-mask-image:radial-gradient(760px 420px at 72% 18%,#000,transparent 78%);
          mask-image:radial-gradient(760px 420px at 72% 18%,#000,transparent 78%);}
.ak-hero>*{position:relative;}
.ak-eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .85rem;border-radius:999px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);font-size:.82rem;color:#c7d2fe;}
.ak-hero h1{font-weight:800;font-size:clamp(2rem,4.4vw,3.3rem);line-height:1.08;letter-spacing:-.5px;}
.ak-hero .lead{color:#aeb8e0;max-width:46ch;}
.ak-gradient-text{background:linear-gradient(90deg,#a5b4fc,#67e8f9);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.ak-hero-badges{display:flex;flex-wrap:wrap;gap:.5rem;}
.ak-chip{font-size:.8rem;padding:.32rem .72rem;border-radius:999px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);color:#dbe2ff;}

/* hero mock card */
.ak-glass{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:18px;padding:1.15rem;
  color:#e6ebff;box-shadow:0 20px 60px rgba(2,6,23,.45);}
.ak-glass .q{background:rgba(129,140,248,.22);border:1px solid rgba(165,180,252,.3);
  border-radius:12px;padding:.6rem .8rem;font-size:.92rem;}
.ak-glass .a{font-size:.9rem;color:#cdd6f4;line-height:1.55;}
.ak-glass .cite{display:inline-flex;gap:.4rem;align-items:center;font-size:.75rem;padding:.28rem .62rem;
  border-radius:999px;background:rgba(34,211,238,.16);border:1px solid rgba(34,211,238,.3);color:#a5f3fc;}

/* generic section headings */
.ak-section{padding:clamp(2.2rem,4vw,3.6rem) 0;}
.ak-kicker{color:var(--ak-indigo);font-weight:700;text-transform:uppercase;letter-spacing:2px;font-size:.78rem;}
.ak-h2{font-weight:800;color:var(--ak-ink);font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.4px;}

/* feature cards */
.ak-feature{height:100%;background:#fff;border:1px solid #eef1f7;border-radius:16px;padding:1.4rem;
  box-shadow:0 1px 2px rgba(16,24,40,.04);transition:transform .18s ease,box-shadow .18s ease;}
.ak-feature:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(16,24,40,.10);}
.ak-ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;color:#fff;
  font-size:1.3rem;background:var(--ak-grad);box-shadow:0 6px 16px rgba(79,70,229,.3);}
.ak-feature h3{font-size:1.05rem;font-weight:700;color:var(--ak-ink);margin:.8rem 0 .3rem;}
.ak-feature p{color:var(--ak-slate);font-size:.92rem;margin:0;}

/* steps */
.ak-step{display:flex;gap:1rem;align-items:flex-start;}
.ak-step .n{flex:0 0 auto;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  font-weight:700;color:#fff;background:var(--ak-grad);}
.ak-step h4{font-size:1.02rem;font-weight:700;color:var(--ak-ink);margin:.15rem 0 .2rem;}
.ak-step p{color:var(--ak-slate);font-size:.92rem;margin:0;}

/* brand story */
.ak-story{background:linear-gradient(180deg,#f8faff,#eef2ff);border:1px solid #e6ebfb;
  border-radius:20px;padding:clamp(1.6rem,3vw,2.6rem);}
.ak-story .meaning{color:var(--ak-slate);font-size:1.02rem;}

/* cta band */
.ak-cta{border-radius:20px;color:#fff;background:var(--ak-grad);padding:clamp(1.8rem,4vw,2.6rem);
  text-align:center;box-shadow:0 20px 50px rgba(79,70,229,.3);}
.ak-cta h2{font-weight:800;font-size:clamp(1.4rem,3vw,2rem);}

@media (max-width:575.98px){ .ak-hero{border-radius:16px;} }

/* language switcher (flag icons) */
.lang-switch{gap:.35rem;}
.lang-flag{display:inline-flex;padding:2px;border-radius:5px;line-height:0;opacity:.5;
  border:1px solid transparent;transition:opacity .15s ease,border-color .15s ease,background .15s ease;}
.lang-flag:hover{opacity:.9;}
.lang-flag.active{opacity:1;border-color:rgba(79,70,229,.5);background:rgba(79,70,229,.08);}
.lang-flag img{width:22px;height:15px;border-radius:2px;display:block;box-shadow:0 0 0 1px rgba(0,0,0,.08);}
