@font-face{font-family:'Byeollae UI';src:url('../assets/fonts/ByeollaeUI.woff2') format('woff2');font-weight:100 900;font-display:block}
html{scrollbar-gutter:stable;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}
/* Shared logo rule: preserve the original artwork aspect ratio.
   Badge width = measured project-name width + equal horizontal padding.
   For a new project, measure its name with the bundled font at weight 750
   and letter-spacing -.035em, then update --xi-project-name-width (em).
   Never reuse a fixed pixel badge width across different project names.
   Reserving that measured width prevents the box from shifting on font load. */
.xi-site{--xi-font:'Byeollae UI','Apple SD Gothic Neo','Malgun Gothic',sans-serif;--xi-blue:#002f47;--xi-ink:#153746;--xi-accent:#517d8a;--xi-paper:#f5f8f9;--xi-line:#dce5e9;--xi-content-max:1240px;--xi-gutter:40px;--xi-header-height:80px;margin:0;background:#fff;color:var(--xi-ink);font:400 16px/1.75 var(--xi-font);letter-spacing:-.025em;word-break:keep-all;overflow-wrap:break-word}
.xi-site *{box-sizing:border-box}.xi-site [hidden]{display:none!important}.xi-site a{color:inherit;text-decoration:none}.xi-site button{font:inherit;cursor:pointer}.xi-site button,.xi-site a{-webkit-tap-highlight-color:transparent}.xi-site button:focus-visible,.xi-site a:focus-visible,.xi-site [tabindex]:focus-visible{outline:3px solid #d19c35;outline-offset:4px}.xi-site img{max-width:100%;vertical-align:middle}.xi-site p,.xi-site h1,.xi-site h2,.xi-site h3,.xi-site h4{margin-top:0}.xi-container{width:100%;max-width:var(--xi-content-max);margin:auto;padding:0 var(--xi-gutter)}
.xi-header{position:sticky;top:0;z-index:45;height:var(--xi-header-height);background:#fff;border-bottom:1px solid var(--xi-line)}
.xi-header-inner{width:100%;max-width:1440px;height:100%;margin:auto;padding:0 32px;display:grid;grid-template-columns:auto minmax(0,1fr) 174px;gap:24px;align-items:center}
.xi-brand{display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;max-width:100%;height:72px;overflow:visible}
.xi-brand-logo{display:flex;align-items:center;justify-content:center;width:86px;height:52px;flex:0 0 86px;overflow:visible}
.xi-brand-logo img{width:90px;height:90px;max-width:none;object-fit:contain;flex:none}
.xi-brand-badge{--badge-pad:12px;display:block;width:calc(var(--xi-project-name-width) + var(--badge-pad) * 2);flex:none;padding:7px var(--badge-pad);border-radius:5px;background:var(--xi-blue);color:white;font-size:14px;font-weight:750;line-height:1.25;letter-spacing:-.035em;white-space:nowrap;text-align:center}
.xi-nav{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.4vw,22px)}.xi-nav a{padding:22px 0;border-bottom:2px solid transparent;font-size:16px;font-weight:500;letter-spacing:normal;white-space:nowrap}.xi-nav a:hover,.xi-nav a[aria-current=page]{color:var(--xi-accent);border-color:var(--xi-accent)}
.xi-header-phone{display:flex;align-items:center;justify-content:center;gap:9px;width:174px;height:48px;border-radius:50px;background:var(--xi-blue);color:#fff!important;white-space:nowrap}.xi-header-phone svg{width:21px;height:21px;flex:none}.xi-header-phone span{font-size:21px;font-weight:650;letter-spacing:-.025em}
.xi-hamburger{display:none;border:0;background:transparent;padding:0;width:44px;height:44px;color:var(--xi-ink)}.xi-hamburger span{display:block;width:24px;height:2px;background:currentColor;transition:transform .15s}.xi-menu-panel{display:none}.xi-skip{position:fixed;z-index:100;left:20px;top:-90px;background:var(--xi-ink);color:#fff!important;padding:12px 18px}.xi-skip:focus{top:12px}.xi-bottom{display:none}
.xi-footer{padding:30px 0;background:var(--xi-ink);color:#d5e0e6;font-size:12px;line-height:1.9}.xi-footer-details{margin:0}.xi-footer-details p{margin:0;font-size:12px;font-weight:400;line-height:1.9}.xi-footer-details a{color:inherit;text-underline-offset:3px;overflow-wrap:anywhere}.xi-footer-details a:hover{text-decoration:underline}.xi-footer .xi-footer-note{max-width:none;margin:12px 0 0;color:#b7cbd5;font-size:10px;line-height:18px}.xi-footer-note p{margin:0;font-size:inherit;font-weight:400;line-height:inherit}
.xi-site a.xi-action{display:inline-flex;gap:20px;align-items:center;padding:12px 20px;background:var(--xi-blue);color:#fff;border-radius:2px;font-size:14px}
@media(min-width:1200px) and (max-width:1279px){.xi-header-inner{padding:0 24px;gap:16px;grid-template-columns:auto minmax(0,1fr) 154px}.xi-brand{gap:8px}.xi-brand-logo{width:78px;flex-basis:78px}.xi-brand-logo img{width:82px;height:82px}.xi-brand-badge{font-size:13px;--badge-pad:10px}.xi-nav{gap:12px}.xi-nav a{font-size:14px}.xi-header-phone{width:154px}.xi-header-phone span{font-size:18px}}
@media(max-width:1199px){
 .xi-site{--xi-header-height:56px;--xi-gutter:24px;padding-bottom:calc(64px + env(safe-area-inset-bottom))}
 .xi-header-inner{grid-template-columns:44px minmax(0,1fr) 44px;padding:0 16px;gap:8px}
 .xi-hamburger{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
 .xi-brand{grid-column:2;grid-row:1;justify-self:center;height:55px;gap:6px}
 .xi-brand-logo{width:56px;height:40px;flex-basis:56px}.xi-brand-logo img{width:58px;height:58px}
 .xi-brand-badge{font-size:11px;--badge-pad:10px;padding-top:6px;padding-bottom:6px;border-radius:5px}
 .xi-nav{display:none}.xi-header-phone{grid-column:3;grid-row:1;width:44px;height:44px;padding:11px;border-radius:50%}.xi-header-phone span{display:none}.xi-header-phone svg{width:22px;height:22px}
 .xi-menu-panel:not([hidden]){display:block;position:fixed;inset:var(--xi-header-height) 0 0;z-index:44;padding:20px 24px calc(90px + env(safe-area-inset-bottom));overflow:auto;background:var(--xi-ink);color:white}.xi-menu-panel a{display:block;padding:15px 8px;font-size:16px}.xi-menu-panel a[aria-current=page]{color:#c4dce7}.xi-menu-panel .xi-menu-phone{font-size:24px}.xi-site.menu-open{overflow:hidden}
 .xi-hamburger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.xi-hamburger[aria-expanded=true] span:nth-child(2){opacity:0}.xi-hamburger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .xi-bottom{display:grid;grid-template-columns:1fr 1.4fr;position:fixed;inset:auto 0 0;z-index:40;background:var(--xi-blue);color:white;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -3px 15px #15374610}.xi-bottom a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:64px;font-weight:650}.xi-bottom a:first-child{background:#fff;color:var(--xi-ink);border-top:1px solid var(--xi-line)}.xi-bottom svg{width:20px;height:20px}.xi-bottom a:last-child{justify-content:space-between;padding:0 20px}
}
@media(max-width:599px){.xi-site{--xi-gutter:20px}}
@media(max-width:359px){.xi-brand{gap:5px}.xi-brand-logo{width:52px;flex-basis:52px}.xi-brand-logo img{width:54px;height:54px}.xi-brand-badge{--badge-pad:9px}}
@media(prefers-reduced-motion:reduce){.xi-site *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Shared desktop footer bounds match the actual header; mobile unchanged. */
@media(min-width:1200px){.xi-footer{background:#00283c}.xi-footer>.xi-container{max-width:1440px;padding-left:32px;padding-right:32px}}
@media(min-width:1200px) and (max-width:1279px){.xi-footer>.xi-container{padding-left:24px;padding-right:24px}}
