@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
/* ==========================================================================
   JIS 2026 — design system
   One stylesheet, loaded last, that governs every section on every page.

   COLOUR RHYTHM (the fix for "some blue, some cream"):
     paper   -> default page surface for ALL content sections
     white   -> cards only
     navy    -> exactly TWO moments: the admissions CTA band + Vision/Mission
     ink     -> footer only
   Nothing else gets a background. Ever.
   ========================================================================== */

:root{--paper:#F5F7FC;--surface:#FFFFFF;--ink:#0A1024;--navy:#0B2A6B;--navy-deep:#061638;--navy-soft:#1E4FD8;--royal:#1E4FD8;--gold:#FFC20E;--gold-deep:#B8860B;--rule:#E3E8F2;--rule-dark:rgba(255,255,255,.14);--muted:#5A6478;--muted-light:rgba(255,255,255,.75);--r:20px;--shadow:0 1px 2px rgba(10,16,36,.06),0 10px 30px -14px rgba(10,16,36,.16);--shadow-md:0 2px 4px rgba(10,16,36,.05),0 18px 44px -18px rgba(10,16,36,.22);--grad-aurora:linear-gradient(135deg,#061638,#0B2A6B 45%,#1E4FD8);--glow-gold:radial-gradient(640px 320px at 85% -10%,rgba(255,194,14,.16),transparent 60%);--serif:'Space Grotesk',ui-sans-serif,system-ui,sans-serif;--sans:'Inter',ui-sans-serif,system-ui,sans-serif;--mono:ui-monospace,'SF Mono',Menlo,monospace}

/* ---------- base ---------- */
body{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;font-size:16px}
p{line-height:1.7}
h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:400;letter-spacing:-.015em;line-height:1.12}
a{transition:color .2s ease}

/* ---------- section rhythm : every section identical ---------- */
.section-pad,
.container-fluid.section-pad{padding:5rem 0!important;background:var(--paper)}
.about-wrap,.news-wrap,.director-wrap{background:var(--paper)!important}
.accred-strip{background:var(--surface)!important;padding:4rem 0 3.5rem!important;border-top:1px solid var(--rule)}
@media(max-width:767px){.section-pad,.container-fluid.section-pad{padding:3.25rem 0!important}}

/* ---------- section headings : one treatment everywhere ---------- */
.section-title,.accred-strip .section-title{
  font-family:var(--serif)!important;font-weight:400!important;
  font-size:clamp(1.85rem,3.4vw,2.85rem)!important;letter-spacing:-.02em!important;
  color:var(--ink)!important;text-align:center;margin:0 0 .5rem!important;
}
.section-line{width:64px;height:4px;background:var(--gold);border-radius:2px;margin:.85rem auto 2.75rem!important}
.section-title .fa-solid,.section-title .fa-regular,.section-title i{color:var(--gold)!important;font-size:.62em;vertical-align:.18em}

/* ---------- cards : one shape everywhere ---------- */
.level-card,.news-panel,.feed-card,.vm-card,.event-scroll>*,.director-card{
  border-radius:var(--r)!important;
}
.news-panel,.director-card{
  background:var(--surface)!important;border:1px solid var(--rule)!important;box-shadow:var(--shadow)!important;
}
.event-scroll>*{
  background:var(--surface)!important;border:1px solid var(--rule)!important;box-shadow:none!important;
  overflow:hidden;transition:border-color .25s ease,transform .25s ease;
}
.event-scroll>*:hover{border-color:var(--navy)!important;transform:translateY(-3px)}

