/* Manufacturing page premium layout (NexusBrain) */
:root{--nb-header-h:72px;--mfg-vh:100vh;}
.mfg-page{width:100%; position:relative;}

/* 워터마크는 섹션들 뒤(아래)로 깔리고, 콘텐츠는 위로 */
.mfg-page > section{position:relative; z-index:1;}

/* 워터마크 전용 레이어: 스크롤/레이아웃(문서 높이) 확장 방지 */
.mfg-wm-layer{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  overflow: hidden;
  contain: paint;
}

/* 레이아웃 튜너(편집모드) - 워터마크 위치 조절용 */
/*
  편집모드에서는 워터마크 레이어를 콘텐츠 위로 올려야
  카드/이미지(상위 z-index)가 클릭을 가로채지 않습니다.
  (일반모드에서는 기존처럼 섹션 뒤에 깔림)
*/
body.mfg-tune-on .mfg-wm-layer{pointer-events:auto; z-index:9998;}
body.mfg-tune-on .mfg-watermark{
  outline:2px dashed rgba(16,185,129,.6);
  outline-offset:6px;
  cursor:move;
  pointer-events:auto;
  z-index: 9999;
}

/* 섹션 워터마크(.is-section)도 편집모드에서 드래그 가능 */
body.mfg-tune-on .mfg-watermark.is-section{
  pointer-events:auto;
  z-index: 9999;
}
body.mfg-tune-on .mfg-watermark.is-selected{
  outline-color: rgba(16,185,129,.95);
}

