/* INNOS native PHP refinement. Public presentation only. */
@font-face{font-family:"INNOS Pretendard";src:url("../fonts/PretendardVariable.woff2") format("woff2");font-weight:45 920;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url("../fonts/NewsreaderLatin.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
.premium-site{font-family:"INNOS Pretendard",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;-webkit-font-smoothing:antialiased;--nav-h:76px}
.premium-site :is(button,input,select,textarea){font-family:inherit}
.premium-site .r,.premium-site .rf{opacity:1;transform:none;transition:none}
.premium-site .brand-flag{display:none}
.premium-site.brand-edu{--accent:#1068c4}
.premium-site.brand-ivy{--accent:#16402f}
.premium-site :focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.premium-site :is(.hero,.cta,.sec-n,.sec-nd) :focus-visible{outline-color:#fff}
.premium-site .nav-logo img{filter:none}
.premium-site .admissions-details summary{display:list-item}
.premium-site :is(.nv-nav,.nav-menu){font-weight:500}
.premium-site .nv-cta,.premium-site .nav-cta{line-height:1.4}
.premium-site .nv-nav>a.nv-cta{height:42px;min-height:42px;max-height:48px;align-self:center;padding:10px 15px;border-radius:5px;font-size:13px;font-weight:600}
@media(prefers-reduced-motion:reduce){.premium-site *, .premium-site *::before,.premium-site *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.is-refined.brand-edu {
  --gray-400: #657084;
  --gray-500: #657084;
}
.is-refined.brand-ivy {
  --mute: #68736c;
}
.is-refined :is(h1, h2, h3, h4, p) {
  text-wrap: pretty;
}
.is-refined.brand-edu .hero-inner {
  padding-left: 40px;
  padding-right: 40px;
}
.is-refined.brand-edu .hero h1 {
  font-size: 68px;
  line-height: 1.16;
  letter-spacing: -0.038em;
  max-width: 1000px;
  margin-bottom: 30px;
}
.is-refined.brand-edu .hero-desc {
  max-width: 670px;
  line-height: 1.8;
  color: #b5c1d1;
  margin-bottom: 38px;
}
.is-refined.brand-edu .hero-cta {
  gap: 12px;
  margin-bottom: 66px;
}
.is-refined.brand-edu .btn {
  min-height: 48px;
  line-height: 1.4;
  border-radius: 6px;
  padding: 12px 24px;
  font-weight: 600;
  white-space: normal;
  text-align: center;
  transition:
    background 0.2s,
    color 0.2s,
    border-color 0.2s,
    transform 0.25s,
    box-shadow 0.25s;
}
.is-refined.brand-edu .btn-lg {
  min-height: 54px;
  padding: 14px 28px;
  font-size: 16px;
}
.is-refined.brand-edu .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px -15px rgba(5, 9, 15, 0.22);
}
.is-refined.brand-edu .sec {
  padding: 112px 0;
}
.is-refined.brand-edu .sec-sm {
  padding: 84px 0;
}
.is-refined.brand-edu .sec-xs {
  padding: 64px 0;
}
.is-refined.brand-edu .sec-hd {
  margin-bottom: 54px;
  max-width: 760px;
}
.is-refined.brand-edu h2.sec-h {
  letter-spacing: -0.032em;
  line-height: 1.26;
}
.is-refined.brand-edu .sec-t {
  line-height: 1.85;
}
.is-refined.brand-edu :is(.feat, .feat-sm, .side-card, .ec-card) {
  border-radius: 10px;
  transition:
    border-color 0.22s,
    box-shadow 0.3s,
    transform 0.3s;
}
.is-refined.brand-edu :is(.feat, .feat-sm, .side-card, .ec-card):hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px -20px rgba(5, 9, 15, 0.18);
}
.is-refined.brand-edu .feat-sm h3 {
  font-size: 20px;
  line-height: 1.45;
  letter-spacing: -0.025em;
}
.is-refined.brand-edu .feat-sm p {
  line-height: 1.8;
}
.is-refined.brand-edu .stats {
  padding: 62px 0;
}
.is-refined.brand-edu .stat-n {
  font-size: 52px;
  letter-spacing: -0.035em;
}
.is-refined.brand-edu .stat-l {
  margin-top: 13px;
  line-height: 1.7;
}
.is-refined.brand-edu .two h3 {
  letter-spacing: -0.025em;
  line-height: 1.32;
}
.is-refined.brand-edu .two p {
  line-height: 1.9;
}
.is-refined.brand-edu .pg-hero h1 {
  letter-spacing: -0.035em;
  line-height: 1.18;
}
.is-refined.brand-edu .cta h2 {
  line-height: 1.3;
  letter-spacing: -0.035em;
}
.is-refined.brand-edu .ft-info {
  line-height: 1.95;
}
.is-refined.brand-ivy .home-hero h1 {
  letter-spacing: -0.046em;
  line-height: 1.14;
}
.is-refined.brand-ivy .home-hero .sub {
  line-height: 1.85;
  color: rgba(255, 255, 255, 0.8);
}
.is-refined.brand-ivy .home-hero .hero-meta {
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.85;
}
.is-refined.brand-ivy .home-hero-profile figure::before {
  inset: 12px;
  border-color: rgba(255, 255, 255, 0.18);
}
.is-refined.brand-ivy .home-hero-profile figure::after {
  background: linear-gradient(
    180deg,
    transparent 50%,
    rgba(3, 20, 14, 0.82) 100%
  );
}
.is-refined.brand-ivy .home-hero-profile figcaption {
  left: 28px;
  right: 28px;
  bottom: 28px;
  gap: 7px;
}
.is-refined.brand-ivy .home-hero-profile figcaption b {
  color: rgba(255, 255, 255, 0.84);
}
.is-refined.brand-ivy .home-hero-profile img {
  filter: saturate(0.82) contrast(1.01) brightness(0.98);
  transition:
    transform 0.6s cubic-bezier(0.2, 0.7, 0.3, 1),
    filter 0.6s;
}
.is-refined.brand-ivy .home-hero-profile:hover img {
  transform: scale(1.015);
  filter: saturate(0.93) contrast(1.01) brightness(1);
}
.is-refined.brand-ivy .b {
  min-height: 48px;
  height: auto;
  padding: 12px 24px;
  line-height: 1.4;
  white-space: normal;
  text-align: center;
  transition:
    background 0.2s,
    color 0.2s,
    border-color 0.2s,
    transform 0.25s;
}
.is-refined.brand-ivy .b-lg {
  min-height: 52px;
  padding: 14px 28px;
}
.is-refined.brand-ivy .hd h2 {
  letter-spacing: -0.028em;
  line-height: 1.38;
}
.is-refined.brand-ivy
  :is(.home-rule p, .home-ec-item p, .case-detail, .pg-d dd) {
  line-height: 1.85;
}
.is-refined.brand-ivy .s {
  padding: 84px 0;
}
.is-refined.brand-ivy .home-ec {
  padding: 102px 0;
}
.is-refined.brand-ivy .ph h1 {
  letter-spacing: -0.032em;
  line-height: 1.23;
}
.is-refined.brand-ivy .home-wall .wall-c {
  transition:
    background 0.25s,
    border-color 0.25s;
}
.is-refined.brand-ivy .home-wall .wall-c:hover {
  transform: none;
}
.is-refined.brand-ivy .mono-note {
  line-height: 1.85;
}

@media (min-width: 1700px) {
  .is-refined.brand-edu .hero h1 {
    font-size: 72px;
  }
  .is-refined.brand-edu .hero-desc {
    font-size: 20px;
    max-width: 730px;
  }
}
@media (max-width: 1300px) {
  .is-refined.brand-edu .hero h1 {
    font-size: 62px;
  }
  .is-refined.brand-ivy .home-hero h1 {
    letter-spacing: -0.043em;
  }
}
@media (max-width: 1100px) {
  .is-refined.brand-edu .hero h1 {
    font-size: 56px;
    max-width: 880px;
  }
  .is-refined.brand-edu .hero-desc {
    font-size: 18px;
    max-width: 630px;
  }
  .is-refined.brand-edu .sec {
    padding: 92px 0;
  }
  .is-refined.brand-edu h2.sec-h {
    font-size: 38px;
  }
  .is-refined.brand-edu .sec-hd {
    margin-bottom: 44px;
  }
  .is-refined.brand-ivy .home-ec {
    padding: 86px 0;
  }
}
@media (max-width: 768px) {
  .is-refined.brand-edu .hero-inner {
    padding: 112px 24px 76px;
  }
  .is-refined.brand-edu .hero h1 {
    font-size: 44px;
    line-height: 1.2;
    letter-spacing: -0.04em;
    max-width: 660px;
  }
  .is-refined.brand-edu .hero-desc {
    font-size: 17px;
    line-height: 1.8;
    max-width: 570px;
    margin-bottom: 30px;
  }
  .is-refined.brand-edu .hero-cta {
    margin-bottom: 25px;
    gap: 10px;
  }
  .is-refined.brand-edu .btn-lg {
    min-height: 52px;
    font-size: 15px;
    padding: 13px 22px;
  }
  .is-refined.brand-edu .sec {
    padding: 72px 0;
  }
  .is-refined.brand-edu .sec-sm {
    padding: 64px 0;
  }
  .is-refined.brand-edu .sec-xs {
    padding: 52px 0;
  }
  .is-refined.brand-edu .sec-hd {
    margin-bottom: 35px;
  }
  .is-refined.brand-edu h2.sec-h {
    font-size: 32px;
    line-height: 1.32;
    letter-spacing: -0.032em;
  }
  .is-refined.brand-edu .sec-t {
    font-size: 16px;
    line-height: 1.85;
  }
  .is-refined.brand-edu .stats {
    padding: 46px 0;
  }
  .is-refined.brand-edu .stat-n {
    font-size: 40px;
  }
  .is-refined.brand-edu .stat-l {
    font-size: 12px;
    line-height: 1.7;
  }
  .is-refined.brand-edu .feat-sm h3 {
    font-size: 20px;
    line-height: 1.4;
  }
  .is-refined.brand-edu .two h3 {
    font-size: 29px;
  }
  .is-refined.brand-ivy .s {
    padding: 66px 0;
  }
  .is-refined.brand-ivy .home-ec {
    padding: 72px 0;
  }
  .is-refined.brand-ivy .home-hero h1 {
    font-size: clamp(40px, 10.8vw, 53px);
    line-height: 1.18;
    letter-spacing: -0.04em;
  }
  .is-refined.brand-ivy .home-hero .sub {
    font-size: 16px;
    line-height: 1.85;
  }
  .is-refined.brand-ivy .home-hero .hero-meta {
    font-size: 11px;
    line-height: 1.8;
  }
}
@media (max-width: 480px) {
  .is-refined.brand-edu .hero {
    min-height: 760px;
    min-height: min(900px, 100svh);
  }
  .is-refined.brand-edu .hero-inner {
    padding: 126px 24px 84px;
  }
  .is-refined.brand-edu .hero h1 {
    font-size: 40px;
    line-height: 1.22;
    letter-spacing: -0.035em;
    margin-bottom: 25px;
    max-width: 100%;
  }
  .is-refined.brand-edu .hero-desc {
    font-size: 16px;
    line-height: 1.85;
    max-width: 100%;
    margin-bottom: 30px;
  }
  .is-refined.brand-edu .hero-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 0;
  }
  .is-refined.brand-edu .hero-cta .btn {
    flex: 1;
    min-width: 135px;
    font-size: 14px;
    padding: 13px 15px;
    min-height: 52px;
  }
  .is-refined.brand-edu.lang-ja .hero h1 {
    font-size: 35px;
    line-height: 1.28;
  }
  .is-refined.brand-edu.lang-en .hero h1 {
    font-size: 39px;
    letter-spacing: -0.035em;
    line-height: 1.17;
  }
  .is-refined.brand-edu .stat-n {
    font-size: 36px;
  }
  .is-refined.brand-edu .pg-hero h1 {
    font-size: 37px;
    line-height: 1.24;
  }
  .is-refined.brand-edu h2.sec-h {
    font-size: 30px;
  }
  .is-refined.brand-edu .cta h2 {
    font-size: 32px;
  }
  .is-refined.brand-ivy .home-hero {
    min-height: 720px;
    padding-top: calc(var(--nav-h) + 54px);
  }
  .is-refined.brand-ivy .home-hero h1 {
    font-size: 40px;
    letter-spacing: -0.038em;
    line-height: 1.19;
  }
  .is-refined.brand-ivy.lang-ja .home-hero h1 {
    font-size: 32px;
    letter-spacing: -0.026em;
    line-height: 1.28;
  }
  .is-refined.brand-ivy.lang-en .home-hero h1 {
    font-size: 40px;
    letter-spacing: -0.038em;
    line-height: 1.13;
  }
  .is-refined.brand-ivy .home-hero .sub {
    font-size: 16px;
    line-height: 1.8;
  }
  .is-refined.brand-ivy .home-hero .hero-act {
    gap: 9px;
  }
  .is-refined.brand-ivy .home-hero .hero-act .b {
    font-size: 14px;
    padding: 13px 15px;
    min-height: 52px;
  }
  .is-refined.brand-ivy .home-hero .hero-meta {
    font-size: 11px;
    margin-top: 25px;
    line-height: 1.85;
  }
}
/* Responsive and accessibility fixes identified in the full-source audit.
   These change no copy, geometry, photos, routes or brand backgrounds. */
.brand-ivy .nav-logo img {
  filter: none;
}
/* Korean keep-all must not suppress Japanese character-level line breaking. */
.is-refined.lang-ja {
  word-break: normal;
  overflow-wrap: anywhere;
  line-break: strict;
}
/* Legal notices remain legible; the original dim alpha values failed AA. */
.is-refined.brand-edu :is(.ft-info, .ft-btm, .ft-disclaimer) {
  color: #aeb6c2;
}
.is-refined.brand-edu .ft-btm :is(a, button, span) {
  color: #aeb6c2;
  opacity: 1;
}
.is-refined.brand-edu .ft-disclaimer {
  font-size: 12px;
  line-height: 1.85;
}
.is-refined.brand-ivy {
  --mute: #606d64;
}
.is-refined.brand-ivy .home-wall .wall-c span {
  color: #626e66;
  font-size: 11px;
  line-height: 1.45;
  white-space: normal;
  text-wrap: balance;
}
.is-refined.brand-ivy .mono-note {
  color: #5c685f;
}
.is-refined.brand-ivy :is(.ft-b, .ft-dc) {
  color: #aebdb5;
}
.is-refined.brand-ivy .ft-b :is(a, button, span) {
  color: #aebdb5;
  opacity: 1;
}

/* Long English university names must not expand a small-screen grid track. */
.is-refined.brand-ivy .wall-c {
  min-width: 0;
}
.is-refined.brand-ivy .wall-c span {
  white-space: normal;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

/* Native Education team snapshot legal note. */
.is-refined.brand-edu .tm-note { color:#657084; }

.premium-site.brand-edu { --admissions-accent:#184f84; --admissions-rule:#d6dfe8; }
.premium-site.brand-ivy { --admissions-accent:#16402f; --admissions-rule:#d2dad5; }
.premium-site .admissions-2025 { color:#172130; }
.premium-site .admissions-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:32px; margin-bottom:28px; }
.premium-site .admissions-heading > div { min-width:0; max-width:820px; }
.premium-site .admissions-heading h2 { margin:0 0 14px; color:inherit; font-size:clamp(25px,2.55vw,36px); font-weight:650; line-height:1.45; letter-spacing:-.035em; word-break:normal; overflow-wrap:anywhere; }
.premium-site .admissions-heading p { margin:0; font-size:16px; line-height:1.85; color:#47505c; }
.premium-site p.admissions-grand-total { display:flex; flex-direction:column; align-items:flex-end; flex-shrink:0; min-width:135px; color:var(--admissions-accent); }
.premium-site .admissions-grand-total b { font-size:clamp(40px,4vw,56px); font-weight:600; line-height:1.2; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.premium-site .admissions-grand-total span { margin-top:8px; font-size:14px; color:#47505c; }
.premium-site .admissions-countries { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding:22px 0; margin:0; border-top:1px solid var(--admissions-rule); border-bottom:1px solid var(--admissions-rule); }
.premium-site .admissions-countries > div { min-width:0; }
.premium-site .admissions-countries dt { margin:0 0 8px; color:#47505c; font-size:15px; line-height:1.6; word-break:normal; overflow-wrap:anywhere; }
.premium-site .admissions-countries dd { margin:0; color:var(--admissions-accent); font-size:30px; font-weight:550; line-height:1.35; font-variant-numeric:tabular-nums; }
.premium-site .admissions-students { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 20px; margin:22px 0 0; font-size:15px; color:#47505c; }
.premium-site .admissions-students b { color:var(--admissions-accent); font-size:25px; font-weight:550; font-variant-numeric:tabular-nums; }
.premium-site .admissions-students small { font-size:13px; line-height:1.75; }
.premium-site .admissions-details { margin-top:22px; }
.premium-site .admissions-details summary { width:fit-content; max-width:100%; padding:12px 0; min-height:44px; color:var(--admissions-accent); font-size:15px; font-weight:550; cursor:pointer; line-height:1.6; }
.premium-site .admissions-details summary:focus-visible { outline:2px solid var(--admissions-accent); outline-offset:5px; }
.premium-site .admissions-tables { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:32px; margin-top:30px; }
.premium-site .admissions-tables table { border-collapse:collapse; table-layout:fixed; width:100%; min-width:0; font-size:14px; line-height:1.75; background:transparent; }
.premium-site .admissions-tables caption { padding:0 0 14px; color:var(--admissions-accent); text-align:left; font-size:19px; font-weight:600; word-break:normal; overflow-wrap:anywhere; }
.premium-site .admissions-tables th, .premium-site .admissions-tables td { padding:12px 0; border:0; border-bottom:1px solid var(--admissions-rule); color:#273340; vertical-align:top; text-align:left; word-break:normal; overflow-wrap:anywhere; background:transparent; }
.premium-site .admissions-tables th { font-weight:400; }
.premium-site .admissions-tables thead th { color:#47505c; font-size:12px; font-weight:500; border-top:1px solid var(--admissions-rule); }
.premium-site .admissions-tables th:first-child { padding-right:18px; }
.premium-site .admissions-tables th:last-child, .premium-site .admissions-tables td { width:84px; text-align:right; }
.premium-site .admissions-tables td { color:var(--admissions-accent); font-weight:600; font-variant-numeric:tabular-nums; }
.premium-site .admissions-tables tfoot th, .premium-site .admissions-tables tfoot td { font-weight:650; }
.premium-site p.admissions-scope-note { margin:22px 0 0; color:#505966; font-size:13px; line-height:1.85; }
@media(max-width:1000px) {
 .premium-site .admissions-tables { grid-template-columns:1fr; gap:30px; }
 .premium-site .admissions-tables th:last-child, .premium-site .admissions-tables td { width:108px; }
}
@media(max-width:620px) {
 .premium-site .admissions-heading { flex-direction:column; gap:18px; margin-bottom:24px; }
 .premium-site p.admissions-grand-total { align-items:flex-start; }
 .premium-site .admissions-heading p { font-size:15px; }
 .premium-site .admissions-countries { gap:14px; }
 .premium-site .admissions-countries dt { font-size:13px; }
 .premium-site .admissions-countries dd { font-size:26px; }
 .premium-site .admissions-students small { flex-basis:100%; }
}
