header-component, footer-component { display:block; }
:root {
--site-header-height:89px;
--site-paper:#ffffff;
--site-surface:#f2f6fc;
--site-ink:#142c48;
--site-slate:var(--color-second, #00519b);
--site-slate-hover:#063d73;
--site-line:#dce4ef;
--site-accent:#7251c7;
--site-accent-wash:#f6f4fb;
--site-accent-selected:#ebe5f8;
--site-sage:#00519b;
--site-sage-ink:#00519b;
--site-sage-wash:#eef5fd;
}
body .business #sub-menu, body .business #sub-menu.active { top:var(--site-header-height); }
.site-header, .site-footer, .site-skip { font-family:'SUITE','Noto Sans KR',sans-serif; box-sizing:border-box; color:var(--site-ink); letter-spacing:-.025em; }
.site-header *, .site-footer * { box-sizing:border-box; }
.site-header a, .site-footer a { text-decoration:none; color:inherit; }
.site-header a:focus-visible, .site-header button:focus-visible, .site-footer a:focus-visible, .site-footer button:focus-visible, .site-skip:focus { outline:3px solid var(--site-accent); outline-offset:5px; border-radius:3px; }
.site-skip { position:fixed; top:8px; left:20px; padding:12px 20px; background:#fff; transform:translateY(-160%); z-index:2000; font-size:16px; }
.site-skip:focus { transform:none; }
header-component:has(.site-header) { position:sticky; top:0; z-index:100; }
.site-header { width:100%; background:rgba(255,255,255,.97); border-bottom:1px solid var(--site-line); }
.site-header-row { display:flex; align-items:center; gap:28px; min-height:88px; max-width:1400px; padding:0 40px; margin:0 auto; }
.site-logo { flex-shrink:0; display:inline-flex; align-items:center; min-height:44px; }
.site-logo img { display:block; width:112px; height:auto; }
.site-nav { margin-left:auto; }
.site-nav-list { display:flex; align-items:center; gap:clamp(18px,2.1vw,34px); list-style:none; padding:0; margin:0; }
.site-nav-list > li { position:relative; list-style:none; }
.site-nav-list > li > a { display:flex; align-items:center; min-height:88px; font-size:15px; font-weight:700; letter-spacing:.02em; white-space:nowrap; }
.site-nav a:hover, .site-nav a[aria-current] { color:var(--color-second, #00519b); }
.site-subnav { display:none; position:absolute; top:100%; left:-24px; min-width:215px; padding:14px; margin:0; background:#fff; box-shadow:0 12px 32px #24333e15; border:1px solid var(--site-line); border-radius:0 0 10px 10px; list-style:none; }
@media(min-width:1101px) {
.site-nav-list > li:hover .site-subnav, .site-nav-list > li:focus-within .site-subnav { display:block; }
}
.site-subnav a { display:block; padding:12px 10px; font-size:14px; line-height:1.45; white-space:nowrap; }
.site-subnav span { display:block; margin-top:3px; color:#75808a; font-size:12px; }
.site-header-cta { display:inline-flex; gap:18px; align-items:center; justify-content:center; flex-shrink:0; min-height:44px; padding:0 17px; border:1px solid var(--site-line); border-radius:5px; font-size:14px; font-weight:600; }
.site-header-cta:hover { background:var(--site-surface); }
.site-menu-toggle { display:none; }
.site-footer { background:var(--site-surface); padding:52px max(24px,calc((100% - 1240px)/2)) 35px; border-top:1px solid var(--site-line); }
.site-footer-top { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-bottom:35px; border-bottom:1px solid var(--site-line); }
.site-footer-top nav { display:flex; flex-wrap:wrap; gap:12px 30px; font-size:14px; font-weight:500; }
.site-footer nav a, .site-footer-links a { display:inline-flex; align-items:center; min-height:44px; }
.site-footer-bottom { display:flex; gap:30px; justify-content:space-between; padding-top:26px; font-size:14px; line-height:1.9; color:#68757e; }
.site-company-info { min-width:0; }
.site-company-info p, .site-company-info address { margin:0; font-style:normal; line-height:1.9; overflow-wrap:anywhere; }
.site-company-info span { margin-left:14px; }
.site-company-info .site-copyright { margin-top:16px; color:#6d7479; font-size:12px; letter-spacing:.015em; }
.site-footer-links { display:grid; grid-template-columns:repeat(2,max-content); align-items:start; column-gap:24px; flex-shrink:0; }
.site-footer-links a:first-child { grid-column:1 / -1; color:var(--site-ink); font-weight:600; }
.site-footer .site-top { position:fixed; bottom:24px; right:22px; z-index:30; }
.site-footer .site-top .btn-top { display:block; visibility:visible; opacity:1; width:44px; height:44px; padding:0; border:1px solid var(--site-line); border-radius:50%; background:#fff; color:var(--site-ink); font-size:22px; line-height:1; box-shadow:0 4px 12px #1828380a; }
@media(min-width:1280px) { .site-nav-list > li > a { font-size:17px; } }
@media(max-width:1100px) {
:root { --site-header-height:73px; }
.site-header-row { min-height:72px; padding:0 24px; gap:16px; }
.site-header-cta { margin-left:auto; }
.site-menu-toggle { display:flex; flex-direction:column; justify-content:center; gap:6px; width:44px; height:44px; padding:10px; border:0; background:transparent; flex-shrink:0; cursor:pointer; }
.site-menu-toggle span { height:2px; width:24px; background:var(--site-ink); transition:transform .18s; }
.site-menu-toggle[aria-expanded='true'] span:first-child { transform:translateY(4px) rotate(45deg); }
.site-menu-toggle[aria-expanded='true'] span:last-child { transform:translateY(-4px) rotate(-45deg); }
.site-nav { display:none; position:absolute; top:100%; left:0; right:0; max-height:calc(100dvh - 72px); overflow-y:auto; overscroll-behavior:contain; margin:0; padding:16px 28px 36px; background:#fff; border-bottom:1px solid var(--site-line); }
.is-menu-open .site-nav { display:block; }
.site-nav-list { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:16px 32px; }
.site-nav-list > li > a { min-height:48px; font-size:14px; border-bottom:1px solid var(--site-line); }
.site-subnav { display:block; position:static; min-width:0; padding:4px 0; background:none; border:0; box-shadow:none; }
.site-subnav a { white-space:normal; padding:12px 0; }
}
@media(max-width:600px) {
:root { --site-header-height:69px; }
.site-header-row { min-height:68px; gap:8px; padding:0 20px; }
.site-logo img { width:98px; }
.site-header-cta { padding:0 12px; font-size:13px; gap:10px; }
.site-nav { max-height:calc(100dvh - 68px); padding:12px 24px 32px; }
.site-nav-list { grid-template-columns:1fr; gap:6px; }
.site-subnav { display:grid; grid-template-columns:1fr 1fr; column-gap:12px; }
.site-subnav a { font-size:14px; }
.site-footer { padding:36px 24px 80px; }
.site-footer-top, .site-footer-bottom { flex-direction:column; align-items:flex-start; gap:20px; }
.site-footer-top { padding-bottom:22px; }
.site-footer-top nav { gap:8px 22px; }
.site-company-info span { display:block; margin-left:0; }
.site-footer-links { width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } .site-header *, .site-footer * { transition:none!important; scroll-behavior:auto!important; } }
