/* =============================================
   SEAL EDUCATION — Global Stylesheet
   ============================================= */
@import url('https://api.fontshare.com/v2/css?f[]=satoshi@400,500,600,700,800,900&display=swap');

:root {
  --purple:      #3d1a78;
  --purple-dark: #2d1260;
  --purple-nav:  #1e0d4a;
  --purple-mid:  #4a2882;
  /* --blue-c:      #1a4fd8; */
	--blue-c:     #2d1260;
  --gold:        #F3B229;
  --gold-light:  #ffc14d;
  --navy:        #0d1117;
  --offwhite:    #f9f8ff;
  --tbody:       #222233;
  --tmuted:      #6b6b8a;
  --border:      #e5e2ee;
  --white:       #ffffff;
}

*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body { font-family: 'Satoshi', sans-serif; color: var(--tbody); background: #fff; overflow-x: hidden; max-width: 100%; position: relative; }
img { display: block; max-width: 100%; }
a { text-decoration: none; }

/* ===== SCROLL REVEAL ===== */
.sr { opacity: 0; transform: translateY(36px); transition: opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1); }
.sr.left  { transform: translateX(-36px); }
.sr.right { transform: translateX(36px); }
.sr.vis   { opacity: 1 !important; transform: none !important; }

/* ===== KEYFRAMES ===== */
@keyframes glowPulse  { 0%,100%{opacity:.7;transform:scale(1)} 50%{opacity:1;transform:scale(1.1)} }
@keyframes flt        { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
@keyframes fadeUp     { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeInRight{ from{opacity:0;transform:translateX(30px)} to{opacity:1;transform:translateX(0)} }
@keyframes lineGrow   { from{transform:scaleX(0)} to{transform:scaleX(1)} }
@keyframes particleFlt{ 0%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-28px) rotate(180deg)} 100%{transform:translateY(0) rotate(360deg)} }
@keyframes spin       { from{transform:translate(-50%,-50%) rotate(0)} to{transform:translate(-50%,-50%) rotate(360deg)} }
@keyframes starSpin   { 0%,100%{transform:scale(1) rotate(0)} 50%{transform:scale(1.3) rotate(20deg)} }
@keyframes iconBounce { 0%{transform:scale(1)} 30%{transform:scale(1.25) rotate(-6deg)} 60%{transform:scale(.95) rotate(4deg)} 80%{transform:scale(1.08)} 100%{transform:scale(1)} }

/* ===== SECTION TAG ===== */
.stag { display: inline-flex; align-items: center; gap: 8px; color: var(--purple); font-size: 19px; font-weight: 700; margin-bottom: 14px; }
.stag .s { color: var(--gold); font-size: 16px; animation: starSpin 3s ease-in-out infinite; }
.sh { font-size: clamp(1.7rem,3vw,2.4rem); font-weight: 900; color: var(--purple); line-height: 1.2; margin-bottom: 10px; }
.sh .g { color: var(--gold); }

