@font-face{font-family:"Pretendard Variable";font-style:normal;font-weight:45 920;font-display:block;src:url("../../../fonts/pretendard/PretendardVariable-GUNET.woff2") format("woff2-variations")}
:root{--ink:#101828;--navy:#0d243f;--blue:#146cd4;--sky:#f3f6fa;--line:#cbd6e3;--muted:#64748a;--font-sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Malgun Gothic",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--font-sans);line-height:1.55}.wrap{width:min(var(--gunet-layout-page-max),calc(100% - var(--gunet-layout-gutter-inline) - var(--gunet-layout-gutter-inline)));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.6rem}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.site-header{position:relative;z-index:50}.topbar{min-height:70px;display:flex;align-items:center;gap:28px}.brand{color:var(--navy);text-decoration:none;white-space:nowrap}.logo-image{display:block;width:174px;height:auto}.utility{margin-left:auto;display:flex;align-items:center;gap:13px;white-space:nowrap}.utility a{color:var(--ink);font-size:.86rem;text-decoration:none}.utility-cta{padding:.45rem .75rem;background:var(--blue);color:#fff!important;border-radius:4px}.primary-nav{border-top:1px solid var(--line);border-bottom:1px solid #000;background:#fff}.nav-list{display:flex;align-items:stretch;min-height:66px;padding-left:78px}.nav-list a,.nav-trigger{border:0;background:transparent;color:var(--ink);padding:0 18px;font:800 1.08rem var(--font-sans);letter-spacing:-.045em;cursor:pointer;text-decoration:none;white-space:nowrap}.nav-trigger:hover,.nav-trigger[aria-expanded=true]{background:#000;color:#fff}.home-mark{display:grid!important;place-items:center;padding:0 10px!important;margin-right:50px}.gmark-crop{display:block;position:relative;width:25px;height:26px;overflow:hidden}.gmark-crop img{position:absolute;top:-2px;left:-3px;width:94px;max-width:none;height:auto}.search{display:flex;max-width:330px;flex:1;border:1px solid #b7c3d0}.nav-search{order:initial;min-width:220px;max-width:220px;margin-left:auto;align-self:center}.search input{min-width:0;flex:1;border:0;padding:.55rem .7rem;font:inherit;font-size:.82rem}.search button{border:0;background:var(--navy);color:#fff;width:38px;font-size:1.15rem}.mobile-nav-header{display:none}.mega-menu{position:absolute;z-index:20;top:100%;left:0;right:0;width:100%;display:grid;grid-template-columns:minmax(250px,27%) 1fr;border-top:1px solid #000;border-bottom:1px solid var(--line);background:#fff;box-shadow:0 18px 28px rgba(8,27,53,.09)}.mega-menu[hidden]{display:none!important}.mega-intro{padding:38px max(24px,calc((100vw - 1200px)/2));padding-right:32px;background:#f2f6fc}.mega-intro h2{margin:.2rem 0;font-size:2rem;letter-spacing:-1.5px}.mega-intro p:not(.eyebrow){color:var(--muted)}.mega-content{padding:31px min(4vw,64px);display:grid;gap:26px}.mega-content section{padding-bottom:22px;border-bottom:1px solid #edf1f6}.mega-content section:last-child{padding-bottom:0;border-bottom:0}.mega-content h3{margin:0 0 9px;font-size:1rem;color:var(--navy)}.card-links{display:flex;flex-wrap:wrap;gap:8px}.card-links a{position:relative;min-width:205px;flex:0 1 245px;padding:.62rem 2.2rem .62rem .85rem;border:1px solid var(--line);border-radius:4px;color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:600}.card-links a:after{content:"\2192";position:absolute;right:.8rem;color:#8ba0b8}.card-links a:hover{border-color:var(--blue);color:var(--blue)}.card-links a:hover:after{color:var(--blue)}.button{display:inline-block;margin-top:10px;padding:.75rem 1rem;border-radius:4px;background:var(--blue);color:#fff;text-decoration:none;font-weight:700}.eyebrow{margin:0;color:var(--blue);font-size:.75rem;font-weight:800;letter-spacing:.12em}.hero{min-height:560px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:80px}.hero h1,.section-heading h2,.principle h2,.contact h2{margin:.4rem 0 1.2rem;font-size:clamp(2.6rem,5vw,4.8rem);letter-spacing:-.075em;line-height:1.1}.hero em{font-style:normal;color:var(--blue)}.hero-copy{max-width:560px;color:var(--muted);font-size:1.06rem}.hero-actions{display:flex;gap:20px;align-items:center;margin-top:27px}.text-link{color:var(--navy);font-weight:700;text-decoration:none}.hero-orbit{position:relative;display:grid;place-items:center;width:min(390px,80vw);aspect-ratio:1;margin:auto;border:1px solid #b9d5f6;border-radius:50%;background:radial-gradient(circle,#e9f4ff 0 29%,transparent 30%)}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border:1px solid #cce2fa;border-radius:50%;inset:13%}.hero-orbit:after{inset:29%}.hero-orbit strong{z-index:1;text-align:center;font-size:2.3rem;line-height:.9;color:var(--navy)}.hero-orbit span{position:absolute;color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.08em}.hero-orbit span:nth-child(1){top:11%}.hero-orbit span:nth-child(2){right:1%;top:44%}.hero-orbit span:nth-child(4){bottom:11%}.hero-orbit span:nth-child(5){left:-3%;top:44%}.services{padding:100px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:40px}.section-heading h2{font-size:clamp(2.1rem,4vw,3.5rem);margin:.35rem 0 0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-grid a{min-height:245px;padding:27px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.service-grid a:hover{background:var(--navy);color:#fff}.service-grid b{color:var(--blue)}.service-grid a:hover b{color:#88c1ff}.service-grid h3{font-size:1.3rem;margin:45px 0 8px;letter-spacing:-.05em}.service-grid p{margin:0;color:var(--muted);font-size:.92rem}.service-grid a:hover p{color:#d6e6f7}.principle{padding:110px 0;background:var(--navy);color:#fff}.principle .wrap{max-width:850px;text-align:center}.principle h2{font-size:clamp(2.5rem,5vw,4.3rem)}.principle p:not(.eyebrow){max-width:660px;margin:auto;color:#d4e5f8}.principle .text-link{display:inline-block;margin-top:24px;color:#fff}.contact{margin:100px auto;padding:56px;display:flex;justify-content:space-between;gap:50px;background:var(--sky)}.contact h2{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:.7rem}.contact p:not(.eyebrow){color:var(--muted)}.contact-box{display:grid;align-content:center;min-width:300px}.contact-box a{padding:18px 0;border-bottom:1px solid #bfd4ec;color:var(--navy);text-decoration:none}.contact-box small{display:block;color:var(--muted)}.contact-box strong{font-size:1.35rem}.site-footer{padding:64px 0 0;background:#101d2f;color:#dce8f6}.footer-top{display:flex;gap:8vw;padding-bottom:48px}.footer-brand{min-width:190px}.footer-logo{width:154px;filter:invert(1)}.footer-brand p{color:#9ab0c8;font-size:.86rem}.footer-links{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.footer-links h2{margin:0 0 13px;font-size:.9rem;color:#fff}.footer-links a{display:block;margin:7px 0;color:#abc0d7;font-size:.82rem;text-decoration:none}.footer-links a:hover{color:#fff}.business-info{padding:26px 0;border-top:1px solid #2a4059;color:#9ab0c8;font-size:.78rem}.business-info p{margin:4px 0}.business-info span:before{content:"|";margin:0 8px;color:#506b88}.copyright{margin-top:13px!important;color:#718aa4}.policy-page{max-width:860px;padding:72px 0 100px}.policy-page h1{margin:.35rem 0 1.2rem;font-size:clamp(2.2rem,5vw,3.7rem);letter-spacing:-.07em}.policy-page h2{margin:2.4rem 0 .5rem;font-size:1.25rem}.policy-page section{padding-bottom:1.15rem;border-bottom:1px solid var(--line)}.policy-notice{padding:1rem 1.2rem;border-left:4px solid #e3a82b;background:#fff8e9;color:#755918}
.nav-trigger:hover,.nav-trigger:focus,.nav-trigger[aria-expanded=true]{background:#000;color:#fff;outline:0}
@media(max-width:1023px){.topbar{min-height:0;flex-wrap:wrap;padding:18px 0;gap:15px}.utility{margin-left:auto}.mobile-nav-header{display:flex;align-items:center;justify-content:space-between;height:58px;font-size:.82rem;font-weight:800;letter-spacing:.12em}.mobile-nav-toggle{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:1.2rem;cursor:pointer}.nav-list{display:none;min-height:0;overflow:visible;flex-direction:column;align-items:stretch;width:100%;padding:0;border-top:1px solid #dbe3ec}.nav-list.is-open{display:flex}.nav-list a,.nav-trigger{width:100%;min-height:56px;padding:0 18px;font-size:1rem;border-bottom:1px solid #dbe3ec;text-align:left}.home-mark{display:none!important}.nav-search{display:flex;min-width:0;max-width:none;width:calc(100% - 36px);margin:16px 18px;order:initial}.mega-menu{position:relative;top:auto;grid-template-columns:1fr;width:100%;box-shadow:none}.mega-intro{padding:24px}.mega-intro h2{font-size:1.65rem}.mega-content{padding:24px 18px}.card-links a{min-width:calc(50% - 4px);flex:1 1 calc(50% - 4px)}}@media(max-width:980px){.hero{grid-template-columns:1fr;padding:70px 0;gap:35px}.hero-orbit{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.footer-top{display:block}.footer-links{margin-top:35px;grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.wrap{width:min(calc(100% - var(--gunet-layout-gutter-inline-compact) - var(--gunet-layout-gutter-inline-compact)),var(--gunet-layout-page-max))}.utility{gap:10px;overflow:auto;max-width:100%}.utility a{font-size:.76rem}.card-links a{min-width:100%;flex-basis:100%}.hero{min-height:460px}.service-grid{grid-template-columns:1fr}.contact{margin:55px auto;padding:32px 24px;display:block}.contact-box{min-width:0;margin-top:25px}.footer-links{grid-template-columns:1fr 1fr;gap:24px}.business-info span{display:block;margin-top:3px}.business-info span:before{display:none}}

/*
 * GUNET Typography System v1
 *
 * Primitive values describe the available scale. Semantic values describe
 * visual roles and can be remapped without changing component selectors.
 * Page-specific art direction may override semantic custom properties on a
 * component root, but should not introduce anonymous type values.
 */
:root {
  --gunet-layout-page-max: 1200px;
  --gunet-layout-gutter-inline: 24px;
  --gunet-layout-gutter-inline-compact: 16px;

  /* GUNET Surface Detail Foundation v1: audited A-group values only. */
  --gunet-border-width-hairline: 1px;
  --gunet-radius-none: 0;

  --gunet-control-border-width: var(--gunet-border-width-hairline);
  --gunet-divider-row-width: var(--gunet-border-width-hairline);
  --gunet-divider-section-width: var(--gunet-border-width-hairline);
  --gunet-control-radius-technical: var(--gunet-radius-none);

  /* GUNET Color Foundation v1: audited A-group values only. */
  --gunet-color-primitive-neutral-0: #fff;
  --gunet-color-primitive-neutral-50: #f3f6fa;
  --gunet-color-primitive-neutral-300: #cbd6e3;
  --gunet-color-primitive-neutral-600: #64748a;
  --gunet-color-primitive-neutral-950: #101828;
  --gunet-color-primitive-navy-900: #0d243f;
  --gunet-color-primitive-blue-600: #146cd4;

  --gunet-color-text-primary: var(--gunet-color-primitive-neutral-950);
  --gunet-color-text-secondary: var(--gunet-color-primitive-neutral-600);
  --gunet-color-text-inverse: var(--gunet-color-primitive-neutral-0);
  --gunet-color-surface-base: var(--gunet-color-primitive-neutral-0);
  --gunet-color-surface-soft: var(--gunet-color-primitive-neutral-50);
  --gunet-color-surface-contrast: var(--gunet-color-primitive-navy-900);
  --gunet-color-border-default: var(--gunet-color-primitive-neutral-300);
  --gunet-color-divider: var(--gunet-color-primitive-neutral-300);
  --gunet-color-link-default: var(--gunet-color-primitive-blue-600);
  --gunet-color-accent: var(--gunet-color-primitive-blue-600);

  --gunet-font-family-sans: var(--font-sans);

  --gunet-font-size-100: .625rem;
  --gunet-font-size-150: .6875rem;
  --gunet-font-size-200: .75rem;
  --gunet-font-size-250: .8125rem;
  --gunet-font-size-300: .875rem;
  --gunet-font-size-400: 1rem;
  --gunet-font-size-500: 1.125rem;
  --gunet-font-size-600: 1.25rem;
  --gunet-font-size-700: 1.5rem;
  --gunet-font-size-800: 1.75rem;
  --gunet-font-size-900: 2rem;

  --gunet-font-weight-regular: 400;
  --gunet-font-weight-medium: 500;
  --gunet-font-weight-semibold: 600;
  --gunet-font-weight-bold: 700;
  --gunet-font-weight-extrabold: 800;
  --gunet-font-weight-black: 900;

  --gunet-line-height-display-tight: .98;
  --gunet-line-height-display: 1.02;
  --gunet-line-height-heading: 1.15;
  --gunet-line-height-body: 1.55;
  --gunet-line-height-body-relaxed: 1.75;
  --gunet-line-height-body-loose: 1.85;

  --gunet-letter-spacing-display-tight: -.085em;
  --gunet-letter-spacing-display: -.075em;
  --gunet-letter-spacing-heading: -.045em;
  --gunet-letter-spacing-body: 0;
  --gunet-letter-spacing-label: .08em;
  --gunet-letter-spacing-eyebrow: .12em;
  --gunet-letter-spacing-eyebrow-wide: .14em;

  --gunet-type-hero-title-size: clamp(2.6rem, 5vw, 4.8rem);
  --gunet-type-hero-title-weight: var(--gunet-font-weight-extrabold);
  --gunet-type-hero-title-line-height: 1.1;
  --gunet-type-hero-title-letter-spacing: var(--gunet-letter-spacing-display);
  --gunet-type-hero-title-word-break: keep-all;
  --gunet-type-hero-title-overflow-wrap: normal;

  --gunet-type-page-title-size: clamp(2.6rem, 5vw, 4.8rem);
  --gunet-type-page-title-weight: var(--gunet-font-weight-extrabold);
  --gunet-type-page-title-line-height: var(--gunet-line-height-display);
  --gunet-type-page-title-letter-spacing: var(--gunet-letter-spacing-display);
  --gunet-type-page-title-word-break: keep-all;
  --gunet-type-page-title-overflow-wrap: normal;

  --gunet-type-major-section-title-size: clamp(2.1rem, 4vw, 3.5rem);
  --gunet-type-major-section-title-weight: var(--gunet-font-weight-extrabold);
  --gunet-type-major-section-title-line-height: var(--gunet-line-height-display);
  --gunet-type-major-section-title-letter-spacing: var(--gunet-letter-spacing-display);
  --gunet-type-major-section-title-word-break: keep-all;
  --gunet-type-major-section-title-overflow-wrap: normal;

  --gunet-type-subsection-title-size: var(--gunet-font-size-800);
  --gunet-type-subsection-title-weight: var(--gunet-font-weight-extrabold);
  --gunet-type-subsection-title-line-height: var(--gunet-line-height-heading);
  --gunet-type-subsection-title-letter-spacing: var(--gunet-letter-spacing-heading);
  --gunet-type-subsection-title-word-break: keep-all;
  --gunet-type-subsection-title-overflow-wrap: normal;

  --gunet-type-content-title-size: var(--gunet-font-size-600);
  --gunet-type-content-title-weight: var(--gunet-font-weight-bold);
  --gunet-type-content-title-line-height: 1.35;
  --gunet-type-content-title-letter-spacing: -.025em;
  --gunet-type-content-title-word-break: keep-all;
  --gunet-type-content-title-overflow-wrap: normal;

  --gunet-type-section-description-size: var(--gunet-font-size-400);
  --gunet-type-section-description-weight: var(--gunet-font-weight-regular);
  --gunet-type-section-description-line-height: var(--gunet-line-height-body-relaxed);
  --gunet-type-section-description-letter-spacing: var(--gunet-letter-spacing-body);
  --gunet-type-section-description-word-break: keep-all;
  --gunet-type-section-description-overflow-wrap: break-word;

  --gunet-type-body-large-size: 1.06rem;
  --gunet-type-body-large-weight: var(--gunet-font-weight-regular);
  --gunet-type-body-large-line-height: 1.7;
  --gunet-type-body-large-letter-spacing: var(--gunet-letter-spacing-body);
  --gunet-type-body-large-word-break: normal;
  --gunet-type-body-large-overflow-wrap: break-word;

  --gunet-type-body-size: var(--gunet-font-size-400);
  --gunet-type-body-weight: var(--gunet-font-weight-regular);
  --gunet-type-body-line-height: var(--gunet-line-height-body);
  --gunet-type-body-letter-spacing: var(--gunet-letter-spacing-body);
  --gunet-type-body-word-break: normal;
  --gunet-type-body-overflow-wrap: break-word;

  --gunet-type-supporting-size: var(--gunet-font-size-300);
  --gunet-type-supporting-weight: var(--gunet-font-weight-regular);
  --gunet-type-supporting-line-height: 1.65;
  --gunet-type-supporting-letter-spacing: var(--gunet-letter-spacing-body);
  --gunet-type-supporting-word-break: normal;
  --gunet-type-supporting-overflow-wrap: break-word;

  --gunet-type-eyebrow-section-size: var(--gunet-font-size-200);
  --gunet-type-eyebrow-section-weight: var(--gunet-font-weight-extrabold);
  --gunet-type-eyebrow-section-line-height: 1.4;
  --gunet-type-eyebrow-section-letter-spacing: var(--gunet-letter-spacing-eyebrow);

  --gunet-type-eyebrow-utility-size: var(--gunet-font-size-100);
  --gunet-type-eyebrow-utility-weight: var(--gunet-font-weight-extrabold);
  --gunet-type-eyebrow-utility-line-height: 1.4;
  --gunet-type-eyebrow-utility-letter-spacing: var(--gunet-letter-spacing-label);

  --gunet-type-step-number-size: .7rem;
  --gunet-type-step-number-weight: var(--gunet-font-weight-extrabold);
  --gunet-type-step-number-line-height: 1.4;
  --gunet-type-step-number-letter-spacing: var(--gunet-letter-spacing-eyebrow);

  --gunet-type-caption-size: var(--gunet-font-size-200);
  --gunet-type-caption-weight: var(--gunet-font-weight-medium);
  --gunet-type-caption-line-height: 1.55;
  --gunet-type-caption-letter-spacing: var(--gunet-letter-spacing-body);

  --gunet-type-button-size: var(--gunet-font-size-250);
  --gunet-type-button-weight: var(--gunet-font-weight-extrabold);
  --gunet-type-button-line-height: 1.2;
  --gunet-type-button-letter-spacing: 0;

  --gunet-type-navigation-primary-size: 1.08rem;
  --gunet-type-navigation-primary-weight: var(--gunet-font-weight-extrabold);
  --gunet-type-navigation-primary-line-height: 1.2;
  --gunet-type-navigation-primary-letter-spacing: var(--gunet-letter-spacing-heading);

  --gunet-type-navigation-secondary-size: var(--gunet-font-size-300);
  --gunet-type-navigation-secondary-weight: var(--gunet-font-weight-bold);
  --gunet-type-navigation-secondary-line-height: 1.35;
  --gunet-type-navigation-secondary-letter-spacing: 0;

  --gunet-type-navigation-utility-size: var(--gunet-font-size-200);
  --gunet-type-navigation-utility-weight: var(--gunet-font-weight-bold);
  --gunet-type-navigation-utility-line-height: 1.2;
  --gunet-type-navigation-utility-letter-spacing: 0;

  --gunet-type-hero-title-compact-size: clamp(1.75rem, 2.35vw, 2.25rem);
  --gunet-type-hero-title-compact-weight: var(--gunet-font-weight-extrabold);
  --gunet-type-hero-title-compact-line-height: 1.08;
  --gunet-type-hero-title-compact-letter-spacing: var(--gunet-letter-spacing-display);
  --gunet-type-hero-title-compact-mobile-size: 1.75rem;

  --gunet-type-hero-title-feature-size: clamp(2.625rem, 5.2vw, 4.75rem);
  --gunet-type-hero-title-feature-mobile-size: clamp(2.125rem, 5.526vw, 2.625rem);

  --gunet-type-page-title-editorial-size: clamp(3.2rem, 7vw, 7.1rem);
  --gunet-type-page-title-editorial-mobile-size: clamp(2rem, 8.53vw, 3.2rem);
  --gunet-type-page-title-editorial-line-height: var(--gunet-line-height-display-tight);
  --gunet-type-page-title-editorial-letter-spacing: var(--gunet-letter-spacing-display-tight);

  --gunet-type-page-title-document-size: clamp(2.625rem, 6vw, 5.125rem);
  --gunet-type-page-title-document-line-height: var(--gunet-line-height-display-tight);
  --gunet-type-page-title-document-letter-spacing: -.055em;

  --gunet-type-page-title-reference-family: var(--gunet-font-family-sans);
  --gunet-type-page-title-reference-size: var(--gunet-type-page-title-document-size);
  --gunet-type-page-title-reference-weight: var(--gunet-type-page-title-compact-weight);
  --gunet-type-page-title-reference-line-height: var(--gunet-type-page-title-document-line-height);
  --gunet-type-page-title-reference-letter-spacing: var(--gunet-type-page-title-document-letter-spacing);

  --gunet-type-page-title-compact-size: clamp(2.2rem, 5vw, 3.7rem);
  --gunet-type-page-title-compact-weight: var(--gunet-font-weight-bold);
  --gunet-type-page-title-compact-line-height: 1.06;
  --gunet-type-page-title-compact-letter-spacing: -.07em;

  --gunet-type-major-section-title-compact-size: clamp(2.125rem, 4vw, 3.625rem);
  --gunet-type-major-section-title-document-size: clamp(2.25rem, 4vw, 3.875rem);
  --gunet-type-major-section-title-feature-size: clamp(2.65rem, 3.7vw, 3.85rem);
  --gunet-type-major-section-title-feature-mobile-size: 2.65rem;
  --gunet-type-major-section-title-editorial-size: clamp(2.8rem, 5vw, 5.2rem);
  --gunet-type-major-section-title-landing-size: clamp(2.35rem, 3.45vw, 3.7rem);
  --gunet-type-major-section-title-landing-mobile-size: clamp(2.05rem, 6.45vw, 2.5rem);

  --gunet-type-subsection-title-compact-size: clamp(1.42rem, 2vw, 1.85rem);
  --gunet-type-subsection-title-compact-line-height: 1.25;

  --gunet-type-step-number-compact-size: .66rem;

  --gunet-type-cta-display-size: clamp(2.5rem, 5vw, 4.3rem);
  --gunet-type-cta-display-weight: var(--gunet-font-weight-extrabold);
  --gunet-type-cta-display-line-height: 1.08;
  --gunet-type-cta-display-letter-spacing: var(--gunet-letter-spacing-display);

  --gunet-type-state-expanded-title-size: var(--gunet-font-size-800);
  --gunet-type-state-expanded-title-weight: var(--gunet-font-weight-extrabold);
  --gunet-type-state-expanded-title-line-height: var(--gunet-line-height-heading);
  --gunet-type-state-expanded-title-letter-spacing: var(--gunet-letter-spacing-heading);

  /* Semantic aliases that preserve the approved component typography. */
  --gunet-type-quick-toggle-size: .5rem;
  --gunet-type-quick-toggle-weight: var(--gunet-font-weight-black);
  --gunet-type-quick-toggle-letter-spacing: .04em;
  --gunet-type-quick-panel-label-size: .62rem;
  --gunet-type-quick-panel-label-weight: var(--gunet-font-weight-extrabold);
  --gunet-type-quick-panel-label-letter-spacing: var(--gunet-letter-spacing-label);
  --gunet-type-quick-panel-title-size: var(--gunet-font-size-200);
  --gunet-type-mobile-header-label-size: .82rem;
  --gunet-type-mobile-header-label-weight: var(--gunet-font-weight-extrabold);
  --gunet-type-mobile-header-label-letter-spacing: var(--gunet-letter-spacing-eyebrow);

  --gunet-type-utility-bar-size: .68rem;
  --gunet-type-utility-bar-weight: var(--gunet-font-weight-bold);
  --gunet-type-directory-lead-size: clamp(.82rem, 1.15vw, .96rem);
  --gunet-type-directory-lead-mobile-size: .8rem;
  --gunet-type-directory-lead-line-height: var(--gunet-line-height-body);
  --gunet-type-directory-title-size: clamp(2rem, 3.2vw, 3.25rem);
  --gunet-type-directory-title-line-height: 1.05;
  --gunet-type-directory-title-letter-spacing: -.07em;
  --gunet-type-directory-detail-title-size: clamp(1.75rem, 2.8vw, 2.65rem);
  --gunet-type-directory-detail-title-line-height: var(--gunet-line-height-heading);
  --gunet-type-directory-detail-title-letter-spacing: -.055em;
  --gunet-type-directory-control-size: .72rem;
  --gunet-type-directory-control-weight: var(--gunet-font-weight-extrabold);
  --gunet-type-directory-navigation-letter-spacing: -.035em;
  --gunet-type-directory-meta-size: .7rem;
  --gunet-type-directory-contact-title-size: 1.45rem;
  --gunet-type-directory-contact-title-letter-spacing: -.04em;
  --gunet-type-button-emphasis-weight: 750;

  --gunet-type-narrative-title-size: clamp(2.8rem, 5vw, 5rem);
  --gunet-type-narrative-title-mobile-size: 2.65rem;
  --gunet-type-narrative-title-line-height: var(--gunet-line-height-display);
  --gunet-type-narrative-title-letter-spacing: var(--gunet-letter-spacing-display);
  --gunet-type-narrative-card-title-size: 2.35rem;
  --gunet-type-narrative-card-title-letter-spacing: -.06em;
  --gunet-type-guidance-title-size: var(--gunet-font-size-900);
  --gunet-type-guidance-title-mobile-size: 1.65rem;
  --gunet-type-guidance-title-letter-spacing: -.05em;
  --gunet-type-cta-title-prominent-size: clamp(3rem, 6vw, 6.2rem);
  --gunet-type-cta-title-prominent-mobile-size: 3rem;
  --gunet-type-cta-title-prominent-letter-spacing: -.08em;
  --gunet-type-technical-overline-size: .68rem;
  --gunet-type-technical-overline-weight: var(--gunet-font-weight-black);
  --gunet-type-technical-overline-letter-spacing: var(--gunet-letter-spacing-eyebrow);

  --gunet-type-document-section-title-size: clamp(3rem, 5vw, 5.2rem);
  --gunet-type-document-section-title-mobile-size: 2.8rem;
  --gunet-type-document-section-title-line-height: var(--gunet-line-height-display);
  --gunet-type-document-section-title-letter-spacing: var(--gunet-letter-spacing-display);
  --gunet-type-document-section-eyebrow-size: .68rem;
  --gunet-type-document-section-eyebrow-weight: 850;
  --gunet-type-document-section-eyebrow-letter-spacing: var(--gunet-letter-spacing-eyebrow-wide);
  --gunet-type-document-section-description-size: var(--gunet-font-size-400);
  --gunet-type-document-section-description-line-height: var(--gunet-line-height-body-relaxed);
  --gunet-type-document-card-title-size: clamp(1.625rem, 2vw, 1.875rem);
  --gunet-type-document-card-title-mobile-size: var(--gunet-font-size-700);
  --gunet-type-document-card-title-line-height: 1.2;
  --gunet-type-document-card-title-letter-spacing: var(--gunet-letter-spacing-heading);

  --gunet-type-laptop-subsection-title-size: clamp(1.5rem, 2.15vw, 1.95rem);
  --gunet-type-laptop-subsection-title-mobile-size: 1.42rem;
  --gunet-type-laptop-subsection-title-letter-spacing: var(--gunet-letter-spacing-heading);
  --gunet-type-laptop-subsection-description-size: .93rem;
  --gunet-type-laptop-subsection-description-mobile-size: .9rem;
  --gunet-type-laptop-subsection-eyebrow-size: .66rem;
  --gunet-type-laptop-subsection-eyebrow-weight: 850;
  --gunet-type-laptop-subsection-eyebrow-letter-spacing: .13em;

  /* Semantic spacing roles are introduced one approved relationship at a time. */
  --gunet-space-section-content-reference: 3rem;
}

body {
  font-family: var(--gunet-font-family-sans);
  font-size: var(--gunet-type-body-size);
  font-weight: var(--gunet-type-body-weight);
  line-height: var(--gunet-type-body-line-height);
  letter-spacing: var(--gunet-type-body-letter-spacing);
}

.type-hero-title,
.type-page-title,
.type-major-section-title,
.type-subsection-title,
.type-content-title { word-break: keep-all; overflow-wrap: normal; }
.type-technical { overflow-wrap: anywhere; }
.type-control { white-space: nowrap; }

.type-hero-title {
  font-size: var(--gunet-type-hero-title-size);
  font-weight: var(--gunet-type-hero-title-weight);
  line-height: var(--gunet-type-hero-title-line-height);
  letter-spacing: var(--gunet-type-hero-title-letter-spacing);
  word-break: var(--gunet-type-hero-title-word-break);
  overflow-wrap: var(--gunet-type-hero-title-overflow-wrap);
}
.type-page-title {
  font-size: var(--gunet-type-page-title-size);
  font-weight: var(--gunet-type-page-title-weight);
  line-height: var(--gunet-type-page-title-line-height);
  letter-spacing: var(--gunet-type-page-title-letter-spacing);
  word-break: var(--gunet-type-page-title-word-break);
  overflow-wrap: var(--gunet-type-page-title-overflow-wrap);
}
.type-major-section-title {
  font-size: var(--gunet-type-major-section-title-size);
  font-weight: var(--gunet-type-major-section-title-weight);
  line-height: var(--gunet-type-major-section-title-line-height);
  letter-spacing: var(--gunet-type-major-section-title-letter-spacing);
  word-break: var(--gunet-type-major-section-title-word-break);
  overflow-wrap: var(--gunet-type-major-section-title-overflow-wrap);
}
.type-subsection-title {
  font-size: var(--gunet-type-subsection-title-size);
  font-weight: var(--gunet-type-subsection-title-weight);
  line-height: var(--gunet-type-subsection-title-line-height);
  letter-spacing: var(--gunet-type-subsection-title-letter-spacing);
  word-break: var(--gunet-type-subsection-title-word-break);
  overflow-wrap: var(--gunet-type-subsection-title-overflow-wrap);
}
.type-content-title {
  font-size: var(--gunet-type-content-title-size);
  font-weight: var(--gunet-type-content-title-weight);
  line-height: var(--gunet-type-content-title-line-height);
  letter-spacing: var(--gunet-type-content-title-letter-spacing);
  word-break: var(--gunet-type-content-title-word-break);
  overflow-wrap: var(--gunet-type-content-title-overflow-wrap);
}
.type-section-description {
  font-size: var(--gunet-type-section-description-size);
  font-weight: var(--gunet-type-section-description-weight);
  line-height: var(--gunet-type-section-description-line-height);
  letter-spacing: var(--gunet-type-section-description-letter-spacing);
  word-break: var(--gunet-type-section-description-word-break);
  overflow-wrap: var(--gunet-type-section-description-overflow-wrap);
}
.type-body-large {
  font-size: var(--gunet-type-body-large-size);
  font-weight: var(--gunet-type-body-large-weight);
  line-height: var(--gunet-type-body-large-line-height);
  letter-spacing: var(--gunet-type-body-large-letter-spacing);
  word-break: var(--gunet-type-body-large-word-break);
  overflow-wrap: var(--gunet-type-body-large-overflow-wrap);
}
.type-body {
  font-size: var(--gunet-type-body-size);
  font-weight: var(--gunet-type-body-weight);
  line-height: var(--gunet-type-body-line-height);
  letter-spacing: var(--gunet-type-body-letter-spacing);
  word-break: var(--gunet-type-body-word-break);
  overflow-wrap: var(--gunet-type-body-overflow-wrap);
}
.type-supporting {
  font-size: var(--gunet-type-supporting-size);
  font-weight: var(--gunet-type-supporting-weight);
  line-height: var(--gunet-type-supporting-line-height);
  letter-spacing: var(--gunet-type-supporting-letter-spacing);
  word-break: var(--gunet-type-supporting-word-break);
  overflow-wrap: var(--gunet-type-supporting-overflow-wrap);
}
.type-eyebrow-section {
  font-size: var(--gunet-type-eyebrow-section-size);
  font-weight: var(--gunet-type-eyebrow-section-weight);
  line-height: var(--gunet-type-eyebrow-section-line-height);
  letter-spacing: var(--gunet-type-eyebrow-section-letter-spacing);
}
.type-eyebrow-utility {
  font-size: var(--gunet-type-eyebrow-utility-size);
  font-weight: var(--gunet-type-eyebrow-utility-weight);
  line-height: var(--gunet-type-eyebrow-utility-line-height);
  letter-spacing: var(--gunet-type-eyebrow-utility-letter-spacing);
}
.type-step-number {
  font-size: var(--gunet-type-step-number-size);
  font-weight: var(--gunet-type-step-number-weight);
  line-height: var(--gunet-type-step-number-line-height);
  letter-spacing: var(--gunet-type-step-number-letter-spacing);
}
.type-caption {
  font-size: var(--gunet-type-caption-size);
  font-weight: var(--gunet-type-caption-weight);
  line-height: var(--gunet-type-caption-line-height);
  letter-spacing: var(--gunet-type-caption-letter-spacing);
}
.type-button {
  font-size: var(--gunet-type-button-size);
  font-weight: var(--gunet-type-button-weight);
  line-height: var(--gunet-type-button-line-height);
  letter-spacing: var(--gunet-type-button-letter-spacing);
}

.type-page-title--editorial {
  font-size: var(--gunet-type-page-title-editorial-size);
  line-height: var(--gunet-type-page-title-editorial-line-height);
  letter-spacing: var(--gunet-type-page-title-editorial-letter-spacing);
}
.type-page-title--document {
  font-size: var(--gunet-type-page-title-document-size);
  line-height: var(--gunet-type-page-title-document-line-height);
  letter-spacing: var(--gunet-type-page-title-document-letter-spacing);
}
.type-major-section-title--compact { font-size: var(--gunet-type-major-section-title-compact-size); }
.type-major-section-title--document { font-size: var(--gunet-type-major-section-title-document-size); }
.type-major-section-title--feature { font-size: var(--gunet-type-major-section-title-feature-size); }
.type-major-section-title--editorial { font-size: var(--gunet-type-major-section-title-editorial-size); }
.type-major-section-title--landing { font-size: var(--gunet-type-major-section-title-landing-size); }

/* Existing shared selectors connected without changing their visual scale. */
.eyebrow {
  font-size: var(--gunet-type-eyebrow-section-size);
  font-weight: var(--gunet-type-eyebrow-section-weight);
  letter-spacing: var(--gunet-type-eyebrow-section-letter-spacing);
}
.hero h1 {
  font-size: var(--gunet-type-hero-title-size);
  line-height: var(--gunet-type-hero-title-line-height);
  letter-spacing: var(--gunet-type-hero-title-letter-spacing);
}
.hero-copy {
  font-size: var(--gunet-type-body-large-size);
  font-weight: var(--gunet-type-body-large-weight);
  line-height: var(--gunet-type-body-large-line-height);
  letter-spacing: var(--gunet-type-body-large-letter-spacing);
}
.section-heading h2 {
  font-size: var(--gunet-type-major-section-title-size);
  line-height: var(--gunet-type-major-section-title-line-height);
  letter-spacing: var(--gunet-type-major-section-title-letter-spacing);
}
.policy-page h1 {
  font-size: var(--gunet-type-page-title-compact-size);
  font-weight: var(--gunet-type-page-title-compact-weight);
  line-height: var(--gunet-type-page-title-compact-line-height);
  letter-spacing: var(--gunet-type-page-title-compact-letter-spacing);
  word-break: keep-all;
}
.policy-page h2 {
  font-size: var(--gunet-type-content-title-size);
  font-weight: var(--gunet-type-content-title-weight);
  line-height: var(--gunet-type-content-title-line-height);
  letter-spacing: var(--gunet-type-content-title-letter-spacing);
}

.nav-list a,
.nav-trigger {
  font-size: var(--gunet-type-navigation-primary-size);
  font-weight: var(--gunet-type-navigation-primary-weight);
  line-height: var(--gunet-type-navigation-primary-line-height);
  letter-spacing: var(--gunet-type-navigation-primary-letter-spacing);
}
.footer-brand p {
  font-size: var(--gunet-type-supporting-size);
  line-height: var(--gunet-type-supporting-line-height);
}
.footer-links h2 {
  font-size: var(--gunet-type-navigation-secondary-size);
  line-height: var(--gunet-type-navigation-secondary-line-height);
}
.footer-links a {
  font-size: var(--gunet-type-navigation-secondary-size);
  line-height: var(--gunet-type-navigation-secondary-line-height);
}
.business-info {
  font-size: var(--gunet-type-caption-size);
  line-height: var(--gunet-type-caption-line-height);
}
.quick-panel span {
  font-size: var(--gunet-type-eyebrow-utility-size);
  font-weight: var(--gunet-type-eyebrow-utility-weight);
  line-height: var(--gunet-type-eyebrow-utility-line-height);
  letter-spacing: var(--gunet-type-eyebrow-utility-letter-spacing);
}
.quick-panel strong {
  font-size: var(--gunet-type-caption-size);
  line-height: var(--gunet-type-caption-line-height);
}





/* Shared header scroll behavior: keep primary navigation visible and collapse only the utility bar. */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transition: none;
}

.site-header .mini-header-bar {
  overflow: hidden;
  transition: margin-top .24s ease, opacity .18s ease;
}

.site-header.is-hidden-on-scroll {
  transform: none;
}

.site-header.is-hidden-on-scroll .mini-header-bar {
  margin-top: -30px;
  opacity: 0;
  pointer-events: none;
}

.site-header.is-top-jump,
.site-header.is-top-jump * {
  transition: none !important;
  animation: none !important;
}

.site-header.is-top-jump {
  transform: translateY(-100%) !important;
  pointer-events: none;
}

.skip-link:focus {
  position: fixed;
  z-index: 10000;
}

/* Shared quick menu: visible on desktop and tablet service pages. */
.quick-menu {
  position: fixed;
  z-index: 5000;
  top: 50%;
  right: 0;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  transform: translateY(-50%);
}

.quick-toggle {
  width: 26px;
  min-height: 76px;
  border: 0;
  border-radius: 7px 0 0 7px;
  background: var(--blue);
  color: #fff;
  font-size: var(--gunet-type-quick-toggle-size);
  font-weight: var(--gunet-type-quick-toggle-weight);
  letter-spacing: var(--gunet-type-quick-toggle-letter-spacing);
  writing-mode: vertical-rl;
  cursor: pointer;
}

.quick-panel {
  display: grid;
  grid-template-columns: 0;
  visibility: hidden;
  overflow: hidden;
  border-radius: 0;
  background: #fff;
  opacity: 0;
  box-shadow: 0 8px 26px rgba(5, 20, 38, .18);
  transition: grid-template-columns .22s ease, opacity .18s ease, visibility .18s ease;
}

.quick-menu.is-open .quick-panel {
  grid-template-columns: 106px;
  visibility: visible;
  opacity: 1;
}

.quick-panel a {
  display: grid;
  gap: 1px;
  padding: 6px;
  border-bottom: 1px solid #e1e8f0;
  color: var(--ink);
  text-decoration: none;
  white-space: nowrap;
}

.quick-panel a:last-child { border-bottom: 0; }
.quick-panel a:hover { background: #eef6ff; color: var(--blue); }
.quick-panel span { color: var(--blue); font-size: var(--gunet-type-quick-panel-label-size); font-weight: var(--gunet-type-quick-panel-label-weight); letter-spacing: var(--gunet-type-quick-panel-label-letter-spacing); }
.quick-panel strong { font-size: var(--gunet-type-quick-panel-title-size); }

@media (max-width: 980px) {
  :root {
    --gunet-type-page-title-reference-size: clamp(2rem, 5.9vw, 2.85rem);
  }

  body.mobile-main-nav-open {
    overflow-x: hidden;
  }
}

@media (max-width: 600px) {
  .quick-menu {
    display: none !important;
  }
}

.logo-swap {
  position: relative;
  display: block;
  width: 164px;
  height: 39px;
  overflow: hidden;
}

.nav-brand .logo-swap img,
.mobile-nav-brand .logo-swap img {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  max-width: 100%;
  height: 39px;
  object-fit: contain;
  object-position: left center;
}

.mobile-nav-brand {
  min-width: 0;
  flex: 1 1 auto;
  color: var(--ink);
  text-decoration: none;
}
.mobile-nav-actions { display: none; }
.mobile-only-nav { display: none; }
.mobile-utility-resources { display: none; }
.site-header a.utility-pending[aria-disabled="true"] {
  cursor: default;
  opacity: .65;
  background: transparent;
  color: inherit;
  text-decoration: none;
}
@media (max-width: 1023px) {
  .nav-list .mobile-utility-resources {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    padding: 12px 18px;
    border-top: 1px solid var(--line);
  }
  .nav-list .mobile-utility-resources > a {
    display: flex;
    align-items: center;
    width: auto;
    min-height: 44px;
    padding: 0 12px;
    border: 0;
    font-size: .86rem;
    letter-spacing: 0;
  }
}

@media (max-width: 1023px) {
  .mini-header-bar { display: none; }
  .mobile-nav-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }
  .mobile-search-toggle { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line); background: #fff; color: var(--navy); font-size: 1.35rem; line-height: 1; cursor: pointer; }
  .mobile-search-toggle[aria-expanded="true"] { background: #000; color: #fff; }
  .nav-list:not(.search-open) .nav-search { display: none; }
  .nav-list.search-open .nav-search { display: flex; }
  .nav-list.search-open:not(.is-open) { display: block; }
  .nav-list.search-open:not(.is-open) > :not(.nav-search) { display: none !important; }
  .mobile-nav-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: calc(100% - 32px);
    height: 64px;
    font-size: var(--gunet-type-mobile-header-label-size);
    font-weight: var(--gunet-type-mobile-header-label-weight);
    letter-spacing: var(--gunet-type-mobile-header-label-letter-spacing);
  }

  .mobile-nav-header .logo-swap {
    width: 140px;
    height: 34px;
  }

  .mobile-nav-header .logo-swap img {
    height: 34px;
  }

  @media (max-width: 430px) {
    .mobile-nav-header .logo-swap { width: 126px; }
    .mobile-search-toggle,
    .mobile-nav-toggle { width: 36px; height: 36px; }
  }

  .nav-list > .nav-brand {
    display: none;
  }

  .nav-list > .nav-trigger {
    position: relative;
    padding-right: 52px;
  }

  .nav-list > .mobile-only-nav {
    display: block;
    width: 100%;
    min-height: 56px;
    padding: 0 18px;
    border-bottom: 1px solid #dbe3ec;
    color: var(--ink);
    font:800 1rem var(--font-sans);
    line-height: 56px;
    text-decoration: none;
    white-space: nowrap;
  }

  .nav-list > .mobile-only-nav:hover,
  .nav-list > .mobile-only-nav:focus-visible {
    background: #000;
    color: #fff;
  }

  .nav-list > .nav-trigger::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 18px;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1;
    transform: translateY(-52%);
  }

  .nav-list > .nav-trigger[aria-expanded="true"]::after {
    content: "−";
  }

  .nav-list.is-open {
    max-height: calc(100vh - 64px);
    max-height: calc(100dvh - 64px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
  }
}

.logo-swap-en { animation: logo-swap-en 8s ease-in-out infinite; }
.logo-swap-ko { animation: logo-swap-ko 8s ease-in-out infinite; }

/* Keep the hero geometry stable while a navigation panel opens or closes. */
html { scrollbar-gutter: stable; }

/* Keep the desktop layout width identical while a mega menu is opened. */
@media (min-width: 1024px) {
  html { overflow-y: scroll; }
}

.main-hero.is-navigation-open::after,
.main-hero.is-navigation-open .hero-slide-ui,
.main-hero.is-navigation-open .hero-slide-ui * {
  animation-play-state: paused !important;
}

@media (max-width: 1023px) {
  html { scrollbar-gutter: auto; }
}

.logo-swap:hover img { animation-play-state: paused; }

@keyframes logo-swap-en {
  0%, 43% { transform: translateY(0); }
  50%, 93% { transform: translateY(-120%); }
  93.01% { transform: translateY(120%); }
  100% { transform: translateY(0); }
}

@keyframes logo-swap-ko {
  0%, 43% { transform: translateY(120%); }
  50%, 93% { transform: translateY(0); }
  100% { transform: translateY(-120%); }
}

/* Compact desktop search: keep the navigation balanced and reveal search on demand. */
.primary-nav {
  position: relative;
}

.desktop-search-toggle {
  display: grid;
  place-items: center;
  flex: 0 0 54px;
  width: 54px;
  margin-left: auto;
  border: 0;
  border-left: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}

.desktop-search-toggle:hover,
.desktop-search-toggle:focus-visible,
.desktop-search-toggle[aria-expanded="true"] {
  background: #000;
  color: #fff;
  outline: 0;
}

.desktop-search-toggle svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.8;
}

.desktop-search-panel {
  position: absolute;
  z-index: 30;
  top: 100%;
  left: 0;
  width: 100%;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid #000;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 14px 26px rgba(8, 27, 53, .12);
}

.desktop-search-panel[hidden] {
  display: none !important;
}

.desktop-search-inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-height: 76px;
}

.desktop-search-form {
  width: min(560px, 65vw);
  max-width: none;
  flex: 0 1 560px;
}

.desktop-search-form input {
  min-height: 44px;
  font-size: .92rem;
}

.desktop-search-form button {
  width: 46px;
}

.desktop-search-close {
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}

.desktop-search-close:hover,
.desktop-search-close:focus-visible {
  border-color: #000;
  background: #000;
  color: #fff;
  outline: 0;
}

@media (min-width: 1024px) {
  .site-header .nav-list {
    position: relative;
    justify-content: center;
    padding-right: 54px;
    padding-left: 178px;
  }

  .site-header .nav-brand {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin-right: 0;
  }

  .site-header .desktop-search-toggle {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin-left: 0;
  }

  .site-header .nav-list > .nav-trigger:not(.mobile-only-nav) {
    flex: 0 0 auto;
    box-sizing: border-box;
  }

  .site-header .nav-list > [aria-controls="panel-recovery"],
  .site-header .nav-list > [aria-controls="panel-destruction"],
  .site-header .nav-list > [aria-controls="panel-system-cloning"] { width: 110px; }
  .site-header .nav-list > [aria-controls="panel-itad"] { width: 113px; }
  .site-header .nav-list > [aria-controls="panel-nas"] { width: calc(69px + .16em); letter-spacing: .08em; }
  .site-header .nav-list > [aria-controls="panel-it-service"] { width: 96px; }
  .site-header .nav-list > [aria-controls="panel-support"] { width: 93px; }

  .nav-list > .nav-search {
    display: none;
  }
}



@media (max-width: 1023px) {
  .desktop-search-toggle,
  .desktop-search-panel {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .logo-swap img { animation: none; }
  .logo-swap-ko { display: none; }
}
:root {
  --card-hover-1: #173a5e;
  --card-hover-2: #20476d;
  --card-hover-3: #28527a;
  --card-hover-4: #315d86;
}

/* Consistent link direction: internal pages stay in the tab, external pages open separately. */
.internal-page-link::after {
  display: inline-block;
  margin-left: .42em;
  font-size: .88em;
  font-weight: 500;
  line-height: 1;
  transition: transform .18s ease, color .18s ease;
}
.internal-page-link::after { content: "\2197"; }
.internal-page-link:hover::after,
.internal-page-link:focus-visible::after { transform: translate(2px, -2px); }

/* G.U.NET shared color system */
:root {
  --ink: #101828;
  --navy: #0d243f;
  --navy-secondary: #102e4f;
  --blue: #146cd4;
  --blue-light: #69adff;
  --muted: #64748a;
  --line: #cbd6e3;
  --sky: #f3f6fa;
  --white: #fff;
  --black: #000;
  --blue-hover: rgba(20, 108, 212, .1);
  --white-line: rgba(255, 255, 255, .25);
  --navy-overlay: rgba(13, 36, 63, .7);
  /* Shared card interaction: restrained motion, with stronger feedback only for selectable cards. */
  --gunet-card-hover-line: #146cd4;
  --gunet-card-hover-line-check: #0d1b2d;
  --gunet-card-hover-line-rest-scale: .35;
  --gunet-card-hover-duration: .22s;
  --gunet-card-hover-ease: cubic-bezier(.2, .72, .32, 1);
  --gunet-card-hover-shadow-info: 0 10px 26px rgba(13, 36, 63, .08);
  --gunet-card-hover-shadow-select: 0 16px 34px rgba(13, 36, 63, .13);
}

.back-to-top {
  position: fixed;
  z-index: 5001;
  right: 24px;
  bottom: 24px;
  display: grid;
  width: 52px;
  height: 52px;
  place-content: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 0;
  overflow: hidden;
  background: #000;
  color: #fff;
  box-shadow: 0 10px 24px rgba(13, 36, 63, .2);
  opacity: 0;
  visibility: hidden;
  transition: border-color .2s ease;
  cursor: pointer;
}

.back-to-top[hidden] {
  display: none !important;
}

.back-to-top .back-to-top-symbol {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 52px;
  height: 52px;
  background: #fff url("../../../images/gunet-top-symbol.png") center / 52px 52px no-repeat;
  opacity: 1;
  transition: opacity .18s ease;
}

.back-to-top .back-to-top-arrow {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  color: #fff;
  width: 28px;
  height: 28px;
  opacity: 0;
  transform: translate(-50%, -40%);
  transition: opacity .18s ease, transform .2s ease;
}

.back-to-top .back-to-top-arrow svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: square;
  stroke-linejoin: miter;
}

.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
}

