:root {
  --navy: #061f3a;
  --navy-mid: #0a3156;
  --blue: #008fe8;
  --blue-light: #48b8ff;
  --paper: #f4f7f9;
  --white: #ffffff;
  --steel: #d7e0e7;
  --ink: #092541;
  --muted: #617386;
  --line: rgba(9,37,65,.18);
  --gutter: clamp(22px,5.6vw,92px);
  --display: "Archivo", "Noto Sans KR", system-ui, sans-serif;
  --mono: "IBM Plex Mono", "Noto Sans KR", monospace;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--white); color:var(--ink); font:400 16px/1.7 var(--display); overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-weight:700; letter-spacing:-.045em; }
.micro,.section-label,.cap-title>p { margin:0; font:600 11px/1.4 var(--mono); letter-spacing:.15em; }
.section-label { color:var(--blue); }
.section-label.light { color:var(--blue-light); }
.page-grid { display:grid; grid-template-columns:minmax(150px,.5fr) minmax(0,1.55fr) minmax(230px,.7fr); gap:clamp(36px,5vw,90px); padding-left:var(--gutter); padding-right:var(--gutter); }

.site-header { height:88px; padding:0 var(--gutter); display:flex; align-items:center; justify-content:space-between; position:absolute; inset:0 0 auto; z-index:20; background:var(--white); border-bottom:1px solid var(--line); }
.brand { display:flex; flex-direction:column; align-items:flex-start; color:var(--navy); line-height:1; }
.brand-word { position:relative; font-size:32px; font-weight:800; letter-spacing:.045em; line-height:.82; }
.brand-word::after { content:""; width:.34em; height:.24em; position:absolute; left:52.5%; bottom:.02em; background:var(--blue); clip-path:polygon(50% 0,100% 100%,0 100%); }
.brand-line { margin-top:9px; font:500 8px/1 var(--mono); letter-spacing:.28em; color:var(--navy-mid); white-space:nowrap; }
nav { display:flex; align-items:center; gap:30px; font-size:13px; font-weight:600; }
nav a { color:#35516a; }
nav a:hover { color:var(--blue); }
.nav-contact { padding:11px 17px; color:var(--white); background:var(--navy); }
.nav-contact:hover { color:var(--white); background:var(--blue); }
.menu-toggle { display:none; border:1px solid var(--line); background:transparent; color:var(--navy); padding:8px 11px; font:600 12px var(--mono); }
.lang-toggle { display:flex; align-items:center; gap:6px; border:1px solid var(--line); background:transparent; color:var(--navy); padding:7px 11px; font:600 12px var(--mono); cursor:pointer; letter-spacing:.05em; }
.lang-toggle:hover { border-color:var(--blue); }
.lang-toggle .lang-opt { color:var(--muted); transition:color .15s ease; }
.lang-toggle .lang-opt.active { color:var(--blue); }
.lang-toggle .lang-sep { color:var(--line); }

.hero { min-height:940px; padding-top:88px; display:grid; grid-template-columns:repeat(12,1fr); grid-template-rows:minmax(620px,1fr) auto; background:var(--paper); position:relative; }
.hero-copy { grid-column:1 / 7; grid-row:1; padding:clamp(100px,10vw,165px) clamp(38px,6vw,105px) 90px var(--gutter); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; position:relative; z-index:2; }
.hero-copy .micro { color:var(--blue); margin-bottom:35px; }
.hero h1 { margin:0 0 38px; font-size:clamp(54px,6.3vw,104px); line-height:.91; color:var(--navy); }
.hero h1 span { color:var(--blue); }
.hero .lead { max-width:650px; margin-bottom:0; color:#485f74; font-size:clamp(17px,1.3vw,20px); line-height:1.75; }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:42px; }
.action { min-height:52px; display:inline-flex; align-items:center; gap:34px; font-size:13px; font-weight:700; }
.action.solid { padding:0 19px; background:var(--navy); color:var(--white); }
.action.solid:hover { background:var(--blue); }
.action.link { border-bottom:1px solid var(--line); }
.hero-visual { grid-column:7 / 13; grid-row:1; position:relative; overflow:hidden; background:var(--navy); }
.hero-visual img { width:100%; height:100%; object-fit:cover; object-position:center; filter:grayscale(.72) contrast(1.08) brightness(.8); transform:scale(1.025); }
.hero-visual::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(6,31,58,.03),rgba(6,31,58,.48)),linear-gradient(90deg,rgba(0,143,232,.2),transparent 46%); mix-blend-mode:color; pointer-events:none; }
.hero-visual::after { content:""; position:absolute; z-index:2; left:0; right:0; height:2px; top:12%; background:linear-gradient(90deg,transparent 4%,rgba(72,184,255,.22) 18%,#70c7ff 50%,rgba(72,184,255,.22) 82%,transparent 96%); box-shadow:0 0 24px rgba(0,143,232,.9),0 12px 42px rgba(0,143,232,.28); animation:layerScan 5.8s ease-in-out infinite; pointer-events:none; }
.image-stamp { position:absolute; z-index:3; right:28px; bottom:28px; display:flex; flex-direction:column; align-items:flex-end; color:#fff; font:500 10px/1.6 var(--mono); letter-spacing:.16em; }
.hero-locations { grid-column:1 / 4; grid-row:2; min-height:155px; padding:34px 35px 32px var(--gutter); background:var(--white); border-top:1px solid var(--line); display:flex; flex-direction:column; }
.hero-locations .micro { color:var(--blue); margin-bottom:15px; }
.hero-locations strong { font-size:15px; font-weight:600; line-height:1.75; }
.hero-capabilities { grid-column:4 / 13; grid-row:2; display:grid; grid-template-columns:repeat(3,1fr); background:var(--navy); color:var(--white); }
.hero-capabilities div { min-height:155px; padding:34px 38px; border-left:1px solid rgba(255,255,255,.16); }
.hero-capabilities span { color:var(--blue-light); font:500 11px var(--mono); }
.hero-capabilities p { max-width:210px; margin:28px 0 0; font-size:14px; font-weight:600; line-height:1.45; }

.statement { padding-top:clamp(120px,13vw,210px); padding-bottom:clamp(120px,13vw,210px); align-items:start; }
.statement-copy h2 { margin-bottom:34px; font-size:clamp(46px,5.1vw,82px); line-height:.98; }
.statement-copy p { max-width:790px; margin:0; color:var(--muted); font-size:clamp(18px,1.5vw,22px); }
.statement-side { margin:0; padding-top:9px; color:var(--muted); font:500 13px/1.7 var(--mono); }

.capabilities { background:var(--paper); padding:clamp(120px,13vw,205px) 0; }
.section-intro { align-items:start; margin-bottom:clamp(75px,8vw,125px); }
.section-intro h2,.process-heading h2 { grid-column:2 / 4; margin:0; font-size:clamp(48px,5.7vw,90px); line-height:.96; }
.capability-list { padding:0 var(--gutter); border-top:1px solid var(--line); }
.capability-list article { display:grid; grid-template-columns:minmax(120px,.42fr) minmax(280px,.9fr) minmax(330px,1.05fr); gap:clamp(32px,5vw,85px); padding:56px 0 62px; border-bottom:1px solid var(--line); align-items:start; }
.large-number { color:rgba(9,37,65,.2); font:500 clamp(34px,4vw,62px)/1 var(--mono); letter-spacing:-.08em; }
.cap-title>p { color:var(--blue); margin-bottom:21px; }
.cap-title h3 { margin:0; font-size:clamp(27px,2.4vw,40px); line-height:1.1; }
.cap-detail p { margin:0; color:var(--muted); font-size:16px; }
.cap-detail ul { margin:25px 0 0; padding:20px 0 0; border-top:1px solid var(--line); list-style:none; color:var(--muted); }
.cap-detail li { padding:5px 0; font-size:14px; }
.cap-detail li::before { content:"+"; margin-right:12px; color:var(--blue); font-family:var(--mono); }

.applications { display:grid; grid-template-columns:1.05fr .95fr; background:var(--navy); color:var(--white); }
.applications-image { min-height:690px; position:relative; overflow:hidden; }
.applications-image img { height:100%; object-fit:cover; filter:grayscale(.78) contrast(1.08) brightness(.72); }
.applications-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,143,232,.17),transparent 48%),linear-gradient(0deg,rgba(6,31,58,.44),transparent); mix-blend-mode:color; }
.applications-heading { padding:clamp(95px,9vw,145px) var(--gutter); display:flex; flex-direction:column; justify-content:center; }
.applications-heading h2 { margin:34px 0 34px; font-size:clamp(47px,5.2vw,82px); line-height:.97; }
.applications-heading>p:last-child { max-width:620px; margin:0; color:#b7c8d6; font-size:17px; }
.application-list { grid-column:1 / 3; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.18); }
.application-list article { min-height:300px; padding:38px var(--gutter) 42px; border-right:1px solid rgba(255,255,255,.18); }
.application-list span { color:var(--blue-light); font:500 11px var(--mono); }
.application-list h3 { margin:46px 0 20px; font-size:22px; line-height:1.18; letter-spacing:-.025em; }
.application-list p { margin:0; color:#b8c8d5; font-size:14px; line-height:1.65; }

.materials { padding-top:clamp(120px,13vw,205px); padding-bottom:clamp(120px,13vw,205px); align-items:start; }
.materials h2 { margin:0 0 38px; font-size:clamp(47px,5.2vw,82px); line-height:.98; }
.materials>div:nth-child(2)>p { max-width:760px; margin:0; color:var(--muted); font-size:18px; }
.material-list { display:flex; flex-direction:column; border-top:1px solid var(--line); }
.material-list span { padding:14px 0; border-bottom:1px solid var(--line); color:var(--navy); font:500 12px/1.4 var(--mono); }

.process { padding:clamp(120px,13vw,205px) 0 0; background:var(--paper); }
.process-heading { margin-bottom:clamp(80px,8vw,130px); }
.process-steps { display:grid; grid-template-columns:repeat(4,1fr); padding:0 var(--gutter); }
.process-steps article { min-height:350px; padding:40px 38px 50px 0; border-top:1px solid var(--line); border-right:1px solid var(--line); }
.process-steps article:not(:first-child) { padding-left:38px; }
.process-steps span { color:var(--blue); font:500 11px var(--mono); }
.process-steps h3 { margin:90px 0 20px; font-size:27px; }
.process-steps p { max-width:270px; margin:0; color:var(--muted); font-size:14px; }

.network { display:grid; grid-template-columns:.95fr 1.05fr; min-height:790px; background:var(--navy); color:var(--white); }
.network-heading { padding:clamp(105px,10vw,165px) var(--gutter); display:flex; flex-direction:column; justify-content:center; border-right:1px solid rgba(255,255,255,.16); }
.network-heading h2 { margin:34px 0 36px; font-size:clamp(46px,5vw,78px); line-height:.99; }
.network-heading>p:last-child { max-width:650px; margin:0; color:#b6c7d4; font-size:17px; }
.location-list { display:grid; grid-template-columns:1fr 1fr; align-content:center; padding:clamp(70px,8vw,130px) var(--gutter); }
.location-list article { min-height:230px; padding:34px 30px 34px 0; border-top:1px solid rgba(255,255,255,.2); opacity:.48; }
.location-list article:nth-child(even) { padding-left:30px; border-left:1px solid rgba(255,255,255,.18); }
.location-list article.active { opacity:1; }
.location-list span { color:#8ca1b3; font:500 10px var(--mono); letter-spacing:.12em; }
.location-list .active span { color:var(--blue-light); }
.location-list h3 { margin:48px 0 13px; font-size:27px; }
.location-list p { max-width:260px; margin:0; color:#b6c7d4; font-size:14px; }

.contact { padding:clamp(120px,13vw,210px) var(--gutter); background:var(--white); position:relative; }
.contact::before { content:""; position:absolute; top:0; left:var(--gutter); width:72px; height:6px; background:var(--blue); }
.contact h2 { max-width:1100px; margin:48px 0 42px; font-size:clamp(52px,7.4vw,122px); line-height:.88; }
.contact h2 span { color:var(--blue); }
.contact>p:not(.section-label) { max-width:650px; margin:0 0 70px; color:var(--muted); font-size:17px; }
.contact>a { width:100%; padding:28px 0; display:flex; justify-content:space-between; border-top:1px solid var(--navy); border-bottom:1px solid var(--navy); color:var(--navy); font-size:clamp(22px,3vw,46px); font-weight:700; letter-spacing:-.035em; }
.contact>a:hover { color:var(--blue); border-color:var(--blue); }

footer { min-height:150px; padding:38px var(--gutter); display:grid; grid-template-columns:1.3fr 1.5fr 1fr auto; gap:28px; align-items:center; background:var(--paper); color:var(--muted); font:500 10px/1.5 var(--mono); letter-spacing:.07em; text-transform:uppercase; border-top:1px solid var(--line); }
.footer-brand .brand-word { font-size:27px; }
.footer-brand .brand-line { font-size:7px; }

@keyframes layerScan {
  0%,100% { top:12%; opacity:.45; }
  45% { top:82%; opacity:1; }
  55% { top:82%; opacity:1; }
}

@media (max-width:1000px) {
  .site-header { height:76px; }
  .menu-toggle { display:block; }
  nav { display:none; position:absolute; top:76px; left:0; right:0; padding:28px var(--gutter); background:var(--white); flex-direction:column; align-items:flex-start; gap:20px; border-bottom:1px solid var(--line); }
  nav.open { display:flex; }
  .hero { padding-top:76px; grid-template-rows:auto 500px auto auto; }
  .hero-copy { grid-column:1 / 13; grid-row:1; padding:90px var(--gutter); }
  .hero-visual { grid-column:1 / 13; grid-row:2; }
  .hero-locations { grid-column:1 / 13; grid-row:3; padding-left:var(--gutter); }
  .hero-capabilities { grid-column:1 / 13; grid-row:4; }
  .page-grid { grid-template-columns:1fr; gap:34px; }
  .statement-copy,.statement-side,.section-intro h2,.process-heading h2 { grid-column:auto; }
  .capability-list article { grid-template-columns:90px minmax(230px,.8fr) 1fr; }
  .applications { grid-template-columns:1fr; }
  .applications-image { min-height:520px; }
  .application-list { grid-column:1; grid-template-columns:1fr 1fr; }
  .network { grid-template-columns:1fr; }
  .network-heading { border-right:0; border-bottom:1px solid rgba(255,255,255,.16); }
  footer { grid-template-columns:1fr 1fr; }
}

@media (max-width:680px) {
  .brand-word { font-size:27px; }
  .brand-line { font-size:7px; letter-spacing:.2em; }
  .hero { min-height:0; }
  .hero-copy { padding-top:76px; padding-bottom:72px; }
  .hero h1 { font-size:52px; }
  .hero-actions { flex-direction:column; align-items:flex-start; }
  .hero-visual { min-height:370px; }
  .hero-capabilities { grid-template-columns:1fr; }
  .hero-capabilities div { min-height:115px; padding:26px var(--gutter); border-left:0; border-top:1px solid rgba(255,255,255,.16); }
  .hero-capabilities p { margin-top:18px; }
  .statement,.materials { padding-top:105px; padding-bottom:105px; }
  .statement-copy h2,.section-intro h2,.process-heading h2,.materials h2 { font-size:45px; }
  .capabilities,.process { padding-top:105px; }
  .capability-list article { grid-template-columns:55px 1fr; gap:24px; padding:44px 0 50px; }
  .cap-detail { grid-column:2; }
  .large-number { font-size:31px; }
  .applications-image { min-height:390px; }
  .applications-heading { padding:85px var(--gutter); }
  .applications-heading h2,.network-heading h2 { font-size:45px; }
  .application-list { grid-template-columns:1fr; }
  .application-list article { min-height:240px; border-right:0; border-bottom:1px solid rgba(255,255,255,.16); }
  .process-steps { grid-template-columns:1fr; }
  .process-steps article,.process-steps article:not(:first-child) { min-height:250px; padding:34px 0 45px; border-right:0; }
  .process-steps h3 { margin-top:55px; }
  .location-list { grid-template-columns:1fr; }
  .location-list article,.location-list article:nth-child(even) { min-height:210px; padding:30px 0; border-left:0; }
  .contact h2 { font-size:52px; }
  footer { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .hero-visual::after { animation:none; top:52%; }
}
