@import url('/assets/1542b2bdf46bdadf58.css');

:root {
  color-scheme:dark;
  --background:#000;
  --foreground:#fff;
  --brand:#2599a3;
  --focus:#3cb0ba;
  --muted:rgba(255,255,255,.64);
  --line:rgba(255,255,255,.16);
  --display:64px;
  --subtitle:24px;
  --section-title:32px;
  --body:16px;
  --small:14px;
  --gutter:clamp(24px,5.55vw,96px);
  --entrance-ease:cubic-bezier(.22,1,.36,1);
  --entrance-shift:18px;
}
*{box-sizing:border-box}
html{background:var(--background);scroll-padding-top:24px}
body{margin:0;background:var(--background);color:var(--foreground);font:var(--body)/1.65 KoPubDotum,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:6px}
img{display:block;max-width:100%}
p{margin:0}
[hidden]{display:none!important}
.skip-link{position:absolute;left:24px;top:-100px;padding:12px 20px;background:#fff;color:#000;z-index:20}
.skip-link:focus{top:12px}
.site-header{position:relative;z-index:2;border-bottom:1px solid var(--line);background:#000}
.header-inner{max-width:1728px;margin:auto;padding:0 var(--gutter);height:96px;display:flex;align-items:center;gap:40px}
.brand{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0}
.brand img{width:134px;height:auto}
.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:36px}
.desktop-nav a{position:relative;display:flex;align-items:center;min-height:48px;font-size:var(--small);color:var(--muted);transition:color .18s}
.desktop-nav a:hover,.desktop-nav a[aria-current]{color:#fff}
.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--entrance-ease)}
.desktop-nav a[aria-current]::after,.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after{transform:scaleX(1)}
.header-actions{display:flex;gap:16px;align-items:center}
.action{--button-edge:rgba(255,255,255,.48);--button-surface:rgba(0,0,0,.25);--notch:8px;position:relative;isolation:isolate;display:inline-flex;align-items:stretch;min-height:48px;white-space:nowrap;color:#fff;vertical-align:middle;transition:color .2s}
.action::before,.action::after{content:"";position:absolute;inset:0;z-index:-1;clip-path:polygon(0 0,calc(100% - var(--notch)) 0,100% var(--notch),100% 100%,var(--notch) 100%,0 calc(100% - var(--notch)));pointer-events:none;transition:background .25s}
.action::before{background:var(--button-edge);clip-path:polygon(evenodd,0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px),0 0,1px 1px,calc(100% - 8px) 1px,calc(100% - 1px) 8px,calc(100% - 1px) calc(100% - 1px),8px calc(100% - 1px),1px calc(100% - 8px),1px 1px)}
.action::after{inset:1px;--notch:7px;background:var(--button-surface)}
.action-label{display:flex;align-items:center;justify-content:center;padding:0 24px;line-height:1.4;letter-spacing:-.015em}
.action-icon{display:grid;place-items:center;align-self:stretch;flex-shrink:0;width:48px;border-left:1px solid rgba(255,255,255,.2);overflow:hidden;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%);transition:background .25s}
.arrow-track{position:relative;display:block;width:18px;height:18px}
.arrow{position:absolute;inset:0;display:block;width:18px;height:18px;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;transition:transform .35s var(--entrance-ease),opacity .2s}
.arrow-secondary{opacity:0;transform:translate(-120%,120%)}
.action:hover .arrow-primary,.action:focus-visible .arrow-primary{transform:translate(120%,-120%);opacity:0}
.action:hover .arrow-secondary,.action:focus-visible .arrow-secondary{transform:translate(0,0);opacity:1}
.inquiry-link{--button-surface:var(--brand);--button-edge:var(--brand);color:#000;font-size:var(--small);font-weight:bold}
.inquiry-link .action-icon{border-left-color:rgba(0,0,0,.2);background:rgba(0,0,0,.07)}
.inquiry-link:hover,.inquiry-link:focus-visible{--button-surface:var(--focus);--button-edge:var(--focus)}
.inquiry-link:active{--button-surface:#fff;--button-edge:#fff}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);background:transparent;padding:10px}
.menu-toggle span{display:block;height:1px;background:#fff;margin:6px 0;transition:width .2s}
.menu-toggle span:last-child{width:65%;margin-left:auto}
.menu-toggle:hover span:last-child,.menu-toggle:focus-visible span:last-child{width:100%}
.menu-toggle:hover,.menu-close:hover{border-color:var(--muted);background:rgba(255,255,255,.06)}
.menu-toggle:active,.menu-close:active{background:rgba(255,255,255,.16)}
.hero{position:relative;isolation:isolate;min-height:660px;height:calc(100svh - 96px);max-height:880px;overflow:hidden}
.hero-photo{position:absolute;inset:0;z-index:-1}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 56%}
.hero-inner{max-width:1728px;padding:0 var(--gutter);margin:auto;height:100%;min-height:inherit;display:flex;align-items:center;justify-content:flex-end}
.hero-copy{width:44%;padding-bottom:24px}
h1{font-size:var(--display);line-height:1.2;font-weight:700;letter-spacing:-.055em;margin:0;word-break:keep-all}
.hero-eyebrow{font-size:var(--small);color:var(--focus);letter-spacing:.04em;margin-bottom:24px}
.headline-line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.headline-line>span{display:block;white-space:nowrap}
.hero-description{margin-top:28px;line-height:1.8;color:var(--muted);word-break:keep-all}
.hero-description strong{font-weight:400;color:#fff}
.discover-link{min-height:56px;margin-top:36px;font-size:var(--body)}
.discover-link .action-label{padding:0 24px}
.discover-link .action-icon{width:56px}
.discover-link:hover,.discover-link:focus-visible{--button-edge:var(--focus);--button-surface:rgba(0,0,0,.7);color:#fff}
.discover-link:hover .action-icon,.discover-link:focus-visible .action-icon{background:rgba(37,153,163,.16);color:var(--focus);border-left-color:var(--brand)}
.discover-link:active{--button-surface:rgba(37,153,163,.2);--button-edge:#fff}
.site-footer{border-top:1px solid var(--line)}
.footer-inner{max-width:1728px;margin:auto;padding:48px var(--gutter) 24px}
.footer-details{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:40px;color:var(--muted);font-size:var(--small);line-height:1.85}
.company-name{font-size:var(--body);color:#fff;margin-bottom:8px}
.company-address{font-style:normal}
.contact p{display:flex;gap:18px;white-space:nowrap}
.contact p span{width:42px;flex-shrink:0}
.contact a:hover,.footer-bottom a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:36px;padding-top:20px;color:var(--muted);font-size:var(--small)}
.footer-bottom nav,.legal{display:flex;gap:24px;flex-wrap:wrap}
.footer-bottom a{padding:4px 0;display:inline-block}
#mobile-menu{background:#000;color:#fff;border:1px solid var(--line);padding:28px;width:calc(100% - 32px);max-width:480px;max-height:calc(100svh - 32px);margin:16px auto;overscroll-behavior:contain}
#mobile-menu::backdrop{background:rgba(0,0,0,.8)}
.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.menu-heading img{width:112px;height:auto}
.menu-close{display:grid;place-items:center;background:none;border:1px solid var(--line);width:44px;height:44px;padding:12px}
.menu-close svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5}
#mobile-menu nav{padding:16px 0}
#mobile-menu nav a{display:block;font-size:24px;padding:14px 0;min-height:44px}
#mobile-menu nav a[aria-current]{color:var(--focus)}
.menu-contact{display:block;border-top:1px solid var(--line);padding-top:24px;color:var(--muted)}
body.menu-open{overflow:hidden}
@media(min-width:1728px){.hero-copy{width:43%}}
@media(max-width:1000px){
  :root{--display:40px;--subtitle:20px;--gutter:40px}
  .header-inner{height:80px;gap:28px}.desktop-nav{gap:24px}.brand img{width:112px}
  .inquiry-link .action-label{padding:0 18px}.inquiry-link .action-icon{width:44px}.hero{height:calc(100svh - 80px);min-height:640px;max-height:820px}
  .hero-copy{width:47%}.hero-photo img{object-position:40% 55%}
  .hero-description{font-size:14px}.footer-details{grid-template-columns:1fr 1fr;gap:24px}.contact{grid-column:2;grid-row:1 / span 2}.company-address{grid-column:1}
}
@media(max-width:700px){
  :root{--display:44px;--subtitle:20px;--gutter:24px;--entrance-shift:8px}
  .header-inner{height:auto;min-height:76px;padding-top:12px;padding-bottom:12px;gap:16px;flex-wrap:wrap}.brand img{width:104px}.header-actions{margin-left:auto;gap:8px}
  .inquiry-link{min-height:44px}.inquiry-link .action-label{padding:0 14px}.inquiry-link .action-icon{width:36px}
  .desktop-nav{order:3;width:100%;justify-content:space-between;gap:12px}
  .js .desktop-nav{display:none}.js .header-inner{height:76px;padding-top:0;padding-bottom:0}.js .menu-toggle{display:block}
  .hero{height:760px;min-height:0;max-height:none}.hero-inner{align-items:flex-start;justify-content:flex-start;padding-top:48px;min-height:0}
  .hero-copy{width:100%;padding:0}.hero-copy h1{line-height:1.2}
  .hero-eyebrow{margin-bottom:20px}.hero-description{margin-top:24px;font-size:14px}.discover-link{margin-top:28px;min-height:52px;font-size:14px}.discover-link .action-label{padding:0 20px}.discover-link .action-icon{width:52px}
  .hero-photo{top:auto;height:460px;bottom:0}.hero-photo img{object-position:29% 50%;object-fit:cover}
  .hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(#000 0%,rgba(0,0,0,.7) 10%,transparent 35%,transparent 88%,#000 100%)}
  .footer-inner{padding-top:32px;padding-bottom:28px}.footer-details{display:flex;flex-direction:column;gap:20px}.company-name{margin-bottom:4px}.contact p{gap:18px;line-height:1.9}
  .footer-bottom{margin-top:28px;padding-top:20px;flex-direction:column;gap:12px}.footer-bottom nav,.legal{gap:18px}.footer-bottom a{min-height:36px;display:inline-flex;align-items:center}
}
@media(max-width:359px){:root{--gutter:20px;--display:38px}.header-actions{gap:8px}.inquiry-link .action-label{padding:0 10px}.inquiry-link .action-icon{width:32px}.brand img{width:92px}.hero{height:740px}.hero-photo{height:420px}.footer-bottom nav{gap:16px}}
@keyframes photo-settle{from{transform:scale(1.025)}to{transform:scale(1)}}
@keyframes copy-enter{from{opacity:0;transform:translateY(var(--entrance-shift))}to{opacity:1;transform:translateY(0)}}
@keyframes headline-enter{from{opacity:0;transform:translateY(60%)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
  .hero-photo img{animation:photo-settle 1.1s var(--entrance-ease) both;transform-origin:32% 60%}
  .hero-eyebrow{animation:copy-enter .48s var(--entrance-ease) both}
  .headline-line>span{animation:headline-enter .64s var(--entrance-ease) .08s both}
  .headline-line:nth-child(2)>span{animation-delay:.16s}
  .hero-description{animation:copy-enter .5s var(--entrance-ease) .28s both}
  .discover-link{animation:copy-enter .5s var(--entrance-ease) .38s both}
  .discover-link:focus-visible{animation:none}
  @media(max-width:700px){
    .hero-photo img{animation:none}
    .headline-line>span{animation-name:copy-enter;animation-duration:.48s}
    .hero-description,.discover-link{animation-duration:.4s}
  }
}
html.intro-complete .hero-photo img,html.intro-complete .hero-eyebrow,html.intro-complete .headline-line>span,html.intro-complete .hero-description,html.intro-complete .discover-link{animation:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.arrow{transform:none!important}}

/* Public pages share the same content alignment and fixed navigation. */
:root{--site-header-height:80px;--page-nav-height:0px}
.header-inner,.hero-inner,.footer-inner{max-width:1440px}
.site-header{position:sticky;top:0;z-index:30}
.header-inner{height:80px}
html{scroll-padding-top:calc(var(--site-header-height) + var(--page-nav-height) + 20px)}
@media(max-width:700px){:root{--site-header-height:76px}.js .header-inner{height:76px}}
html:not(.js) .site-header{position:relative}

.skip-link{z-index:40}
