@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--n:#061522;--n2:#0b2943;--b:#ff7700;--c:#ff7700;--i:#112536;--p:#f3f6f8;--l:#dce5eb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,"Noto Sans KR",sans-serif;color:var(--i);background:white}a{text-decoration:none;color:inherit}
header{height:76px;position:fixed;z-index:50;inset:0 0 auto;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;color:#fff;background:#061522e5;backdrop-filter:blur(13px);border-bottom:1px solid #ffffff20}.logo{display:flex;align-items:center;gap:11px}.hm{width:39px;height:39px;border:2px solid var(--c);color:var(--c);display:grid;place-items:center;font-weight:800;transform:skew(-7deg)}.logo b{letter-spacing:2px}.logo small{display:block;font-size:7px;letter-spacing:2.2px;margin-top:4px;opacity:.65}nav{display:flex;gap:25px;font-size:12px}nav a:hover{color:var(--c)}.menu{display:none;background:0;border:0;color:#fff;font-size:23px}
.hero{height:100vh;min-height:740px;display:flex;align-items:center;color:#fff;position:relative;background:linear-gradient(90deg,#05131ff7,#05131fc5 43%,#05131f48 76%),url('https://images.unsplash.com/photo-1742931896676-97369bedd548?auto=format&fit=crop&q=86&w=2400') center/cover}.hero>div:first-child{margin-left:8vw;z-index:2}.tag{font-size:10px;letter-spacing:4px;color:var(--c);font-weight:800}.hero h1{font-size:clamp(53px,7vw,102px);line-height:.94;letter-spacing:-5px;margin:23px 0}.hero h1 span{color:#79ceff}.hero p{color:#c5d3de;line-height:1.9;font-size:16px}.actions{display:flex;gap:10px;margin-top:32px}.btn{display:inline-flex;min-height:50px;padding:0 24px;align-items:center;justify-content:center;font-size:12px;font-weight:800;border:0;cursor:pointer}.primary{background:var(--b);color:#fff}.ghost{border:1px solid #ffffff50;color:#fff}.stats{position:absolute;bottom:0;left:8vw;right:8vw;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff2d}.stats div{padding:22px;border-right:1px solid #ffffff20}.stats b{display:block;font-size:12px}.stats small{color:#8da4b5}
.sec{padding:105px 8vw}.head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:50px}.head h2,.split h2,.contact h2{font-size:clamp(35px,4.3vw,60px);line-height:1.1;letter-spacing:-2px;margin:12px 0}.head>p{max-width:480px;color:#6c7c89;line-height:1.8;font-size:13px}.split{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.split p{color:#667885;line-height:1.9}.image{min-height:440px;background:url('https://images.unsplash.com/photo-1742931896676-97369bedd548?auto=format&fit=crop&q=78&w=1300') center/cover}
.dark{background:var(--n);color:#fff}.dark .head>p{color:#91a5b5}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff20}.card{background:#092035;padding:30px;min-height:380px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.card:hover{background:#0d2b46;transform:translateY(-4px)}.card .no{color:#607a8e;font-size:10px}.card small{color:#69c6ff;letter-spacing:2px}.card h3{font-size:26px;margin:9px 0}.card p{color:#9db1c0;line-height:1.7;font-size:13px}
.paper{background:var(--p)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.tile{background:#fff;border:1px solid var(--l);padding:29px;min-height:225px;transition:.2s}.tile:hover{transform:translateY(-4px);box-shadow:0 15px 40px #10283a12}.tile b{font-size:10px;color:var(--b)}.tile h3{margin-top:50px;font-size:19px}.tile p{font-size:12px;color:#72828e;line-height:1.7}
.feature{min-height:540px;padding:85px 8vw;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,#061522f5,#06152291),url('https://images.unsplash.com/photo-1664882818588-9e8f86ccf055?auto=format&fit=crop&q=82&w=2200') center/cover}.feature div{max-width:650px}.feature h2{font-size:clamp(40px,5vw,68px);line-height:1.04;margin:18px 0}.feature p{color:#b6c6d1;line-height:1.9}
.brands{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--l)}.brands div{padding:28px;border-right:1px solid var(--l);min-height:130px}.brands strong{font-size:19px}.brands small{display:block;color:#798995;margin-top:9px}.note{font-size:10px;color:#84939e;margin-top:17px;line-height:1.7}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--l)}.timeline div{background:#fff;padding:28px}.timeline b{color:var(--b);font-size:22px}.timeline p{font-size:12px;color:#70808d;line-height:1.7}
.cta{padding:90px 8vw;background:linear-gradient(120deg,#0c3454,#061522);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:40px}.cta h2{font-size:clamp(35px,4vw,58px);margin:10px 0}.cta p{color:#a5b7c4}
.sub{padding:155px 8vw 80px;color:#fff;background:linear-gradient(120deg,#061522,#0c3658)}.sub h1{font-size:clamp(43px,6vw,76px);margin:14px 0}.sub p{max-width:720px;color:#aabcc9;line-height:1.8}
.two{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.box{border:1px solid var(--l);padding:34px;min-height:220px}.box h3{font-size:21px}.box p{color:#6d7e8b;line-height:1.8;font-size:13px}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact label{font-size:11px;font-weight:700}.contact input,.contact select,.contact textarea{display:block;width:100%;padding:14px;margin-top:8px;border:1px solid var(--l);font:inherit;font-size:12px;background:#fbfcfd}.wide{grid-column:1/-1}
footer{padding:55px 8vw 25px;background:#04101a;color:#8fa4b4;display:grid;grid-template-columns:1.2fr 1fr .7fr;gap:35px;font-size:11px}footer b{color:#fff}footer a{display:block;margin-bottom:9px}.copy{grid-column:1/-1;border-top:1px solid #ffffff16;padding-top:22px}
@media(max-width:850px){header{height:66px}.menu{display:block}nav{display:none;position:absolute;top:66px;left:0;right:0;background:#061522;padding:25px 6vw;flex-direction:column}nav.open{display:flex}.hero{height:auto;min-height:760px;padding:120px 0 160px}.hero>div:first-child{margin:0 7vw}.hero h1{letter-spacing:-2px}.stats{left:0;right:0;grid-template-columns:1fr 1fr}.sec{padding:75px 7vw}.head{display:block}.split,.contact{grid-template-columns:1fr}.cards,.grid,.two{grid-template-columns:1fr}.card{min-height:290px}.brands,.timeline{grid-template-columns:1fr 1fr}.cta{display:block;padding:70px 7vw}.contact form{grid-template-columns:1fr}.wide{grid-column:auto}footer{grid-template-columns:1fr}.copy{grid-column:auto}}

/* V3.1: Mobile <-> PC view switch */
.view-switch{
  position:fixed;right:18px;bottom:18px;z-index:80;
  border:1px solid #ffffff40;background:#071a2aee;color:#fff;
  min-height:44px;padding:0 16px;border-radius:999px;
  font:700 11px Inter,"Noto Sans KR",sans-serif;
  box-shadow:0 10px 28px #00101d42;cursor:pointer;
  backdrop-filter:blur(10px)
}
.view-switch:hover{background:#0b2a44}
html.desktop-view{min-width:1180px}
html.desktop-view body{min-width:1180px}
html.desktop-view .menu{display:none!important}
html.desktop-view nav{display:flex!important;position:static!important;background:transparent!important;padding:0!important;flex-direction:row!important}
html.desktop-view .hero{height:100vh!important;min-height:740px!important;padding:0!important}
html.desktop-view .hero>div:first-child{margin-left:8vw!important}
html.desktop-view .stats{left:8vw!important;right:8vw!important;grid-template-columns:repeat(4,1fr)!important}
html.desktop-view .sec{padding:105px 8vw!important}
html.desktop-view .head{display:flex!important}
html.desktop-view .split,html.desktop-view .contact{grid-template-columns:1fr 1fr!important}
html.desktop-view .cards,html.desktop-view .grid{grid-template-columns:repeat(3,1fr)!important}
html.desktop-view .two{grid-template-columns:repeat(2,1fr)!important}
html.desktop-view .brands,html.desktop-view .timeline{grid-template-columns:repeat(4,1fr)!important}
html.desktop-view .cta{display:flex!important;padding:90px 8vw!important}
html.desktop-view .contact form{grid-template-columns:1fr 1fr!important}
html.desktop-view .wide{grid-column:1/-1!important}
html.desktop-view footer{grid-template-columns:1.2fr 1fr .7fr!important}
html.desktop-view .copy{grid-column:1/-1!important}


/* Products page enhancement */
.products-page-section .head{align-items:start}
.products-intro-copy p{margin:0 0 12px;color:#6d7f8e;line-height:1.9;font-size:13px}
.products-grid-enhanced .tile{display:flex;flex-direction:column}
.product-tile h3{margin-top:30px;line-height:1.3}
.product-tile p{margin-bottom:22px}
.view-products-btn{
  margin-top:auto;
  align-self:flex-start;
  min-height:44px;
  padding:0 16px;
  border:1px solid var(--b);
  background:transparent;
  color:var(--b);
  font:700 12px Inter,"Noto Sans KR",sans-serif;
  cursor:pointer;
  transition:.2s;
}
.view-products-btn:hover{
  background:var(--b);
  color:#fff;
  transform:translateY(-2px);
}
.product-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  z-index:200;
}
.product-modal.show{display:flex}
.product-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(4,16,26,.72);
  backdrop-filter:blur(4px);
}
.product-modal-dialog{
  position:relative;
  z-index:1;
  width:min(900px,100%);
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 30px 90px rgba(0,0,0,.3);
}
.product-modal-close{
  position:absolute;
  right:16px;
  top:14px;
  width:42px;
  height:42px;
  border:none;
  border-radius:999px;
  background:rgba(11,39,64,.08);
  color:#0b2740;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  z-index:2;
}
.product-modal-label{
  padding:26px 28px 0;
  color:var(--b);
  font-size:11px;
  font-weight:900;
  letter-spacing:2px;
}
.product-modal-dialog h3{
  padding:8px 28px 18px;
  margin:0;
  font-size:30px;
  line-height:1.15;
  color:#0b2740;
}
.product-modal-image-wrap{
  height:420px;
  background:#eef3f7;
}
.product-modal-image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.product-modal-dialog p{
  margin:0;
  padding:22px 28px 28px;
  font-size:13px;
  line-height:1.8;
  color:#617789;
}
body.product-modal-open{overflow:hidden}
@media(max-width:850px){
  .products-page-section .head{display:block}
  .products-intro-copy{margin-top:18px}
  .product-modal-dialog h3{font-size:24px;padding:8px 20px 16px}
  .product-modal-label{padding:20px 20px 0}
  .product-modal-dialog p{padding:18px 20px 22px}
  .product-modal-image-wrap{height:260px}
}

/* TRAINING PAGE */
.training-intro .head{align-items:start}
.training-areas-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.training-area{
  background:#fff;
  border:1px solid var(--l);
  padding:30px;
  min-height:210px;
  position:relative;
}
.training-area span{
  color:var(--b);
  font-size:11px;
  font-weight:900;
  letter-spacing:1.5px;
}
.training-area h3{
  margin:34px 0 12px;
  font-size:21px;
}
.training-area p{
  color:#6d7e8b;
  font-size:13px;
  line-height:1.8;
}
.training-area:last-child{grid-column:1/-1}
.training-support{
  padding:90px 8vw;
  background:linear-gradient(120deg,#061522,#0b2943);
  color:#fff;
}
.training-support>div{max-width:900px}
.training-support h2{
  font-size:clamp(38px,5vw,64px);
  line-height:1.05;
  margin:16px 0 22px;
}
.training-support p{
  max-width:720px;
  color:#b6c6d1;
  line-height:1.9;
  font-size:13px;
}

/* CONTACT PAGE */
.contact-info-grid,.location-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.contact-info-card,.location-card{
  border:1px solid var(--l);
  padding:30px;
  min-height:190px;
  background:#fff;
}
.contact-info-card small,.location-card small{
  color:var(--b);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.5px;
}
.contact-info-card h3,.location-card h3{
  margin:35px 0 14px;
  font-size:21px;
}
.contact-info-card p,.location-card p{
  margin:0 0 12px;
  color:#657887;
  font-size:13px;
  line-height:1.8;
}
.contact-info-card a{color:var(--b);font-weight:800}
.online-inquiry .head{align-items:start}
.inquiry-form{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin-top:36px;
}
.form-field label{
  display:block;
  font-size:11px;
  font-weight:800;
  margin-bottom:8px;
}
.form-field input,.form-field select,.form-field textarea{
  width:100%;
  border:1px solid var(--l);
  background:#fbfcfd;
  padding:14px;
  font:inherit;
  font-size:12px;
}
.form-field textarea{resize:vertical}
.inquiry-submit{border:0;cursor:pointer}
@media(max-width:850px){
  .training-areas-grid,
  .contact-info-grid,
  .location-grid,
  .inquiry-form{grid-template-columns:1fr}
  .training-area:last-child{grid-column:auto}
  .training-support{padding:70px 7vw}
}

.hero h1 .hero-orange{color:#ff7700!important;-webkit-text-fill-color:#ff7700!important;}

/* Test popup */
.test-popup{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  z-index:9999;
}
.test-popup.show{display:flex}
.test-popup-backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,15,26,.68);
  backdrop-filter:blur(4px);
}
.test-popup-card{
  position:relative;
  z-index:1;
  width:min(440px,100%);
  padding:34px 30px 28px;
  background:#fff;
  border-radius:18px;
  text-align:center;
  border-top:5px solid #ff7700;
  box-shadow:0 28px 90px rgba(0,0,0,.28);
}
.test-popup-badge{
  display:inline-block;
  color:#ff7700;
  font-size:11px;
  font-weight:900;
  letter-spacing:2px;
  margin-bottom:14px;
}
.test-popup-card h2{
  margin:0;
  color:#0b2740;
  font-size:34px;
  letter-spacing:-1.4px;
}
.test-popup-card p{
  margin:12px 0 24px;
  color:#6d7f8e;
  font-size:13px;
  line-height:1.7;
}
.test-popup-close-btn{
  width:100%;
  min-height:48px;
  border:0;
  border-radius:10px;
  background:#ff7700;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
.test-popup-close-x{
  position:absolute;
  right:14px;
  top:10px;
  border:0;
  background:transparent;
  color:#6d7f8e;
  font-size:28px;
  cursor:pointer;
}
body.test-popup-open{overflow:hidden}
