/* ============================================================
   IACC-UK / IPSC-UK — design tokens
   Official palette: Royal Blue / Gold / White / Dark Grey
   (per Brand Guideline: no green, no rust — every accent below
   is a shade of blue or gold so the site stays strictly on-brand)
   Type: Cinzel (headings) + Montserrat (sub-headings/eyebrows)
   + Open Sans (body/digital — brand's Calibri isn't web-licensed,
   Open Sans is the guideline's own named "Digital" substitute)
   ============================================================ */

:root{
  --ink:        #1B2A44;
  --ink-2:      #223759;
  --parchment:  #F6F1E6;
  --paper:      #FFFFFF;
  --brass:      #B8862B;
  --brass-dark: #8E6A20;
  --forest:     #2F4F3E;
  --forest-dark:#213A2C;
  --rust:       #B5502E;
  --rust-dark:  #8E3D22;
  --charcoal:   #26241F;
  --line:       #DDD3BE;
  --line-dark:  rgba(255,255,255,.16);

  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Source Sans 3', -apple-system, Segoe UI, sans-serif;
  --font-mono: 'IBM Plex Mono', 'Courier New', monospace;

  --radius: 12px;
  --shadow-card: 0 1px 2px rgba(27,42,68,.06), 0 8px 24px rgba(27,42,68,.08);
}

*{ box-sizing: border-box; }

