:root {
      --font-display: "Pretendard", "IBM Plex Sans KR", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", ui-sans-serif, system-ui, sans-serif;
      --font-strong: "Pretendard", "IBM Plex Sans KR", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", ui-sans-serif, system-ui, sans-serif;
      --font-body: "IBM Plex Sans KR", Inter, Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", Arial, ui-sans-serif, sans-serif;
      --font-mono: "Space Grotesk", Inter, Arial, ui-sans-serif, system-ui, sans-serif;
      --bg: #ffffff;
      --paper: #ffffff;
      --ink: #17171c;
      --sub: #75758a;
      --line: #d9d9dd;
      --soft: #eeece7;
      --red: #ff7759;
      --teal: #24ad9b;
      --blue: #1863dc;
      --gold: #f8b700;
      --max: 560px;
      --radius: 8px;
      --shadow: 0 1px 0 rgba(23, 23, 28, 0.08);
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      overflow-x: hidden;
      background: var(--bg);
      color: var(--ink);
      font-family: var(--font-body);
      letter-spacing: 0;
      line-height: 1.5;
      word-break: keep-all;
    }

    body.image-lightbox-open {
      overflow: hidden;
    }

    .page {
      animation: pageArrive 420ms cubic-bezier(.2,.8,.2,1) backwards;
    }

    html.page-transitioning::before,
    html.page-transitioning::after {
      position: fixed;
      inset: 0;
      z-index: 9999;
      pointer-events: auto;
      content: "";
    }

    html.page-transitioning::before {
      background:
        radial-gradient(circle at 18% 32%, rgba(255,119,89,0.24), transparent 28%),
        radial-gradient(circle at 84% 74%, rgba(36,173,155,0.28), transparent 30%),
        linear-gradient(120deg, #111116 0%, #17171c 100%);
      animation: pageWipe 360ms cubic-bezier(.2,.8,.2,1) both;
    }

    html.page-transitioning::after {
      inset: auto 0 46%;
      height: 2px;
      background: linear-gradient(90deg, transparent, var(--red), #ffffff, var(--teal), transparent);
      transform: translateX(-100%);
      animation: pageSignal 360ms cubic-bezier(.2,.8,.2,1) both;
    }

    @keyframes pageArrive {
      from { opacity: 0; }
      to { opacity: 1; }
    }

    @keyframes pageWipe {
      from { clip-path: inset(0 100% 0 0); }
      to { clip-path: inset(0 0 0 0); }
    }

    @keyframes pageSignal {
      to { transform: translateX(100%); }
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    button,
    input,
    textarea {
      font: inherit;
    }

    .page {
      width: min(100%, var(--max));
      min-height: 100svh;
      margin: 0 auto;
      background: var(--bg);
      box-shadow: 0 0 0 1px rgba(0,0,0,0.03);
    }

    .topbar {
      position: sticky;
      top: 0;
      z-index: 120;
      height: 58px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 0 16px;
      border-bottom: 1px solid rgba(223, 223, 216, 0.84);
      background: rgba(255, 255, 255, 0.94);
      backdrop-filter: blur(14px);
    }

    .brand {
      display: inline-flex;
      align-items: center;
      min-width: 0;
      gap: 9px;
      font-weight: 700;
    }

    .brand-mark {
      width: 38px;
      height: 38px;
      flex: 0 0 auto;
      display: block;
    }

    .brand-mark img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: contain;
    }

    .brand-copy {
      display: grid;
      min-width: 0;
      line-height: 1.05;
    }

    .brand-copy strong {
      overflow: hidden;
      font-family: var(--font-display);
      font-size: 14px;
      font-weight: 700;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .brand-copy span {
      color: var(--sub);
      font-family: var(--font-mono);
      font-size: 10px;
      font-weight: 700;
    }

    .mju-logo {
      display: block;
      width: 100%;
      height: auto;
      object-fit: contain;
    }

    .section-logo {
      position: relative;
      z-index: 1;
      width: min(205px, 62vw);
      margin-bottom: 22px;
    }

    .contact-logo,
    .footer-logo {
      padding: 10px 12px;
      border-radius: 12px;
      background: rgba(255,255,255,0.96);
      box-shadow: 0 16px 34px rgba(0,0,0,0.18);
    }

    .contact-logo {
      width: min(224px, 68vw);
      margin-bottom: 26px;
    }

    .footer-logo {
      width: min(184px, 56vw);
      margin-bottom: 14px;
    }

    .footer .footer-logo {
      width: min(264px, 72vw);
      height: 86px;
      padding: 0 12px;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
      margin: -26px 0 14px -16px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .footer .footer-logo .mju-logo {
      width: 100%;
      max-width: 240px;
    }

    .modal-logo {
      width: min(224px, 64vw);
      margin-bottom: 2px;
    }

    .menu-button {
      position: relative;
      width: 38px;
      height: 38px;
      border: 1px solid var(--line);
      border-radius: 50%;
      background: var(--paper);
      display: grid;
      place-items: center;
      gap: 4px;
      transition:
        border-color 260ms ease,
        background-color 260ms ease,
        box-shadow 260ms ease,
        transform 260ms cubic-bezier(.2,.8,.2,1);
    }

    .menu-button i,
    .menu-button::before,
    .menu-button::after {
      width: 17px;
      height: 2px;
      display: block;
      border-radius: 999px;
      background: var(--ink);
      content: "";
      transition:
        transform 320ms cubic-bezier(.2,.8,.2,1),
        opacity 220ms ease,
        background-color 260ms ease;
    }

    .menu-button[aria-expanded="true"] {
      border-color: rgba(255,119,89,0.48);
      background: #151515;
      box-shadow: 0 14px 30px rgba(18,18,15,0.18);
      transform: scale(1.03);
    }

    .menu-button[aria-expanded="true"] i {
      opacity: 0;
      transform: scaleX(0.1);
    }

    .menu-button[aria-expanded="true"]::before,
    .menu-button[aria-expanded="true"]::after {
      background: #ffffff;
    }

    .menu-button[aria-expanded="true"]::before {
      transform: translateY(6px) rotate(45deg);
    }

    .menu-button[aria-expanded="true"]::after {
      transform: translateY(-6px) rotate(-45deg);
    }

    .drawer {
      position: absolute;
      top: 58px;
      left: 0;
      z-index: 110;
      width: 100%;
      max-height: 0;
      padding: 8px 16px 16px;
      border-bottom: 1px solid var(--line);
      overflow: hidden;
      background:
        radial-gradient(circle at 86% 0%, rgba(255,119,89,0.16), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.92));
      box-shadow: 0 22px 48px rgba(0, 0, 0, 0.12);
      opacity: 0;
      pointer-events: none;
      transform: translate3d(0, -14px, 0) scale(0.985);
      transform-origin: top center;
      transition:
        max-height 520ms cubic-bezier(.2,.8,.2,1),
        opacity 260ms ease,
        transform 420ms cubic-bezier(.2,.8,.2,1);
      backdrop-filter: blur(18px);
    }

    .drawer.is-open {
      max-height: calc(100svh - 58px);
      opacity: 1;
      pointer-events: auto;
      transform: translate3d(0, 0, 0) scale(1);
    }

    .drawer a {
      position: relative;
      display: block;
      padding: 13px 2px;
      border-bottom: 1px solid var(--soft);
      font-size: 15px;
      font-weight: 600;
      opacity: 0;
      transform: translate3d(-18px, 0, 0);
      transition:
        opacity 320ms ease,
        transform 420ms cubic-bezier(.2,.8,.2,1),
        color 220ms ease;
    }

    .drawer a::after {
      position: absolute;
      left: 0;
      bottom: -1px;
      width: 42px;
      height: 1px;
      background: linear-gradient(90deg, var(--red), var(--teal));
      opacity: 0;
      transform: scaleX(0);
      transform-origin: left center;
      transition: opacity 260ms ease, transform 360ms ease;
      content: "";
    }

    .drawer.is-open a {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }

    .drawer.is-open a:nth-child(1) { transition-delay: 45ms; }
    .drawer.is-open a:nth-child(2) { transition-delay: 80ms; }
    .drawer.is-open a:nth-child(3) { transition-delay: 115ms; }
    .drawer.is-open a:nth-child(4) { transition-delay: 150ms; }
    .drawer.is-open a:nth-child(5) { transition-delay: 185ms; }
    .drawer.is-open a:nth-child(6) { transition-delay: 220ms; }
    .drawer.is-open a:nth-child(7) { transition-delay: 255ms; }

    .drawer a:hover,
    .drawer a:focus-visible,
    .drawer a[aria-current="page"] {
      color: var(--red);
    }

    .drawer a:hover::after,
    .drawer a:focus-visible::after,
    .drawer a[aria-current="page"]::after {
      opacity: 1;
      transform: scaleX(1);
    }

    .drawer a:last-child {
      border-bottom: 0;
    }

    .hero {
      position: relative;
      min-height: calc(100svh - 58px);
      overflow: hidden;
      display: grid;
      align-items: end;
      color: var(--ink);
      background:
        linear-gradient(90deg, rgba(255,255,255,0.82) 0%, rgba(255,255,255,0.48) 42%, rgba(255,255,255,0.12) 76%, rgba(255,255,255,0.02) 100%),
        linear-gradient(180deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.02) 48%, rgba(248,248,243,0.74) 100%),
        url("../images/hero-ai-gold.png") center calc(var(--home-hero-y, 50%) - 4%) / cover no-repeat;
    }

    .hero::before {
      position: absolute;
      inset: 0;
      z-index: 0;
      background:
        radial-gradient(circle at var(--home-orb-x, 76%) 24%, rgba(218,168,58,0.12) 0 8%, rgba(218,168,58,0) 30%),
        radial-gradient(circle at 18% 78%, rgba(255,255,255,0.34) 0 10%, rgba(255,255,255,0) 34%),
        repeating-linear-gradient(90deg, rgba(174,132,44,0.08) 0 1px, transparent 1px 96px),
        repeating-linear-gradient(0deg, rgba(174,132,44,0.04) 0 1px, transparent 1px 88px);
      content: "";
    }

    .hero::after {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 0;
      height: 48%;
      background:
        linear-gradient(180deg, rgba(248,248,243,0) 0%, rgba(248,248,243,0.62) 58%, #f8f8f3 100%);
      pointer-events: none;
      content: "";
    }

    .hero-strip {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 15%;
      height: 154px;
      display: flex;
      overflow: hidden;
      border-top: 1px solid rgba(201,153,55,0.22);
      border-bottom: 1px solid rgba(201,153,55,0.14);
      background:
        linear-gradient(90deg,
          rgba(201,153,55,0) 0%,
          rgba(201,153,55,0.16) 24%,
          rgba(255,226,154,0.32) 48%,
          rgba(201,153,55,0.16) 72%,
          rgba(201,153,55,0) 100%);
      opacity: 0.22;
      z-index: 1;
      backdrop-filter: blur(4px);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.34), 0 18px 44px rgba(201,153,55,0.1);
    }

    .hero-strip span {
      flex: 0 0 50%;
      min-width: 50%;
      background:
        linear-gradient(90deg,
          rgba(201,153,55,0) 0%,
          rgba(201,153,55,0.2) 30%,
          rgba(255,242,194,0.5) 50%,
          rgba(201,153,55,0.18) 70%,
          rgba(201,153,55,0) 100%);
      will-change: transform;
      animation: stripMove 30s linear infinite;
    }

    @keyframes stripMove {
      from { transform: translate3d(0, 0, 0); }
      to { transform: translate3d(-100%, 0, 0); }
    }

    .home-page .hero {
      background:
        linear-gradient(90deg, rgba(255,255,255,0.82) 0%, rgba(255,255,255,0.48) 42%, rgba(255,255,255,0.12) 76%, rgba(255,255,255,0.02) 100%),
        linear-gradient(180deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.02) 48%, rgba(248,248,243,0.74) 100%),
        url("../images/hero-ai-gold.png") center calc(var(--home-hero-y, 50%) - 4%) / cover no-repeat;
    }

    .home-page .hero::before {
      background:
        radial-gradient(circle at var(--home-orb-x, 76%) 24%, rgba(218,168,58,0.12) 0 8%, rgba(218,168,58,0) 30%),
        radial-gradient(circle at 18% 78%, rgba(255,255,255,0.34) 0 10%, rgba(255,255,255,0) 34%),
        repeating-linear-gradient(90deg, rgba(174,132,44,0.08) 0 1px, transparent 1px 96px),
        repeating-linear-gradient(0deg, rgba(174,132,44,0.04) 0 1px, transparent 1px 88px);
      animation: heroGridFlow 34s linear infinite;
    }

    .hero-orbit {
      position: absolute;
      top: 96px;
      right: -88px;
      z-index: 1;
      width: 248px;
      height: 248px;
      border-radius: 50%;
      background:
        conic-gradient(from 90deg, rgba(255,119,89,0), rgba(255,119,89,0.52), rgba(24,99,220,0.46), rgba(36,173,155,0.58), rgba(255,119,89,0));
      opacity: 0.66;
      transform: translate3d(0, var(--home-orbit-y, 0px), 0);
      animation: homeOrbit 42s linear infinite;
      -webkit-mask: radial-gradient(circle, transparent 0 55%, #000 56% 58%, transparent 59%);
      mask: radial-gradient(circle, transparent 0 55%, #000 56% 58%, transparent 59%);
      pointer-events: none;
    }

    .hero-orbit span {
      position: absolute;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: rgba(174,132,44,0.72);
      box-shadow: 0 0 22px rgba(255,255,255,0.92);
    }

    .hero-orbit span:nth-child(1) {
      top: 22px;
      left: 50%;
    }

    .hero-orbit span:nth-child(2) {
      right: 28px;
      bottom: 50px;
      background: rgba(174,132,44,0.92);
      box-shadow: 0 0 24px rgba(255,119,89,0.88);
    }

    .hero-orbit span:nth-child(3) {
      left: 34px;
      bottom: 42px;
      background: rgba(24,99,220,0.58);
      box-shadow: 0 0 24px rgba(36,173,155,0.88);
    }

    .hero-pulse-map {
      position: absolute;
      left: 16px;
      top: 88px;
      z-index: 1;
      width: 118px;
      display: grid;
      gap: 8px;
      opacity: 0.52;
      transform: translate3d(0, var(--home-pulse-y, 0px), 0);
      pointer-events: none;
    }

    .hero-pulse-map i {
      display: block;
      height: 2px;
      border-radius: 99px;
      background: linear-gradient(90deg, rgba(174,132,44,0), rgba(174,132,44,0.24), rgba(24,99,220,0.2), rgba(174,132,44,0));
      transform-origin: left center;
      animation: signalSweep 4200ms ease-in-out infinite;
    }

    .hero-pulse-map i:nth-child(2) {
      width: 76%;
      animation-delay: 180ms;
    }

    .hero-pulse-map i:nth-child(3) {
      width: 58%;
      animation-delay: 360ms;
    }

    .hero-pulse-map i:nth-child(4) {
      width: 88%;
      animation-delay: 540ms;
    }

    .home-page .chip {
      animation: chipFloat 7800ms ease-in-out infinite;
    }

    .home-page .chip:nth-child(2) {
      animation-delay: 240ms;
    }

    .home-page .chip:nth-child(3) {
      animation-delay: 480ms;
    }

    .home-page .hero h1 {
      text-shadow: 0 16px 34px rgba(255,255,255,0.58);
      animation: heroTitleIn 1420ms cubic-bezier(.2,.8,.2,1) both;
    }

    .home-page .hero h1 span,
    .home-page .hero-copy span {
      display: block;
    }

    .home-page .hero-copy,
    .home-page .hero-buttons,
    .home-page .scroll-hint {
      animation: heroTextIn 1280ms cubic-bezier(.2,.8,.2,1) both;
    }

    .home-page .hero-copy {
      animation-delay: 220ms;
    }

    .home-page .hero-buttons {
      animation-delay: 420ms;
    }

    .home-page .scroll-hint {
      animation-delay: 620ms;
    }

    .home-page .hero-buttons .button {
      position: relative;
      overflow: hidden;
      box-shadow: 0 14px 34px rgba(0,0,0,0.22);
    }

    .home-page .hero-buttons .button::after {
      position: absolute;
      inset: 0;
      background: linear-gradient(100deg, transparent 0 30%, rgba(255,255,255,0.46) 46%, transparent 62% 100%);
      transform: translateX(-140%);
      animation: buttonShine 9600ms ease-in-out infinite;
      content: "";
      pointer-events: none;
    }

    .home-page .hero-buttons .button:nth-child(2)::after {
      animation-delay: 980ms;
    }

    @keyframes heroGridFlow {
      from { background-position: 0 0, 0 0, 0 0, 0 0, 0 0, 0 0; }
      to { background-position: 28px 0, -34px 0, 0 0, 0 0, 72px 0, 0 82px; }
    }

    @keyframes homeOrbit {
      to { rotate: 360deg; }
    }

    @keyframes signalSweep {
      0%, 100% { opacity: 0.18; transform: scaleX(0.18); }
      48% { opacity: 0.94; transform: scaleX(1); }
    }

    @keyframes chipFloat {
      0%, 100% { transform: translate3d(0, 0, 0); }
      50% { transform: translate3d(0, -4px, 0); }
    }

    @keyframes heroTitleIn {
      from { opacity: 0; transform: translate3d(-34px, 0, 0); }
      to { opacity: 1; transform: translate3d(0, 0, 0); }
    }

    @keyframes heroTextIn {
      from { opacity: 0; transform: translate3d(-22px, 0, 0); }
      to { opacity: 1; transform: translate3d(0, 0, 0); }
    }

    @keyframes buttonShine {
      0%, 66% { transform: translateX(-140%); }
      82%, 100% { transform: translateX(140%); }
    }

    .hero-inner {
      position: relative;
      z-index: 2;
      padding: 30px 16px 92px;
      display: grid;
      gap: 18px;
    }

    .hero-inner::before {
      width: 72px;
      height: 3px;
      background: linear-gradient(90deg, rgba(174,132,44,0.92), rgba(255,255,255,0.72));
      content: "";
      animation: heroSignal 2200ms ease-in-out infinite;
    }

    .chips {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }

    .chip {
      min-height: 28px;
      display: inline-flex;
      align-items: center;
      padding: 0 9px;
      border: 1px solid rgba(174,132,44,0.32);
      border-radius: 999px;
      background: rgba(255,255,255,0.54);
      color: rgba(23,23,28,0.78);
      font-family: var(--font-mono);
      font-size: 11px;
      font-weight: 700;
      backdrop-filter: blur(8px);
    }

    h1 {
      margin: 0;
      font-family: var(--font-display);
      max-width: 100%;
      font-size: clamp(39px, 10.4vw, 46px);
      font-weight: 700;
      line-height: 1.04;
      letter-spacing: 0;
      word-break: normal;
      overflow-wrap: anywhere;
      text-wrap: balance;
    }

    .hero-copy {
      margin: 0;
      color: rgba(23,23,28,0.78);
      font-size: 17px;
      word-break: normal;
      overflow-wrap: anywhere;
    }

    .hero-slogan {
      margin: -4px 0 0;
      color: rgba(23,23,28,0.86);
      font-family: var(--font-display);
      font-size: 17px;
      font-weight: 700;
      line-height: 1.32;
    }

    .hero-buttons {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
    }

    @keyframes heroSignal {
      0%, 100% { transform: scaleX(0.54); opacity: 0.58; }
      50% { transform: scaleX(1); opacity: 1; }
    }

    .button {
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      padding: 0 13px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: var(--paper);
      color: var(--ink);
      font-size: 14px;
      font-weight: 600;
      text-align: center;
      cursor: pointer;
    }

    .button.primary {
      border-color: var(--ink);
      background: var(--ink);
      color: #fff;
    }

    .button.dark {
      border-color: var(--ink);
      background: var(--ink);
      color: #fff;
    }

    .scroll-hint {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: rgba(23,23,28,0.58);
      font-family: var(--font-mono);
      font-size: 11px;
      font-weight: 700;
      text-transform: uppercase;
    }

    .scroll-hint::before {
      width: 26px;
      height: 1px;
      background: rgba(23,23,28,0.34);
      content: "";
    }

    .section {
      position: relative;
      z-index: 1;
      overflow: hidden;
      margin: 72px 0;
      padding: 108px 16px;
      border: 0;
      border-radius: 0;
      background: #f8f8f3;
      box-shadow: none;
      isolation: isolate;
    }

    .section > * {
      position: relative;
      z-index: 1;
    }

    .hero + .section {
      margin-top: 72px;
    }

    .section.compact {
      padding-top: 76px;
      padding-bottom: 76px;
    }

    .section.dark {
      border-color: rgba(255,255,255,0.12);
      background: var(--ink);
      color: #fff;
    }

    .section.paper {
      background: var(--paper);
    }

    .section.gradient-bridge::after {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 0;
      height: 38%;
      background:
        linear-gradient(180deg, rgba(255,255,255,0) 0%, var(--section-bottom, rgba(255,255,255,0.85)) 100%);
      opacity: 0.88;
      pointer-events: none;
      content: "";
    }

    .section::before {
      pointer-events: none;
    }

    .panel-principles {
      border-color: rgba(36,173,155,0.22);
      background: #ffffff;
      --section-bottom: rgba(233,247,243,0.92);
    }

    .panel-principles::before {
      position: absolute;
      top: 22px;
      right: -20px;
      z-index: 0;
      color: rgba(36,173,155,0.08);
      font-size: 108px;
      font-weight: 700;
      line-height: 0.8;
      content: "01";
    }

    .panel-principles .eyebrow::after {
      display: block;
      width: 54px;
      height: 2px;
      margin-top: 14px;
      background: var(--red);
      content: "";
    }

    .panel-story {
      border-color: rgba(36, 173, 155, 0.24);
      background:
        radial-gradient(circle at 12% 88%, rgba(36,173,155,0.08), transparent 28%),
        #ffffff;
      --section-bottom: rgba(235,250,247,0.92);
    }

    .home-page .panel-story::before {
      position: absolute;
      right: -92px;
      top: 58px;
      z-index: 0;
      width: 340px;
      height: 340px;
      opacity: 0.12;
      background: url("data:image/svg+xml,%3Csvg width='340' height='340' viewBox='0 0 340 340' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M59 185C93 90 224 63 279 127C316 170 287 254 211 273C116 297 31 263 59 185Z' stroke='%2317171c' stroke-width='12' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M108 137C149 174 190 175 233 135' stroke='%23ff7759' stroke-width='9' stroke-linecap='round'/%3E%3Cpath d='M109 214C144 193 178 193 222 214' stroke='%2324ad9b' stroke-width='9' stroke-linecap='round'/%3E%3Ccircle cx='128' cy='116' r='14' stroke='%231863dc' stroke-width='8'/%3E%3Ccircle cx='227' cy='116' r='14' stroke='%231863dc' stroke-width='8'/%3E%3Cpath d='M168 60C155 91 157 118 176 145C194 173 193 203 172 239' stroke='%2317171c' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
      transform: rotate(-12deg) translate3d(var(--line-art-x, 0px), 0, 0);
      animation: lineArtFloat 16s ease-in-out infinite;
      content: "";
      pointer-events: none;
    }

    .panel-numbers {
      border-color: rgba(255,255,255,0.08);
      background:
        linear-gradient(180deg, #111215 0%, #12181a 64%, #10201d 100%);
      --section-bottom: rgba(16,32,29,0.86);
    }

    .panel-numbers::before {
      position: absolute;
      inset: 0;
      z-index: 0;
      opacity: 0.18;
      background-image:
        linear-gradient(rgba(255,255,255,0.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.10) 1px, transparent 1px);
      background-size: 28px 28px;
      animation: gridDrift 34s linear infinite;
      content: "";
    }

    .panel-numbers::after {
      position: absolute;
      left: 18px;
      right: 18px;
      bottom: 22px;
      z-index: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,0.28), transparent);
      content: "";
    }

    .panel-tracks {
      border-color: rgba(48,110,232,0.18);
      background:
        radial-gradient(circle at 86% 28%, rgba(24,99,220,0.08), transparent 26%),
        radial-gradient(circle at 8% 74%, rgba(255,119,89,0.08), transparent 28%),
        #ffffff;
      --section-bottom: rgba(246,242,234,0.94);
    }

    .panel-tracks::before {
      position: absolute;
      inset: 18px 14px auto auto;
      z-index: 0;
      width: 92px;
      height: 92px;
      border: 1px solid rgba(48,110,232,0.26);
      background:
        linear-gradient(90deg, transparent 48%, rgba(48,110,232,0.2) 49%, rgba(48,110,232,0.2) 51%, transparent 52%),
        linear-gradient(0deg, transparent 48%, rgba(48,110,232,0.2) 49%, rgba(48,110,232,0.2) 51%, transparent 52%);
      transform: rotate(12deg);
      animation: panelFloat 13s ease-in-out infinite;
      content: "";
    }

    .panel-roadmap {
      background: #ffffff;
    }

    .panel-roadmap::before,
    .panel-roadmap::after {
      position: absolute;
      z-index: 0;
      border-radius: 0;
      animation: slowTurn 44s linear infinite;
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      content: "";
      pointer-events: none;
    }

    .panel-roadmap::before {
      inset: auto -24px 28px auto;
      width: 150px;
      height: 150px;
      background-image: url("../images/roadmap-flower-gold.png");
      opacity: 0.19;
    }

    .panel-roadmap::after {
      inset: -91px auto auto -99px;
      width: 267px;
      height: 267px;
      background-image: url("../images/roadmap-flower-red.png");
      opacity: 0.14;
      animation-duration: 26s;
    }

    .panel-system {
      border-color: rgba(174,132,44,0.18);
      background:
        linear-gradient(90deg, rgba(255,255,255,0.64) 0%, rgba(255,255,255,0.34) 42%, rgba(255,255,255,0.06) 100%),
        url("../images/system-beyond-imagination.png") center / cover no-repeat;
      padding-top: 88px;
      padding-bottom: 92px;
    }

    .panel-system::before,
    .panel-system::after {
      display: none;
      content: none;
    }

    .panel-system .system-core {
      position: relative;
      z-index: 1;
      margin: 0;
      padding: 0;
      background: transparent;
    }

    .panel-system .circle-row {
      position: relative;
      z-index: 1;
      isolation: isolate;
    }

    .panel-system .circle-row::before {
      position: absolute;
      inset: -190px -16px -210px;
      z-index: -1;
      display: none;
      content: none;
    }

    .panel-system .circle-row::after {
      display: none;
      content: none;
    }

    .panel-faculty {
      background: #ffffff;
    }

    .panel-faculty::before {
      position: absolute;
      top: 0;
      right: -36px;
      z-index: 0;
      width: 120px;
      height: 100%;
      background: linear-gradient(180deg, rgba(48,110,232,0.14), rgba(36,173,155,0.06));
      transform: skewX(-10deg);
      content: "";
    }

    .panel-career {
      background: #f1f5ff;
      --section-bottom: rgba(255,243,232,0.94);
    }

    .panel-admission {
      border-color: rgba(21,21,21,0.1);
      background: #ffffff;
    }

    .panel-admission::before {
      position: absolute;
      inset: 0;
      z-index: 0;
      opacity: 0.45;
      background:
        linear-gradient(135deg, transparent 0 46%, rgba(21,21,21,0.06) 46% 48%, transparent 48% 100%);
      background-size: 34px 34px;
      animation: diagonalDrift 16s linear infinite;
      content: "";
    }

    .panel-news {
      background: #ffffff;
    }

    .panel-news::before {
      position: absolute;
      top: 34px;
      right: 24px;
      z-index: 0;
      width: 72px;
      height: 72px;
      border: 1px solid rgba(224,73,62,0.22);
      transform: rotate(45deg);
      animation: diamondBreath 2600ms ease-in-out infinite;
      content: "";
    }

    .panel-contact {
      background:
        radial-gradient(circle at 84% 12%, rgba(255,119,89,0.18), transparent 30%),
        radial-gradient(circle at 12% 88%, rgba(36,173,155,0.24), transparent 34%),
        linear-gradient(145deg, #071716 0%, #003c33 58%, #101114 100%);
    }

    body:not(.home-page) .panel-faculty {
      background:
        radial-gradient(circle at 88% 12%, rgba(24,99,220,0.09), transparent 30%),
        radial-gradient(circle at 8% 82%, rgba(36,173,155,0.08), transparent 28%),
        #ffffff;
    }

    body:not(.home-page) .panel-faculty::after {
      position: absolute;
      left: -120px;
      bottom: -120px;
      z-index: 0;
      width: 260px;
      height: 260px;
      border: 1px solid rgba(24,99,220,0.12);
      border-radius: 50%;
      background: conic-gradient(from 120deg, rgba(24,99,220,0), rgba(24,99,220,0.16), rgba(255,119,89,0.14), rgba(24,99,220,0));
      animation: slowTurn 52s linear infinite;
      content: "";
      pointer-events: none;
    }

    body:not(.home-page) .panel-career {
      background:
        radial-gradient(circle at 8% 12%, rgba(255,119,89,0.1), transparent 30%),
        radial-gradient(circle at 88% 92%, rgba(36,173,155,0.12), transparent 32%),
        linear-gradient(180deg, #f7f9ff 0%, #fff7ee 100%);
    }

    body:not(.home-page) .panel-career::before {
      position: absolute;
      inset: 0;
      z-index: 0;
      opacity: 0.26;
      background-image:
        linear-gradient(rgba(18,18,15,0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(18,18,15,0.07) 1px, transparent 1px);
      background-size: 32px 32px;
      animation: gridDrift 38s linear infinite;
      content: "";
    }

    body:not(.home-page) .panel-admission {
      background:
        radial-gradient(circle at 78% 20%, rgba(255,119,89,0.1), transparent 30%),
        radial-gradient(circle at 14% 90%, rgba(24,99,220,0.08), transparent 28%),
        #ffffff;
    }

    body:not(.home-page) .panel-admission::after {
      position: absolute;
      right: -76px;
      bottom: -90px;
      z-index: 0;
      width: 220px;
      height: 220px;
      border-radius: 50%;
      border: 1px solid rgba(224,73,62,0.14);
      background:
        radial-gradient(circle, transparent 0 48%, rgba(255,119,89,0.12) 49% 50%, transparent 51%),
        conic-gradient(from 90deg, rgba(255,119,89,0), rgba(255,119,89,0.18), rgba(24,99,220,0.14), rgba(255,119,89,0));
      animation: slowTurn 58s linear infinite reverse;
      content: "";
      pointer-events: none;
    }

    body:not(.home-page) .panel-news {
      background:
        radial-gradient(circle at 14% 12%, rgba(36,173,155,0.1), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #fff7f0 100%);
    }

    body:not(.home-page) .panel-news::after {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 0;
      height: 32%;
      background: linear-gradient(180deg, transparent, rgba(255,119,89,0.08));
      content: "";
      pointer-events: none;
    }

    body:not(.home-page) .panel-principles,
    body:not(.home-page) .panel-roadmap,
    body:not(.home-page) .panel-system {
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
    }

    @keyframes panelFloat {
      0%, 100% { transform: translateY(0) rotate(12deg); }
      50% { transform: translateY(12px) rotate(18deg); }
    }

    @keyframes lineArtFloat {
      0%, 100% { opacity: 0.1; transform: rotate(-12deg) translate3d(0, 0, 0) scale(0.98); }
      50% { opacity: 0.17; transform: rotate(-8deg) translate3d(-10px, 14px, 0) scale(1.04); }
    }

    @keyframes slowTurn {
      to { transform: rotate(360deg); }
    }

    @keyframes linePulse {
      0%, 100% { opacity: 0.35; transform: scaleX(0.7); }
      50% { opacity: 1; transform: scaleX(1); }
    }

    @keyframes diagonalDrift {
      from { background-position: 0 0; }
      to { background-position: 68px 68px; }
    }

    @keyframes diamondBreath {
      0%, 100% { opacity: 0.35; transform: rotate(45deg) scale(0.86); }
      50% { opacity: 0.85; transform: rotate(45deg) scale(1); }
    }

    .reveal {
      opacity: 1;
      transform: translateY(0);
      transition: opacity 1120ms ease, transform 1320ms cubic-bezier(.2,.7,.2,1);
    }

    .reveal-ready .reveal {
      opacity: 0;
      transform: translateY(34px);
    }

    .reveal-ready .reveal.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .reveal .quick-card,
    .reveal .stat,
    .reveal .track,
    .reveal .year,
    .reveal .circle,
    .reveal .faculty-card,
    .reveal .work,
    .reveal .steps li,
    .reveal .notice {
      opacity: 1;
      transform: translateY(0);
      transition: opacity 980ms ease, transform 1120ms cubic-bezier(.2,.7,.2,1);
    }

    .reveal-ready .reveal .quick-card,
    .reveal-ready .reveal .stat,
    .reveal-ready .reveal .track,
    .reveal-ready .reveal .year,
    .reveal-ready .reveal .circle,
    .reveal-ready .reveal .faculty-card,
    .reveal-ready .reveal .work,
    .reveal-ready .reveal .steps li,
    .reveal-ready .reveal .notice {
      opacity: 0;
      transform: translateY(26px);
    }

    .reveal-ready .reveal.is-visible .quick-card,
    .reveal-ready .reveal.is-visible .stat,
    .reveal-ready .reveal.is-visible .track,
    .reveal-ready .reveal.is-visible .year,
    .reveal-ready .reveal.is-visible .circle,
    .reveal-ready .reveal.is-visible .faculty-card,
    .reveal-ready .reveal.is-visible .work,
    .reveal-ready .reveal.is-visible .steps li,
    .reveal-ready .reveal.is-visible .notice {
      opacity: 1;
      transform: translateY(0);
    }

    .reveal-ready .reveal.is-visible .quick-card:nth-child(2),
    .reveal-ready .reveal.is-visible .stat:nth-child(2),
    .reveal-ready .reveal.is-visible .track:nth-child(2),
    .reveal-ready .reveal.is-visible .year:nth-child(2),
    .reveal-ready .reveal.is-visible .circle:nth-child(2),
    .reveal-ready .reveal.is-visible .faculty-card:nth-child(2),
    .reveal-ready .reveal.is-visible .work:nth-child(2),
    .reveal-ready .reveal.is-visible .steps li:nth-child(2),
    .reveal-ready .reveal.is-visible .notice:nth-child(2) {
      transition-delay: 160ms;
    }

    .reveal-ready .reveal.is-visible .quick-card:nth-child(3),
    .reveal-ready .reveal.is-visible .stat:nth-child(3),
    .reveal-ready .reveal.is-visible .faculty-card:nth-child(3),
    .reveal-ready .reveal.is-visible .work:nth-child(3),
    .reveal-ready .reveal.is-visible .steps li:nth-child(3),
    .reveal-ready .reveal.is-visible .notice:nth-child(3) {
      transition-delay: 320ms;
    }

    .reveal-ready .reveal.is-visible .faculty-card:nth-child(4),
    .reveal-ready .reveal.is-visible .steps li:nth-child(4) {
      transition-delay: 480ms;
    }

    .reveal-ready body:not(.desktop-mode):not(.integrated-page) .reveal {
      opacity: 1;
      transform: none;
      transition: none;
    }

    .reveal-ready body:not(.desktop-mode):not(.integrated-page) .reveal .quick-card,
    .reveal-ready body:not(.desktop-mode):not(.integrated-page) .reveal .stat,
    .reveal-ready body:not(.desktop-mode):not(.integrated-page) .reveal .track,
    .reveal-ready body:not(.desktop-mode):not(.integrated-page) .reveal .year,
    .reveal-ready body:not(.desktop-mode):not(.integrated-page) .reveal .circle,
    .reveal-ready body:not(.desktop-mode):not(.integrated-page) .reveal .faculty-card,
    .reveal-ready body:not(.desktop-mode):not(.integrated-page) .reveal .work,
    .reveal-ready body:not(.desktop-mode):not(.integrated-page) .reveal .steps li,
    .reveal-ready body:not(.desktop-mode):not(.integrated-page) .reveal .notice {
      opacity: 1;
      transform: none;
      transition: none;
    }

    .reveal-ready body:not(.desktop-mode) .reveal :is(
      .eyebrow,
      h2,
      .section-lead,
      .section-copy p,
      .home-flow b,
      .home-flow span,
      .quick-card strong,
      .quick-card span,
      .stat b,
      .stat span,
      .track h3,
      .track p,
      .tag,
      .year strong,
      .year p,
      .circle strong,
      .circle span,
      .faculty-body strong,
      .faculty-body em,
      .faculty-body span,
      .faculty-detail-button,
      .work-body strong,
      .work-body span,
      .career-chip,
      .partner-chip,
      .steps strong,
      .steps span,
      .notice time,
      .notice strong,
      .notice span,
      .field,
      .contact-logo,
      .section-logo,
      .marquee-kicker,
      .marquee-caption
    ) {
      opacity: 0;
      transform: translate3d(-38px, 0, 0);
      transition:
        opacity 1400ms ease,
        transform 1760ms cubic-bezier(0.22, 1, 0.36, 1);
      transition-delay: var(--text-reveal-delay, 0ms);
      will-change: opacity, transform;
    }

    .reveal-ready body:not(.desktop-mode) .reveal.is-visible :is(
      .eyebrow,
      h2,
      .section-lead,
      .section-copy p,
      .home-flow b,
      .home-flow span,
      .quick-card strong,
      .quick-card span,
      .stat b,
      .stat span,
      .track h3,
      .track p,
      .tag,
      .year strong,
      .year p,
      .circle strong,
      .circle span,
      .faculty-body strong,
      .faculty-body em,
      .faculty-body span,
      .faculty-detail-button,
      .work-body strong,
      .work-body span,
      .career-chip,
      .partner-chip,
      .steps strong,
      .steps span,
      .notice time,
      .notice strong,
      .notice span,
      .field,
      .contact-logo,
      .section-logo,
      .marquee-kicker,
      .marquee-caption
    ) {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }

    .reveal-ready body:not(.desktop-mode) .reveal .eyebrow {
      --text-reveal-delay: 40ms;
    }

    .reveal-ready body:not(.desktop-mode) .reveal h2 {
      --text-reveal-delay: 160ms;
    }

    .reveal-ready body:not(.desktop-mode) .reveal .section-lead,
    .reveal-ready body:not(.desktop-mode) .reveal .section-copy p:nth-child(1),
    .reveal-ready body:not(.desktop-mode) .reveal .marquee-kicker {
      --text-reveal-delay: 280ms;
    }

    .reveal-ready body:not(.desktop-mode) .reveal .section-copy p:nth-child(2),
    .reveal-ready body:not(.desktop-mode) .reveal .home-flow article:nth-of-type(1) :is(b, span),
    .reveal-ready body:not(.desktop-mode) .reveal .marquee-caption,
    .reveal-ready body:not(.desktop-mode) .reveal .quick-card:nth-child(1) :is(strong, span),
    .reveal-ready body:not(.desktop-mode) .reveal .stat:nth-child(1) :is(b, span),
    .reveal-ready body:not(.desktop-mode) .reveal .track:nth-child(1) :is(h3, p, .tag),
    .reveal-ready body:not(.desktop-mode) .reveal .year:nth-child(1) :is(strong, p),
    .reveal-ready body:not(.desktop-mode) .reveal .circle:nth-child(1) :is(strong, span),
    .reveal-ready body:not(.desktop-mode) .reveal .faculty-card:nth-child(1) :is(strong, em, span, .faculty-detail-button),
    .reveal-ready body:not(.desktop-mode) .reveal .work:nth-child(1) :is(strong, span),
    .reveal-ready body:not(.desktop-mode) .reveal .steps li:nth-child(1) :is(strong, span),
    .reveal-ready body:not(.desktop-mode) .reveal .notice:nth-child(1) :is(time, strong, span) {
      --text-reveal-delay: 420ms;
    }

    .reveal-ready body:not(.desktop-mode) .reveal .section-copy p:nth-child(3),
    .reveal-ready body:not(.desktop-mode) .reveal .home-flow article:nth-of-type(2) :is(b, span),
    .reveal-ready body:not(.desktop-mode) .reveal .quick-card:nth-child(2) :is(strong, span),
    .reveal-ready body:not(.desktop-mode) .reveal .stat:nth-child(2) :is(b, span),
    .reveal-ready body:not(.desktop-mode) .reveal .track:nth-child(2) :is(h3, p, .tag),
    .reveal-ready body:not(.desktop-mode) .reveal .year:nth-child(2) :is(strong, p),
    .reveal-ready body:not(.desktop-mode) .reveal .circle:nth-child(2) :is(strong, span),
    .reveal-ready body:not(.desktop-mode) .reveal .faculty-card:nth-child(2) :is(strong, em, span, .faculty-detail-button),
    .reveal-ready body:not(.desktop-mode) .reveal .work:nth-child(2) :is(strong, span),
    .reveal-ready body:not(.desktop-mode) .reveal .steps li:nth-child(2) :is(strong, span),
    .reveal-ready body:not(.desktop-mode) .reveal .notice:nth-child(2) :is(time, strong, span) {
      --text-reveal-delay: 560ms;
    }

    .reveal-ready body:not(.desktop-mode) .reveal .section-copy p:nth-child(4),
    .reveal-ready body:not(.desktop-mode) .reveal .home-flow article:nth-of-type(3) :is(b, span),
    .reveal-ready body:not(.desktop-mode) .reveal .quick-card:nth-child(3) :is(strong, span),
    .reveal-ready body:not(.desktop-mode) .reveal .stat:nth-child(3) :is(b, span),
    .reveal-ready body:not(.desktop-mode) .reveal .faculty-card:nth-child(3) :is(strong, em, span, .faculty-detail-button),
    .reveal-ready body:not(.desktop-mode) .reveal .work:nth-child(3) :is(strong, span),
    .reveal-ready body:not(.desktop-mode) .reveal .steps li:nth-child(3) :is(strong, span),
    .reveal-ready body:not(.desktop-mode) .reveal .notice:nth-child(3) :is(time, strong, span) {
      --text-reveal-delay: 700ms;
    }

    .reveal-ready body:not(.desktop-mode) .reveal .faculty-card:nth-child(4) :is(strong, em, span, .faculty-detail-button),
    .reveal-ready body:not(.desktop-mode) .reveal .steps li:nth-child(4) :is(strong, span) {
      --text-reveal-delay: 840ms;
    }

    .reveal .gallery-feature,
    .reveal .gallery-card {
      opacity: 1;
      transform: translateY(0);
      transition: opacity 980ms ease, transform 1120ms cubic-bezier(.2,.7,.2,1);
    }

    .reveal-ready .reveal .gallery-feature,
    .reveal-ready .reveal .gallery-card {
      opacity: 0;
      transform: translateY(26px);
    }

    .reveal-ready .reveal.is-visible .gallery-feature,
    .reveal-ready .reveal.is-visible .gallery-card {
      opacity: 1;
      transform: translateY(0);
    }

    .reveal-ready .reveal.is-visible .gallery-card:nth-child(2) {
      transition-delay: 160ms;
    }

    .reveal-ready .reveal.is-visible .gallery-card:nth-child(3) {
      transition-delay: 320ms;
    }

    .reveal-ready body:not(.desktop-mode):not(.integrated-page) .reveal .gallery-feature,
    .reveal-ready body:not(.desktop-mode):not(.integrated-page) .reveal .gallery-card {
      opacity: 1;
      transform: none;
      transition: none;
    }

    .reveal-ready body:not(.desktop-mode) .reveal :is(
      .gallery-category,
      .gallery-feature strong,
      .gallery-feature span,
      .gallery-card time,
      .gallery-card strong,
      .gallery-card span
    ) {
      opacity: 0;
      transform: translate3d(-38px, 0, 0);
      transition:
        opacity 1400ms ease,
        transform 1760ms cubic-bezier(0.22, 1, 0.36, 1);
      transition-delay: var(--text-reveal-delay, 0ms);
      will-change: opacity, transform;
    }

    .reveal-ready body:not(.desktop-mode) .reveal.is-visible :is(
      .gallery-category,
      .gallery-feature strong,
      .gallery-feature span,
      .gallery-card time,
      .gallery-card strong,
      .gallery-card span
    ) {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }

    .reveal-ready body:not(.desktop-mode) .reveal .gallery-category {
      --text-reveal-delay: 420ms;
    }

    .reveal-ready body:not(.desktop-mode) .reveal .gallery-feature :is(strong, span) {
      --text-reveal-delay: 560ms;
    }

    .reveal-ready body:not(.desktop-mode) .reveal .gallery-card:nth-child(1) :is(time, strong, span) {
      --text-reveal-delay: 700ms;
    }

    .reveal-ready body:not(.desktop-mode) .reveal .gallery-card:nth-child(2) :is(time, strong, span) {
      --text-reveal-delay: 840ms;
    }

    .reveal-ready body:not(.desktop-mode) .reveal .gallery-card:nth-child(3) :is(time, strong, span) {
      --text-reveal-delay: 980ms;
    }

    .figma-capture-mode *,
    .figma-capture-mode *::before,
    .figma-capture-mode *::after {
      animation: none !important;
      transition: none !important;
    }

    .figma-capture-mode .hero {
      min-height: 0 !important;
      height: 1142px !important;
    }

    .figma-capture-mode .reveal,
    .figma-capture-mode.reveal-ready .reveal,
    .figma-capture-mode .reveal .quick-card,
    .figma-capture-mode .reveal .stat,
    .figma-capture-mode .reveal .track,
    .figma-capture-mode .reveal .year,
    .figma-capture-mode .reveal .circle,
    .figma-capture-mode .reveal .faculty-card,
    .figma-capture-mode .reveal .work,
    .figma-capture-mode .reveal .steps li,
    .figma-capture-mode .reveal .notice {
      opacity: 1 !important;
      transform: none !important;
    }

    .figma-capture-mode .modal,
    .figma-capture-mode .faculty-modal {
      display: none !important;
    }

    .figma-capture-mode .works {
      display: none !important;
    }

    .figma-capture-mode .work-nav,
    .figma-capture-mode .curve-study {
      display: none !important;
    }

    .figma-capture-mode .work {
      position: relative !important;
      top: auto !important;
      left: auto !important;
      width: auto !important;
    }

    .figma-capture-mode .work::after {
      display: none !important;
    }

    @keyframes gridDrift {
      from { background-position: 0 0, 0 0; }
      to { background-position: 56px 56px, 56px 56px; }
    }

    .eyebrow {
      margin: 0 0 8px;
      color: var(--red);
      font-family: var(--font-mono);
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
    }

    .panel-tracks .eyebrow {
      font-size: 14px;
      text-transform: none;
    }

    .section h2 {
      margin: 0;
      font-family: var(--font-display);
      font-size: 34px;
      font-weight: 700;
      line-height: 1.08;
      letter-spacing: 0;
    }

    #system.panel-system > h2 {
      position: relative;
      z-index: 6;
      color: #000 !important;
      -webkit-text-fill-color: #000;
      opacity: 1;
      filter: none;
      mix-blend-mode: normal;
      isolation: isolate;
    }

    .section-lead {
      margin: 12px 0 0;
      color: var(--sub);
      font-size: 15px;
    }

    .section-slogan {
      margin: 16px 0 0;
      color: var(--ink);
      font-family: var(--font-display);
      font-size: 18px;
      font-weight: 700;
      line-height: 1.35;
      letter-spacing: 0;
      text-wrap: balance;
    }

    .dark .section-slogan {
      color: rgba(255,255,255,0.92);
    }

    .section-copy {
      margin-top: 22px;
      display: grid;
      gap: 22px;
      color: var(--sub);
      font-size: 15px;
      line-height: 1.85;
      text-align: left;
    }

    .section-slogan + .section-copy {
      margin-top: 28px;
    }

    .section-copy p {
      margin: 0;
    }

    .home-marquee {
      position: relative;
      z-index: 1;
      overflow: hidden;
      margin: 0;
      padding: 92px 0 96px;
      color: #fff;
      background:
        radial-gradient(circle at 10% 16%, rgba(255,119,89,0.24), transparent 26%),
        radial-gradient(circle at 86% 88%, rgba(36,173,155,0.25), transparent 28%),
        linear-gradient(135deg, #121216 0%, #17171c 54%, #0d2524 100%);
      isolation: isolate;
    }

    .home-marquee::before {
      position: absolute;
      inset: 0;
      z-index: 0;
      opacity: 0.22;
      background:
        repeating-linear-gradient(90deg, rgba(255,255,255,0.12) 0 1px, transparent 1px 54px),
        repeating-linear-gradient(0deg, rgba(255,255,255,0.08) 0 1px, transparent 1px 54px);
      animation: marqueeGrid 34s linear infinite;
      content: "";
    }

    .home-marquee::after {
      position: absolute;
      right: -80px;
      bottom: -80px;
      z-index: 0;
      width: 240px;
      height: 240px;
      border: 1px solid rgba(255,255,255,0.22);
      border-radius: 50%;
      background: conic-gradient(from 180deg, rgba(255,119,89,0), rgba(255,119,89,0.32), rgba(36,173,155,0.42), rgba(255,119,89,0));
      -webkit-mask: radial-gradient(circle, transparent 0 52%, #000 53% 55%, transparent 56%);
      mask: radial-gradient(circle, transparent 0 52%, #000 53% 55%, transparent 56%);
      animation: homeOrbit 48s linear infinite reverse;
      content: "";
    }

    .marquee-kicker,
    .marquee-caption,
    .marquee-row {
      position: relative;
      z-index: 1;
    }

    .marquee-kicker {
      margin: 0 16px 22px;
      color: var(--red);
      font-family: var(--font-mono);
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
    }

    .marquee-row {
      display: flex;
      width: max-content;
      font-family: var(--font-display);
      font-size: clamp(48px, 15vw, 96px);
      font-weight: 700;
      line-height: 0.92;
      letter-spacing: 0;
      white-space: nowrap;
      text-transform: uppercase;
      opacity: 0.96;
      animation: marqueeMove 96s linear infinite;
      will-change: transform;
    }

    .marquee-row.reverse {
      margin-top: 10px;
      color: rgba(255,255,255,0.48);
      animation-direction: reverse;
      animation-duration: 116s;
    }

    .marquee-row span {
      display: block;
      padding-right: 26px;
    }

    .marquee-caption {
      max-width: 330px;
      margin: 28px 16px 0;
      color: rgba(255,255,255,0.72);
      font-size: 14px;
      line-height: 1.65;
    }

    .reveal-ready .home-marquee {
      opacity: 0;
      transform: translate3d(0, 30px, 0);
      transition: opacity 1500ms ease, transform 1850ms cubic-bezier(.2,.8,.2,1);
    }

    .reveal-ready .home-marquee.is-visible {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }

    .reveal-ready .home-marquee .marquee-row {
      opacity: 0;
      animation-play-state: paused;
      transition: opacity 1450ms ease;
    }

    .reveal-ready .home-marquee.is-visible .marquee-row {
      opacity: 0.96;
      animation-play-state: running;
    }

    .reveal-ready .home-marquee.is-visible .marquee-row.reverse {
      opacity: 0.96;
    }

    @keyframes marqueeMove {
      to { transform: translateX(-50%); }
    }

    @keyframes marqueeGrid {
      from { background-position: 0 0, 0 0; }
      to { background-position: 54px 0, 0 54px; }
    }

    :is(
      .stat b,
      .track h3,
      .year strong,
      .circle strong,
      .faculty-body strong,
      .work strong,
      .gallery-feature strong,
      .gallery-card strong,
      .notice strong,
      .modal-body h2,
      .faculty-modal-head h2
    ) {
      font-family: var(--font-strong);
      font-weight: 700;
    }

    :is(
      .chip,
      .eyebrow,
      .scroll-hint,
      .quick-icon,
      .stat b,
      .gallery-category,
      .gallery-card time,
      .notice time,
      .career-chip,
      .partner-chip,
      .faculty-modal-kicker
    ) {
      font-family: var(--font-mono);
    }

    .dark .section-lead {
      color: rgba(255,255,255,0.72);
    }

    .quick-list {
      display: grid;
      gap: 0;
      margin-top: 38px;
      border-top: 1px solid rgba(21,21,21,0.1);
    }

    .quick-card {
      position: relative;
      overflow: hidden;
      padding: 22px 0 22px 56px;
      border: 0;
      border-bottom: 1px solid rgba(21,21,21,0.1);
      border-radius: 0;
      background: transparent;
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
      align-items: start;
      box-shadow: none;
    }

    .quick-card::before {
      position: absolute;
      left: 18px;
      top: 0;
      bottom: 0;
      width: 2px;
      background: var(--accent, var(--teal));
      transform: scaleY(0);
      transform-origin: top;
      transition: transform 720ms ease;
      content: "";
    }

    .quick-card:nth-child(1) {
      --accent: var(--teal);
    }

    .quick-card:nth-child(2) {
      --accent: var(--blue);
      transform: translateY(0);
    }

    .quick-card:nth-child(3) {
      --accent: var(--red);
    }

    .reveal-ready .reveal.is-visible .quick-card::before {
      transform: scaleY(1);
    }

    .quick-icon {
      position: absolute;
      left: 0;
      top: 22px;
      width: 38px;
      height: 38px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--soft);
      background: color-mix(in srgb, var(--accent, var(--teal)) 16%, var(--paper));
      color: var(--accent, var(--teal));
      font-family: var(--font-mono);
      font-size: 16px;
      font-weight: 700;
      box-shadow: 0 0 0 8px rgba(255,255,255,0.86);
    }

    .quick-card strong {
      display: block;
      font-weight: 700;
      font-size: 17px;
      line-height: 1.2;
    }

    .quick-card span {
      display: block;
      margin-top: 5px;
      color: var(--sub);
      font-size: 13px;
    }

    .home-flow {
      position: relative;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      margin-top: 26px;
      padding: 16px 0 4px;
    }

    .home-flow-line {
      position: absolute;
      left: 14px;
      right: 14px;
      top: 32px;
      height: 2px;
      overflow: hidden;
      border-radius: 99px;
      background: rgba(21,21,21,0.08);
    }

    .home-flow-line::after {
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(255,119,89,0), var(--red), var(--blue), var(--teal), rgba(36,173,155,0));
      transform: translateX(-74%);
      content: "";
    }

    .reveal-ready .reveal.is-visible .home-flow-line::after {
      animation: flowLine 3400ms cubic-bezier(.2,.8,.2,1) both;
    }

    .home-flow article {
      position: relative;
      display: grid;
      justify-items: center;
      gap: 8px;
      min-width: 0;
      padding-top: 28px;
      text-align: center;
    }

    .home-flow article::before {
      width: 16px;
      height: 16px;
      border: 3px solid #fff;
      border-radius: 50%;
      background: var(--flow, var(--red));
      box-shadow: 0 0 0 7px rgba(255,255,255,0.86), 0 10px 24px rgba(21,21,21,0.16);
      content: "";
    }

    .home-flow article:nth-of-type(2) {
      --flow: var(--blue);
    }

    .home-flow article:nth-of-type(3) {
      --flow: var(--teal);
    }

    .home-flow b {
      color: var(--ink);
      font-family: var(--font-mono);
      font-size: 11px;
      line-height: 1;
    }

    .home-flow span {
      color: var(--sub);
      font-size: 12px;
      line-height: 1.2;
    }

    @keyframes flowLine {
      to { transform: translateX(74%); }
    }

    .image-card {
      min-height: 300px;
      margin-top: 22px;
      overflow: hidden;
      border-radius: var(--radius);
      background:
        linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0.62)),
        url("../images/embedded-02.jpg") center / cover;
      box-shadow: var(--shadow);
      display: grid;
      align-items: end;
      color: #fff;
    }

    .reveal-ready body:not(.desktop-mode) .reveal :is(.image-card, .track, .gallery-feature, .gallery-card) {
      clip-path: inset(0 100% 0 0);
      transition:
        clip-path 2100ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 1800ms cubic-bezier(0.22, 1, 0.36, 1),
        opacity 1500ms ease,
        box-shadow 340ms ease,
        filter 340ms ease;
      transition-delay: var(--media-reveal-delay, 260ms);
      will-change: clip-path, transform;
    }

    .reveal-ready body:not(.desktop-mode) .reveal.is-visible :is(.image-card, .track, .gallery-feature, .gallery-card) {
      clip-path: inset(0 0 0 0);
    }

    .reveal-ready body:not(.desktop-mode) .reveal .track:nth-child(2),
    .reveal-ready body:not(.desktop-mode) .reveal .gallery-card:nth-child(2) {
      --media-reveal-delay: 440ms;
    }

    .reveal-ready body:not(.desktop-mode) .reveal .gallery-card:nth-child(3) {
      --media-reveal-delay: 620ms;
    }

    .home-page .image-card {
      position: relative;
      min-height: 348px;
      transform: translateZ(0);
      box-shadow: 0 34px 70px rgba(18,18,15,0.18);
    }

    .home-page .image-card::before {
      position: absolute;
      inset: 0;
      z-index: 0;
      background:
        linear-gradient(110deg, transparent 0 34%, rgba(255,255,255,0.26) 48%, transparent 62% 100%),
        repeating-linear-gradient(90deg, rgba(255,255,255,0.08) 0 1px, transparent 1px 58px);
      transform: translateX(-120%);
      content: "";
      pointer-events: none;
    }

    .home-page .image-card::after {
      position: absolute;
      left: 18px;
      right: 18px;
      bottom: 96px;
      z-index: 0;
      height: 1px;
      background: linear-gradient(90deg, var(--red), rgba(255,255,255,0.58), var(--teal));
      opacity: 0.76;
      content: "";
    }

    .reveal-ready .reveal.is-visible .image-card::before {
      animation: imageScan 6800ms ease-in-out 760ms both;
    }

    @keyframes imageScan {
      to { transform: translateX(120%); }
    }

    .image-card div {
      position: relative;
      z-index: 1;
      padding: 18px;
    }

    .image-card strong {
      display: block;
      font-family: var(--font-display);
      font-size: 20px;
      font-weight: 700;
      line-height: 1.2;
    }

    .image-card span {
      display: block;
      margin-top: 5px;
      color: rgba(255,255,255,0.76);
      font-size: 13px;
    }

    .stats {
      display: grid;
      gap: 12px;
      margin-top: 38px;
    }

    .stat {
      position: relative;
      overflow: hidden;
      min-height: 142px;
      padding: 58px 18px 20px;
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: var(--radius);
      background:
        linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.025));
      display: grid;
      align-content: center;
    }

    .home-page .panel-numbers {
      background:
        radial-gradient(circle at 82% 18%, rgba(255,119,89,0.16), transparent 28%),
        radial-gradient(circle at 20% 92%, rgba(36,173,155,0.2), transparent 30%),
        linear-gradient(180deg, #111215 0%, #12181a 58%, #101b19 100%);
    }

    .home-page .panel-numbers::before {
      opacity: 0.22;
    }

    .home-page .stat {
      border-color: rgba(255,255,255,0.16);
      background:
        linear-gradient(100deg, rgba(255,255,255,0.10), rgba(255,255,255,0.025)),
        radial-gradient(circle at 96% 18%, rgba(255,119,89,0.14), transparent 28%);
      transform: translateZ(0);
    }

    .reveal-ready body.home-page:not(.desktop-mode) .panel-numbers .stat {
      opacity: 0;
      transform: translate3d(0, 50px, 0) scale(0.975);
      transition:
        opacity 1500ms ease,
        transform 1900ms cubic-bezier(0.18, 0.92, 0.22, 1),
        border-color 520ms ease,
        background-color 520ms ease;
      transition-delay: 0ms;
      will-change: opacity, transform;
    }

    .reveal-ready body.home-page:not(.desktop-mode) .panel-numbers.is-visible .stat {
      opacity: 1;
      transform: translate3d(0, 0, 0) scale(1);
    }

    .reveal-ready body.home-page:not(.desktop-mode) .panel-numbers.is-visible .stat:nth-child(2) {
      transition-delay: 480ms;
    }

    .reveal-ready body.home-page:not(.desktop-mode) .panel-numbers.is-visible .stat:nth-child(3) {
      transition-delay: 960ms;
    }

    .home-page .stat::before {
      position: absolute;
      inset: 0;
      z-index: 0;
      background: linear-gradient(105deg, transparent 0 32%, rgba(255,255,255,0.18) 48%, transparent 64% 100%);
      transform: translateX(-120%);
      content: "";
    }

    .reveal-ready .reveal.is-visible .stat::before {
      animation: statBeam 6200ms ease-in-out both;
    }

    .reveal-ready .reveal.is-visible .stat:nth-child(2)::before {
      animation-delay: 480ms;
    }

    .reveal-ready .reveal.is-visible .stat:nth-child(3)::before {
      animation-delay: 960ms;
    }

    .stat::after {
      position: absolute;
      left: 18px;
      top: 24px;
      width: 76px;
      height: 3px;
      border-radius: 999px;
      background: linear-gradient(90deg, #ff675e, rgba(36,173,155,0.88));
      transform: scaleX(0.78);
      transform-origin: left center;
      opacity: 0.9;
      content: "";
    }

    .reveal-ready .reveal.is-visible .stat::after {
      animation: statAccent 1800ms cubic-bezier(.2,.7,.2,1) forwards;
    }

    .stat:nth-child(1) {
      --meter: 42%;
    }

    .stat:nth-child(2) {
      --meter: 78%;
    }

    .stat:nth-child(3) {
      --meter: 64%;
    }

    .stat b {
      position: relative;
      z-index: 1;
      display: block;
      font-size: 32px;
      line-height: 1;
      color: #fff;
    }

    .stat span {
      position: relative;
      z-index: 1;
      display: block;
      margin-top: 8px;
      color: rgba(255,255,255,0.74);
      font-size: 13px;
    }

    @keyframes meterPop {
      to { transform: scale(1); }
    }

    @keyframes meterSpin {
      0%, 100% { rotate: 0deg; }
      50% { rotate: 18deg; }
    }

    @keyframes statAccent {
      from {
        opacity: 0.28;
        transform: scaleX(0.18);
      }
      to {
        opacity: 0.9;
        transform: scaleX(1);
      }
    }

    @keyframes statBeam {
      to { transform: translateX(120%); }
    }

    .track-stack {
      position: relative;
      display: grid;
      gap: 18px;
      margin-top: 38px;
      padding-top: 92px;
    }

    .track-stack::before {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      height: 94px;
      border-radius: var(--radius) var(--radius) 0 0;
      background:
        linear-gradient(180deg, rgba(22,25,38,0) 0%, rgba(22,25,38,0.32) 34%, rgba(22,25,38,0.78) 74%, #121a2a 100%);
      content: "";
      pointer-events: none;
      z-index: 0;
      opacity: 1;
      transform: translate3d(0, 0, 0);
      transition:
        opacity 1500ms ease,
        transform 1900ms cubic-bezier(0.18, 0.92, 0.22, 1);
    }

    .reveal-ready body:not(.desktop-mode) #track .track-stack::before {
      opacity: 0;
      transform: translate3d(0, 78px, 0) scale(0.965);
    }

    .reveal-ready body:not(.desktop-mode) #track .track-stack.is-gradient-visible::before {
      opacity: 1;
      transform: translate3d(0, 0, 0) scale(1);
    }

    .track-stack .track:first-child {
      border-radius: 0 0 var(--radius) var(--radius);
    }

    .track {
      min-height: 390px;
      position: relative;
      overflow: hidden;
      border-radius: var(--radius);
      color: #fff;
      background: var(--ink);
      isolation: isolate;
      box-shadow: 0 20px 42px rgba(18,18,15,0.18);
    }

    .track::before {
      position: absolute;
      inset: 0;
      z-index: 0;
      background: #111822;
      content: "";
    }

    .track-image {
      position: absolute;
      inset: 0;
      z-index: 0;
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      object-position: center;
      transform: scale(1.02);
      transition: transform 1600ms ease;
    }

    .track::after {
      position: absolute;
      inset: 0;
      z-index: 1;
      background: linear-gradient(180deg, rgba(0,0,0,0.04), rgba(0,0,0,0.72));
      content: "";
    }

    .reveal-ready .reveal.is-visible .track-image,
    .reveal-ready .reveal.is-visible .track::before {
      transform: scale(1.08);
    }

    .track-body {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 2;
      padding: 20px;
      display: grid;
      gap: 11px;
    }

    .home-page .track-body::before {
      width: 64px;
      height: 3px;
      border-radius: 99px;
      background: linear-gradient(90deg, var(--red), rgba(255,255,255,0.75), var(--teal));
      box-shadow: 0 0 18px rgba(255,255,255,0.22);
      content: "";
      transform: scaleX(0.28);
      transform-origin: left center;
    }

    .reveal-ready .reveal.is-visible .track-body::before {
      animation: trackSignal 4600ms ease-in-out infinite;
    }

    .reveal-ready body:not(.desktop-mode) #track .track.center-reveal-card {
      clip-path: inset(0 0 0 0);
      opacity: 0;
      transform: translate3d(0, 78px, 0) scale(0.965);
      transition:
        opacity 1500ms ease,
        transform 1900ms cubic-bezier(0.18, 0.92, 0.22, 1),
        box-shadow 1100ms ease;
      transition-delay: 0ms;
      will-change: opacity, transform;
    }

    .reveal-ready body:not(.desktop-mode) #track .track.center-reveal-card.is-card-visible {
      opacity: 1;
      transform: translate3d(0, 0, 0) scale(1);
      box-shadow: 0 28px 64px rgba(18,18,15,0.24);
    }

    .reveal-ready body:not(.desktop-mode) #track .track.center-reveal-card .track-body {
      opacity: 0;
      transform: translate3d(0, 22px, 0);
      transition:
        opacity 1400ms ease,
        transform 1760ms cubic-bezier(0.22, 1, 0.36, 1);
      transition-delay: 520ms;
    }

    .reveal-ready body:not(.desktop-mode) #track .track.center-reveal-card.is-card-visible .track-body {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }

    @keyframes trackSignal {
      0%, 100% { transform: scaleX(0.28); opacity: 0.48; }
      50% { transform: scaleX(1); opacity: 1; }
    }

    .track h3 {
      margin: 0;
      font-size: 30px;
      line-height: 1.05;
    }

    .track p {
      margin: 0;
      color: rgba(255,255,255,0.78);
      font-size: 14px;
    }

    .tags {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }

    .tag {
      min-height: 27px;
      display: inline-flex;
      align-items: center;
      padding: 0 9px;
      border-radius: 999px;
      background: rgba(255,255,255,0.14);
      color: rgba(255,255,255,0.9);
      font-size: 11px;
      font-weight: 700;
    }

    .roadmap {
      position: relative;
      margin-top: 36px;
      display: grid;
      gap: 18px;
      padding-left: 18px;
    }

    .roadmap::before {
      position: absolute;
      left: 4px;
      top: 12px;
      bottom: 12px;
      width: 2px;
      background: linear-gradient(180deg, var(--red), var(--gold), var(--teal));
      content: "";
    }

    .year {
      position: relative;
      padding: 18px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--paper);
      box-shadow: 0 12px 28px rgba(18,18,15,0.06);
    }

    .year::before {
      position: absolute;
      left: -23px;
      top: 20px;
      width: 12px;
      height: 12px;
      border: 3px solid var(--paper);
      border-radius: 50%;
      background: var(--red);
      box-shadow: 0 0 0 3px rgba(224,73,62,0.18);
      content: "";
    }

    .year strong {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      font-size: 16px;
    }

    .year strong::after {
      width: 9px;
      height: 9px;
      border-top: 2px solid var(--red);
      border-right: 2px solid var(--red);
      transform: rotate(45deg);
      content: "";
    }

    .year p {
      margin: 8px 0 0;
      color: var(--sub);
      font-size: 13px;
    }

    .circle-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      margin-top: 36px;
    }

    body:not(.home-page) .panel-system .circle-row {
      display: grid;
      gap: 12px;
      margin-top: 26px;
    }

    .circle {
      position: relative;
      min-height: 206px;
      padding: 22px 12px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: rgba(255,255,255,0.82);
      backdrop-filter: blur(4px);
      display: grid;
      align-content: center;
      justify-items: center;
      text-align: center;
      box-shadow: 0 16px 34px rgba(18,18,15,0.08);
    }

    body:not(.home-page) .panel-system .circle {
      min-height: 162px;
      padding: 18px 10px;
      background: rgba(255,255,255,0.92);
      box-shadow: 0 16px 36px rgba(18,18,15,0.1);
    }

    .circle::before {
      position: absolute;
      inset: 8px;
      border: 1px dashed rgba(224,73,62,0.26);
      border-radius: inherit;
      animation: softSpin 18s linear infinite;
      content: "";
    }

    .circle i {
      width: 42px;
      height: 42px;
      margin-bottom: 10px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--teal);
      color: #fff;
      font-style: normal;
      font-weight: 700;
    }

    body:not(.home-page) .panel-system .circle i {
      display: grid;
      opacity: 1;
      visibility: visible;
      transform: none;
    }

    #system.panel-system .circle-row {
      position: relative;
      z-index: 12;
      display: grid !important;
      opacity: 1 !important;
      visibility: visible !important;
      transform: none !important;
      pointer-events: auto;
    }

    #system.panel-system .circle {
      z-index: 13;
      display: grid !important;
      opacity: 1 !important;
      visibility: visible !important;
      transform: none !important;
      background: rgba(255,255,255,0.94);
      mix-blend-mode: normal;
    }

    #system.panel-system .circle i {
      z-index: 14;
      opacity: 1 !important;
      visibility: visible !important;
      transform: none !important;
    }

    .circle i,
    .circle strong,
    .circle span {
      position: relative;
      z-index: 1;
    }

    @keyframes softSpin {
      to { transform: rotate(360deg); }
    }

    .circle:nth-child(2) i {
      background: var(--blue);
    }

    .circle strong {
      font-size: 16px;
      line-height: 1.2;
    }

    .circle span {
      margin-top: 6px;
      color: var(--sub);
      font-size: 12px;
    }

    .works {
      display: none;
      grid-auto-flow: column;
      grid-auto-columns: 82%;
      gap: 14px;
      margin: 38px -16px 0;
      padding: 0 16px 4px;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scrollbar-width: thin;
      -webkit-overflow-scrolling: touch;
    }

    .works::-webkit-scrollbar {
      height: 8px;
    }

    .works::-webkit-scrollbar-track {
      background: rgba(18,18,15,0.05);
      border-radius: 999px;
    }

    .works::-webkit-scrollbar-thumb {
      background: rgba(18,18,15,0.38);
      border-radius: 999px;
    }

    .work {
      min-height: 310px;
      border-radius: var(--radius);
      overflow: hidden;
      background: var(--paper);
      box-shadow: 0 18px 40px rgba(18,18,15,0.13);
      scroll-snap-align: start;
    }

    .work:nth-child(2) {
      margin-top: 22px;
    }

    .work:nth-child(3) {
      margin-top: 8px;
    }

    .work-image {
      height: 218px;
      width: 100%;
      display: block;
      object-fit: cover;
      object-position: center;
    }

    .work-body {
      padding: 14px;
    }

    .work strong {
      display: block;
      font-size: 16px;
      line-height: 1.2;
    }

    .work span {
      display: block;
      margin-top: 5px;
      color: var(--sub);
      font-size: 12px;
    }

    .work-caption,
    .work-nav {
      display: none;
    }

    .curve-study {
      margin: 34px -16px 0;
      padding: 12px 0 22px;
      overflow: hidden;
      border: 0;
      background: #fff;
    }

    .curve-study-title {
      display: none;
      max-width: 260px;
      margin: 0 auto 18px;
      color: #161616;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.26;
      text-align: center;
      text-transform: none;
    }

    .curve-study-title::after {
      display: block;
      margin-top: 6px;
      color: rgba(18,18,15,0.38);
      font-size: 9px;
      font-weight: 700;
      line-height: 1.2;
      content: "드래그와 버튼 전환을 함께 확인하는 커브 슬라이드";
    }

    .curve-stage {
      position: relative;
      height: 300px;
      overflow: hidden;
      background: #fff;
    }

    .curve-stage::before,
    .curve-stage::after {
      position: absolute;
      left: 50%;
      z-index: 20;
      width: 1040px;
      height: 330px;
      border-radius: 50%;
      background: #fff;
      transform: translateX(-50%);
      pointer-events: none;
      content: "";
    }

    .curve-stage::before {
      top: -248px;
    }

    .curve-stage::after {
      bottom: -248px;
    }

    .curve-strip {
      position: absolute;
      inset: 0;
      height: 300px;
      display: flex;
      gap: 6px;
      align-items: center;
      padding: 58px calc(50% - 113px);
      overflow-x: auto;
      overflow-y: hidden;
      scroll-snap-type: none;
      scroll-padding-inline: calc(50% - 113px);
      scrollbar-width: none;
      cursor: grab;
      touch-action: pan-x pan-y;
      user-select: none;
      overscroll-behavior-inline: contain;
      -webkit-overflow-scrolling: touch;
      clip-path: polygon(
        0 20%,
        15% 23%,
        35% 25%,
        50% 26%,
        65% 25%,
        85% 23%,
        100% 20%,
        100% 80%,
        85% 77%,
        65% 75%,
        50% 74%,
        35% 75%,
        15% 77%,
        0 80%
      );
    }

    .curve-strip::-webkit-scrollbar {
      display: none;
    }

    .curve-strip.is-dragging {
      cursor: grabbing;
    }

    .curve-strip.is-dragging .curve-tile,
    .curve-strip.is-dragging .curve-tile-image {
      cursor: grabbing;
    }

    .curve-tile {
      position: relative;
      flex: 0 0 226px;
      width: 226px;
      height: 174px;
      z-index: var(--curve-z, 1);
      overflow: hidden;
      border-radius: 0;
      background: #111822;
      box-shadow: none;
      scroll-snap-align: center;
      transform:
        perspective(620px)
        rotateY(var(--curve-rotate, 0deg))
        scale(var(--curve-scale, 1));
      transition:
        transform 500ms cubic-bezier(0.22, 1, 0.36, 1),
        filter 300ms ease;
      cursor: zoom-in;
      will-change: transform;
    }

    .curve-tile::after {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(0,0,0,0.06), rgba(0,0,0,0.22)),
        rgba(0,0,0,var(--curve-shade,0.52));
      transition: background 420ms ease;
      pointer-events: none;
      content: "";
    }

    .curve-tile.is-active {
      filter: saturate(1.06) contrast(1.02);
    }

    .curve-tile.is-active::after {
      background:
        linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0.1)),
        rgba(0,0,0,0.02);
    }

    .curve-tile-image {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      object-position: center;
      transform: scale(1.04);
      cursor: zoom-in;
    }

    .curve-study-caption {
      display: none;
      max-width: 320px;
      margin: 18px auto 0;
      padding: 0 16px;
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
      text-align: center;
    }

    .curve-study-caption strong {
      display: block;
      font-size: 16px;
      line-height: 1.2;
    }

    .curve-study-caption span {
      display: block;
      margin-top: 5px;
      color: var(--sub);
      font-size: 12px;
    }

    .curve-study-controls {
      display: none;
      justify-content: center;
      gap: 12px;
      margin-top: 14px;
    }

    .curve-study-controls button {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(18,18,15,0.12);
      border-radius: 50%;
      background: rgba(255,255,255,0.92);
      color: #161a20;
      font-size: 24px;
      font-weight: 700;
      line-height: 1;
      box-shadow: 0 12px 26px rgba(18,18,15,0.14);
      cursor: pointer;
      transition: transform 180ms ease, background 180ms ease;
    }

    .curve-study-controls button:active {
      transform: scale(0.94);
    }

    .faculty-list {
      display: grid;
      gap: 14px;
      margin-top: 38px;
    }

    .faculty-card {
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--paper);
      display: grid;
      grid-template-columns: 112px minmax(0, 1fr);
      min-height: 148px;
      box-shadow: 0 14px 30px rgba(18,18,15,0.07);
    }

    .faculty-card:nth-child(even) {
      grid-template-columns: minmax(0, 1fr) 112px;
    }

    .faculty-card:nth-child(even) .faculty-photo {
      grid-column: 2;
      grid-row: 1;
    }

    .faculty-card:nth-child(even) .faculty-body {
      grid-column: 1;
      grid-row: 1;
    }

    .faculty-photo {
      display: block;
      width: 112px;
      height: 148px;
      min-height: 148px;
      max-width: none;
      object-fit: cover;
      object-position: center top;
      background: var(--soft);
    }

    .faculty-body {
      padding: 14px;
      display: grid;
      align-content: center;
      gap: 6px;
    }

    .faculty-body strong {
      display: block;
      font-size: 16px;
      line-height: 1.2;
    }

    .faculty-body em {
      color: var(--red);
      font-size: 12px;
      font-style: normal;
      font-weight: 700;
    }

    .faculty-body span {
      color: var(--sub);
      font-size: 12px;
    }

    .faculty-detail-button {
      justify-self: start;
      min-height: 32px;
      margin-top: 6px;
      padding: 0 12px;
      border: 1px solid rgba(18,18,15,0.12);
      border-radius: 999px;
      background: #161a20;
      color: #fff;
      font-size: 11px;
      font-weight: 700;
      line-height: 1;
      cursor: pointer;
      box-shadow: 0 8px 18px rgba(18,18,15,0.16);
    }

    .faculty-detail-button:active {
      transform: translateY(1px);
    }

    .career-chips,
    .partner-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
      margin-top: 26px;
    }

    .career-chip,
    .partner-chip {
      min-height: 32px;
      display: inline-flex;
      align-items: center;
      padding: 0 11px;
      border-radius: 999px;
      background: var(--paper);
      border: 1px solid var(--line);
      color: #2d3034;
      font-size: 12px;
      font-weight: 700;
    }

    .partner-chip {
      background: #f7f7f4;
      color: var(--sub);
      font-weight: 700;
    }

    .steps {
      counter-reset: step;
      display: grid;
      gap: 16px;
      margin: 36px 0 0;
      padding: 0;
      list-style: none;
    }

    .steps li {
      counter-increment: step;
      min-height: 104px;
      position: relative;
      padding: 18px 18px 18px 62px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--paper);
      box-shadow: 0 14px 28px rgba(18,18,15,0.06);
    }

    .steps li:nth-child(even) {
      margin-left: 18px;
    }

    .steps li::before {
      position: absolute;
      left: 15px;
      top: 15px;
      width: 31px;
      height: 31px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: var(--ink);
      color: #fff;
      font-size: 12px;
      font-weight: 700;
      content: counter(step);
    }

    .steps strong {
      display: block;
      font-size: 15px;
    }

    .steps span {
      display: block;
      margin-top: 4px;
      color: var(--sub);
      font-size: 13px;
    }

    .admission-paths {
      display: grid;
      gap: 14px;
      margin-top: 34px;
    }

    .admission-copy {
      margin-top: 28px;
    }

    .admission-copy h3 {
      margin: 0;
      font-family: var(--font-display);
      font-size: 20px;
      line-height: 1.24;
    }

    .admission-copy p {
      margin: 12px 0 0;
      color: #34373d;
      font-size: 13px;
      line-height: 1.78;
    }

    .admission-system {
      padding: 18px;
      border: 1px solid rgba(19,45,88,0.18);
      border-radius: var(--radius);
      background: rgba(255,255,255,0.84);
      box-shadow: 0 12px 30px rgba(18,18,15,0.06);
    }

    .admission-system p {
      margin: 0;
    }

    .admission-flow {
      display: grid;
      gap: 10px;
      margin-top: 28px;
    }

    .admission-flow article {
      position: relative;
      min-height: 108px;
      padding: 18px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255,255,255,0.82);
      box-shadow: 0 12px 30px rgba(18,18,15,0.06);
      display: grid;
      align-content: center;
      justify-items: center;
      text-align: center;
    }

    .admission-flow article:not(:last-child)::after {
      display: block;
      width: 22px;
      height: 22px;
      margin: 10px auto -20px;
      color: var(--red);
      font-size: 20px;
      font-weight: 900;
      line-height: 22px;
      text-align: center;
      content: "↓";
    }

    .admission-flow span {
      display: block;
      color: var(--red);
      font-size: 11px;
      font-weight: 900;
      text-transform: uppercase;
    }

    .admission-flow strong {
      display: block;
      margin-top: 8px;
      font-family: var(--font-display);
      font-size: 19px;
      line-height: 1.18;
    }

    .admission-flow p {
      margin: 8px 0 0;
      color: var(--sub);
      font-size: 12px;
      line-height: 1.55;
    }

    .admission-path {
      position: relative;
      overflow: hidden;
      padding: 20px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--paper);
      box-shadow: 0 14px 28px rgba(18,18,15,0.06);
    }

    .admission-path::after {
      position: absolute;
      top: 0;
      right: 0;
      width: 64px;
      height: 100%;
      background: linear-gradient(180deg, rgba(224,73,62,0.1), rgba(36,173,155,0.09));
      content: "";
    }

    .admission-path > * {
      position: relative;
      z-index: 1;
    }

    .admission-path > span {
      display: inline-flex;
      margin-bottom: 12px;
      color: var(--red);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }

    .admission-path strong {
      display: block;
      font-family: var(--font-display);
      font-size: 20px;
      line-height: 1.22;
    }

    .admission-path p {
      margin: 12px 0 0;
      color: var(--sub);
      font-size: 13px;
      line-height: 1.72;
    }

    .admission-path ul {
      display: grid;
      gap: 8px;
      margin: 16px 0 0;
      padding: 0;
      list-style: none;
    }

    .admission-path li {
      position: relative;
      padding-left: 0;
      color: #34373d;
      font-size: 12px;
      line-height: 1.62;
    }

    .admission-path li::before {
      display: none;
    }

    .admission-note {
      margin: 18px 0 0;
      color: var(--sub);
      font-size: 12px;
      line-height: 1.6;
    }

    .admission-cautions {
      margin-top: 18px;
      padding: 18px;
      border: 1px solid rgba(19,45,88,0.2);
      border-radius: var(--radius);
      background: rgba(255,255,255,0.84);
      color: #2f3339;
      box-shadow: 0 12px 30px rgba(18,18,15,0.06);
    }

    .admission-cautions > strong {
      display: block;
      color: var(--ink);
      font-family: var(--font-display);
      font-size: 15px;
      line-height: 1.2;
    }

    .admission-cautions ul {
      display: grid;
      gap: 9px;
      margin: 14px 0 0;
      padding: 0;
      list-style: none;
    }

    .admission-cautions li {
      position: relative;
      padding-left: 0;
      color: var(--sub);
      font-size: 12px;
      line-height: 1.58;
    }

    .admission-cautions li::before {
      display: none;
    }

    .admission-caution-notes {
      display: grid;
      gap: 6px;
      margin-top: 16px;
      padding: 14px;
      background: rgba(19,45,88,0.08);
      color: #2f3339;
    }

    .admission-caution-notes p {
      margin: 0;
      font-size: 12px;
      line-height: 1.6;
    }

    .admission-partners {
      margin-top: 18px;
      padding: 18px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255,255,255,0.76);
      box-shadow: 0 12px 30px rgba(18,18,15,0.06);
    }

    .admission-partners > strong {
      display: block;
      color: var(--ink);
      font-family: var(--font-display);
      font-size: 15px;
      line-height: 1.2;
    }

    .admission-partners .partner-chips {
      margin-top: 14px;
    }

    .admission-partners p {
      margin: 12px 0 0;
      color: var(--sub);
      font-size: 12px;
      line-height: 1.72;
    }

    .notice-list {
      display: grid;
      gap: 14px;
      margin-top: 28px;
    }

    .board-groups {
      display: grid;
      gap: 22px;
      margin-top: 36px;
    }

    .board-tabs {
      display: inline-flex;
      width: 100%;
      padding: 4px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: rgba(255,255,255,0.78);
      box-shadow: 0 12px 24px rgba(18,18,15,0.05);
    }

    .board-tab {
      flex: 1;
      height: 42px;
      border: 0;
      border-radius: 999px;
      background: transparent;
      color: var(--sub);
      font: inherit;
      font-size: 13px;
      font-weight: 800;
      cursor: pointer;
      transition:
        background-color 240ms ease,
        color 240ms ease,
        box-shadow 240ms ease;
    }

    .board-tab.is-active {
      background: var(--ink);
      color: #fff;
      box-shadow: 0 10px 22px rgba(18,18,15,0.18);
    }

    .board-section {
      padding: 20px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255,255,255,0.76);
      box-shadow: 0 14px 30px rgba(18,18,15,0.05);
    }

    .board-panel[hidden] {
      display: none;
    }

    .board-section .notice-list {
      margin-top: 18px;
    }

    .board-head .eyebrow {
      margin-bottom: 8px;
    }

    .board-head h3 {
      margin: 0;
      font-family: var(--font-display);
      font-size: 24px;
      line-height: 1.12;
      letter-spacing: 0;
    }

    .board-post-list {
      gap: 10px;
    }

    .notice.board-post {
      min-height: 0;
      padding: 0;
      display: block;
    }

    .notice.board-post::after {
      display: none;
    }

    .board-post-head {
      width: 100%;
      display: grid;
      grid-template-columns: 64px minmax(0, 1fr) 42px;
      align-items: center;
      gap: 10px;
      padding: 16px;
      border: 0;
      background: transparent;
      color: inherit;
      text-align: left;
      font: inherit;
      cursor: pointer;
    }

    .board-post-head time {
      color: var(--red);
      font-size: 11px;
      font-weight: 800;
    }

    .board-post-head strong {
      min-width: 0;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
      font-size: 15px;
      line-height: 1.25;
    }

    .board-post-head span {
      justify-self: end;
      min-width: 38px;
      height: 24px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      background: rgba(36,173,155,0.12);
      color: #1b766f;
      font-size: 11px;
      font-weight: 800;
    }

    .board-post-body {
      padding: 0 16px 16px 90px;
      border-top: 1px solid rgba(21,21,21,0.08);
    }

    .board-post-body p {
      margin: 14px 0 0;
      color: var(--sub);
      font-size: 13px;
      line-height: 1.72;
    }

    .board-post.is-open {
      border-color: rgba(36,173,155,0.32);
      box-shadow: 0 20px 42px rgba(18,18,15,0.1);
    }

    .board-title-list {
      display: grid;
      gap: 10px;
      margin-top: 36px;
    }

    .board-title-row {
      min-height: 58px;
      display: flex;
      align-items: center;
      padding: 0 16px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--paper);
      color: var(--ink);
      box-shadow: 0 14px 30px rgba(18,18,15,0.06);
      transition:
        transform 340ms cubic-bezier(.2,.8,.2,1),
        box-shadow 340ms ease,
        border-color 340ms ease;
    }

    .board-title-row:hover,
    .board-title-row:focus-visible {
      transform: translate3d(0, -3px, 0);
      border-color: rgba(36,173,155,0.32);
      box-shadow: 0 22px 44px rgba(18,18,15,0.12);
    }

    .board-title-row time {
      color: var(--red);
      font-size: 11px;
      font-weight: 800;
    }

    .board-title-row strong {
      min-width: 0;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
      font-size: 15px;
      line-height: 1.25;
    }

    .board-title-row i {
      justify-self: end;
      color: rgba(21,21,21,0.36);
      font-style: normal;
      font-weight: 800;
    }

    .board-detail-card {
      margin-top: 36px;
      padding: 22px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--paper);
      box-shadow: 0 16px 34px rgba(18,18,15,0.07);
    }

    .board-detail-meta {
      display: flex;
      gap: 8px;
      align-items: center;
      color: var(--red);
      font-size: 12px;
      font-weight: 800;
    }

    .board-detail-title {
      margin: 14px 0 0;
      font-family: var(--font-display);
      font-size: 28px;
      line-height: 1.16;
      letter-spacing: 0;
    }

    .board-detail-body {
      margin-top: 22px;
      color: #34373d;
      font-size: 14px;
      line-height: 1.82;
    }

    .board-detail-body p {
      margin: 0 0 14px;
    }

    .board-actions {
      display: flex;
      margin-top: 20px;
    }

    .gallery-board {
      display: grid;
      gap: 18px;
      margin-top: 36px;
    }

    .gallery-board.has-book-gallery {
      display: block;
    }

    .gallery-board.has-book-gallery > .gallery-feature,
    .gallery-board.has-book-gallery > .gallery-grid {
      display: none;
    }

    .book-gallery {
      position: relative;
      display: grid;
      gap: 18px;
      margin-top: 28px;
      overflow: hidden;
    }

    .book-gallery-stage {
      position: relative;
      min-height: clamp(292px, 66vw, 390px);
      overflow: hidden;
      border-radius: 0;
      background:
        radial-gradient(ellipse at 50% 72%, rgba(20,20,20,0.07), transparent 42%),
        linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
      perspective: 1000px;
      touch-action: pan-y;
      cursor: zoom-in;
    }

    .book-gallery-scene {
      position: absolute;
      left: 50%;
      top: 53%;
      width: min(90%, 520px);
      height: clamp(206px, 45vw, 270px);
      transform: translate3d(-50%,-50%,0);
      transform-style: preserve-3d;
      user-select: none;
      -webkit-user-select: none;
      cursor: zoom-in;
    }

    .book-under-stack,
    .book-fold-stack,
    .book-main-page,
    .book-hinge {
      position: absolute;
      pointer-events: none;
    }

    .book-main-page {
      left: 10%;
      top: 12%;
      z-index: 8;
      width: 82%;
      height: 64%;
      overflow: hidden;
      background: #f8f7f3;
      border: 1px solid rgba(20,20,20,0.06);
      border-radius: 6px 3px 5px 3px;
      clip-path: polygon(0 0, 99.4% 0, 100% 96%, 0 92%);
      box-shadow:
        0 18px 38px rgba(15,15,15,0.13),
        12px 14px 18px rgba(15,15,15,0.08);
      transform-origin: left center;
    }

    .book-main-page::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
      background:
        linear-gradient(90deg, rgba(0,0,0,0.12), transparent 8%, transparent 94%, rgba(0,0,0,0.10)),
        linear-gradient(180deg, rgba(255,255,255,0.10), transparent 52%, rgba(0,0,0,0.08));
      mix-blend-mode: multiply;
      opacity: 0.32;
    }

    .book-main-photo,
    .book-under-page,
    .book-fold-page {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }

    .book-main-photo {
      transform: scale(1.02);
    }

    .book-under-stack {
      inset: 0;
      z-index: 1;
    }

    .book-under-page {
      position: absolute;
      left: 11.5%;
      top: 18%;
      width: 82%;
      height: 63%;
      overflow: hidden;
      opacity: 0.18;
      border-radius: 5px;
      clip-path: polygon(0 1%, 99.2% 0, 100% 96%, 0 92%);
      filter: grayscale(1) saturate(0.2) brightness(1.1);
      transform-origin: left top;
      box-shadow: 7px 10px 16px rgba(12,12,12,0.10);
    }

    .book-under-page-1 {
      z-index: 4;
      transform: translate3d(12px,18px,-14px) rotateZ(1.2deg);
    }

    .book-under-page-2 {
      z-index: 3;
      transform: translate3d(23px,28px,-26px) rotateZ(2.2deg);
      opacity: 0.11;
    }

    .book-under-page-3 {
      z-index: 2;
      transform: translate3d(34px,38px,-38px) rotateZ(3deg);
      opacity: 0;
    }

    .book-fold-stack {
      left: 1.8%;
      top: 12%;
      z-index: 10;
      width: 10%;
      height: 62%;
      transform-style: preserve-3d;
      perspective: 760px;
    }

    .book-fold-page {
      position: absolute;
      right: 0;
      top: 0;
      width: 58%;
      height: 100%;
      overflow: hidden;
      opacity: 0.42;
      object-position: 22% center;
      border-radius: 2px 0 0 2px;
      clip-path: polygon(10% 4%, 100% 8%, 100% 100%, 0 90%);
      transform-origin: right center;
      box-shadow:
        -6px 10px 12px rgba(12,12,12,0.12),
        inset -18px 0 24px rgba(0,0,0,0.30);
      filter: grayscale(1) saturate(0.2) brightness(0.92) contrast(1.03);
    }

    .book-fold-page-1 {
      z-index: 14;
      transform: translate3d(2px,0,0) rotateY(-58deg) skewY(-3deg);
    }

    .book-fold-page-2 {
      z-index: 13;
      transform: translate3d(-11px,7px,-13px) rotateY(-67deg) skewY(-5deg);
    }

    .book-fold-page-3 {
      z-index: 12;
      transform: translate3d(-23px,13px,-25px) rotateY(-72deg) skewY(-7deg);
      opacity: 0.22;
    }

    .book-fold-page-4 {
      z-index: 11;
      transform: translate3d(-34px,19px,-37px) rotateY(-76deg) skewY(-9deg);
      opacity: 0;
    }

    .book-hinge {
      left: 9.5%;
      top: 12%;
      z-index: 11;
      width: 2.3%;
      height: 64%;
      background: linear-gradient(90deg, rgba(0,0,0,0.30), rgba(0,0,0,0.07), rgba(255,255,255,0.14));
      clip-path: polygon(0 0, 100% 4%, 100% 100%, 0 92%);
      opacity: 0.28;
      mix-blend-mode: multiply;
    }

    .book-gallery-scene::after {
      content: "";
      position: absolute;
      left: 12%;
      right: 5%;
      bottom: 0;
      z-index: 0;
      height: 34%;
      background: radial-gradient(ellipse at 56% 42%, rgba(0,0,0,0.13), transparent 68%);
      filter: blur(12px);
      opacity: 0.28;
      transform: translateY(18px);
      pointer-events: none;
    }

    .book-gallery-scene.is-turning-forward .book-main-page,
    .book-gallery-scene.is-turning-backward .book-main-page {
      animation: bookMainForward 620ms cubic-bezier(.2,.8,.2,1) both;
    }

    .book-gallery-scene.is-turning-forward .book-fold-page-1,
    .book-gallery-scene.is-turning-backward .book-fold-page-1 {
      animation: bookFoldPulse 680ms cubic-bezier(.2,.8,.2,1) both;
    }

    @keyframes bookMainForward {
      0% {
        opacity: 1;
        transform: translate3d(18px,2px,0) rotateY(-8deg) scale(0.988);
      }
      100% {
        opacity: 1;
        transform: translate3d(0,0,0) rotateY(0deg) scale(1);
      }
    }

    @keyframes bookMainBackward {
      0% {
        opacity: 1;
        transform: translate3d(18px,2px,0) rotateY(-8deg) scale(0.988);
      }
      100% {
        opacity: 1;
        transform: translate3d(0,0,0) rotateY(0deg) scale(1);
      }
    }

    @keyframes bookFoldPulse {
      0% {
        opacity: 0.92;
        transform: translate3d(7px,0,0) rotateY(-45deg) skewY(-2deg);
      }
      100% {
        opacity: 0.76;
      }
    }

    .book-gallery-caption {
      display: grid;
      gap: 6px;
      text-align: center;
    }

    .book-gallery-caption strong {
      color: var(--ink);
      font-family: var(--font-display);
      font-size: 20px;
      line-height: 1.2;
    }

    .book-gallery-caption span {
      color: var(--sub);
      font-size: 12px;
      line-height: 1.55;
    }

    .book-gallery-dots {
      display: flex;
      justify-content: center;
      gap: 7px;
    }

    .book-gallery-dot {
      width: 7px;
      height: 7px;
      border-radius: 999px;
      background: rgba(21,21,21,0.16);
      transition: width 220ms ease, background-color 220ms ease;
    }

    .book-gallery-dot.is-active {
      width: 26px;
      background: #151515;
    }

    .gallery-feature {
      position: relative;
      display: grid;
      align-content: end;
      min-height: 372px;
      overflow: hidden;
      padding: 22px;
      border-radius: 0;
      color: #ffffff;
      background: #151515;
      box-shadow: 0 18px 44px rgba(18,18,15,0.12);
      transform: translate3d(0, 0, 0);
      transition:
        transform 360ms cubic-bezier(.2,.8,.2,1),
        box-shadow 360ms ease,
        filter 360ms ease;
    }

    .gallery-feature::after {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(21,21,21,0.08) 0%, rgba(21,21,21,0.26) 44%, rgba(21,21,21,0.82) 100%);
      content: "";
    }

    .gallery-feature::before,
    .gallery-card::before,
    .notice::before {
      position: absolute;
      inset: 0;
      z-index: 2;
      background: linear-gradient(110deg, transparent 0 30%, rgba(255,255,255,0.32) 45%, transparent 62% 100%);
      opacity: 0;
      transform: translateX(-120%);
      transition:
        opacity 180ms ease,
        transform 520ms cubic-bezier(.2,.8,.2,1);
      content: "";
      pointer-events: none;
    }

    .gallery-feature img,
    .gallery-card img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .gallery-feature > *:not(img) {
      position: relative;
      z-index: 1;
    }

    .gallery-category {
      width: fit-content;
      margin-bottom: 12px;
      padding: 7px 10px;
      border: 1px solid rgba(255,255,255,0.46);
      border-radius: 999px;
      background: rgba(255,255,255,0.16);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.02em;
    }

    .gallery-feature strong {
      display: block;
      font-size: 27px;
      line-height: 1.16;
    }

    .gallery-feature span:last-child {
      display: block;
      margin-top: 10px;
      color: rgba(255,255,255,0.78);
      font-size: 13px;
      line-height: 1.65;
    }

    .gallery-grid {
      display: grid;
      gap: 12px;
    }

    .gallery-card {
      position: relative;
      display: grid;
      min-height: 214px;
      overflow: hidden;
      align-content: end;
      padding: 16px;
      border: 1px solid rgba(21,21,21,0.08);
      border-radius: 0;
      background: #151515;
      color: #ffffff;
      box-shadow: 0 12px 28px rgba(18,18,15,0.08);
      transform: translate3d(0, 0, 0);
      transition:
        transform 340ms cubic-bezier(.2,.8,.2,1),
        box-shadow 340ms ease,
        filter 340ms ease;
    }

    .gallery-card::after {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(21,21,21,0.05) 0%, rgba(21,21,21,0.16) 45%, rgba(21,21,21,0.82) 100%);
      content: "";
    }

    .gallery-card > *:not(img) {
      position: relative;
      z-index: 1;
    }

    .gallery-card time {
      margin-bottom: 7px;
      color: #ff675e;
      font-size: 11px;
      font-weight: 700;
    }

    .gallery-card strong {
      font-size: 16px;
      line-height: 1.25;
    }

    .gallery-card span {
      margin-top: 6px;
      color: rgba(255,255,255,0.72);
      font-size: 12px;
      line-height: 1.5;
    }

    .notice {
      position: relative;
      overflow: hidden;
      padding: 18px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--paper);
      display: grid;
      gap: 5px;
      box-shadow: 0 14px 30px rgba(18,18,15,0.06);
      transform: translate3d(0, 0, 0);
      transition:
        transform 340ms cubic-bezier(.2,.8,.2,1),
        box-shadow 340ms ease,
        border-color 340ms ease;
    }

    .notice::after {
      position: absolute;
      top: 0;
      right: 0;
      width: 52px;
      height: 100%;
      background: linear-gradient(180deg, rgba(224,73,62,0.12), rgba(36,173,155,0.1));
      content: "";
    }

    .gallery-feature:hover,
    .gallery-card:hover,
    .notice:hover,
    .gallery-feature:focus-visible,
    .gallery-card:focus-visible,
    .notice:focus-visible {
      transform: translate3d(0, -4px, 0);
      box-shadow: 0 26px 54px rgba(18,18,15,0.16);
    }

    .gallery-feature.is-pressing,
    .gallery-card.is-pressing,
    .notice.is-pressing,
    .is-pressing {
      transform: translate3d(0, 1px, 0) scale(0.985);
    }

    .gallery-feature.is-pressing::before,
    .gallery-card.is-pressing::before,
    .notice.is-pressing::before {
      opacity: 1;
      transform: translateX(120%);
    }

    .notice time {
      color: var(--red);
      font-size: 11px;
      font-weight: 700;
    }

    .notice strong {
      font-size: 15px;
      line-height: 1.25;
    }

    .notice span {
      color: var(--sub);
      font-size: 12px;
    }

    .form {
      margin-top: 36px;
      padding: 20px;
      border-radius: var(--radius);
      background:
        linear-gradient(145deg, rgba(255,255,255,0.12), rgba(255,255,255,0.05));
      border: 1px solid rgba(255,255,255,0.14);
    }

    .field {
      display: grid;
      gap: 6px;
      margin-bottom: 10px;
    }

    .field span {
      color: rgba(255,255,255,0.74);
      font-size: 12px;
      font-weight: 700;
    }

    .field input,
    .field textarea {
      width: 100%;
      border: 1px solid rgba(255,255,255,0.17);
      border-radius: var(--radius);
      background: rgba(255,255,255,0.1);
      color: #fff;
      outline: 0;
    }

    .field input {
      height: 45px;
      padding: 0 12px;
    }

    .field textarea {
      min-height: 104px;
      padding: 12px;
      resize: vertical;
    }

    .field input::placeholder,
    .field textarea::placeholder {
      color: rgba(255,255,255,0.38);
    }

    .reveal-ready body:is(:not(.home-page), .integrated-page):not(.desktop-mode) .center-rise-item {
      opacity: 0;
      transform: translate3d(0, 58px, 0) scale(0.982);
      transition:
        opacity 1320ms ease,
        transform 1760ms cubic-bezier(0.18, 0.92, 0.22, 1),
        box-shadow 720ms ease,
        border-color 620ms ease,
        filter 720ms ease;
      transition-delay: var(--center-rise-delay, 0ms);
      will-change: opacity, transform;
    }

    .reveal-ready body:is(:not(.home-page), .integrated-page):not(.desktop-mode) .center-rise-item.is-item-visible {
      opacity: 1;
      transform: translate3d(0, 0, 0) scale(1);
    }

    .reveal-ready body:is(:not(.home-page), .integrated-page):not(.desktop-mode) :is(.quick-list, .roadmap, .circle-row, .faculty-list, .admission-paths, .gallery-grid, .notice-list, .steps, .form) .center-rise-item:nth-child(2).is-item-visible {
      --center-rise-delay: 260ms;
    }

    .reveal-ready body:is(:not(.home-page), .integrated-page):not(.desktop-mode) :is(.quick-list, .roadmap, .circle-row, .faculty-list, .admission-paths, .gallery-grid, .notice-list, .steps, .form) .center-rise-item:nth-child(3).is-item-visible {
      --center-rise-delay: 520ms;
    }

    .reveal-ready body:is(:not(.home-page), .integrated-page):not(.desktop-mode) :is(.faculty-list, .steps, .form) .center-rise-item:nth-child(4).is-item-visible {
      --center-rise-delay: 780ms;
    }

    body:is(:not(.home-page), .integrated-page) .center-rise-item.is-item-visible:is(.quick-card, .year, .circle, .faculty-card, .admission-path, .notice, .field) {
      box-shadow: 0 22px 52px rgba(18,18,15,0.11);
    }

    body:is(:not(.home-page), .integrated-page) .center-rise-item.is-item-visible:is(.book-gallery, .gallery-feature, .gallery-card, .work) {
      filter: saturate(1.03) contrast(1.02);
      box-shadow: 0 28px 62px rgba(18,18,15,0.16);
    }

    body:is(:not(.home-page), .integrated-page) .center-rise-item.is-item-visible:is(.career-chip, .partner-chip) {
      border-color: rgba(255,119,89,0.28);
      box-shadow: 0 10px 24px rgba(18,18,15,0.08);
    }

    body:not(.home-page):not(.desktop-mode) .section {
      margin: 0;
      padding-top: 72px;
      padding-bottom: 84px;
    }

    body:not(.home-page):not(.desktop-mode) .section.compact {
      padding-top: 66px;
      padding-bottom: 76px;
    }

    .reveal-ready body:is(:not(.home-page), .integrated-page):not(.desktop-mode) .reveal :is(.quick-card, .faculty-card).center-rise-item,
    .reveal-ready body:is(:not(.home-page), .integrated-page):not(.desktop-mode) .reveal :is(.quick-card, .faculty-card).center-rise-item.is-item-visible {
      opacity: 0;
      transform: translate3d(0, 28px, 0) scale(0.985);
      transition:
        opacity 1040ms ease,
        transform 1320ms cubic-bezier(0.18, 0.92, 0.22, 1),
        border-color 220ms ease,
        box-shadow 420ms ease,
        background 220ms ease;
      transition-delay: var(--center-rise-delay, 0ms);
      will-change: opacity, transform;
    }

    .reveal-ready body:is(:not(.home-page), .integrated-page):not(.desktop-mode) .reveal.is-visible :is(.quick-card, .faculty-card).center-rise-item,
    .reveal-ready body:is(:not(.home-page), .integrated-page):not(.desktop-mode) .reveal.is-visible :is(.quick-card, .faculty-card).center-rise-item.is-item-visible {
      opacity: 1;
      transform: none;
    }

    .reveal-ready body:is(:not(.home-page), .integrated-page):not(.desktop-mode) .reveal.is-visible :is(.quick-card, .faculty-card).center-rise-item:nth-child(2) {
      --center-rise-delay: 150ms;
    }

    .reveal-ready body:is(:not(.home-page), .integrated-page):not(.desktop-mode) .reveal.is-visible :is(.quick-card, .faculty-card).center-rise-item:nth-child(3) {
      --center-rise-delay: 300ms;
    }

    .reveal-ready body:is(:not(.home-page), .integrated-page):not(.desktop-mode) .reveal.is-visible .faculty-card.center-rise-item:nth-child(4) {
      --center-rise-delay: 450ms;
    }

    body:not(.home-page):not(.desktop-mode) .quick-list {
      gap: 12px;
      margin-top: 24px;
      border-top: 0;
    }

    body:not(.home-page):not(.desktop-mode) .quick-card {
      min-height: 0;
      padding: 18px 16px 18px 20px;
      border: 1px solid rgba(21,21,21,0.1);
      border-radius: 10px;
      background: rgba(255,255,255,0.9);
      box-shadow: 0 12px 28px rgba(18,18,15,0.06);
    }

    body:not(.home-page):not(.desktop-mode) .quick-card::before {
      left: 0;
      top: 14px;
      bottom: 14px;
      width: 3px;
      border-radius: 999px;
      transform: scaleY(1);
    }

    body:not(.home-page):not(.desktop-mode) .quick-card strong {
      font-size: 16px;
      line-height: 1.32;
    }

    body:not(.home-page):not(.desktop-mode) .quick-card span {
      margin-top: 8px;
      font-size: 12px;
      line-height: 1.55;
    }

    body:not(.home-page):not(.desktop-mode) .faculty-list {
      gap: 12px;
      margin-top: 24px;
    }

    body:not(.home-page):not(.desktop-mode) .faculty-card,
    body:not(.home-page):not(.desktop-mode) .faculty-card:nth-child(even) {
      grid-template-columns: minmax(0, 1fr) 96px;
      min-height: 132px;
      border-radius: 10px;
      background: rgba(255,255,255,0.88);
      box-shadow: 0 12px 28px rgba(18,18,15,0.07);
    }

    body:not(.home-page):not(.desktop-mode) .faculty-card .faculty-photo,
    body:not(.home-page):not(.desktop-mode) .faculty-card:nth-child(even) .faculty-photo {
      grid-column: 2;
      grid-row: 1;
      width: 96px;
      height: 132px;
      min-height: 132px;
    }

    body:not(.home-page):not(.desktop-mode) .faculty-card .faculty-body,
    body:not(.home-page):not(.desktop-mode) .faculty-card:nth-child(even) .faculty-body {
      grid-column: 1;
      grid-row: 1;
      min-width: 0;
      padding: 14px 12px;
    }

    body:not(.home-page):not(.desktop-mode) .faculty-body strong {
      font-size: 15px;
      line-height: 1.25;
    }

    body:not(.home-page):not(.desktop-mode) .faculty-body span {
      font-size: 11px;
      line-height: 1.45;
    }

    .footer {
      position: relative;
      padding: 26px 16px 94px;
      background: #0d0d0f;
      color: rgba(255,255,255,0.68);
      font-size: 12px;
      overflow: hidden;
    }

    .footer::before {
      position: absolute;
      left: 0;
      top: 0;
      z-index: 0;
      right: 0;
      height: 86px;
      background: #fff;
      border-radius: 0;
      content: "";
      pointer-events: none;
    }

    .footer > * {
      position: relative;
      z-index: 1;
    }

    .footer strong {
      display: block;
      color: #fff;
      font-size: 15px;
      margin-bottom: 6px;
    }

    .footer-info {
      display: grid;
      gap: 3px;
      line-height: 1.6;
    }

    .footer-info span {
      display: block;
    }

    .footer span a {
      color: inherit;
      text-decoration: underline;
      text-underline-offset: 2px;
    }

    .bottom-cta {
      position: sticky;
      bottom: 0;
      z-index: 50;
      width: min(100%, var(--max));
      margin: 0 auto;
      padding: 9px 12px calc(9px + env(safe-area-inset-bottom));
      border-top: 1px solid rgba(223,223,216,0.85);
      background: rgba(255,255,255,0.92);
      backdrop-filter: blur(14px);
      display: block;
    }

    .bottom-cta .button {
      width: 100%;
    }

    .image-lightbox {
      position: fixed;
      inset: 0;
      z-index: 9998;
      display: grid;
      place-items: center;
      padding: clamp(16px, 4vw, 48px);
      background: rgba(8, 9, 12, 0.88);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      backdrop-filter: blur(14px);
      transition: opacity 220ms ease, visibility 220ms ease;
    }

    .image-lightbox.is-open {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }

    .image-lightbox-frame {
      width: min(100%, 1320px);
      max-height: 92dvh;
      display: grid;
      gap: 12px;
      justify-items: center;
    }

    .image-lightbox-image {
      display: block;
      max-width: 100%;
      max-height: min(82dvh, 820px);
      object-fit: contain;
      background: #0c0c10;
      box-shadow: 0 30px 90px rgba(0,0,0,0.42);
      cursor: zoom-out;
    }

    .image-lightbox-caption {
      max-width: min(760px, 92vw);
      margin: 0;
      color: rgba(255,255,255,0.82);
      font-size: 13px;
      line-height: 1.55;
      text-align: center;
    }

    .image-lightbox-close {
      position: fixed;
      top: clamp(14px, 2.6vw, 28px);
      right: clamp(14px, 2.6vw, 28px);
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(255,255,255,0.28);
      border-radius: 999px;
      background: rgba(255,255,255,0.12);
      color: #ffffff;
      font-size: 30px;
      line-height: 1;
      cursor: pointer;
      backdrop-filter: blur(10px);
    }

    .modal {
      position: fixed;
      inset: 0;
      z-index: 320;
      display: none;
      padding: 18px;
      overflow-y: auto;
      background:
        radial-gradient(circle at 28% 18%, rgba(255,119,89,0.18), transparent 32%),
        radial-gradient(circle at 86% 86%, rgba(36,173,155,0.2), transparent 34%),
        rgba(0,0,0,0.72);
      backdrop-filter: blur(10px);
    }

    .modal.is-open,
    .modal.is-closing {
      display: grid;
      place-items: center;
    }

    #modal.is-open .modal-card {
      animation: modalSlideIn 420ms cubic-bezier(.2,.8,.2,1) both;
    }

    .modal-card {
      width: min(calc(100vw - 36px), var(--max));
      max-height: calc(100dvh - 36px);
      overflow: hidden;
      border-radius: var(--radius);
      background: var(--paper);
      box-shadow:
        0 36px 90px rgba(0,0,0,0.42),
        0 1px 0 rgba(255,255,255,0.55) inset;
      isolation: isolate;
    }

    .modal-visual {
      min-height: 154px;
      background:
        linear-gradient(90deg, rgba(6,14,21,0.74), rgba(6,14,21,0.14)),
        var(--modal-image, url("../images/embedded-03.jpg")) center / cover;
    }

    .modal-body {
      padding: 18px;
      display: grid;
      gap: 10px;
    }

    .modal-body h2 {
      margin: 0;
      font-size: 24px;
      line-height: 1.1;
      word-break: normal;
      overflow-wrap: anywhere;
    }

    .modal-body p {
      margin: 0;
      color: var(--sub);
      font-size: 14px;
      word-break: normal;
      overflow-wrap: anywhere;
    }

    .modal-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      margin-top: 4px;
    }

    .modal-snooze {
      justify-self: start;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 28px;
      margin-top: 0;
      color: #5f6672;
      font-size: 12px;
      font-weight: 700;
      line-height: 1.2;
      cursor: pointer;
      user-select: none;
    }

    .modal-snooze input {
      flex: 0 0 auto;
      width: 16px;
      height: 16px;
      margin: 0;
      accent-color: #15151b;
      cursor: pointer;
    }

    .modal-snooze span {
      display: block;
    }

    .faculty-modal {
      --faculty-origin-x: 50%;
      --faculty-origin-y: 100%;
      --faculty-motion-ms: 840ms;
      --faculty-motion-ease: cubic-bezier(.37,0,.63,1);
      padding: 18px 14px calc(18px + env(safe-area-inset-bottom));
      background: rgba(0,0,0,0);
    }

    .faculty-modal.is-closing {
      pointer-events: none;
    }

    .faculty-modal.is-opening::before {
      animation: facultyOverlayCollapse var(--faculty-motion-ms) var(--faculty-motion-ease) reverse both;
    }

    .faculty-modal.is-closing::before {
      animation: facultyOverlayCollapse var(--faculty-motion-ms) var(--faculty-motion-ease) both;
    }

    .faculty-modal::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      background: rgba(0,0,0,0.62);
      opacity: 0;
      pointer-events: none;
      will-change: opacity;
    }

    .faculty-modal.is-visible::before {
      opacity: 1;
    }

    .faculty-modal .modal-card {
      position: relative;
      z-index: 1;
      max-height: calc(100vh - 56px);
      max-height: min(82dvh, 720px);
      display: grid;
      grid-template-rows: auto minmax(0, 1fr);
      background: #fbfbf8;
      opacity: 0;
      transform: translate3d(0, 12px, 0) scale(0.14);
      transform-origin: var(--faculty-origin-x) var(--faculty-origin-y);
      backface-visibility: hidden;
      contain: layout paint style;
      isolation: isolate;
      will-change: transform, opacity;
    }

    .faculty-modal.is-visible .modal-card {
      opacity: 1;
      transform: translate3d(0, 0, 0) scale(1);
    }

    .faculty-modal.is-measuring .modal-card {
      opacity: 0;
      transform: translate3d(0, 0, 0) scale(1);
    }

    .faculty-modal.is-opening .modal-card {
      animation: facultyCardCollapse var(--faculty-motion-ms) var(--faculty-motion-ease) reverse both;
    }

    .faculty-modal.is-closing .modal-card {
      animation: facultyCardCollapse var(--faculty-motion-ms) var(--faculty-motion-ease) both;
    }

    .faculty-modal-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 14px;
      padding: 18px;
      border-bottom: 1px solid var(--line);
      background:
        linear-gradient(135deg, rgba(234,67,59,0.10), rgba(34,178,160,0.08)),
        #fff;
    }

    .faculty-modal-kicker {
      display: block;
      margin-bottom: 5px;
      color: var(--red);
      font-size: 12px;
      font-weight: 700;
    }

    .faculty-modal-head h2 {
      margin: 0;
      font-size: 23px;
      line-height: 1.15;
    }

    .faculty-modal-close {
      flex: 0 0 auto;
      min-height: 32px;
      padding: 0 11px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: #fff;
      color: var(--ink);
      font-size: 12px;
      font-weight: 700;
      cursor: pointer;
    }

    .faculty-modal-content {
      overflow: auto;
      padding: 16px 18px 20px;
      display: grid;
      gap: 18px;
      -webkit-overflow-scrolling: touch;
    }

    .faculty-career-section {
      display: grid;
      gap: 10px;
    }

    .faculty-career-section h3 {
      margin: 0;
      color: #0e1218;
      font-size: 16px;
      line-height: 1.25;
    }

    .faculty-career-group {
      display: grid;
      gap: 7px;
      padding: 12px;
      border: 1px solid rgba(18,18,15,0.08);
      border-radius: 12px;
      background: rgba(255,255,255,0.74);
    }

    .faculty-career-group h4 {
      margin: 0;
      color: var(--red);
      font-size: 12px;
      line-height: 1.2;
    }

    .faculty-career-group ul {
      display: grid;
      gap: 6px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .faculty-career-group li {
      color: #3b414b;
      font-size: 13px;
      line-height: 1.55;
    }

    @keyframes modalSlideIn {
      from {
        opacity: 0;
        transform: translate3d(0, 28px, 0) scale(0.98);
      }

      to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
      }
    }

    @keyframes facultyOverlayCollapse {
      from {
        opacity: 1;
      }

      to {
        opacity: 0;
      }
    }

    @keyframes facultyCardCollapse {
      from {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
      }

      to {
        opacity: 0;
        transform: translate3d(0, 12px, 0) scale(0.14);
      }
    }

    @media (min-width: 680px) {
      body {
        background: #deded8;
      }

      .page {
        min-height: auto;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *,
      *::before,
      *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }
    }
