@font-face{font-family:NoonnuBasicGothic;font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/NoonnuBasicGothicRegular.ttf)format("truetype")}
:root{--ink:#111418;--muted:#5c6470;--line:#e4e7ec;--white:#ffffff;--pale:#f6f7f9;--blue:#1a4fe0;--blue-bright:#2f63ff;--navy:#111418;--navy-2:#1b1f27}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font:16px/1.6 'Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;letter-spacing:-.02em;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100}
.skip-link:focus{left:0}
.f-shell{width:min(1180px,calc(100% - 64px));margin:auto}
.f-header{height:80px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:relative;background:var(--white)}
.f-logo{display:flex;align-items:center}
.f-logo-img{display:block;height:34px;width:auto}
.f-nav{display:flex;gap:32px;color:var(--muted);font-size:14px}
.f-nav a:hover{color:var(--ink)}
.f-header-actions{display:flex;align-items:center;gap:20px}
.f-lang{color:var(--blue);font-weight:600;font-size:14px}
.f-nav-toggle{display:none;background:none;border:0;padding:6px;flex-direction:column;gap:5px}
.f-nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);border-radius:0;transition:transform .2s,opacity .2s}
.f-nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.f-nav-toggle.is-open span:nth-child(2){opacity:0}
.f-nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.f-eyebrow{color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.f-hero{padding:150px 0 160px;border-bottom:1px solid var(--line)}
.f-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end}
.f-hero h1,.f-about h2,.f-products h2,.f-principle h2,.f-contact h2{margin:20px 0 0;font:400 clamp(48px,7vw,104px)/.95 NoonnuBasicGothic,sans-serif;letter-spacing:-.1em}
.f-hero h1 span{color:var(--blue)}
.f-aside{max-width:330px;color:var(--muted);font-size:18px}
.f-aside p em{color:var(--ink);font-style:normal}
.f-aside a{display:inline-block;margin-top:28px;color:var(--ink);font-weight:700;border-bottom:2px solid var(--blue);padding-bottom:2px}
.f-aside a:after{content:' →'}
.f-products{padding:150px 0 130px}
.f-section-head{margin-bottom:64px;max-width:640px}
.f-section-head h2{color:var(--ink);font-size:clamp(44px,6vw,72px)}
.f-section-head p{margin-top:20px;color:var(--muted);font-size:18px}
.f-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.f-product-card{border:1px solid var(--line);border-radius:0;padding:40px 36px;background:var(--white);display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s}
.f-product-card:hover{box-shadow:0 20px 48px rgba(17,20,24,.07);border-color:#cfd4dc}
.f-product-card--dark{background:var(--navy);border-color:var(--navy);color:#fff}
.f-product-card--dark:hover{border-color:var(--navy);box-shadow:0 20px 48px rgba(17,20,24,.18)}
.f-card-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line)}
.f-product-card--dark .f-card-head{border-bottom-color:rgba(255,255,255,.16)}
.f-card-index{color:var(--blue);font-size:13px;font-weight:700;letter-spacing:.1em}
.f-product-card--dark .f-card-index{color:var(--blue-bright)}
.f-card-brand{color:var(--muted);font-size:14px;font-weight:600}
.f-product-card--dark .f-card-brand{color:rgba(255,255,255,.6)}
.f-product-card h3{margin:28px 0 0;font:400 clamp(26px,3vw,36px)/1.15 NoonnuBasicGothic,sans-serif;letter-spacing:-.05em;color:var(--ink)}
.f-product-card--dark h3{color:#fff}
.f-card-desc{margin:16px 0 0;color:var(--muted);font-size:15px}
.f-product-card--dark .f-card-desc{color:rgba(255,255,255,.68)}
.f-card-list{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--line)}
.f-product-card--dark .f-card-list{border-top-color:rgba(255,255,255,.16)}
.f-card-list li{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}
.f-product-card--dark .f-card-list li{border-bottom-color:rgba(255,255,255,.16)}
.f-card-list li span{color:var(--muted)}
.f-product-card--dark .f-card-list li span{color:rgba(255,255,255,.6)}
.f-card-list li strong{font-size:15px;color:var(--ink)}
.f-product-card--dark .f-card-list li strong{color:#fff}
.f-card-link{display:inline-block;margin-top:28px;color:var(--ink);font-weight:700;border-bottom:2px solid var(--blue);padding-bottom:2px;align-self:flex-start}
.f-product-card--dark .f-card-link{color:#fff;border-bottom-color:var(--blue-bright)}
.f-about{padding:150px 0;border-top:1px solid var(--line);background:var(--pale)}
.f-about .f-grid{display:grid;grid-template-columns:.6fr 1.4fr;gap:80px}
.f-about h2{font-size:clamp(44px,6vw,84px)}
.f-about p{margin-top:24px;color:var(--muted);font-size:18px;max-width:560px}
.f-principle{padding:150px 0;border-top:1px solid var(--line)}
.f-principle h2{font-size:clamp(44px,6vw,72px);color:var(--ink)}
.f-principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.f-principle-item{padding:36px 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);transition:background .2s}
.f-principle-item:hover{background:var(--pale)}
.f-principle-no{color:var(--blue);font-size:13px;font-weight:700;letter-spacing:.1em}
.f-principle-item h3{margin:18px 0 10px;font:600 22px NoonnuBasicGothic,sans-serif;letter-spacing:-.04em;color:var(--ink)}
.f-principle-item p{margin:0;color:var(--muted);font-size:15px}
.f-contact{padding:150px 0;background:var(--ink);color:#fff}
.f-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.f-contact h2{font-size:clamp(44px,6vw,72px);color:#fff}
.f-contact p{margin-top:16px;color:rgba(255,255,255,.7);font-size:18px}
.f-contact .f-btn{margin-top:28px}
.f-btn{display:inline-block;padding:14px 28px;border:1px solid var(--blue-bright);background:var(--blue-bright);color:#fff;font-weight:700;font-size:15px;border-radius:0;transition:background .2s}
.f-btn:hover{background:#1d55f5}
.f-footer{padding:80px 0 40px;border-top:1px solid var(--line);background:var(--white);color:var(--ink)}
.f-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid var(--line)}
.f-footer-brand{display:block;height:30px;width:auto;margin:0}
.f-footer-desc{margin-top:12px;color:var(--muted);font-size:14px;max-width:280px}
.f-footer-col-title{margin:0 0 14px;color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.08em}
.f-footer-link{display:block;margin-bottom:10px;color:var(--muted);font-size:14px}
.f-footer-link:hover{color:var(--ink)}
.f-footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:28px 0 0;color:var(--muted);font-size:13px}
.f-footer-legal{display:flex;gap:20px}
.f-footer-legal a{color:var(--muted)}
.f-footer-legal a:hover{color:var(--ink)}
.f-footer-info{margin:24px 0 0;color:var(--muted);font-size:12px;line-height:1.7}
.f-hero--sub{padding:110px 0 120px}
.f-hero--sub h1{font-size:clamp(44px,6vw,80px)}
.f-sub-desc{margin-top:24px;color:var(--muted);font-size:18px;max-width:560px}
.f-license{padding:0 0 140px}
.f-license-block{border:1px solid var(--line);padding:36px 32px;margin-bottom:24px;background:var(--white)}
.f-license-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--line)}
.f-license-head h2{margin:0;font:600 22px NoonnuBasicGothic,sans-serif;letter-spacing:-.04em;color:var(--ink)}
.f-license-tag{color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.08em}
.f-license-copy{margin:16px 0 0;color:var(--muted);font-size:14.5px;line-height:1.7}
.f-license-link{display:inline-block;margin-top:16px;color:var(--ink);font-weight:700;font-size:14px;border-bottom:2px solid var(--blue);padding-bottom:2px}
.f-license-link:after{content:' ↗'}
.f-policy{padding:0 0 140px}
.f-policy-block{border:1px solid var(--line);padding:36px 32px;margin-bottom:24px;background:var(--white)}
.f-policy-block h2{margin:0 0 12px;font:600 20px NoonnuBasicGothic,sans-serif;letter-spacing:-.04em;color:var(--ink)}
.f-policy-block p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.f-policy-block p + p{margin-top:12px}
.f-policy-block ul{margin:12px 0 0;padding-left:20px;color:var(--muted);font-size:15px;line-height:1.8}
.f-policy-block a{color:var(--blue);border-bottom:1px solid var(--blue)}
.f-policy-contact{border:1px solid var(--line);padding:32px;background:var(--pale)}
.f-policy-contact-title{margin:0 0 8px;font:600 18px NoonnuBasicGothic,sans-serif;color:var(--ink)}
.f-policy-contact-row{margin:6px 0 0;color:var(--muted);font-size:14.5px}
.f-policy-contact-row a{color:var(--blue);border-bottom:1px solid var(--blue)}
.f-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.f-reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.f-reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
@media (max-width:900px){
  .f-shell{width:min(100% - 40px,1180px)}
  .f-hero{padding:100px 0 110px}
  .f-hero-grid{grid-template-columns:1fr;gap:40px}
  .f-aside{max-width:none}
  .f-product-grid{grid-template-columns:1fr}
  .f-about .f-grid,.f-contact-grid{grid-template-columns:1fr;gap:40px}
  .f-principle-grid{grid-template-columns:1fr;border-left:0}
  .f-principle-item{border-right:0}
  .f-footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .f-nav{display:none;position:fixed;inset:80px 0 auto 0;background:var(--white);border-bottom:1px solid var(--line);padding:20px 20px 28px;flex-direction:column;gap:16px;z-index:50}
  .f-nav.is-open{display:flex}
  .f-nav-toggle{display:flex}
  .f-header-actions{gap:12px}
}
.f-card-link:after{content:' ↗'}