/*
 * Migrago Study Module
 * Scoped public UI for destinations, institutions, programs, applications and tracking.
 * Intentionally uses only .mgs-* selectors to avoid leaking into the main theme.
 */

.mgs-study-module {
  --mgs-accent: var(--mg7-orange, #d36b2c);
  --mgs-accent-strong: var(--mg7-orange-strong, #a95325);
  --mgs-accent-soft: rgba(211,107,44,.10);
  --mgs-ink: var(--mg7-ink, #0d1728);
  --mgs-muted: var(--mg7-muted, #687386);
  --mgs-line: var(--mg7-line, #e4e8ee);
  --mgs-surface: var(--mg7-white, #fff);
  --mgs-soft: #f7f4f0;
  --mgs-soft-2: #fbfaf8;
  --mgs-dark: var(--mg7-dark, #07111f);
  --mgs-dark-2: #0d2036;
  --mgs-radius-sm: 14px;
  --mgs-radius: 22px;
  --mgs-radius-lg: 32px;
  --mgs-shadow: 0 22px 56px rgba(8,18,34,.10);
  --mgs-shadow-card: 0 14px 38px rgba(8,18,34,.075);
  background: #fff;
  color: var(--mgs-ink);
  font-family: "Segoe UI", Tahoma, Arial, system-ui, sans-serif;
}

.mgs-study-module .mgs-wrap { width: min(calc(100% - 40px), 1280px); margin-inline: auto; }
.mgs-study-module :where(h1,h2,h3,p,ul,ol,dl) { margin-block-start: 0; }
.mgs-study-module h1 { font-size: clamp(2.3rem,5vw,4.65rem); line-height: 1.04; letter-spacing: -.035em; }
.mgs-study-module h2 { font-size: clamp(1.65rem,2.9vw,2.5rem); line-height: 1.15; letter-spacing: -.02em; }
.mgs-study-module h3 { font-size: 1.15rem; line-height: 1.35; }
.mgs-study-module p { color: var(--mgs-muted); line-height: 1.78; }

.mgs-kicker { display:inline-flex; align-items:center; gap:9px; margin-block-end:14px; color:var(--mgs-accent-strong); font-size:.76rem; font-weight:900; letter-spacing:.085em; text-transform:uppercase; }
.mgs-kicker::before { content:""; width:25px; height:2px; border-radius:99px; background:currentColor; }
.mgs-section { padding-block: clamp(62px,7vw,96px); }
.mgs-section--soft { background:linear-gradient(180deg,#faf8f5,#f5f1ec); }
.mgs-section--cta { padding-block-start:20px; }
.mgs-section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-block-end:32px; }
.mgs-section-head > div > span { color:var(--mgs-accent-strong); font-weight:900; font-size:.78rem; }
.mgs-section-head h2 { max-width:780px; margin-block:6px 0; }
.mgs-section-head p { max-width:740px; margin-block:9px 0 0; }
.mgs-section-head > a { display:inline-flex; align-items:center; min-height:42px; padding-inline:15px; border:1px solid var(--mgs-line); border-radius:12px; background:#fff; color:var(--mgs-accent-strong); font-weight:850; white-space:nowrap; }
.mgs-section-head--compact { align-items:start; margin-block-end:20px; }

.mgs-btn { min-height:50px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding-inline:23px; border:1px solid transparent; border-radius:14px; font-weight:850; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease; }
.mgs-btn:hover { transform:translateY(-1px); }
.mgs-btn--primary { background:var(--mgs-accent); color:#fff; box-shadow:0 12px 26px rgba(211,107,44,.24); }
.mgs-btn--primary:hover { background:var(--mgs-accent-strong); }
.mgs-btn--ghost { background:var(--mgs-surface); color:var(--mgs-ink); border-color:var(--mgs-line); }
.mgs-btn--small { min-height:40px; padding-inline:16px; border-radius:12px; font-size:.9rem; }
.mgs-btn--disabled { background:#eef0f3; color:#8a919d; border-color:#e3e5e8; cursor:not-allowed; }
.mgs-actions { display:flex; align-items:center; flex-wrap:wrap; gap:11px; margin-block-start:26px; }

/* Study landing */
.mgs-hero { position:relative; overflow:hidden; padding-block:clamp(70px,8vw,122px); color:#fff; background:radial-gradient(circle at 15% 12%,rgba(211,107,44,.28),transparent 31%),radial-gradient(circle at 90% 82%,rgba(62,120,160,.17),transparent 28%),linear-gradient(128deg,#06101d 0%,#0b1c30 55%,#112d45 100%); }
.mgs-hero::before { content:""; position:absolute; inset:0; opacity:.22; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:54px 54px; mask-image:linear-gradient(to bottom,black,transparent 88%); }
.mgs-hero::after { content:""; position:absolute; inset-inline-end:-140px; inset-block-start:-170px; width:520px; height:520px; border:1px solid rgba(255,255,255,.09); border-radius:50%; box-shadow:0 0 0 76px rgba(255,255,255,.024),0 0 0 152px rgba(255,255,255,.017); pointer-events:none; }
.mgs-hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr); align-items:center; gap:clamp(38px,6vw,88px); }
.mgs-hero__copy h1 { max-width:820px; margin-block-end:22px; color:#fff; }
.mgs-hero__copy > p { max-width:720px; margin:0; color:rgba(255,255,255,.76); font-size:1.1rem; }
.mgs-hero .mgs-kicker { color:#f2a26b; }
.mgs-hero .mgs-btn--ghost { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.18); color:#fff; }
.mgs-hero__trust { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-block-start:30px; color:rgba(255,255,255,.68); font-size:.82rem; }
.mgs-hero__trust span { display:flex; align-items:baseline; gap:7px; }
.mgs-hero__trust b { color:#fff; font-size:1.05rem; }
.mgs-hero__trust i { width:1px; height:24px; background:rgba(255,255,255,.16); }
.mgs-hero__panel { padding:30px; border:1px solid rgba(255,255,255,.14); border-radius:var(--mgs-radius-lg); background:linear-gradient(180deg,rgba(14,34,54,.88),rgba(5,15,27,.86)); backdrop-filter:blur(18px); box-shadow:0 30px 75px rgba(0,0,0,.25); }
.mgs-hero__panel-head > span { display:block; margin-block-end:7px; color:#f2a26b; font-size:.74rem; font-weight:850; }
.mgs-hero__panel-head > strong { display:block; color:#fff; font-size:1.35rem; line-height:1.35; }
.mgs-hero__panel-head > p { margin:8px 0 18px; color:rgba(255,255,255,.62); font-size:.88rem; }
.mgs-search { display:flex; align-items:center; gap:11px; min-height:56px; padding-inline:16px; border:1px solid transparent; border-radius:15px; background:#fff; color:var(--mgs-ink); box-shadow:0 10px 26px rgba(0,0,0,.08); }
.mgs-search:focus-within { border-color:rgba(211,107,44,.55); box-shadow:0 0 0 4px rgba(211,107,44,.12),0 10px 26px rgba(0,0,0,.08); }
.mgs-search__icon { display:grid; width:28px; height:28px; place-items:center; border-radius:9px; background:var(--mgs-accent-soft); color:var(--mgs-accent-strong); font-weight:900; }
.mgs-search input { width:100%; border:0; outline:0; background:transparent; color:inherit; font:inherit; }
.mgs-hero__quick-links { display:grid; gap:8px; margin-block-start:14px; }
.mgs-hero__quick-links a { display:flex; align-items:center; gap:9px; min-height:42px; padding-inline:12px; border:1px solid rgba(255,255,255,.1); border-radius:12px; background:rgba(255,255,255,.045); color:rgba(255,255,255,.88); font-size:.84rem; font-weight:750; }
.mgs-hero__quick-links a:hover { border-color:rgba(242,162,107,.35); background:rgba(255,255,255,.075); }
.mgs-hero__quick-links a span { font-size:1.12rem; }
.mgs-hero__panel-note { display:flex; align-items:flex-start; gap:9px; margin-block-start:16px; color:rgba(255,255,255,.58); }
.mgs-hero__panel-note > span { display:grid; flex:0 0 auto; width:20px; height:20px; place-items:center; border-radius:50%; background:rgba(65,179,117,.16); color:#72d39d; font-size:.72rem; }
.mgs-hero__panel-note small { line-height:1.65; }

.mgs-study-benefits { position:relative; z-index:2; margin-block-start:-25px; }
.mgs-study-benefits .mgs-wrap { display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; border:1px solid var(--mgs-line); border-radius:18px; background:#fff; box-shadow:var(--mgs-shadow-card); }
.mgs-study-benefits .mgs-wrap > div { display:flex; align-items:center; gap:12px; min-height:76px; padding-inline:24px; }
.mgs-study-benefits .mgs-wrap > div + div { border-inline-start:1px solid var(--mgs-line); }
.mgs-study-benefits span { display:grid; width:34px; height:34px; place-items:center; flex:0 0 auto; border-radius:10px; background:var(--mgs-accent-soft); color:var(--mgs-accent-strong); font-size:.72rem; font-weight:900; }
.mgs-study-benefits strong { font-size:.93rem; }

/* Destination cards */
.mgs-destination-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.mgs-destination-card { min-width:0; overflow:hidden; border:1px solid rgba(13,23,40,.10); border-radius:24px; background:#fff; box-shadow:var(--mgs-shadow-card); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.mgs-destination-card:hover { transform:translateY(-4px); border-color:rgba(211,107,44,.30); box-shadow:0 24px 56px rgba(8,18,34,.12); }
.mgs-destination-card__media { position:relative; display:block; aspect-ratio:16/10.2; overflow:hidden; background:#e4e9ed; }
.mgs-destination-card__media > img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.mgs-destination-card:hover .mgs-destination-card__media > img { transform:scale(1.04); }
.mgs-destination-card__shade { position:absolute; inset:0; background:linear-gradient(to top,rgba(3,10,18,.62),transparent 58%); pointer-events:none; }
.mgs-destination-card__media .mgs-status { position:absolute; inset-inline-start:15px; inset-block-start:15px; }
.mgs-destination-card__country { position:absolute; inset-inline-start:15px; inset-block-end:14px; display:inline-flex; align-items:center; gap:7px; min-height:34px; padding:5px 10px; border:1px solid rgba(255,255,255,.2); border-radius:11px; background:rgba(4,12,21,.58); color:#fff; backdrop-filter:blur(10px); font-size:.72rem; font-weight:850; }
.mgs-destination-card__country b { font-size:1.15rem; line-height:1; }
.mgs-destination-card__body { display:flex; flex-direction:column; min-height:320px; padding:22px; }
.mgs-destination-card h3 { margin-block-end:9px; font-size:1.35rem; letter-spacing:-.015em; }
.mgs-destination-card h3 a { color:var(--mgs-ink); text-decoration:none; }
.mgs-destination-card__excerpt { display:-webkit-box; min-height:54px; margin-block-end:17px; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:.92rem; }
.mgs-destination-card__facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-block:auto 18px; }
.mgs-destination-card__facts > span { min-width:0; padding:11px 12px; border-radius:12px; background:var(--mgs-soft-2); border:1px solid rgba(13,23,40,.055); }
.mgs-destination-card__facts small { display:block; margin-block-end:4px; color:var(--mgs-muted); font-size:.68rem; }
.mgs-destination-card__facts strong { display:block; overflow:hidden; color:var(--mgs-ink); font-size:.78rem; text-overflow:ellipsis; white-space:nowrap; }
.mgs-destination-card footer,.mgs-program-card footer { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-block-start:17px; border-block-start:1px solid var(--mgs-line); }
.mgs-price small { display:block; margin-block-end:3px; color:var(--mgs-muted); font-size:.68rem; }
.mgs-price strong { display:block; color:var(--mgs-ink); font-size:1.02rem; }
.mgs-card-cta { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:39px; padding-inline:13px; border-radius:11px; background:var(--mgs-accent-soft); color:var(--mgs-accent-strong); font-size:.78rem; font-weight:900; text-decoration:none; }
.mgs-card-cta:hover { background:var(--mgs-accent); color:#fff; }
.mgs-status { display:inline-flex; align-items:center; gap:6px; min-height:29px; padding-inline:10px; border:1px solid rgba(255,255,255,.16); border-radius:999px; color:#fff; background:#687386; box-shadow:0 7px 16px rgba(0,0,0,.12); font-size:.7rem; font-weight:900; }
.mgs-status--open { background:#177a4c; }
.mgs-status--soon { background:#a85e10; }
.mgs-status--waitlist { background:#7657b1; }
.mgs-status--closed { background:#69717d; }

.mgs-media-placeholder { width:100%; height:100%; min-height:260px; display:grid; place-items:center; overflow:hidden; background:linear-gradient(135deg,#07111f,#18324b); color:rgba(255,255,255,.55); }
.mgs-media-placeholder--flag { position:relative; isolation:isolate; background:radial-gradient(circle at 70% 20%,rgba(211,107,44,.24),transparent 32%),linear-gradient(145deg,#07111f,#102a43); }
.mgs-media-placeholder__glow { position:absolute; width:230px; height:230px; border-radius:50%; background:rgba(255,255,255,.06); box-shadow:0 0 0 38px rgba(255,255,255,.025),0 0 0 78px rgba(255,255,255,.018); z-index:-1; }
.mgs-media-placeholder__flag { font-size:clamp(4.2rem,9vw,7rem); filter:drop-shadow(0 13px 20px rgba(0,0,0,.22)); }
.mgs-media-placeholder__code { position:absolute; inset-inline-end:15px; inset-block-end:13px; color:rgba(255,255,255,.62); font-size:.72rem; font-weight:900; letter-spacing:.14em; }

/* How it works */
.mgs-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.mgs-steps article { position:relative; overflow:hidden; padding:25px; border:1px solid rgba(13,23,40,.08); border-radius:20px; background:#fff; box-shadow:0 10px 28px rgba(8,18,34,.045); }
.mgs-steps article::after { content:""; position:absolute; inset-inline-end:-28px; inset-block-start:-34px; width:100px; height:100px; border-radius:50%; background:var(--mgs-accent-soft); }
.mgs-steps b { position:relative; z-index:1; display:inline-grid; place-items:center; width:39px; height:39px; margin-block-end:25px; border-radius:12px; background:var(--mgs-dark); color:#fff; font-size:.77rem; }
.mgs-steps p { position:relative; z-index:1; margin:0; color:var(--mgs-ink); font-weight:700; }

/* Program cards */
.mgs-program-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.mgs-program-card { min-width:0; overflow:hidden; border:1px solid rgba(13,23,40,.10); border-radius:22px; background:#fff; box-shadow:0 12px 34px rgba(8,18,34,.06); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.mgs-program-card:hover { transform:translateY(-3px); border-color:rgba(211,107,44,.28); box-shadow:0 20px 44px rgba(8,18,34,.10); }
.mgs-program-card__media { position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:#e8ecf0; }
.mgs-program-card__media > img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.mgs-program-card:hover .mgs-program-card__media > img { transform:scale(1.035); }
.mgs-program-card__flag { position:absolute; inset-inline-start:13px; inset-block-end:13px; display:grid; width:39px; height:39px; place-items:center; border:1px solid rgba(255,255,255,.32); border-radius:12px; background:rgba(5,14,24,.70); font-size:1.35rem; backdrop-filter:blur(8px); }
.mgs-program-card__body { display:flex; flex-direction:column; min-height:285px; padding:19px; }
.mgs-program-card__body > small { display:block; margin-block-end:8px; overflow:hidden; color:var(--mgs-accent-strong); font-size:.72rem; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.mgs-program-card h3 { margin-block-end:8px; font-size:1.08rem; }
.mgs-program-card h3 a { color:var(--mgs-ink); text-decoration:none; }
.mgs-program-card p { display:-webkit-box; min-height:48px; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:.87rem; }
.mgs-tags { display:flex; flex-wrap:wrap; gap:7px; margin-block:auto 16px; }
.mgs-tags span { padding:5px 9px; border:1px solid rgba(13,23,40,.055); border-radius:999px; background:var(--mgs-soft); color:var(--mgs-muted); font-size:.7rem; font-weight:750; }
.mgs-empty { padding:30px; border:1px dashed var(--mgs-line); border-radius:var(--mgs-radius); text-align:center; color:var(--mgs-muted); background:rgba(255,255,255,.72); }

/* Entity pages */
.mgs-entity-hero { padding-block: clamp(50px, 6vw, 84px); background: linear-gradient(180deg,#f8f5f1 0%,#fff 100%); }
.mgs-entity-hero__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,.85fr); gap: clamp(30px,5vw,70px); align-items: center; }
.mgs-entity-hero__copy h1 { margin-block-end: 18px; }
.mgs-entity-hero__copy > p { max-width: 760px; font-size: 1.04rem; }
.mgs-entity-hero__media { min-height: 330px; aspect-ratio: 16/10; overflow: hidden; border-radius: var(--mgs-radius-lg); background: var(--mgs-soft); box-shadow: var(--mgs-shadow); }
.mgs-entity-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.mgs-media-placeholder { width: 100%; height: 100%; min-height: 260px; display: grid; place-items: center; background: linear-gradient(135deg,var(--mgs-dark),#18324b); color: rgba(255,255,255,.55); font-weight: 900; letter-spacing: .18em; }
.mgs-breadcrumb-links { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-block-start: 24px; color: var(--mgs-muted); font-size: .9rem; }
.mgs-breadcrumb-links a { color: var(--mgs-accent-strong); font-weight: 750; }

.mgs-content-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; align-items: start; gap: 38px; }
.mgs-main-column { min-width: 0; }
.mgs-sidebar { display: grid; gap: 16px; }
.mgs-side-card { padding: 24px; border: 1px solid var(--mgs-line); border-radius: var(--mgs-radius); background: #fff; box-shadow: 0 10px 32px rgba(8,18,34,.06); }
.mgs-side-card > span { display: block; margin-block-end: 6px; color: var(--mgs-accent-strong); font-size: .78rem; font-weight: 800; }
.mgs-side-card h3 { margin-block-end: 12px; font-size: 1.45rem; }
.mgs-side-card p { margin-block-end: 18px; }
.mgs-side-card .mgs-btn { width: 100%; }
.mgs-side-card--muted { background: var(--mgs-soft); box-shadow: none; }
.mgs-side-card--muted a { color: var(--mgs-accent-strong); font-weight: 800; }
.mgs-side-card--sticky { position: sticky; inset-block-start: 112px; }
.mgs-highlight { color: var(--mgs-accent-strong) !important; font-weight: 800; }

.mgs-fact-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-block-end: 34px; }
.mgs-fact-grid article { padding: 18px; border: 1px solid var(--mgs-line); border-radius: 16px; background: var(--mgs-soft); }
.mgs-fact-grid small { display: block; margin-block-end: 6px; color: var(--mgs-muted); }
.mgs-fact-grid strong { font-size: .98rem; }
.mgs-section-block { padding-block: 30px; border-block-end: 1px solid var(--mgs-line); }
.mgs-section-block:first-child { padding-block-start: 0; }
.mgs-section-block:last-child { border-block-end: 0; }
.mgs-rich { font-size: 1rem; }
.mgs-rich :where(p,li) { line-height: 1.85; }
.mgs-rich a { color: var(--mgs-accent-strong); text-decoration: underline; }
.mgs-check-list { display: grid; gap: 10px; padding: 0; list-style: none; }
.mgs-check-list li { position: relative; padding-inline-start: 28px; color: var(--mgs-ink); }
[dir="rtl"] .mgs-check-list li { padding-inline-start: 0; padding-inline-end: 28px; }
.mgs-check-list li::before { content: "✓"; position: absolute; inset-inline-start: 0; inset-block-start: 1px; display: grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; background: rgba(211,107,44,.12); color: var(--mgs-accent-strong); font-size: .7rem; font-weight: 900; }
[dir="rtl"] .mgs-check-list li::before { inset-inline-start: auto; inset-inline-end: 0; }

.mgs-intake-list { display: grid; gap: 14px; }
.mgs-intake-card { padding: 20px; border: 1px solid var(--mgs-line); border-radius: 17px; background: #fff; }
.mgs-intake-card__head { display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.mgs-intake-card__head h3 { margin-block: 9px 0; }
.mgs-intake-card__head > strong { color: var(--mgs-accent-strong); font-size: 1.08rem; white-space: nowrap; }
.mgs-intake-card dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-block: 14px 18px; }
.mgs-intake-card dl > div { padding: 11px 12px; border-radius: 12px; background: var(--mgs-soft); }
.mgs-intake-card dt { color: var(--mgs-muted); font-size: .75rem; }
.mgs-intake-card dd { margin: 4px 0 0; color: var(--mgs-ink); font-weight: 750; }

/* Applications */
.mgs-form-hero { padding-block: clamp(46px,6vw,74px); text-align: center; background: linear-gradient(180deg,var(--mgs-soft),#fff); }
.mgs-form-hero .mgs-wrap { max-width: 880px; }
.mgs-form-hero h1 { margin-block-end: 16px; font-size: clamp(2rem,4.2vw,3.6rem); }
.mgs-form-hero p { max-width: 740px; margin-inline: auto; }
.mgs-form-shell { max-width: 980px; }
.mgs-form-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 0 0 28px; padding: 0; list-style: none; }
.mgs-form-steps li { position: relative; display: flex; align-items: center; gap: 9px; min-width: 0; padding: 13px; border-radius: 13px; background: var(--mgs-soft); color: var(--mgs-muted); font-size: .82rem; font-weight: 750; }
.mgs-form-steps b { display: grid; place-items: center; width: 27px; height: 27px; flex: 0 0 auto; border-radius: 9px; background: #dfe3e8; color: #59616e; }
.mgs-form-steps li.is-active { color: var(--mgs-ink); background: rgba(211,107,44,.1); }
.mgs-form-steps li.is-active b, .mgs-form-steps li.is-complete b { background: var(--mgs-accent); color: #fff; }
.mgs-application-form { overflow: hidden; border: 1px solid var(--mgs-line); border-radius: var(--mgs-radius-lg); background: #fff; box-shadow: var(--mgs-shadow); }
.mgs-form-step { display: none; min-width: 0; margin: 0; padding: clamp(24px,4vw,44px); border: 0; }
.mgs-form-step.is-active { display: block; }
.mgs-form-step legend { width: 100%; margin-block-end: 24px; color: var(--mgs-ink); font-size: 1.4rem; font-weight: 850; }
.mgs-field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.mgs-field-grid label { display: grid; gap: 8px; min-width: 0; }
.mgs-field-grid label > span, .mgs-track-form label > span { color: var(--mgs-ink); font-size: .84rem; font-weight: 750; }
.mgs-field-grid :where(input,select,textarea), .mgs-track-form input { width: 100%; min-height: 50px; border: 1px solid var(--mgs-line); border-radius: 13px; padding-inline: 14px; background: #fff; color: var(--mgs-ink); outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.mgs-field-grid textarea { min-height: 126px; padding-block: 12px; resize: vertical; }
.mgs-field-grid :where(input,select,textarea):focus, .mgs-track-form input:focus { border-color: var(--mgs-accent); box-shadow: 0 0 0 3px rgba(211,107,44,.11); }
.mgs-field-full { grid-column: 1/-1; }
.mgs-check-field { grid-template-columns: auto 1fr !important; align-items: center; grid-column: 1/-1; }
.mgs-check-field input { width: 20px !important; min-height: 20px !important; accent-color: var(--mgs-accent); }
.mgs-form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-block-start: 28px; padding-block-start: 22px; border-block-start: 1px solid var(--mgs-line); }
.mgs-consent { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 11px; padding: 17px; border-radius: 13px; background: var(--mgs-soft); }
.mgs-consent input { width: 20px; height: 20px; margin-block-start: 2px; accent-color: var(--mgs-accent); }
.mgs-disclaimer { margin-block: 14px 0; font-size: .82rem; }
.mgs-honeypot { position: absolute !important; inline-size: 1px !important; block-size: 1px !important; opacity: 0 !important; pointer-events: none !important; }

.mgs-review dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0 0 24px; }
.mgs-review dl > div { padding: 14px; border: 1px solid var(--mgs-line); border-radius: 12px; background: var(--mgs-soft); }
.mgs-review dt { color: var(--mgs-muted); font-size: .76rem; }
.mgs-review dd { margin: 5px 0 0; font-weight: 750; overflow-wrap: anywhere; }
.mgs-success-card { max-width: 720px; margin-inline: auto; padding: clamp(30px,5vw,54px); border: 1px solid var(--mgs-line); border-radius: var(--mgs-radius-lg); background: #fff; text-align: center; box-shadow: var(--mgs-shadow); }
.mgs-success-card__icon { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 20px; border-radius: 50%; background: #e7f6ee; color: #177a4c; font-size: 2rem; font-weight: 900; }
.mgs-success-card > strong { display: block; width: fit-content; margin: 14px auto 0; padding: 11px 16px; border-radius: 12px; background: var(--mgs-dark); color: #fff; font-size: 1.15rem; letter-spacing: .04em; }
.mgs-success-card .mgs-actions { justify-content: center; }
.mgs-alert { margin-block-end: 18px; padding: 14px 16px; border-radius: 13px; font-weight: 700; }
.mgs-alert--error { border: 1px solid #efc0c0; background: #fff1f1; color: #8f2929; }

/* Tracking */
.mgs-track-shell { max-width: 850px; }
.mgs-track-form { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 12px; padding: 24px; border: 1px solid var(--mgs-line); border-radius: var(--mgs-radius); background: #fff; box-shadow: var(--mgs-shadow); }
.mgs-track-form label { display: grid; gap: 8px; }
.mgs-track-result { margin-block-start: 22px; padding: 28px; border: 1px solid var(--mgs-line); border-radius: var(--mgs-radius); background: #fff; }
.mgs-track-result__head { display: flex; justify-content: space-between; align-items: start; gap: 20px; padding-block-end: 18px; border-block-end: 1px solid var(--mgs-line); }
.mgs-track-result__head span:not(.mgs-status) { display: block; color: var(--mgs-muted); font-size: .78rem; }
.mgs-track-result__head strong { display: block; margin-block-start: 4px; font-size: 1.15rem; }
.mgs-track-result dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-block: 20px; }
.mgs-track-result dl > div { padding: 13px; border-radius: 12px; background: var(--mgs-soft); }
.mgs-track-result dt { color: var(--mgs-muted); font-size: .75rem; }
.mgs-track-result dd { margin: 5px 0 0; font-weight: 800; }
.mgs-track-secondary { margin-block-start: 18px; text-align: center; }
.mgs-track-secondary a { color: var(--mgs-accent-strong); font-weight: 800; }

/* Institution list helpers used by entity templates */
.mgs-institution-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.mgs-institution-card { padding: 20px; border: 1px solid var(--mgs-line); border-radius: 16px; background: #fff; }
.mgs-institution-card h3 { margin-block-end: 7px; }
.mgs-institution-card p { margin: 0; font-size: .9rem; }
.mgs-institution-card a { color: var(--mgs-accent-strong); font-weight: 800; }

/* Dark theme inherits the site's switch without redefining the entire system. */
html[data-theme="dark"] .mgs-study-module {
  --mgs-ink: #edf3fa;
  --mgs-muted: #9aa8b8;
  --mgs-line: rgba(255,255,255,.11);
  --mgs-surface: #0d1725;
  --mgs-soft: #111d2b;
  background: #07111f;
  color: var(--mgs-ink);
}
html[data-theme="dark"] .mgs-study-module :where(.mgs-section,.mgs-entity-hero,.mgs-form-hero) { background-color: #07111f; }
html[data-theme="dark"] .mgs-study-module .mgs-entity-hero,
html[data-theme="dark"] .mgs-study-module .mgs-form-hero { background: linear-gradient(180deg,#0b1727,#07111f); }
html[data-theme="dark"] .mgs-study-module :where(.mgs-destination-card,.mgs-program-card,.mgs-side-card,.mgs-intake-card,.mgs-application-form,.mgs-success-card,.mgs-track-form,.mgs-track-result,.mgs-institution-card) { background: var(--mgs-surface); }
html[data-theme="dark"] .mgs-study-module :where(input,select,textarea) { background: #0a1422; color: var(--mgs-ink); border-color: var(--mgs-line); }
html[data-theme="dark"] .mgs-study-module select option { background: #0a1422; color: #edf3fa; }
html[data-theme="dark"] .mgs-study-module .mgs-btn--ghost { background: #111d2b; color: #fff; border-color: var(--mgs-line); }
html[data-theme="dark"] .mgs-study-module .mgs-alert--error { background: #2a1518; border-color: #633136; color: #ffb8bd; }

@media (max-width: 1100px) {
  .mgs-hero__inner, .mgs-entity-hero__grid { grid-template-columns: 1fr; }
  .mgs-hero__panel { max-width: 720px; }
  .mgs-entity-hero__media { max-width: 760px; min-height: 280px; }
  .mgs-program-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mgs-content-layout { grid-template-columns: minmax(0,1fr) 290px; gap: 26px; }
  .mgs-intake-card dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  .mgs-study-module .mgs-wrap { width: min(calc(100% - 28px), 1280px); }
  .mgs-section { padding-block: 52px; }
  .mgs-destination-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mgs-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mgs-content-layout { grid-template-columns: 1fr; }
  .mgs-side-card--sticky { position: static; }
  .mgs-fact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mgs-track-form { grid-template-columns: 1fr 1fr; }
  .mgs-track-form .mgs-btn { grid-column: 1/-1; }
}

@media (max-width: 620px) {
  .mgs-study-module .mgs-wrap { width: min(calc(100% - 22px), 1280px); }
  .mgs-study-module h1 { font-size: clamp(2rem,11vw,3rem); }
  .mgs-section-head { align-items: start; flex-direction: column; }
  .mgs-destination-grid, .mgs-program-grid, .mgs-steps, .mgs-institution-grid { grid-template-columns: 1fr; }
  .mgs-hero { padding-block: 48px; }
  .mgs-hero__panel { padding: 20px; }
  .mgs-entity-hero { padding-block: 38px; }
  .mgs-entity-hero__media { min-height: 220px; }
  .mgs-fact-grid { grid-template-columns: 1fr 1fr; }
  .mgs-intake-card__head, .mgs-track-result__head { flex-direction: column; }
  .mgs-intake-card dl, .mgs-track-result dl { grid-template-columns: 1fr 1fr; }
  .mgs-form-steps { grid-template-columns: repeat(4,1fr); }
  .mgs-form-steps li { justify-content: center; padding: 9px; }
  .mgs-form-steps li span { display: none; }
  .mgs-field-grid, .mgs-review dl, .mgs-track-form { grid-template-columns: 1fr; }
  .mgs-field-full, .mgs-check-field, .mgs-track-form .mgs-btn { grid-column: auto; }
  .mgs-form-step { padding: 22px 16px; }
  .mgs-form-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .mgs-form-actions .mgs-btn:only-child { grid-column: 1/-1; }
}

@media (max-width: 420px) {
  .mgs-fact-grid, .mgs-intake-card dl, .mgs-track-result dl { grid-template-columns: 1fr; }
  .mgs-actions { align-items: stretch; flex-direction: column; }
  .mgs-actions .mgs-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .mgs-study-module *, .mgs-study-module *::before, .mgs-study-module *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; }
}

/* Compatibility for Study entity templates. */
.mgs-btn--outline { background: transparent; color: var(--mgs-accent-strong); border-color: var(--mgs-accent); }
.mgs-btn--outline:hover { background: rgba(211,107,44,.08); }
.mgs-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: clamp(28px,4vw,46px); border-radius: var(--mgs-radius-lg); background: var(--mgs-dark); color: #fff; }
.mgs-cta h2 { max-width: 760px; color: #fff; }
.mgs-cta p { max-width: 700px; color: rgba(255,255,255,.68); }
.mgs-cta > div:last-child { display: flex; flex-wrap: wrap; gap: 10px; }
.mgs-cta .mgs-btn--outline { color: #fff; border-color: rgba(255,255,255,.25); }

.mgs-list-hero { padding-block: clamp(52px,7vw,86px); background: linear-gradient(145deg,#07111f,#10263d); color: #fff; }
.mgs-list-hero h1 { margin-block-end: 14px; color: #fff; }
.mgs-list-hero p { max-width: 720px; color: rgba(255,255,255,.72); }
.mgs-list-hero .mgs-kicker { color: #f1a26d; }
.mgs-search--light { width: min(100%,640px); margin-block-start: 25px; }

.mgs-destination-hero { position: relative; min-height: clamp(480px,62vh,690px); display: flex; align-items: end; overflow: hidden; background: var(--mgs-dark); color: #fff; }
.mgs-destination-hero__media, .mgs-destination-hero__shade { position: absolute; inset: 0; }
.mgs-destination-hero__media img, .mgs-destination-hero__media .mgs-media-placeholder { width: 100%; height: 100%; object-fit: cover; }
.mgs-destination-hero__shade { background: linear-gradient(90deg,rgba(2,8,15,.88) 0%,rgba(2,8,15,.62) 50%,rgba(2,8,15,.35) 100%), linear-gradient(to top,rgba(2,8,15,.8),transparent 58%); }
[dir="rtl"] .mgs-destination-hero__shade { background: linear-gradient(-90deg,rgba(2,8,15,.88) 0%,rgba(2,8,15,.62) 50%,rgba(2,8,15,.35) 100%), linear-gradient(to top,rgba(2,8,15,.8),transparent 58%); }
.mgs-destination-hero__content { position: relative; z-index: 1; padding-block: 80px 52px; }
.mgs-destination-hero__content > div { max-width: 780px; }
.mgs-destination-hero h1 { margin-block: 14px 18px; color: #fff; }
.mgs-destination-hero p { max-width: 700px; color: rgba(255,255,255,.78); font-size: 1.08rem; }
.mgs-destination-hero .mgs-btn--ghost { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.2); }

.mgs-facts { position: relative; z-index: 2; margin-block-start: -1px; padding-block: 0 32px; background: #fff; }
.mgs-facts__grid { transform: translateY(-20px); display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; padding: 14px; border: 1px solid var(--mgs-line); border-radius: 20px; background: #fff; box-shadow: var(--mgs-shadow); }
.mgs-facts__grid > div, .mgs-entity-facts > div { padding: 13px 15px; border-radius: 13px; background: var(--mgs-soft); }
.mgs-facts__grid small, .mgs-entity-facts small { display: block; margin-block-end: 5px; color: var(--mgs-muted); font-size: .76rem; }
.mgs-facts__grid strong, .mgs-entity-facts strong { display: block; color: var(--mgs-ink); }
.mgs-main { min-width: 0; padding-block-end: 70px; }
.mgs-number-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.mgs-number-list li { display: flex; align-items: start; gap: 13px; padding: 17px; border: 1px solid var(--mgs-line); border-radius: 14px; background: #fff; }
.mgs-number-list b { color: var(--mgs-accent-strong); font-size: .78rem; }
.mgs-two-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.mgs-two-cards article { padding: 20px; border-radius: 15px; background: var(--mgs-soft); color: var(--mgs-ink); line-height: 1.8; }
.mgs-entity-list { display: grid; gap: 10px; }
.mgs-entity-list > a { display: grid; grid-template-columns: 66px 1fr auto; align-items: center; gap: 14px; padding: 12px; border: 1px solid var(--mgs-line); border-radius: 14px; background: #fff; }
.mgs-entity-list > a:hover { border-color: rgba(211,107,44,.35); }
.mgs-entity-list__media { width: 66px; height: 58px; overflow: hidden; border-radius: 10px; background: var(--mgs-soft); }
.mgs-entity-list__media img, .mgs-entity-list__media .mgs-media-placeholder { width: 100%; height: 100%; object-fit: cover; min-height: 0; font-size: .55rem; }
.mgs-entity-list strong { display: block; margin-block-end: 3px; }
.mgs-entity-list small { color: var(--mgs-muted); }
.mgs-entity-list > a > b { color: var(--mgs-accent-strong); }
.mgs-accordion-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.mgs-accordion-grid details { border: 1px solid var(--mgs-line); border-radius: 14px; background: #fff; overflow: hidden; }
.mgs-accordion-grid summary { padding: 16px 18px; cursor: pointer; font-weight: 800; }
.mgs-accordion-grid ul { margin: 0; padding: 0 34px 18px; }
.mgs-accordion-grid li { margin-block: 7px; color: var(--mgs-muted); }

.mgs-back { display: inline-flex; margin-block-end: 18px; color: var(--mgs-accent-strong); font-weight: 800; }
.mgs-entity-facts { display: flex; flex-wrap: wrap; gap: 10px; margin-block: 22px; }
.mgs-entity-facts > div { min-width: 150px; }
.mgs-note { margin-block-start: 24px; padding: 18px; border-inline-start: 3px solid var(--mgs-accent); border-radius: 12px; background: var(--mgs-soft); }
.mgs-note strong { display: block; margin-block-end: 6px; }
.mgs-note p { margin: 0; }

html[data-theme="dark"] .mgs-study-module :where(.mgs-facts,.mgs-facts__grid,.mgs-number-list li,.mgs-entity-list>a,.mgs-accordion-grid details) { background: var(--mgs-surface); }
html[data-theme="dark"] .mgs-study-module .mgs-cta { background: #0a1422; }

@media (max-width: 820px) {
  .mgs-cta { align-items: start; flex-direction: column; }
  .mgs-facts__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mgs-number-list { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .mgs-destination-hero { min-height: 510px; }
  .mgs-destination-hero__content { padding-block: 66px 38px; }
  .mgs-facts__grid, .mgs-two-cards, .mgs-accordion-grid { grid-template-columns: 1fr; }
  .mgs-entity-list > a { grid-template-columns: 54px 1fr auto; }
  .mgs-entity-list__media { width: 54px; height: 54px; }
}

/* Study discovery results (noindex utility page). */
.mgs-explore-form{display:grid;grid-template-columns:1.2fr .8fr 1fr 1fr .8fr auto;align-items:end;gap:10px;padding:18px;margin-block-end:24px;border:1px solid var(--mgs-line);border-radius:var(--mgs-radius);background:#fff;box-shadow:0 10px 30px rgba(8,18,34,.06)}.mgs-explore-form label{display:grid;gap:7px;min-width:0}.mgs-explore-form label span{font-size:.76rem;font-weight:800;color:var(--mgs-muted)}.mgs-explore-form :where(input,select){width:100%;min-height:46px;padding-inline:12px;border:1px solid var(--mgs-line);border-radius:12px;background:#fff;color:var(--mgs-ink);outline:0}.mgs-explore-form :where(input,select):focus{border-color:var(--mgs-accent);box-shadow:0 0 0 3px rgba(211,107,44,.1)}.mgs-results-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-block:10px 22px}.mgs-results-head a{color:var(--mgs-accent-strong);font-weight:800}.mgs-program-grid--results{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-theme="dark"] .mgs-explore-form{background:var(--mgs-surface)}html[data-theme="dark"] .mgs-explore-form :where(input,select){background:#0a1422;color:var(--mgs-ink);border-color:var(--mgs-line)}@media(max-width:1100px){.mgs-explore-form{grid-template-columns:repeat(3,minmax(0,1fr))}.mgs-explore-form .mgs-btn{grid-column:span 1}.mgs-program-grid--results{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.mgs-explore-form{grid-template-columns:1fr}.mgs-program-grid--results{grid-template-columns:1fr}.mgs-results-head{align-items:flex-start;flex-direction:column}}

/* Production polish: destination discovery and landing */
.mgs-list-hero{padding-block:clamp(58px,7vw,92px);background:radial-gradient(circle at 85% 20%,rgba(211,107,44,.18),transparent 28%),linear-gradient(135deg,#07111f,#102b44);color:#fff}.mgs-list-hero__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:center;gap:clamp(30px,6vw,76px)}.mgs-list-hero h1{max-width:780px;margin-block-end:16px;color:#fff}.mgs-list-hero p{max-width:730px;margin:0;color:rgba(255,255,255,.7);font-size:1.03rem}.mgs-list-hero .mgs-kicker{color:#f2a26b}.mgs-list-hero__search{padding:24px;border:1px solid rgba(255,255,255,.13);border-radius:22px;background:rgba(4,14,26,.48);backdrop-filter:blur(14px)}.mgs-list-hero__search>span{display:flex;align-items:baseline;gap:8px;margin-block-end:14px;color:rgba(255,255,255,.65);font-size:.78rem}.mgs-list-hero__search>span b{color:#fff;font-size:1.45rem}.mgs-search--light{width:100%;margin:0}.mgs-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-block-end:22px;padding-block-end:15px;border-block-end:1px solid var(--mgs-line)}.mgs-results-toolbar strong{font-size:1.02rem}.mgs-results-toolbar span{display:grid;min-width:34px;height:34px;place-items:center;border-radius:10px;background:var(--mgs-accent-soft);color:var(--mgs-accent-strong);font-size:.75rem;font-weight:900}
.mgs-cta{display:flex;align-items:center;justify-content:space-between;gap:34px;padding:clamp(32px,4.5vw,54px);border-radius:30px;background:radial-gradient(circle at 80% 20%,rgba(211,107,44,.22),transparent 27%),linear-gradient(125deg,#06101d,#102a42);color:#fff;box-shadow:0 24px 58px rgba(7,17,31,.16)}.mgs-cta h2{max-width:760px;margin-block-end:10px;color:#fff}.mgs-cta p{max-width:720px;margin:0;color:rgba(255,255,255,.68)}.mgs-cta>div:last-child{display:flex;flex-wrap:wrap;gap:10px}.mgs-cta .mgs-btn--outline{color:#fff;border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.04)}
.mgs-destination-hero__media .mgs-media-placeholder{min-height:100%}.mgs-entity-hero__media .mgs-media-placeholder{min-height:100%}.mgs-entity-list__media .mgs-media-placeholder{min-height:0}.mgs-entity-list__media .mgs-media-placeholder__flag{font-size:1.7rem}.mgs-entity-list__media .mgs-media-placeholder__code,.mgs-entity-list__media .mgs-media-placeholder__glow{display:none}
html[data-theme="dark"] .mgs-study-benefits .mgs-wrap,html[data-theme="dark"] .mgs-destination-card,html[data-theme="dark"] .mgs-program-card,html[data-theme="dark"] .mgs-steps article{background:var(--mgs-surface);border-color:var(--mgs-line)}html[data-theme="dark"] .mgs-destination-card__facts>span{background:#111d2b;border-color:var(--mgs-line)}html[data-theme="dark"] .mgs-section-head>a{background:#111d2b;border-color:var(--mgs-line)}
@media(max-width:1100px){.mgs-hero__inner,.mgs-list-hero__grid{grid-template-columns:1fr}.mgs-hero__panel{max-width:760px}.mgs-destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mgs-program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.mgs-study-module .mgs-wrap{width:min(calc(100% - 28px),1280px)}.mgs-section{padding-block:54px}.mgs-study-benefits{margin-block-start:-18px}.mgs-study-benefits .mgs-wrap{grid-template-columns:1fr}.mgs-study-benefits .mgs-wrap>div{min-height:62px}.mgs-study-benefits .mgs-wrap>div+div{border-inline-start:0;border-block-start:1px solid var(--mgs-line)}.mgs-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.mgs-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.mgs-study-module .mgs-wrap{width:min(calc(100% - 22px),1280px)}.mgs-study-module h1{font-size:clamp(2.15rem,11vw,3.15rem)}.mgs-section-head{align-items:flex-start;flex-direction:column}.mgs-section-head>a{width:100%;justify-content:center}.mgs-destination-grid,.mgs-program-grid,.mgs-steps{grid-template-columns:1fr}.mgs-hero{padding-block:54px 70px}.mgs-hero__panel{padding:20px}.mgs-hero__trust{gap:10px}.mgs-hero__trust i{display:none}.mgs-destination-card__body{min-height:0;padding:18px}.mgs-destination-card__facts{grid-template-columns:1fr 1fr}.mgs-destination-card footer,.mgs-program-card footer{align-items:flex-end}.mgs-program-card__body{min-height:0}.mgs-list-hero__search{padding:18px}.mgs-cta{padding:26px 20px;border-radius:22px}.mgs-cta>div:last-child{width:100%}.mgs-cta .mgs-btn{width:100%}}
@media(max-width:390px){.mgs-destination-card__facts{grid-template-columns:1fr}.mgs-destination-card footer,.mgs-program-card footer{align-items:stretch;flex-direction:column}.mgs-card-cta{width:100%}}
.mgs-destination-hero__badges{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.mgs-country-pill{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding-inline:10px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:.7rem;font-weight:900;backdrop-filter:blur(8px)}.mgs-country-pill b{font-size:1.05rem}.mgs-destination-hero__content>div{padding:2px}.mgs-destination-hero h1{max-width:850px}.mgs-destination-hero p{max-width:760px}


/* Theme contrast integrity — inherit the parent theme semantic palette. */
.mgs-study-module {
  --mgs-ink: var(--mg-ui-text, #0d1728);
  --mgs-muted: var(--mg-ui-muted, #596579);
  --mgs-line: var(--mg-ui-border, rgba(13,23,40,.14));
  --mgs-surface: var(--mg-ui-surface, #fff);
  --mgs-soft: var(--mg-ui-surface-soft, #f7f4f0);
  --mgs-soft-2: var(--mg-ui-surface-raised, #fff);
  background: transparent;
  color: var(--mgs-ink);
}
.mgs-study-module :where(.mgs-destination-card,.mgs-program-card,.mgs-side-card,.mgs-intake-card,.mgs-application-form,.mgs-success-card,.mgs-track-form,.mgs-track-result,.mgs-institution-card,.mgs-facts,.mgs-number-list li,.mgs-entity-list>a,.mgs-accordion-grid details,.mgs-explore-form) {
  border-color: var(--mgs-line);
  background: var(--mgs-surface);
  color: var(--mgs-ink);
}
.mgs-study-module :where(input,select,textarea) { border-color:var(--mgs-line); background:var(--mg-ui-control,#fff); color:var(--mgs-ink); }
.mgs-study-module :where(input,select,textarea)::placeholder { color:var(--mg-ui-subtle,#788493); opacity:1; }
.mgs-study-module .mgs-btn--ghost,.mgs-study-module .mgs-section-head>a { background:var(--mg-ui-control,#fff); color:var(--mgs-ink); border-color:var(--mgs-line); }
.mgs-study-module .mgs-section--soft { background:var(--mgs-soft); }
html[data-theme="dark"] .mgs-study-module { background:transparent; --mgs-ink:var(--mg-ui-text); --mgs-muted:var(--mg-ui-muted); --mgs-line:var(--mg-ui-border); --mgs-surface:var(--mg-ui-surface); --mgs-soft:var(--mg-ui-surface-soft); }
html[data-theme="dark"] .mgs-study-module :where(.mgs-section,.mgs-entity-hero,.mgs-form-hero) { background-color:transparent; }
html[data-theme="dark"] .mgs-study-module :where(input,select,textarea) { background:var(--mg-ui-control); color:var(--mg-ui-text); border-color:var(--mg-ui-border-strong); }
html[data-theme="dark"] .mgs-study-module select option { background:var(--mg-ui-surface-raised); color:var(--mg-ui-text); }
@media(max-width:700px){
 .mgs-study-module :where(.mgs-destination-card,.mgs-program-card,.mgs-side-card,.mgs-intake-card,.mgs-application-form,.mgs-track-form,.mgs-track-result,.mgs-explore-form){border-color:var(--mg-ui-border-strong,var(--mgs-line));box-shadow:0 10px 28px rgba(0,0,0,.08)}
 html[data-theme="dark"] .mgs-study-module :where(.mgs-destination-card,.mgs-program-card,.mgs-side-card,.mgs-intake-card,.mgs-application-form,.mgs-track-form,.mgs-track-result,.mgs-explore-form){box-shadow:0 12px 30px rgba(0,0,0,.28)}
}

/* Study Card V2 — living, multilingual, mobile-first */
.mgs-study-card-v2{--mgs-card-x:50%;--mgs-card-y:30%;position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--mg-ui-border-strong,var(--mgs-line));border-radius:26px;background:var(--mg-ui-surface,var(--mgs-surface));box-shadow:0 16px 44px rgba(8,18,34,.08);transform:translateZ(0);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease,border-color .3s ease;will-change:transform}.mgs-study-card-v2::after{content:"";position:absolute;inset:-1px;z-index:0;pointer-events:none;border-radius:inherit;background:radial-gradient(520px circle at var(--mgs-card-x) var(--mgs-card-y),rgba(211,107,44,.11),transparent 38%);opacity:0;transition:opacity .25s ease}.mgs-study-card-v2:hover{transform:translateY(-6px);border-color:rgba(211,107,44,.34);box-shadow:0 26px 65px rgba(8,18,34,.14)}.mgs-study-card-v2:hover::after{opacity:1}.mgs-study-card-v2>*{position:relative;z-index:1}.mgs-study-card__media{position:relative;isolation:isolate;aspect-ratio:16/9.35}.mgs-study-card__media>img{transform:scale(1.001);transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .35s ease}.mgs-study-card-v2:hover .mgs-study-card__media>img{transform:scale(1.055);filter:saturate(1.04)}.mgs-study-card__sheen{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(320px circle at var(--mgs-card-x) var(--mgs-card-y),rgba(255,255,255,.20),transparent 45%);mix-blend-mode:soft-light;opacity:0;transition:opacity .25s ease}.mgs-study-card-v2:hover .mgs-study-card__sheen{opacity:1}.mgs-study-card-v2 .mgs-status{z-index:4;gap:7px;max-width:calc(100% - 30px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgs-study-card-v2 .mgs-status i{display:block;width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 rgba(255,255,255,.5)}.mgs-study-card-v2[data-status="open"] .mgs-status i{animation:mgs-live-pulse 2s ease-out infinite}@keyframes mgs-live-pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.5)}70%{box-shadow:0 0 0 7px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}.mgs-study-card__body{min-height:330px;padding:21px 21px 20px}.mgs-study-card__eyebrow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin-block-end:9px;color:var(--mgs-accent-strong);font-size:.72rem;font-weight:850;letter-spacing:.015em}.mgs-study-card__eyebrow span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgs-study-card__eyebrow b{flex:0 0 auto;padding:3px 7px;border-radius:7px;background:var(--mgs-accent-soft);font-size:.64rem;letter-spacing:.08em}.mgs-study-card-v2 h3{margin-block:0 9px;font-size:clamp(1.08rem,1.2vw,1.32rem);line-height:1.34}.mgs-study-card-v2 h3 a{display:block;color:var(--mgs-ink);overflow-wrap:anywhere}.mgs-study-card-v2 :where(.mgs-destination-card__excerpt,.mgs-program-card__body>p){min-height:50px;margin-block-end:14px;line-height:1.72}.mgs-study-card__languages{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-block:2px 15px;min-height:29px}.mgs-study-card__languages>span{max-width:100%;padding:5px 9px;border:1px solid var(--mgs-line);border-radius:999px;background:var(--mg-ui-surface-soft,var(--mgs-soft));color:var(--mgs-ink);font-size:.68rem;font-weight:750;line-height:1.25;overflow-wrap:anywhere}.mgs-study-card__languages>.mgs-study-card__more{color:var(--mgs-accent-strong);background:var(--mgs-accent-soft);border-color:rgba(211,107,44,.18)}.mgs-study-card__facts{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-block:auto 16px}.mgs-study-card__facts>span{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:10px 12px;border:1px solid var(--mgs-line);border-radius:12px;background:var(--mg-ui-surface-soft,var(--mgs-soft))}.mgs-study-card__facts small{color:var(--mgs-muted);font-size:.67rem}.mgs-study-card__facts strong{min-width:0;color:var(--mgs-ink);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgs-study-card-v2 footer{margin-block-start:auto;padding-block-start:16px;border-block-start:1px solid var(--mgs-line)}.mgs-study-card-v2 .mgs-price strong{font-size:1.08rem;letter-spacing:-.01em}.mgs-study-card-v2 .mgs-card-cta{min-height:42px;max-width:58%;padding-inline:14px;border:1px solid rgba(211,107,44,.14);background:var(--mgs-accent-soft);transition:background .2s ease,color .2s ease,transform .2s ease,border-color .2s ease}.mgs-study-card-v2 .mgs-card-cta span{min-width:0;overflow-wrap:anywhere;text-align:center}.mgs-study-card-v2 .mgs-card-cta i{font-style:normal;font-size:1.2em;line-height:1;transition:transform .2s ease}.mgs-study-card-v2 .mgs-card-cta:hover{transform:translateY(-1px);border-color:transparent;background:var(--mgs-accent);color:#fff}.migrago-dir-rtl .mgs-study-card-v2 .mgs-card-cta i{transform:rotate(180deg)}.migrago-dir-rtl .mgs-study-card-v2 .mgs-card-cta:hover i{transform:rotate(180deg) translateX(-2px)}.migrago-dir-ltr .mgs-study-card-v2 .mgs-card-cta:hover i{transform:translateX(2px)}.mgs-study-card-v2.is-enter-pending{opacity:0;transform:translateY(15px)}.mgs-study-card-v2.is-entered{opacity:1;transform:translateY(0);transition:opacity .48s ease,transform .48s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease,border-color .3s ease}
html[data-theme="dark"] .mgs-study-card-v2{background:var(--mg-ui-surface);border-color:var(--mg-ui-border-strong);box-shadow:0 16px 44px rgba(0,0,0,.24)}html[data-theme="dark"] .mgs-study-card-v2:hover{box-shadow:0 27px 68px rgba(0,0,0,.38)}html[data-theme="dark"] .mgs-study-card__languages>span,html[data-theme="dark"] .mgs-study-card__facts>span{background:var(--mg-ui-control);border-color:var(--mg-ui-border)}
@media(max-width:620px){.mgs-study-card-v2{border-radius:21px;box-shadow:0 11px 30px rgba(8,18,34,.08)}.mgs-study-card-v2:hover{transform:none}.mgs-study-card__media{aspect-ratio:16/9.7}.mgs-study-card__body{min-height:0;padding:17px}.mgs-study-card__eyebrow{margin-block-end:7px}.mgs-study-card-v2 h3{font-size:1.16rem}.mgs-study-card-v2 :where(.mgs-destination-card__excerpt,.mgs-program-card__body>p){min-height:0;-webkit-line-clamp:3}.mgs-study-card__languages{margin-block-end:13px}.mgs-study-card__facts{margin-block:2px 14px}.mgs-study-card-v2 footer{align-items:center;gap:10px}.mgs-study-card-v2 .mgs-card-cta{max-width:60%;min-height:44px}.mgs-study-card-v2::after,.mgs-study-card__sheen{display:none}}@media(max-width:390px){.mgs-study-card-v2 footer{align-items:stretch;flex-direction:column}.mgs-study-card-v2 .mgs-card-cta{width:100%;max-width:none}.mgs-study-card__facts>span{align-items:flex-start;flex-direction:column;gap:3px}.mgs-study-card__facts strong{white-space:normal}}
@media(prefers-reduced-motion:reduce){.mgs-study-card-v2,.mgs-study-card-v2 *{animation:none!important;transition:none!important}.mgs-study-card-v2.is-enter-pending{opacity:1;transform:none}}
.mgs-saved-traveler{align-items:center;background:#fff8f2;border:1px solid #f1dac8;border-radius:14px;display:flex;gap:9px;margin-bottom:14px;padding:10px 12px}.mgs-saved-traveler>span{color:#7c5a43;font-size:11px;font-weight:800}.mgs-saved-traveler select{background:#fff;border:1px solid #eaded4;border-radius:10px;color:#162235;font:inherit;font-size:12px;font-weight:800;min-height:38px;padding:0 12px}
@media(max-width:640px){.mgs-saved-traveler{align-items:stretch;flex-direction:column}.mgs-saved-traveler select{width:100%}}
