
:root{--navy:#0F2E4D;--navy2:#071f35;--green:#62C39A;--cyan:#54C5EF;--ink:#20384e;--muted:#6c7e8d;--bg:#f5f8fa;--line:#dce5ea;--max:1440px;--header:76px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}button{font:inherit}
.container{width:min(var(--max),calc(100% - 64px));margin:auto}
.header{position:fixed;z-index:100;left:0;right:0;top:0;height:var(--header);background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(15,46,77,.08)}
.nav{height:100%;display:flex;align-items:center}.logo img{width:140px}.menu{display:flex;gap:37px;margin-left:auto}.menu a{height:var(--header);display:flex;align-items:center;position:relative;font-size:14px;font-weight:600;color:#355066;white-space:nowrap}.menu a:after{content:"";position:absolute;left:0;right:100%;bottom:19px;height:2px;background:var(--green);transition:.2s}.menu a:hover:after{right:0}.nav-cta{margin-left:30px;padding:10px 18px;background:var(--navy);border-radius:999px;color:#fff;font-size:14px;font-weight:700}
.eyebrow,.kicker{font-size:12px;line-height:1;letter-spacing:.2em;font-weight:800;color:var(--green);text-transform:uppercase}
.hero{height:680px;position:relative;overflow:hidden;background:var(--navy2);color:#fff}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .65s}.hero-slide.active{opacity:1;visibility:visible}.hero-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.hero-slide:after{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(
		90deg,rgba(4,22,37,.96),
		rgba(4,22,37,.76) 36%,
		rgba(4,22,37,.26) 75%,
		rgba(4,22,37,.12))
}

.hero-slide:nth-child(2):after{
	background:linear-gradient(
		90deg,
		rgba(4,22,37,.90) 0%,
		rgba(4,22,37,.62) 28%,
		rgba(4,22,37,.22) 52%,
		rgba(4,22,37,.05) 78%,
		rgba(4,22,37,0) 100%
	);
}

.hero-slide:nth-child(3):after{
	background:linear-gradient(
		90deg,
		rgba(4,22,37,.88) 0%,
		rgba(7,31,53,.58) 30%,
		rgba(7,45,38,.22) 56%,
		rgba(7,45,38,.05) 80%,
		rgba(7,45,38,0) 100%
	);
}

.hero-content{position:relative;z-index:2;height:100%;display:flex;align-items:center;padding-top:54px}.hero-copy{width:min(820px,68vw)}.hero-copy h1{font-size:clamp(40px,4vw,62px);line-height:1.14;letter-spacing:-.052em;margin:18px 0 19px;font-weight:800}.hero-copy p{font-size:16px;line-height:1.8;color:rgba(255,255,255,.8);max-width:none;margin:0 0 27px}
.actions{display:flex;gap:10px}.btn{height:44px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(15,46,77,.2);font-size:12px;font-weight:700;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--green);border-color:var(--green);color:#092b40}.btn.ghost{color:#fff;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.03)}
.hero-ui{position:absolute;z-index:3;right:7%;top:49%;transform:translateY(-35%);width:330px}.ui-window{padding:17px;background:rgba(7,31,53,.67);border:1px solid rgba(255,255,255,.17);backdrop-filter:blur(15px);box-shadow:0 24px 60px rgba(0,0,0,.2)}.ui-top{display:flex;justify-content:space-between;margin-bottom:15px;font-size:9px;letter-spacing:.13em;color:rgba(255,255,255,.55)}.ui-top b{color:var(--green)}.ui-chart{height:86px;position:relative;border-top:1px solid rgba(255,255,255,.11);border-bottom:1px solid rgba(255,255,255,.11);overflow:hidden}.ui-chart:before{content:"";position:absolute;inset:15px 0;background:repeating-linear-gradient(to bottom,transparent 0 20px,rgba(255,255,255,.07) 21px)}.chart-line{position:absolute;left:0;right:0;bottom:17px;height:48px;background:linear-gradient(155deg,transparent 0 10%,rgba(98,195,154,.18) 11% 13%,transparent 14% 28%,rgba(98,195,154,.26) 29% 31%,transparent 32% 45%,rgba(98,195,154,.35) 46% 48%,transparent 49% 62%,rgba(98,195,154,.46) 63% 65%,transparent 66%);clip-path:polygon(0 75%,10% 67%,20% 73%,30% 49%,40% 58%,50% 38%,60% 47%,70% 25%,80% 31%,90% 12%,100% 18%,100% 100%,0 100%)}.ui-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.ui-values span{display:block;font-size:8px;color:rgba(255,255,255,.48);margin-bottom:3px}.ui-values strong{font-size:13px;color:#fff}.hero-badge{position:absolute;right:-28px;bottom:-29px;width:155px;padding:12px 14px;background:var(--green);color:var(--navy);font-size:10px;line-height:1.45;font-weight:800}
.hero-bottom{position:absolute;z-index:4;left:0;right:0;bottom:0}.hero-bottom-inner{height:73px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.15)}.hero-bottom-copy{display:flex;gap:25px;font-size:11px;color:rgba(255,255,255,.58)}.hero-bottom-copy b{color:#fff}.slider{display:flex;align-items:center;gap:16px}.dots{display:flex;gap:5px}.dot{width:32px;height:3px;padding:0;border:0;background:rgba(255,255,255,.24);cursor:pointer}.dot.active{background:var(--green)}.slide-no{font-size:10px;letter-spacing:.13em;color:rgba(255,255,255,.65)}
.section{padding:112px 0}.section.alt{background:var(--bg)}.section-head{display:grid;grid-template-columns:minmax(0,.43fr) minmax(0,.57fr);gap:54px;align-items:end;margin-bottom:58px}.section-head h2{font-size:clamp(34px,3.1vw,49px);line-height:1.17;letter-spacing:-.047em;color:var(--navy);margin:14px 0 0;font-weight:800}.section-head .lead{font-size:15px;line-height:1.8;color:var(--muted);max-width:none;margin:0}
.editorial{display:grid;grid-template-columns:1.02fr .98fr;gap:72px}.editorial-title{font-size:23px;line-height:1.5;letter-spacing:-.025em;color:var(--navy);margin:0 0 39px;font-weight:700}.signal-list{border-top:1px solid var(--line)}.signal{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.signal b{font-size:14px;color:var(--navy)}.signal span{font-size:14px;color:#6c7e8e}.long-copy{font-size:15px;line-height:1.9;color:#596e7e;max-width:none}.long-copy p{margin:0 0 21px}
.visual-split{display:grid;grid-template-columns:1.08fr .92fr;gap:62px;align-items:center}.visual-wrap{position:relative;overflow:hidden}.visual-wrap img{width:100%;height:420px;object-fit:cover}.visual-caption{position:absolute;left:18px;bottom:18px;width:265px;padding:14px 16px;background:rgba(15,46,77,.94);color:#fff;font-size:11px;line-height:1.55}.visual-caption strong{display:block;color:var(--green);font-size:9px;letter-spacing:.14em;margin-bottom:3px}
.flow-line{position:relative}.flow-line:before{content:"";position:absolute;left:22px;top:24px;bottom:24px;width:1px;background:#cbd7de}.flow-step{position:relative;display:grid;grid-template-columns:46px 1fr;gap:20px;padding-bottom:28px}.flow-step:last-child{padding-bottom:0}.flow-num{width:45px;height:45px;border:1px solid #bccbd4;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);font-size:12px;font-weight:800;z-index:1}.flow-step h3{font-size:17px;line-height:1.3;color:var(--navy);margin:2px 0 4px}.flow-step p{font-size:14px;line-height:1.7;color:#6c7e8e;margin:0}
.data-scene{padding:106px 0;background:var(--navy2);color:#fff}.data-scene .section-head h2{color:#fff}.data-scene .section-head .lead{color:rgba(255,255,255,.67)}.data-layout{display:grid;grid-template-columns:1.04fr .96fr;gap:72px;align-items:center}.data-image{position:relative}.data-image img{width:100%;height:390px;object-fit:cover;opacity:.9}.data-orbit{position:absolute;right:7%;top:10%;width:86px;height:86px;border:1px solid rgba(98,195,154,.52);border-radius:50%}.data-orbit:after{content:"";position:absolute;width:7px;height:7px;left:50%;top:-4px;border-radius:50%;background:var(--green);box-shadow:0 0 20px var(--green)}.metrics{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.16)}.metric{padding:22px 0;border-bottom:1px solid rgba(255,255,255,.16)}.metric:nth-child(odd){padding-right:28px;border-right:1px solid rgba(255,255,255,.12)}.metric:nth-child(even){padding-left:28px}.metric small{display:block;color:var(--green);font-size:8px;letter-spacing:.15em;margin-bottom:5px}.metric strong{font-size:14px;font-weight:600}
.arch{border-top:1px solid #b9c8d0;border-bottom:1px solid #b9c8d0}.arch-row{display:grid;grid-template-columns:repeat(4,1fr)}.arch-node{min-height:172px;padding:29px 27px;position:relative}.arch-node+.arch-node{border-left:1px solid #d9e1e6}.arch-node:not(:last-child):after{content:"→";position:absolute;right:-8px;top:50%;transform:translateY(-50%);width:16px;background:#fff;color:var(--green);text-align:center;font-weight:800;z-index:2}.arch-node small{font-size:10px;letter-spacing:.15em;color:var(--green);font-weight:800}.arch-node h3{font-size:18px;color:var(--navy);margin:8px 0 7px}.arch-node p{font-size:14px;line-height:1.65;color:#6b7d8d;margin:0}
.ai{padding:110px 0;background:#eaf4f0}.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:78px;align-items:center}.ai-image img{width:100%;height:420px;object-fit:cover}.ai-copy h2{font-size:clamp(34px,3.25vw,49px);line-height:1.16;letter-spacing:-.045em;color:var(--navy);margin:14px 0 21px}.ai-copy p{font-size:15px;line-height:1.9;color:#596f7e;max-width:610px}.ai-links{display:flex;gap:27px;margin-top:27px}.ai-links a{font-size:12px;font-weight:700;color:var(--navy);padding-bottom:4px;border-bottom:1px solid var(--navy)}
.process-wide{border-top:1px solid var(--line)}.process-item{display:grid;grid-template-columns:70px 190px 1fr;gap:26px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.process-item .no{font-size:10px;letter-spacing:.14em;color:var(--green);font-weight:800}.process-item h3{font-size:17px;color:var(--navy);margin:0}.process-item p{font-size:14px;color:#6a7d8d;margin:0}
.partner-band{padding:105px 0;background:var(--navy);color:#fff}.partner-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:95px}.partner-layout h2{font-size:clamp(37px,3.45vw,51px);line-height:1.13;letter-spacing:-.05em;color:#fff;margin:14px 0 0}.partner-detail{border-top:1px solid rgba(255,255,255,.2)}.partner-row{display:grid;grid-template-columns:145px 1fr;gap:32px;padding:21px 0;border-bottom:1px solid rgba(255,255,255,.2)}.partner-row b{font-size:13px;color:var(--green)}.partner-row p{font-size:14px;line-height:1.8;color:rgba(255,255,255,.7);margin:0}
.cta-band{padding:100px 0;background:var(--green)}.cta-band h2{font-size:clamp(38px,4.1vw,57px);line-height:1.1;letter-spacing:-.05em;color:var(--navy);margin:14px 0 20px}.cta-band p{font-size:15px;line-height:1.8;color:#36576a;max-width:none}.footer{padding:29px 0;border-top:1px solid var(--line);font-size:10px;color:#82919c}

.page-hero {
	height: 470px;
	position: relative;
	overflow: hidden;
	background: var(--navy2);
	color: #fff;
}

.page-hero .hero-bg {
	position: absolute;
	inset: -3% 0;
	width: 100%;
	height: 106%;
	object-fit: cover;
	opacity: .68;
}

.page-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			180deg,
			rgba(7,31,53,.30) 0%,
			rgba(7,31,53,.52) 50%,
			rgba(7,31,53,.82) 100%
		);
}

.page-hero-grid {
	position: relative;
	z-index: 2;
	width: min(var(--max), calc(100% - 64px));
	height: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 0 0 28px;
	text-align: center;
}

.page-hero-grid > div:first-child {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.page-hero .eyebrow {
	margin-bottom: 18px;
}

.page-hero h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(54px, 5vw, 72px);
	line-height: 1;
	letter-spacing: -.055em;
	font-weight: 800;
	white-space: nowrap;
}

.page-hero-copy {
	width: 100%;
	max-width: 900px;
}

.page-hero-copy p {
	margin: 0;
	color: rgba(255,255,255,.84);
	font-size: 18px;
	line-height: 1.75;
	white-space: normal;
	word-break: keep-all;
}

.page-hero-meta {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
}

.page-hero-meta .meta-inner {
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: space-between;

	border-top: 1px solid rgba(255,255,255,.17);

	font-size: 9px;
	letter-spacing: .13em;
	color: rgba(255,255,255,.52);
}

.sub-callout h2{font-size:clamp(34px,3.15vw,49px);line-height:1.16;letter-spacing:-.045em;color:var(--navy);margin:13px 0 21px}.sub-image{width:100%;height:390px;object-fit:cover}.status{padding:21px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:#66798a}.status strong{color:var(--navy);margin-right:13px}
@media(max-width:1000px){
	.container{width:calc(100% - 40px)}
	.menu{gap:20px}.nav-cta{margin-left:20px}
	.hero-ui{right:3%;width:285px;opacity:.72}
	.section-head,.editorial,.visual-split,.data-layout,.ai-grid,.partner-layout,.page-hero-grid{grid-template-columns:1fr;gap:42px}
	.section-head{margin-bottom:45px}
	.arch-row{grid-template-columns:1fr 1fr}
	.arch-node+.arch-node{border-left:0;border-top:1px solid #d9e1e6}
	.arch-node:not(:last-child):after{display:none}
	.page-hero {
		height: 450px;
	}

	.page-hero-grid {
		width: calc(100% - 40px);
		padding: 0 0 20px;
		gap: 18px;
	}

	.page-hero h1 {
		font-size: 54px;
	}

	.page-hero-copy {
		max-width: 760px;
	}

	.page-hero-copy p {
		font-size: 16px;
	}

	.page-hero-meta {
		display: none;
	}
}

@media(max-width:639px){
	.page-hero {
		height: 430px;
	}

	.page-hero-grid {
		width: calc(100% - 32px);
		padding: 0 0 10px;
		gap: 18px;
	}

	.page-hero .eyebrow {
		margin-bottom: 14px;
	}

	.page-hero h1 {
		font-size: 44px;
	}

	.page-hero-copy p {
		font-size: 14px;
		line-height: 1.7;
	}
}

@media(max-width:639px){:root{--header:65px}.container{width:calc(100% - 32px)}.logo img{width:120px}.menu{gap:14px}.menu a{height:65px;font-size:11px}.menu a:nth-child(n+3){display:none}.menu a:after{bottom:15px}.nav-cta{display:none}.hero{height:625px}.hero-content{align-items:flex-start;padding-top:145px}.hero-copy h1{font-size:39px}.hero-copy p{font-size:14px}.hero-ui{display:none}.hero-bottom-copy{display:none}.hero-bottom-inner{justify-content:flex-end}.section{padding:85px 0}.section-head h2{font-size:34px}.section-head .lead{font-size:14px}.editorial-title{font-size:21px}.signal{grid-template-columns:85px 1fr}.visual-wrap img,.ai-image img,.data-image img,.sub-image{height:280px}.metrics{grid-template-columns:1fr}.metric:nth-child(odd){padding-right:0;border-right:0}.metric:nth-child(even){padding-left:0}.arch-row{grid-template-columns:1fr}.process-item{grid-template-columns:50px 1fr;gap:13px}.process-item p{grid-column:2}.partner-row{grid-template-columns:1fr;gap:6px}.page-hero h1{font-size:48px}}

@media(min-width:1001px){
  .section-head .lead,.page-hero-copy p,.cta-band p{white-space:nowrap}
  .section-head{align-items:center}
  .page-hero-grid{align-items:center}
}
@media(max-width:1000px){
  .section-head .lead,.page-hero-copy p,.cta-band p{white-space:normal}
}

/* V4 compatibility: existing page markup uses these names */
.btn.light{color:#fff;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.03)}
.slider-ui{position:absolute;z-index:4;left:0;right:0;bottom:0}
.slider-inner{height:73px;display:flex;justify-content:flex-end;align-items:center;border-top:1px solid rgba(255,255,255,.15)}
.slider-ui .dots{display:flex;gap:5px}
.slider-ui .dot{width:32px;height:3px;padding:0;border:0;background:rgba(255,255,255,.24);cursor:pointer}
.slider-ui .dot.active{background:var(--green)}
@media(min-width:1001px){
  .section-head .lead,.page-hero-copy p,.cta-band p{white-space:nowrap}
  .page-hero-copy{width:100%}
}
@media(max-width:1000px){
  .section-head .lead,.page-hero-copy p,.cta-band p{white-space:normal}
}

/* V5 typography / composition correction
   Desktop follows the user's preferred editorial rhythm:
   title + explanatory copy can stack vertically when a 2-column header
   creates unnecessary empty space. */
@media(min-width:1001px){
  .process-section .section-head{
    display:block;
    margin-bottom:50px;
    max-width:980px;
  }
  .process-section .section-head h2{
    margin-top:13px;
    max-width:900px;
  }
  .process-section .section-head .lead{
    margin-top:17px;
    max-width:none;
  }

  /* Keep compact business descriptions on one line when the monitor has room. */
  .partner-row p,
  .signal span,
  .process-item p{
    white-space:nowrap;
  }
  .partner-row{
    grid-template-columns:120px minmax(0,1fr);
    gap:25px;
  }

  /* More horizontal room for the common left-title/right-copy composition. */
  .section-head{
    grid-template-columns:minmax(0,.39fr) minmax(0,.61fr);
  }
  .section-head .lead{
    width:100%;
  }

  /* Do not let the large visual title force the accompanying copy into a
     narrow column merely because the title itself is large. */
  .editorial-title{max-width:900px}
}

@media(max-width:1000px){
  .process-section .section-head{
    display:block;
  }
  .process-section .section-head .lead{
    margin-top:16px;
  }
  .partner-row p,
  .signal span,
  .process-item p{
    white-space:normal;
  }
}

/* =========================================================
   V7 FINAL EDITORIAL LAYOUT
   Long section titles use the full content width.
   Short section titles may retain balanced 2-column layout.
   ========================================================= */
@media (min-width:1001px){
  .section-head.is-vertical{
    display:block !important;
    width:100% !important;
    margin-bottom:48px !important;
  }
  .section-head.is-vertical > div{
    width:100% !important;
  }
  .section-head.is-vertical h2{
    width:100% !important;
    max-width:none !important;
    margin-top:14px !important;
    font-size:clamp(38px,3.45vw,54px) !important;
    line-height:1.16 !important;
    letter-spacing:-.052em !important;
  }
  .section-head.is-vertical .lead{
    width:100% !important;
    max-width:none !important;
    margin-top:18px !important;
    white-space:nowrap !important;
  }

  /* Build / Care: the exact rhythm requested by the user. */
  .process-section .section-head.is-vertical h2{
    font-size:clamp(39px,3.45vw,54px) !important;
  }

  /* Long row descriptions should use the available line rather than
     wrapping because of an arbitrary content width. */
  .process-item p,
  .partner-row p,
  .signal span{white-space:nowrap !important}
}

@media (max-width:1000px){
  .section-head.is-vertical .lead{white-space:normal !important}
  .process-item p,
  .partner-row p,
  .signal span{white-space:normal !important}
}

/* V8 — HERO COMPOSITION FIX */
@media(min-width:1001px){
  .hero-content{
    display:grid !important;
    grid-template-columns:minmax(0,46%) minmax(0,39%) 15%;
    grid-template-rows:auto auto auto;
    column-gap:30px;
    align-content:center;
    align-items:center;
    padding-top:0 !important;
    height:100%;
  }
  .hero-content .eyebrow{
    grid-column:1;
    grid-row:1;
    margin-bottom:13px;
  }
  .hero-content h1{
    grid-column:1;
    grid-row:2;
    width:100%;
    max-width:650px;
    margin:0 !important;
    font-size:clamp(42px,3.55vw,58px) !important;
    line-height:1.14 !important;
  }
  .hero-content p{
    grid-column:2;
    grid-row:2;
    width:100%;
    max-width:590px !important;
    margin:0 !important;
    font-size:15px !important;
    line-height:1.8 !important;
  }
  .hero-content .actions{
    grid-column:1;
    grid-row:3;
    margin-top:24px;
  }
  .hero-ui{
    right:5.5% !important;
    top:50% !important;
    width:300px !important;
    transform:translateY(-50%) !important;
  }
  .hero-badge{
    right:-18px !important;
    bottom:-25px !important;
  }
}

@media(max-width:1000px){
  .hero-content{
    display:flex !important;
    flex-direction:column;
    align-items:flex-start !important;
    justify-content:center;
  }
  .hero-content .eyebrow{margin-bottom:12px}
  .hero-content h1{margin:0 0 16px !important}
  .hero-content p{margin:0 0 22px !important;max-width:680px !important}
  .hero-ui{display:none}
}

@media(max-width:639px){
  .hero{height:610px}
  .hero-content{padding-top:65px !important}
  .hero-content h1{font-size:38px !important}
}

/* V10 — three-stage section card
   01 title / 02 content / 03 actions */
.ai.ai-stack{background:var(--bg);padding:108px 0}
.ai-stack-card{
  position:relative;
  overflow:hidden;
  min-height:470px;
  background:var(--navy);
  color:#fff;
  display:grid;
  grid-template-rows:auto auto auto;
  align-content:center;
  padding:58px 68px;
}
.ai-stack-card:before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(7,31,53,.98) 0%,rgba(7,31,53,.9) 48%,rgba(7,31,53,.38) 100%);
  z-index:1;
}
.ai-stack-card .stack-bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;opacity:.52;
}
.ai-stack-inner{position:relative;z-index:2;max-width:1220px}
.ai-stack-title .kicker{margin-bottom:15px}
.ai-stack-title h2{
  margin:0;
  color:#fff;
  font-size:clamp(38px,3.35vw,54px);
  line-height:1.16;
  letter-spacing:-.052em;
  max-width:1050px;
  word-break:keep-all;
}
.ai-stack-copy{
  margin-top:25px;
  max-width:none;
  white-space:nowrap;
  font-size:15px;
  line-height:1.8;
  color:rgba(255,255,255,.78);
}
.ai-stack-actions{
  display:flex;flex-wrap:nowrap;gap:10px;
  margin-top:28px;
}
.ai-stack-actions a{flex:0 0 auto}
@media(min-width:1001px){
  /* Keep every main editorial headline to at most two visual lines. */
  .section-head.is-vertical h2{
    max-width:1120px;
  }
}
@media(max-width:1000px){
  .ai-stack-card{min-height:430px;padding:46px 42px}
  .ai-stack-copy{white-space:normal}
}
@media(max-width:639px){
  .ai-stack{padding:78px 0}
  .ai-stack-card{min-height:480px;padding:38px 25px}
  .ai-stack-title h2{font-size:37px}
  .ai-stack-copy{font-size:14px}
  .ai-stack-actions{flex-wrap:wrap}
}

.environment-feature {
	background: #eef7f4;
	padding: 110px 0;
}

.environment-feature-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 70px;
}

.environment-feature-image {
	width: 100%;
	overflow: hidden;
}

.environment-feature-image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.environment-feature-content {
	padding: 10px 0;
}

.environment-feature-content .kicker {
	margin-bottom: 20px;
}

.environment-feature-content h2 {
	margin: 0 0 28px;
	color: #0F2E4D;
	font-size: clamp(38px, 3.2vw, 58px);
	line-height: 1.12;
	letter-spacing: -0.045em;
}

.environment-feature-content p {
	max-width: 620px;
	margin: 0;
	color: #526b7f;
	font-size: 16px;
	line-height: 1.8;
}

.environment-feature-links {
	display: flex;
	align-items: center;
	gap: 30px;
	margin-top: 32px;
}

.environment-feature-links a {
	position: relative;
	padding-bottom: 8px;
	color: #0F2E4D;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.environment-feature-links a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: #0F2E4D;
}

@media (max-width: 640px) {
	.environment-feature {
		padding: 70px 0;
	}

	.environment-feature-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.environment-feature-content h2 {
		font-size: 34px;
	}

	.environment-feature-content p {
		font-size: 14px;
	}
}

/* V11 — Main hero headline / copy alignment */
@media(min-width:1001px){
  .hero-content{
    display:grid !important;
    grid-template-columns:minmax(0,50%) minmax(0,1fr) !important;
    grid-template-rows:auto auto auto !important;
    column-gap:34px !important;
    align-content:center !important;
    align-items:center !important;
    padding-top:0 !important;
  }
  .hero-content .eyebrow{
    grid-column:1 !important;
    grid-row:1 !important;
    margin-bottom:12px !important;
  }
  .hero-content h1{
    grid-column:1 !important;
    grid-row:2 !important;
    width:100% !important;
    max-width:720px !important;
    font-size:clamp(48px,3.35vw,56px) !important;
    line-height:1.14 !important;
    letter-spacing:-.055em !important;
    word-break:keep-all !important;
    margin:0 !important;
  }
  .hero-content p{
    grid-column:2 !important;
    grid-row:2 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    font-size:15px !important;
    line-height:1.75 !important;
    white-space:nowrap !important;
  }
  .hero-content .actions{
    grid-column:1 !important;
    grid-row:3 !important;
    margin-top:24px !important;
  }
  .hero-ui{
    right:3.5% !important;
    top:50% !important;
    width:275px !important;
    transform:translateY(-50%) !important;
  }
  .hero-content p{
    padding-right:290px;
  }
}
@media(max-width:1000px){
  .hero-content p{white-space:normal !important}
}

/* V12 — Main hero is intentionally clean: no dashboard, sensor,
   English status UI, or decorative badge. */
.hero-ui,.ui-window,.hero-badge{display:none !important}

@media(min-width:1001px){
  .hero-content{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    width:min(920px,72vw);
    margin-left:0;
    padding-top:0 !important;
  }
  .hero-content .eyebrow{margin-bottom:13px !important}
  .hero-content h1{
    width:100% !important;
    max-width:900px !important;
    margin:0 0 20px !important;
    font-size:clamp(44px,3.65vw,58px) !important;
    line-height:1.16 !important;
    word-break:keep-all !important;
  }
  .hero-content p{
    width:100% !important;
    max-width:900px !important;
    margin:0 0 25px !important;
    padding:0 !important;
    font-size:15px !important;
    line-height:1.8 !important;
    white-space:nowrap !important;
  }
  .hero-content .actions{margin-top:0 !important}
}
@media(max-width:1000px){
  .hero-content p{white-space:normal !important}
}

/* V13 — final hero alignment / no orphan UI */
.hero-ui,.ui-values,.hero-badge{display:none !important}

@media(min-width:1001px){
  .hero .container.hero-content{
    width:min(var(--max),calc(100% - 64px)) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    padding-top:0 !important;
  }
  .hero-content .eyebrow{
    margin-bottom:13px !important;
  }
  .hero-content h1{
    width:auto !important;
    max-width:none !important;
    margin:0 0 18px !important;
    font-size:clamp(45px,3.25vw,54px) !important;
    line-height:1.16 !important;
    letter-spacing:-.052em !important;
    white-space:nowrap !important;
    word-break:normal !important;
  }
  .hero-content p{
    width:auto !important;
    max-width:none !important;
    margin:0 0 24px !important;
    padding:0 !important;
    font-size:15px !important;
    line-height:1.8 !important;
    white-space:nowrap !important;
  }
  .hero-content .actions{
    margin:0 !important;
  }
}
@media(max-width:1200px) and (min-width:1001px){
  .hero-content h1{white-space:normal !important;max-width:900px !important}
  .hero-content p{white-space:normal !important;max-width:900px !important}
}
@media(max-width:1000px){
  .hero .container.hero-content{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* V14 — hard alignment for every hero slide.
   All slides share exactly the same content box; no slide can fall back to x=0. */
@media(min-width:1001px){
  .hero-slide .hero-content{
    position:absolute !important;
    left:max(32px, calc((100vw - var(--max))/2)) !important;
    top:0 !important;
    bottom:0 !important;
    width:min(var(--max), calc(100vw - 64px)) !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
  }
  .hero-slide .hero-content .eyebrow,
  .hero-slide .hero-content h1,
  .hero-slide .hero-content p,
  .hero-slide .hero-content .actions{
    position:relative !important;
    left:0 !important;
  }
  .hero-slide .hero-content h1{
    max-width:1050px !important;
    width:auto !important;
    font-size:clamp(44px,3.15vw,54px) !important;
    line-height:1.16 !important;
    letter-spacing:-.052em !important;
    white-space:normal !important;
    word-break:keep-all !important;
    margin:0 0 18px !important;
  }
  /* A short hero statement is intentionally allowed to stay on one line. */
  .hero-slide .hero-content p{
    max-width:1050px !important;
    width:auto !important;
    margin:0 0 24px !important;
    padding:0 !important;
    white-space:nowrap !important;
  }
}
@media(max-width:1200px) and (min-width:1001px){
  .hero-slide .hero-content{
    left:32px !important;
    width:calc(100vw - 64px) !important;
  }
  .hero-slide .hero-content h1{max-width:820px !important}
  .hero-slide .hero-content p{white-space:normal !important;max-width:820px !important}
}

.accent {
    color: #62C39A;
}

.orb-mobile-toggle {
    display: none;
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;

    width: 42px;
    height: 42px;
    padding: 0;
    margin: 0;

    cursor: pointer;

    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
}

.orb-mobile-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: #0F2E4D;
    border-radius: 2px;
}

.orb-mobile-menu {
    display: none;
}

.accent {
    color: #62C39A;
}


/* 모바일 */
@media (max-width: 640px) {

    .orb-mobile-toggle {
        display: flex;
        flex-shrink: 0;
        margin-left: auto;
    }

    /* 기존 PC 메뉴와 문의 버튼 숨김 */
    header.header .menu {
        display: none !important;
    }

    header.header .nav-cta {
        display: none !important;
    }

    /* 모바일 메뉴 */
    .orb-mobile-menu {
        position: fixed;
        display: flex;
        flex-direction: column;

        top: 62px;
        left: 0;
        right: 0;

        z-index: 9999;

        background: #fff;

        border-top: 1px solid #e5ebef;
        box-shadow: 0 12px 30px rgba(0,0,0,.12);

        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);

        transition:
            opacity .2s ease,
            transform .2s ease,
            visibility .2s ease;
    }

    .orb-mobile-menu.is-open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .orb-mobile-menu a {
        display: flex;
        align-items: center;

        height: 58px;
        padding: 0 24px;

        color: #0F2E4D;
        font-size: 15px;
        font-weight: 600;

        border-bottom: 1px solid #edf1f4;
        text-decoration: none;
    }

    .orb-mobile-menu a:last-child {
        border-bottom: 0;
    }
}

/* =========================================================
   COMPANY PAGE
   ========================================================= */

.company-overview {
	padding: 120px 0 110px;
}

.company-overview-head {
	display: block;
	width: 100%;
	margin-bottom: 52px;
}

.company-overview-head h2 {
	margin: 14px 0 22px;
	color: var(--navy);
	font-size: clamp(42px, 4vw, 60px);
	line-height: 1.15;
	letter-spacing: -.05em;
	font-weight: 800;
	max-width: 1100px;
}

.company-ceo h2,
.company-capability h2,
.company-flow h2,
.company-history h2,
.company-present h2 {
	margin: 14px 0 22px;
	color: var(--navy);
	font-size: clamp(40px, 4vw, 62px);
	line-height: 1.15;
	letter-spacing: -.045em;
}

.company-overview-head p {
	margin: 0;
	max-width: 900px;
	color: #5c7084;
	font-size: 16px;
	line-height: 1.9;
}

.company-overview-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
	gap: 90px;
	align-items: start;
}

.company-overview-message p {
	margin: 0 0 28px;
	max-width: 700px;
	color: #496177;
	font-size: 17px;
	line-height: 1.95;
}

.company-overview-message p:last-child {
	margin-bottom: 0;
}

.company-facts {
	border-top: 1px solid #d8e1e7;
}

.company-fact {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 24px;
	padding: 23px 0;
	border-bottom: 1px solid #d8e1e7;
}

.company-fact span {
	color: var(--navy);
	font-size: 13px;
	font-weight: 700;
}

.company-fact strong {
	color: #536a7d;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.65;
}


/* CEO MESSAGE */

.company-ceo {
	padding: 120px 0;
}

.company-ceo-grid {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: 100px;
	align-items: start;
}

.company-ceo-copy {
	max-width: 760px;
}

.company-ceo-lead {
	margin: 0 0 30px;
	color: var(--navy);
	font-size: 24px;
	line-height: 1.65;
	letter-spacing: -.025em;
}

.company-ceo-copy p:not(.company-ceo-lead) {
	margin: 0 0 20px;
	color: #536a7d;
	font-size: 16px;
	line-height: 1.9;
}

.company-ceo-sign {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 42px;
	padding-top: 24px;
	border-top: 1px solid #d9e1e6;
}

.company-ceo-sign span {
	color: var(--green);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .18em;
}

.company-ceo-sign strong {
	color: var(--navy);
	font-size: 24px;
}


/* CORE CAPABILITY */

.company-capability {
	padding: 120px 0;
}

.section-title-row {
	display: block;
	width: 100%;
	margin-bottom: 58px;
}

.section-title-row h2 {
	margin: 14px 0 22px;
	color: var(--navy);
	font-size: clamp(42px, 4vw, 60px);
	line-height: 1.15;
	letter-spacing: -.05em;
	font-weight: 800;
	max-width: 1100px;
}

.section-title-row p {
	margin: 0;
	max-width: 900px;
	color: #5c7084;
	font-size: 16px;
	line-height: 1.9;
}

.capability-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid #d8e1e7;
}

.capability-card {
	position: relative;
	padding: 38px 35px 42px 0;
	border-bottom: 1px solid #d8e1e7;
}

.capability-card:nth-child(odd) {
	padding-right: 70px;
	border-right: 1px solid #d8e1e7;
}

.capability-card:nth-child(even) {
	padding-left: 70px;
}

.capability-number {
	margin-bottom: 26px;
	color: var(--green);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .16em;
}

.capability-card h3 {
	margin: 0 0 17px;
	color: var(--navy);
	font-size: 25px;
	letter-spacing: -.03em;
}

.capability-card p {
	margin: 0;
	color: #5a6f81;
	font-size: 15px;
	line-height: 1.9;
}


/* BUSINESS FLOW */

.company-flow {
	padding: 120px 0;
}

.company-flow-line {
	display: flex;
	align-items: center;
	gap: 24px;
	padding-top: 15px;
	overflow-x: auto;
}

.flow-item {
	flex: 1 0 145px;
	min-width: 145px;
}

.flow-index {
	display: block;
	margin-bottom: 15px;
	color: var(--green);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .15em;
}

.flow-item strong {
	display: block;
	margin-bottom: 8px;
	color: var(--navy);
	font-size: 18px;
	letter-spacing: -.02em;
}

.flow-item small {
	color: #63778a;
	font-size: 14px;
}

.flow-arrow {
	flex: 0 0 auto;
	color: #93a6b5;
	font-size: 20px;
}


/* HISTORY */

.company-history {
	padding: 120px 0 110px;
}

.history-list {
	border-top: 1px solid #d8e1e7;
}

.history-item {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 70px;
	padding: 38px 0;
	border-bottom: 1px solid #d8e1e7;
}

.history-date {
	color: var(--navy);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -.02em;
}

.history-content span {
	display: block;
	margin-bottom: 10px;
	color: var(--green);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .14em;
}

.history-content h3 {
	margin: 0 0 12px;
	color: var(--navy);
	font-size: 24px;
	letter-spacing: -.03em;
}

.history-content p {
	margin: 0;
	color: #607487;
	font-size: 15px;
	line-height: 1.8;
}


/* ORBION TODAY */

.company-present {
	padding: 120px 0;
}

.company-present-box {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
	gap: 80px;
	align-items: center;
	padding: 72px 80px;
	background: #eef7f4;
}

.company-present-copy p {
	margin: 0 0 28px;
	color: #536a7d;
	font-size: 16px;
	line-height: 1.9;
}

.company-present-copy .text-link {
	display: inline-flex;
	align-items: center;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--navy);
	color: var(--navy);
	font-size: 14px;
	font-weight: 700;
}


/* MOBILE */

@media (max-width: 840px) {

	.company-overview-head,
	.company-overview-grid,
	.company-ceo-grid,
	.section-title-row,
	.company-present-box {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.company-overview,
	.company-ceo,
	.company-capability,
	.company-flow,
	.company-history,
	.company-present {
		padding: 80px 0;
	}

	.capability-grid {
		grid-template-columns: 1fr;
	}

	.capability-card:nth-child(odd),
	.capability-card:nth-child(even) {
		padding: 30px 0;
		border-right: 0;
	}

	.company-fact {
		grid-template-columns: 78px 1fr;
	}

	.history-item {
		grid-template-columns: 110px 1fr;
		gap: 30px;
	}

	.company-present-box {
		padding: 45px 30px;
	}
}

@media (max-width: 640px) {

	.company-overview-head h2,
	.company-ceo h2,
	.company-capability h2,
	.company-flow h2,
	.company-history h2,
	.company-present h2 {
		font-size: 34px;
	}

	.company-overview-message p,
	.company-ceo-copy p:not(.company-ceo-lead) {
		font-size: 14px;
	}

	.company-ceo-lead {
		font-size: 20px;
	}

	.history-item {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.company-fact {
		grid-template-columns: 1fr;
		gap: 7px;
	}

	.flow-arrow {
		display: none;
	}

	.company-flow-line {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 35px 25px;
		overflow: visible;
	}
}

.contact{background:linear-gradient(135deg,#082E4D,#061E33);border-top:1px solid var(--line)}

.contact-section {
	background: #fff;
}

.contact-layout {
	grid-template-columns: 1.05fr .95fr;
	gap: 80px;
	align-items: center;
}

.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:start}
.contact h2{font-size:clamp(40px,5vw,65px);margin-top:15px}.contact-copy{color:var(--text);font-size:17px;margin-top:20px;max-width:600px}
	width: 100%;
	background: #f5f9fb;
	color: var(--navy);
	padding: 32px 30px;
	border-radius: 16px;
	box-sizing: border-box;
}

.contact-form-wrap {
	width: 100%;
}

.contact-form {
	width: 100%;
	background: #f5f9fb;
	color: var(--navy);
	padding: 34px 30px;
	border-radius: 16px;
	box-sizing: border-box;
}

.contact-form .form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.contact-form .field {
	margin-bottom: 14px;
}

.contact-form .field label {
	display: block;
	margin-bottom: 8px;
	color: #60737f;
	font-size: 13px;
	font-weight: 600;
}

.contact-form .field input,
.contact-form .field select,
.contact-form .field textarea {
	width: 100%;
	border: 1px solid #d9e4ea;
	background: #fff;
	border-radius: 7px;
	padding: 12px;
	outline: none;
	color: var(--navy);
	font: inherit;
	font-size: 15px;
	box-sizing: border-box;
}

.contact-form .field input,
.contact-form .field select {
	height: 48px;
	padding: 12px 14px;
}

.contact-form .field textarea {
	min-height: 125px;
	padding: 13px 14px;
	resize: vertical;
	line-height: 1.6;
}

.contact-form .field input:focus,
.contact-form .field select:focus,
.contact-form .field textarea:focus {
	border-color: var(--green);
	box-shadow: 0 0 0 2px rgba(98,195,154,.12);
}

.contact-submit {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 50px;
	margin-top: 4px;
	border: 0;
	border-radius: 7px;
	background: var(--green);
	color: var(--navy);
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
	transition: .2s ease;
}

.contact-submit:hover {
	transform: translateY(-1px);
	filter: brightness(.97);
}

.contact-intro {
	padding-right: 20px;
}

.contact-intro h2 {
	margin: 15px 0 22px;
	color: var(--navy);
	font-size: clamp(42px, 4vw, 60px);
	line-height: 1.12;
	letter-spacing: -.05em;
	font-weight: 800;
}

.contact-info b{color:white;margin-right:10px}

.contact-intro .long-copy {
	max-width: 760px;
	margin: 0;
	font-size: 15px;
	line-height: 1.9;
	color: #596e7e;
}

@media (max-width: 840px) {
	.contact-layout {
		grid-template-columns: 1fr;
		gap: 50px;
	}

	.contact-intro {
		padding-right: 0;
	}

	.contact-form {
		padding: 28px 24px;
	}
}

@media (max-width: 640px) {
	.contact-intro h2 {
		font-size: 36px;
	}

	.contact-form .form-row {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.contact-form {
		padding: 24px 20px;
	}
}

/* =========================================================
   ENVIRONMENT REGULATION PAGE
   ========================================================= */

.environment-page {
	width: 100%;
	background: #fff;
	color: var(--ink);
}

.env-container {
	width: min(var(--max), calc(100% - 64px));
	margin: 0 auto;
}


/* =========================================================
   ENVIRONMENT TABS
   ========================================================= */

.env-tabs-wrap {
	position: sticky;
	top: var(--header);
	z-index: 50;
	width: 100%;
	background: #fff;
	border-bottom: 1px solid var(--line);
}

.env-tabs-controller {
	position: relative;
	width: 100%;
}

.env-tabs-controller > input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.env-tabs-nav {
	width: 100%;
	background: #fff;
}

.env-tabs {
	width: 100%;
	display: flex;
	align-items: stretch;
	overflow-x: auto;
	overflow-y: hidden;
	white-space: nowrap;
	scrollbar-width: none;
}

.env-tabs::-webkit-scrollbar {
	display: none;
}

.env-tabs label {
	position: relative;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 0 24px;
	color: #5e7182;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	white-space: nowrap;
}

.env-tabs label:hover {
	color: var(--navy);
}

.env-tabs label::after {
	content: "";
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: 0;
	height: 3px;
	background: transparent;
}

#envTabHome:checked ~ .env-tabs-nav label[for="envTabHome"],
#envTabGlobal:checked ~ .env-tabs-nav label[for="envTabGlobal"],
#envTabKorea:checked ~ .env-tabs-nav label[for="envTabKorea"],
#envTabIndustry:checked ~ .env-tabs-nav label[for="envTabIndustry"],
#envTabData:checked ~ .env-tabs-nav label[for="envTabData"],
#envTabProcess:checked ~ .env-tabs-nav label[for="envTabProcess"],
#envTabOrbion:checked ~ .env-tabs-nav label[for="envTabOrbion"] {
	color: var(--navy);
}

#envTabHome:checked ~ .env-tabs-nav label[for="envTabHome"]::after,
#envTabGlobal:checked ~ .env-tabs-nav label[for="envTabGlobal"]::after,
#envTabKorea:checked ~ .env-tabs-nav label[for="envTabKorea"]::after,
#envTabIndustry:checked ~ .env-tabs-nav label[for="envTabIndustry"]::after,
#envTabData:checked ~ .env-tabs-nav label[for="envTabData"]::after,
#envTabProcess:checked ~ .env-tabs-nav label[for="envTabProcess"]::after,
#envTabOrbion:checked ~ .env-tabs-nav label[for="envTabOrbion"]::after {
	background: var(--green);
}


/* =========================================================
   PANELS
   ========================================================= */

.env-panels {
	width: 100%;
}

.env-panel {
	display: none;
	width: 100%;
}

#envTabHome:checked ~ .env-panels .env-panel-home,
#envTabGlobal:checked ~ .env-panels .env-panel-global,
#envTabKorea:checked ~ .env-panels .env-panel-korea,
#envTabIndustry:checked ~ .env-panels .env-panel-industry,
#envTabData:checked ~ .env-panels .env-panel-data,
#envTabProcess:checked ~ .env-panels .env-panel-process,
#envTabOrbion:checked ~ .env-panels .env-panel-orbion {
	display: block;
}

.env-panel .section {
	width: 100%;
}


/* =========================================================
   HOME INTRO
   ========================================================= */

.env-intro {
	padding: 92px 0 80px;
	background: #fff;
}

.env-intro h2 {
	margin: 14px 0 22px;
	color: var(--navy);
	font-size: clamp(40px, 4vw, 60px);
	line-height: 1.12;
	letter-spacing: -.05em;
}

.env-intro p {
	max-width: 900px;
	margin: 0;
	color: #5c7084;
	font-size: 16px;
	line-height: 1.9;
}


/* =========================================================
   COMMON SECTION TITLE
   ========================================================= */

.environment-page .section-title-row {
	display: block;
	width: 100%;
	margin-bottom: 58px;
}

.environment-page .section-title-row h2 {
	margin: 14px 0 22px;
	color: var(--navy);
	font-size: clamp(42px, 4vw, 60px);
	line-height: 1.15;
	letter-spacing: -.05em;
	font-weight: 800;
	max-width: 1120px;
}

.environment-page .section-title-row p {
	margin: 0;
	max-width: 900px;
	color: #5c7084;
	font-size: 16px;
	line-height: 1.9;
}

.environment-page .accent {
	color: var(--green);
}


/* =========================================================
   FIVE STEP FLOW
   ========================================================= */

.env-flow-section {
	background: #f4f9fb;
}

.env-step-grid {
	display: grid;
	grid-template-columns:
		minmax(0,1fr)
		34px
		minmax(0,1fr)
		34px
		minmax(0,1fr)
		34px
		minmax(0,1fr)
		34px
		minmax(0,1fr);
	align-items: stretch;
	gap: 0;
}

.env-step {
	padding: 24px 22px 26px;
	background: #fff;
	border: 1px solid #d9e5eb;
	border-radius: 10px;
}

.env-step-no {
	display: block;
	margin-bottom: 8px;
	color: #3f8ce7;
	font-size: 13px;
	font-weight: 800;
}

.env-step-no.green {
	color: var(--green);
}

.env-step-image {
	display: block;
	width: 100%;
	height: 105px;
	margin: 8px 0 18px;
	object-fit: contain;
	object-position: center;
}

.env-step h3 {
	margin: 0 0 12px;
	color: var(--navy);
	font-size: 19px;
	letter-spacing: -.025em;
}

.env-step ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.env-step li {
	position: relative;
	margin-top: 7px;
	padding-left: 12px;
	color: #617588;
	font-size: 14px;
	line-height: 1.55;
}

.env-step li::before {
	content: "•";
	position: absolute;
	left: 0;
	color: var(--green);
}

.env-step-arrow {
	display: grid;
	place-items: center;
	color: #68a8eb;
	font-size: 24px;
}


/* =========================================================
   REGULATIONS
   ========================================================= */

.env-regulation-preview {
	padding: 100px 0;
	background: #fff;
}

.env-reg-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0,1fr));
	gap: 14px;
}

.env-reg-card {
	min-height: 95px;
	padding: 22px 20px;
	border: 1px solid #dbe6ec;
	background: #fff;
	border-radius: 10px;
}

.env-reg-card strong {
	display: block;
	margin-bottom: 7px;
	color: var(--navy);
	font-size: 17px;
}

.env-reg-card span {
	color: #6b7d8d;
	font-size: 14px;
}


/* =========================================================
   INDUSTRIES
   ========================================================= */

.env-industry-preview {
	padding: 100px 0;
	background: #f4f9fb;
}

.env-industry-grid {
	display: grid;
	grid-template-columns: repeat(8, minmax(0,1fr));
	gap: 12px;
}

.env-industry-grid > div {
	min-height: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	border: 1px solid #dce6eb;
	background: #fff;
	border-radius: 9px;
	color: var(--navy);
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}


/* =========================================================
   VALUE
   ========================================================= */

.env-value-section {
	padding: 100px 0;
	background: #f4f9fb;
}

.env-value-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0,1fr));
	gap: 18px;
}

.env-value-card {
	padding: 28px 24px;
	background: #fff;
	border: 1px solid #dde7ec;
	border-radius: 10px;
}

.env-value-card strong {
	display: block;
	margin-bottom: 10px;
	color: var(--navy);
	font-size: 17px;
}

.env-value-card span {
	color: #66798b;
	font-size: 14px;
	line-height: 1.7;
}


/* =========================================================
   TABLE
   ========================================================= */

.env-table-wrap {
	overflow-x: auto;
	border-top: 1px solid var(--line);
}

.env-table {
	width: 100%;
	min-width: 850px;
	border-collapse: collapse;
	table-layout: fixed;
}

.env-table th,
.env-table td {
	padding: 18px 16px;
	border-bottom: 1px solid #dfe7eb;
	text-align: left;
	vertical-align: top;
}

.env-table th {
	background: #f4f8fa;
	color: var(--navy);
	font-size: 14px;
	font-weight: 800;
}

.env-table td {
	color: #5d7081;
	font-size: 14px;
	line-height: 1.65;
}

.env-table td:first-child {
	color: var(--navy);
	font-weight: 700;
}


/* =========================================================
   INDUSTRY SUB TABS
   ========================================================= */

.industry-tabs {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 8px;
	width: 100%;
}

.industry-tabs input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.industry-tabs label {
	flex: 1 1 0;
	min-width: 0;

	display: flex;
	align-items: center;
	justify-content: center;

	min-height: 64px;
	padding: 10px 14px;

	border: 1px solid #dbe5ea;
	background: #fff;
	border-radius: 8px;

	color: #647788;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	word-break: keep-all;

	cursor: pointer;
	box-sizing: border-box;
	transition: .2s ease;
}

.industry-tabs label:hover {
	border-color: var(--green);
	color: var(--navy);
}

#industry01:checked ~ label[for="industry01"],
#industry02:checked ~ label[for="industry02"],
#industry03:checked ~ label[for="industry03"],
#industry04:checked ~ label[for="industry04"],
#industry05:checked ~ label[for="industry05"],
#industry06:checked ~ label[for="industry06"] {
	border-color: var(--green);
	background: #eef8f4;
	color: var(--navy);
}


