:root {
  color-scheme: dark;
  --paper: #0c0c0c;
  --ink: #ededed;
  --muted: #a3a3a3;
  --line: #2c2c2c;
  --accent: #d4d4d4;
  --green: var(--accent);
  --wash: #171717;
  --deep: #111111;
  --on-deep: #ededed;
  --link-line: #666666;
  --sans: "DM Sans", "Noto Sans KR", "Apple SD Gothic Neo", Arial, sans-serif;
  --gutter: clamp(22px, 5vw, 72px);
}
html { scroll-padding-top: 120px; }
body { font-family: var(--sans); }
::selection { background: #555555; color: #ffffff; }
.skip,.skip-link { background:#ededed; color:#111111; z-index:30; }
a,button,input,summary { -webkit-tap-highlight-color: transparent; }
a,button { transition: color .16s ease, background-color .16s ease, border-color .16s ease; }
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.brand-header { position: sticky; top: 0; z-index: 10; background: rgba(12,12,12,.93); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.brand-header-inner { max-width: 1440px; margin: auto; padding: 0 var(--gutter); min-height: 96px; display: flex; align-items: center; gap: 36px; border-bottom: 1px solid var(--line); }
.brand-switch { display: flex; align-items: center; gap: 8px; }
.brand-choice { display: inline-flex; align-items: center; position: relative; gap: 10px; height: 54px; min-height: 52px; line-height: 1; padding: 9px 15px; color: var(--muted); border: 1px solid transparent; border-radius: 8px; white-space: nowrap; }
.brand-choice.is-selected { color: var(--ink); background: linear-gradient(160deg,#252525,#171717); border-color: #3b3b3b; box-shadow: inset 0 1px 0 rgba(255,255,255,.07); }
.brand-choice:hover { color: #ffffff; background-color: #1b1b1b; }
.brand-lab { font-size: 23px; font-weight: 600; letter-spacing: -.8px; }
.brand-lab b { font-weight: 400; }
/* The alpha asset is unchanged; only its CSS material follows the interface. */
.brand-symbol { position:relative; display:block; width:25px; aspect-ratio:771 / 902; overflow:hidden; flex-shrink:0; }
.brand-symbol::before,.brand-lockup::before { content:""; position:absolute; display:block; width:162.646%; left:-32.425%; background:currentColor; -webkit-mask:url("brand/ninet-transparent-v1.png") center / 100% 100% no-repeat; mask:url("brand/ninet-transparent-v1.png") center / 100% 100% no-repeat; }
.brand-symbol::before { height:139.025%; top:-13.414%; }
.brand-lockup { position:relative; display:block; width:clamp(175px,17vw,230px); aspect-ratio:771 / 1038; overflow:hidden; color:var(--accent); }
.brand-lockup::before { height:120.809%; top:-11.657%; background:linear-gradient(135deg,#f5f5f5 5%,#8d8d8d 29%,#e9e9e9 42%,#ffffff 46%,#929292 63%,#cecece 83%,#f3f3f3); }
.signature { font-family: Georgia, "Times New Roman", serif; font-style: italic; font-size: 30px; line-height: 1; font-weight: 400; letter-spacing: -1.3px; }
.area-nav { display: flex; align-items: center; gap: 26px; margin-left: auto; font-size: 13px; white-space: nowrap; }
.area-nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); }
.area-nav [aria-current] { color: var(--ink); font-weight: 600; text-decoration: underline; text-underline-offset: 8px; text-decoration-thickness: 1px; text-decoration-color: #777777; }
.brand-header .language-switch { position: static; display: flex; align-items: center; gap: 12px; font-size: 11px; margin: 0; padding: 0 0 0 24px; background: none; border: 0; border-left:1px solid var(--line); border-radius: 0; white-space: nowrap; }
.brand-header .language-switch a { display: inline-flex; align-items: center; min-height: 30px; color: var(--muted); padding: 0; text-decoration: none; }
.brand-header .language-switch [aria-current] { color: var(--ink); font-weight: 700; }
.brand-header a:hover { color: #ffffff; }
@media (max-width: 900px) {
  html { scroll-padding-top: 155px; }
  .brand-header-inner { min-height: 0; display: grid; grid-template-columns: 1fr auto; gap: 0 24px; }
  .brand-switch { grid-column: 1 / -1; grid-row: 1; gap: 7px; min-height: 84px; border:0; }
  .area-nav { grid-column: 1; grid-row: 2; margin: 0; min-height: 50px; gap: 24px; }
  .brand-header .language-switch { grid-column: 2; grid-row: 2; justify-content: flex-end; padding-left:0; border:0; }
  .brand-header .language-switch a { min-height:44px; }
}
@media (max-width: 400px) {
  .brand-switch { gap: 4px; min-height: 78px; }
  .brand-choice { height:50px; min-height:48px; padding:8px 9px; }
  .brand-lab { font-size: 21px; gap: 8px; }
  .brand-symbol { width:22px; }
  .signature { font-size: 28px; }
  .area-nav { gap: 18px; font-size: 12px; }
  .brand-header .language-switch { font-size: 11px; gap: 12px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none !important; } }
@media print {
  :root { color-scheme:light; --paper:#fff; --ink:#111; --muted:#444; --line:#ddd; --accent:#333; --wash:#f5f5f5; --deep:#fff; --on-deep:#111; --link-line:#555; }
  body { background:#fff !important; color:#111; }
  .brand-header { display:none !important; }
}