/* ---------- buttons : one system ---------- */
.btn-jis,.btn-jis-gold,.btn-jis-outline,.btn-subscribe{
  font-family:var(--sans)!important;font-weight:500!important;font-size:.83rem!important;
  border-radius:100px!important;padding:.72rem 1.7rem!important;line-height:1.25!important;
  letter-spacing:.01em;border:1px solid transparent!important;transition:all .22s ease!important;
  display:inline-flex;align-items:center;gap:.5rem;
}
.btn-jis{background:var(--navy)!important;color:#fff!important}
.btn-jis:hover{background:var(--navy-soft)!important}
.btn-jis-gold{background:var(--gold)!important;color:var(--ink)!important}
.btn-jis-gold:hover{background:#fff!important}
.btn-jis-outline{background:transparent!important;color:var(--navy)!important;border-color:var(--navy)!important}
.btn-jis-outline:hover{background:var(--navy)!important;color:#fff!important}

/* ---------- header : brand bar ---------- */
.brandbar{padding:1.5rem 0!important}
.brandbar img.logo{height:82px!important;width:auto;transition:transform .3s ease}
.brandbar a:hover img.logo{transform:scale(1.03)}
.brandbar .school-name{font-size:clamp(1.1rem,2.4vw,1.85rem)!important;line-height:1.03!important;letter-spacing:.004em!important}
.brandbar .since{letter-spacing:.26em!important;margin-top:.4rem;display:inline-block}
.brandbar .accred-note{border-left:1px solid var(--rule);padding-left:1.7rem;max-width:320px}
.brandbar .accred.acc-h{color:var(--gold-deep)!important;letter-spacing:.19em!important;font-size:.57rem!important}
.brandbar .accred{font-size:.63rem!important;line-height:1.65!important;color:#868D99!important}
@media(max-width:1199px){.brandbar .accred-note{display:none}}
@media(max-width:575px){.brandbar img.logo{height:60px!important}}

/* ---------- header : nav ---------- */
.mainnav .nav-link{font-size:.815rem!important;letter-spacing:.055em!important;padding:1.05rem 1.15rem!important}
.mainnav .navbar-utils .nav-link{font-size:.76rem!important;padding:1.05rem .62rem!important}
.mainnav .nav-item.nav-admissions .nav-link{color:var(--navy)!important;font-weight:600!important}
.mainnav .nav-item.nav-admissions .nav-link:after{width:38%;background:var(--gold);height:3px}

/* ---------- header : quick links as icon chips ---------- */
.quicklinks{background:var(--surface)!important;border-bottom:1px solid var(--rule)!important}
.quicklinks .ql{gap:.68rem!important;padding:.7rem .9rem!important;border-radius:12px!important;font-size:.75rem!important;font-weight:500!important;margin:.55rem 0!important}
.quicklinks .ql img{
  width:38px!important;height:38px!important;padding:7px;border-radius:50%;
  background:#EEF1F7;box-sizing:border-box;transition:all .25s ease;
}
.quicklinks .ql:hover{background:var(--paper)!important;color:var(--navy)!important}
.quicklinks .ql:hover img{background:var(--navy);transform:translateY(-2px)}

/* ---------- admissions CTA band (dark moment #1) ---------- */
.cta-band .cell{background:var(--navy)!important;padding:3rem 2rem!important;min-height:180px}
.cta-band .cell.gold-side{background:var(--gold)!important}
.cta-band h4{font-size:clamp(1.05rem,1.85vw,1.45rem)!important;margin-bottom:1.25rem!important}

/* ---------- about ---------- */
.about-wrap p.lead-text{
  max-width:62ch;margin:0 auto 1.9rem!important;font-size:1.04rem!important;
  line-height:1.75!important;color:var(--muted)!important;font-weight:300;
}
.about-wrap .brand-mark{color:var(--navy)!important;font-weight:600}

/* ---------- stage cards ---------- */
.level-card{border:1px solid var(--rule)!important;box-shadow:var(--shadow)!important;overflow:hidden}
.level-card:hover{transform:translateY(-4px);border-color:var(--navy)!important}

/* ---------- vision & mission (dark moment #2) ---------- */
.vm-wrap{
  background:var(--navy-deep)!important;background-image:none!important;
  border-top:none!important;border-bottom:none!important;
}
.vm-wrap .section-title{color:#fff!important}
.vm-wrap .section-title i{color:var(--gold)!important}
.vm-wrap .row{align-items:flex-start!important}
.vm-card{
  background:rgba(255,255,255,.05)!important;border:1px solid var(--rule-dark)!important;
  height:auto!important;padding:2.2rem 2rem!important;box-shadow:none!important;
}
.vm-card p,.vm-card li{color:var(--muted-light)!important;font-size:.95rem!important;line-height:1.72!important;font-weight:300}
.vm-card .vm-badge{background:var(--gold)!important;color:var(--ink)!important;margin-bottom:1rem!important;font-size:.76rem!important;letter-spacing:.04em}
.vm-card .fa-square-check{color:var(--gold)!important}
.vm-card a{color:var(--gold)!important}

/* ---------- news & events ---------- */
.news-wrap .row{align-items:stretch}
.news-wrap .news-panel{height:100%;padding:1.6rem 1.5rem!important}
.news-panel h5{font-family:var(--serif)!important;font-size:1.12rem!important;color:var(--ink)!important}
.event-scroll{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important;overflow:visible!important}
.event-scroll>*{min-width:0!important;max-width:none!important;width:auto!important;flex:none!important}
@media(max-width:991px){.event-scroll{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:575px){.event-scroll{grid-template-columns:1fr!important}}

/* ---------- accreditation : consistent sizing, no greyscale gimmick ---------- */
.accred-strip .logos{gap:2.75rem!important;align-items:center}
.accred-strip .logos img{
  height:46px!important;width:auto;max-width:170px;object-fit:contain;
  filter:none!important;opacity:.78!important;transition:opacity .25s ease;
}
.accred-strip .logos img:hover{opacity:1!important;transform:none!important}
@media(max-width:575px){.accred-strip .logos{gap:1.5rem!important}.accred-strip .logos img{height:34px!important}}

/* ---------- footer ---------- */
.jis-footer{background:var(--ink)!important;padding:4rem 0 2rem!important}
.jis-footer h3{font-family:var(--mono)!important;font-size:.7rem!important;letter-spacing:.17em!important;color:var(--gold)!important}
.jis-footer ul li a{font-size:.86rem!important}
.jis-bottombar{background:#0A0F17!important}

/* ---------- floating social rail : quieter, out of the way ---------- */
.social-rail{top:auto!important;bottom:120px!important}
.social-rail a{width:34px!important;height:34px!important;font-size:.82rem!important;opacity:.9}
.social-rail a:hover{width:42px!important;opacity:1}
@media(max-width:1400px){.social-rail{display:none!important}}

/* ---------- inner pages : readable measure + consistent tables ---------- */
.page-body,.inner-content{font-size:.97rem}
table{border-collapse:collapse;width:100%;font-size:.9rem}
table td,table th{border:1px solid var(--rule);padding:.6rem .8rem;vertical-align:top}
table thead th,table tr:first-child td{background:var(--paper);font-weight:600}
img{max-width:100%;height:auto}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* ---------- nav order: Home, Admissions, then the rest ---------- */
.mainnav .navbar-nav.mx-auto{display:flex}
.mainnav .navbar-nav.mx-auto .nav-item{order:3}
.mainnav .navbar-nav.mx-auto .nav-item:first-child{order:1}
.mainnav .navbar-nav.mx-auto .nav-item.nav-admissions{order:2}
/* ===== batch A fixes ===== */
.brand-mark{background:transparent!important;color:var(--navy)!important;padding:0!important;border-radius:0!important}
.breadcrumb{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0;background:transparent}
.breadcrumb>li+li::before{content:"/";padding:0 .55rem;color:var(--muted);opacity:.55}
.accred-strip .logos img{height:auto!important;width:auto!important;max-height:42px!important;max-width:118px!important}
h1[style*="color"]:not([style*="var("]):not(.section-title),h2[style*="color"]:not([style*="var("]):not(.section-title),h3[style*="color"]:not([style*="var("]):not(.section-title),h4[style*="color"]:not([style*="var("]):not(.section-title),h5[style*="color"]:not([style*="var("]):not(.section-title),h6[style*="color"]:not([style*="var("]):not(.section-title){color:var(--ink)!important}
[style*="color:purple"],[style*="color:magenta"],[style*="color:#800080"],[style*="color:red"]{color:var(--ink)!important}
.footer-nav a{order:3}
.footer-nav a:first-child{order:1}
.footer-nav a.fn-adm{order:2}
.footer-nav .util{order:9}
.footer-nav .sep{order:8}
/* ================= corrections ================= */
.about-wrap .brand-mark{color:var(--navy)!important;background:none!important;padding:0!important;font-weight:600!important;-webkit-text-fill-color:var(--navy)!important}
.container-fluid.section-pad{background:var(--paper)!important}
.container-fluid.vm-wrap.section-pad{background:var(--navy-deep)!important}
.breadcrumb{background:transparent!important;padding:0!important;margin:0 0 1rem!important;display:flex;flex-wrap:wrap;font-size:.82rem;list-style:none}
.breadcrumb li{display:inline-flex;align-items:center}
.breadcrumb li+li::before{content:"/";padding:0 .55rem;color:#A9B0BB}
.breadcrumb a{color:var(--navy)}
.breadcrumb a:hover{color:var(--gold-deep)}
.footer-nav>a{order:3}
.footer-nav>a:first-of-type{order:1}
.footer-nav>a:last-of-type{order:2}
.footer-nav .sep,.footer-nav .util{order:9}
.accred-strip .logos img{height:auto!important;max-height:42px!important;max-width:118px!important;width:auto!important}
img[src$="cto.png"]{display:none!important}
/* ---------- fix-all 2026-08-05 ---------- */
.director-wrap,.director-wrap p,.director-wrap blockquote,.director-wrap span,.director-wrap .lead{color:var(--ink)!important}
.director-wrap .section-title,.director-wrap h2,.director-wrap h3,.director-wrap h4{color:var(--navy)!important}
.page-band{background:linear-gradient(135deg,var(--navy-deep),var(--navy))!important;padding:3rem 0!important}
.page-band .page-band-title{color:#fff!important;font-family:var(--serif);font-weight:400;font-size:2.4rem;letter-spacing:-.01em;margin:0}

.page-band{padding:2.6rem 0!important}
.page-band .container{max-width:1140px;margin:0 auto;padding:0 15px}

#hint{display:none!important}

/* ================= JIS 2030 layer ================= */
html{scroll-behavior:smooth}
body{font-size:16.5px;-webkit-font-smoothing:antialiased}
::selection{background:var(--gold);color:#141000}
:focus-visible{outline:3px solid rgba(30,79,216,.4);outline-offset:2px}
h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.022em}
.mainnav{position:sticky;top:0;z-index:1030;background:rgba(255,255,255,.78)!important;backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);border-bottom:1px solid rgba(10,16,36,.07)}
.mainnav::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--royal))}
.mainnav .nav-link{font-weight:600;border-radius:999px;padding:.5rem .95rem!important;color:var(--ink)!important}
.mainnav .nav-link:hover{background:rgba(30,79,216,.08);color:var(--navy)!important}
.mainnav .nav-item.nav-admissions .nav-link{background:linear-gradient(135deg,#FFD75E,#F0AC00);color:#171200!important;font-weight:700;box-shadow:0 6px 16px -8px rgba(240,172,0,.55)}
.mainnav .nav-item.nav-admissions .nav-link:after{display:none!important}
a.ql{display:inline-flex;align-items:center;gap:.55rem;background:var(--surface);border:1px solid var(--rule);border-radius:999px;padding:.5rem 1.05rem .5rem .55rem;box-shadow:var(--shadow);font-weight:600;font-size:.86rem;color:var(--ink)!important;transition:transform .25s,box-shadow .25s,border-color .25s}
a.ql img{width:30px;height:30px;border-radius:50%;background:rgba(30,79,216,.09);padding:5px}
a.ql:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:rgba(30,79,216,.35)}
.hero-static{position:relative;overflow:hidden}
.hero-static::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,22,56,0) 45%,rgba(6,22,56,.42) 100%);pointer-events:none}
.hero-static img{display:block;width:100%}
.section-title{font-size:clamp(2rem,3.3vw,2.7rem)!important;font-weight:700!important;letter-spacing:-.03em}
.section-title i{display:none!important}
.section-line{width:56px!important;height:5px!important;border-radius:3px;background:linear-gradient(90deg,var(--gold),var(--royal))!important}
.level-card,.news-panel,.feed-card,.vm-card,.event-scroll>*,.director-card{border-radius:var(--r)!important;border:1px solid rgba(10,16,36,.05)!important;box-shadow:var(--shadow)!important;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s!important}
.level-card:hover,.news-panel:hover,.feed-card:hover,.event-scroll>*:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)!important}
.cta-band,.container-fluid:has(.vm-card),.page-band{background:var(--grad-aurora)!important;position:relative;overflow:hidden}
.cta-band::before,.container-fluid:has(.vm-card)::before,.page-band::before{content:'';position:absolute;inset:0;background:var(--glow-gold);pointer-events:none}
.cta-band>*,.container-fluid:has(.vm-card)>*,.page-band>*{position:relative;z-index:1}
.vm-card{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.16)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.vm-card,.vm-card p,.vm-card li,.vm-card h1,.vm-card h2,.vm-card h3,.vm-card h4{color:#fff!important}
.btn-jis,.btn-jis-gold,.btn-jis-outline,.btn-subscribe{border-radius:999px!important;font-weight:700!important;letter-spacing:.01em;padding:.68rem 1.45rem!important;border:0!important;transition:transform .25s,box-shadow .25s!important}
.btn-jis{background:linear-gradient(135deg,#0B2A6B,#1E4FD8)!important;color:#fff!important;box-shadow:0 10px 24px -12px rgba(30,79,216,.55)!important}
.btn-jis:hover,.btn-jis-gold:hover,.btn-subscribe:hover{transform:translateY(-2px)}
.btn-jis-gold,.btn-subscribe{background:linear-gradient(135deg,#FFD75E,#F0AC00)!important;color:#171200!important;box-shadow:0 10px 24px -12px rgba(240,172,0,.6)!important}
.btn-jis-outline{background:rgba(255,255,255,.06)!important;border:1.5px solid rgba(255,255,255,.6)!important;color:#fff!important}
.btn-jis-outline:hover{background:rgba(255,255,255,.14)!important}
#content-description{max-width:920px;margin:0 auto;font-size:1.02rem}
#content-description p{line-height:1.8}
#content-description h2{margin-top:2.4rem}
#content-description table{width:100%;border-collapse:separate!important;border-spacing:0;margin:1.3rem 0 2.3rem;border:1px solid var(--rule);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);font-size:.95rem}
#content-description th{background:var(--navy-deep)!important;color:#fff!important;font-family:var(--serif);font-weight:600;padding:.8rem .9rem;border:0!important;text-align:left}
#content-description td{padding:.7rem .9rem;border:0!important;border-top:1px solid var(--rule)!important}
#content-description tbody tr:nth-child(even) td{background:#F7F9FF}
.accred-strip .logos img{filter:grayscale(1) opacity(.55);transition:filter .3s}
.accred-strip .logos img:hover{filter:none;opacity:1}
.page-band{padding:3.4rem 0!important}
.page-band-title{font-weight:700!important;font-size:clamp(1.9rem,3.2vw,2.6rem)!important;letter-spacing:-.02em}
.breadcrumb{font-size:.85rem}
.breadcrumb a{color:var(--muted)!important}
.breadcrumb a:hover{color:var(--royal)!important}
footer.jis-footer{background:#070D1F!important;color:rgba(255,255,255,.72)}
footer.jis-footer a{color:rgba(255,255,255,.72)}
footer.jis-footer a:hover{color:var(--gold)}
footer.jis-footer input{border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:#fff;padding:.6rem 1.05rem}
@media (prefers-reduced-motion:no-preference){
.rv{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.rv.in{opacity:1;transform:none}
}
@media (max-width:767px){
.section-pad,.container-fluid.section-pad{padding:3.6rem 0!important}
.page-band{padding:2.3rem 0!important}
}

.mainnav .nav-link{white-space:nowrap}/*navfix*/

/* v14 polish */
:root{--grad-aurora:linear-gradient(135deg,#08214F 0%,#0E2F7E 48%,#1E4FD8 100%);--glow-gold:radial-gradient(720px 360px at 88% 0%,rgba(255,194,14,.22),transparent 62%)}
.cta-band .section-title,.container-fluid:has(.vm-card) .section-title,.page-band .section-title{color:#fff!important}
.cta-band .section-line,.container-fluid:has(.vm-card) .section-line{background:linear-gradient(90deg,var(--gold),#7DA2FF)!important}

/* v15 */.accred-strip .logos img{filter:grayscale(1) opacity(.6)!important}.accred-strip .logos img:hover{filter:none!important;opacity:1!important}

/* v16 brand+nav+palette */
.brandbar{padding:.65rem 0!important}
.brandbar img{width:72px!important;height:72px!important;object-fit:contain;background:#fff;border-radius:16px;padding:6px;box-shadow:0 0 0 1px var(--rule),0 6px 16px -10px rgba(10,16,36,.28)}
.school-name{font-size:clamp(1.35rem,2vw,1.85rem)!important;font-weight:700!important;letter-spacing:-.015em!important;color:var(--ink)!important}
.since{font-size:.68rem!important;letter-spacing:.32em!important;color:var(--gold-deep)!important}
.brandbar .accred-note,.brandbar .accred{font-size:.7rem!important;line-height:1.55!important;color:#93A0B4!important;max-width:360px}
@media(max-width:991px){.brandbar .accred,.brandbar .accred-note{display:none!important}}
.mainnav .navbar-toggler{display:inline-flex;align-items:center;justify-content:center;width:46px;height:44px;border:1px solid var(--rule)!important;border-radius:12px;background:#fff!important;box-shadow:var(--shadow)!important;margin:.35rem 0}
.mainnav .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%230A1024' stroke-width='2.6' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")!important}
@media(min-width:900px){.mainnav .navbar-collapse{display:flex!important;flex-basis:auto!important}.mainnav .navbar-toggler{display:none!important}}
a.ql img{filter:grayscale(1) brightness(.35)!important;background:rgba(10,16,36,.05)!important}
.section-line{background:var(--gold)!important}
#content-description a{color:var(--royal);font-weight:600;text-decoration:underline;text-underline-offset:3px}

.event-card .date,.feed-card .date{color:var(--muted)!important;letter-spacing:.02em}

/* v18 merge */
.mainnav .nav-item.nav-admissions .nav-link{background:transparent!important;box-shadow:none!important;color:var(--ink)!important;font-weight:600!important}
.mainnav .nav-item.nav-admissions .nav-link:hover{background:rgba(30,79,216,.08)!important;transform:none!important}
.mainnav .nav-item.nav-apply .nav-link{background:linear-gradient(135deg,#FFD75E,#F0AC00)!important;color:#171200!important;font-weight:700!important;box-shadow:0 6px 16px -8px rgba(240,172,0,.55)!important;margin-left:.4rem}
.mainnav .nav-item.nav-apply .nav-link:hover{transform:translateY(-1px)}

.mainnav .navbar-nav .nav-item.nav-apply{order:99;margin-left:auto}

/* nav crowding */
@media(max-width:1560px){.mainnav .nav-link{padding:.48rem .68rem!important;font-size:.88rem!important}.mainnav .nav-item.nav-apply .nav-link{padding:.48rem 1.05rem!important}}

/* nav fit2 */
.mainnav .container{max-width:min(1600px,97.5vw)!important}
@media(max-width:1480px){.mainnav .nav-link{padding:.42rem .5rem!important;font-size:.84rem!important;letter-spacing:0!important}.mainnav .nav-item.nav-apply .nav-link{padding:.42rem .95rem!important}}

/* lang-fr nav */
.lang-fr .mainnav .nav-link{padding:.4rem .45rem!important;font-size:.8rem!important;letter-spacing:0!important}
.lang-fr .mainnav .nav-item.nav-apply .nav-link{padding:.4rem .85rem!important}

/* v23 overlay header */
.topbar-overlay{position:absolute;top:0;left:0;right:0;z-index:1040;display:flex;align-items:center;gap:1.1rem;padding:.7rem 1.6rem;background:linear-gradient(180deg,rgba(6,16,40,.62),rgba(6,16,40,0))}
.topbar-overlay .brandbar{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;flex:0 0 auto}
.topbar-overlay .brandbar .container{display:flex;align-items:center;gap:.85rem;margin:0;padding:0;max-width:none}
.topbar-overlay .school-name{color:#fff!important;font-size:1.12rem!important;line-height:1.18;max-width:235px}
.topbar-overlay .since{color:var(--gold)!important}
.topbar-overlay .brandbar .accred,.topbar-overlay .brandbar .accred-note{display:none!important}
.topbar-overlay .brandbar img{width:54px!important;height:54px!important;border-radius:13px}
.topbar-overlay .mainnav{position:static!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important;box-shadow:none!important;flex:1;min-width:0}
.topbar-overlay .mainnav::before{display:none}
.topbar-overlay .mainnav .container{max-width:none!important;margin:0;padding:0}
.topbar-overlay .mainnav .nav-link{color:#fff!important;text-shadow:0 1px 14px rgba(6,16,40,.55)}
.topbar-overlay .mainnav .nav-link:hover{background:rgba(255,255,255,.14)!important;color:#fff!important}
.topbar-overlay .navbar-toggler{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.45)!important}
.topbar-overlay .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%23FFFFFF' stroke-width='2.6' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")!important}
.topbar-overlay.scrolled{position:fixed;background:rgba(6,16,40,.92);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 10px 30px -18px rgba(0,0,0,.55)}
.lang-sw{display:inline-flex;align-items:center;gap:.1rem;margin-left:.55rem;padding-left:.85rem;border-left:1px solid rgba(255,255,255,.4)}
.lang-sw a{color:#fff!important;font-weight:700;font-size:.82rem;padding:.32rem .5rem!important;border-radius:8px;opacity:.7}
.lang-sw a.on{opacity:1;background:rgba(255,255,255,.18)}
.page-band{padding:7.6rem 0 3rem!important}
@media(max-width:991px){.topbar-overlay{padding:.55rem .9rem}.topbar-overlay .school-name{display:none}.topbar-overlay .mainnav .navbar-collapse{background:rgba(6,16,40,.96);border-radius:14px;padding:.6rem;margin-top:.5rem}}

/* v24 overlay fix */
.topbar-overlay .mainnav .nav-item.nav-admissions .nav-link{color:#fff!important;background:transparent!important}
.topbar-overlay .mainnav .nav-item.nav-admissions .nav-link:hover{background:rgba(255,255,255,.14)!important}
.topbar-overlay .mainnav .nav-link{padding:.4rem .55rem!important;font-size:.85rem!important;letter-spacing:0!important}
.topbar-overlay .mainnav .nav-item.nav-apply .nav-link{padding:.42rem 1rem!important;font-size:.85rem!important}

/* v25 overlay slim: hide Year Book + Careers in top overlay (footer keeps them) */
.topbar-overlay .mainnav ul.navbar-nav:last-of-type > li:nth-child(2){display:none!important}

/* v26 overlay fit */
.topbar-overlay{padding:.6rem 1rem;gap:.7rem}
.topbar-overlay .school-name{font-size:1rem!important;max-width:195px}
.topbar-overlay .brandbar img{width:48px!important;height:48px!important}
.topbar-overlay .mainnav .nav-link{padding:.38rem .48rem!important;font-size:.83rem!important}
.topbar-overlay .mainnav .nav-item.nav-apply .nav-link{padding:.4rem .85rem!important}
.lang-sw{margin-left:.35rem;padding-left:.6rem}

/* ========== page-content font flow + admission page ========== */
.page-content{font-size:.97rem}
.page-content [style*="font-size"]{font-size:inherit!important}
.page-content [style*="line-height"]{line-height:inherit!important}
.page-content h2{font-size:1.55rem;margin:2.2rem 0 .85rem}
.page-content h3{font-size:1.22rem;margin:1.8rem 0 .65rem}
.page-content table{margin:.9rem 0 1.5rem}
.page-content ol li,.page-content ul li{margin-bottom:.45rem}
.fee-callout{background:#FFF7DF;border:1px solid var(--gold);border-radius:10px;padding:.9rem 1.15rem;margin:1.2rem 0}
.fee-note{color:var(--muted);font-size:.85rem}
.side-card{background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:1.25rem 1.4rem}
.side-card h4{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 .7rem}
.side-links{list-style:none;padding:0;margin:0}
.side-links li{border-bottom:1px solid var(--rule)}
.side-links li:last-child{border-bottom:0}
.side-links a{display:block;padding:.55rem 0;color:var(--ink);font-size:.9rem}
.side-links a:hover{color:var(--navy)}
/* ========== polish 2026-08-08 ========== */
.breadcrumb{display:none!important}
.mainnav .dropdown-toggle::after{display:none!important}
.mainnav .navbar-nav .nav-link::after{display:none!important}
.page-content p:empty,#content-description p:empty{display:none}
.map-wrap{border-radius:14px;overflow:hidden;border:1px solid var(--rule);margin-top:2rem;line-height:0}
.map-wrap iframe{width:100%;height:380px;border:0}
/* ========== hero-full 2026-08-08 ========== */
.hero-full{position:relative;height:100svh;min-height:600px;max-height:1100px;overflow:hidden;background:var(--navy-deep)}
.hf-media,.hf-scrim{position:absolute;inset:0}
.hf-img,.hf-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hf-img{animation:hfZoom 22s ease-in-out infinite alternate}
.hf-vid{opacity:0;transition:opacity 1.2s ease;z-index:0}
.hf-vid.on{opacity:1}
@keyframes hfZoom{from{transform:scale(1)}to{transform:scale(1.07)}}
.hf-scrim{background:linear-gradient(180deg,rgba(6,16,40,.72) 0%,rgba(6,16,40,.25) 38%,rgba(6,16,40,.42) 70%,rgba(6,16,40,.8) 100%);z-index:1}
.hf-copy{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;max-width:1600px;margin:0 auto;padding:0 6vw;color:#fff}
.hf-ar{font-size:clamp(1.3rem,3vw,2.5rem);color:var(--gold);font-weight:700;margin-bottom:.55rem;align-self:flex-start;text-align:left}
.hero-full h1{color:#fff;font-size:clamp(2.2rem,5.2vw,4.6rem);line-height:1.05;font-weight:700;letter-spacing:-.012em;margin:0;max-width:24ch;text-shadow:0 2px 34px rgba(0,0,0,.4)}
.hf-sub{margin-top:1.1rem;font-size:clamp(.95rem,1.35vw,1.18rem);color:rgba(255,255,255,.9);font-weight:300;max-width:54ch}
.hf-cta{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:2.1rem}
.hf-ghost{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(255,255,255,.68);color:#fff;border-radius:100px;padding:.72rem 1.7rem;font-size:.83rem;font-weight:500;transition:all .22s ease}
.hf-ghost:hover{background:#fff;color:var(--ink)}
.hf-acr{position:absolute;left:auto;right:3vw;bottom:2.5vh;transform:none;z-index:2;font-weight:800;font-size:clamp(6rem,17vw,15rem);line-height:.85;color:#fff;letter-spacing:-.03em;pointer-events:none;text-shadow:0 10px 60px rgba(0,0,0,.4)}
@media(max-width:640px){.hero-full{min-height:560px}.hf-acr{right:4vw;bottom:2vh;font-size:clamp(4.5rem,20vw,8rem)}}
@media(prefers-reduced-motion:reduce){.hf-img{animation:none}}
/* FR slider full-bleed */
.hero-swiper,.hero-swiper .swiper-slide{height:100svh!important;min-height:560px}
.hero-swiper .swiper-slide img{width:100%!important;height:100%!important;object-fit:cover}
/* ========== hero v4 + brand 2026-08-08 ========== */
/* round logo chip */
.brandbar img.logo,.topbar-overlay img.logo{border-radius:50%!important;background:#fff;padding:5px;box-sizing:border-box;object-fit:contain;aspect-ratio:1/1;width:auto}
.brandbar a,.topbar-overlay a{display:inline-flex;align-items:center}
/* school name: serif wordmark */
.brandbar .school-name,.topbar-overlay .school-name{font-family:var(--serif)!important;font-weight:400!important;letter-spacing:.01em!important;text-transform:none!important}
/* hero: JIS is the lead element */
.hf-mark{font-weight:800;font-size:clamp(4.5rem,11vw,9.5rem);line-height:.86;letter-spacing:-.035em;color:#fff;margin:0 0 .4rem;text-shadow:0 8px 50px rgba(0,0,0,.45)}
.hero-full h1{font-family:var(--serif)!important;font-size:clamp(1.5rem,3.4vw,2.9rem)!important;font-weight:400!important;letter-spacing:.005em!important;margin:0 0 .9rem!important;max-width:20ch;color:#fff}
.hf-sub{margin-top:0!important;font-size:clamp(.95rem,1.3vw,1.12rem);max-width:52ch}
.hf-cta{margin-top:1.7rem}
@media(max-width:640px){.hf-mark{font-size:clamp(3.4rem,20vw,5.5rem)}}
/* brandfont-final: beat the 2030-layer rule */
body .topbar-overlay .brandbar p.school-name,body .brandbar p.school-name,body p.school-name{font-family:var(--serif)!important;font-weight:400!important;font-size:clamp(.95rem,1.5vw,1.35rem)!important;letter-spacing:.012em!important;line-height:1.1!important;text-transform:none!important}
/* brandfont-v2: explicit serif (var(--serif) was redefined to Space Grotesk) */
body .topbar-overlay .brandbar p.school-name,body .brandbar p.school-name,body p.school-name{font-family:'Instrument Serif',Georgia,serif!important;font-weight:400!important;font-size:.9rem!important;letter-spacing:.015em!important;line-height:1.08!important;text-transform:none!important;max-width:15ch!important;white-space:normal}
@media(max-width:1100px){body p.school-name{font-size:1rem!important;max-width:13ch!important}}
body .hero-full h1{font-family:'Instrument Serif',Georgia,serif!important;font-weight:400!important}
/* logo-only-lockup: hide wordmark next to the logo */
body p.school-name,body .brandbar .school-name,body .topbar-overlay .school-name{display:block!important;font-family:'Instrument Serif',Georgia,serif!important;font-weight:400!important;font-size:.92rem!important;letter-spacing:.02em!important;line-height:1.15!important;color:#fff!important;max-width:14ch!important;text-transform:none!important;margin:0!important}
body .brandbar .since,body .topbar-overlay .since{display:block!important;font-family:var(--mono)!important;font-size:.52rem!important;letter-spacing:.24em!important;color:var(--gold)!important;margin-top:.18rem!important}

@media(max-width:640px){body .brandbar img.logo,body .topbar-overlay img.logo{height:46px!important}}
/* ========== hero-v5-spacing + square logo ========== */
body .brandbar img.logo,body .topbar-overlay img.logo{width:56px!important;height:56px!important;min-width:56px;aspect-ratio:1/1!important;object-fit:contain!important;border-radius:50%!important;background:#fff;padding:6px;box-sizing:border-box}
@media(max-width:640px){body .brandbar img.logo,body .topbar-overlay img.logo{width:46px!important;height:46px!important;min-width:46px}}
/* hero: centred, generous spacing */
.hero-full .hf-copy{align-items:center;text-align:center;padding:0 6vw}
.hf-mark{font-size:clamp(5rem,13vw,11rem)!important;margin:0 0 1.15rem!important;letter-spacing:-.03em!important}
body .hero-full h1{font-size:clamp(1.7rem,3.6vw,3.1rem)!important;margin:0 0 1.4rem!important;max-width:26ch!important;line-height:1.12!important}
.hero-full .hf-sub{max-width:58ch!important;margin:0 auto!important;font-size:clamp(1rem,1.35vw,1.2rem)!important;line-height:1.65!important}
/* buttons: larger, better separated, centred */
.hero-full .hf-cta{margin-top:2.7rem!important;gap:1.5rem!important;justify-content:center!important;flex-wrap:wrap}
.hero-full .hf-cta .btn-jis-gold,.hero-full .hf-cta .hf-ghost{padding:1.35rem 3.3rem!important;font-size:1.08rem!important;font-weight:600!important;border-radius:100px!important;line-height:1.2!important}
@media(max-width:640px){.hero-full .hf-cta{gap:1rem!important;margin-top:2rem!important}.hero-full .hf-cta .btn-jis-gold,.hero-full .hf-cta .hf-ghost{padding:.95rem 2rem!important;font-size:.92rem!important}}
/* wordmark-2line: keep it to two tidy lines */
body .topbar-overlay .brandbar p.school-name,body .brandbar p.school-name,body p.school-name{max-width:none!important;width:auto!important;white-space:normal!important;font-size:.86rem!important;line-height:1.2!important}
body .brandbar a,body .topbar-overlay a{max-width:250px}
/* ========== hero-split-layout 2026-08-09 ========== */
.hero-full .hf-copy{align-items:center;text-align:center}
.hf-row{display:flex;align-items:center;justify-content:center;gap:clamp(1.5rem,3.5vw,3.5rem);width:100%;max-width:1500px;margin:0 auto}
.hf-left{flex:0 1 auto;min-width:0;text-align:left;max-width:min(780px,52vw)}
.hf-right{flex:0 0 auto;display:flex;align-items:center;padding-left:clamp(1.5rem,4vw,4rem);border-left:2px solid rgba(255,255,255,.55)}
body .hero-full .hf-left h1{font-size:clamp(2rem,4.1vw,3.7rem)!important;margin:0 0 1.1rem!important;max-width:none!important;text-align:left;line-height:1.08!important}
.hero-full .hf-left .hf-sub{margin:0!important;max-width:44ch!important;text-align:left;font-size:clamp(1.05rem,1.62vw,1.45rem)!important;line-height:1.55!important}
.hero-full .hf-right .hf-mark{display:block;font-size:clamp(5.5rem,14.5vw,14.5rem)!important;margin:0!important;line-height:.84!important}
@media(max-width:860px){.hf-row{flex-direction:column-reverse;gap:1.4rem}.hf-right{border-left:0;padding-left:0}.hf-left{text-align:center;max-width:none}body .hero-full .hf-left h1{text-align:center}.hero-full .hf-left .hf-sub{text-align:center;margin:0 auto!important}}
/* hero-split-v2: bigger blocks, CTA nudged right */
.hero-full .hf-cta{margin-top:4.3rem!important;gap:1.6rem!important;max-width:1500px;width:100%;justify-content:center!important;padding-left:clamp(0px,9vw,190px);box-sizing:border-box}
@media(max-width:860px){.hero-full .hf-cta{padding-left:0!important}}
/* ========== our-schools-menu ========== */
.mainnav .nav-schools .dropdown-menu{min-width:330px;padding:.5rem 0}
.mainnav .nav-schools .dropdown-item{padding:.6rem 1.15rem;font-size:.86rem;white-space:normal}
/* alnaeem-wrap */ .mainnav .nav-schools .dropdown-item.soon{color:#9AA3B0;cursor:default;display:block;white-space:normal;line-height:1.35}.mainnav .nav-schools .dropdown-item.soon em{display:inline-block;margin-left:.35rem;vertical-align:middle}
.mainnav .nav-schools .dropdown-item.soon em{font-style:normal;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;background:#EEF1F7;color:#6B7481;border-radius:100px;padding:.15rem .5rem}
.mainnav .nav-schools .dropdown-item.soon:hover{background:transparent}
.mainnav .nav-schools .dropdown-item.parent-co{display:block;line-height:1.3}
.mainnav .nav-schools .dropdown-item.parent-co small{display:block;font-size:.7rem;color:#8C94A1;margin-top:.15rem}
.mainnav .nav-schools .dropdown-divider{margin:.45rem 0;border-top-color:var(--rule)}
/* nav-contact-left 2026-08-11 */
.mainnav .navbar-nav.mx-auto .nav-item.nav-contact{order:9 !important}
/* page-top-clear 2026-08-21 : child pages sat under the fixed nav */
.mainnav ~ .container-fluid > .row:first-child, body > .container-fluid:first-of-type{padding-top:0}
.page-content{padding-bottom:2.5rem}
.container-fluid .col-md-12.text-center h1,.container-fluid .col-md-12.text-center h2,.container-fluid .col-md-12.text-center h3,.container-fluid .col-md-12.text-center h4,.container-fluid .col-md-12.text-center h5{padding-top:5.5rem}
@media(max-width:991px){.container-fluid .col-md-12.text-center h1,.container-fluid .col-md-12.text-center h2,.container-fluid .col-md-12.text-center h3,.container-fluid .col-md-12.text-center h4,.container-fluid .col-md-12.text-center h5{padding-top:4rem}}