/* =========================================================
   IIBT Korea Theme Main CSS
   Clean base: v1.8.0

   Stable base rules:
   1. Common desktop layout, header, homepage and section styles are kept intact.
   2. Mobile layout correction blocks are kept because they are currently part of
      the verified v179 visual layout.
   3. Mobile menu source of truth is the final block at the bottom:
      v1.8.0 SEPARATE MOBILE MENU.
   4. Future page-specific styles should be added through page modules/plugins
      instead of repeated global override blocks.
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;600;700;800;900&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{--navy:#0d173f;--blue:#0b69c7;--gold:#ffd84d;--text:#111827;--muted:#64748b;--line:#e5e7eb;--soft:#f8fafc}*{box-sizing:border-box}body{margin:0;font-family:Pretendard,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:#fff}a{text-decoration:none}img{max-width:100%;display:block}.iibt-container{max-width:1180px;margin:0 auto;padding:0 22px}.iibt-top-promo{background:var(--navy);color:#fff;font-size:14px}.iibt-top-promo .iibt-container{height:46px;display:flex;align-items:center;justify-content:space-between;gap:20px}.iibt-top-promo button{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#fff;padding:7px 14px;cursor:pointer}.iibt-site-header{background:#fff;position:relative;z-index:1000;box-shadow:0 8px 28px rgba(15,23,42,.06)}.iibt-logo-inner{min-height:142px;display:flex;align-items:center;justify-content:space-between;gap:28px}.iibt-brand .custom-logo-link{display:flex;align-items:center}.iibt-brand img.custom-logo{max-width:430px;max-height:96px;width:auto;height:auto;object-fit:contain}.iibt-text-logo{display:flex;align-items:center;gap:14px;color:var(--navy)}.iibt-text-logo .mark{width:54px;height:54px;border-radius:18px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:26px}.iibt-text-logo strong{display:block;font-size:30px;line-height:1;font-weight:900}.iibt-text-logo em{display:block;font-style:normal;color:#64748b;font-size:14px;margin-top:5px}.iibt-top-links{display:flex;gap:22px;font-size:14px}.iibt-top-links a{color:#94a3b8;font-weight:700}.iibt-mobile-toggle{display:none;background:var(--navy);color:#fff;border:0;border-radius:12px;padding:10px 13px;font-size:20px}.iibt-main-nav{height:66px;border-top:1px solid #eef2f7;border-bottom:1px solid #eef2f7;background:#fff}.iibt-nav-inner{height:66px}.iibt-nav-list{height:66px;margin:0;padding:0;list-style:none;display:flex;align-items:center;justify-content:space-between}.iibt-nav-item{position:relative;height:66px;display:flex;align-items:center}.iibt-nav-item>a{height:66px;display:flex;align-items:center;padding:0 16px;color:#1f2a44;font-size:16px;font-weight:900;white-space:nowrap}.iibt-nav-item:hover>a{color:var(--blue)}.iibt-dropdown{position:absolute;top:66px;left:50%;transform:translateX(-50%) translateY(10px);min-width:220px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:0 24px 70px rgba(15,23,42,.16);opacity:0;visibility:hidden;pointer-events:none;transition:.18s ease;z-index:2000}.iibt-nav-item:hover .iibt-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.iibt-dropdown a{display:block;padding:12px 14px;border-radius:12px;color:#334155;font-size:14px;font-weight:800;white-space:nowrap}.iibt-dropdown a:hover{background:#f1f5f9;color:var(--blue)}.iibt-quick-menu{position:fixed;right:24px;top:265px;width:96px;z-index:900;border-radius:22px;overflow:hidden;box-shadow:0 20px 50px rgba(15,23,42,.2)}.iibt-quick-menu a{display:flex;align-items:center;justify-content:center;min-height:66px;padding:10px 8px;background:#172033;color:#fff;border-bottom:1px solid rgba(255,255,255,.12);font-size:13px;font-weight:900;text-align:center;line-height:1.35}.iibt-quick-menu a.kakao{background:var(--gold);color:#111827}.image-bg{background-size:cover;background-position:center}.hero-section{min-height:650px;color:#fff;display:flex;align-items:center}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.eyebrow,.section-label{display:inline-flex;align-items:center;width:auto;padding:9px 14px;border-radius:999px;background:#eef6ff;color:var(--blue);font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.hero-section .eyebrow{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.2);color:#fff}.hero-copy h1{margin:28px 0 20px;font-size:clamp(48px,6vw,86px);line-height:1.02;letter-spacing:-.06em;font-weight:900}.hero-copy p{max-width:760px;color:rgba(255,255,255,.86);font-size:18px;line-height:1.9}.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:16px 25px;font-weight:900}.btn.primary{background:var(--gold);color:#111827}.btn.ghost{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);color:#fff}.hero-panel{padding:36px;border-radius:34px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(12px)}.hero-panel h2{margin:0 0 24px;color:#fff;font-size:32px;font-weight:900}.hero-step{display:flex;align-items:center;gap:16px;background:#fff;color:var(--navy);border-radius:20px;padding:18px 20px;margin-top:14px;font-weight:900}.hero-step b{width:38px;height:38px;background:var(--navy);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center}.stat-strip{position:relative;z-index:5;margin-top:-72px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat-grid div{padding:28px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 48px rgba(15,23,42,.09)}.stat-grid strong{display:block;color:var(--navy);font-size:34px;font-weight:900;margin-bottom:8px}.stat-grid span{color:#475569;font-size:15px;line-height:1.6}.section{padding:96px 0}.soft{background:var(--soft)}.section-head{text-align:center;margin-bottom:50px}.section-head h2{margin:14px 0 18px;color:var(--navy);font-size:clamp(32px,4vw,52px);line-height:1.22;letter-spacing:-.05em;font-weight:900}.section-head p{max-width:820px;margin:0 auto;color:var(--muted);font-size:17px;line-height:1.86}.zig{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.zig.reverse .text-card{order:1}.zig.reverse .image-card{order:2}.image-card img{border-radius:34px;box-shadow:0 28px 80px rgba(15,23,42,.12)}.text-card h2{margin:16px 0 18px;color:var(--navy);font-size:clamp(30px,3.5vw,46px);line-height:1.27;letter-spacing:-.045em;font-weight:900}.text-card p{color:#475569;font-size:17px;line-height:1.9}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-card{padding:30px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 48px rgba(15,23,42,.06)}.feature-card b{display:inline-flex;width:54px;height:54px;border-radius:18px;background:#eef6ff;color:var(--blue);align-items:center;justify-content:center;font-size:22px;margin-bottom:20px}.feature-card h3{margin:0 0 12px;color:var(--navy);font-size:22px;line-height:1.35}.feature-card p{margin:0;color:#475569;line-height:1.8;font-size:15px}.program-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:46px}.program-card{padding:36px;border-radius:32px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 48px rgba(15,23,42,.08)}.program-card span{display:inline-flex;padding:8px 14px;border-radius:999px;background:var(--navy);color:#fff;font-weight:900;margin-bottom:20px}.program-card h3{margin:0 0 14px;color:var(--navy);font-size:32px;line-height:1.2;font-weight:900}.program-card p{color:#475569;line-height:1.8}.program-card a{display:inline-flex;margin-top:8px;color:var(--blue);font-weight:900}.roadmap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.roadmap-grid div{padding:30px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 48px rgba(15,23,42,.06)}.roadmap-grid span{display:block;color:var(--blue);font-size:13px;font-weight:900;margin-bottom:16px}.roadmap-grid h3{margin:0 0 12px;color:var(--navy);font-size:22px;font-weight:900}.roadmap-grid p{margin:0;color:#475569;line-height:1.75}.dark-university{background:var(--navy);color:#fff;text-align:center}.dark-university h2{margin:16px 0 18px;font-size:clamp(32px,4vw,52px);font-weight:900;letter-spacing:-.045em}.dark-university p{max-width:820px;margin:0 auto;color:rgba(255,255,255,.74);font-size:17px;line-height:1.8}.section-label.gold{background:rgba(255,216,77,.12);color:var(--gold)}.uni-pills{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:42px}.uni-pills span{padding:22px;border-radius:22px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);font-weight:900}.cta-section{padding:110px 0;color:#fff}.cta-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.cta-grid h2{font-size:clamp(34px,4.5vw,56px);line-height:1.22;letter-spacing:-.05em;margin:18px 0}.cta-grid p{color:rgba(255,255,255,.78);font-size:17px;line-height:1.86}.cta-form{padding:34px;border-radius:32px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.18);display:grid;gap:14px}.cta-form input,.cta-form select,.cta-form textarea{width:100%;border:1px solid #e5e7eb;border-radius:16px;padding:16px 18px;font:inherit;color:#111827}.cta-form textarea{min-height:120px}.cta-form button{border:0;border-radius:16px;background:var(--blue);color:#fff;padding:16px;font-weight:900;font-size:16px}.iibt-footer{background:#07111f;color:#fff;padding:70px 0 32px}.iibt-footer-grid{display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:40px}.iibt-footer h2,.iibt-footer h3{margin:0 0 18px}.iibt-footer p,.iibt-footer a{display:block;color:rgba(255,255,255,.68);line-height:1.8}.iibt-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:42px;padding-top:24px;color:rgba(255,255,255,.5)}.page-hero{padding:90px 0;background:#f8fafc}.page-hero h1{font-size:52px;color:var(--navy);letter-spacing:-.05em}.content-page{max-width:920px}@media(max-width:1280px){.iibt-quick-menu{display:none}}@media(max-width:1100px){.stat-grid,.feature-grid,.roadmap-grid{grid-template-columns:repeat(2,1fr)}.uni-pills{grid-template-columns:repeat(3,1fr)}.iibt-nav-list{justify-content:flex-start;overflow:auto}.iibt-nav-item>a{font-size:14px;padding:0 14px}}@media(max-width:820px){.iibt-logo-inner{min-height:96px}.iibt-top-links{display:none}.iibt-mobile-toggle{display:block}.iibt-main-nav{display:none;height:auto}.iibt-main-nav.open{display:block}.iibt-nav-list{height:auto;display:block}.iibt-nav-item{height:auto;display:block}.iibt-nav-item>a{height:52px;justify-content:space-between}.iibt-dropdown{display:none;position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;border:0;box-shadow:none;border-radius:0;padding:0 0 10px 18px}.iibt-nav-item.open .iibt-dropdown{display:block}.hero-grid,.zig,.cta-grid{grid-template-columns:1fr}.zig.reverse .text-card,.zig.reverse .image-card{order:initial}.hero-section{min-height:auto;padding:90px 0}.section{padding:74px 0}.program-grid,.iibt-footer-grid{grid-template-columns:1fr}}@media(max-width:620px){.stat-grid,.feature-grid,.roadmap-grid,.uni-pills{grid-template-columns:1fr}.hero-copy h1{font-size:44px}}


/* v1.0.2 balance refinements */
.hero-section{min-height:620px;background-color:#0b1734}
.hero-grid{grid-template-columns:1fr .88fr;gap:54px}
.hero-copy h1{font-size:clamp(44px,5.2vw,72px);line-height:1.05}
.hero-copy p{max-width:660px}
.hero-panel{max-width:520px;margin-left:auto}
.stat-strip{margin-top:-58px}
.iibt-logo-inner{min-height:128px}
.iibt-brand img.custom-logo{max-height:86px}
.section{padding:88px 0}
.image-card{min-height:360px}
.image-card img{width:100%;height:100%;min-height:360px;object-fit:cover}
@media(max-width:820px){
  .hero-grid{grid-template-columns:1fr}
  .hero-panel{max-width:none;margin-left:0}
}


/* v1.0.3 design refinements: smaller typography, sharper modern rectangles */
:root{
  --radius-none:0px;
  --radius-soft:4px;
  --radius-card:6px;
}

/* Header refinement */
.iibt-logo-inner{min-height:116px}
.iibt-brand img.custom-logo{max-height:78px;max-width:390px}
.iibt-main-nav{height:62px}
.iibt-nav-inner{height:62px}
.iibt-nav-list{height:62px}
.iibt-nav-item{height:62px}
.iibt-nav-item>a{height:62px;font-size:15px}
.iibt-dropdown{top:62px;border-radius:0}

/* Hero balance */
.hero-section{min-height:600px}
.hero-grid{grid-template-columns:1.04fr .86fr;gap:52px}
.hero-copy h1{
  font-size:clamp(38px,4.35vw,60px);
  line-height:1.08;
  letter-spacing:-.045em;
  max-width:680px;
}
.hero-copy p{
  max-width:620px;
  font-size:17px;
  line-height:1.82;
}
.hero-section .eyebrow{
  border-radius:0;
  padding:8px 13px;
  font-size:12px;
}
.hero-panel{
  border-radius:0;
  padding:32px;
  max-width:500px;
}
.hero-panel h2{
  font-size:28px;
}
.hero-step{
  border-radius:0;
  padding:16px 18px;
}
.hero-step b{
  border-radius:0;
}

/* Buttons and chips */
.btn,
.iibt-top-promo button,
.eyebrow,
.section-label,
.program-card span,
.feature-card b,
.hero-step b,
.cta-form input,
.cta-form select,
.cta-form textarea,
.cta-form button{
  border-radius:0!important;
}

/* Cards: modern rectangular layout */
.stat-grid div,
.feature-card,
.program-card,
.roadmap-grid div,
.hero-panel,
.cta-form,
.uni-pills span{
  border-radius:0!important;
}

.stat-strip{margin-top:-48px}
.stat-grid div{padding:24px}
.stat-grid strong{font-size:28px}
.stat-grid span{font-size:14px}

/* Section typography */
.section{padding:82px 0}
.section-head{margin-bottom:42px}
.section-head h2{
  font-size:clamp(28px,3.4vw,42px);
  letter-spacing:-.04em;
}
.section-head p{
  font-size:16px;
  line-height:1.8;
}
.text-card h2{
  font-size:clamp(26px,3vw,38px);
  line-height:1.3;
  letter-spacing:-.035em;
}
.text-card p{
  font-size:16px;
  line-height:1.82;
}

/* Images: square modern blocks */
.image-card img{
  border-radius:0!important;
  min-height:340px;
  box-shadow:0 20px 58px rgba(15,23,42,.10);
}

/* Feature cards */
.feature-card{padding:28px 26px}
.feature-card h3{font-size:20px}
.feature-card p{font-size:14.5px}

/* Program cards */
.program-card{padding:32px}
.program-card h3{font-size:28px}
.program-card p{font-size:15.5px}

/* Roadmap */
.roadmap-grid div{padding:28px}
.roadmap-grid h3{font-size:20px}
.roadmap-grid p{font-size:14.5px}

/* University dark section */
.dark-university h2{
  font-size:clamp(28px,3.5vw,44px);
}
.dark-university p{
  font-size:16px;
}
.uni-pills span{
  padding:20px 14px;
}

/* CTA */
.cta-section{padding:96px 0}
.cta-grid h2{
  font-size:clamp(30px,3.7vw,46px);
}
.cta-grid p{
  font-size:16px;
}

/* Footer */
.iibt-footer{padding:60px 0 28px}

@media(max-width:820px){
  .hero-copy h1{font-size:40px}
  .hero-section{padding:82px 0}
  .section{padding:68px 0}
}


/* v1.1.0 Premium competitor-level redesign */
body{background:#fff}
.iibt-site-header{box-shadow:0 10px 32px rgba(9,21,43,.08)}
.iibt-logo-inner{min-height:108px}
.iibt-brand img.custom-logo{max-height:72px}
.iibt-main-nav,.iibt-nav-inner,.iibt-nav-list,.iibt-nav-item,.iibt-nav-item>a{height:58px}
.iibt-nav-item>a{font-size:14px;letter-spacing:-.02em}
.iibt-dropdown{top:58px;border-radius:0}

.hero-pro{min-height:640px;position:relative}
.hero-pro:after{content:"";position:absolute;left:0;right:0;bottom:0;height:86px;background:linear-gradient(0deg,#fff,rgba(255,255,255,0));pointer-events:none}
.hero-grid{position:relative;z-index:2;grid-template-columns:1fr .82fr;gap:70px}
.hero-copy h1{font-size:clamp(44px,5.2vw,68px);line-height:1.03;letter-spacing:-.055em}
.hero-copy p{font-size:17px;line-height:1.78;max-width:610px}
.hero-card-stack{display:grid;gap:18px}
.hero-process-card{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);padding:34px;backdrop-filter:blur(14px);color:#fff}
.hero-process-card span{display:inline-block;color:#ffd84d;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;margin-bottom:12px}
.hero-process-card h2{margin:0 0 22px;font-size:30px;line-height:1.25}
.hero-process-card ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.hero-process-card li{display:flex;align-items:center;gap:14px;background:#fff;color:#0d173f;padding:15px 17px;font-weight:900}
.hero-process-card b{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:#0d173f;color:#fff}
.hero-mini-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.hero-mini-row div{background:#fff;padding:24px;box-shadow:0 16px 40px rgba(0,0,0,.16)}
.hero-mini-row strong{display:block;color:#0d173f;font-size:24px;font-weight:900;margin-bottom:6px}
.hero-mini-row em{font-style:normal;color:#64748b;font-size:14px}

.media-award-section{padding:58px 0 38px;background:#fff}
.media-award-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:26px}
.award-banner{min-height:260px;display:flex;align-items:end;padding:34px;color:#fff;background-size:cover;background-position:center}
.award-banner h2{font-size:34px;margin:14px 0 12px;line-height:1.25}
.award-banner p{max-width:640px;color:rgba(255,255,255,.78);line-height:1.7}
.video-card{background:#0d173f;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:34px}
.video-card .play{width:72px;height:72px;background:#fff;color:#e11d48;display:flex;align-items:center;justify-content:center;font-size:30px;margin-bottom:22px}
.video-card h3{font-size:24px;margin:0 0 8px}
.video-card p{color:rgba(255,255,255,.72)}

.visual-stats{background:#f8fafc}
.stats-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center}
.stats-copy h2,.ranking-grid h2,.map-grid h2{font-size:clamp(30px,3.7vw,46px);line-height:1.25;color:#0d173f;letter-spacing:-.045em;margin:16px 0}
.stats-copy p,.ranking-grid p,.map-grid p{font-size:16px;line-height:1.8;color:#64748b}
.stat-list{display:grid;gap:12px;margin-top:30px}
.stat-list div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e7eb;padding:15px 0}
.stat-list strong{font-size:26px;color:#0b69c7}
.stat-list span{color:#475569;font-weight:700}
.donut-panel{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:center;background:#fff;border:1px solid #e5e7eb;padding:42px;box-shadow:0 20px 54px rgba(15,23,42,.06)}
.donut-chart{width:260px;height:260px;border-radius:50%!important;background:conic-gradient(#0d173f 0 35%,#0b69c7 35% 56%,#19e3cf 56% 78%,#8ddf55 78% 100%);position:relative}
.donut-chart:after{content:"";position:absolute;inset:64px;background:#fff;border-radius:50%}
.donut-legend{display:grid;gap:14px}
.donut-legend span{display:flex;align-items:center;gap:10px;font-weight:800;color:#334155}
.donut-legend i{width:16px;height:16px;background:#0d173f}.donut-legend span:nth-child(2) i{background:#0b69c7}.donut-legend span:nth-child(3) i{background:#19e3cf}.donut-legend span:nth-child(4) i{background:#8ddf55}

.process-section{border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5}
.process-line{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;position:relative}
.process-line:before{content:"";position:absolute;left:15%;right:15%;top:22px;border-top:3px dotted #94a3b8;z-index:0}
.process-step{position:relative;z-index:1;background:#fff;border:1px solid #d9dee6;padding:48px 34px;text-align:center;min-height:280px}
.process-step span{position:absolute;top:-18px;left:50%;transform:translateX(-50%);background:#fff;color:#0b69c7;border:2px solid #19e3cf;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-weight:900}
.process-step .icon{font-size:64px;color:#111827;margin-bottom:22px}
.process-step h3{font-size:26px;color:#111827;margin:0 0 12px}
.process-step p{color:#64748b;line-height:1.7}

.program-split{display:grid;grid-template-columns:1fr 1fr}
.program-split-card{min-height:300px;color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:center;background-size:cover;background-position:center}
.program-split-card span{color:#19e3cf;font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px}
.program-split-card h2{font-size:clamp(34px,4vw,52px);line-height:1.1;margin:0 0 24px}
.program-split-card em{font-style:normal;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.7);width:150px;height:52px;color:#fff}

.ranking-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}
.ranking-table{background:#070707;color:#fff;padding:34px}
.ranking-table>div{display:grid;grid-template-columns:1fr auto;gap:20px;border-bottom:1px solid rgba(255,255,255,.12);padding:17px 0}
.ranking-table>div:last-child{border-bottom:0}
.ranking-table .table-head{background:#13e4c3;color:#07111f;margin:-34px -34px 18px;padding:18px 34px;font-weight:900}
.ranking-table b{color:#ffd84d}

.map-section.dark{background:#050505;color:#fff}
.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.map-grid h2{color:#fff}
.map-grid p{color:rgba(255,255,255,.72)}
.map-image img{width:100%;box-shadow:none}
.map-section .uni-pills{grid-template-columns:repeat(3,1fr)}
.map-section .uni-pills span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff}

.vlog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.vlog-card{color:#111827}
.vlog-card img{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:14px}
.vlog-card h3{font-size:18px;line-height:1.35;margin:0 0 8px;color:#0d173f}
.vlog-card p{font-size:14px;color:#64748b;margin:0}

.student-success{padding:120px 0;color:#fff;background-size:cover;background-position:center}
.student-success h2{font-size:clamp(34px,4.5vw,58px);max-width:780px;line-height:1.18;margin:18px 0}
.student-success p{max-width:720px;color:rgba(255,255,255,.78);font-size:17px;line-height:1.8;margin-bottom:30px}

.consult-grid-section{padding:70px 0;background:#fff}
.consult-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.consult-card{min-height:140px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff}
.consult-card strong{font-size:24px;margin-bottom:8px}.consult-card span{font-size:14px;opacity:.85}
.consult-card.blue{background:#1559a8}.consult-card.yellow{background:#ffd84d;color:#111827}.consult-card.gray{background:#64748b}

.section{padding:90px 0}
.section-head h2{font-size:clamp(30px,3.5vw,44px)}
.section-head p{font-size:16px}
.cta-form,.program-card,.feature-card,.roadmap-grid div,.stat-grid div{border-radius:0!important}

@media(max-width:1100px){
  .media-award-grid,.stats-layout,.ranking-grid,.map-grid{grid-template-columns:1fr}
  .vlog-grid{grid-template-columns:repeat(3,1fr)}
  .donut-panel{grid-template-columns:1fr}
}
@media(max-width:820px){
  .hero-grid,.program-split,.process-line,.consult-grid{grid-template-columns:1fr}
  .process-line:before{display:none}
  .program-split-card{min-height:240px;padding:38px 24px}
  .vlog-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .vlog-grid{grid-template-columns:1fr}
  .hero-copy h1{font-size:40px}
}


/* v1.2.0 cleaner hero + full mega menu */
.iibt-site-header{position:relative;z-index:1200}
.iibt-main-nav{position:relative;height:58px;border-top:1px solid #eef2f7;border-bottom:1px solid #eef2f7;background:#0f2a62}
.iibt-nav-inner{height:58px}
.iibt-nav-list{height:58px;justify-content:space-between}
.iibt-nav-item,.iibt-nav-item>a{height:58px}
.iibt-nav-item>a{color:#fff;font-size:15px;font-weight:800;padding:0 14px}
.iibt-nav-item:hover>a{color:#a8ddff}
.iibt-mega-menu{position:absolute;left:0;right:0;top:58px;background:#f5f5f5;border-bottom:1px solid #dfe5ee;box-shadow:0 22px 40px rgba(15,23,42,.10);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:all .24s ease;z-index:1250}
.iibt-main-nav:hover .iibt-mega-menu,.iibt-main-nav.mega-open .iibt-mega-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.iibt-mega-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:26px;padding:22px 22px 26px}
.iibt-mega-col{min-width:0}
.iibt-mega-title{display:block;color:#1f2a44;font-weight:800;font-size:15px;margin-bottom:14px}
.iibt-mega-links{display:grid;gap:10px}
.iibt-mega-links a{display:block;color:#6b7280;font-size:13px;line-height:1.45}
.iibt-mega-links a:hover{color:#0b69c7}

.hero-clean{min-height:650px;background-position:center;background-size:cover;display:flex;align-items:flex-end;padding:72px 0 86px;position:relative}
.hero-clean:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,16,32,.65) 0%,rgba(7,16,32,.38) 45%,rgba(7,16,32,.15) 100%)}
.hero-clean-inner{position:relative;z-index:2}
.hero-clean-copy{max-width:760px;color:#fff}
.hero-clean-copy .eyebrow{display:inline-flex;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25)}
.hero-clean-copy h1{font-size:clamp(42px,5.2vw,72px);line-height:1.02;letter-spacing:-.055em;margin:18px 0 18px}
.hero-clean-copy p{max-width:620px;font-size:18px;line-height:1.82;color:rgba(255,255,255,.88)}
.hero-inline-panel{margin-top:34px;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(10,24,48,.56);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18)}
.hero-inline-panel div{padding:22px 24px;border-right:1px solid rgba(255,255,255,.14);display:flex;gap:16px;align-items:flex-start}
.hero-inline-panel div:last-child{border-right:0}
.hero-inline-panel strong{font-size:24px;line-height:1;color:#ffd84d;display:block;min-width:42px}
.hero-inline-panel span{font-weight:700;line-height:1.6;color:#fff}
.hero-card-stack,.hero-process-card,.hero-mini-row{display:none!important}

@media(max-width:1100px){
  .iibt-mega-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .iibt-main-nav{height:auto}
  .iibt-nav-inner{height:auto}
  .iibt-nav-list{height:auto;display:block}
  .iibt-nav-item,.iibt-nav-item>a{height:auto}
  .iibt-nav-item>a{padding:14px 0;color:#1f2a44}
  .iibt-mega-menu{display:none}
  .iibt-main-nav.open .iibt-mega-menu{display:block;position:static;opacity:1;visibility:visible;pointer-events:auto;transform:none;background:#fff;box-shadow:none}
  .iibt-main-nav.open .iibt-mega-grid{grid-template-columns:1fr;padding:0 0 18px}
  .iibt-mega-col{border-top:1px solid #eef2f7;padding-top:14px}
  .hero-clean{min-height:520px;padding:52px 0 60px}
  .hero-clean-copy p{font-size:16px}
  .hero-inline-panel{grid-template-columns:1fr}
  .hero-inline-panel div{border-right:0;border-top:1px solid rgba(255,255,255,.14)}
  .hero-inline-panel div:first-child{border-top:0}
}

/* v1.2.1 typography + centered hero refinement */
body{
  font-family:'Inter','Noto Sans KR',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  letter-spacing:-0.015em;
}
.iibt-top-promo{font-size:15px;font-weight:700}
.iibt-nav-item>a{
  font-family:'Inter','Noto Sans KR',sans-serif;
  font-size:17px;
  font-weight:900;
  letter-spacing:-0.025em;
}
.iibt-mega-title{font-size:16px;font-weight:900}
.iibt-mega-links a{font-size:14px;font-weight:600}
.iibt-top-links a{font-size:15px;font-weight:700}

.hero-centered{
  min-height:620px;
  align-items:center;
  padding:92px 0 90px;
  background-position:center center;
}
.hero-centered:before{
  background:radial-gradient(circle at center, rgba(7,16,32,.18) 0%, rgba(7,16,32,.58) 62%, rgba(7,16,32,.80) 100%);
}
.hero-centered .hero-clean-inner{display:flex;justify-content:center}
.hero-centered .hero-clean-copy{
  max-width:840px;
  margin:0 auto;
  text-align:center;
}
.hero-centered .hero-clean-copy .eyebrow{
  margin-left:auto;
  margin-right:auto;
}
.hero-centered .hero-clean-copy h1{
  font-size:clamp(42px,4.9vw,68px);
  line-height:1.08;
  letter-spacing:-0.055em;
  margin:22px 0 20px;
}
.hero-centered .hero-clean-copy p{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
  font-size:19px;
  line-height:1.78;
}
.hero-centered .hero-actions{
  justify-content:center;
  margin-top:30px;
}
.hero-inline-panel{display:none!important}

.pathway-strip{
  position:relative;
  z-index:3;
  margin-top:-54px;
  padding-bottom:52px;
}
.pathway-strip-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:#0d173f;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 22px 44px rgba(15,23,42,.20);
}
.pathway-strip-grid div{
  min-height:98px;
  padding:22px 24px;
  border-right:1px solid rgba(255,255,255,.14);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.pathway-strip-grid div:last-child{border-right:0}
.pathway-strip-grid strong{
  display:block;
  color:#ffd84d;
  font-size:27px;
  line-height:1.05;
  font-weight:900;
  margin-bottom:8px;
}
.pathway-strip-grid span{
  color:#fff;
  font-size:15px;
  font-weight:700;
}
.media-award-section{padding-top:20px}
.hero-clean .btn{
  min-width:138px;
  height:52px;
  padding:0 24px;
}
h1,h2,h3,h4,.iibt-nav-item>a,.iibt-mega-title{
  font-family:'Inter','Noto Sans KR',sans-serif;
}
.iibt-main-nav,.iibt-nav-inner,.iibt-nav-list,.iibt-nav-item,.iibt-nav-item>a{height:62px}
.iibt-mega-menu{top:62px}

@media(max-width:820px){
  .hero-centered{min-height:520px;padding:72px 0 76px}
  .hero-centered .hero-clean-copy{text-align:left}
  .hero-centered .hero-clean-copy .eyebrow{margin-left:0}
  .hero-centered .hero-actions{justify-content:flex-start}
  .hero-centered .hero-clean-copy h1{font-size:40px}
  .hero-centered .hero-clean-copy p{font-size:16px}
  .pathway-strip{margin-top:0;padding:0}
  .pathway-strip-grid{grid-template-columns:1fr 1fr}
  .pathway-strip-grid div:nth-child(2){border-right:0}
  .pathway-strip-grid div{min-height:86px}
}
@media(max-width:560px){
  .pathway-strip-grid{grid-template-columns:1fr}
  .pathway-strip-grid div{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .pathway-strip-grid div:last-child{border-bottom:0}
}


/* v1.2.2 pathway strip removed from hero; competitor-style pathway block added */
.pathway-strip{
  display:none!important;
}

.hero-centered{
  padding-bottom:96px;
}

.media-award-section{
  padding-top:64px;
}

/* Full-width stage pathway section */
.pathway-stage-section{
  padding:96px 0 106px;
  color:#fff;
  background-size:cover;
  background-position:center;
  position:relative;
}
.pathway-stage-section:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(7,17,31,.74),rgba(7,17,31,.30)),
    repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 4px);
  pointer-events:none;
}
.pathway-stage-section .iibt-container{
  position:relative;
  z-index:2;
}
.pathway-stage-head{
  text-align:center;
  max-width:980px;
  margin:0 auto 42px;
}
.pathway-stage-head h2{
  margin:18px 0 14px;
  font-size:clamp(30px,3.8vw,48px);
  line-height:1.25;
  letter-spacing:-0.045em;
  color:#fff;
}
.pathway-stage-head p{
  max-width:850px;
  margin:0 auto;
  color:rgba(255,255,255,.82);
  font-size:17px;
  line-height:1.85;
}
.pathway-stage-grid{
  max-width:1000px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:rgba(8,28,78,.78);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(8px);
}
.stage-card{
  min-height:210px;
  padding:38px 34px;
  text-align:center;
  border-right:1px solid rgba(255,255,255,.16);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.stage-card:last-child{
  border-right:0;
}
.stage-card span{
  color:#fff;
  font-size:14px;
  font-weight:900;
  letter-spacing:.08em;
  margin-bottom:22px;
  text-transform:uppercase;
}
.stage-card span:after{
  content:"";
  display:block;
  width:42px;
  height:2px;
  background:#fff;
  margin:14px auto 0;
  opacity:.86;
}
.stage-card h3{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(28px,3vw,40px);
  line-height:1.18;
  font-weight:900;
  letter-spacing:-.04em;
}
.stage-card p{
  margin:0;
  color:#fff;
  font-size:18px;
  font-weight:800;
  line-height:1.55;
}
.stage-card:nth-child(1){
  background:rgba(10,50,137,.78);
}
.stage-card:nth-child(2){
  background:rgba(20,75,171,.70);
}
.stage-card:nth-child(3){
  background:rgba(95,113,134,.70);
}

@media(max-width:820px){
  .pathway-stage-section{
    padding:72px 0;
  }
  .pathway-stage-grid{
    grid-template-columns:1fr;
  }
  .stage-card{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.16);
    min-height:170px;
  }
  .stage-card:last-child{
    border-bottom:0;
  }
}


/* v1.2.3 mega menu alignment refinements */
.iibt-main-nav{
  overflow:visible;
}

/* Make top menu and mega menu use the exact same six-column grid */
.iibt-nav-list{
  display:grid!important;
  grid-template-columns:repeat(6,1fr);
  width:100%;
  align-items:center;
  justify-content:initial!important;
}
.iibt-nav-item{
  width:100%;
  justify-content:center;
}
.iibt-nav-item>a{
  width:100%;
  justify-content:center;
  text-align:center;
  padding-left:8px;
  padding-right:8px;
}

/* Competitor-style mega menu: no repeated main category titles, only sub links */
.iibt-mega-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:0;
  padding:22px 22px 28px;
}
.iibt-mega-col{
  padding:0 8px;
  text-align:center;
}
.iibt-mega-title{
  display:none!important;
}
.iibt-mega-links{
  display:grid;
  gap:11px;
}
.iibt-mega-links a{
  font-size:14px;
  font-weight:600;
  color:#777f8d;
  line-height:1.45;
  text-align:center;
}
.iibt-mega-links a:hover{
  color:#0b69c7;
}

/* Make the mega drop closer to the competitor sample */
.iibt-mega-menu{
  background:#f7f7f7;
  border-top:1px solid rgba(0,0,0,.08);
  border-bottom:1px solid rgba(0,0,0,.10);
  box-shadow:0 18px 34px rgba(15,23,42,.08);
}

/* Current top blue menu should read slightly stronger */
.iibt-nav-item>a{
  font-size:17px;
  font-weight:900;
}

/* Hide old individual dropdown remnants if any cached CSS remains */
.iibt-dropdown{
  display:none!important;
}

@media(max-width:1100px){
  .iibt-nav-list{
    display:flex!important;
    width:max-content;
    min-width:100%;
  }
  .iibt-nav-item{
    width:auto;
  }
  .iibt-nav-item>a{
    min-width:150px;
  }
  .iibt-mega-grid{
    grid-template-columns:repeat(3,1fr);
    text-align:left;
  }
  .iibt-mega-col,.iibt-mega-links a{
    text-align:left;
  }
}

@media(max-width:820px){
  .iibt-nav-list{
    display:block!important;
    width:100%;
  }
  .iibt-nav-item>a{
    justify-content:flex-start;
    text-align:left;
    min-width:0;
    padding-left:22px;
    padding-right:22px;
  }
  .iibt-mega-grid{
    grid-template-columns:1fr;
    padding:0 22px 18px;
  }
  .iibt-mega-col{
    padding:14px 0;
  }
}


/* v1.2.4 pathway 4-step alignment refinement */
.pathway-stage-grid.pathway-stage-grid-four{
  max-width:1120px;
  grid-template-columns:repeat(4,1fr);
}

/* Make all cards align on the same visual baseline */
.pathway-stage-grid-four .stage-card{
  min-height:214px;
  padding:34px 24px 32px;
  justify-content:flex-start;
}

.pathway-stage-grid-four .stage-card span{
  display:block;
  height:38px;
  margin-bottom:16px;
}

.pathway-stage-grid-four .stage-card span:after{
  margin-top:12px;
}

.pathway-stage-grid-four .stage-card h3{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 8px;
  font-size:clamp(25px,2.3vw,34px);
  line-height:1.16;
  word-break:keep-all;
}

.pathway-stage-grid-four .stage-card p{
  min-height:52px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  text-align:center;
  font-size:16px;
  line-height:1.45;
  word-break:keep-all;
}

/* Adjust individual long text cards so red guideline-like visual baselines line up */
.pathway-stage-grid-four .stage-card:nth-child(3) h3,
.pathway-stage-grid-four .stage-card:nth-child(4) h3{
  font-size:clamp(23px,2.05vw,31px);
}

.pathway-stage-grid-four .stage-card:nth-child(4){
  background:rgba(28,52,82,.72);
}

@media(max-width:1100px){
  .pathway-stage-grid.pathway-stage-grid-four{
    grid-template-columns:repeat(2,1fr);
    max-width:860px;
  }
  .pathway-stage-grid-four .stage-card:nth-child(2){
    border-right:0;
  }
  .pathway-stage-grid-four .stage-card:nth-child(1),
  .pathway-stage-grid-four .stage-card:nth-child(2){
    border-bottom:1px solid rgba(255,255,255,.16);
  }
}

@media(max-width:820px){
  .pathway-stage-grid.pathway-stage-grid-four{
    grid-template-columns:1fr;
  }
  .pathway-stage-grid-four .stage-card{
    min-height:170px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.16);
  }
  .pathway-stage-grid-four .stage-card:last-child{
    border-bottom:0;
  }
  .pathway-stage-grid-four .stage-card h3,
  .pathway-stage-grid-four .stage-card p,
  .pathway-stage-grid-four .stage-card span{
    min-height:0;
    height:auto;
  }
}


/* v1.2.5 menu width + pathway country color distinction */

/* Make the main menu feel wider and closer to the left/right edges */
.iibt-main-nav .iibt-container,
.iibt-mega-menu .iibt-container{
  max-width:1320px;
  padding-left:10px;
  padding-right:10px;
}

.iibt-nav-list{
  grid-template-columns:1.02fr 1fr 1fr 1.34fr 1fr 1fr;
  column-gap:0;
}

.iibt-nav-item>a{
  padding-left:4px;
  padding-right:4px;
  font-size:17px;
  letter-spacing:-0.035em;
}

/* Align mega columns to the adjusted menu width */
.iibt-mega-grid{
  grid-template-columns:1.02fr 1fr 1fr 1.34fr 1fr 1fr;
  padding-left:10px;
  padding-right:10px;
}

.iibt-mega-col{
  padding-left:4px;
  padding-right:4px;
}

.iibt-mega-links a{
  font-size:14px;
}

/* Keep the logo/header content normal width */
.iibt-logo-row .iibt-container,
.iibt-top-promo .iibt-container,
.iibt-main .iibt-container,
.iibt-footer .iibt-container{
  max-width:1180px;
}

/* Pathway stage color logic:
   STEP 01 = Korea / warm gold
   STEP 02-04 = Australia / blue family
*/
.pathway-stage-grid-four .stage-card{
  position:relative;
  overflow:hidden;
}

.pathway-stage-grid-four .stage-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:6px;
  background:rgba(255,255,255,.25);
}

.pathway-stage-grid-four .stage-card:nth-child(1){
  background:linear-gradient(135deg, rgba(172,124,23,.92), rgba(97,70,16,.88));
}

.pathway-stage-grid-four .stage-card:nth-child(1):before{
  background:#ffd84d;
}

.pathway-stage-grid-four .stage-card:nth-child(1) span,
.pathway-stage-grid-four .stage-card:nth-child(1) h3,
.pathway-stage-grid-four .stage-card:nth-child(1) p{
  color:#fff;
}

.pathway-stage-grid-four .stage-card:nth-child(1) span:after{
  background:#ffd84d;
}

.pathway-stage-grid-four .stage-card:nth-child(2){
  background:linear-gradient(135deg, rgba(16,54,153,.88), rgba(14,44,127,.84));
}

.pathway-stage-grid-four .stage-card:nth-child(3){
  background:linear-gradient(135deg, rgba(28,83,176,.82), rgba(37,66,115,.80));
}

.pathway-stage-grid-four .stage-card:nth-child(4){
  background:linear-gradient(135deg, rgba(20,41,73,.86), rgba(11,25,49,.86));
}

.pathway-stage-grid-four .stage-card:nth-child(2):before,
.pathway-stage-grid-four .stage-card:nth-child(3):before,
.pathway-stage-grid-four .stage-card:nth-child(4):before{
  background:#19e3cf;
}

/* Small country labels */
.pathway-stage-grid-four .stage-card:nth-child(1)::after{
  content:"KOREA";
  position:absolute;
  right:18px;
  top:16px;
  color:rgba(255,255,255,.42);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}

.pathway-stage-grid-four .stage-card:nth-child(2)::after,
.pathway-stage-grid-four .stage-card:nth-child(3)::after,
.pathway-stage-grid-four .stage-card:nth-child(4)::after{
  content:"AUSTRALIA";
  position:absolute;
  right:18px;
  top:16px;
  color:rgba(255,255,255,.34);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}

/* More refined text balance inside the 4 boxes */
.pathway-stage-grid-four .stage-card h3{
  min-height:76px;
}

.pathway-stage-grid-four .stage-card p{
  min-height:48px;
}

/* Tablet/mobile adjustments */
@media(max-width:1400px){
  .iibt-main-nav .iibt-container,
  .iibt-mega-menu .iibt-container{
    max-width:1240px;
  }
}

@media(max-width:1100px){
  .iibt-main-nav .iibt-container,
  .iibt-mega-menu .iibt-container{
    max-width:1180px;
    padding-left:22px;
    padding-right:22px;
  }
  .iibt-nav-list{
    grid-template-columns:none;
  }
  .iibt-mega-grid{
    grid-template-columns:repeat(3,1fr);
    padding-left:22px;
    padding-right:22px;
  }
}


/* v1.3.2 width optimisation for modern FHD+ screens */
.iibt-container{
  max-width:min(1360px, calc(100% - 96px));
}

.iibt-main-nav .iibt-container,
.iibt-mega-menu .iibt-container{
  max-width:min(1440px, calc(100% - 96px));
  padding-left:0;
  padding-right:0;
}

.media-award-grid,
.stats-layout,
.ranking-grid,
.map-grid,
.vlog-section .iibt-container,
.consult-grid-section .iibt-container{
  max-width:min(1360px, calc(100% - 96px));
}

.program-split{
  max-width:min(1440px, calc(100% - 96px));
  margin-left:auto;
  margin-right:auto;
}

.hero-centered .hero-clean-copy{
  max-width:920px;
}

.pathway-stage-grid.pathway-stage-grid-four{
  max-width:min(1280px, 100%);
}

@media(max-width:1280px){
  .iibt-container,
  .media-award-grid,
  .stats-layout,
  .ranking-grid,
  .map-grid,
  .vlog-section .iibt-container,
  .consult-grid-section .iibt-container,
  .program-split,
  .iibt-main-nav .iibt-container,
  .iibt-mega-menu .iibt-container{
    max-width:calc(100% - 44px);
  }
}

@media(max-width:820px){
  .iibt-container,
  .media-award-grid,
  .stats-layout,
  .ranking-grid,
  .map-grid,
  .vlog-section .iibt-container,
  .consult-grid-section .iibt-container,
  .program-split,
  .iibt-main-nav .iibt-container,
  .iibt-mega-menu .iibt-container{
    max-width:calc(100% - 36px);
  }
}


/* v1.3.3 consistent alignment system */
.iibt-main{--iibt-content-width:1360px;--iibt-wide-width:1440px;--iibt-side-gap:48px;}
.media-award-grid,.stats-layout,.pathway-stage-grid.pathway-stage-grid-four,.process-line,.program-split,.ranking-grid,.map-grid,.vlog-section .iibt-container,.consult-grid-section .iibt-container{width:100%;max-width:min(var(--iibt-content-width),calc(100% - (var(--iibt-side-gap) * 2)))!important;margin-left:auto!important;margin-right:auto!important;}
.iibt-main>.section>.iibt-container,.iibt-main .pathway-stage-section>.iibt-container,.iibt-main .student-success>.iibt-container,.iibt-main .cta-section>.iibt-container{max-width:min(var(--iibt-content-width),calc(100% - (var(--iibt-side-gap) * 2)))!important;}
.iibt-main-nav .iibt-container,.iibt-mega-menu .iibt-container{max-width:min(var(--iibt-wide-width),calc(100% - (var(--iibt-side-gap) * 2)))!important;}
.media-award-grid.iibt-container,.vlog-section .iibt-container,.consult-grid-section .iibt-container{padding-left:0!important;padding-right:0!important;}
.media-award-section .media-award-grid,.pathway-stage-section .pathway-stage-grid,.process-section .process-line,.program-split,.ranking-section .ranking-grid{box-sizing:border-box;}
.pathway-stage-grid.pathway-stage-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.pathway-stage-grid-four .stage-card{min-width:0;display:grid!important;grid-template-rows:44px 78px 54px;align-items:center;justify-items:center;padding:34px 24px 30px!important;}
.pathway-stage-grid-four .stage-card span{height:auto!important;min-height:0!important;margin:0!important;align-self:start;}
.pathway-stage-grid-four .stage-card h3{min-height:0!important;height:auto!important;margin:0!important;align-self:center;}
.pathway-stage-grid-four .stage-card p{min-height:0!important;height:auto!important;margin:0!important;align-self:start;}
.media-award-grid{grid-template-columns:2fr 1fr;}
.award-banner,.video-card{min-height:235px;}
.process-line{gap:28px;}
.ranking-grid{grid-template-columns:1fr 1.12fr;}
@media(min-width:1500px){.iibt-main{--iibt-content-width:1360px;--iibt-wide-width:1480px;--iibt-side-gap:56px;}}
@media(max-width:1280px){.iibt-main{--iibt-side-gap:22px}.media-award-grid,.stats-layout,.pathway-stage-grid.pathway-stage-grid-four,.process-line,.program-split,.ranking-grid,.map-grid,.vlog-section .iibt-container,.consult-grid-section .iibt-container,.iibt-main>.section>.iibt-container,.iibt-main .pathway-stage-section>.iibt-container,.iibt-main .student-success>.iibt-container,.iibt-main .cta-section>.iibt-container,.iibt-main-nav .iibt-container,.iibt-mega-menu .iibt-container{max-width:calc(100% - 44px)!important;}}
@media(max-width:1100px){.pathway-stage-grid.pathway-stage-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:820px){.iibt-main{--iibt-side-gap:18px}.media-award-grid,.stats-layout,.pathway-stage-grid.pathway-stage-grid-four,.process-line,.program-split,.ranking-grid,.map-grid,.vlog-section .iibt-container,.consult-grid-section .iibt-container,.iibt-main>.section>.iibt-container,.iibt-main .pathway-stage-section>.iibt-container,.iibt-main .student-success>.iibt-container,.iibt-main .cta-section>.iibt-container,.iibt-main-nav .iibt-container,.iibt-mega-menu .iibt-container{max-width:calc(100% - 36px)!important;}.pathway-stage-grid.pathway-stage-grid-four{grid-template-columns:1fr!important}.pathway-stage-grid-four .stage-card{grid-template-rows:auto auto auto;}}


/* v1.3.4 pathway title + stage card centering fix */

/* Force the pathway title to look intentionally balanced: exact 2-line layout on desktop */
.pathway-stage-head{
  max-width:1120px;
}

.pathway-stage-head h2{
  max-width:1120px;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  font-size:clamp(34px,3.35vw,52px)!important;
  line-height:1.22!important;
  word-break:keep-all;
  overflow-wrap:normal;
}

/* Desktop: insert a clean line break after the comma phrase using CSS block behavior */
.pathway-stage-head h2 .iibt-title-break{
  display:block;
}

/* If the title is edited in Customizer and no manual span exists, keep width narrow enough for clean 2 lines */
.pathway-stage-head h2{
  max-width:1040px;
}

/* Stage card: remove country labels and restore true center alignment */
.pathway-stage-grid-four .stage-card::after{
  display:none!important;
  content:none!important;
}

.pathway-stage-grid-four .stage-card:before{
  width:6px;
}

/* Use flex instead of the previous grid baseline, because country labels caused visual off-center impression */
.pathway-stage-grid-four .stage-card{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
  padding:34px 22px 32px!important;
}

.pathway-stage-grid-four .stage-card span,
.pathway-stage-grid-four .stage-card h3,
.pathway-stage-grid-four .stage-card p{
  width:100%;
  text-align:center!important;
  justify-content:center!important;
  align-items:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.pathway-stage-grid-four .stage-card span{
  height:auto!important;
  min-height:42px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  margin-bottom:12px!important;
}

.pathway-stage-grid-four .stage-card span:after{
  flex:0 0 auto;
  margin-top:13px!important;
}

.pathway-stage-grid-four .stage-card h3{
  min-height:70px!important;
  display:flex!important;
  margin:0 0 6px!important;
  font-size:clamp(25px,2.28vw,34px)!important;
  line-height:1.16!important;
  word-break:keep-all!important;
}

.pathway-stage-grid-four .stage-card p{
  min-height:50px!important;
  display:flex!important;
  margin:0!important;
  font-size:16px!important;
  line-height:1.45!important;
  word-break:keep-all!important;
}

/* Slightly reduce long Step 4 heading so it does not visually shift right */
.pathway-stage-grid-four .stage-card:nth-child(4) h3{
  font-size:clamp(23px,2.05vw,31px)!important;
}

/* Keep Step 1 visually distinct, but text stays centered */
.pathway-stage-grid-four .stage-card:nth-child(1):before{
  background:#ffd84d!important;
}

.pathway-stage-grid-four .stage-card:nth-child(2):before,
.pathway-stage-grid-four .stage-card:nth-child(3):before,
.pathway-stage-grid-four .stage-card:nth-child(4):before{
  background:#19e3cf!important;
}

/* On smaller screens allow natural line breaks */
@media(max-width:1100px){
  .pathway-stage-head h2{
    max-width:850px;
    font-size:clamp(30px,4.2vw,44px)!important;
  }
}

@media(max-width:820px){
  .pathway-stage-head h2{
    max-width:100%;
    font-size:32px!important;
  }
  .pathway-stage-head h2 .iibt-title-break{
    display:inline;
  }
  .pathway-stage-grid-four .stage-card h3,
  .pathway-stage-grid-four .stage-card p,
  .pathway-stage-grid-four .stage-card span{
    min-height:0!important;
  }
}


/* v1.3.5 wording layout refinement */
.pathway-stage-head h2{
  max-width:1160px!important;
  font-size:clamp(32px,3.25vw,50px)!important;
}
.hero-centered .hero-clean-copy h1{
  max-width:980px;
  margin-left:auto!important;
  margin-right:auto!important;
}
.hero-centered .hero-clean-copy p{
  max-width:860px!important;
}
.pathway-stage-head p{
  max-width:980px!important;
}
@media(max-width:820px){
  .pathway-stage-head h2 .iibt-title-break{
    display:block;
  }
}


/* v1.3.6 wording update layout support */
.hero-centered .hero-clean-copy h1{
  max-width:1060px;
  font-size:clamp(38px,4.45vw,64px)!important;
}
.hero-centered .hero-clean-copy p{
  max-width:920px!important;
}
.pathway-stage-head h2{
  max-width:1180px!important;
  font-size:clamp(30px,3.05vw,46px)!important;
}
.pathway-stage-head p{
  max-width:1040px!important;
}
.pathway-stage-grid-four .stage-card h3{
  font-size:clamp(22px,2.05vw,31px)!important;
}
.pathway-stage-grid-four .stage-card p{
  font-size:15.5px!important;
}


/* v1.3.7 simplified main hero copy and more relaxed spacing */
.hero-centered{
  min-height:610px;
  padding:104px 0 104px;
}

.hero-centered .hero-clean-copy{
  max-width:980px;
}

.hero-centered .hero-clean-copy .eyebrow{
  font-size:13px;
  letter-spacing:.14em;
  padding:10px 16px;
  margin-bottom:8px;
}

.hero-centered .hero-clean-copy h1{
  max-width:960px;
  margin:28px auto 26px!important;
  font-size:clamp(42px,4.75vw,66px)!important;
  line-height:1.18!important;
  letter-spacing:-.045em!important;
}

.hero-centered .hero-clean-copy p{
  max-width:760px!important;
  margin-top:0!important;
  margin-bottom:0!important;
  font-size:20px!important;
  line-height:1.95!important;
  letter-spacing:-.02em;
}

.hero-centered .hero-actions{
  margin-top:38px!important;
  gap:16px;
}

.hero-clean .btn{
  height:56px;
  min-width:150px;
  font-size:16px;
}

/* Reduce visual repetition by keeping lower pathway section more explanatory, while hero stays simple */
.pathway-stage-head{
  margin-bottom:46px;
}

.pathway-stage-head h2{
  line-height:1.34!important;
}

.pathway-stage-head p{
  line-height:1.9!important;
}

/* Mobile rhythm */
@media(max-width:820px){
  .hero-centered{
    min-height:520px;
    padding:78px 0 82px;
  }
  .hero-centered .hero-clean-copy h1{
    font-size:38px!important;
    line-height:1.22!important;
    margin:22px 0 22px!important;
  }
  .hero-centered .hero-clean-copy p{
    font-size:17px!important;
    line-height:1.85!important;
  }
}


/* v1.3.8 hero wording refinement: simple but not competitor-copy */
.hero-centered .hero-clean-copy .eyebrow{
  font-size:13px;
  letter-spacing:.12em;
}

.hero-centered .hero-clean-copy h1{
  max-width:940px;
  line-height:1.20!important;
  margin-top:30px!important;
  margin-bottom:28px!important;
}

.hero-centered .hero-clean-copy p{
  max-width:820px!important;
  font-size:19px!important;
  line-height:1.95!important;
}

@media(max-width:820px){
  .hero-centered .hero-clean-copy h1{
    line-height:1.22!important;
  }
}


/* v1.3.9 hero copy: TNE + simple 1+2 structure */
.hero-centered .hero-clean-copy .eyebrow{
  font-size:13px!important;
  letter-spacing:.13em!important;
}
.hero-centered .hero-clean-copy h1{
  max-width:900px!important;
  font-size:clamp(42px,4.7vw,66px)!important;
  line-height:1.18!important;
  margin-top:30px!important;
  margin-bottom:30px!important;
}
.hero-centered .hero-clean-copy p{
  max-width:840px!important;
  font-size:19px!important;
  line-height:1.92!important;
}
@media(max-width:820px){
  .hero-centered .hero-clean-copy h1{
    font-size:38px!important;
    line-height:1.22!important;
  }
  .hero-centered .hero-clean-copy p{
    font-size:16.5px!important;
  }
}


/* v1.4.0 editable generated subpage design */
.iibt-sub-page{
  overflow:hidden;
}
.iibt-sub-hero{
  margin:0!important;
}
.iibt-sub-hero .wp-block-cover__background{
  background:linear-gradient(90deg,rgba(7,17,31,.86),rgba(7,17,31,.48),rgba(7,17,31,.22))!important;
}
.iibt-sub-hero-inner{
  max-width:min(1360px, calc(100% - 96px))!important;
  margin:0 auto!important;
  padding:80px 0;
}
.iibt-sub-label{
  display:inline-flex;
  padding:9px 14px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.24);
  color:#fff!important;
  font-size:13px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.iibt-sub-title{
  color:#fff!important;
  font-size:clamp(42px,4.6vw,66px)!important;
  line-height:1.12!important;
  letter-spacing:-.05em!important;
  margin:24px 0 16px!important;
}
.iibt-sub-subtitle{
  max-width:760px;
  color:rgba(255,255,255,.84)!important;
  font-size:18px!important;
  line-height:1.85!important;
}
.iibt-sub-section{
  max-width:min(1360px, calc(100% - 96px))!important;
  padding:92px 0!important;
}
.iibt-sub-zig{
  gap:56px!important;
  align-items:center!important;
}
.iibt-sub-image img{
  width:100%;
  min-height:360px;
  object-fit:cover;
  box-shadow:0 24px 58px rgba(15,23,42,.12);
}
.iibt-sub-eyebrow{
  display:inline-flex;
  padding:8px 13px;
  background:#eef6ff;
  color:#0b69c7!important;
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.iibt-sub-heading{
  color:#0d173f!important;
  font-size:clamp(30px,3.4vw,46px)!important;
  line-height:1.24!important;
  letter-spacing:-.045em!important;
  margin:18px 0 18px!important;
}
.iibt-sub-lead{
  color:#475569!important;
  font-size:17px!important;
  line-height:1.9!important;
}
.iibt-sub-card-grid{
  gap:24px!important;
  margin-top:58px!important;
}
.iibt-sub-card{
  height:100%;
  padding:34px 30px!important;
  border:1px solid #e5e7eb;
  background:#fff;
  box-shadow:0 18px 42px rgba(15,23,42,.06);
}
.iibt-sub-card h3{
  color:#0d173f!important;
  font-size:24px!important;
  margin:0 0 14px!important;
}
.iibt-sub-card p{
  color:#475569!important;
  font-size:15.5px!important;
  line-height:1.82!important;
}
@media(max-width:820px){
  .iibt-sub-hero-inner,
  .iibt-sub-section{
    max-width:calc(100% - 36px)!important;
  }
  .iibt-sub-zig{
    gap:28px!important;
  }
  .iibt-sub-image img{
    min-height:260px;
  }
}


/* v1.4.2 mobile layout emergency fix
   Safe CSS-only update. No PHP/page-generator changes. */

/* prevent horizontal overflow globally */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

*, *::before, *::after {
  box-sizing: border-box;
}

img, video, iframe {
  max-width: 100%;
  height: auto;
}

/* default text wrapping */
body, p, h1, h2, h3, h4, h5, h6, a, span, div {
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* WordPress blocks should not exceed viewport */
.wp-block-group,
.wp-block-columns,
.wp-block-column,
.wp-block-cover,
.wp-block-image,
.wp-block-table,
.entry-content,
.site-content,
.iibt-main {
  max-width: 100%;
}

/* Desktop keeps current design, mobile gets compact side gutters */
@media (max-width: 820px) {

  /* reduce all large side gutters */
  .iibt-container,
  .iibt-main .iibt-container,
  .media-award-grid,
  .stats-layout,
  .ranking-grid,
  .map-grid,
  .vlog-section .iibt-container,
  .consult-grid-section .iibt-container,
  .program-split,
  .iibt-main-nav .iibt-container,
  .iibt-mega-menu .iibt-container,
  .iibt-sub-hero-inner,
  .iibt-sub-section,
  .wp-block-group__inner-container,
  .wp-site-blocks > *,
  .entry-content > * {
    width: auto !important;
    max-width: calc(100% - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* full-width sections must remain full but inner content compact */
  .alignfull,
  .wp-block-cover.alignfull,
  .iibt-sub-page,
  .hero-section,
  .pathway-stage-section,
  .student-success,
  .cta-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .wp-block-cover__inner-container {
    width: auto !important;
    max-width: calc(100% - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* logo/header mobile balance */
  .iibt-logo-row {
    padding: 20px 0 !important;
  }

  .iibt-logo-inner {
    max-width: calc(100% - 28px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
  }

  .iibt-brand,
  .iibt-brand a,
  .iibt-text-logo {
    max-width: calc(100% - 86px) !important;
  }

  .iibt-text-logo strong,
  .iibt-brand strong {
    font-size: 34px !important;
    line-height: 1.05 !important;
  }

  .iibt-text-logo em,
  .iibt-brand em {
    font-size: 18px !important;
    line-height: 1.2 !important;
  }

  .iibt-mobile-toggle {
    width: 64px !important;
    height: 64px !important;
    flex: 0 0 64px !important;
  }

  /* top promo bar */
  .iibt-top-promo .iibt-container {
    max-width: calc(100% - 18px) !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .iibt-top-promo button {
    font-size: 12px !important;
    line-height: 1.3 !important;
    padding: 6px 8px !important;
  }

  /* hero text: avoid massive broken lines */
  .hero-centered {
    min-height: 520px !important;
    padding: 66px 0 72px !important;
  }

  .hero-centered .hero-clean-copy {
    width: 100% !important;
    max-width: calc(100% - 28px) !important;
    text-align: left !important;
  }

  .hero-centered .hero-clean-copy .eyebrow {
    display: inline-flex !important;
    max-width: 100% !important;
    white-space: normal !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    letter-spacing: .08em !important;
    padding: 8px 10px !important;
  }

  .hero-centered .hero-clean-copy h1 {
    max-width: 100% !important;
    font-size: 42px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.045em !important;
    margin: 26px 0 24px !important;
  }

  .hero-centered .hero-clean-copy p {
    max-width: 100% !important;
    font-size: 17px !important;
    line-height: 1.85 !important;
  }

  .hero-centered .hero-actions {
    justify-content: flex-start !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
  }

  .hero-clean .btn {
    min-width: 132px !important;
    height: 50px !important;
    font-size: 15px !important;
  }

  /* all 2-column sections become single column */
  .wp-block-columns,
  .media-award-grid,
  .stats-layout,
  .ranking-grid,
  .map-grid,
  .cta-grid,
  .process-line,
  .program-split,
  .consult-grid,
  .vlog-grid,
  .iibt-sub-zig,
  .iibt-sub-card-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: auto !important;
    max-width: calc(100% - 28px) !important;
    gap: 24px !important;
  }

  .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
    flex-grow: 1 !important;
    min-width: 0 !important;
  }

  /* top two cards */
  .media-award-section {
    padding: 46px 0 !important;
  }

  .award-banner,
  .video-card {
    width: 100% !important;
    min-height: 260px !important;
    padding: 34px 26px !important;
  }

  .award-banner h2,
  .video-card h3 {
    font-size: 30px !important;
    line-height: 1.25 !important;
  }

  .award-banner p,
  .video-card p {
    font-size: 16px !important;
    line-height: 1.75 !important;
  }

  /* pathway section mobile */
  .pathway-stage-section {
    padding: 64px 0 70px !important;
  }

  .pathway-stage-head {
    max-width: calc(100% - 28px) !important;
    margin: 0 auto 34px !important;
    text-align: center !important;
  }

  .pathway-stage-head h2 {
    max-width: 100% !important;
    font-size: 31px !important;
    line-height: 1.35 !important;
    letter-spacing: -0.04em !important;
  }

  .pathway-stage-head p {
    max-width: 100% !important;
    font-size: 16px !important;
    line-height: 1.9 !important;
  }

  .pathway-stage-grid,
  .pathway-stage-grid.pathway-stage-grid-four {
    width: auto !important;
    max-width: calc(100% - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .stage-card,
  .pathway-stage-grid-four .stage-card {
    width: 100% !important;
    min-height: 190px !important;
    padding: 34px 22px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
  }

  .stage-card h3,
  .pathway-stage-grid-four .stage-card h3 {
    font-size: 30px !important;
    line-height: 1.25 !important;
    min-height: 0 !important;
  }

  .stage-card p,
  .pathway-stage-grid-four .stage-card p {
    font-size: 16px !important;
    line-height: 1.55 !important;
    min-height: 0 !important;
  }

  /* stats / why section */
  .visual-stats {
    padding: 60px 0 !important;
  }

  .stats-copy h2,
  .section-head h2,
  .ranking-grid h2,
  .map-grid h2 {
    font-size: 34px !important;
    line-height: 1.28 !important;
  }

  .stats-copy p,
  .section-head p,
  .ranking-grid p,
  .map-grid p {
    font-size: 16px !important;
    line-height: 1.85 !important;
  }

  .stat-list div {
    display: grid !important;
    grid-template-columns: 120px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: start !important;
  }

  .stat-list strong {
    font-size: 25px !important;
    line-height: 1.25 !important;
    word-break: keep-all !important;
  }

  .stat-list span {
    min-width: 0 !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .donut-panel {
    width: 100% !important;
    max-width: 100% !important;
    padding: 28px 20px !important;
  }

  /* process cards */
  .process-section {
    padding: 64px 0 !important;
  }

  .process-step {
    width: 100% !important;
    min-height: 260px !important;
    padding: 46px 24px !important;
  }

  /* business / IT cards */
  .program-split {
    display: grid !important;
    grid-template-columns: 1fr !important;
    max-width: calc(100% - 28px) !important;
    margin: 0 auto !important;
  }

  .program-split-card {
    min-height: 430px !important;
    padding: 46px 34px !important;
  }

  .program-split-card h2 {
    font-size: 42px !important;
    line-height: 1.12 !important;
    max-width: 100% !important;
  }

  /* ranking table: no overflow */
  .ranking-section {
    padding: 64px 0 !important;
  }

  .ranking-table {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .ranking-table > div {
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(72px, .8fr) !important;
    gap: 16px !important;
    min-width: 0 !important;
  }

  .ranking-table span,
  .ranking-table b {
    min-width: 0 !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
  }

  .ranking-table .table-head span {
    font-size: 14px !important;
  }

  /* map / university pills */
  .map-section {
    padding: 66px 0 !important;
  }

  .uni-pills {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .uni-pills span {
    min-width: 0 !important;
    padding: 18px 12px !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
  }

  /* consultation blocks */
  .consult-grid-section {
    padding: 54px 0 !important;
  }

  .consult-card {
    min-height: 190px !important;
    padding: 34px 22px !important;
  }

  /* form */
  .cta-section {
    padding: 66px 0 !important;
  }

  .cta-form {
    width: 100% !important;
    max-width: 100% !important;
    padding: 28px 22px !important;
  }

  .cta-form input,
  .cta-form select,
  .cta-form textarea,
  .cta-form button {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* footer */
  .iibt-footer {
    padding: 58px 0 !important;
  }

  .footer-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 36px !important;
    max-width: calc(100% - 28px) !important;
    margin: 0 auto !important;
  }

  .footer-grid h2,
  .footer-grid h3 {
    font-size: 28px !important;
  }

  .footer-grid p,
  .footer-grid a {
    font-size: 16px !important;
    line-height: 1.75 !important;
  }

  /* generated sub pages */
  .iibt-sub-title {
    font-size: 40px !important;
    line-height: 1.2 !important;
  }

  .iibt-sub-subtitle {
    font-size: 16px !important;
    line-height: 1.85 !important;
  }

  .iibt-sub-section {
    padding: 58px 0 !important;
  }

  .iibt-sub-image img {
    min-height: 240px !important;
  }

  .iibt-sub-heading {
    font-size: 32px !important;
    line-height: 1.3 !important;
  }

  .iibt-sub-lead {
    font-size: 16px !important;
    line-height: 1.85 !important;
  }

  .iibt-sub-card {
    padding: 28px 22px !important;
  }
}

/* very small phone */
@media (max-width: 420px) {
  .hero-centered .hero-clean-copy h1 {
    font-size: 38px !important;
  }

  .program-split-card h2 {
    font-size: 38px !important;
  }

  .stats-copy h2,
  .section-head h2,
  .ranking-grid h2,
  .map-grid h2 {
    font-size: 31px !important;
  }

  .iibt-text-logo strong,
  .iibt-brand strong {
    font-size: 30px !important;
  }

  .iibt-text-logo em,
  .iibt-brand em {
    font-size: 16px !important;
  }

  .stat-list div {
    grid-template-columns: 105px minmax(0, 1fr) !important;
  }
}


/* v1.4.3 mobile fix round 2
   Stronger overrides for remaining mobile overflow and right quick menu alignment.
   CSS only. */

/* absolute overflow lock */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}

body {
  position: relative;
}

.iibt-main,
.site,
.site-content,
.entry-content {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}

/* floating quick menu must attach to the real right edge */
.iibt-quick-menu,
.quick-menu,
.floating-menu,
.side-quick,
.quick-bar {
  right: 0 !important;
  left: auto !important;
  margin-right: 0 !important;
  transform: none !important;
}

/* desktop can keep normal if set elsewhere, but mobile must be fixed */
@media (max-width: 820px) {

  :root {
    --iibt-mobile-gutter: 14px;
    --iibt-mobile-content: calc(100vw - 28px);
  }

  /* Force every major visual block to share the same mobile width */
  .iibt-container,
  .media-award-grid,
  .stats-layout,
  .ranking-grid,
  .map-grid,
  .consult-grid,
  .cta-grid,
  .process-line,
  .program-split,
  .vlog-grid,
  .iibt-sub-section,
  .iibt-sub-zig,
  .iibt-sub-card-grid,
  .footer-grid {
    width: var(--iibt-mobile-content) !important;
    max-width: var(--iibt-mobile-content) !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* full-width wrappers stay full-width */
  .hero-section,
  .media-award-section,
  .pathway-stage-section,
  .visual-stats,
  .process-section,
  .ranking-section,
  .map-section,
  .vlog-section,
  .consult-grid-section,
  .student-success,
  .cta-section,
  .iibt-footer,
  .alignfull,
  .wp-block-cover.alignfull {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: hidden !important;
  }

  /* right quick menu: either attach to edge or hide on very small layouts */
  .iibt-quick-menu {
    position: fixed !important;
    right: 0 !important;
    left: auto !important;
    top: 42% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    z-index: 999 !important;
  }

  .iibt-quick-menu a {
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  /* if a different quick menu class exists, keep it attached */
  .quick-menu,
  .floating-menu,
  .side-quick,
  .quick-bar {
    position: fixed !important;
    right: 0 !important;
    left: auto !important;
    transform: none !important;
    margin-right: 0 !important;
  }

  /* Fix program split section still inheriting desktop width */
  .program-split {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    width: var(--iibt-mobile-content) !important;
    max-width: var(--iibt-mobile-content) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .program-split-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 44px 28px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .program-split-card h2 {
    max-width: 100% !important;
    font-size: 40px !important;
    line-height: 1.14 !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
  }

  .program-split-card em,
  .program-split-card .btn,
  .program-split-card a {
    max-width: 100% !important;
  }

  /* Fix media cards that still appear as horizontal overflow */
  .media-award-grid {
    grid-template-columns: 1fr !important;
    overflow: hidden !important;
  }

  .award-banner,
  .video-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* Fix ranking two-column overflow */
  .ranking-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    overflow: hidden !important;
  }

  .ranking-grid > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .ranking-table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .ranking-table div,
  .ranking-table .table-head {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(70px, .75fr) !important;
  }

  .ranking-table span,
  .ranking-table b {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: keep-all !important;
  }

  /* Why section stat list: prevent left labels from becoming too narrow */
  .stat-list {
    width: 100% !important;
    max-width: 100% !important;
  }

  .stat-list div {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 104px minmax(0, 1fr) !important;
    column-gap: 18px !important;
  }

  .stat-list strong {
    font-size: 24px !important;
    line-height: 1.18 !important;
    white-space: normal !important;
  }

  .stat-list span {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  /* Process boxes: exact same width as rest */
  .process-line {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .process-step {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* University pills / black section card alignment */
  .map-grid,
  .uni-pills {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .uni-pills {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .uni-pills span {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* Vlog cards align to same gutter */
  .vlog-section .iibt-container,
  .vlog-grid {
    width: var(--iibt-mobile-content) !important;
    max-width: var(--iibt-mobile-content) !important;
  }

  .vlog-card,
  .vlog-card img {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Consultation grid align */
  .consult-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .consult-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  /* Cover/hero inner content should align with normal gutter */
  .wp-block-cover__inner-container,
  .hero-centered .hero-clean-copy,
  .pathway-stage-head,
  .student-success .iibt-container,
  .cta-section .iibt-container {
    width: var(--iibt-mobile-content) !important;
    max-width: var(--iibt-mobile-content) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* top promo: keep close button at right edge, not consuming too much center */
  .iibt-top-promo {
    overflow: hidden !important;
  }

  .iibt-top-promo .iibt-container {
    width: calc(100% - 10px) !important;
    max-width: calc(100% - 10px) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: center !important;
  }

  .iibt-top-promo span {
    min-width: 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .iibt-top-promo button {
    white-space: normal !important;
    max-width: 96px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  /* Header logo balance */
  .iibt-logo-inner {
    width: var(--iibt-mobile-content) !important;
    max-width: var(--iibt-mobile-content) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* make desktop menu off-canvas/drop area not create overflow */
  .iibt-main-nav,
  .iibt-nav-inner,
  .iibt-nav-list,
  .iibt-mega-menu {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
}

/* extra small phones */
@media (max-width: 430px) {
  :root {
    --iibt-mobile-gutter: 12px;
    --iibt-mobile-content: calc(100vw - 24px);
  }

  .hero-centered .hero-clean-copy h1 {
    font-size: 36px !important;
  }

  .program-split-card h2 {
    font-size: 36px !important;
  }

  .ranking-table div,
  .ranking-table .table-head {
    grid-template-columns: minmax(0, 1.15fr) minmax(62px, .85fr) !important;
    gap: 10px !important;
  }

  .ranking-table span,
  .ranking-table b {
    font-size: 14px !important;
  }
}


/* v1.4.4 mobile fix round 3
   Target: reduce remaining excessive side gutters for image-heavy sections,
   and make video thumbnails evenly aligned. CSS only. */

@media (max-width: 820px) {

  :root {
    --iibt-mobile-gutter-tight: 10px;
    --iibt-mobile-content-tight: calc(100vw - 20px);
    --iibt-mobile-content-video: calc(100vw - 28px);
  }

  /* Image-heavy sections should use wider mobile width than text-heavy sections */
  .program-split,
  .media-award-grid,
  .vlog-section .iibt-container,
  .vlog-grid,
  .map-grid,
  .ranking-grid {
    width: var(--iibt-mobile-content-tight) !important;
    max-width: var(--iibt-mobile-content-tight) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Business / IT cards: flush to same tight mobile grid */
  .program-split {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    overflow: visible !important;
  }

  .program-split-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 44px 28px !important;
    box-sizing: border-box !important;
    background-position: center center !important;
    overflow: hidden !important;
  }

  .program-split-card h2 {
    font-size: 38px !important;
    line-height: 1.12 !important;
    letter-spacing: -0.04em !important;
    max-width: 100% !important;
  }

  .program-split-card span {
    display: block !important;
    margin-bottom: 18px !important;
  }

  .program-split-card em {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  /* Video/content section: equal side gutters and no hidden inherited offset */
  .vlog-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: hidden !important;
  }

  .vlog-section .iibt-container {
    width: var(--iibt-mobile-content-video) !important;
    max-width: var(--iibt-mobile-content-video) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .vlog-grid {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 34px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .vlog-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: block !important;
  }

  .vlog-card img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
  }

  .vlog-card h3,
  .vlog-card p {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .vlog-card h3 {
    font-size: 25px !important;
    line-height: 1.35 !important;
    margin-top: 18px !important;
  }

  .vlog-card p {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  /* Award/video intro cards above pathway also need even tighter gutters */
  .media-award-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .media-award-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .award-banner,
  .video-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Any direct image block inside generated pages should not inherit large WP margins */
  .wp-block-image,
  .wp-block-image img,
  .iibt-sub-image,
  .iibt-sub-image img {
    max-width: 100% !important;
  }

  .wp-block-image.alignwide,
  .wp-block-image.alignfull {
    width: var(--iibt-mobile-content-tight) !important;
    max-width: var(--iibt-mobile-content-tight) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Prevent cards from appearing shifted due to old margin-left on columns */
  .wp-block-columns,
  .wp-block-column,
  .wp-block-column > * {
    min-width: 0 !important;
  }

  .wp-block-column {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Tables and comparison cards should use same visual line as videos */
  .ranking-table,
  .ranking-table > div,
  .ranking-table .table-head {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* keep text-heavy sections readable, but ensure no section has 40px+ gutters */
  .section-head,
  .stats-copy,
  .ranking-grid > div:first-child,
  .map-grid > div,
  .pathway-stage-head {
    max-width: calc(100vw - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 430px) {
  :root {
    --iibt-mobile-content-tight: calc(100vw - 16px);
    --iibt-mobile-content-video: calc(100vw - 20px);
  }

  .program-split-card {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .program-split-card h2 {
    font-size: 36px !important;
  }
}


/* v1.4.5 mobile fix round 4
   Target: Business / IT course boxes should use the tightest mobile gutter. CSS only. */

@media (max-width: 820px) {

  /* Course boxes: almost full mobile width, same as widest image/video sections */
  .program-split {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    overflow: visible !important;
  }

  .program-split-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
    box-sizing: border-box !important;
  }

  /* Make the English course names fit better inside the wider card */
  .program-split-card h2 {
    font-size: 37px !important;
    line-height: 1.16 !important;
    letter-spacing: -0.045em !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  .program-split-card:nth-child(1) h2 {
    font-size: 35px !important;
    line-height: 1.14 !important;
  }

  .program-split-card span {
    font-size: 15px !important;
    letter-spacing: .16em !important;
  }

  .program-split-card em {
    min-width: 220px !important;
    justify-content: center !important;
  }
}

@media (max-width: 430px) {
  .program-split {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
  }

  .program-split-card {
    padding-left: 26px !important;
    padding-right: 26px !important;
  }

  .program-split-card h2 {
    font-size: 35px !important;
  }

  .program-split-card:nth-child(1) h2 {
    font-size: 33px !important;
  }
}


/* v1.4.6 mobile fix round 5
   Match Business/IT course boxes to the same visual width as lower Global Standard table. CSS only. */

@media (max-width: 820px) {

  /* The lower ranking table visually uses about 90vw width.
     Force course section to the same line. */
  .program-split {
    width: 90vw !important;
    max-width: 90vw !important;
    min-width: 90vw !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    box-sizing: border-box !important;
  }

  .program-split-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 42px 28px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  /* Ensure no parent section is narrowing the course boxes */
  .program-split,
  .program-split * {
    box-sizing: border-box !important;
  }

  /* Match lower ranking section width too, so both are visually identical */
  .ranking-grid,
  .ranking-table {
    width: 90vw !important;
    max-width: 90vw !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Keep text blocks readable but not overly wide */
  .ranking-grid > div:first-child {
    width: 90vw !important;
    max-width: 90vw !important;
  }

  /* Business heading fit */
  .program-split-card h2 {
    max-width: 100% !important;
    font-size: 34px !important;
    line-height: 1.16 !important;
    letter-spacing: -0.045em !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  .program-split-card:nth-child(1) h2 {
    font-size: 32px !important;
    line-height: 1.16 !important;
  }

  .program-split-card em {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
  }
}

@media (max-width: 430px) {
  .program-split,
  .ranking-grid,
  .ranking-table,
  .ranking-grid > div:first-child {
    width: 90vw !important;
    max-width: 90vw !important;
    min-width: 0 !important;
  }

  .program-split-card {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .program-split-card h2 {
    font-size: 32px !important;
  }

  .program-split-card:nth-child(1) h2 {
    font-size: 30px !important;
  }
}


/* v1.4.7 mobile width safety refinement
   Replace strong 90vw/min-width behavior with safer responsive sizing.
   CSS only. */

@media (max-width: 820px) {

  /* Safer course/table width:
     - responsive on phones
     - not forced by min-width
     - capped for larger phones/tablets
     - keeps minimum side gutters */
  .program-split,
  .ranking-grid,
  .ranking-table,
  .ranking-grid > div:first-child {
    width: min(90vw, 680px) !important;
    max-width: calc(100vw - 20px) !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  .program-split {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
  }

  .program-split-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 42px 26px !important;
    box-sizing: border-box !important;
  }

  .program-split-card h2 {
    max-width: 100% !important;
    font-size: clamp(30px, 8.4vw, 38px) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.045em !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  .program-split-card:nth-child(1) h2 {
    font-size: clamp(28px, 7.8vw, 35px) !important;
  }

  .program-split-card em {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
  }

  /* Keep ranking table aligned but allow content to wrap safely */
  .ranking-table,
  .ranking-table > div,
  .ranking-table .table-head {
    min-width: 0 !important;
  }

  .ranking-table div,
  .ranking-table .table-head {
    grid-template-columns: minmax(0, 1.2fr) minmax(64px, .8fr) !important;
  }
}

@media (max-width: 430px) {
  .program-split,
  .ranking-grid,
  .ranking-table,
  .ranking-grid > div:first-child {
    width: min(92vw, 680px) !important;
    max-width: calc(100vw - 16px) !important;
    min-width: 0 !important;
  }

  .program-split-card {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}

@media (max-width: 360px) {
  .program-split,
  .ranking-grid,
  .ranking-table,
  .ranking-grid > div:first-child {
    width: calc(100vw - 14px) !important;
    max-width: calc(100vw - 14px) !important;
  }

  .program-split-card {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}


/* v1.4.8 force course section mobile width
   Previous selector may not match the actual wrapper. This targets all likely course/program wrappers. CSS only. */

@media (max-width: 820px) {

  /* Force every possible course/program wrapper to the same visual line as lower table */
  .program-section,
  .program-section .iibt-container,
  .program-section .program-split,
  .program-split-section,
  .program-split-section .iibt-container,
  .program-split-section .program-split,
  .course-section,
  .course-section .iibt-container,
  .course-section .program-split,
  .major-section,
  .major-section .iibt-container,
  .major-section .program-split,
  .program-split,
  section:has(.program-split),
  section:has(.program-split) .iibt-container,
  section:has(.program-split) .program-split {
    width: min(90vw, 680px) !important;
    max-width: calc(100vw - 20px) !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* If :has is unsupported, direct child card class still forces wider layout */
  .program-split {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    overflow: visible !important;
  }

  .program-split > *,
  .program-split-card,
  a.program-split-card,
  .program-card,
  .course-card,
  .major-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .program-split-card,
  a.program-split-card {
    padding-left: 26px !important;
    padding-right: 26px !important;
  }

  /* Course card headings */
  .program-split-card h2,
  a.program-split-card h2,
  .program-card h2,
  .course-card h2,
  .major-card h2 {
    max-width: 100% !important;
    font-size: clamp(30px, 8vw, 38px) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.045em !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  .program-split-card:first-child h2,
  a.program-split-card:first-child h2 {
    font-size: clamp(28px, 7.4vw, 35px) !important;
  }

  /* Match lower comparison box width explicitly */
  .ranking-section .ranking-grid,
  .ranking-section .ranking-table,
  .ranking-grid,
  .ranking-table {
    width: min(90vw, 680px) !important;
    max-width: calc(100vw - 20px) !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 430px) {
  .program-section,
  .program-section .iibt-container,
  .program-section .program-split,
  .program-split-section,
  .program-split-section .iibt-container,
  .program-split-section .program-split,
  .course-section,
  .course-section .iibt-container,
  .course-section .program-split,
  .major-section,
  .major-section .iibt-container,
  .major-section .program-split,
  .program-split,
  section:has(.program-split),
  section:has(.program-split) .iibt-container,
  section:has(.program-split) .program-split,
  .ranking-section .ranking-grid,
  .ranking-section .ranking-table,
  .ranking-grid,
  .ranking-table {
    width: min(92vw, 680px) !important;
    max-width: calc(100vw - 16px) !important;
    min-width: 0 !important;
  }
}


/* v1.5.1-mobile-safe
   Final safe correction for Business / IT course boxes.
   No viewport breakout. No translate. No left/right shifting.
   The parent container gets wider; cards stay 100% inside it. CSS only. */

@media (max-width: 820px) {

  /* Reset any previous dangerous positioning from older mobile fixes */
  .program-split,
  .program-split-section,
  .program-section,
  .course-section,
  .major-section,
  section:has(.program-split) {
    left: auto !important;
    right: auto !important;
    transform: none !important;
    translate: none !important;
    position: relative !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Make the actual parent line wider, but keep it centered normally */
  section:has(.program-split),
  section:has(.program-split) > .iibt-container,
  .program-section,
  .program-section > .iibt-container,
  .program-split-section,
  .program-split-section > .iibt-container,
  .course-section,
  .course-section > .iibt-container,
  .major-section,
  .major-section > .iibt-container {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  /* Course grid: simply fill its parent */
  .program-split {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  /* Cards: full width inside the corrected parent */
  .program-split-card,
  a.program-split-card,
  .program-split > a,
  .program-split > div {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  /* Text fit */
  .program-split-card h2,
  a.program-split-card h2,
  .program-split > a h2,
  .program-split > div h2 {
    max-width: 100% !important;
    font-size: clamp(32px, 8.5vw, 40px) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.045em !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  .program-split-card:first-child h2,
  a.program-split-card:first-child h2,
  .program-split > a:first-child h2,
  .program-split > div:first-child h2 {
    font-size: clamp(30px, 7.9vw, 37px) !important;
  }

  .program-split-card em,
  a.program-split-card em,
  .program-split > a em,
  .program-split > div em {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
  }

  /* If browser does not support :has(), direct .program-split still remains safe and centered */
  .program-split {
    max-width: calc(100vw - 20px) !important;
  }
}

@media (max-width: 430px) {
  section:has(.program-split),
  section:has(.program-split) > .iibt-container,
  .program-section,
  .program-section > .iibt-container,
  .program-split-section,
  .program-split-section > .iibt-container,
  .course-section,
  .course-section > .iibt-container,
  .major-section,
  .major-section > .iibt-container,
  .program-split {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }

  .program-split-card,
  a.program-split-card,
  .program-split > a,
  .program-split > div {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}


/* v1.5.2 mobile safe refinement
   Fix remaining excessive course-card gutters and overflowing ranking heading.
   CSS only. */

@media (max-width: 820px) {

  /* 1) Course boxes:
     Do not move/translate. Make all likely wrappers use a wider normal centered width. */
  .program-split,
  .program-section,
  .program-section .iibt-container,
  .program-split-section,
  .program-split-section .iibt-container,
  .course-section,
  .course-section .iibt-container,
  .major-section,
  .major-section .iibt-container {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    translate: none !important;

    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .program-split {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .program-split-card,
  a.program-split-card,
  .program-split > a,
  .program-split > div {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  /* 2) Ranking/Global Standard section:
     Keep the text block inside screen and force natural Korean line breaks. */
  .ranking-section,
  .ranking-section .iibt-container,
  .ranking-grid,
  .ranking-grid > *,
  .ranking-grid > div:first-child,
  .ranking-table {
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .ranking-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  .ranking-grid h1,
  .ranking-grid h2,
  .ranking-grid h3,
  .ranking-section h1,
  .ranking-section h2,
  .ranking-section h3,
  .map-grid h1,
  .map-grid h2,
  .map-grid h3,
  .section-head h1,
  .section-head h2,
  .section-head h3 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
    font-size: clamp(31px, 8.2vw, 39px) !important;
    line-height: 1.28 !important;
    letter-spacing: -0.045em !important;
    overflow: visible !important;
  }

  .ranking-grid p,
  .ranking-section p,
  .map-grid p,
  .section-head p {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
    font-size: 16px !important;
    line-height: 1.85 !important;
  }

  /* 3) Course card text fit */
  .program-split-card h2,
  a.program-split-card h2,
  .program-split > a h2,
  .program-split > div h2 {
    max-width: 100% !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    font-size: clamp(32px, 8.5vw, 40px) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.045em !important;
  }

  .program-split-card:first-child h2,
  a.program-split-card:first-child h2,
  .program-split > a:first-child h2,
  .program-split > div:first-child h2 {
    font-size: clamp(30px, 7.9vw, 37px) !important;
  }

  .program-split-card em,
  a.program-split-card em,
  .program-split > a em,
  .program-split > div em {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
  }
}

@media (max-width: 430px) {
  .program-split,
  .program-section,
  .program-section .iibt-container,
  .program-split-section,
  .program-split-section .iibt-container,
  .course-section,
  .course-section .iibt-container,
  .major-section,
  .major-section .iibt-container {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }

  .ranking-section,
  .ranking-section .iibt-container,
  .ranking-grid,
  .ranking-grid > *,
  .ranking-grid > div:first-child,
  .ranking-table {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }

  .ranking-grid h1,
  .ranking-grid h2,
  .ranking-grid h3,
  .ranking-section h1,
  .ranking-section h2,
  .ranking-section h3,
  .map-grid h1,
  .map-grid h2,
  .map-grid h3,
  .section-head h1,
  .section-head h2,
  .section-head h3 {
    font-size: clamp(29px, 8vw, 35px) !important;
    line-height: 1.3 !important;
  }

  .program-split-card,
  a.program-split-card,
  .program-split > a,
  .program-split > div {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}


/* v1.5.3 MOBILE FINAL OVERRIDE
   This is intentionally placed at the very end to override previous accumulated mobile fixes.
   No left/translate/viewport breakout. Directly targets the real section classes from front-page.php. */

@media (max-width: 820px) {

  /* Hard reset previous risky mobile positioning on the course section */
  body .iibt-main > section.program-split,
  body section.program-split,
  body .program-split {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    translate: none !important;

    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;

    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    min-width: 0 !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body section.program-split > a.program-split-card,
  body section.program-split > .program-split-card,
  body .program-split > a.program-split-card,
  body .program-split > .program-split-card {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;

    min-height: 430px !important;
    padding: 44px 28px !important;

    box-sizing: border-box !important;
    overflow: hidden !important;
    background-size: cover !important;
    background-position: center center !important;
  }

  body .program-split-card h2 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    font-size: clamp(32px, 8.4vw, 39px) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.045em !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  body .program-split-card:first-child h2 {
    font-size: clamp(30px, 7.8vw, 36px) !important;
  }

  body .program-split-card em {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
  }

  /* Global Standard / ranking section: keep all text inside viewport */
  body section.ranking-section,
  body .ranking-section {
    overflow: hidden !important;
  }

  body section.ranking-section > .iibt-container.ranking-grid,
  body .ranking-section .ranking-grid,
  body .ranking-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;

    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    min-width: 0 !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body .ranking-grid > div,
  body .ranking-grid > div:first-child,
  body .ranking-grid > div:last-child {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body .ranking-grid h1,
  body .ranking-grid h2,
  body .ranking-grid h3,
  body .ranking-section h1,
  body .ranking-section h2,
  body .ranking-section h3 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    font-size: clamp(28px, 7.3vw, 35px) !important;
    line-height: 1.32 !important;
    letter-spacing: -0.045em !important;

    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
    overflow: visible !important;
  }

  body .ranking-grid p,
  body .ranking-section p {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    font-size: 16px !important;
    line-height: 1.85 !important;

    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
  }

  body .ranking-table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
    overflow: hidden !important;
    padding: 28px 22px !important;
  }

  body .ranking-table .table-head {
    margin-left: -22px !important;
    margin-right: -22px !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body .ranking-table > div {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(72px, .8fr) !important;
    gap: 14px !important;
    box-sizing: border-box !important;
  }

  body .ranking-table span,
  body .ranking-table b {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
  }
}

@media (max-width: 430px) {
  body .iibt-main > section.program-split,
  body section.program-split,
  body .program-split {
    width: calc(100% - 10px) !important;
    max-width: calc(100% - 10px) !important;
  }

  body section.program-split > a.program-split-card,
  body section.program-split > .program-split-card,
  body .program-split > a.program-split-card,
  body .program-split > .program-split-card {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  body section.ranking-section > .iibt-container.ranking-grid,
  body .ranking-section .ranking-grid,
  body .ranking-grid {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
  }

  body .ranking-grid h1,
  body .ranking-grid h2,
  body .ranking-grid h3,
  body .ranking-section h1,
  body .ranking-section h2,
  body .ranking-section h3 {
    font-size: clamp(27px, 7.2vw, 33px) !important;
  }
}


/* v1.5.4 mobile header edge alignment
   Move logo close to the left edge and hamburger menu close to the right edge.
   CSS only. */

@media (max-width: 820px) {

  body .iibt-logo-row {
    padding: 24px 0 !important;
  }

  body .iibt-logo-inner,
  body .iibt-header-inner,
  body .site-header .iibt-container,
  body .iibt-logo-row .iibt-container {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    box-sizing: border-box !important;
  }

  body .iibt-brand,
  body .iibt-brand a,
  body .iibt-text-logo,
  body .custom-logo-link {
    margin-left: 0 !important;
    padding-left: 0 !important;
    max-width: calc(100vw - 98px) !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  body .iibt-brand img,
  body .custom-logo {
    max-width: 100% !important;
    height: auto !important;
  }

  body .iibt-mobile-toggle,
  body button.iibt-mobile-toggle,
  body .mobile-menu-toggle,
  body .menu-toggle {
    margin-left: auto !important;
    margin-right: 0 !important;
    flex: 0 0 64px !important;
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
    border-radius: 18px !important;
  }

  /* If text-logo is still used before final logo image upload */
  body .iibt-text-logo strong,
  body .iibt-brand strong {
    font-size: 33px !important;
    line-height: 1.02 !important;
  }

  body .iibt-text-logo em,
  body .iibt-brand em {
    font-size: 17px !important;
    line-height: 1.16 !important;
  }

  /* Reduce any accidental large header blank space */
  body .iibt-logo-row + .iibt-main-nav,
  body .iibt-main-nav {
    margin-top: 0 !important;
  }
}

@media (max-width: 430px) {
  body .iibt-logo-inner,
  body .iibt-header-inner,
  body .site-header .iibt-container,
  body .iibt-logo-row .iibt-container {
    width: calc(100% - 10px) !important;
    max-width: calc(100% - 10px) !important;
    margin-left: 5px !important;
    margin-right: 5px !important;
  }

  body .iibt-mobile-toggle,
  body button.iibt-mobile-toggle,
  body .mobile-menu-toggle,
  body .menu-toggle {
    flex-basis: 62px !important;
    width: 62px !important;
    height: 62px !important;
    max-width: 62px !important;
  }

  body .iibt-brand,
  body .iibt-brand a,
  body .iibt-text-logo,
  body .custom-logo-link {
    max-width: calc(100vw - 84px) !important;
  }
}


/* v1.5.5 mobile header menu box square corners */
@media (max-width: 820px) {
  body .iibt-mobile-toggle,
  body button.iibt-mobile-toggle,
  body .mobile-menu-toggle,
  body .menu-toggle {
    border-radius: 0 !important;
  }
}


/* v1.8.0 SEPARATE MOBILE MENU
   Desktop menu and mobile menu are separate structures.
   Mobile submenu is always directly inside its own group, preventing bottom-placement bugs.
   Main menu: 16px / 750
   Submenu: 15px / 650 */

@media (min-width: 821px) {
  body .iibt-mobile-menu-list {
    display: none !important;
  }

  body .iibt-desktop-nav-list {
    display: flex !important;
  }

  body .iibt-desktop-menu-link {
    display: flex !important;
  }
}

@media (max-width: 820px) {
  body .iibt-desktop-nav-list,
  body .iibt-desktop-menu-link {
    display: none !important;
  }

  body .iibt-main-nav > .iibt-mega-menu,
  body .iibt-main-nav > .iibt-mega-menu[data-mega-menu],
  body .iibt-main-nav > .iibt-desktop-mega-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  body .iibt-main-nav {
    display: none !important;
    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
    padding: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    background: #ffffff !important;
    border-top: 1px solid #e5e7eb !important;
    border-bottom: 1px solid #e5e7eb !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .12) !important;
    box-sizing: border-box !important;
    z-index: 9999 !important;
  }

  body .iibt-main-nav.open,
  body.mobile-menu-open .iibt-main-nav {
    display: block !important;
  }

  body .iibt-main-nav .iibt-container,
  body .iibt-nav-inner,
  body .iibt-mobile-menu-list {
    display: block !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
  }

  body .iibt-mobile-menu-group {
    display: block !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e5e7eb !important;
    box-sizing: border-box !important;
  }

  body .iibt-mobile-menu-button,
  body .iibt-mobile-direct-link {
    appearance: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    color: #111827 !important;
    background: #ffffff !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.02em !important;
    text-align: left !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
  }

  body .iibt-mobile-menu-button::after {
    content: "⌄" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 10px !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    color: #94a3b8 !important;
  }

  body .iibt-mobile-menu-button.is-open {
    color: #ffffff !important;
    background: #0d2b5c !important;
  }

  body .iibt-mobile-menu-button.is-open::after {
    content: "⌃" !important;
    color: #ffffff !important;
  }

  body .iibt-mobile-submenu {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #f3f5f8 !important;
    border-top: 1px solid #e5e7eb !important;
    box-sizing: border-box !important;
  }

  body .iibt-mobile-submenu a {
    display: block !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 11px 14px 11px 28px !important;
    color: #64748b !important;
    background: #f3f5f8 !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.45 !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
    text-decoration: none !important;
    border-bottom: 1px solid #e8edf3 !important;
    box-sizing: border-box !important;
  }

  body .iibt-mobile-submenu a:hover {
    background: #eef6ff !important;
    color: #0d173f !important;
  }

  body .iibt-mobile-toggle,
  body button.iibt-mobile-toggle,
  body .mobile-menu-toggle,
  body .menu-toggle {
    border-radius: 0 !important;
  }

  body .iibt-mobile-toggle.active,
  body .iibt-mobile-toggle[aria-expanded="true"] {
    background: #ffd84d !important;
    color: #0d173f !important;
  }
}

@media (max-width: 430px) {
  body .iibt-mobile-menu-button,
  body .iibt-mobile-direct-link {
    min-height: 50px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    font-size: 15.5px !important;
  }

  body .iibt-mobile-submenu a {
    padding-left: 26px !important;
    padding-right: 12px !important;
    font-size: 14.5px !important;
  }
}


/* =========================================================
   v1.8.1 menu restructure + alignment fixes
   ========================================================= */

/* Main desktop menu: softer weight to avoid blurred/bold look */
.iibt-main-nav .iibt-nav-list{
  display:grid!important;
  grid-template-columns:repeat(6, minmax(0, 1fr))!important;
  width:100%!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  overflow:visible!important;
}
.iibt-main-nav .iibt-nav-item{
  width:100%!important;
  min-width:0!important;
  display:flex!important;
  align-items:stretch!important;
  justify-content:center!important;
}
.iibt-main-nav .iibt-nav-item>a,
.iibt-main-nav .iibt-desktop-menu-link{
  width:100%!important;
  min-width:0!important;
  height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:0 8px!important;
  font-size:15px!important;
  font-weight:500!important;
  letter-spacing:-.025em!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}

/* Mega menu: exact six columns aligned with top menu columns */
.iibt-desktop-mega-menu .iibt-mega-grid{
  display:grid!important;
  grid-template-columns:repeat(6, minmax(0, 1fr))!important;
  width:100%!important;
  gap:0!important;
  padding:22px 0 28px!important;
  align-items:start!important;
}
.iibt-desktop-mega-menu .iibt-mega-col{
  width:100%!important;
  min-width:0!important;
  padding:0 8px!important;
  text-align:center!important;
}
.iibt-desktop-mega-menu .iibt-mega-links{
  display:grid!important;
  gap:10px!important;
}
.iibt-desktop-mega-menu .iibt-mega-links a{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  color:#737b88!important;
  font-size:13.5px!important;
  font-weight:400!important;
  line-height:1.45!important;
  letter-spacing:-.02em!important;
  word-break:keep-all!important;
}
.iibt-desktop-mega-menu .iibt-mega-links a:hover{
  color:#0b69c7!important;
}
.iibt-mega-title{display:none!important;}
.iibt-dropdown{display:none!important;}

/* Switch to mobile menu earlier, before desktop/mega columns break. */
@media(max-width:1180px){
  .iibt-logo-inner{min-height:96px!important;}
  .iibt-top-links{display:none!important;}
  .iibt-mobile-toggle{display:block!important;}
  .iibt-main-nav{display:none!important;height:auto!important;}
  .iibt-main-nav.open{display:block!important;}
  .iibt-nav-inner{height:auto!important;}
  .iibt-desktop-nav-list{display:none!important;}
  .iibt-desktop-mega-menu{display:none!important;}
  .iibt-mobile-menu-list{display:block!important;padding:8px 0 18px!important;background:#fff!important;}
  .iibt-mobile-menu-group{border-bottom:1px solid #edf1f6!important;}
  .iibt-mobile-menu-button,
  .iibt-mobile-direct-link{
    display:flex!important;
    width:100%!important;
    min-height:54px!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:0 22px!important;
    background:#fff!important;
    color:#1f2a44!important;
    border:0!important;
    font-size:16px!important;
    font-weight:500!important;
    text-align:left!important;
  }
  .iibt-mobile-submenu{
    display:none!important;
    height:0!important;
    max-height:0!important;
    overflow:hidden!important;
    visibility:hidden!important;
    background:#f8fafc!important;
    padding:0!important;
  }
  .iibt-mobile-menu-button.is-open + .iibt-mobile-submenu{
    display:block!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible!important;
    padding:8px 0 12px!important;
  }
  .iibt-mobile-submenu a{
    display:block!important;
    padding:10px 34px!important;
    color:#5d6878!important;
    font-size:14px!important;
    font-weight:400!important;
    line-height:1.45!important;
  }
}

@media(min-width:1181px){
  .iibt-mobile-menu-list{display:none!important;}
  .iibt-desktop-nav-list{display:grid!important;}
  .iibt-main-nav{display:block!important;}
}


/* v1.8.1a role split cleanup: theme owns common layout, quick banner, and mobile gutters. */
.iibt-container{
  width:100%;
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  padding-left:22px;
  padding-right:22px;
}
.iibt-main{overflow-x:hidden;}
.iibt-main>.section{padding-top:80px;padding-bottom:80px;}
body.page .iibt-main>.section:first-child{padding-top:0;}
.page-hero{padding:72px 0;background:#f8fafc;}
.page-hero h1{margin:12px 0 0;font-size:clamp(34px,4vw,52px);line-height:1.15;color:var(--navy);letter-spacing:-.04em;}
.content-page{max-width:1180px;}
.iibt-top-links a{color:#64748b;font-weight:700;}
.iibt-quick-menu{
  position:fixed;
  right:22px;
  top:265px;
  width:92px;
  z-index:900;
  border-radius:0;
  overflow:visible;
  box-shadow:0 14px 36px rgba(15,23,42,.18);
  transition:transform .18s ease;
}
.iibt-quick-menu .iibt-quick-items{background:#172033;}
.iibt-quick-menu a{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:58px;
  padding:9px 7px;
  background:#172033;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.12);
  font-size:12px;
  font-weight:600;
  text-align:center;
  line-height:1.25;
}
.iibt-quick-menu a.kakao{background:#ffd84d;color:#111827;}
.iibt-quick-menu a span{display:block;}
.iibt-quick-toggle{
  position:absolute;
  left:-24px;
  top:0;
  width:24px;
  height:42px;
  border:0;
  border-radius:0;
  background:#0d173f;
  color:#fff;
  cursor:pointer;
  font-size:18px;
  line-height:1;
}
.iibt-quick-menu.is-collapsed{transform:translateX(calc(100% + 22px));}
.iibt-quick-menu.is-collapsed .iibt-quick-toggle{left:-24px;}
@media (min-width:821px){.iibt-quick-menu{display:block;}}
@media (max-width:820px){
  .iibt-container{padding-left:18px;padding-right:18px;}
  .iibt-quick-menu{display:none!important;}
  .iibt-logo-inner{min-height:88px;}
  .iibt-brand img.custom-logo{max-width:260px;max-height:70px;}
  .iibt-main>.section{padding-top:58px;padding-bottom:58px;}
  .page-hero{padding:52px 0;}
}
@media (max-width:520px){.iibt-container{padding-left:16px;padding-right:16px;}}

/* v1.8.1b plugin page alignment fix: remove theme wrapper gap and restore full-width plugin banners. */
body.page .iibt-main > .iibt-plugin-page-content{
  display:block;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  overflow:hidden;
}
body.page .iibt-plugin-page-content > *:first-child,
body.page .iibt-plugin-page-content > .wp-block-group:first-child,
body.page .iibt-plugin-page-content > .wp-block-cover:first-child,
body.page .iibt-plugin-page-content > section:first-child{
  margin-top:0!important;
}
body.page .iibt-plugin-page-content .alignfull,
body.page .iibt-plugin-page-content .wp-block-cover.alignfull,
body.page .iibt-plugin-page-content .wp-block-group.alignfull,
body.page .iibt-plugin-page-content .iibt-page-wrap,
body.page .iibt-plugin-page-content .iibt-page-hero,
body.page .iibt-plugin-page-content .iibt-intro-hero,
body.page .iibt-plugin-page-content .iibt-about-hero,
body.page .iibt-plugin-page-content .iibt-v162-hero{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.page .iibt-plugin-page-content .iibt-page-hero,
body.page .iibt-plugin-page-content .iibt-v162-hero,
body.page .iibt-plugin-page-content .iibt-page-wrap{
  margin-top:0!important;
}
body.page .iibt-plugin-page-content .iibt-v162-hero-img,
body.page .iibt-plugin-page-content .wp-block-cover__image-background{
  width:100%!important;
  max-width:none!important;
}
@media(max-width:820px){
  body.page .iibt-plugin-page-content{
    padding:0!important;
  }
}