/* ===== BUTTONS ===== */
.btn-gold {
  background: var(--gold); color: #1e0d4a; font-weight: 700; font-size: 14px;
  padding: 13px 30px; border-radius: 50px; border: none; cursor: pointer;
  transition: all .3s; font-family: 'Satoshi',sans-serif; position: relative; overflow: hidden;
}
.btn-gold::before { content:''; position:absolute; inset:0; background:rgba(255,255,255,.3); transform:translateX(-110%) skewX(-15deg); transition:transform .4s; }
.btn-gold:hover::before { transform:translateX(110%) skewX(-15deg); }
.btn-gold:hover { background: var(--gold-light); transform: translateY(-3px); box-shadow: 0 12px 32px rgba(245,166,35,.5); color: #1e0d4a; }

.btn-ow {
  background: transparent; color: #fff; font-weight: 600; font-size: 14px;
  padding: 13px 28px; border-radius: 50px; border: 2px solid rgba(255,255,255,.38);
  cursor: pointer; transition: all .3s; font-family: 'Satoshi',sans-serif;
}
.btn-ow:hover { border-color:#fff; background:rgba(255,255,255,.12); transform:translateY(-3px); }

.btn-pur {
  display: inline-block; background: var(--purple); color: #fff; font-weight: 700;
  font-size: 14px; padding: 12px 28px; border-radius: 8px; border: none;
  transition: all .3s; font-family: 'Satoshi',sans-serif; cursor: pointer; position: relative; overflow: hidden;
}
.btn-pur::before { content:''; position:absolute; inset:0; background:rgba(255,255,255,.15); transform:translateX(-110%) skewX(-15deg); transition:transform .4s; }
.btn-pur:hover::before { transform:translateX(110%) skewX(-15deg); }
.btn-pur:hover { background:var(--purple-dark); color:#fff; transform:translateY(-2px); box-shadow:0 10px 28px rgba(61,26,120,.35); }

/* ===== PAGE HERO (inner pages) ===== */
.page-hero {
  background: linear-gradient(135deg, var(--purple-dark) 0%, var(--purple) 55%, #5a2899 100%);
  padding: 90px 0 80px; position: relative; overflow: hidden;
}
.page-hero::before {
  content: ''; position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 38px 38px; pointer-events: none;
}
.page-hero-glow { position:absolute; top:-100px; right:-100px; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle,rgba(245,166,35,.14) 0%,transparent 68%); animation:glowPulse 5s ease-in-out infinite; pointer-events:none; }
.page-hero h1 { font-size: clamp(2rem,4vw,3rem); font-weight: 900; color: #fff; line-height: 1.2; margin-bottom: 16px; }
.page-hero h1 .gld { color: var(--gold); }
.page-hero p { color: rgba(255,255,255,.75); font-size: 17px; line-height: 1.75; max-width: 560px; }
.breadcrumb-wrap { display: flex; align-items: center; gap: 8px; margin-bottom: 20px; }
.breadcrumb-wrap a { color: rgba(255,255,255,.6); font-size: 13px; font-weight: 500; transition: color .3s; }
.breadcrumb-wrap a:hover { color: var(--gold); }
.breadcrumb-wrap span { color: rgba(255,255,255,.3); font-size: 13px; }
.breadcrumb-wrap .cur { color: var(--gold); font-size: 13px; font-weight: 600; }

/* ===== FAB ===== */
.fab-w { position:fixed; right:22px; bottom:80px; z-index:998; display:flex; flex-direction:column; gap:12px; }
.fab { width:50px; height:50px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:20px; color:#fff; box-shadow:0 6px 22px rgba(0,0,0,.28); transition:all .35s; }
.fab.wa { background:#25d366; }
.fab.ph { background:var(--purple); }
.fab:hover { transform:scale(1.15) rotate(8deg); }
.btt { position:fixed; right:22px; bottom:22px; z-index:997; width:44px; height:44px; background:var(--purple); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:16px; box-shadow:0 6px 20px rgba(61,26,120,.4); transition:all .35s; opacity:0; pointer-events:none; }
.btt.show { opacity:1; pointer-events:auto; }
.btt:hover { background:var(--gold); color:#1e0d4a; transform:translateY(-3px); }

/* ===== GLOBAL HORIZONTAL SCROLL PREVENTION ===== */
html, body {
  overflow-x: hidden !important;
  max-width: 100% !important;
  width: 100%;
}
/* Sections full width */
section, .hero-carousel, footer, nav {
  width: 100%;
  max-width: 100%;
}
/* Bootstrap container override — keep centered content */
.container {
  width: 100%;
}
/* Prevent overflow from absolute/fixed elements */
.page-hero, .fw-sec, .stats-banner,
.about-sec, .course-sec, .car-sec, .tsti-sec,
.cnsl-sec, .afl-sec, .feat-sec, .cert-sec, .apply-cta {
  overflow: hidden;
  width: 100%;
}