/* 상세내용은 항상 탭 아래 전체 폭 */

.industry-panel {
	display: none;
	flex: 0 0 100%;
	width: 100%;
	min-width: 100%;
	margin-top: 28px;
	box-sizing: border-box;
}

#industry01:checked ~ .industry01-panel,
#industry02:checked ~ .industry02-panel,
#industry03:checked ~ .industry03-panel,
#industry04:checked ~ .industry04-panel,
#industry05:checked ~ .industry05-panel,
#industry06:checked ~ .industry06-panel {
	display: block;
}

.industry-summary {
	margin-bottom: 28px;
}

.industry-summary h3 {
	margin: 0 0 9px;
	color: var(--navy);
	font-size: 26px;
}

.industry-summary p {
	margin: 0;
	color: #607486;
	font-size: 14px;
	line-height: 1.7;
}

/* =========================================================
   RESPONSE PROCESS
   ========================================================= */

.env-process-list {
	border-top: 1px solid var(--line);
}

.env-process-list > div {
	display: grid;
	grid-template-columns: 60px 210px 1fr;
	gap: 24px;
	padding: 22px 30px;
	border-bottom: 1px solid var(--line);
	align-items: center;
}

.env-process-list strong {
	color: var(--green);
	font-size: 12px;
	letter-spacing: .12em;
}

