/* Metric-matched stand-in for Pretendard until its subsets arrive (fonts.css is attached by site.js). Overrides come from Pretendard's own metrics (unitsPerEm 2048, typo ascender 1949, descender -494, line gap 0) against Apple SD Gothic Neo Regular's Latin widths; unicode-range is the set of characters Pretendard's subset files actually contain (their cmaps), so characters Pretendard lacks still fall through as before. */
@font-face{font-family:"Pretendard Fallback";src:local("Apple SD Gothic Neo Regular"),local("AppleSDGothicNeo-Regular"),local("Malgun Gothic"),local("Arial"),local("ArialMT");size-adjust:105.71%;ascent-override:90.03%;descent-override:22.82%;line-gap-override:0%;unicode-range:U+20-7e,U+a0-ff}
:root{--ink:#171918;--muted:#696c6b;--paper:#f5f5f3;--line:#d5d7d4;--lavender:#bba7e8;--sage:#a8cdbb;--accent:var(--lavender);--dark:#141615;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Pretendard,"Pretendard Fallback",-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif;font-size:17px;font-weight:400;line-height:1.75;word-break:normal;overflow-wrap:break-word}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-underline-offset:.25em}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;letter-spacing:-.055em;line-height:1.2}h1{font-size:clamp(42px,5.6vw,84px)}h2{font-size:clamp(34px,4.2vw,64px)}h3{font-size:26px}::selection{background:var(--accent);color:var(--ink)}[hidden]{display:none!important}.wrap{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.skip{position:fixed;left:24px;top:-100px;z-index:100;padding:12px 20px;background:var(--accent);color:var(--ink)}.skip:focus{top:16px}.site-header{height:96px;padding-inline:56px;display:flex;align-items:center;gap:42px;background:var(--paper);border-bottom:1px solid var(--line);z-index:30;position:sticky;top:0}.brand{display:inline-flex;width:132px;flex-shrink:0;align-items:center}.site-header .brand{padding-block:11px;margin-block:-11px}.brand img{width:100%;height:auto;display:block;filter:grayscale(1) brightness(0)}.primary-nav{display:flex;justify-content:center;gap:36px;margin-inline:auto;font-size:14px}.primary-nav a{text-decoration:none;position:relative;padding-block:12px}.primary-nav a::after{content:'';position:absolute;left:0;bottom:5px;width:0;height:1px;background:currentColor;transition:width .2s}.primary-nav a:hover::after,.primary-nav a[aria-current]::after{width:100%}.header-contact{border:1px solid currentColor;padding:8px 19px;text-decoration:none;font-size:13px;display:flex;gap:24px;align-items:center;white-space:nowrap}.header-contact:hover{background:var(--ink);color:var(--paper)}.header-contact span{font-size:19px;line-height:1}.nav-toggle{display:none;background:transparent;border:0;width:42px;height:42px;padding:10px}.nav-toggle span{display:block;width:22px;height:1px;background:currentColor;margin:6px 0;transition:transform .2s}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.eyebrow,.mono{font-family:'SFMono-Regular',Consolas,'Liberation Mono',monospace;font-size:11px;letter-spacing:.11em;font-weight:400;text-transform:uppercase}.eyebrow{display:block}.text-link{text-decoration:none;display:inline-flex;align-items:center;gap:40px;font-size:14px;border-bottom:1px solid;padding-block:10px}.text-link span:last-child{font-size:23px;line-height:1;transition:transform .2s}.text-link:hover span:last-child{transform:translate(3px,-3px)}.section-label{display:flex;align-items:center;gap:18px;font-size:11px;letter-spacing:.09em;font-family:'SFMono-Regular',Consolas,monospace;text-transform:uppercase}.section-label::before{content:'';width:6px;height:6px;background:currentColor;flex:none}
@media(min-width:1800px){.site-header{padding-inline:max(56px,calc((100vw - 1440px)/2))}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.site-header{padding-inline:32px;gap:24px}.primary-nav{gap:22px}}
@media(max-width:900px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 40px)}.site-header{min-height:78px;height:auto;padding:21px 20px;gap:20px;flex-wrap:wrap}.brand{width:110px}.header-contact{margin-left:auto;font-size:12px;padding:6px 12px;gap:12px}.has-js .nav-toggle{display:block;order:3}.primary-nav{order:4;flex-basis:100%;gap:22px;justify-content:flex-start;margin:0;font-size:13px}.has-js .primary-nav{display:none}.has-js .site-header.menu-open .primary-nav{display:flex;flex-direction:column;gap:0;padding-top:24px}.has-js .site-header.menu-open .primary-nav a{padding:15px 0;border-top:1px solid var(--line)}.primary-nav a::after{display:none}.site-header.menu-open{background:var(--paper)}.text-link{gap:28px}h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.site-header,.nav-toggle,.skip{display:none}.wrap{width:100%}body{background:var(--surface)}}
@media(max-width:380px){.site-header{gap:10px}.brand{width:95px}.header-contact{font-size:11px;padding:6px 9px;gap:8px}.nav-toggle{width:38px;padding:8px}}