.back-to-top:hover,
.back-to-top:focus-visible {
  background: #000;
  border-color: #69adff;
  outline: 2px solid #69adff;
  outline-offset: 2px;
}

.back-to-top:hover .back-to-top-symbol,
.back-to-top:focus-visible .back-to-top-symbol {
  opacity: 0;
}

.back-to-top:hover .back-to-top-arrow,
.back-to-top:focus-visible .back-to-top-arrow {
  opacity: 1;
  transform: translate(-50%, -50%);
}

@media (max-width: 760px) {
  .back-to-top {
    right: 16px;
    bottom: 72px;
    width: 44px;
    height: 44px;
  }

  .back-to-top .back-to-top-symbol {
    width: 44px;
    height: 44px;
    background-size: 44px 44px;
  }
}



/* 상단 유틸 메뉴 최종 설정 */
@media (min-width: 1024px) {
  .mini-header-bar .wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .mini-header-bar .utility-menu-group {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    margin-left: auto;
    gap: 0;
    white-space: nowrap;
  }

  .mini-header-bar .utility-menu-item {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;

    width: auto;
    min-width: 0;
    height: 32px;
    min-height: 32px;

    margin: 0;
    padding: 0 12px;

    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    background: transparent;

    color: #fff;
    font: inherit;
    line-height: 32px;
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
  }

  .mini-header-bar .utility-menu-item:hover,
  .mini-header-bar .utility-menu-item:focus-visible,
  .mini-header-bar .utility-menu-item[aria-expanded="true"],
  .mini-header-bar .utility-menu-item.is-current {
    background: #fff !important;
    color: var(--navy) !important;
    text-decoration: none !important;
    outline: 0;
  }

  .mini-header-bar .utility-divider {
    display: block;
    flex: 0 0 1px;
    width: 1px;
    height: 14px;
    margin: 9px 7px;
    padding: 0;
    background: rgba(255, 255, 255, 0.35);
  }
}