.env-process-list b {
	color: var(--navy);
	font-size: 16px;
}

.env-process-list span {
	color: #647788;
	font-size: 13px;
}


/* =========================================================
   ORBION MODEL
   ========================================================= */

.env-orbion-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	border-top: 1px solid var(--line);
}

.env-orbion-grid > div {
	padding: 28px 30px;
	border-bottom: 1px solid var(--line);
}

.env-orbion-grid > div:nth-child(odd) {
	border-right: 1px solid var(--line);
}

.env-orbion-grid span {
	display: block;
	margin-bottom: 13px;
	color: var(--green);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .15em;
}

.env-orbion-grid strong {
	display: block;
	margin-bottom: 8px;
	color: var(--navy);
	font-size: 17px;
}

.env-orbion-grid p {
	margin: 0;
	color: #647788;
	font-size: 13px;
	line-height: 1.7;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

	.env-container {
		width: calc(100% - 40px);
	}

	.env-step-grid {
		grid-template-columns: repeat(2, minmax(0,1fr));
		gap: 12px;
	}

	.env-step-arrow {
		display: none;
	}

	.env-reg-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.env-industry-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.env-value-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.industry-tabs {
		flex-wrap: wrap;
		gap: 8px;
		overflow: visible;
	}

	.industry-tabs label {
		flex: 1 1 calc(33.333% - 8px);
		min-width: 0;
		min-height: 56px;
		padding: 10px 12px;
		font-size: 12px;
		line-height: 1.35;
		white-space: normal;
		word-break: keep-all;
	}
}


