/* ═══════════════════════════════════════════════════
   FOSS WORKSHOP — fixes.css
   Typography system based on Bosscoder analysis
   Plus Jakarta Sans kept · Sizes & weights corrected
   Upload to: themes/fossworkshop/assets/css/fixes.css
═══════════════════════════════════════════════════ */

/* ── FONT IMPORT ───────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

/* ── CSS VARIABLES ─────────────────────────────── */
:root {
  --fw-h1:        42px;
  --fw-h2:        28px;
  --fw-h3:        18px;
  --fw-body:      15px;
  --fw-small:     13px;
  --fw-label:     11px;
  --fw-stat:      28px;
  --fw-nav:       14px;
}

/* ══════════════════════════════════════════════════
   SECTION 1 — GLOBAL RESETS
══════════════════════════════════════════════════ */

* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

body {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: var(--fw-body) !important;
  line-height: 1.6 !important;
  color: #0D1B2A !important;
}

/* ══════════════════════════════════════════════════
   SECTION 2 — NAV TYPOGRAPHY
   Bosscoder: Inter 14px weight 500
   FOSS fix:  Plus Jakarta Sans 14px weight 500
══════════════════════════════════════════════════ */

/* Nav height */
.nav { height: 70px !important; }
@media (min-width: 960px) { .nav { height: 74px !important; } }

/* Logo */
.nav-logo-img {
  height: 44px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
}
@media (min-width: 960px) { .nav-logo-img { height: 52px !important; } }
.nlogo a { display: flex !important; align-items: center !important; text-decoration: none !important; }

/* Nav links — NO BULLETS */
nav, nav ul, nav ol, nav li,
.nav-links, .nav-links ul, .nav-links li,
.nav-drawer, .nav-drawer ul, .nav-drawer li {
  list-style: none !important;
  list-style-type: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}