.public-chat{ position:fixed; right:1.25rem; bottom:max(1.25rem, env(safe-area-inset-bottom)); z-index:1040; font-family:var(--font-body); }
.public-chat-launch{ display:inline-flex; align-items:center; gap:.5rem; border:0; border-radius:999px; padding:.75rem 1rem; background:var(--forest); color:#fff; box-shadow:0 8px 24px rgba(27,42,68,.2); font-weight:600; }
.public-chat-launch i{ font-size:1.1rem; }
.public-chat-launch:hover{ background:var(--forest-dark); }
.public-chat-panel{ display:flex; flex-direction:column; width:min(360px, calc(100vw - 2rem)); max-height:calc(100dvh - 5.5rem); margin-bottom:.75rem; overflow:hidden; border:1px solid var(--line); border-top:3px solid var(--brass); border-radius:var(--radius); background:var(--paper); box-shadow:0 12px 36px rgba(27,42,68,.2); }
.public-chat-header{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:.85rem 1rem; background:var(--ink); color:#fff; }
.public-chat-header strong,.public-chat-header span{ display:block; }
.public-chat-header span{ margin-top:.15rem; color:rgba(255,255,255,.72); font-size:.78rem; }
.public-chat-close{ border:0; background:transparent; color:#fff; padding:.1rem; }
.public-chat-messages{ display:flex; flex:1 1 auto; flex-direction:column; gap:.6rem; min-height:0; max-height:280px; overflow-y:auto; padding:1rem; background:var(--parchment); }
.public-chat-message{ max-width:88%; padding:.55rem .7rem; border-radius:10px; font-size:.92rem; line-height:1.45; overflow-wrap:anywhere; white-space:pre-wrap; }
.public-chat-message.assistant{ align-self:flex-start; background:#fff; color:var(--charcoal); }
.public-chat-message.assistant a{ color:var(--forest); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.public-chat-message.assistant strong{ color:var(--ink); font-weight:700; }
.public-chat-message.user{ align-self:flex-end; background:var(--forest); color:#fff; }
.public-chat-message.error{ color:var(--rust-dark); }
.public-chat-message.loading{ opacity:.65; }
.public-chat-prompts{ display:flex; flex-wrap:wrap; gap:.4rem; padding:.7rem 1rem .2rem; background:var(--parchment); }
.public-chat-prompt{ border:1px solid var(--line); border-radius:999px; padding:.35rem .6rem; background:#fff; color:var(--forest); font:inherit; font-size:.74rem; cursor:pointer; }
.public-chat-prompt:hover,.public-chat-prompt:focus-visible{ border-color:var(--brass); background:#fffaf0; outline:none; }
.public-chat-disclaimer{ margin:0; padding:.45rem 1rem 0; background:var(--parchment); color:#6b6658; font-size:.72rem; }
.public-chat-form{ display:flex; gap:.5rem; padding:.75rem 1rem .4rem; background:var(--parchment); }
.public-chat-input{ min-width:0; flex:1; border:1px solid var(--line); border-radius:8px; padding:.55rem .65rem; background:#fff; }
.public-chat-send{ flex:0 0 40px; border:0; border-radius:8px; background:var(--brass); color:#fff; }
.public-chat-contact{ display:block; padding:.35rem 1rem .8rem; background:var(--parchment); color:var(--forest); font-size:.8rem; }

@media (max-width:576px){
  .public-chat{ right:.75rem; bottom:max(.75rem, env(safe-area-inset-bottom)); }
  .public-chat-launch{ width:3rem; height:3rem; justify-content:center; padding:0; }
  .public-chat-launch span{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .public-chat-panel{ position:fixed; right:.75rem; bottom:calc(4.5rem + env(safe-area-inset-bottom)); width:calc(100vw - 1.5rem); max-height:calc(100svh - 5.25rem); margin:0; }
  .public-chat-messages{ max-height:none; }
}

html{ scroll-behavior:smooth; }

body{
  font-family: var(--font-body);
  /* background: var(--parchment); */
  color: var(--charcoal);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,.display{
  font-family: var(--font-display);
  color: var(--ink);
  font-weight: 600;
  letter-spacing: -0.01em;
}

a{ color: var(--forest); text-decoration:none; }
a:hover{ color: var(--brass-dark); }

.eyebrow{
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .72rem;
  color: var(--brass-dark);
  font-weight:600;
}

.text-muted-ink{ color:var(--charcoal); }

.btn-brass{
  background: var(--brass);
  border: 1px solid var(--brass);
  color: #fff;
  border-radius: var(--radius);
  padding: .65rem 1.4rem;
  font-weight:600;
  letter-spacing:.02em;
  transition: all .18s ease;
}
.btn-brass:hover{ background: var(--brass-dark); border-color:var(--brass-dark); color:#fff; }

.btn-outline-ink{
  background: transparent;
  border: 1px solid var(--ink);
  color: var(--ink);
  border-radius: var(--radius);
  padding: .62rem 1.35rem;
  font-weight:600;
  transition: all .18s ease;
}
.btn-outline-ink:hover{ background: var(--ink); color:#fff; }

.btn-outline-light{
  background: transparent;
  border: 1px solid rgba(255,255,255,.55);
  color: #fff;
  border-radius: var(--radius);
  padding: .62rem 1.35rem;
  font-weight:600;
}
.btn-outline-light:hover{ background: rgba(255,255,255,.12); color:#fff; }

/* ============ NAVBAR ============ */
.mu-navbar{ background: #fff; border-bottom: 1px solid var(--line); }
.mu-navbar .navbar-brand{ font-family: var(--font-display); font-size: 1.35rem; color: #fff; padding: .95rem 0; display:flex; align-items:center; gap:.6rem; }
.mu-navbar .navbar-brand .mark{ width:34px; height:34px; border:1.5px solid var(--brass); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-size:.72rem; color:var(--brass); letter-spacing:.02em; }
.mu-navbar .nav-link{ color: rgba(0, 0, 0, 0.78) !important; font-size:.92rem; font-weight:600; letter-spacing:.02em; padding: 1.1rem .85rem !important; position:relative; }
.mu-navbar .nav-link:hover, .mu-navbar .nav-link.active{ color:var(--brass) !important; }
.mu-navbar .nav-link.active::after{ content:""; position:absolute; left:.85rem; right:.85rem; bottom:.55rem; height:2px; background: var(--brass); }
.mu-topbar{ background: var(--forest-dark); color: rgba(255,255,255,.85); font-family: var(--font-mono); font-size:.74rem; letter-spacing:.03em; }
.mu-topbar a{ color: rgba(255,255,255,.85); }
.mu-topbar a:hover{ color: var(--brass); }
.mu-topbar-logout{ background: none; border: 0; padding: 0; color: rgba(255,255,255,.85); font: inherit; letter-spacing: inherit; }
.mu-topbar-logout:hover{ color: var(--brass); }

/* ============ SIGNATURE: the seal ============ */
.mu-seal{ width:74px; height:74px; border-radius:50%; border:2px solid var(--brass); display:flex; align-items:center; justify-content:center; flex-shrink:0; position:relative; background: var(--paper); }
.mu-seal::before{ content:""; position:absolute; inset:6px; border:1px solid var(--brass); border-radius:50%; opacity:.55; }
.mu-seal span{ font-family: var(--font-display); font-weight:600; color: var(--ink); font-size:1.5rem; }

/* ============ HERO ============ */
.mu-hero{ background: var(--ink); color: #fff; position:relative; overflow:hidden; border-bottom: 6px solid var(--brass); }
.mu-hero .ruled{ border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); }
.mu-hero-title{ font-size: clamp(2.4rem, 5vw, 4.1rem); color:#fff; line-height:1.05; }
.mu-hero-sub{ color: rgba(255,255,255,.72); font-size:1.08rem; max-width:46ch; }

.stat-row{ font-family: var(--font-mono); }
.stat-row .num{ font-size:1.9rem; color:var(--brass); font-family:var(--font-display); line-height:1.1; }
.stat-row .lbl{ font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-top:.2rem; }
@media (min-width:992px){ .stat-row > [class*="col-"]:not(:last-child){ border-right:1px solid var(--line-dark); } }

/* ============ SECTIONS ============ */
.section{ padding: 5rem 0; }
.section-tight{ padding: 3.2rem 0; }
.section-ink{ background: var(--ink); color:#fff; }
.section-ink h2, .section-ink h3{ color:#fff; }
.section-forest{
  background: radial-gradient(circle at top right, rgba(255, 214, 92, .08), transparent 25%), radial-gradient(circle at 12% 12%, rgba(255, 255, 255, .08), transparent 16%), linear-gradient(180deg, rgb(179 144 89 / 22%) 0%, rgb(238 208 146 / 15%) 100%), var(--forest);
  color: #fff;
}
.section-forest h2, .section-forest h3 { color: #fff; }
.section-forest .section-head .eyebrow{ color: #ffd86f; }
.section-forest .section-head h2{ font-size: clamp(2.2rem, 4vw, 3.2rem); line-height: 1.06; letter-spacing: -.02em; }

.rule{ height:1px; background: var(--line); border:0; margin: 2.6rem 0; }
.rule-light{ height:1px; background: var(--line-dark); border:0; }

.section-head{ max-width: 640px; }
.section-head h2{ font-size: clamp(1.8rem,3vw,2.5rem); margin-bottom:.5rem; }

/* ============ CARDS ============ */
.mu-card{ background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-card); transition: transform .2s ease, box-shadow .2s ease; height:100%; }
.mu-card:hover{ transform: translateY(-4px); box-shadow: 0 14px 30px rgba(27,42,68,.14); }
.mu-card .card-body{ padding: 1.6rem; }
.mu-card .idx{ font-family: var(--font-mono); color: var(--brass-dark); font-size:.78rem; }

.institute-card{ border-left: 3px solid var(--brass); background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.6); border-radius: var(--radius); padding: 1.8rem; box-shadow: 0 4px 15px rgba(27, 42, 68, 0.04), 0 1px 3px rgba(27, 42, 68, 0.02); height:100%; transition: transform .3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow .3s cubic-bezier(0.25, 1, 0.5, 1); }
.institute-card:hover { transform: translateY(-8px); background: rgba(255, 255, 255, 0.98); box-shadow: 0 25px 50px -12px rgba(27, 42, 68, 0.15), 0 10px 20px -8px rgba(27, 42, 68, 0.1); border-color: rgba(255, 255, 255, 0.9); }
.institute-card .sub-list{ list-style:none; padding:0; margin:.9rem 0 0; }
.institute-card .sub-list li{ padding: .45rem 0; border-top:1px dashed var(--line); font-size:.92rem; display:flex; justify-content:space-between; gap:.5rem; }
.institute-card .sub-list li:first-child{ border-top:0; }
.institute-card .sub-list .tag{ font-family:var(--font-mono); font-size:.68rem; color: var(--forest); white-space:nowrap; }

/* ============ WHY CHOOSE US ============ */
.why-card{ background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.6); border-radius: var(--radius); height:100%; box-shadow: 0 4px 15px rgba(27, 42, 68, 0.04), 0 1px 3px rgba(27, 42, 68, 0.02); position:relative; transition: transform .3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow .3s cubic-bezier(0.25, 1, 0.5, 1), background .3s ease; }
.why-card:hover{ transform: translateY(-8px); background: rgba(255, 255, 255, 0.98); box-shadow: 0 25px 50px -12px rgba(27, 42, 68, 0.15), 0 10px 20px -8px rgba(27, 42, 68, 0.1); border-color: rgba(255, 255, 255, 0.9); }
.why-card .icon-wrap{ width:45px; height:45px; border-radius:18px; display:flex; align-items:center; justify-content:center; font-size:1.3rem; color:#fff; box-shadow: 0 18px 28px rgba(2,20,60,.08); }
.why-card p{ font-size:.88rem; color:var(--charcoal); margin:0; line-height:1.45; }
.why-card:nth-child(3n+1) .icon-wrap{ background: linear-gradient(135deg, rgba(218,174,70,1), rgba(232,193,107,1)); }
.why-card:nth-child(3n+2) .icon-wrap{ background: linear-gradient(135deg, rgba(46,95,137,1), rgba(73,124,176,1)); }
.why-card:nth-child(3n+3) .icon-wrap{ background: linear-gradient(135deg, rgba(126,160,82,1), rgba(167,195,126,1)); }
.why-card .icon-wrap i{ color: #fff; }
.why-card h5{ margin-bottom:.85rem; color:var(--ink); font-size: 1.1rem; }
.why-card::before{ content: ''; position: absolute; top: -14px; right: -14px; width: 90px; height: 90px; border-radius: 50%; background: #dda3551a; }
.why-card::after{ content: ''; position: absolute; bottom: -10px; left: -10px; width: calc(100% + 20px); height: calc(100% + 20px); border: 1px solid var(--brass-dark); border-radius: var(--radius); opacity: .4; pointer-events: none; }

/* .why-side-image{ position: relative; overflow: hidden; border-radius: 28px; box-shadow: 0 30px 80px rgba(0,0,0,.2); min-height: 520px; } */
.why-side-image{ position:relative; min-height:520px; overflow:hidden; border-radius:var(--radius); box-shadow:var(--shadow-card); background:var(--ink-2); }
.why-side-image img{ width: 100%; height: 100%; min-height:520px; object-fit: cover; display: block; }
.why-image-flag{ position: absolute; left: 1.6rem; bottom: 1.6rem; right: 1.6rem; background: rgba(4,20,52,.8); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; padding: 1.2rem 1.4rem; }
.why-image-flag span{ display: block; color: #fff; font-size: .98rem; line-height: 1.8; }
.why-side-image::before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(355deg, rgb(211 169 95 / 12%) 0%, rgb(211 187 148 / 8%) 73%); }

/* ============ COURSE TABLE / FILTERS ============ */
.course-filter-bar, .gallery-filter, .news-filter{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.course-filter-bar .filter-pill, .gallery-filter .filter-pill, .news-filter .filter-pill{ margin:0; flex:0 0 auto; }
@media (max-width: 767.98px){
  .course-filter-bar, .gallery-filter, .news-filter{ flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:.35rem; margin-bottom:.25rem; scrollbar-width: thin; }
  .course-filter-bar::-webkit-scrollbar, .gallery-filter::-webkit-scrollbar, .news-filter::-webkit-scrollbar{ height:4px; }
  .course-filter-bar::-webkit-scrollbar-thumb, .gallery-filter::-webkit-scrollbar-thumb, .news-filter::-webkit-scrollbar-thumb{ background:var(--line); border-radius:999px; }
}
.filter-pill{ display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--ink); color:var(--ink); background:transparent; border-radius: 999px; padding:.45rem 1rem; font-size:.85rem; font-weight:600; line-height:1.2; white-space:nowrap; text-decoration:none; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.filter-pill.active, .filter-pill:hover{ background: var(--ink); color:#fff; }

.course-search-form .input-group{ flex-wrap:nowrap; max-width:40rem; }
.course-search-form .input-group-text{ border-color: var(--line); border-right:0; border-radius:999px 0 0 999px; padding-left:1rem; background:#fff; }
.course-search-form .form-control{ border-color: var(--line); border-left:0; border-radius:0 999px 999px 0; padding:.7rem 1rem; }
.course-search-form .input-group:has(.btn) .form-control{ border-radius:0; border-right:0; }
.course-search-form .form-control:focus{ border-color: var(--brass); box-shadow: none; }
.course-search-form .input-group:focus-within .input-group-text, .course-search-form .input-group:focus-within .form-control{ border-color: var(--brass); }
.course-search-form .btn{ border-radius:0 999px 999px 0; border-color: var(--line); }

.course-row{ border: 1px solid var(--line); background: var(--paper); border-radius: var(--radius); padding: 1.3rem 1.5rem; margin-bottom: .9rem; display:flex; flex-wrap:wrap; align-items:center; gap:1rem; }
.course-row .code{ font-family: var(--font-mono); color: var(--brass-dark); font-size:.78rem; min-width:80px; }
.course-row .level-badge{ font-family: var(--font-mono); font-size:.68rem; text-transform:uppercase; border:1px solid var(--forest); color: var(--forest); border-radius:999px; padding:.15rem .6rem; }

/* course toolbar (index page) */
.course-toolbar{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; margin-bottom: 1.6rem; }
.course-count-badge{ font-family: var(--font-mono); font-size:.82rem; font-weight:600; color: var(--brass-dark); display:inline-flex; align-items:center; gap:.4rem; }

/* ============ ADVANCED COURSE CARD (image + price + meta) ============ */
.course-card-adv{ background: var(--paper); border:1px solid var(--line); border-radius: var(--radius); overflow:hidden; height:100%; box-shadow: var(--shadow-card); position:relative; }
.course-card-adv .thumb{ position:relative; overflow:hidden; height:190px; }
.course-card-adv .thumb img{ width:100%; height:100%; object-fit:cover; transition: transform .5s ease; }
.course-card-adv:hover .thumb img{ transform: scale(1.08); }
.course-card-adv .thumb::after{ content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(27,42,68,0) 40%, rgba(27,42,68,.75) 100%); }
.course-card-adv .price-tag{ position:absolute; top:.8rem; right:.8rem; z-index:2; background: var(--rust); color:#fff; font-family:var(--font-mono); font-weight:700; font-size:.85rem; padding:.3rem .7rem; border-radius:999px; box-shadow: 0 4px 10px rgba(0,0,0,.25); }
.course-card-adv .inst-tag{ position:absolute; top:.8rem; left:.8rem; z-index:2; font-family: var(--font-mono); font-size:.62rem; text-transform:uppercase; letter-spacing:.06em; padding:.25rem .6rem; border-radius:999px; color:#fff; backdrop-filter: blur(2px); background: rgba(27,42,68,.88); }
.course-card-adv .inst-tag.tone-forest, .course-card-adv .inst-tag.cosmetology{ background: rgba(47,79,62,.9); }
.course-card-adv .inst-tag.tone-rust, .course-card-adv .inst-tag.modeling{ background: rgba(181,80,46,.9); }
.course-card-adv .inst-tag.business, .course-card-adv .inst-tag.other{ background: rgba(27,42,68,.88); }
.course-card-adv .level-tag{ position:absolute; top:.8rem; right:.8rem; z-index:2; font-family: var(--font-mono); font-size:.62rem; text-transform:uppercase; letter-spacing:.06em; padding:.25rem .6rem; border-radius:999px; color:#fff; background: rgba(184,134,43,.94); }
.course-card-adv:hover{ border-color: var(--brass); }
.course-card-adv .thumb-title{ position:absolute; left:.9rem; right:.9rem; bottom:.7rem; z-index:2; color:#fff; font-family: var(--font-display); font-size:1.12rem; line-height:1.2; margin:0; }
.course-card-adv .body{ padding: 1rem 1.1rem 1.15rem; }
.course-card-adv .meta-row{ display:flex; align-items:center; gap:.9rem; font-size:.78rem; color:var(--charcoal); margin-bottom:.6rem; font-family: var(--font-mono); }
.course-card-adv .meta-row span{ display:inline-flex; align-items:center; gap:.3rem; }
.course-card-adv p.desc{ font-size:.87rem; color:var(--charcoal); margin-bottom:.8rem; line-height:1.5; }
.course-card-adv .foot{ display:flex; align-items:center; justify-content:space-between; }
.course-card-adv .foot .code{ font-family:var(--font-mono); color:var(--brass-dark); font-size:.72rem; }
.course-card-adv .foot .price{ font-family:var(--font-display); font-weight:600; color:var(--rust); font-size:1.05rem; }

/* ============ EVENT CARD ============ */
.event-card{ background: var(--paper); border:1px solid var(--line); border-radius: var(--radius); overflow:hidden; height:100%; box-shadow: var(--shadow-card); display:flex; flex-direction:column; }
.event-card .thumb{ position:relative; height:170px; overflow:hidden; }
.event-card .thumb img{ width:100%; height:100%; object-fit:cover; transition: transform .5s ease; }
.event-card:hover .thumb img{ transform: scale(1.08); }
.event-card .date-badge{ position:absolute; top:.8rem; left:.8rem; background: var(--paper); border:1px solid var(--line); border-radius: var(--radius); text-align:center; padding:.35rem .6rem; box-shadow: 0 4px 10px rgba(0,0,0,.18); line-height:1.05; }
.event-card .date-badge .d{ font-family: var(--font-display); font-size:1.25rem; color: var(--ink); font-weight:700; }
.event-card .date-badge .m{ font-family: var(--font-mono); font-size:.62rem; text-transform:uppercase; color: var(--rust); letter-spacing:.05em; }
.event-card .body{ padding: 1rem 1.1rem 1.2rem; flex-grow:1; display:flex; flex-direction:column; }
.event-card .cat{ font-family:var(--font-mono); font-size:.65rem; text-transform:uppercase; letter-spacing:.06em; color: var(--forest); margin-bottom:.4rem; display:inline-block; }
.event-card h5{ margin-bottom:.4rem; }
.event-card .loc{ font-size:.8rem; color:#5c5849; margin-top:auto; padding-top:.6rem; border-top:1px dashed var(--line); }

/* ============ COMPACT SIDEBAR CARD ============ */
.compact-side-card{ background: var(--paper); border:1px solid var(--line); border-radius: var(--radius); padding: 1.4rem; box-shadow: var(--shadow-card); }
.compact-side-card dl{ margin:0; }
.compact-side-card dl div{ display:flex; justify-content:space-between; gap:.5rem; font-size:.85rem; padding:.5rem 0; border-bottom:1px dashed var(--line); }
.compact-side-card dl div:last-of-type{ border-bottom:0; }
.compact-side-card dt{ color:#5c5849; font-weight:500; }
.compact-side-card dd{ margin:0; font-weight:600; color: var(--ink); text-align:right; }
.alumni-qr-frame{ border:1px solid var(--line); box-shadow: var(--shadow-card); }

/* ============ GALLERY ============ */
.gallery-item{ position:relative; overflow:hidden; border: 1px solid var(--line); background:#000; }
.gallery-item img{ width:100%; height:100%; object-fit:cover; display:block; transition: transform .4s ease; }
.gallery-item:hover img{ transform: scale(1.06); }
.gallery-item .cap{ position:absolute; left:0; right:0; bottom:0; padding:.8rem 1rem; background: linear-gradient(180deg, rgba(27,42,68,0) 0%, rgba(27,42,68,.88) 100%); color:#fff; font-size:.82rem; opacity:0; transform: translateY(6px); transition: all .25s ease; }
.gallery-item:hover .cap{ opacity:1; transform:translateY(0); }
.gallery-item .cap .tag{ font-family:var(--font-mono); color: var(--brass); font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; }

.cert-card{ background: var(--paper); border: 1px solid var(--brass); position:relative; text-align:center; border-radius: var(--radius); padding: 1.6rem; overflow: hidden; transition: transform .3s ease; }
.cert-card::before, .cert-card::after{ content:""; position:absolute; inset:6px; border:1px solid var(--line); }
.cert-card .ribbon{ position: absolute; top: -14px; right: 18px; width: 28px; height: 52px; clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 78%, 0 100%); margin:0 auto .8rem; background: var(--brass); }
.cert-card h5{ margin:.3rem 0; }
.cert-card .name{ font-family: var(--font-display); font-size:1.3rem; color:var(--ink); }
.cert-card .meta{ font-family: var(--font-mono); font-size:.7rem; color:#5c5849; }
.cert-verify-form{ display:flex; gap:.6rem; flex-wrap:wrap; max-width:28rem; }
.cert-verify-form .form-control{ flex:1 1 12rem; background:rgba(255,255,255,.08); border-color:var(--line-dark); color:#fff; }
.cert-verify-form .form-control::placeholder{ color:rgba(255,255,255,.45); }
.cert-verify-form .form-control:focus{ color:#fff; background:rgba(255,255,255,.12); }

/* ============ NEWS / BLOG (simple card, used on non-home listings) ============ */
.news-card img{ width:100%; height:190px; object-fit:cover; border-bottom:1px solid var(--line); }
.news-card .date{ font-family: var(--font-mono); font-size:.72rem; color: var(--forest); text-transform:uppercase; letter-spacing:.05em; }
.news-card .cat{ font-family:var(--font-mono); font-size:.65rem; text-transform:uppercase; letter-spacing:.06em; background: var(--ink); color:#fff; padding:.2rem .55rem; display:inline-block; }

.announce-strip{ background: var(--brass); color:#fff; font-family: var(--font-mono); font-size:.82rem; letter-spacing:.02em; }

/* ============ TIMELINE ============ */
.timeline{ border-left: 2px solid var(--line); padding-left: 1.8rem; }
.timeline .t-item{ position:relative; padding-bottom: 2rem; }
.timeline .t-item::before{ content:""; position:absolute; left:-2.32rem; top:.28rem; width:11px; height:11px; border-radius:50%; background: var(--brass); border:2px solid var(--parchment); box-shadow:0 0 0 2px var(--brass); }
.timeline .yr{ font-family: var(--font-mono); color: var(--brass-dark); font-weight:700; }

/* ============ ALUMNI (plain card, used as fallback / listing pages) ============ */
.alumni-card{ text-align:center; }
.alumni-card .photo{ width:120px;height:120px;border-radius:50%;overflow:hidden;margin:0 auto 1rem; border: 3px solid var(--paper); box-shadow: 0 0 0 2px var(--brass); }
.alumni-card .photo img{ width:100%;height:100%;object-fit:cover; }
.alumni-card .photo-initials{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:var(--ink-2); color:var(--brass); font-family:var(--font-display); font-size:2.4rem; }
.alumni-card .role{ font-size:.85rem; color:#5c5849; }
.alumni-card .quote{ font-family: var(--font-display); font-style: italic; color: var(--ink); }
.section-ink .alumni-card .role{ color: rgba(255,255,255,.6); }
.section-ink .alumni-card .quote{ color: rgba(255,255,255,.88); }
.section-ink .alumni-card h6{ color:#fff; }

/* ============ FOOTER ============ */
.mu-footer{ background: var(--ink); color: rgba(255,255,255,.72); }
.mu-footer h6{ color:#fff; font-family:var(--font-mono); text-transform:uppercase; font-size:.75rem; letter-spacing:.1em; margin-bottom:1rem; }
.mu-footer a{ color: rgba(255,255,255,.68); }
.mu-footer a:hover{ color: var(--brass); }
.mu-footer .mu-topbar-logout{ color: rgba(255,255,255,.68); }
.mu-footer .mu-topbar-logout:hover{ color: var(--brass); }
.mu-footer .bottom{ border-top:1px solid var(--line-dark); font-size:.78rem; color: rgba(255,255,255,.5); }
.mu-footer .col-lg-3 h6, .mu-footer .col-lg-2 h6{ margin-bottom:.9rem; }
.mu-footer .mu-form .form-control{ background:rgba(255,255,255,.08); border:1px solid var(--line-dark); color:#fff; }
.mu-footer .mu-form .form-control::placeholder{ color:rgba(255,255,255,.45); }
.mu-footer .form-msg.text-success{ color:#8fd19e !important; }
.mu-footer .form-msg.text-danger{ color:#e59a9a !important; }

/* ============================================================
   MEGA NAVBAR
   ============================================================ */
.mu-navbar .nav-item{ position:relative; }
.mu-navbar .dropdown-toggle::after{ vertical-align:.15em; border-top-color: rgba(2, 2, 2, 0.65); transition: transform .25s ease; }
.mu-navbar .dropdown-toggle[aria-expanded="true"]::after{ transform: rotate(180deg); }
.mu-navbar .dropdown-menu{ background: var(--paper); border: 1px solid var(--line); border-top: 2px solid var(--brass); border-radius: var(--radius); box-shadow: 0 18px 40px rgba(27,42,68,.18); padding: .6rem; margin-top: .4rem !important; opacity: 0; transform: translateY(8px); visibility:hidden; transition: opacity .2s ease, transform .2s ease, visibility .2s; display:block; pointer-events:none; }
.mu-navbar .dropdown-menu.show{ opacity:1; transform:translateY(0); visibility:visible; pointer-events:auto; }
.mu-navbar .dropdown-item{ padding:.55rem .8rem; border-radius:2px; font-size:.92rem; color: var(--charcoal); font-weight:500; }
.mu-navbar .dropdown-item:hover{ background: var(--parchment); color: var(--brass-dark); }
.mega-menu{ min-width: 560px; max-width: 640px; }
.mega-card{ display:block; padding: 1rem 1.1rem; border: 1px solid var(--line); border-left:3px solid var(--brass); border-radius: var(--radius); text-decoration:none; height:100%; transition: all .2s ease; }
.mega-card:hover{ background: var(--parchment); transform: translateX(3px); }
.mega-card .eyebrow{ display:block; margin-bottom:.3rem; }
.mega-card h6{ color: var(--ink); font-family: var(--font-display); font-size:1.05rem; margin-bottom:.3rem; }
.mega-card p{ color:#5c5849; font-size:.84rem; margin:0; }
.mega-menu .view-all{ font-size:.82rem; font-weight:600; color: var(--forest); }
.mega-menu .view-all:hover{ color: var(--brass-dark); }

@media (max-width: 991.98px){
  .mu-navbar .navbar-collapse{ background: var(--ink); padding:.85rem 1rem 1.15rem; margin-top:.55rem; border-radius: 12px; }
  .mu-navbar .nav-link{ color: rgba(255,255,255,.9) !important; padding: .7rem .45rem !important; }
  .mu-navbar .nav-link:hover, .mu-navbar .nav-link.active{ color: var(--brass) !important; }
  .mu-navbar .nav-link.active::after{ display:none; }
  .mu-navbar .dropdown-toggle::after{ border-top-color: rgba(255,255,255,.7); }
  .mu-navbar .dropdown-menu{ display: none; position: static !important; opacity: 1; visibility: visible; transform: none; pointer-events: auto; box-shadow: none; border: 0; border-left: 2px solid var(--brass); border-radius: 0; background: transparent; margin: .15rem 0 .35rem !important; padding: 0 0 0 .4rem; }
  .mu-navbar .dropdown-menu.show{ display: block; }
  .mu-navbar .dropdown-item, .mega-card h6, .mega-menu .view-all{ color:#fff; }
  .mega-card{ border-color: rgba(255,255,255,.25); }
  .mega-card:hover{ background: rgba(255,255,255,.06); }
  .mega-card p{ color: rgba(255,255,255,.6); }
  .mu-navbar .dropdown-item:hover{ background: rgba(255,255,255,.08); color:#fff; }
  .mu-navbar .dropdown-divider{ border-color: rgba(255,255,255,.16); }
  .mega-menu{ min-width:0; max-width:none; }
  .mu-navbar .btn-brass{ width: 100%; }
}
.mu-navbar .btn-brass{ padding:.5rem 1.15rem; }

/* ============ ICON BUTTONS / OFFCANVAS / SEARCH POPUP ============ */
.mu-icon-btn{ background:transparent; border:1px solid var(--line-dark); color:#fff; width:34px; height:34px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; transition:all .2s ease; cursor:pointer; }
.mu-icon-btn:hover{ background:var(--brass); border-color:var(--brass); color:#fff; }
.mu-navbar .mu-icon-btn{ border-color:var(--line); color:var(--ink); }
.mu-navbar .mu-icon-btn:hover{ background:var(--brass); border-color:var(--brass); color:#fff; }
.mu-offcanvas-trigger{ border:1px solid var(--ink); background:transparent; border-radius:6px; width:40px; height:34px; display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; cursor:pointer; }
.mu-offcanvas-trigger span{ display:block; width:18px; height:2px; background:var(--ink); transition:all .3s ease; }
.mu-offcanvas-trigger:hover{ border-color:var(--brass); }
.mu-offcanvas-trigger:hover span{ background:#fff; }
.mu-offcanvas-overlay{ position:fixed; inset:0; background:rgba(27,42,68,.55); z-index:1090; opacity:0; visibility:hidden; transition:opacity .35s ease, visibility .35s ease; }
.mu-offcanvas-overlay.show{ opacity:1; visibility:visible; }
.mu-offcanvas{ position:fixed; top:0; right:0; height:100%; width:min(88vw, 400px); background:var(--paper); z-index:1100; box-shadow:-10px 0 40px rgba(27,42,68,.25); transform:translateX(100%); transition:transform .45s cubic-bezier(.7,0,.3,1); overflow-y:auto; }
.mu-offcanvas.show{ transform:translateX(0); }
.mu-offcanvas-close{ position:absolute; top:1.2rem; right:1.2rem; width:38px; height:38px; border-radius:50%; background:var(--ink); color:#fff; border:none; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s ease; }
.mu-offcanvas-close:hover{ background:var(--brass); }
.mu-offcanvas-inner{ padding:4.2rem 2rem 2.5rem; }
.mu-offcanvas-logo{ display:inline-block; margin-bottom:1rem; }
.mu-offcanvas-logo img{ height:56px; width:auto; object-fit:contain; }
.mu-offcanvas-desc{ color:#5c5849; font-size:.92rem; margin-bottom:1.8rem; }
.mu-offcanvas-nav{ list-style:none; margin:0 0 2rem; padding:0; }
.mu-offcanvas-nav li{ border-bottom:1px solid var(--line); }
.mu-offcanvas-nav a{ display:block; padding:.85rem 0; color:var(--ink); font-weight:600; font-size:1rem; transition:color .2s ease, padding-left .2s ease; }
.mu-offcanvas-nav a:hover{ color:var(--brass-dark); padding-left:.4rem; }
.mu-offcanvas-contact{ display:flex; flex-direction:column; gap:.6rem; margin-bottom:1.6rem; }
.mu-offcanvas-contact a{ color:var(--ink); font-size:.9rem; }
.mu-offcanvas-contact a:hover{ color:var(--brass-dark); }
.mu-offcanvas-contact i{ color:var(--brass); margin-right:.4rem; }
.mu-offcanvas-social{ display:flex; gap:.7rem; }
.mu-offcanvas-social a{ width:36px; height:36px; border-radius:50%; border:1px solid var(--line); color:var(--ink); display:flex; align-items:center; justify-content:center; transition:all .2s ease; }
.mu-offcanvas-social a:hover{ background:var(--brass); border-color:var(--brass); color:#fff; }
body.mu-offcanvas-open{ overflow:hidden; }
.mu-search-popup{ position:fixed; top:0; left:0; right:0; height:42%; min-height:280px; background:var(--parchment); z-index:1150; box-shadow:0 10px 30px rgba(0,0,0,.15); transform:translateY(-100%); transition:transform .4s cubic-bezier(.7,0,.3,1); display:flex; align-items:center; justify-content:center; }
.mu-search-popup.show{ transform:translateY(0); }
.mu-search-close{ position:absolute; top:1.6rem; right:1.8rem; width:40px; height:40px; border-radius:50%; background:transparent; border:1px solid var(--ink); color:var(--ink); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .2s ease; }
.mu-search-close:hover{ background:var(--ink); color:#fff; }
.mu-search-form{ width:100%; max-width:720px; padding:0 1.5rem; }
.mu-search-wrap{ display:flex; align-items:center; gap:1rem; border-bottom:2px solid var(--ink); padding-bottom:1rem; }
.mu-search-input{ flex:1; border:none; background:transparent; outline:none; color:var(--ink); font-family:var(--font-display); font-size:clamp(1.4rem, 3vw, 2.2rem); }
.mu-search-input::placeholder{ color:#8a8570; }
.mu-search-wrap button{ border:none; background:transparent; color:var(--ink); font-size:1.4rem; cursor:pointer; transition:color .2s ease; }
.mu-search-wrap button:hover{ color:var(--brass); }
body.mu-search-open{ overflow:hidden; }
@media (max-width:575px){ .mu-search-popup{ height:auto; padding:5rem 0 2rem; } }

.skip-to-content{ position:absolute; left:1rem; top:-4rem; z-index:3000; background:var(--brass); color:#fff; padding:.6rem 1rem; border-radius:var(--radius); font-weight:600; }
.skip-to-content:focus{ top:1rem; color:#fff; }
.mu-navbar .navbar-toggler{ border:1px solid var(--line); padding:.4rem .55rem; }
.mu-navbar .navbar-toggler:focus{ box-shadow: 0 0 0 3px rgba(184,134,43,.25); }
.mu-navbar .navbar-toggler-icon{ width: 1.35rem; height: 1.35rem; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(27, 42, 68, 0.92)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

/* ============ MISC ============ */
.form-control, .form-select{ border-radius: var(--radius); border:1px solid var(--line); padding:.65rem .85rem; background:var(--paper); }
.form-control:focus, .form-select:focus{ border-color: var(--brass); box-shadow: 0 0 0 3px rgba(184,134,43,.18); }
.page-hero{ background: var(--ink); color:#fff; padding: 3.6rem 0 3rem; border-bottom: 6px solid var(--brass); }
.page-hero h1{ color:#fff; }
.page-hero .mu-hero-sub{ color: rgba(255,255,255,.72); max-width: 46ch; margin-bottom: 0; }
.breadcrumb-mu{ font-family: var(--font-mono); font-size:.75rem; color: rgba(255,255,255,.6); letter-spacing:.04em; }
.breadcrumb-mu a{ color: rgba(255,255,255,.8); }
.back-to-top{ position:fixed; right:1.4rem; bottom:1.4rem; width:44px;height:44px; border-radius:50%; background: var(--brass); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow: 0 6px 18px rgba(0,0,0,.25); opacity:0; visibility:hidden; transition: all .25s ease; z-index:999; }
.back-to-top.show{ opacity:1; visibility:visible; }

/* ============================================================
   HERO SLIDER
   ============================================================ */
.hero-slider{ position:relative; border-bottom:6px solid var(--brass); }
.hero-slider .carousel-item{ height: min(88vh, 720px); min-height:460px; position:relative; }
.hero-slider .slide-media{ position:absolute; inset:0; }
.hero-slider .slide-media img{ width:100%; height:100%; object-fit:cover; }
.hero-slider .slide-scrim{ position:absolute; inset:0; }
.hero-slider .slide-content{ position:relative; z-index:2; height:100%; display:flex; align-items:center; }
.hero-slider .eyebrow{ color: var(--brass); }
.hero-slider h1{ color:#fff; font-size: clamp(2.2rem, 4.6vw, 3.8rem); line-height:1.08; }
.hero-slider p.lead-sub{ color: rgba(255,255,255,.78); max-width: 46ch; font-size:1.06rem; }
.hero-slider .carousel-indicators{ bottom:1.6rem; }
.hero-slider .carousel-indicators [data-bs-target]{ width:34px; height:3px; border-radius:2px; background: rgba(255,255,255,.4); border:0; opacity:1; }
.hero-slider .carousel-indicators .active{ background: var(--brass); }
.hero-slider .carousel-control-prev, .hero-slider .carousel-control-next{ width:5%; opacity:0; transition: opacity .2s ease; }
.hero-slider:hover .carousel-control-prev, .hero-slider:hover .carousel-control-next{ opacity:.85; }
.hero-slider .carousel-control-prev-icon, .hero-slider .carousel-control-next-icon{ filter: invert(1) grayscale(1); width:1.6rem; height:1.6rem; }
.hero-slider .scroll-cue{ position:absolute; left:50%; bottom:1.1rem; transform:translateX(-50%); z-index:3; color:rgba(255,255,255,.7); font-family: var(--font-mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; display:flex; flex-direction:column; align-items:center; gap:.35rem; }
.scroll-cue .stem{ width:1px; height:22px; background: rgba(255,255,255,.5); animation: scrollCue 1.8s ease-in-out infinite; }
@keyframes scrollCue{ 0%,100%{ transform: scaleY(.4); opacity:.4; } 50%{ transform: scaleY(1); opacity:1; } }
.hero-slider .hero-fallback{ height: min(88vh, 720px); min-height:460px; position:relative; }
.hero-slider .hero-fallback .slide-media, .hero-slider .hero-fallback .slide-scrim{ position:absolute; inset:0; }
.hero-slider .hero-fallback .slide-media img{ width:100%; height:100%; object-fit:cover; }
.hero-slider .hero-fallback .slide-content{ position:relative; z-index:2; height:100%; display:flex; align-items:center; }
@media (hover: none){
  .hero-slider .carousel-control-prev, .hero-slider .carousel-control-next{ opacity:.85; }
  .tilt-card{ transform: none !important; }
}
@media (max-width: 991.98px){
  .section{ padding: 3.4rem 0; }
  .section-tight{ padding: 2.4rem 0; }
  .hero-slider h1{ font-size: clamp(1.75rem, 7vw, 2.6rem); }
  .hero-slider p.lead-sub{ font-size: .98rem; }
  .hero-slider .carousel-control-prev, .hero-slider .carousel-control-next{ width: 2.7rem; height: 2.7rem; top: auto; bottom: 1.15rem; opacity: .9; background: rgba(11, 18, 32, .45); border-radius: 50%; }
  .hero-slider .carousel-control-prev{ left: .7rem; }
  .hero-slider .carousel-control-next{ right: .7rem; }
  .hero-slider .scroll-cue{ display: none; }
  .hero-slider .carousel-indicators{ bottom: .65rem; }
  .why-side-image{ min-height: 280px; }
  .why-side-image img{ min-height: 280px; }
  .event-featured{ min-height: 280px; }
  .event-featured h3{ font-size: 1.25rem; }
}
@media (max-width: 767.98px){
  .hero-slider .carousel-item, .hero-slider .hero-fallback{ min-height: 0; height: auto; }
  .hero-slider .slide-content, .hero-slider .hero-fallback .slide-content{ padding: 3.25rem 0 4.25rem; align-items: flex-end; }
  .hero-slider .btn{ min-height: 44px; }
  .stat-row .num{ font-size: 1.45rem; }
  .stat-row > [class*="col-"]{ padding-top: .7rem; padding-bottom: .7rem; }
  .stat-row > [class*="col-"]:nth-child(odd){ border-right: 1px solid var(--line-dark); }
  .course-card-adv .meta-row{ gap: .4rem .75rem; }
  .section-boost-cta .cta-panel{ padding: .4rem 0 0; }
  .section-boost-cta .cta-panel h2{ font-size: 1.55rem; }
  .partners-strip .partner-card{ min-height: 84px; padding: .65rem .8rem; }
  .partners-strip .partner-card img{ max-height: 56px; max-width: 140px; }
}
@media (max-width: 575.98px){
  .hero-slider .hero-cta > .btn{ width: 100%; }
  .mu-topbar{ font-size: .68rem; }
}

/* ============================================================
   WELCOME / ABOUT SECTION
   ============================================================ */
.welcome-media{ position:relative; padding: 1.5rem 2.4rem 2.6rem 0; overflow: visible; }
.welcome-media .frame-1{ position: relative; z-index: 1; aspect-ratio: 4 / 3; border: 1px solid var(--line); overflow: hidden; background: var(--parchment); border-radius: var(--radius); }
.welcome-media .frame-1 img{ width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.welcome-media .frame-2{ position: absolute; right: 0; bottom: 0; z-index: 2; width: min(48%, 220px); aspect-ratio: 3 / 4; border-radius: var(--radius); border: 6px solid var(--parchment); box-shadow: 0 20px 40px rgba(27,42,68,.2); overflow: hidden; background: var(--paper); }
.welcome-media .frame-2 img{ width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; }
.welcome-media .img-reveal img, .welcome-media .img-reveal.in img{ transform: none; }
.welcome-media .badge-float{ position:absolute; top:-1.2rem; left:-1.2rem; background: var(--paper); border:1px solid var(--line); border-left:4px solid var(--brass); padding: .9rem 1.2rem; box-shadow: var(--shadow-card); display:flex; align-items:center; gap:.7rem; z-index:3; }
.welcome-media .badge-float .num{ font-family:var(--font-display); font-size:1.7rem; color:var(--ink); }
.welcome-media .badge-float .lbl{ font-family:var(--font-mono); font-size:.66rem; text-transform:uppercase; color:#5c5849; letter-spacing:.05em; }
.welcome-list li{ display:flex; align-items:flex-start; gap:.6rem; margin-bottom:.7rem; }
.welcome-list i{ color: var(--forest); margin-top:.2rem; }
@media (max-width: 767.98px){
  .welcome-media{ padding: 2.2rem .5rem 2.4rem 0; }
  .welcome-media .badge-float{ left:0; top:-.4rem; }
  .welcome-media .frame-2{ width: min(46%, 180px); right: .15rem; bottom: -.2rem; border-width: 4px; }
}
@media (max-width: 575.98px){
  .welcome-media .frame-2{ display: none; }
  .welcome-media{ padding: 2.1rem 0 0; }
}

/* ============================================================
   EVENTS — featured + side list
   ============================================================ */
.event-featured{ position:relative; border-radius: var(--radius); overflow:hidden; min-height:420px; display:flex; align-items:flex-end; border:1px solid var(--line); }
.event-featured img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition: transform .6s ease; }
.event-featured:hover img{ transform: scale(1.05); }
.event-featured .scrim{ position:absolute; inset:0; background: linear-gradient(180deg, rgba(27,42,68,0) 30%, rgba(27,42,68,.92) 100%); }
.event-featured .content{ position:relative; z-index:2; padding: 1.8rem; color:#fff; }
.event-featured .content p{ color: rgba(255,255,255,.82); }
.event-featured .date-pill{ display:inline-flex; align-items:center; gap:.4rem; background: var(--brass); color:#fff; font-family:var(--font-mono); font-size:.72rem; padding:.3rem .8rem; border-radius:999px; margin-bottom:.8rem; }
.event-featured h3{ color:#fff; font-size:1.6rem; margin-bottom:.5rem; }
.event-featured-tag{ position:absolute; top:1.4rem; right:1.4rem; z-index:2; background: var(--brass); color:#fff; font-family: var(--font-mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; padding:.35rem .8rem; border-radius:999px; display:inline-flex; align-items:center; gap:.4rem; }
.loc-pill{ display:inline-flex; align-items:center; gap:.4rem; background: rgba(255,255,255,.14); color:#fff; font-size:.8rem; padding:.3rem .8rem; border-radius:999px; }
.event-side-item{ display:flex; gap:1rem; padding: .9rem; border:1px solid var(--line); border-radius: var(--radius); background: var(--paper); margin-bottom: .8rem; transition: all .2s ease; text-decoration:none; }
.event-side-item:last-child{ margin-bottom:0; }
.event-side-item:hover{ border-color: var(--brass); transform: translateX(4px); box-shadow: var(--shadow-card); }
.event-side-item .thumb{ width:64px; height:64px; flex-shrink:0; border-radius: var(--radius); overflow:hidden; }
.event-side-item .thumb img{ width:100%; height:100%; object-fit:cover; }
.event-side-item .date{ font-family: var(--font-mono); font-size:.68rem; text-transform:uppercase; color: var(--rust); letter-spacing:.05em; }
.event-side-item h6{ margin:.15rem 0 0; color: var(--ink); font-size:.94rem; }
.event-side-item .loc{ font-size:.76rem; color:#5c5849; margin-top:.15rem; }

/* ============================================================
   CONTACT TEASER + light contact section + partners strip
   ============================================================ */
.contact-info-card{ display:flex; align-items:flex-start; gap:1rem; padding:1.3rem; border:1px solid var(--line-dark); border-radius: var(--radius); background: rgba(255,255,255,.04); }
.contact-info-card .ic{ width:44px; height:44px; border-radius:50%; background: var(--brass); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-info-card h6{ color:#fff; margin-bottom:.2rem; }
.contact-info-card p{ color: rgba(255,255,255,.65); margin:0; font-size:.87rem; }
.section-contact-light{ background: var(--paper); border-top: 1px solid var(--line); }
.section-contact-light h2, .section-contact-light h3{ color: var(--ink); }
.section-contact-light .contact-info-card{ background: var(--parchment); border-color: var(--line); }
.section-contact-light .contact-info-card h6{ color: var(--ink); }
.section-contact-light .contact-info-card p{ color:#5c5849; }
.section-contact-light .campus-map{ border:1px solid var(--line) !important; }
.campus-map{ overflow:hidden; border-radius: var(--radius); background: var(--ink-2); }

.partners-strip{ background: var(--paper); border-bottom: 1px solid var(--line); padding: 1.5rem 0 1.35rem; }
.partners-strip .partner-card{ min-height: 104px; background: var(--parchment); border: 1px solid var(--line); border-radius: var(--radius); display:flex; align-items:center; justify-content:center; padding: .85rem 1.1rem; transition: filter .3s ease, transform .3s ease; }
.partners-strip .partner-card:hover{ transform: translateY(-3px); }
.partners-strip .partner-card img{ max-height: 72px; max-width: 176px; width: auto; height: auto; object-fit: contain; }
.partners-strip .partners-carousel .item{ padding: 0 .15rem; }
.partners-strip .owl-stage{ display:flex; align-items:stretch; }
.partners-strip .owl-item{ display:flex; }
.partners-strip .owl-item .item, .partners-strip .owl-item .partner-card{ width:100%; }

.reveal{ opacity:0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in{ opacity:1; transform:none; }
::selection{ background: var(--brass); color:#fff; }

/* ============================================================
   MOTION LAYER
   ============================================================ */
#mu-loader{ position:fixed; inset:0; z-index:2000; background:var(--ink); display:flex; align-items:center; justify-content:center; transition: opacity .5s ease, visibility .5s ease; }
#mu-loader.done{ opacity:0; visibility:hidden; }
#mu-loader .mu-seal{ animation: sealSpin 1.1s ease-in-out infinite alternate; }
@keyframes sealSpin{ from{ transform: scale(.9) rotate(-4deg); opacity:.6; } to{ transform: scale(1.05) rotate(4deg); opacity:1; } }
.mu-cursor-glow{ position:fixed; width:420px; height:420px; border-radius:50%; pointer-events:none; z-index:1; background: radial-gradient(circle, rgba(184,134,43,.10) 0%, rgba(184,134,43,0) 70%); transform: translate(-50%,-50%); left:-999px; top:-999px; transition: left .12s linear, top .12s linear; display:none; }
@media (hover:hover) and (pointer:fine){ .mu-cursor-glow{ display:block; } }
[data-anim]{ opacity:0; transition: opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1); will-change:transform,opacity; }
[data-anim].in{ opacity:1; transform:none !important; }
[data-anim="fade-up"]{ transform: translateY(28px); }
[data-anim="fade-down"]{ transform: translateY(-28px); }
[data-anim="fade-left"]{ transform: translateX(32px); }
[data-anim="fade-right"]{ transform: translateX(-32px); }
[data-anim="zoom-in"]{ transform: scale(.92); }
[data-anim="clip-up"]{ clip-path: inset(100% 0 0 0); opacity:1; transition: clip-path .8s cubic-bezier(.22,1,.36,1); }
[data-anim="clip-up"].in{ clip-path: inset(0 0 0 0); }
.stagger > [data-anim]{ transition-delay: calc(var(--i, 0) * 90ms); }
.tilt-card{ transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease; transform-style:preserve-3d; }
.tilt-card:hover{ box-shadow: 0 22px 40px rgba(27,42,68,.18); }
.btn-brass, .btn-outline-ink, .btn-outline-light{ position:relative; overflow:hidden; }
.ripple{ position:absolute; border-radius:50%; background: rgba(255,255,255,.55); transform: scale(0); animation: rippleAnim .6s ease-out forwards; pointer-events:none; }
@keyframes rippleAnim{ to{ transform: scale(3); opacity:0; } }
.mu-navbar .nav-link{ overflow:hidden; }
.mu-navbar .nav-link span.ul{ position:absolute; left:.85rem; right:.85rem; bottom:.55rem; height:2px; background:var(--brass); transform: scaleX(0); transform-origin:left; transition: transform .3s cubic-bezier(.22,1,.36,1); }
.mu-navbar .nav-link:hover span.ul{ transform: scaleX(1); }
.parallax-layer{ will-change: transform; }
.count-up{ font-variant-numeric: tabular-nums; }
.mu-marquee{ overflow:hidden; white-space:nowrap; position:relative; }
.mu-marquee .track{ display:inline-block; padding-left:100%; animation: marquee 26s linear infinite; }
.mu-marquee:hover .track{ animation-play-state:paused; }
@keyframes marquee{ from{ transform:translateX(0);} to{ transform:translateX(-100%);} }
.img-reveal{ position:relative; overflow:hidden; }
.img-reveal img{ transform: scale(1.15); transition: transform 1.1s cubic-bezier(.22,1,.36,1); }
.img-reveal::after{ content:""; position:absolute; inset:0; background:var(--brass); transform-origin:right; transform: scaleX(1); transition: transform .8s cubic-bezier(.22,1,.36,1); }
.img-reveal.in::after{ transform: scaleX(0); }
.img-reveal.in img{ transform: scale(1); }
.glow-card{ position:relative; }
.glow-card::before{ content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px; background: linear-gradient(135deg, var(--brass), transparent 60%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity:0; transition: opacity .35s ease; }
.glow-card:hover::before{ opacity:1; }
.split-hero{ min-height: 56vh; display:flex; align-items:flex-end; position:relative; overflow:hidden; }
.split-hero .split-media{ position:absolute; inset:0; }
.split-hero .split-media img{ width:100%; height:100%; object-fit:cover; }
.split-hero .split-scrim{ position:absolute; inset:0; background: rgba(27,42,68,.72); }
#mu-progress{ position:fixed; top:0; left:0; height:3px; background:var(--brass); width:0%; z-index:1050; transition: width .1s linear; }
.flag-chip{ display:inline-flex; align-items:center; gap:.5rem; border:1px solid var(--line); border-radius:999px; padding:.4rem .9rem; font-size:.82rem; background:var(--paper); }
@media (prefers-reduced-motion: reduce){
  [data-anim], .img-reveal img, .img-reveal::after, .tilt-card, .btn-brass, .mu-navbar .nav-link span.ul{ transition: none !important; animation: none !important; }
  [data-anim]{ opacity:1; transform:none !important; clip-path:none !important; }
}

/* ============================================================
   HEADER LOGO / SEAL / VM TABLE / VALUE CHIPS / TEASER CARDS
   ============================================================ */
.mu-navbar .navbar-brand{ display:flex; align-items:center; }
.brand-logo-img{ height:64px; width:auto; max-width:150px; object-fit:contain; transition:height .35s ease; }
.mu-navbar.scrolled .brand-logo-img{ height:48px; }
@media (max-width:991px){ .brand-logo-img{ height:52px; } }
.mu-seal-logo{ background:#fff; border-radius:12px; width:auto; height:auto; padding:.4rem; display:inline-flex; align-items:center; justify-content:center; border:2px solid var(--brass); }
.mu-seal-logo img{ height:56px; width:auto; object-fit:contain; }
.brand-logo-footer{ height:72px; width:auto; max-width:170px; object-fit:contain; background:#fff; border-radius:10px; padding:.5rem; }

.vm-table{ width:100%; border-collapse:separate; border-spacing:0; border-radius:var(--radius); overflow:hidden; box-shadow: 0 12px 36px rgba(27, 42, 68, 0.08); background: var(--paper); border: 1px solid var(--line); }
.vm-table th, .vm-table td{ padding:1.4rem 1.6rem; vertical-align:top; border-bottom:1px solid var(--line); }
.vm-table thead th{ background:var(--ink); color:#fff; font-family:var(--font-display); font-weight:600; font-size:1.02rem; text-align:left; border-bottom:none; }
.vm-table tbody th{ width:190px; background:var(--parchment, var(--paper)); color:var(--ink); font-weight:700; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; }
.vm-table tbody tr:last-child td, .vm-table tbody tr:last-child th{ border-bottom:none; }
.vm-table tbody tr:hover td{ background:rgba(184,134,43,.06); }
.vm-table .quote-mark{ color:var(--brass); font-family:var(--font-display); font-size:1.3rem; line-height:0; vertical-align:-.15rem; }
@media (max-width: 767.98px){
  .vm-table thead{ display: none; }
  .vm-table, .vm-table tbody, .vm-table tr, .vm-table th, .vm-table td{ display: block; width: 100%; }
  .vm-table tbody th{ width: 100%; border-bottom: 0; padding: 1.1rem 1.1rem .25rem; }
  .vm-table tbody td{ padding: .15rem 1.1rem 1.15rem; }
  .vm-table tbody tr{ border-bottom: 1px solid var(--line); }
  .vm-table tbody tr:last-child{ border-bottom: 0; }
}

.value-chip{ display:inline-flex; align-items:center; gap:.5rem; background:rgba(255,255,255,.08); border:1px solid var(--line-dark); border-radius:999px; padding:.55rem 1.1rem; font-size:.85rem; font-weight:600; color:#fff; margin:.25rem; transition:all .3s ease; }
.value-chip i{ color:var(--brass); }
.value-chip:hover{ background:var(--brass); border-color:var(--brass); color:#fff; transform:translateY(-2px); }
.section:not(.section-ink):not(.section-forest) .value-chip{ background:var(--paper); color:var(--ink); border-color:var(--line); }
@media (max-width: 767.98px){ .value-chip{ margin: .2rem; font-size: .8rem; padding: .45rem .9rem; } }

.vm-teaser-card{ background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:1.6rem 1.8rem; height:100%; box-shadow:var(--shadow-card); transition:transform .3s ease; }
.vm-teaser-card:hover{ transform:translateY(-4px); }
.vm-teaser-card .ic{ width:44px; height:44px; border-radius:50%; background:var(--ink); color:var(--brass); display:flex; align-items:center; justify-content:center; margin-bottom:.9rem; font-size:1.1rem; }

/* ============================================================
   ABOUT PAGE — snapshot, faculties, services, commitment, founder
   ============================================================ */
.trading-badge{ display:inline-flex; align-items:center; gap:.5rem; margin-top:1rem; font-family: var(--font-mono); font-size:.75rem; letter-spacing:.04em; color: var(--brass); border:1px solid rgba(212,175,55,.45); background: rgba(212,175,55,.1); border-radius:999px; padding:.4rem .9rem; }
.fact-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:1.1rem; margin-top: -3.4rem; position:relative; z-index:5; }
.fact-card{ background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 12px 30px rgba(27, 42, 68, 0.06); padding: 1.4rem 1.3rem; display:flex; flex-direction:column; gap:.3rem; transition: transform .3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow .3s cubic-bezier(0.25, 1, 0.5, 1); }
.fact-card:hover{ transform: translateY(-4px); box-shadow: 0 20px 45px rgba(27, 42, 68, 0.12); border-color: var(--brass); }
.fact-card .ic{ width:42px; height:42px; border-radius:50%; background: var(--ink); color: var(--brass); display:flex; align-items:center; justify-content:center; font-size:1.05rem; margin-bottom:.3rem; }
.fact-card .lbl{ font-family: var(--font-mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color: var(--brass-dark); font-weight:700; }
.fact-card .val{ font-size:.9rem; color: var(--charcoal); line-height:1.45; }
@media (max-width: 991.98px){ .fact-grid{ grid-template-columns: repeat(2, 1fr); margin-top:1.5rem; } }
@media (max-width: 575.98px){ .fact-grid{ grid-template-columns: 1fr; } }

.faculty-grid{ display:grid; grid-template-columns: repeat(5, 1fr); gap:1rem; }
.faculty-card{ background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.6rem 1.1rem; text-align:center; box-shadow: 0 8px 24px rgba(27, 42, 68, 0.06); transition: transform .3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow .3s cubic-bezier(0.25, 1, 0.5, 1), border-color .3s ease; }
.faculty-card:hover{ transform: translateY(-6px); box-shadow: 0 22px 48px rgba(27, 42, 68, 0.14); border-color: var(--brass); }
.faculty-ic{ width:54px; height:54px; border-radius:50%; background: linear-gradient(135deg, var(--ink) 0%, var(--ink-2) 100%); color: var(--brass); display:flex; align-items:center; justify-content:center; font-size:1.35rem; margin:0 auto .9rem; box-shadow: 0 10px 22px rgba(0,58,112,.22); transition: transform .3s ease; }
.faculty-card:hover .faculty-ic{ transform: scale(1.08) rotate(-4deg); }
.faculty-name{ display:block; font-family: var(--font-subhead, var(--font-mono)); font-weight:600; font-size:.86rem; color: var(--ink); line-height:1.35; }
@media (max-width: 991.98px){ .faculty-grid{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 575.98px){ .faculty-grid{ grid-template-columns: repeat(2, 1fr); } }

.service-check-grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap: .9rem 2rem; }
.service-check-item{ display:flex; align-items:flex-start; gap:.7rem; padding: .5rem 0; border-bottom: 1px solid var(--line-dark); color: rgba(255,255,255,.88); font-size:.92rem; }
.service-check-item i{ color: var(--brass); font-size:1.05rem; margin-top:.15rem; flex:0 0 auto; }
@media (max-width: 767.98px){ .service-check-grid{ grid-template-columns: 1fr; } }

.commitment-card{ background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 10px 28px rgba(27, 42, 68, 0.06); padding: 2rem 1.7rem; height:100%; text-align:center; transition: transform .3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow .3s cubic-bezier(0.25, 1, 0.5, 1); }
.commitment-card:hover{ transform: translateY(-6px); box-shadow: 0 24px 50px rgba(27, 42, 68, 0.14); border-color: var(--brass); }
.commitment-ic{ width:58px; height:58px; border-radius:50%; background: rgba(212,175,55,.12); color: var(--brass-dark); display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin:0 auto 1.1rem; }
.commitment-card h4{ font-family: var(--font-display); color: var(--ink); margin-bottom:.7rem; }
.commitment-card p{ color:#5c5849; font-size:.92rem; margin:0; }

.founder-portrait{ width: 240px; border-radius: var(--radius); overflow:hidden; box-shadow: 0 30px 60px rgba(0,0,0,.35); border: 3px solid rgba(212,175,55,.4); }
.founder-portrait img{ width:100%; display:block; aspect-ratio: 4/5; object-fit:cover; }
.founder-signature{ display:flex; flex-direction:column; gap:.15rem; }
.founder-signature .name{ font-family: var(--font-display); color:#fff; font-size:1.05rem; }
.founder-signature .role{ font-family: var(--font-mono); font-size:.72rem; color: var(--brass); text-transform:uppercase; letter-spacing:.06em; }
.founder-quote{ position:relative; }
.founder-quote .quote-icon{ font-size:2.6rem; color: var(--brass); opacity:.5; line-height:1; display:block; margin-bottom:.4rem; }
.founder-quote p{ color: rgba(255,255,255,.82); font-size:1.02rem; line-height:1.8; margin-bottom:1.1rem; }
.founder-quote p:last-child{ margin-bottom:0; }
@media (max-width: 991.98px){ .founder-portrait{ width:200px; } }

.about-story-photo{ position: relative; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.about-story-photo img{ width:100%; height:100%; object-fit:cover; }
.about-story-badge{ position: absolute; top: 1rem; left: 1rem; z-index: 2; background: var(--paper); border: 1px solid var(--line); border-left: 4px solid var(--brass); padding: .7rem 1rem; box-shadow: var(--shadow-card); }
.about-story-badge .num{ font-family: var(--font-display); font-size: 1.5rem; color: var(--ink); line-height: 1.1; }
.about-story-badge .lbl{ font-family: var(--font-mono); font-size: .66rem; text-transform: uppercase; color: #5c5849; letter-spacing: .05em; }
@media (max-width: 767.98px){ .about-story-badge{ top: .75rem; left: .75rem; padding: .55rem .8rem; } }

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.quick-contact-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:1.1rem; margin-top: -3.2rem; position:relative; z-index:5; }
.quick-contact-tile{ background: var(--paper); border:1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-card); padding: 1.4rem 1.3rem; text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:.25rem; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.quick-contact-tile:hover{ transform: translateY(-4px); box-shadow: 0 20px 40px rgba(27,42,68,.16); border-color: var(--brass); color:inherit; }
.quick-contact-tile .ic{ width:42px; height:42px; border-radius:50%; background: var(--ink); color: var(--brass); display:flex; align-items:center; justify-content:center; font-size:1rem; margin-bottom:.4rem; }
.quick-contact-tile .lbl{ font-family: var(--font-mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color: var(--brass-dark); font-weight:700; }
.quick-contact-tile .val{ font-size:.92rem; color: var(--charcoal); font-weight:600; }
@media (max-width: 767.98px){ .quick-contact-grid{ grid-template-columns: 1fr; margin-top:1.5rem; } }
.contact-form-panel{ background: var(--paper); border:1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-card); padding: 2.2rem; }
.contact-side-panel{ background: var(--ink); color:#fff; border-radius: var(--radius); padding: 2.2rem; height:100%; }
.contact-side-link{ display:inline-flex; align-items:center; gap:.4rem; color: var(--brass); font-weight:600; font-size:.9rem; text-decoration:none; }
.contact-side-link:hover{ color: #fff; }
@media (max-width: 991.98px){ .contact-side-panel{ margin-top: 1rem; } }

/* ============================================================
   LOCATIONS PAGE
   ============================================================ */
.location-card{ background: var(--paper); border:1px solid var(--line); border-radius: var(--radius); overflow:hidden; box-shadow: var(--shadow-card); display:flex; flex-direction:column; }
.location-card-media{ position:relative; height:220px; overflow:hidden; }
.location-card-media img{ width:100%; height:100%; object-fit:cover; transition: transform .5s ease; }
.location-card:hover .location-card-media img{ transform: scale(1.06); }
.location-card-badge{ position:absolute; left:1rem; top:1rem; background: rgba(27,42,68,.85); color:#fff; font-family: var(--font-mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; padding:.3rem .7rem; border-radius:999px; display:inline-flex; align-items:center; gap:.35rem; }
.location-card-body{ padding: 1.5rem; flex:1; display:flex; flex-direction:column; }
.location-meta-list{ list-style:none; padding:0; margin:0 0 .5rem; display:flex; flex-direction:column; gap:.4rem; }
.location-meta-list li{ font-size:.86rem; color:#5c5849; display:flex; align-items:flex-start; gap:.5rem; }
.location-meta-list li i{ color: var(--brass-dark); margin-top:.2rem; }

/* institutes index — thumbnail list */
.institute-list-item{ align-items:center; }
.institute-list-thumb{ flex:0 0 auto; width:96px; height:96px; border-radius: calc(var(--radius) - 4px); overflow:hidden; }
.institute-list-thumb img{ width:100%; height:100%; object-fit:cover; transition: transform .5s ease; }
.institute-list-item:hover .institute-list-thumb img{ transform: scale(1.08); }
@media (max-width: 575.98px){ .institute-list-thumb{ width:72px; height:72px; } }

/* generic index "offer" style item (also used for institutes list) */
.offer-list{ display:flex; flex-direction:column; gap:1rem; }
.offer-item{ display:flex; align-items:flex-start; gap:1.3rem; background: var(--paper); border:1px solid var(--line); border-radius: var(--radius); padding: 1.5rem 1.6rem; text-decoration:none; color:inherit; box-shadow: var(--shadow-card); transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease, border-color .3s ease; }
.offer-item:hover{ transform: translateY(-3px) translateX(2px); box-shadow: 0 20px 40px rgba(27,42,68,.16); border-color: var(--brass); }
.offer-item-index{ flex:0 0 auto; font-family: var(--font-mono); font-size:.85rem; color: var(--brass-dark); border:1px solid var(--line); border-radius:50%; width:44px; height:44px; display:flex; align-items:center; justify-content:center; transition: background .3s ease, color .3s ease, border-color .3s ease; }
.offer-item:hover .offer-item-index{ background: var(--ink); border-color: var(--ink); color:#fff; }
.offer-item-body{ flex:1 1 auto; min-width:0; }
.offer-item-body h3{ font-size:1.25rem; margin-bottom:.4rem; }
.offer-item-body > p{ margin-bottom: .9rem; }
.offer-chip-list{ list-style:none; display:flex; flex-wrap:wrap; gap:.5rem; padding:0; margin:0; }
.offer-chip{ font-family: var(--font-mono); font-size:.72rem; color: var(--forest); background: var(--parchment); border:1px solid var(--line); border-radius: 999px; padding:.3rem .7rem; display:inline-flex; align-items:center; gap:.4rem; white-space:nowrap; }
.offer-chip span{ color: var(--brass-dark); }
.offer-item-arrow{ flex:0 0 auto; width:38px; height:38px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color: var(--ink); transition: background .3s ease, color .3s ease, transform .3s ease, border-color .3s ease; align-self:center; }
.offer-item:hover .offer-item-arrow{ background: var(--brass); border-color: var(--brass); color:#fff; transform: rotate(45deg); }
.offer-visual{ position:relative; border-radius: var(--radius); overflow:hidden; height:100%; min-height: 360px; box-shadow: var(--shadow-card); }
.offer-visual img{ width:100%; height:100%; object-fit:cover; min-height:360px; transition: transform .6s cubic-bezier(.22,1,.36,1); }
.offer-visual:hover img{ transform: scale(1.06); }
.offer-visual::after{ content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(27,42,68,.05) 0%, rgba(15,23,38,.88) 100%); }
.offer-visual-badge{ position:absolute; left:1.6rem; right:1.6rem; bottom:1.6rem; z-index:2; color:#fff; }
.offer-visual-badge .num{ font-family: var(--font-display); font-size: 2.6rem; line-height:1; color: var(--brass); display:block; margin-bottom:.35rem; }
.offer-visual-badge .cap{ font-family: var(--font-mono); font-size:.86rem; letter-spacing:.02em; color: rgba(255,255,255,.85); }
@media (max-width: 991.98px){ .offer-visual{ min-height:220px; } .offer-visual img{ min-height:220px; } }
@media (max-width: 575.98px){ .offer-item{ flex-wrap:wrap; } .offer-item-arrow{ display:none; } }

/* ============================================================
   NEWS & BLOG — magazine layout (home + listing feature spot)
   ============================================================ */
.news-magazine .section-head p{ max-width: 46ch; }
.news-feature{ display:block; height:100%; background: var(--paper); border:1px solid var(--line); border-radius: var(--radius); overflow:hidden; text-decoration:none; color:inherit; box-shadow: var(--shadow-card); transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease; }
.news-feature:hover{ transform: translateY(-4px); box-shadow: 0 24px 50px rgba(27,42,68,.18); color:inherit; }
.news-feature-media{ position:relative; overflow:hidden; height: 340px; }
.news-feature-media img{ width:100%; height:100%; object-fit:cover; transition: transform .6s cubic-bezier(.22,1,.36,1); }
.news-feature:hover .news-feature-media img{ transform: scale(1.06); }
.news-feature-media .cat{ position:absolute; left:1.2rem; top:1.2rem; z-index:2; }
.news-feature-body{ padding: 1.8rem; }
.news-feature-body .date{ display:block; margin-bottom:.5rem; }
.news-feature-body h3{ font-size: clamp(1.3rem,2.4vw,1.7rem); margin-bottom:.6rem; }
.news-feature-body .read-more{ display:inline-flex; align-items:center; gap:.4rem; font-weight:600; font-size:.85rem; color: var(--ink); margin-top:.8rem; }
.news-feature-body .read-more i{ transition: transform .25s ease; }
.news-feature:hover .read-more i{ transform: translate(3px,-3px); }
.news-side-list{ display:flex; flex-direction:column; gap:1.1rem; height:100%; }
.news-side-item{ display:flex; gap:1.1rem; background: var(--paper); border:1px solid var(--line); border-radius: var(--radius); padding: 1rem; text-decoration:none; color:inherit; box-shadow: var(--shadow-card); flex: 1 1 0; transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease, border-color .3s ease; }
.news-side-item:hover{ transform: translateX(4px); box-shadow: 0 18px 36px rgba(27,42,68,.16); border-color: var(--brass); color:inherit; }
.news-side-media{ flex:0 0 auto; width:120px; height:120px; border-radius: calc(var(--radius) - 4px); overflow:hidden; }
.news-side-media img{ width:100%; height:100%; object-fit:cover; transition: transform .5s ease; }
.news-side-item:hover .news-side-media img{ transform: scale(1.08); }
.news-side-body{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; justify-content:center; }
.news-side-body .cat{ margin-bottom:.4rem; align-self:flex-start; }
.news-side-body h5{ font-size:1rem; margin-bottom:.3rem; line-height:1.35; }
.news-side-body p{ margin:0; }
@media (max-width: 991.98px){ .news-feature-media{ height:260px; } .news-side-media{ width:96px; height:96px; } }
@media (max-width: 575.98px){ .news-side-item{ flex-direction:row; } .news-side-media{ width:84px; height:84px; } }

/* ============================================================
   STATS — floating glass panel (overlaps ticker/hero bottom edge)
   ============================================================ */
.stat-float-wrap{ position:relative; z-index:6; margin-top: -4.5rem; }
@media (max-width:767px){ .stat-float-wrap{ margin-top:1.75rem; margin-bottom:2rem; } }
.stat-float-panel{ background: rgba(255,255,255,.92); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border: 1px solid rgba(255,255,255,.7); border-radius: 20px; box-shadow: 0 25px 60px rgba(27,42,68,.22), 0 2px 8px rgba(27,42,68,.08); padding: 2.1rem 1.6rem; }
.stat-cell{ text-align:center; position:relative; padding:.4rem .5rem; }
@media (min-width:992px){ .stat-cell:not(:first-child)::before{ content:""; position:absolute; left:0; top:10%; bottom:10%; width:1px; background: var(--line); } }
.stat-cell .ic{ width:52px; height:52px; margin:0 auto .8rem; border-radius:50%; background: linear-gradient(135deg, var(--ink) 0%, var(--ink-2) 100%); color: var(--brass); display:flex; align-items:center; justify-content:center; font-size:1.35rem; box-shadow: 0 10px 22px rgba(27,42,68,.22); transition: transform .3s cubic-bezier(.22,1,.36,1); }
.stat-cell:hover .ic{ transform: scale(1.08) rotate(-4deg); }
.stat-cell .num{ font-family: var(--font-display); font-weight:700; color: var(--ink); font-size: clamp(1.7rem, 2.6vw, 2.3rem); line-height:1; font-variant-numeric: tabular-nums; }
.stat-cell .lbl{ font-family: var(--font-mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:#6b6b6b; margin-top:.5rem; font-weight:600; }

/* ============================================================
   ENROLLMENT TICKER — marquee strip (after partners, before/under stats)
   ============================================================ */
.section-ticker{ overflow:hidden; position:relative; }
.section-ticker .mu-marquee{ background: var(--forest); }
.section-ticker .mu-marquee:last-child{ margin-bottom:0; background: var(--ink); border-top: 1px solid rgba(184,134,43,.3); }
.section-ticker .mu-marquee .track{ animation-duration: 26s; }
.section-ticker .track.track-reverse{ animation-direction: reverse; }
.section-ticker .ticker-item{ display:inline-flex; align-items:center; gap:.6rem; margin-right:.9rem; font-family: var(--font-mono); font-size:.74rem; letter-spacing:.04em; text-transform:uppercase; font-weight:600; color: rgba(255,255,255,.88); }
.section-ticker .ticker-item i{ color: var(--brass); font-size:.85rem; }
.section-ticker .ticker-item .pulse-dot{ width:7px; height:7px; border-radius:50%; background:#4ADE80; display:inline-block; flex-shrink:0; box-shadow: 0 0 0 0 rgba(74,222,128,.6); animation: tickerPulse 1.8s ease-out infinite; }
@keyframes tickerPulse{ 0%{ box-shadow: 0 0 0 0 rgba(74,222,128,.55); } 70%{ box-shadow: 0 0 0 7px rgba(74,222,128,0); } 100%{ box-shadow: 0 0 0 0 rgba(74,222,128,0); } }
@media (prefers-reduced-motion: reduce){ .section-ticker .ticker-item .pulse-dot{ animation:none; } }

/* ============================================================
   JOURNEY / HOW IT WORKS — step cards
   ============================================================ */
.section-journey{ position:relative; overflow:hidden; }
.section-journey::before, .section-journey::after{ content:''; position:absolute; border-radius:50%; filter: blur(90px); z-index:0; pointer-events:none; }
.section-journey::before{ width:340px; height:340px; top:-10%; left:-8%; background: rgba(184,134,43,.13); }
.section-journey::after{ width:300px; height:300px; bottom:-14%; right:-6%; background: rgba(27,42,68,.13); }
.journey-row{ position:relative; z-index:1; }
.journey-step{ position:relative; text-align:center; padding: 1.75rem 1.4rem; background: rgba(255,255,255,.6); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.65); border-radius: var(--radius); box-shadow: var(--shadow-card); transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease, background .3s ease; }
.journey-step:hover{ transform: translateY(-6px); box-shadow: 0 18px 40px rgba(27,42,68,.14); background: rgba(255,255,255,.9); }
.journey-step .connector{ display:none; position:absolute; top:50%; right:-1.6rem; transform:translateY(-50%); color: var(--brass); font-size:1.1rem; z-index:2; }
@media (min-width:992px){ .journey-step .connector{ display:block; } }
.journey-step .step-no{ font-family: var(--font-mono); font-size:.7rem; color: var(--brass-dark); letter-spacing:.1em; }
.journey-step .ic-wrap{ width:60px; height:60px; margin: .8rem auto 1rem; border-radius:50%; display:flex; align-items:center; justify-content:center; background: linear-gradient(135deg, var(--ink) 0%, var(--ink-2) 100%); color: var(--brass); font-size:1.4rem; box-shadow: 0 10px 22px rgba(27,42,68,.2); transition: transform .3s ease; }
.journey-step:hover .ic-wrap{ transform: scale(1.08) rotate(-4deg); }
.journey-step h4{ font-size:1.02rem; margin-bottom:.4rem; color: var(--ink); }
.journey-step p{ font-size:.86rem; color: var(--ink); opacity:.68; margin-bottom:0; }

/* ============================================================
   HERO AURORA + SHIMMER EYEBROW + SEAL BADGE
   ============================================================ */
.hero-slider .hero-aurora{ position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; mix-blend-mode: screen; }
.hero-slider .hero-aurora span{ position:absolute; border-radius:50%; filter: blur(70px); opacity:.55; animation: aurora-drift 16s ease-in-out infinite; }
.hero-slider .hero-aurora span:nth-child(1){ width:420px; height:420px; top:-8%; right:6%; background: radial-gradient(circle, rgba(184,134,43,.5), transparent 70%); animation-duration: 18s; }
.hero-slider .hero-aurora span:nth-child(2){ width:320px; height:320px; bottom:-12%; left:8%; background: radial-gradient(circle, rgba(27,42,68,.55), transparent 70%); animation-duration: 22s; animation-delay:-4s; }
@keyframes aurora-drift{ 0%, 100% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(4%, -6%, 0) scale(1.12); } }
.hero-slider .eyebrow.shimmer-text{ background: linear-gradient(90deg, var(--brass) 0%, #ffe3a3 45%, var(--brass) 90%); background-size: 220% auto; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: shimmer-sweep 3.2s linear infinite; }
@keyframes shimmer-sweep{ to{ background-position: -220% 0; } }
@media (prefers-reduced-motion: reduce){
  .hero-slider .hero-aurora span{ animation:none; }
  .hero-slider .eyebrow.shimmer-text{ animation:none; -webkit-text-fill-color: var(--brass); }
}
.seal-badge{ position:absolute; z-index:3; width:118px; height:118px; display:none; align-items:center; justify-content:center; }
@media (min-width:768px){ .seal-badge{ display:flex; } }
.seal-badge .seal-spin{ position:absolute; inset:0; animation: seal-rotate 14s linear infinite; }
.seal-badge svg text, .seal-badge svg textPath{ font-family: var(--font-mono); font-size:9.5px; letter-spacing:.5px; fill: rgba(255,255,255,.88); text-transform: uppercase; }
.seal-badge .seal-core{ position:relative; width:52px; height:52px; border-radius:50%; background: var(--brass); color:#1B1502; display:flex; align-items:center; justify-content:center; font-size:1.15rem; box-shadow: 0 10px 24px rgba(184,134,43,.4); transition: transform .3s ease, box-shadow .3s ease; }
.seal-badge:hover .seal-core{ transform: scale(1.08); box-shadow: 0 14px 30px rgba(184,134,43,.5); }
.seal-badge:hover .seal-spin{ animation-play-state: paused; }
@keyframes seal-rotate{ from{ transform: rotate(0deg); } to{ transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .seal-badge .seal-spin{ animation:none; } }

/* ============================================================
   TESTIMONIAL MARQUEE — dual-row, counter-scrolling alumni quotes
   ============================================================ */
.grain-surface{ position:relative; isolation:isolate; }
.grain-surface::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.05; mix-blend-mode:overlay; background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,.9) 1px, transparent 0); background-size: 3px 3px; }
.grain-surface > *{ position:relative; z-index:1; }

.testi-marquee{ overflow:hidden; position:relative; }
.testi-marquee .testi-row{ display:flex; gap:1.1rem; width:max-content; }
.testi-marquee .testi-row.dir-left{ animation: testiScrollLeft 42s linear infinite; }
.testi-marquee .testi-row.dir-right{ animation: testiScrollRight 42s linear infinite; }
.testi-marquee:hover .testi-row, .testi-marquee:focus-within .testi-row{ animation-play-state: paused; }
@keyframes testiScrollLeft{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@keyframes testiScrollRight{ from{ transform:translateX(-50%); } to{ transform:translateX(0); } }
.testi-marquee .testi-card{ flex: 0 0 auto; width:min(360px, 82vw); }
.testi-card{ width:100%; height:100%; background: rgba(255,255,255,.045); border: 1px solid var(--line-dark); border-radius: var(--radius); padding: 1.5rem 1.6rem; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: transform .3s cubic-bezier(.22,1,.36,1), border-color .3s ease, background .3s ease; }
.testi-card:hover{ transform: translateY(-5px); border-color: rgba(184,134,43,.55); background: rgba(255,255,255,.075); }
.testi-card .stars{ color: var(--brass); font-size:.78rem; letter-spacing:.15em; margin-bottom:.7rem; }
.testi-card .quote{ font-family: var(--font-display); font-style: italic; color: #fff; font-size: 1.02rem; line-height:1.55; margin-bottom:1.1rem; }
.testi-card .who{ display:flex; align-items:center; gap:.7rem; }
.testi-card .who .photo{ width:42px; height:42px; border-radius:50%; overflow:hidden; flex-shrink:0; border:1.5px solid var(--brass); }
.testi-card .who .photo img{ width:100%; height:100%; object-fit:cover; }
.testi-card .who .photo-initials{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:var(--ink-2); color:var(--brass); font-family:var(--font-display); font-size:1.1rem; }
.testi-card .who .name{ color:#fff; font-weight:600; font-size:.88rem; line-height:1.2; }
.testi-card .who .role{ color: rgba(255,255,255,.55); font-size:.74rem; }
@media (prefers-reduced-motion: reduce){ .testi-marquee .testi-row{ animation:none !important; flex-wrap:wrap; width:100%; } }

.partners-carousel .partner-card{ transition: filter .3s ease, transform .3s ease; }
.partners-carousel .partner-card:hover{ transform: translateY(-3px); }
.why-card.glow-card::before, .course-card-adv.glow-card::before{ border-radius: var(--radius); }

/* ============================================================
   ADMISSIONS PAGE
   ============================================================ */
.admission-step{ position: relative; height: 100%; display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.45rem 1.4rem 1.35rem; box-shadow: var(--shadow-card); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.admission-step:hover{ transform: translateY(-4px); border-color: var(--brass); box-shadow: 0 16px 36px rgba(27,42,68,.12); }
.admission-step-top{ display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.1rem; }
.admission-step-num{ font-family: var(--font-mono); font-size: .78rem; letter-spacing: .12em; color: var(--brass-dark); font-weight: 600; }
.admission-step-icon{ width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; color: #fff; background: linear-gradient(135deg, #daae46, #e8c16b); box-shadow: 0 10px 20px rgba(184,134,43,.22); }
.admission-step-icon.tone-blue{ background: linear-gradient(135deg, #2e5f89, #497cb0); box-shadow: 0 10px 20px rgba(46,95,137,.22); }
.admission-step-icon.tone-green{ background: linear-gradient(135deg, #5f7f3a, #8aaa5e); box-shadow: 0 10px 20px rgba(95,127,58,.22); }
.admission-step h3{ color: var(--ink); margin-bottom: .55rem; }
.admission-step p{ color: #5c5849; font-size: .92rem; line-height: 1.55; margin-bottom: 1.1rem; flex: 1; }
.admission-step-link{ font-size: .86rem; font-weight: 600; color: var(--forest); display: inline-flex; align-items: center; gap: .35rem; }
.admission-step-link:hover{ color: var(--brass-dark); }
.admissions-need-band{ background: var(--parchment); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.admission-need-card{ background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.5rem 1.55rem; box-shadow: var(--shadow-card); height: 100%; }
.admission-need-list{ list-style: none; margin: 0; padding: 0; }
.admission-need-list li{ display: flex; align-items: flex-start; gap: .65rem; margin-bottom: .85rem; color: #5c5849; font-size: .92rem; line-height: 1.5; }
.admission-need-list li:last-child{ margin-bottom: 0; }
.admission-need-list i{ color: var(--forest); margin-top: .15rem; flex: none; }
.admission-next-list{ margin: 0 0 1rem; padding-left: 1.15rem; color: #5c5849; font-size: .92rem; line-height: 1.55; }
.admission-next-list li{ margin-bottom: .7rem; }
.admission-next-list li:last-child{ margin-bottom: 0; }
.admission-next-list strong{ color: var(--ink); }
.admission-faculty-link{ display: block; height: 100%; }
.admission-faculty-card{ display: flex; flex-direction: column; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.admission-faculty-link:hover .admission-faculty-card{ transform: translateY(-4px); box-shadow: 0 16px 36px rgba(27,42,68,.12); border-color: var(--brass); }
.admission-faculty-card p{ flex: 1; }
.admission-faculty-foot{ display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding-top: .85rem; border-top: 1px dashed var(--line); font-size: .82rem; color: var(--forest); }
.admission-faculty-foot .fw-semibold{ color: var(--brass-dark); }
@media (max-width: 767.98px){ .admission-step, .admission-need-card{ padding: 1.25rem 1.15rem; } .page-hero .btn{ min-height: 44px; } }

/* ============================================================
   BOOST CTA BAND (parallax image + pulse blobs)
   ============================================================ */
.section-boost-cta{ position: relative; overflow: hidden; background-position: center center; background-size: cover; background-repeat: no-repeat; background-attachment: fixed; }
.section-boost-cta .cta-panel{ position: relative; max-width: 38rem; padding: 1.2rem 0; overflow: hidden; }
.section-boost-cta .cta-panel::before, .section-boost-cta .cta-panel::after{ content: ''; position: absolute; border-radius: 50%; filter: blur(80px); opacity: .75; z-index: 0; pointer-events: none; }
.section-boost-cta .cta-panel::before{ width: 260px; height: 260px; top: -4rem; right: -4rem; background: rgba(184, 134, 43, .22); animation: cta-pulse 9s ease-in-out infinite; }
.section-boost-cta .cta-panel::after{ width: 200px; height: 200px; bottom: -2.5rem; left: -2.5rem; background: rgba(92, 185, 255, .14); animation: cta-pulse-reverse 11s ease-in-out infinite; }
.section-boost-cta .cta-panel .eyebrow{ color: var(--brass); letter-spacing: .18em; text-transform: uppercase; font-weight: 700; margin-bottom: 1rem; position: relative; z-index: 1; }
.section-boost-cta .cta-panel h2{ font-size: clamp(2.1rem, 3vw, 3.4rem); line-height: 1.02; margin-bottom: 1rem; position: relative; z-index: 1; }
.section-boost-cta .cta-panel p{ color: #5c5849; margin-bottom: 1.4rem; position: relative; z-index: 1; max-width: 42ch; }
.section-boost-cta .cta-panel .btn-cta, .section-boost-cta .cta-panel .btn{ position: relative; z-index: 1; }
.section-boost-cta .cta-panel .btn-cta{ background: var(--brass); border: 1px solid var(--brass); color: #fff; padding: 1rem 2rem; box-shadow: 0 12px 28px rgba(184,134,43,.28); transition: transform .25s ease, box-shadow .25s ease, background .2s ease; }
.section-boost-cta .cta-panel .btn-cta:hover{ transform: translateY(-3px); background: var(--brass-dark); border-color: var(--brass-dark); box-shadow: 0 18px 36px rgba(142,106,32,.3); color: #fff; }
.section-boost-cta .cta-panel .btn-cta:focus{ outline: none; box-shadow: 0 0 0 5px rgba(247, 179, 43, .22); }
@keyframes cta-pulse { 0%, 100% { transform: translate3d(0, 0, 0) scale(1); opacity: .75; } 50% { transform: translate3d(-12px, 10px, 0) scale(1.05); opacity: .85; } }
@keyframes cta-pulse-reverse { 0%, 100% { transform: translate3d(0, 0, 0) scale(1); opacity: .7; } 50% { transform: translate3d(10px, -14px, 0) scale(1.08); opacity: .8; } }
@media (prefers-reduced-motion: reduce){ .section-boost-cta{ background-attachment: scroll; } }
@media (max-width: 767px){ .section-boost-cta{ background-attachment: scroll; } }

.pagination{ --bs-pagination-color: var(--ink); --bs-pagination-bg: #fff; --bs-pagination-border-color: var(--line); --bs-pagination-hover-color: #fff; --bs-pagination-hover-bg: var(--ink); --bs-pagination-hover-border-color: var(--ink); --bs-pagination-focus-color: var(--ink); --bs-pagination-focus-bg: #fff; --bs-pagination-focus-box-shadow: 0 0 0 .2rem rgba(184,148,43,.25); --bs-pagination-active-color: #fff; --bs-pagination-active-bg: var(--brass); --bs-pagination-active-border-color: var(--brass); gap: .2rem; flex-wrap: wrap; }
.pagination .page-link{ border-radius: 6px; min-width: 2.25rem; text-align: center; }
.section-ink .pagination{ --bs-pagination-color: #fff; --bs-pagination-bg: transparent; --bs-pagination-border-color: var(--line-dark); --bs-pagination-hover-color: var(--ink); --bs-pagination-hover-bg: #fff; --bs-pagination-hover-border-color: #fff; }

@media (max-width: 991.98px){ .page-hero{ padding: 2.6rem 0 2.1rem; } .page-hero h1{ font-size: clamp(1.7rem, 6vw, 2.4rem); line-height: 1.15; } .compact-side-card{ position: static; } }
@media (max-width: 767.98px){
  .page-hero{ padding: 2.15rem 0 1.75rem; }
  .page-hero .breadcrumb-mu{ font-size: .68rem; overflow-wrap: anywhere; }
  .course-search-form{ max-width: none; }
  .course-search-form .input-group{ flex-wrap: wrap; }
  .course-search-form .input-group-text{ border-radius: 999px 0 0 999px; }
  .course-search-form .form-control{ min-width: 0; flex: 1 1 auto; }
  .course-search-form .input-group:has(.btn) .form-control{ border-radius: 0 999px 999px 0; border-right: 1px solid var(--line); }
  .course-search-form .btn{ border-radius: 999px; margin-top: .55rem; width: 100%; border-color: var(--line); }
  .section-ink.text-center .btn{ min-width: min(100%, 16rem); }
}
@media (max-width: 575.98px){ .page-hero h1{ font-size: clamp(1.55rem, 8vw, 2rem); } .flag-chip, .level-badge{ font-size: .7rem; } }