@media (max-width: 640px) {

	.environment-page {
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
	}
	
	.env-container {
		width: calc(100% - 32px);
	}

	.env-tabs {
		overflow-x: auto;
		overflow-y: hidden;
	}

	.env-tabs label {
		min-height: 50px;
		padding: 0 16px;
		font-size: 14px;
	}

	.env-intro,
	.env-regulation-preview,
	.env-industry-preview,
	.env-value-section {
		padding: 75px 0;
	}

	.env-intro h2 {
		font-size: 35px;
	}

	.env-step-grid {
		grid-template-columns: 1fr;
	}

	.env-reg-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.env-industry-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.env-step-image {
		height: 90px;
		margin: 6px 0 16px;
	}

	.env-value-grid {
		grid-template-columns: 1fr;
	}
	
	.env-process-list {
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}
	
	.env-process-list > div {
		grid-template-columns: 45px minmax(0, 1fr);
		gap: 14px;
		padding: 20px 0;
		min-width: 0;
	}
	
	.env-process-list strong {
		grid-column: 1;
	}
	
	.env-process-list b {
		grid-column: 2;
		min-width: 0;
	}
	
	.env-process-list span {
		grid-column: 2;
		min-width: 0;
		white-space: normal;
		word-break: keep-all;
		overflow-wrap: anywhere;
		line-height: 1.7;
	}

	.industry-tabs {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		width: 100%;
		max-width: 100%;
		overflow: visible;
	}

	.industry-tabs label {
		flex: 1 1 calc(50% - 4px);
		width: calc(50% - 4px);
		min-width: 0;
		max-width: calc(50% - 4px);

		min-height: 56px;
		padding: 10px;
		font-size: 12px;
		line-height: 1.35;
		white-space: normal;
		word-break: keep-all;
		box-sizing: border-box;
	}

	/* 상세 영역 */
	.industry-panel {
		display: none;
		flex: 0 0 100%;
		width: 100%;
		min-width: 0;
		max-width: 100%;
		margin-top: 24px;
		box-sizing: border-box;
	}

	/* 선택된 상세 패널 */
	#industry01:checked ~ .industry01-panel,
	#industry02:checked ~ .industry02-panel,
	#industry03:checked ~ .industry03-panel,
	#industry04:checked ~ .industry04-panel,
	#industry05:checked ~ .industry05-panel,
	#industry06:checked ~ .industry06-panel {
		display: block;
	}

	.industry-table-scroll {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		overflow-x: auto;
		overflow-y: hidden;
		box-sizing: border-box;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
	}
	
	.industry-table-scroll .env-table {
		width: 850px;
		min-width: 850px;
		max-width: none;
	}
}