.mini-header-bar .utility-menu-item:hover,
.mini-header-bar .utility-menu-item:focus-visible,
.mini-header-bar .utility-menu-item[aria-expanded="true"],
.mini-header-bar .utility-menu-item.is-current {
  background: #fff !important;
  color: var(--navy) !important;
  text-decoration: none !important;
  outline: 0;
}

/* Shared compact-header menu: preserve the original gaps while matching the primary-nav active state. */
@media (min-width: 1024px) {
  .site-header .mini-header-bar .wrap > div:last-child {
    gap: 0;
  }

  .site-header .mini-header-bar .wrap > div:last-child > a,
  .site-header .mini-header-bar .utility-menu-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    margin: 0;
    padding: 0 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #e5edf6;
    font-family: inherit;
    cursor: pointer;
  }

  .site-header .mini-header-bar .wrap > div:last-child > a:hover,
  .site-header .mini-header-bar .wrap > div:last-child > a:focus-visible,
  .site-header .mini-header-bar .wrap > div:last-child > a[aria-current="page"],
  .site-header .mini-header-bar .utility-menu-trigger:hover,
  .site-header .mini-header-bar .utility-menu-trigger:focus-visible,
  .site-header .mini-header-bar .utility-menu-trigger.is-current,
  .site-header .mini-header-bar .utility-menu-trigger[aria-expanded="true"] {
    background: #fff;
    color: var(--navy);
    text-decoration: none;
    outline: 0;
  }

  .site-header .mini-header-bar .wrap > div:last-child > a.utility-pending {
    background: transparent;
    color: #e5edf6;
    cursor: default;
  }
}