.nav-links li a {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #4A5568 !important;
  letter-spacing: -0.1px !important;
  padding: 8px 12px !important;
  text-decoration: none !important;
  transition: color .15s !important;
}
.nav-links li a:hover { color: #0D1B2A !important; }

/* Nav buttons */
.nbtn-ghost {
  font-size: 13px !important; font-weight: 600 !important;
  padding: 8px 18px !important; letter-spacing: 0 !important;
}
.nbtn-fill {
  font-size: 13px !important; font-weight: 700 !important;
  padding: 9px 20px !important; letter-spacing: 0 !important;
}

/* Hide desktop nav on mobile, show hamburger */
@media (max-width: 959px) {
  .nav-links { display: none !important; }
  .nav-burger { display: flex !important; }
  .nbtn-ghost { display: none !important; }
  .nbtn-fill { font-size: 12px !important; padding: 8px 14px !important; }
}
@media (min-width: 960px) {
  .nav-links { display: flex !important; }
  .nav-burger { display: none !important; }
  .nav-drawer { display: none !important; }
}

/* Mobile drawer */
.nav-drawer { list-style: none !important; }
.nav-drawer a {
  font-size: 15px !important; font-weight: 600 !important;
  color: #4A5568 !important; text-decoration: none !important;
  padding: 13px 0 !important; border-bottom: 1px solid #E2ECF0 !important;
  display: block !important;
}
.nav-drawer a:hover { color: #00AEEF !important; }

/* ══════════════════════════════════════════════════
   SECTION 3 — HERO TYPOGRAPHY
   Bosscoder: H1 64px weight 900
   FOSS fix:  H1 60px weight 800 (Jakarta doesn't have 900)
══════════════════════════════════════════════════ */

/* Hero section — remove excess min-height */
.hero { min-height: unset !important; }
.hl { padding: 52px 28px 44px !important; }
.hr { padding: 52px 28px 44px !important; }
@media (min-width: 640px) {
  .hl { padding: 60px 40px 52px !important; }
  .hr { padding: 60px 40px 52px !important; }
}
@media (min-width: 960px) {
  .hl { padding: 68px 52px 60px !important; }
  .hr { padding: 68px 52px 60px !important; }
}

/* Eyebrow */
.htag, .hr-htag {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  margin-bottom: 18px !important;
}

/* Hero H1 — mobile → tablet → desktop */
.hl h1 {
  font-size: 38px !important;
  font-weight: 800 !important;
  letter-spacing: -1.8px !important;
  line-height: 1.07 !important;
  margin-bottom: 16px !important;
}
@media (min-width: 640px) {
  .hl h1 { font-size: 48px !important; letter-spacing: -2.2px !important; }
}
@media (min-width: 960px) {
  .hl h1 { font-size: 58px !important; letter-spacing: -2.8px !important; line-height: 1.05 !important; }
}

/* Hero H2 right panel */
.hr h2 {
  font-size: 36px !important;
  font-weight: 800 !important;
  letter-spacing: -1.8px !important;
  line-height: 1.07 !important;
  margin-bottom: 16px !important;
}
@media (min-width: 640px) {
  .hr h2 { font-size: 44px !important; letter-spacing: -2.2px !important; }
}
@media (min-width: 960px) {
  .hr h2 { font-size: 54px !important; letter-spacing: -2.5px !important; }
}

/* Hero body text */
.hl-body, .hr-body {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;
  letter-spacing: -0.1px !important;
  margin-bottom: 28px !important;
}

/* Hero buttons */
.btn-fill-lg {
  font-size: 14px !important; font-weight: 700 !important;
  padding: 13px 24px !important; letter-spacing: 0 !important;
  border-radius: 9px !important;
}
.btn-ghost-lg {
  font-size: 13px !important; font-weight: 500 !important;
  padding: 12px 20px !important; letter-spacing: 0 !important;
  border-radius: 9px !important;
}
.btn-cyan-lg {
  font-size: 14px !important; font-weight: 700 !important;
  padding: 13px 24px !important; letter-spacing: 0 !important;
  border-radius: 9px !important;
}

/* Proof stats */
.proof-row { gap: 0 !important; }
.proof-row > div { flex: 1; text-align: center; padding: 0 12px; border-right: 1px solid #E2ECF0; }
.proof-row > div:last-child { border-right: none; }
.proof-n {
  font-size: 26px !important;
  font-weight: 800 !important;
  letter-spacing: -1.2px !important;
  line-height: 1 !important;
}
@media (min-width: 640px) { .proof-n { font-size: 30px !important; } }
.proof-l {
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  color: #8A97A5 !important;
  margin-top: 4px !important;
}

/* ══════════════════════════════════════════════════
   SECTION 4 — MARQUEE
   Fix overlap with hero above
══════════════════════════════════════════════════ */
.mq {
  position: relative !important;
  z-index: 10 !important;
  border-top: 3px solid #00AEEF !important;
  border-bottom: 1px solid #C8E9F7 !important;
  background: #EBF8FE !important;
  padding: 11px 0 !important;
  margin-top: 0 !important;
}
.hero { position: relative !important; z-index: 1 !important; }
.mq-item {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #0078A8 !important;
  padding: 0 22px !important;
  letter-spacing: 0 !important;
}

/* ══════════════════════════════════════════════════
   SECTION 5 — SECTION HEADINGS
   Bosscoder: H2 44px weight 800
   FOSS fix:  H2 42px weight 800
══════════════════════════════════════════════════ */

.eyebrow {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  margin-bottom: 12px !important;
  line-height: 1 !important;
}

.sh {
  font-size: 28px !important;
  font-weight: 800 !important;
  letter-spacing: -1.2px !important;
  line-height: 1.12 !important;
  margin-bottom: 12px !important;
  color: #0D1B2A !important;
}
@media (min-width: 640px) {
  .sh { font-size: 34px !important; letter-spacing: -1.5px !important; }
}
@media (min-width: 960px) {
  .sh { font-size: 40px !important; letter-spacing: -2px !important; line-height: 1.1 !important; }
}

/* Dark section heading */
.sh-wh { color: #fff !important; }

.sp {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;
  letter-spacing: -0.1px !important;
  color: #4A5568 !important;
  margin-bottom: 0 !important;
}
.sp-dk { color: rgba(255,255,255,.48) !important; }

/* ══════════════════════════════════════════════════
   SECTION 6 — SECTION PADDING (tighter like Bosscoder)
══════════════════════════════════════════════════ */
.s { padding: 56px 24px !important; }
.s.s-bg { padding: 56px 24px !important; }
.s.s-dark { padding: 56px 24px !important; }
@media (min-width: 640px) {
  .s, .s.s-bg, .s.s-dark { padding: 64px 40px !important; }
}
@media (min-width: 960px) {
  .s, .s.s-bg, .s.s-dark { padding: 72px 56px !important; }
}

/* Section inner spacing */
.t2col { margin-top: 40px !important; gap: 48px !important; }
.proc-row { margin-top: 40px !important; }
.cgrid { margin-top: 40px !important; }
.out2 { margin-top: 40px !important; gap: 36px !important; }
.w4 { margin-top: 40px !important; gap: 14px !important; }

/* ══════════════════════════════════════════════════
   SECTION 7 — COURSE TABLE
══════════════════════════════════════════════════ */
.ctn {
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -0.3px !important;
  margin-bottom: 3px !important;
}
.cts {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #8A97A5 !important;
  line-height: 1.4 !important;
}
.cdur {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #4A5568 !important;
}
.cmode {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #8A97A5 !important;
}
.cbtn {
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 7px 14px !important;
  border-radius: 7px !important;
}
.ctag {
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 3px 9px !important;
  letter-spacing: 0.3px !important;
}

/* Table tablet fix */
@media (min-width: 640px) and (max-width: 900px) {
  .cthead, .ctrow { grid-template-columns: 2fr 1fr 1fr 100px !important; }
  .cthead span:nth-child(4), .ctrow .cmode { display: none !important; }
}

/* ══════════════════════════════════════════════════
   SECTION 8 — CARD TYPOGRAPHY
══════════════════════════════════════════════════ */
.cc-title {
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: -0.8px !important;
  line-height: 1.2 !important;
  margin-bottom: 6px !important;
}
.cc-tagline {
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
}
.cc-desc {
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;
  color: #4A5568 !important;
}
.cc-meta-val {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: -0.2px !important;
}
.cc-meta-label {
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* Consulting card */
.sv-title {
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;
  margin-bottom: 8px !important;
}
.sv-desc {
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}
.ccard h3 {
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: -0.4px !important;
  margin-bottom: 7px !important;
}
.ccard p {
  font-size: 13px !important;
  line-height: 1.68 !important;
}

/* ══════════════════════════════════════════════════
   SECTION 9 — STAT NUMBERS
   Bosscoder: 48–56px weight 900
   FOSS fix:  40–48px weight 800 (max Jakarta)
══════════════════════════════════════════════════ */
.out-big {
  font-size: 72px !important;
  font-weight: 800 !important;
  letter-spacing: -4px !important;
  line-height: 0.9 !important;
  margin-bottom: 16px !important;
}
@media (min-width: 640px) { .out-big { font-size: 88px !important; } }
@media (min-width: 960px) { .out-big { font-size: 100px !important; letter-spacing: -6px !important; } }

.os-n {
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: -0.8px !important;
}

/* Hero proof stats — bigger */
.proof-n {
  font-size: 28px !important;
  font-weight: 800 !important;
  letter-spacing: -1.5px !important;
}
@media (min-width: 640px) { .proof-n { font-size: 32px !important; } }

/* Training page stat numbers */
.tp-stat-n {
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: -1px !important;
}
@media (max-width: 540px) {
  .tp-hero-stats {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    border-radius: 12px !important;
  }
  .tp-stat { border-right: none !important; border-bottom: 1px solid rgba(255,255,255,.08) !important; }
  .tp-stat:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.08) !important; }
  .tp-stat:nth-last-child(-n+2) { border-bottom: none !important; }
}

/* ══════════════════════════════════════════════════
   SECTION 10 — TESTIMONIAL / STORY CARDS
══════════════════════════════════════════════════ */
.story q, .op-tc-text {
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  font-style: italic !important;
}
.s-n, .op-tc-name {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: -0.2px !important;
}
.s-r, .op-tc-role {
  font-size: 11px !important;
  font-weight: 400 !important;
  color: #8A97A5 !important;
}
.prod-quote {
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  color: #374151 !important;
}

/* ══════════════════════════════════════════════════
   SECTION 11 — ABOUT PAGE HEADINGS
══════════════════════════════════════════════════ */
.ab-hero-h1 {
  font-size: 36px !important; letter-spacing: -1.5px !important; line-height: 1.08 !important;
}
@media (min-width: 640px) { .ab-hero-h1 { font-size: 46px !important; letter-spacing: -2px !important; } }
@media (min-width: 960px) { .ab-hero-h1 { font-size: 56px !important; letter-spacing: -2.5px !important; } }

.ab-founder-h2 { font-size: 32px !important; font-weight: 800 !important; letter-spacing: -1.5px !important; }
.ab-sec-h { font-size: 28px !important; font-weight: 800 !important; letter-spacing: -1.2px !important; }
@media (min-width: 960px) { .ab-sec-h { font-size: 36px !important; letter-spacing: -1.8px !important; } }

.ab-story-block p { font-size: 15px !important; line-height: 1.8 !important; color: #4A5568 !important; }
.ab-qb-text { font-size: 15px !important; line-height: 1.75 !important; }

.ab-2030-h { font-size: 34px !important; letter-spacing: -1.8px !important; }
@media (min-width: 640px) { .ab-2030-h { font-size: 40px !important; } }
@media (min-width: 960px) { .ab-2030-h { font-size: 48px !important; letter-spacing: -2.5px !important; } }

.ab-2030-n { font-size: 52px !important; font-weight: 800 !important; letter-spacing: -3px !important; }
@media (min-width: 640px) { .ab-2030-n { font-size: 64px !important; letter-spacing: -4px !important; } }

.ab-val-card h3 { font-size: 17px !important; font-weight: 800 !important; letter-spacing: -0.4px !important; }
.ab-val-card p { font-size: 13px !important; line-height: 1.7 !important; }

/* About page padding */
.ab-hero { padding: 56px 24px 48px !important; }
.ab-founder, .ab-foss, .ab-mission, .ab-2030, .ab-values, .ab-team, .ab-numbers { padding: 56px 24px !important; }
.ab-cta { padding: 60px 24px !important; }
@media (min-width: 640px) {
  .ab-hero { padding: 64px 40px 56px !important; }
  .ab-founder, .ab-foss, .ab-mission, .ab-2030, .ab-values, .ab-team, .ab-numbers { padding: 64px 40px !important; }
  .ab-cta { padding: 72px 40px !important; }
}
@media (min-width: 960px) {
  .ab-hero { padding: 72px 56px 64px !important; }
  .ab-founder, .ab-foss, .ab-mission, .ab-2030, .ab-values, .ab-team, .ab-numbers { padding: 72px 56px !important; }
  .ab-cta { padding: 80px 56px !important; }
}

/* ══════════════════════════════════════════════════
   SECTION 12 — TRAINING PAGE HEADINGS
══════════════════════════════════════════════════ */
.tp-hero-h1 { font-size: 36px !important; font-weight: 800 !important; letter-spacing: -1.5px !important; }
@media (min-width: 640px) { .tp-hero-h1 { font-size: 48px !important; letter-spacing: -2px !important; } }
@media (min-width: 960px) { .tp-hero-h1 { font-size: 58px !important; letter-spacing: -2.5px !important; } }

.tp-hero { padding: 48px 24px 40px !important; }
.tp-section { padding: 56px 24px 60px !important; }
.tp-apply { padding: 56px 24px 64px !important; }
@media (min-width: 640px) {
  .tp-hero { padding: 60px 40px 52px !important; }
  .tp-section, .tp-apply { padding: 64px 40px !important; }
}
@media (min-width: 960px) {
  .tp-hero { padding: 68px 56px 60px !important; }
  .tp-section, .tp-apply { padding: 72px 56px !important; }
}

.big-num { font-size: 72px !important; font-weight: 800 !important; letter-spacing: -5px !important; line-height: .9 !important; }
.big-sub { font-size: 18px !important; font-weight: 700 !important; letter-spacing: -0.8px !important; line-height: 1.2 !important; }
@media (min-width: 960px) { .big-num { font-size: 88px !important; } }

/* ══════════════════════════════════════════════════
   SECTION 13 — CONSULTING PAGE
══════════════════════════════════════════════════ */
.cp-hero-h1 { font-size: 36px !important; font-weight: 800 !important; letter-spacing: -1.8px !important; line-height: 1.07 !important; }
@media (min-width: 640px) { .cp-hero-h1 { font-size: 48px !important; letter-spacing: -2.2px !important; } }
@media (min-width: 960px) { .cp-hero-h1 { font-size: 58px !important; letter-spacing: -2.8px !important; } }

.cp-sec-h { font-size: 28px !important; font-weight: 800 !important; letter-spacing: -1.2px !important; }
@media (min-width: 960px) { .cp-sec-h { font-size: 36px !important; letter-spacing: -1.8px !important; } }

.cp-hero { padding: 52px 24px 0 !important; }
.cp-services, .cp-products, .cp-process { padding: 56px 24px !important; }
.cp-contact { padding: 56px 24px 64px !important; }
@media (min-width: 640px) {
  .cp-hero { padding: 64px 40px 0 !important; }
  .cp-services, .cp-products, .cp-process { padding: 64px 40px !important; }
  .cp-contact { padding: 64px 40px 72px !important; }
}
@media (min-width: 960px) {
  .cp-hero { padding: 72px 56px 0 !important; }
  .cp-services, .cp-products, .cp-process { padding: 72px 56px !important; }
  .cp-contact { padding: 72px 56px 80px !important; }
}

/* ══════════════════════════════════════════════════
   SECTION 14 — CONTACT PAGE
══════════════════════════════════════════════════ */
.ct-hero { padding: 48px 24px 40px !important; }
.ct-hero-h1 { font-size: 36px !important; font-weight: 800 !important; letter-spacing: -1.8px !important; line-height: 1.0 !important; margin: 10px 0 14px !important; }
@media (min-width: 640px) {
  .ct-hero { padding: 56px 40px 48px !important; }
  .ct-hero-h1 { font-size: 48px !important; letter-spacing: -2.2px !important; }
}
@media (min-width: 960px) {
  .ct-hero { padding: 64px 56px 56px !important; }
  .ct-hero-h1 { font-size: 56px !important; letter-spacing: -2.8px !important; }
}
.ct-hero-sub { font-size: 15px !important; line-height: 1.7 !important; margin-bottom: 20px !important; }
.ct-quick-links { gap: 8px !important; }
.ct-ql { padding: 9px 16px !important; font-size: 13px !important; font-weight: 700 !important; border-radius: 8px !important; }
.ct-main { padding: 48px 24px !important; }
.ct-faq { padding: 48px 24px !important; }
@media (min-width: 640px) {
  .ct-main { padding: 56px 40px !important; }
  .ct-faq { padding: 56px 40px !important; }
}
@media (min-width: 960px) {
  .ct-main { padding: 64px 56px !important; }
  .ct-faq { padding: 64px 56px !important; }
}

/* Contact tab buttons */
@media (max-width: 640px) {
  .ct-tab { font-size: 12px !important; padding: 11px 10px !important; }
}
.ct-faq-h { font-size: 24px !important; font-weight: 800 !important; letter-spacing: -1px !important; margin-bottom: 22px !important; }
.ct-faq-q { font-size: 14px !important; font-weight: 700 !important; letter-spacing: -0.2px !important; }
.ct-faq-a { font-size: 13px !important; line-height: 1.65 !important; }

/* ══════════════════════════════════════════════════
   SECTION 15 — FOOTER TYPOGRAPHY
══════════════════════════════════════════════════ */
.footer { padding: 48px 24px 20px !important; }
@media (min-width: 640px) { .footer { padding: 52px 40px 22px !important; } }
@media (min-width: 960px) { .footer { padding: 56px 56px 24px !important; } }

.fb-name { font-size: 18px !important; font-weight: 800 !important; letter-spacing: -0.5px !important; }
.fb-tag { font-size: 11px !important; color: #00AEEF !important; font-style: italic !important; display: block !important; margin-bottom: 12px !important; }
.fb-desc { font-size: 13px !important; line-height: 1.68 !important; color: #4A5568 !important; }

.fcol h5 { font-size: 10px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 1px !important; margin-bottom: 14px !important; }
.fcol a { font-size: 13px !important; font-weight: 400 !important; letter-spacing: -0.1px !important; margin-bottom: 9px !important; }

.fg { gap: 32px !important; margin-bottom: 32px !important; }
@media (min-width: 960px) { .fg { gap: 44px !important; margin-bottom: 40px !important; } }

.fbot span { font-size: 11px !important; font-weight: 400 !important; color: #2D3748 !important; }

/* ══════════════════════════════════════════════════
   SECTION 16 — COMPANIES SECTION
══════════════════════════════════════════════════ */
.co-sec { padding: 40px 24px !important; }
@media (min-width: 640px) { .co-sec { padding: 44px 40px !important; } }
@media (min-width: 960px) { .co-sec { padding: 48px 56px !important; } }
.co-lbl { font-size: 11px !important; font-weight: 700 !important; letter-spacing: 1.2px !important; margin-bottom: 20px !important; }
.co-p { font-size: 12px !important; font-weight: 600 !important; padding: 7px 14px !important; letter-spacing: 0 !important; }

/* ══════════════════════════════════════════════════
   SECTION 17 — FINAL CTA + SCROLL MARGIN + POLISH
══════════════════════════════════════════════════ */
.final { padding: 60px 24px !important; }
@media (min-width: 640px) { .final { padding: 72px 40px !important; } }
@media (min-width: 960px) { .final { padding: 80px 56px !important; } }

.final h2 { font-size: 32px !important; font-weight: 800 !important; letter-spacing: -1.5px !important; }
@media (min-width: 640px) { .final h2 { font-size: 40px !important; letter-spacing: -2px !important; } }
@media (min-width: 960px) { .final h2 { font-size: 48px !important; letter-spacing: -2.5px !important; } }
.final-sub { font-size: 15px !important; line-height: 1.7 !important; }

/* Scroll margin — prevent fixed nav covering anchors */
#apply-section, #book-call-section, #services-section { scroll-margin-top: 88px !important; }

/* Consistent border radius on all buttons */
.btn-fill-lg, .btn-ghost-lg, .btn-cyan-lg,
.nbtn-fill, .nbtn-ghost, .cc-btn-apply,
.op-btn-primary, .ab-btn-primary, .cp-btn-primary { border-radius: 9px !important; }

/* Logo footer blend */
.f-logo-img {
  mix-blend-mode: screen !important;
  background: transparent !important;
  padding: 0 !important;
  height: 48px !important;
}

/* Founder photo when added */
.ab-founder-photo { width: 100% !important; border-radius: 16px !important; object-fit: cover !important; max-width: 280px !important; }

/* Tech stack chip font */
.sv-stack span, .prod-stack span {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0 !important;
}

/* Internship chip */
.intern-chip { font-size: 13px !important; font-weight: 700 !important; padding: 10px 16px !important; }

/* Card hover consistent */
.wcard:hover, .story:hover, .ctacard:hover, .course-card:hover, .sv-card:hover, .prod-card:hover {
  border-color: #00AEEF !important;
  box-shadow: 0 4px 24px rgba(0,174,239,.08) !important;
}

/* Process step labels */
.pstep h4 { font-size: 13px !important; font-weight: 700 !important; letter-spacing: -0.2px !important; margin-bottom: 5px !important; }
.pstep p { font-size: 12px !important; line-height: 1.55 !important; }

/* ═══════════════════════════
   END — fixes.css complete
═══════════════════════════ */

/* ═══════════════════════════════════════════════
   PRECISION ROUND 3 — Based on screenshot review
   June 29, 2026
═══════════════════════════════════════════════ */

/* ── FIX 1: Left hero — reduce top padding gap ── */
.hl {
  padding-top: 40px !important;
  padding-bottom: 36px !important;
}
.hr {
  padding-top: 40px !important;
  padding-bottom: 36px !important;
}
@media (min-width: 640px) {
  .hl { padding-top: 48px !important; padding-bottom: 44px !important; }
  .hr { padding-top: 48px !important; padding-bottom: 44px !important; }
}
@media (min-width: 960px) {
  .hl { padding-top: 56px !important; padding-bottom: 52px !important; }
  .hr { padding-top: 56px !important; padding-bottom: 52px !important; }
}

/* ── FIX 2: Hero H1 — control line breaks precisely ── */
/* Reduce size slightly so "engineering" doesn't run full width */
.hl h1 {
  font-size: 36px !important;
  letter-spacing: -1.6px !important;
  line-height: 1.08 !important;
  margin-bottom: 14px !important;
  max-width: 420px !important;
}
@media (min-width: 640px) {
  .hl h1 {
    font-size: 44px !important;
    letter-spacing: -2px !important;
    max-width: none !important;
  }
}
@media (min-width: 960px) {
  .hl h1 {
    font-size: 52px !important;
    letter-spacing: -2.5px !important;
    line-height: 1.06 !important;
  }
}

/* ── FIX 3: Right H2 — match left H1 size ── */
.hr h2 {
  font-size: 36px !important;
  letter-spacing: -1.6px !important;
  line-height: 1.08 !important;
  margin-bottom: 14px !important;
}
@media (min-width: 640px) {
  .hr h2 {
    font-size: 44px !important;
    letter-spacing: -2px !important;
  }
}
@media (min-width: 960px) {
  .hr h2 {
    font-size: 52px !important;
    letter-spacing: -2.5px !important;
  }
}

/* ── FIX 4: Proof stats — smaller so they fit without scrolling ── */
.proof-row {
  padding-top: 20px !important;
  margin-top: 0 !important;
  gap: 0 !important;
}
.proof-row > div {
  flex: 1 !important;
  text-align: left !important;
  padding: 0 16px 0 0 !important;
  border-right: 1px solid #E2ECF0 !important;
  margin-right: 16px !important;
}
.proof-row > div:last-child {
  border-right: none !important;
  margin-right: 0 !important;
  padding-right: 0 !important;
}
.proof-n {
  font-size: 24px !important;
  font-weight: 800 !important;
  letter-spacing: -1px !important;
  line-height: 1 !important;
}
@media (min-width: 960px) {
  .proof-n { font-size: 28px !important; }
}
.proof-l {
  font-size: 10px !important;
  margin-top: 3px !important;
  line-height: 1.3 !important;
}

/* ── FIX 5: Buttons — tighter gap ── */
.hl-btns {
  gap: 10px !important;
  margin-bottom: 24px !important;
  flex-wrap: wrap !important;
}

/* ── FIX 6: Hero body text — tighter ── */
.hl-body {
  font-size: 14px !important;
  line-height: 1.68 !important;
  margin-bottom: 22px !important;
  max-width: 400px !important;
}
.hr-body {
  font-size: 14px !important;
  line-height: 1.68 !important;
  margin-bottom: 22px !important;
}

/* ── FIX 7: Eyebrow — less margin below ── */
.htag, .hr-htag {
  margin-bottom: 14px !important;
}

/* ── FIX 8: Hero overall height — content driven ── */
.hero {
  min-height: unset !important;
}

/* ═══════════════════════════════════════════════════
   NEW FOOTER STYLES
   footer.php — Bosscoder style
═══════════════════════════════════════════════════ */

/* ── CTA STRIP ── */
.footer-cta-strip {
  background: #00AEEF;
  padding: 44px 24px;
}
.fcs-inner {
  max-width: 980px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.fcs-h2 {
  font-size: 24px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -1px;
  line-height: 1.1;
  margin-bottom: 8px;
}
@media (min-width: 640px) {
  .fcs-h2 { font-size: 28px; }
}
.fcs-sub {
  font-size: 14px;
  color: rgba(255,255,255,.85);
  line-height: 1.65;
  max-width: 480px;
}
.fcs-right {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  flex-shrink: 0;
}
.fcs-btn-white {
  background: #fff;
  color: #00AEEF;
  border: none;
  border-radius: 9px;
  padding: 13px 24px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: opacity .15s;
}
.fcs-btn-white:hover { opacity: .9; }
.fcs-btn-outline {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255,255,255,.5);
  border-radius: 9px;
  padding: 12px 22px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: border-color .15s;
}
.fcs-btn-outline:hover { border-color: #fff; }

@media (max-width: 640px) {
  .footer-cta-strip { padding: 36px 24px; }
  .fcs-right { width: 100%; }
  .fcs-btn-white, .fcs-btn-outline { flex: 1; justify-content: center; }
}

/* ── MAIN FOOTER ── */
.fw-footer {
  background: #0D1B2A;
  padding: 52px 24px 0;
}
.fw-footer-inner {
  max-width: 980px;
  margin: 0 auto;
}
.fw-footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 36px;
  padding-bottom: 40px;
  border-bottom: 1px solid #1A2334;
}
@media (min-width: 640px) {
  .fw-footer-grid { grid-template-columns: 1fr 1fr; gap: 36px 40px; }
}
@media (min-width: 960px) {
  .fw-footer { padding: 52px 56px 0; }
  .fw-footer-grid { grid-template-columns: 1.8fr 1fr 1fr 1fr; gap: 44px; }
}

/* Brand col */
.fw-logo-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.fw-logo-box {
  background: #fff;
  border-radius: 9px;
  padding: 7px 14px;
  display: inline-flex;
  align-items: center;
}
.fw-logo-img {
  height: 34px;
  width: auto;
  display: block;
}
.fw-logo-text {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.3px;
  line-height: 1;
}
.fw-logo-foss {
  color: #00AEEF;
  text-transform: uppercase;
}
.fw-logo-workshop { color: #0D1B2A; }

.fw-since {
  font-size: 11px;
  font-weight: 700;
  color: #fff !important;
  letter-spacing: .5px;
  text-transform: uppercase;
}
.fw-tagline {
  font-size: 12px;
  font-style: italic;
  color: #00AEEF;
  margin-bottom: 12px;
  display: block;
}
.fw-brand-desc {
  font-size: 13px;
  color: #fff;
  line-height: 1.7;
  max-width: 240px;
}

/* Social icons */
.fw-social {
  display: flex;
  gap: 8px;
  margin-top: 22px;
}
.fw-soc-btn {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid #1F2D3D;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: border-color .15s;
  text-decoration: none;
}
.fw-soc-btn:hover { border-color: #00AEEF; }
.fw-soc-btn svg {
  width: 15px;
  height: 15px;
  fill: rgba(255,255,255,.4);
  transition: fill .15s;
}
.fw-soc-btn:hover svg { fill: #00AEEF; }

/* Nav columns */
.fw-col-head {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #374151;
  margin-bottom: 16px;
}
.fw-col-link {
  display: block;
  font-size: 13px;
  color: #fff;
  text-decoration: none;
  margin-bottom: 10px;
  letter-spacing: -.1px;
  transition: color .15s;
}
.fw-col-link:hover { color: #00AEEF; }

/* Bottom bar — fully centered */
.fw-footer-bottom {
  padding: 20px 0 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
}
.fw-copyright {
  font-size: 11px;
  color: #374151;
  line-height: 1.6;
  letter-spacing: -.1px;
}
.fw-bottom-links {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}
.fw-bottom-links a {
  font-size: 11px;
  color: #374151;
  text-decoration: none;
  transition: color .15s;
}
.fw-bottom-links a:hover { color: #00AEEF; }

/* ── END FOOTER STYLES ── */

/* ═══════════════════════════════════════════════════
   FOOTER v2 — clean class names, no conflicts
═══════════════════════════════════════════════════ */

/* CTA Strip */
.fcs-wrap { background:#00AEEF; padding:44px 24px; }
.fcs-inner { max-width:980px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.fcs-h { font-size:24px; font-weight:800; color:#fff; letter-spacing:-1px; line-height:1.1; margin-bottom:8px; font-family:'Plus Jakarta Sans',sans-serif; }
.fcs-p { font-size:14px; color:rgba(255,255,255,.85); line-height:1.65; max-width:480px; font-family:'Plus Jakarta Sans',sans-serif; }
.fcs-btns { display:flex; gap:12px; flex-wrap:wrap; align-items:center; flex-shrink:0; }
.fcs-btn-w { background:#fff; color:#00AEEF; border:none; border-radius:9px; padding:12px 22px; font-family:'Plus Jakarta Sans',sans-serif; font-size:14px; font-weight:800; text-decoration:none; display:inline-flex; align-items:center; white-space:nowrap; transition:opacity .15s; }
.fcs-btn-w:hover { opacity:.9; color:#00AEEF; }
.fcs-btn-o { background:transparent; color:#fff; border:2px solid rgba(255,255,255,.5); border-radius:9px; padding:11px 20px; font-family:'Plus Jakarta Sans',sans-serif; font-size:13px; font-weight:600; text-decoration:none; display:inline-flex; align-items:center; white-space:nowrap; transition:border-color .15s; }
.fcs-btn-o:hover { border-color:#fff; color:#fff; }
@media(max-width:640px) {
  .fcs-wrap { padding:36px 24px; }
  .fcs-btns { width:100%; }
  .fcs-btn-w, .fcs-btn-o { flex:1; justify-content:center; }
}
@media(min-width:640px) { .fcs-h { font-size:28px; } }

/* Main footer */
.fw-footer { background:#0D1B2A; padding:48px 24px 0; }
.fw-fi { max-width:980px; margin:0 auto; }
.fw-grid { display:grid; grid-template-columns:1fr; gap:36px; padding-bottom:40px; border-bottom:1px solid #1A2334; }
@media(min-width:640px) { .fw-grid { grid-template-columns:1fr 1fr; gap:32px 40px; } }
@media(min-width:960px) { .fw-footer { padding:52px 56px 0; } .fw-grid { grid-template-columns:1.8fr 1fr 1fr 1fr; gap:44px; } }

/* Brand */
.fw-logo-r { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.fw-logo-b { background:#fff; border-radius:9px; padding:7px 14px; display:inline-flex; align-items:center; }
.fw-logo-img { height:34px; width:auto; display:block; }
.fw-since { font-size:11px; font-weight:700; color:#fff !important; letter-spacing:.5px; text-transform:uppercase; }
.fw-tagline { font-size:12px; font-style:italic; color:#00AEEF; margin-bottom:12px; display:block; }
.fw-desc { font-size:13px; color:#fff; line-height:1.7; max-width:240px; }

/* Social */
.fw-social { display:flex; gap:8px; margin-top:20px; }
.fw-soc { width:34px; height:34px; border-radius:8px; border:1px solid #1F2D3D; background:transparent; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .15s; text-decoration:none; }
.fw-soc:hover { border-color:#00AEEF; }
.fw-soc svg { width:15px; height:15px; fill:rgba(255,255,255,.4); transition:fill .15s; }
.fw-soc:hover svg { fill:#00AEEF; }

/* Nav cols */
.fw-col-h { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; color:#374151; margin-bottom:16px; }
.fw-cl { display:block; font-size:13px; color:#fff !important; text-decoration:none !important; margin-bottom:10px; letter-spacing:-.1px; transition:color .15s; }
.fw-cl:hover { color:#00AEEF !important; }

/* Bottom bar */
.fw-bottom { padding:20px 0 26px; display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; }
.fw-copy { font-size:11px; color:#374151; line-height:1.6; }
.fw-blinks { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }
.fw-blinks a { font-size:11px; color:#374151; text-decoration:none; transition:color .15s; }
.fw-blinks a:hover { color:#00AEEF; }

/* ── END FOOTER v2 ── */

/* ── CONTACT PAGE HERO — centered + tighter ── */
.ct-hero {
  padding-top: 36px !important;
  padding-bottom: 32px !important;
}
.ct-hero-inner {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
.ct-hero-h1 {
  text-align: center !important;
}
.ct-hero-sub {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.ct-quick-links {
  justify-content: center !important;
  margin: 0 auto !important;
}