.mfg-tuner{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  width:320px;
  background:#fff;
  border:1px solid rgba(15,23,42,.12);
  border-radius:14px;
  box-shadow:0 18px 50px rgba(2,6,23,.18);
  font-family:inherit;
  overflow:hidden;
}
.mfg-tuner[hidden]{display:none !important;}
.mfg-tuner .tuner-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 12px;
  border-bottom:1px solid rgba(15,23,42,.08);
}
.mfg-tuner .tuner-title{font-weight:800; font-size:14px; color:#0f172a;}
.mfg-tuner .tuner-close{
  border:0;
  background:transparent;
  cursor:pointer;
  font-size:18px;
  line-height:1;
  color:#64748b;
}
.mfg-tuner .tuner-body{padding:12px;}
.mfg-tuner label{display:block; font-size:12px; color:#64748b; margin:0 0 6px;}
.mfg-tuner select,
.mfg-tuner input{
  width:100%;
  border:1px solid rgba(15,23,42,.14);
  border-radius:10px;
  padding:10px 10px;
  font-size:13px;
}
.mfg-tuner .grid2{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.mfg-tuner .btns{display:flex; gap:10px; margin-top:10px;}
.mfg-tuner .btn{
  flex:1;
  border:1px solid rgba(15,23,42,.14);
  background:#fff;
  border-radius:10px;
  padding:10px 10px;
  cursor:pointer;
  font-size:13px;
  font-weight:700;
}
.mfg-tuner .btn.primary{
  background:#10b981;
  border-color:#10b981;
  color:#0b1220;
}
.mfg-tuner .hint{margin-top:10px; font-size:12px; color:#64748b; line-height:1.45;}

.mfg-wrap{
  width:100%;
  max-width:1320px;
  margin:0 auto;
  padding:0 28px;
}
@media (min-width: 1500px){
  .mfg-wrap{max-width:1440px;}
}
@media (max-width: 720px){
  .mfg-wrap{padding:0 18px;}
}

.mfg-hero{
  padding: clamp(28px, 6vh, 72px) 0;
  min-height: var(--mfg-vh);
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.mfg-hero > .mfg-wrap{width:100%;}
.mfg-hero:before{
  content:"";
  position:absolute; inset:-220px -160px auto -160px;
  height:420px;
  background:linear-gradient(120deg, rgba(15,23,42,.04), rgba(15,23,42,0));
  transform:skewY(-8deg);
}
.mfg-hero-grid{
  position:relative;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:44px;
  align-items:center;
}
@media (max-width: 1020px){
  .mfg-hero-grid{grid-template-columns:1fr; gap:26px;}
}

.mfg-kicker{
  display:inline-flex;
  gap:10px;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(16,185,129,.10);
  color:#065f46;
  font-weight:800;
  font-size:13px;
  letter-spacing:-.2px;
}
.mfg-title{
  margin:18px 0 12px;
  font-size:54px;
  line-height:1.08;
  letter-spacing:-1.2px;
  color:#0f172a;
  font-weight:950;
}
@media (max-width: 720px){
  .mfg-title{font-size:38px;}
}
.mfg-sub{
  margin:0 0 18px;
  font-size:16.5px;
  line-height:1.72;
  color:rgba(15,23,42,.78);
  max-width:44rem;
}
.mfg-cta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  margin:18px 0 18px;
}
.mfg-btn{
  display:inline-flex;
  gap:10px;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
  color:#0f172a;
  font-weight:900;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.mfg-btn:hover{transform:translateY(-1px); box-shadow:0 14px 34px rgba(15,23,42,.10);}
.mfg-btn.primary{
  background:linear-gradient(135deg, #22c55e, #14b8a6);
  border-color:transparent;
  color:#052e16;
}
.mfg-btn.primary:hover{filter:saturate(1.05);}

.mfg-points{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin:18px 0 0;
  padding:0;
  list-style:none;
  color:rgba(15,23,42,.78);
}
.mfg-points li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  min-width:240px;
  flex:1 1 240px;
}
.mfg-dot{
  width:10px; height:10px; border-radius:999px;
  margin-top:7px;
  background:linear-gradient(135deg, #22c55e, #14b8a6);
  flex:0 0 auto;
  box-shadow:0 0 0 6px rgba(16,185,129,.12);
}

.mfg-media{
  position:relative;
  padding-bottom:0;
}

.mfg-media.has-wm{
  padding-bottom:86px; /* reserve area for watermark (no overlap) */
}

.mfg-watermark.is-section{
  position:absolute;
  right:48px;
  bottom:36px;
  font-weight:800;
  letter-spacing:.5px;
  font-size:128px;
  line-height:1;
  color: rgba(15,23,42,.35);
  opacity:.07;
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
  z-index:0;
  filter: blur(.15px);
  transform: translate(var(--wm-x, 0px), var(--wm-y, 0px));
}

.mfg-watermark{
  position:absolute;
  right:18px;
  bottom:18px;
  font-weight:800;
  letter-spacing:.5px;
  font-size:72px;
  line-height:1;
  color: rgba(15,23,42,.35);
  opacity:.08;
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
  z-index:0;
  filter: blur(.15px);
  transform: translate(var(--wm-x, 0px), var(--wm-y, 0px));
}
@media (max-width: 1020px){
  .mfg-media.has-wm{padding-bottom:64px;}
  .mfg-watermark{font-size:56px; right:0; bottom:6px;}
}

.mfg-slider{
  position:relative;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(15,23,42,.92), rgba(15,23,42,.88));
  padding:18px;
  box-shadow: 0 26px 80px rgba(15,23,42,.22);
}
.mfg-slider-inner{
  border-radius:18px;
  overflow:hidden;
  background:#0b1220;
  aspect-ratio: 4 / 3;
  position:relative;
}
.mfg-slide{
  position:absolute; inset:0;
  opacity:0;
  transform:scale(1.02);
  transition: opacity .55s ease, transform .85s ease;
}
.mfg-slide.is-active{opacity:1; transform:scale(1);}
.mfg-slide img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
.mfg-slider-grad{
  position:absolute; inset:0;
  pointer-events:none;
  background:
    radial-gradient(500px 240px at 25% 20%, rgba(34,197,94,.22), transparent 60%),
    radial-gradient(560px 280px at 82% 86%, rgba(20,184,166,.18), transparent 60%),
    linear-gradient(180deg, transparent, rgba(0,0,0,.35));
  opacity:.9;
}

.mfg-navbtn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px; height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(2,6,23,.55);
  color:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:transform .18s ease, background .18s ease;
}
.mfg-navbtn:hover{background:rgba(2,6,23,.72); transform:translateY(-50%) scale(1.03);}
.mfg-navbtn.prev{left:14px;}
.mfg-navbtn.next{right:14px;}
.mfg-dots{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(2,6,23,.55);
  border:1px solid rgba(255,255,255,.12);
}
.mfg-dotbtn{
  width:8px; height:8px;
  border-radius:999px;
  border:none;
  background:rgba(255,255,255,.35);
  cursor:pointer;
}
.mfg-dotbtn.is-active{background:#fff;}
.mfg-dotbtn:focus{outline:2px solid rgba(34,197,94,.65); outline-offset:3px;}

.mfg-section{
  position:relative;
  position: relative;
  padding: clamp(28px, 6vh, 70px) 0;
  background:#fff;
  min-height: var(--mfg-vh);
  display:flex;
  align-items:center;
}
.mfg-section > .mfg-wrap{width:100%; position:relative; z-index:1;}

@media (max-width: 720px){
  .mfg-section{padding:54px 0;}
}
.mfg-section.alt{
  background:linear-gradient(180deg, rgba(15,23,42,.02), transparent 62%);
}
.mfg-h2{
  font-size:34px;
  letter-spacing:-.8px;
  margin:0 0 14px;
  color:#0f172a;
  font-weight:950;
}
@media (max-width: 720px){
  .mfg-h2{font-size:26px;}
}
.mfg-lead{
  margin:0 0 24px;
  color:rgba(15,23,42,.74);
  font-size:16px;
  line-height:1.75;
  max-width:60rem;
}
.mfg-two{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:44px;
  align-items:start;
}
@media (max-width: 1020px){
  .mfg-two{grid-template-columns:1fr; gap:22px;}
}
.mfg-panel{
  border-radius:20px;
  padding:22px 22px 20px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  box-shadow:0 18px 52px rgba(15,23,42,.06);
}
.mfg-panel h3{
  margin:0 0 10px;
  font-size:18px;
  font-weight:950;
  color:#0f172a;
  letter-spacing:-.3px;
}
.mfg-panel p{
  margin:0;
  color:rgba(15,23,42,.72);
  line-height:1.8;
}

.mfg-bullets{margin:14px 0 0; padding:0; list-style:none;}
.mfg-bullets li{
  position:relative;
  padding-left:18px;
  margin:10px 0;
  color:rgba(15,23,42,.80);
  line-height:1.75;
}
.mfg-bullets li:before{
  content:"";
  position:absolute;
  left:0; top:10px;
  width:8px; height:8px;
  border-radius:999px;
  background:linear-gradient(135deg, #22c55e, #14b8a6);
  box-shadow:0 0 0 5px rgba(16,185,129,.10);
}

.mfg-photo{
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  aspect-ratio: 16 / 10;
  min-height: 260px;
  height: auto;
  position: relative;
}
.mfg-photo img{width:100%; height:100%; object-fit:cover; display:block;}
/* 대표 수행 영역 이미지: 카드 안에서 살짝 왼쪽으로 이동(우측 피사체 잘림 방지) */
.mfg-photo.shift-left img{object-position:60% 50%;}

/* Process: horizontal stepper (premium, non-card) */
.mfg-steps{
  margin-top:18px;
  position:relative;
}

/* 대표 수행 영역: 좌(선택 리스트) + 우(상세 패널) 2열 레이아웃 */
/* Process timeline (animated) */
.mfg-timeline{
  display:grid; grid-template-columns: 420px 1fr; gap: 22px;
  margin-top: 22px;
}
.mfg-tl-nav{ display:flex; flex-direction:column; gap: 12px; }

.mfg-tl-step{
  width:100%;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.92);
  border-radius:16px;
  padding:14px 14px 12px;
  text-align:left;
  box-shadow: 0 10px 26px rgba(2,8,23,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.mfg-tl-step:hover{ transform: translateY(-2px); box-shadow: 0 14px 34px rgba(2,8,23,.10); }
.mfg-tl-step.is-active{
  border-color: rgba(16,185,129,.45);
  background: rgba(236,253,245,.60);
}

.mfg-tl-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:30px;
  font-weight:950;
  border-radius:999px;
  background:rgba(15,23,42,.06);
  color:#0f172a;
  margin-right:10px;
  font-variant-numeric: tabular-nums;
}
.mfg-tl-step.is-active .mfg-tl-num{
  background: rgba(16,185,129,.16);
  color:#065f46;
}
.mfg-tl-title{ font-weight:950; letter-spacing:-.02em; }
.mfg-tl-sub{
  display:block;
  margin-top:6px;
  color: rgba(15,23,42,.68);
  font-size:.95rem;
  line-height:1.35;
}

.mfg-tl-panel{
  position:relative;
  border-radius:22px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.92);
  box-shadow: 0 18px 40px rgba(2,8,23,.08);
  padding: 22px;
  min-height: 360px;
  overflow:hidden;
}
.mfg-tl-card{
  position:absolute; inset:0;
  padding: 22px;
  opacity:0; transform: translateX(14px);
  pointer-events:none;
  transition: opacity .22s ease, transform .22s ease;
}
.mfg-tl-card.is-active{
  opacity:1; transform: translateX(0);
  pointer-events:auto;
}

.mfg-tl-head h3{
  margin:6px 0 8px;
  font-size:1.6rem;
  letter-spacing:-.03em;
}
.mfg-tl-head p{
  margin:0 0 14px;
  color: rgba(15,23,42,.72);
  line-height:1.55;
}
.mfg-tl-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:950;
  font-size:.9rem;
  color: rgba(15,23,42,.70);
}
.mfg-tl-bullets{
  list-style:none; padding:0; margin: 0 0 16px;
  display:grid; gap:10px;
}
.mfg-tl-bullets li{
  position:relative;
  padding-left:24px;
  color: rgba(15,23,42,.88);
  line-height:1.45;
}
.mfg-tl-bullets li::before{
  content:"";
  position:absolute; left:0; top:.35em;
  width:12px; height:12px; border-radius:999px;
  background: rgba(16,185,129,.18);
  border: 2px solid rgba(16,185,129,.55);
}
.mfg-tl-foot{
  margin-top:auto;
  padding-top: 14px;
  border-top: 1px dashed rgba(15,23,42,.16);
  color: rgba(15,23,42,.82);
}
.mfg-timeline .mfg-chip{ margin-right:8px; }

@media (max-width: 1100px){
  .mfg-timeline{ grid-template-columns: 1fr; }
  .mfg-tl-panel{ min-height: 340px; overflow:visible; }
  .mfg-tl-card{ position:relative; inset:auto; padding:0; opacity:1; transform:none; pointer-events:auto; display:none; }
  .mfg-tl-card.is-active{ display:block; padding: 22px; }
}
@media (prefers-reduced-motion: reduce){
  .mfg-tl-step, .mfg-tl-card{ transition:none !important; }
  .mfg-tl-step:hover{ transform:none; }
}

.mfg-tabs{
  margin-top:18px;
  display:grid;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
  gap:18px;
  align-items:start;
}
@media (max-width: 1020px){
  .mfg-tabs{grid-template-columns:1fr; gap:14px;}
  /* 모바일: 탭 클릭 시 버튼 바로 아래에 상세 패널이 펼쳐지도록 */
  .mfg-mobile-panelholder{ margin-top: 12px; }
  .mfg-mobile-panelholder .mfg-panel{ margin: 0; }
}

.mfg-stepgrid{
  display:grid;
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.mfg-step{grid-column: span 2;}
.mfg-step:nth-child(4), .mfg-step:nth-child(5){grid-column: span 3;}
@media (max-width: 1100px){
  .mfg-stepgrid{grid-template-columns: repeat(2, minmax(0,1fr)); gap:14px;}
  .mfg-step, .mfg-step:nth-child(4), .mfg-step:nth-child(5){grid-column:auto;}
}
@media (max-width: 700px){
  .mfg-stepgrid{grid-template-columns:1fr;}
}
.mfg-tablist{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.mfg-tab{
  text-align:left;
  padding:14px 14px;
  border-radius:16px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  cursor:pointer;
  font-weight:950;
  color:#0f172a;
  font-size:16px;
  line-height:1.25;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.mfg-tab small{
  display:block;
  margin-top:6px;
  font-weight:800;
  font-size:13px;
  color:rgba(15,23,42,.72);
}

/* 대표 수행 영역: 탭 텍스트가 2줄로 줄바꿈되면 패널 높이가 달라져 보일 수 있어, 1줄 고정 */
.mfg-areas-tab-title,
.mfg-areas-tab-desc{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* 모바일: 탭을 선택하면 "바로 아래"에서 내용이 보이도록(아코디언 형태)
   텍스트는 2줄까지 허용해 잘림을 방지 */
@media (max-width: 1020px){
  .mfg-areas-tab-title,
  .mfg-areas-tab-desc{
    white-space:normal;
    text-overflow:clip;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .mfg-areas-tab-title{ -webkit-line-clamp:2; }
  .mfg-areas-tab-desc{ -webkit-line-clamp:2; }

  .mfg-tabpanel{ margin-top:12px; }
}
.mfg-tab:hover{transform:translateY(-1px); box-shadow:0 14px 32px rgba(15,23,42,.08);}
.mfg-tab.is-active{
  border-color:rgba(16,185,129,.35);
  box-shadow:0 20px 52px rgba(16,185,129,.10);
}

/* 대표 수행 영역: 패널 상단(텍스트 + KPI 미니 카드) */
.mfg-panel-head{
  display:flex;
  gap:16px;
  align-items:stretch;
  justify-content:space-between;
  margin-bottom:14px;
}
.mfg-panel-head-left{
  flex:1;
  min-width:0;
}
@media (max-width: 820px){
  .mfg-panel-head{flex-direction:column;}
}


.mfg-tabpanel{
  border-radius:22px;
  padding:22px;
  /* 워터마크가 카드 내부로 비쳐보이지 않도록 불투명 배경 */
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  box-shadow:0 22px 60px rgba(15,23,42,.10);

  overflow: hidden;
}
.mfg-tabpanel h3{
  margin:0 0 10px;
  font-size:20px;
  font-weight:950;
  letter-spacing:-.4px;
  line-height:1.25;
  /* 제목이 1줄/2줄로 바뀌어도 카드 높이가 흔들리지 않도록 2줄 높이 확보 */
  min-height: 50px;
}
.mfg-tabpanel p{margin:0 0 12px; color:rgba(15,23,42,.74); line-height:1.8;}
.mfg-tabpanel .mfg-two-mini{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:18px;
  align-items:stretch;
}
@media (max-width: 1020px){
  .mfg-tabpanel .mfg-two-mini{grid-template-columns:1fr; gap:14px;}
}
.mfg-badge{
  display:inline-flex;
  gap:8px;
  align-items:center;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(15,23,42,.04);
  color:rgba(15,23,42,.72);
  font-weight:900;
  font-size:13px;
}

/* Cases: slider */
.mfg-case{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:26px;
  align-items:stretch;
}
@media (max-width: 1020px){
  .mfg-case{grid-template-columns:1fr; gap:16px;}
}
.mfg-casebox{
  border-radius:22px;
  padding:22px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  box-shadow:0 22px 60px rgba(15,23,42,.08);

  overflow: hidden;
}
.mfg-case-title{
  display:flex;
  gap:12px;
  align-items:baseline;
  margin:0 0 12px;
}
.mfg-case-title strong{
  font-size:18px;
  font-weight:950;
  letter-spacing:-.4px;
}
.mfg-case-title em{
  font-style:normal;
  color:rgba(15,23,42,.62);
  font-weight:900;
}
.mfg-grid2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
@media (max-width: 720px){
  .mfg-grid2{grid-template-columns:1fr;}
}
.mfg-kv{
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(15,23,42,.02);
}
.mfg-kv b{display:block; font-weight:950; margin-bottom:6px;}
.mfg-kv span{display:block; color:rgba(15,23,42,.74); line-height:1.75;}

.mfg-case-nav{
  display:flex; gap:10px; align-items:center; margin-top:14px;
}
.mfg-pill{
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  cursor:pointer;
  font-weight:950;
}
.mfg-pill.is-active{
  border-color:rgba(16,185,129,.35);
  background:rgba(16,185,129,.08);
}

/* FAQ */
.mfg-faq{
  border-top:1px solid rgba(15,23,42,.10);
}
.mfg-q{
  border-bottom:1px solid rgba(15,23,42,.10);
}
.mfg-q button{
  width:100%;
  background:transparent;
  border:none;
  padding:18px 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  cursor:pointer;
  text-align:left;
}
.mfg-q button strong{font-weight:950; color:#0f172a; letter-spacing:-.3px;}
.mfg-q button span{color:rgba(15,23,42,.55); font-weight:950;}
.mfg-a{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;
}
.mfg-a p{
  margin:0 0 18px;
  color:rgba(15,23,42,.74);
  line-height:1.8;
}
.mfg-q.is-open .mfg-a{max-height:320px;}
@media (max-width: 720px){
  .mfg-q.is-open .mfg-a{max-height:520px;}
}

/* subtle motion */
.mfg-reveal{
  opacity:0;
  transform:translateY(10px);
  transition: opacity .55s ease, transform .75s ease;
}
.mfg-reveal.is-in{
  opacity:1;
  transform:translateY(0);
}
/* tabs small override */
@media (max-width: 640px){
  .mfg-tabs{ grid-template-columns: 1fr; }
  .mfg-tab{ flex-direction: column; align-items:flex-start; }
  .mfg-tab small{ white-space: normal; text-align:left; }
}


/* photo height alignment for section 2 & case */
.mfg-two{ align-items: stretch; }
.mfg-two .mfg-photo{ height:100%; min-height:100%; aspect-ratio:auto; }
.mfg-case{ align-items: stretch; }
.mfg-case .mfg-photo{ height:100%; min-height:100%; aspect-ratio:auto; }

/* Process: one-page step grid */
.mfg-process-grid{
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}
.mfg-pro-step{
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(15,23,42,.08);
  padding: 16px;
  display:flex;
  flex-direction:column;
  min-height: 260px;
}
.mfg-pro-head{
  display:flex;
  gap: 12px;
  align-items:flex-start;
}
.mfg-pro-num{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight: 950;
  color:#0f172a;
  background: rgba(16,185,129,.14);
  border: 1px solid rgba(16,185,129,.35);
  flex: 0 0 auto;
}
.mfg-pro-title{
  font-weight: 950;
  color:#0f172a;
  letter-spacing:-.4px;
  font-size: 16px;
  line-height: 1.15;
}
.mfg-pro-sub{
  margin-top: 4px;
  color: rgba(15,23,42,.72);
  font-weight: 850;
  font-size: 13px;
  line-height: 1.35;
}
.mfg-pro-bullets{
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  display:flex;
  flex-direction:column;
  gap: 8px;
}
.mfg-pro-bullets li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  color: rgba(15,23,42,.78);
  font-weight: 800;
  line-height: 1.45;
}
.mfg-pro-bullets li:before{
  content:"";
  width:9px; height:9px;
  border-radius:999px;
  background:#10b981;
  margin-top: 6px;
  flex:0 0 auto;
}
.mfg-pro-out{
  margin-top:auto;
  padding-top: 12px;
  border-top: 1px solid rgba(15,23,42,.08);
  color: rgba(15,23,42,.74);
  font-weight: 850;
  font-size: 13px;
  line-height: 1.35;
}
.mfg-pro-out strong{ color:#0f172a; font-weight: 950; }

/* process slider */
.mfg-process{ position: relative; margin-top: 10px; --per-view: 3; }
@media (max-width: 980px){ .mfg-process{ --per-view: 2; } }
@media (max-width: 640px){ .mfg-process{ --per-view: 1; } }

.mfg-process-viewport{ overflow:hidden; padding: 6px 2px; }
.mfg-process-track{
  display:flex;
  gap:18px;
  transition: transform .55s cubic-bezier(.2,.8,.2,1);
  will-change: transform;
}
.mfg-process-slide{
  flex: 0 0 calc((100% - (18px * (var(--per-view) - 1))) / var(--per-view));
}

.mfg-process-nav{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border:1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.92);
  box-shadow: 0 8px 22px rgba(0,0,0,.10);
  color:#0b1b2b;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index: 2;
}
.mfg-process-nav.prev{ left: -8px; }
.mfg-process-nav.next{ right: -8px; }
@media (max-width: 640px){
  .mfg-process-nav.prev{ left: 0; }
  .mfg-process-nav.next{ right: 0; }
}

.mfg-process-dots{
  display:flex;
  gap:8px;
  justify-content:center;
  margin-top: 14px;
}
.mfg-process-dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border:0;
  background: rgba(11,27,43,.22);
  cursor:pointer;
}
.mfg-process-dot.is-active{ background: rgba(12,168,120,.95); width: 22px; }

@media (prefers-reduced-motion: reduce){
  .mfg-process-track{ transition:none; }
}

.mfg-process-slide .mfg-step{ transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.mfg-process-slide.is-active .mfg-step{
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(15,23,42,.10);
  border-left-color: rgba(16,185,129,.65);
}

/* --- AUTO-ADDED PATCH v4 --- */
/* Section should occupy viewport (minus header) */
.mfg-hero, .mfg-section{scroll-margin-top: calc(var(--nb-header-h) + 12px);} 
.mfg-hero .container, .mfg-section .container{width:100%;}

/* Process readability */
.mfg-process .mfg-step{padding:20px 18px; border-left:none; border-top:4px solid var(--mint);}
.mfg-process .mfg-stepnum{width:36px; height:36px; font-size:14px;}
.mfg-process .mfg-stephead strong{font-size:18px; line-height:1.25;}
.mfg-process .mfg-stephead span{font-size:14px; line-height:1.35;}
.mfg-process .mfg-bullets{margin:14px 0 10px;}
.mfg-process .mfg-bullets li{font-size:14.5px; line-height:1.45;}
.mfg-process .mfg-out{font-size:13.5px;}

/* 대표 수행 영역: 탭 글씨 확대 + 이미지 잘림 보정 */
.mfg-tab strong{font-size:18px;}
.mfg-tab small{font-size:14px;}
.mfg-tabpanel .mfg-photo{height: clamp(240px, 30vh, 340px);} 
.mfg-tabpanel .mfg-photo img{object-position:40% 50%;}

/* Responsive for process grid */
@media (max-width: 1100px){
  .mfg-stepgrid{grid-template-columns: repeat(2, minmax(0,1fr));}
  .mfg-step, .mfg-step:nth-child(4), .mfg-step:nth-child(5){grid-column:auto;}
}
@media (max-width: 700px){
  .mfg-stepgrid{grid-template-columns: 1fr;}
}
/* Process readability (new template) */
.mfg-step{padding:18px 16px; border:1px solid #E8EEF2; border-radius:18px; background:#fff; box-shadow:0 10px 28px rgba(15, 23, 42, .06); position:relative; overflow:hidden;}
.mfg-step::before{content:""; position:absolute; left:0; top:0; right:0; height:4px; background: var(--mint);}
.mfg-stephead{display:flex; gap:12px; align-items:flex-start; margin-bottom:10px;}
.mfg-stepnum{width:36px; height:36px; font-size:14px;}
.mfg-step strong{font-size:19px; line-height:1.25;}
.mfg-step span{font-size:14.5px; line-height:1.35; margin-top:2px;}
.mfg-step ul{margin:12px 0 10px;}
.mfg-step li{font-size:14.5px; line-height:1.45;}
.mfg-step .mfg-out{font-size:13.5px;}
/* Capabilities tab readability */
.mfg-tab strong{font-size:18px;}
.mfg-tab small{font-size:14px;}
.mfg-tabpanel .mfg-photo{height: clamp(240px, 30vh, 340px);}
.mfg-tabpanel .mfg-photo img{object-position:40% 50%;}

/* =============================
   Process Story ("어떻게 진행되나요?")
   - 다른 섹션(대표 수행 영역)과 완전히 다른 형식: 스토리형 캐러셀
   ============================= */

.mfg-story{
  --story-ink:#0b1220;
  --story-muted:#5c667a;
  --story-border:rgba(15,23,42,.10);
  --story-accent:rgba(18,164,120,.16);
  /* 워터마크가 카드 내부로 비쳐보이지 않도록 불투명 배경 */
  background: #fff;
  border: 1px solid var(--story-border);
  border-radius: 24px;
  box-shadow: 0 18px 45px rgba(2, 6, 23, .07);
  padding: 22px;
  overflow: hidden;
}

.mfg-story-top{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-bottom: 14px;
}

.mfg-story-kicker{
  color: var(--story-muted);
  font-size: 14px;
}

.mfg-story-progress{
  height: 10px;
  background: rgba(15,23,42,.06);
  border-radius: 999px;
  position: relative;
  overflow: hidden;
}
.mfg-story-progress-bar{
  position: absolute;
  inset: 0;
  width: 0%;
  background: linear-gradient(90deg, rgba(18,164,120,.35), rgba(18,164,120,.85));
  border-radius: 999px;
  transition: width .35s ease;
}

.mfg-story-tabs{
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 4px;
  -webkit-overflow-scrolling: touch;
}
.mfg-story-tabs::-webkit-scrollbar{height: 8px;}
.mfg-story-tabs::-webkit-scrollbar-thumb{background: rgba(15,23,42,.10); border-radius: 999px;}

.mfg-story-tab{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.86);
  color: var(--story-ink);
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
  white-space: nowrap;
}
.mfg-story-tab .num{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(15,23,42,.06);
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 12px;
}
.mfg-story-tab .txt{
  font-weight: 700;
  font-size: 13px;
}
.mfg-story-tab .sub{
  color: var(--story-muted);
  font-size: 12px;
  margin-left: 2px;
}
.mfg-story-tab:hover{transform: translateY(-1px); box-shadow: 0 10px 22px rgba(2,6,23,.08);}
.mfg-story-tab.is-active{
  border-color: rgba(18,164,120,.38);
  background: rgba(18,164,120,.10);
}
.mfg-story-tab.is-active .num{background: rgba(18,164,120,.18);}

.mfg-story-stage{
  position: relative;
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  gap: 12px;
}

.mfg-story-arrow{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.90);
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
  display: grid;
  place-items: center;
  transition: transform .18s ease, box-shadow .18s ease;
}
.mfg-story-arrow:hover{transform: translateY(-1px); box-shadow: 0 12px 24px rgba(2,6,23,.10);}

.mfg-story-viewport{
  overflow: hidden;
  border-radius: 20px;
}

.mfg-story-track{
  display: flex;
  width: 100%;
  transform: translateX(0%);
  transition: transform .45s cubic-bezier(.22,.9,.22,1);
}

.mfg-story-slide{
  flex: 0 0 100%;
  padding: 2px;
  opacity: .55;
  transform: scale(.985);
  transition: opacity .30s ease, transform .30s ease;
}
.mfg-story-slide.is-active{opacity: 1; transform: scale(1);} 

.mfg-story-card{
  position: relative;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 20px;
  padding: 30px;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 26px;
  align-items: center;
  min-height: 420px;
}

.mfg-story-water{
  position: absolute;
  top: 14px;
  right: 18px;
  font-weight: 900;
  font-size: 72px;
  letter-spacing: -0.04em;
  color: rgba(15,23,42,.06);
  pointer-events: none;
  user-select: none;
}

.mfg-story-body h3{
  margin: 0 0 10px;
  font-size: 28px;
  letter-spacing: -0.02em;
}

.mfg-story-desc{
  margin: 0 0 14px;
  color: var(--story-muted);
  line-height: 1.7;
}

.mfg-story-bullets{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.mfg-story-bullets li{
  position: relative;
  padding-left: 22px;
  color: #1f2937;
  line-height: 1.6;
}
.mfg-story-bullets li::before{
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(18,164,120,.85);
  box-shadow: 0 0 0 4px rgba(18,164,120,.14);
}

.mfg-story-out{
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed rgba(15,23,42,.14);
  color: #111827;
}

.mfg-story-illu{
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 24px;
  overflow: hidden;
  background: #eaf7f0;
  box-shadow: inset 0 0 0 1px rgba(22,27,37,.08);
}

.mfg-story-illu img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.mfg-story-illu::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(900px circle at 25% 25%, rgba(255,255,255,.35), transparent 55%),
    linear-gradient(120deg, rgba(46,204,113,.10), rgba(52,152,219,.10));
  pointer-events: none;
}


.mfg-story-foot{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
}

.mfg-story-counter{
  font-weight: 800;
  color: #111827;
}

.mfg-story-help{
  color: var(--story-muted);
  font-size: 13px;
}

@media (max-width: 980px){
  .mfg-story-stage{grid-template-columns: 40px 1fr 40px;}
  .mfg-story-card{grid-template-columns: 1fr; min-height: unset;}
  .mfg-story-illu{min-height: 240px; order: 2;}
  .mfg-story-water{font-size: 62px;}
}

@media (max-width: 560px){
  .mfg-story{padding: 16px; border-radius: 18px;}
  .mfg-story-card{padding: 18px; border-radius: 16px;}
  .mfg-story-body h3{font-size: 22px;}
  .mfg-story-kicker{font-size: 13px;}
}

/* ===============================
   사진 하단 NexusBrain 워터마크(섹션 공통)
   - 1섹션(히어로)과 동일한 크기/스타일을 재사용
   =============================== */
.mfg-photo-wrap.has-wm,
.mfg-story-illu-wrap.has-wm{
  position: relative;
  padding-bottom: 86px; /* 워터마크 자리 */
}

.mfg-photo-wrap > .mfg-photo,
.mfg-story-illu-wrap > .mfg-story-illu{
  width: 100%;
}

/* 프로세스 카드 이미지 영역이 그리드 컬럼을 유지하도록 */
.mfg-story-illu-wrap{
  height: 100%;
}
.mfg-story-illu-wrap > .mfg-story-illu{
  height: 100%;
}

@media (max-width: 860px){
  .mfg-photo-wrap,
  .mfg-story-illu-wrap{ padding-bottom: 72px; }
}
@media (max-width: 560px){
  .mfg-photo-wrap,
  .mfg-story-illu-wrap{ padding-bottom: 64px; }
}

/* FAQ는 전체 화면(min-height: 100vh) 강제하지 않기 */
.mfg-section.mfg-faq-section{
  min-height: auto;
  padding: clamp(36px, 6vh, 72px) 0;
  align-items: flex-start;
}