/* V1 shared header: fixed type size, compact centered menus, desktop from 1024px. */
.site-header a[data-hub-link] { text-decoration:none; }
.site-header .nav-list > a[data-hub-link]:not(.mobile-only-nav) { display:flex; align-items:center; justify-content:center; }
.site-header .nav-list > a[data-hub-link]::after { content:none; }
.site-header .nav-list > a[data-hub-link]:is(:hover,:focus-visible,.is-current) { background:#000; color:#fff; }
.site-header .mini-header-bar a:is([data-hub-link],[data-knowledge-nav]):is(:hover,:focus-visible,.is-current,[aria-current]) { background:#fff; color:#0d243f; text-decoration:none; }
.site-header a[data-hub-link]:focus-visible { outline:2px solid #1673e8; outline-offset:-2px; }
.site-header .mini-header-bar { height:30px; min-height:30px; }
.site-header .mini-header-bar .wrap { min-height:30px; }
.site-header .mini-header-bar .wrap > span,
.site-header .mini-header-bar .wrap > div > :is(a,button) { font-size:12px; font-weight:700; white-space:nowrap; }
.site-header .mini-header-bar .wrap > div > :is(a,button) { min-height:26px; }
.site-header .logo-swap { width:176px; height:44px; }
.site-header :is(.nav-brand,.mobile-nav-brand) .logo-swap img { width:100%; height:100%; max-width:none; object-fit:contain; object-position:left center; }
@media (min-width:1024px) {
  .site-header > .mini-header-bar > .wrap,
  .site-header .primary-nav > .nav-list { width:calc(100% - 48px); max-width:none; }
  .site-header .primary-nav > .nav-list { min-height:80px; padding:0 54px 0 190px; justify-content:center; }
  .site-header .primary-nav .nav-brand { width:176px; margin:0; }
  .site-header .primary-nav .nav-list > .nav-trigger:not(.mobile-only-nav) { font-size:17.28px; }
  .site-header .mini-header-bar .wrap > div:last-child { gap:0; }
}
@media (min-width:1280px) {
  .site-header > .mini-header-bar > .wrap,
  .site-header .primary-nav > .nav-list { width:calc(100% - 64px); }
  .site-header .primary-nav > .nav-list { padding-inline:190px; }
}
@media (max-width:1023px) {
  .site-header .primary-nav .nav-brand { display:none; }
  .site-header .primary-nav > .nav-list { min-height:0; padding:0; }
  .site-header .mobile-nav-header .logo-swap { width:156px; height:39px; }
}
@media (max-width:700px) {
  .site-header .mobile-nav-header .logo-swap { width:137px; height:34.25px; }
}

/* Keep product navigation centered independently of the right-hand resources. */
@media (min-width:1024px) {
  .site-header .mini-header-bar > .wrap {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    column-gap:16px;
  }
  .site-header .mini-header-bar .v1-product-menu {
    display:flex;
    justify-self:center;
    align-items:center;
    gap:0;
  }
  .site-header .mini-header-bar .v1-knowledge-menu {
    justify-self:end;
  }
}

/* Non-interactive brand caption. */
.site-header .mini-header-bar .v1-brand-caption { display:flex; align-items:center; gap:10px; }
.site-header .mini-header-bar .v1-caption-name { color:#fff; font-size:12px; font-weight:700; }
.site-header .mini-header-bar .v1-caption-divider { flex:0 0 1px; width:1px; height:12px; background:#617187; }
.site-header .mini-header-bar .v1-caption-tagline { color:#bacbdf; font-size:12px; font-weight:600; }

/* V1 full navigation, isolated from the existing hover menus. */
.v1-sitemap-toggle { display:none; }
@media(min-width:1024px) {
  .site-header .v1-sitemap-toggle { display:grid; place-items:center; position:absolute; inset:0 0 0 auto; width:44px; padding:0; border:0; background:transparent; color:var(--navy); cursor:pointer; }
  .v1-sitemap-toggle svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.8; }
  .site-header .desktop-search-toggle { right:44px; width:44px; }
  .site-header .primary-nav > .nav-list { padding-right:100px; }
  .site-header .v1-sitemap-toggle:hover,.site-header .v1-sitemap-toggle:focus-visible { background:var(--navy); color:#fff; }
}
@media(min-width:1024px) and (max-width:1279px) {
  .site-header .primary-nav .nav-list > .nav-trigger:not(.mobile-only-nav) { width:auto; padding-inline:12px; }
}
@media(min-width:1280px) { .site-header .primary-nav > .nav-list { padding-right:190px; } }
.v1-sitemap { position:fixed; inset:24px; width:calc(100% - 48px); max-width:1600px; height:calc(100dvh - 48px); max-height:none; margin:auto; padding:0 32px 32px; border:0; border-top:5px solid #0d243f; color:#101828; background:#fff; overflow:auto; overscroll-behavior:contain; }
.v1-sitemap::backdrop { background:rgba(8,22,39,.65); }
.v1-sitemap-heading { position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:78px; background:#fff; border-bottom:1px solid #cbd6e3; }
.v1-sitemap-heading h2 { margin:0; font-size:26px; }
.v1-sitemap-close { display:grid; place-items:center; width:44px; height:44px; border:0; background:#0d243f; color:white; font-size:30px; cursor:pointer; }
.v1-sitemap-jumps { display:flex; flex-wrap:wrap; gap:8px; padding:22px 0; border-bottom:1px solid #cbd6e3; }
.v1-sitemap-jumps button { padding:9px 12px; border:1px solid #cbd6e3; background:#fff; color:#0d243f; font:600 14px var(--font-sans); cursor:pointer; }
.v1-sitemap-section { padding:28px 0; border-bottom:1px solid #cbd6e3; scroll-margin-top:90px; }
.v1-sitemap-section > h3 { margin:0 0 24px; font-size:21px; color:#0d243f; }
.v1-sitemap a { color:inherit; text-decoration:none; }
.v1-sitemap a:hover { color:#146cd4; text-decoration:underline; text-underline-offset:4px; }
.v1-sitemap :is(a,button):focus-visible { outline:2px solid #146cd4; outline-offset:3px; }
.v1-sitemap a[aria-current="page"] { color:#146cd4; font-weight:800; }
.v1-sitemap-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.v1-sitemap-category h4 { margin:0 0 10px; padding:0 0 10px; border-bottom:1px solid #cbd6e3; font-size:15px; line-height:1.5; }
.v1-sitemap-category a { display:block; padding:7px 0; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.v1-sitemap-category h4 a { padding:0; font-size:15px; }
@media(max-width:1023px) { .v1-sitemap-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  .v1-sitemap { inset:0; width:100%; max-width:none; height:100dvh; padding:0 18px 24px; }
  .v1-sitemap-heading { min-height:68px; }
  .v1-sitemap-heading h2 { font-size:22px; }
  .v1-sitemap-grid { grid-template-columns:1fr; gap:24px; }
  .v1-sitemap-jumps { gap:6px; padding:16px 0; }
  .v1-sitemap-jumps button { padding:8px 10px; }
}
