@charset "utf-8";
/* =========================================================================
   제조 · OEM형 1 (oem1) — "기술 자료집"
   종이색 바탕 · 먹색 글자 · 가는 괘선 · 고정폭 라벨. 색은 신호 주황 하나만 쓴다.
   모서리는 둥글리지 않는다. 섹션은 왼쪽 목차(고정) + 오른쪽 본문의 2단 문서 구조.
   ========================================================================= */

:root{
  --om-paper:#f2f2ee;
  --om-paper2:#e9e9e3;
  --om-white:#fbfbf9;
  --om-ink:#121417;
  --om-ink2:#2b2f34;
  --om-mut:#6b6f73;
  --om-line:#cfd0c9;
  --om-line2:#b9bab2;
  --om-sig:#ff4f17;           /* 신호 주황 */
  --om-sig-d:#e03e0a;
  --om-dark:#121417;
  --om-dline:#2d3136;
  --om-wrap:1320px;
  --om-gutter:32px;
  --om-fixedh:100px;
  --om-sans:"IBM Plex Sans KR", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "맑은 고딕", sans-serif;
  --om-mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
}

*,*::before,*::after{ box-sizing:border-box; }
body{ margin:0; background:var(--om-paper); color:var(--om-ink);
  font-family:var(--om-sans); font-size:16px; line-height:1.7; letter-spacing:-.005em; -webkit-text-size-adjust:100%; }
img{ max-width:100%; height:auto; vertical-align:middle; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; }
h1,h2,h3,h4{ margin:0; line-height:1.2; letter-spacing:-.03em; word-break:keep-all; }
p{ margin:0; }
ul,ol,dl,dd{ margin:0; padding:0; list-style:none; }
table{ border-collapse:collapse; }
:focus-visible{ outline:2px solid var(--om-sig); outline-offset:2px; }

.om-skip{ position:absolute; left:-9999px; }
.om-skip:focus{ left:10px; top:10px; z-index:999; background:#fff; padding:10px 16px; }
.sound_only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }

.om-wrap{ max-width:var(--om-wrap); margin:0 auto; padding-left:var(--om-gutter); padding-right:var(--om-gutter); }
.om-ico{ width:1em; height:1em; flex:none; }
#om-main [id]{ scroll-margin-top:var(--om-fixedh); }
.om-empty{ padding:22px; border:1px dashed var(--om-line2); color:var(--om-mut); font-size:14px; }
.om-empty code{ font-family:var(--om-mono); }

.om-btn{ display:inline-flex; align-items:center; gap:12px; height:52px; padding:0 22px;
  background:var(--om-ink); color:#fff; border:1px solid var(--om-ink); font-size:15px; font-weight:600; transition:background .15s,color .15s; }
.om-btn:hover{ background:var(--om-sig); border-color:var(--om-sig); }
.om-btn--line{ background:transparent; color:var(--om-ink); }
.om-btn--line:hover{ background:var(--om-ink); border-color:var(--om-ink); color:#fff; }

/* 고정 헤더 ------------------------------------------------------------- */
.om-fixed{ position:fixed; inset:0 0 auto; z-index:60; background:var(--om-paper); border-bottom:1px solid var(--om-ink); }
.om-demo{ display:flex; flex-wrap:wrap; justify-content:center; gap:4px 18px; padding:6px 16px; background:var(--om-sig); color:#fff; font-size:12.5px; }
.om-demo a{ font-weight:700; border-bottom:1px solid rgba(255,255,255,.6); }
.om-ticker{ background:var(--om-ink); color:#a9adb2; font-family:var(--om-mono); font-size:11.5px; letter-spacing:.04em; }
.om-ticker__in{ display:flex; align-items:center; gap:0; height:28px; overflow:hidden; white-space:nowrap; }
.om-ticker__in>span{ padding:0 14px; border-left:1px solid var(--om-dline); }
.om-ticker__in>span:first-child{ padding-left:0; border-left:0; }
.om-ticker__live{ display:inline-flex; align-items:center; gap:7px; color:#fff; }
.om-ticker__live i{ width:7px; height:7px; background:var(--om-sig); animation:om-blink 1.6s steps(1) infinite; }
.om-ticker__tel{ margin-left:auto; padding-right:0 !important; color:#fff; border-left:0 !important; }
@keyframes om-blink{ 50%{ opacity:0; } }

.om-header__in{ display:flex; align-items:stretch; height:64px; }
.om-logo{ display:flex; align-items:center; gap:12px; padding-right:28px; border-right:1px solid var(--om-line); }
.om-logo__mark{ display:grid; place-items:center; width:38px; height:38px; background:var(--om-ink); color:var(--om-paper);
  font-family:var(--om-mono); font-size:14px; font-weight:500; letter-spacing:-.02em; }
.om-logo__txt{ display:flex; flex-direction:column; line-height:1.1; }
.om-logo__txt strong{ font-size:18px; font-weight:700; letter-spacing:-.04em; }
.om-logo__txt small{ font-family:var(--om-mono); font-size:10px; letter-spacing:.14em; color:var(--om-mut); }
.om-gnb{ display:flex; margin-left:auto; }
.om-gnb>ul{ display:flex; }
.om-gnb>ul>li{ position:relative; border-left:1px solid var(--om-line); }
.om-gnb>ul>li>a{ display:flex; align-items:center; gap:8px; height:100%; padding:0 20px; font-size:15px; font-weight:500; transition:background .15s; }
.om-gnb>ul>li>a small{ font-family:var(--om-mono); font-size:10.5px; color:var(--om-mut); }
.om-gnb>ul>li:hover>a,.om-gnb>ul>li:focus-within>a{ background:var(--om-white); }
.om-gnb li ul{ position:absolute; left:-1px; top:100%; min-width:calc(100% + 2px); background:var(--om-white);
  border:1px solid var(--om-ink); opacity:0; visibility:hidden; transform:translateY(4px); transition:.15s; }
.om-gnb li:hover ul,.om-gnb li:focus-within ul{ opacity:1; visibility:visible; transform:none; }
.om-gnb li ul li+li{ border-top:1px solid var(--om-line); }
.om-gnb li ul a{ display:block; padding:11px 20px; font-size:14px; white-space:nowrap; }
.om-gnb li ul a:hover{ background:var(--om-ink); color:#fff; }
.om-gnb__empty{ align-self:center; padding:0 16px; font-size:13px; color:var(--om-mut); }
.om-gnb__empty a{ text-decoration:underline; }
.om-headcta{ display:flex; align-items:center; gap:10px; padding:0 24px; background:var(--om-sig); color:#fff; font-size:15px; font-weight:600; white-space:nowrap; }
.om-headcta:hover{ background:var(--om-ink); }
.om-burger{ display:none; width:64px; margin-right:calc(var(--om-gutter) * -1); border:0; border-left:1px solid var(--om-ink); background:transparent; }
.om-burger span{ display:block; width:22px; height:2px; margin:6px auto; background:var(--om-ink); }

/* 드로어 ---------------------------------------------------------------- */
.om-drawer{ position:fixed; inset:0; z-index:80; background:var(--om-ink); color:#fff; overflow-y:auto; }
.om-drawer__panel{ min-height:100%; padding:0 var(--om-gutter) 40px; }
.om-drawer__top{ display:flex; justify-content:space-between; align-items:center; height:64px; border-bottom:1px solid var(--om-dline);
  font-family:var(--om-mono); font-size:12px; letter-spacing:.14em; color:#8b9095; }
.om-drawer__close{ border:0; background:transparent; color:#fff; font-family:var(--om-mono); font-size:12px; letter-spacing:.1em; padding:10px 0; }
.om-drawer ol>li{ border-bottom:1px solid var(--om-dline); }
.om-drawer ol>li>a{ display:flex; align-items:baseline; gap:14px; padding:18px 0; font-size:24px; font-weight:600; letter-spacing:-.03em; }
.om-drawer ol>li>a small{ font-family:var(--om-mono); font-size:12px; color:var(--om-sig); }
.om-drawer ol ul{ display:flex; flex-wrap:wrap; gap:4px 18px; padding:0 0 16px 34px; }
.om-drawer ol ul a{ font-size:14.5px; color:#a9adb2; }
.om-drawer__cta{ display:flex; justify-content:space-between; align-items:center; margin-top:28px; padding:18px 20px; background:var(--om-sig); font-size:17px; font-weight:600; }
.om-drawer__tel{ display:block; margin-top:14px; font-family:var(--om-mono); font-size:15px; color:#a9adb2; }

/* 서브 페이지 ----------------------------------------------------------- */
.om-sbanner{ padding-top:var(--om-fixedh); border-bottom:1px solid var(--om-ink);
  background:repeating-linear-gradient(90deg, transparent 0 calc(100% / 12 - 1px), var(--om-line) calc(100% / 12 - 1px) calc(100% / 12)) , var(--om-paper); }
.om-sbanner__in{ display:grid; grid-template-columns:1fr auto; align-items:end; gap:10px 24px; padding-top:56px; padding-bottom:28px; }
.om-sbanner__code{ grid-column:1 / -1; font-family:var(--om-mono); font-size:12px; letter-spacing:.14em; color:var(--om-sig); }
.om-sbanner h1{ font-size:clamp(32px,4.4vw,56px); font-weight:600; }
.om-sbanner__path{ font-family:var(--om-mono); font-size:12px; color:var(--om-mut); }
.om-sub{ padding:48px 0 110px; }
/* 게시판 본문 안의 표 · 소제목 — 제형 상세 페이지를 규격표처럼 */
.om-sub #bo_v_con h3{ margin:34px 0 10px; padding-top:12px; border-top:1px solid var(--om-ink); font-size:18px; font-weight:600; }
.om-sub #bo_v_con table{ width:100%; margin:0 0 8px; font-size:15px; border-top:1px solid var(--om-ink); }
.om-sub #bo_v_con th,.om-sub #bo_v_con td{ padding:11px 12px; border-bottom:1px solid var(--om-line2); text-align:left; vertical-align:top; }
.om-sub #bo_v_con th{ width:30%; font-family:var(--om-mono); font-size:13px; font-weight:400; color:var(--om-mut); white-space:nowrap; }
.om-sub #bo_v_con ul{ padding-left:0; }
.om-sub #bo_v_con li{ position:relative; padding:8px 0 8px 22px; border-bottom:1px solid var(--om-line); list-style:none; }
.om-sub #bo_v_con li::before{ content:"—"; position:absolute; left:0; color:var(--om-sig); }

/* 00. 첫 화면 ----------------------------------------------------------- */
.om-hero{ padding-top:var(--om-fixedh);
  background:repeating-linear-gradient(90deg, transparent 0 calc(100% / 12 - 1px), var(--om-line) calc(100% / 12 - 1px) calc(100% / 12)), var(--om-paper); }
.om-hero>.om-wrap{ background:inherit; }
.om-hero__meta{ display:flex; justify-content:space-between; gap:12px; padding:18px 0; border-bottom:1px solid var(--om-line2);
  font-family:var(--om-mono); font-size:12px; letter-spacing:.08em; color:var(--om-mut); }
.om-hero__head{ padding:54px 0 30px; font-size:clamp(40px,6.6vw,92px); font-weight:600; line-height:1.06; letter-spacing:-.05em; }
.om-hero__sub{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding-bottom:40px; }
.om-hero__sub p{ word-break:keep-all; flex:1 1 360px; max-width:520px; margin-right:auto; font-size:17px; color:var(--om-ink2); }

.om-doors{ display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--om-ink); border-left:1px solid var(--om-ink); }
.om-door{ position:relative; display:grid; grid-template-columns:auto 1fr auto; grid-template-rows:auto 1fr auto auto; column-gap:14px;
  min-height:420px; padding:22px 24px 26px; border-right:1px solid var(--om-ink); border-bottom:1px solid var(--om-ink);
  color:#fff; overflow:hidden; isolation:isolate; background:var(--om-ink); }
.om-door img{ position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.05); opacity:.62;
  transition:filter .35s, opacity .35s, transform .6s; }
.om-door::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(18,20,23,.55),rgba(18,20,23,.05) 40%,rgba(18,20,23,.85)); }
.om-door:hover img{ filter:none; opacity:.9; transform:scale(1.03); }
.om-door__code{ grid-row:1; display:grid; place-items:center; width:34px; height:34px; border:1px solid #fff; font-family:var(--om-mono); font-size:14px; }
.om-door__en{ grid-row:1; grid-column:2; align-self:center; font-family:var(--om-mono); font-size:12px; letter-spacing:.18em; }
.om-door strong{ grid-row:3; grid-column:1 / 3; font-size:clamp(28px,3.2vw,42px); font-weight:600; letter-spacing:-.04em; }
.om-door__desc{ grid-row:4; grid-column:1 / 3; margin-top:6px; font-size:15px; color:#d6d8da; }
.om-door__go{ grid-row:3 / 5; grid-column:3; align-self:end; display:grid; place-items:center; width:56px; height:56px; background:var(--om-sig); transition:transform .2s; }
.om-door__go .om-ico{ width:24px; height:24px; }
.om-door:hover .om-door__go{ transform:translateX(4px); }

/* 규모 ------------------------------------------------------------------ */
.om-stats{ background:var(--om-ink); color:#fff; }
.om-stats__in{ display:grid; grid-template-columns:repeat(5,1fr); }
.om-stats__in>div{ padding:26px 22px 30px; border-left:1px solid var(--om-dline); }
.om-stats__in>div:first-child{ border-left:0; padding-left:0; }
.om-stats dt{ font-family:var(--om-mono); font-size:11.5px; letter-spacing:.1em; color:#8b9095; }
.om-stats dd{ margin-top:8px; font-size:clamp(28px,3.2vw,44px); font-weight:600; letter-spacing:-.04em; line-height:1; font-variant-numeric:tabular-nums; }
.om-stats dd small{ margin-left:4px; font-family:var(--om-mono); font-size:14px; font-weight:400; color:var(--om-sig); letter-spacing:0; }

/* 섹션 공통 — 왼쪽 목차 + 오른쪽 본문 ---------------------------------- */
.om-sec{ padding:0; border-bottom:1px solid var(--om-ink); }
.om-sec--grid{ background:var(--om-paper2); }
.om-sec__in{ display:grid; grid-template-columns:4fr 8fr; }
.om-sec__hd{ padding:72px 40px 72px 0; border-right:1px solid var(--om-line2); }
.om-sec__hd>*{ position:relative; }
.om-sec__hd h2{ font-size:clamp(30px,3.4vw,46px); font-weight:600; letter-spacing:-.045em; }
.om-sec__hd>p:not(.om-idx){ margin-top:18px; color:var(--om-mut); font-size:15.5px; }
@media (min-width:1025px){
  .om-sec__hd>.om-idx,.om-sec__hd>h2,.om-sec__hd>p{ position:sticky; }
  .om-sec__hd>.om-idx{ top:calc(var(--om-fixedh) + 40px); }
}
.om-idx{ display:inline-flex; align-items:center; gap:10px; margin-bottom:20px; font-family:var(--om-mono); font-size:12px; letter-spacing:.12em; color:var(--om-sig); }
.om-idx::before{ content:""; width:22px; height:1px; background:currentColor; }
.om-sec__body{ min-width:0; padding:72px 0 72px 40px; }
.om-note{ margin-top:14px; font-size:13px; color:var(--om-mut); }

/* 01. 제형 규격표 ------------------------------------------------------- */
.om-filter{ display:flex; flex-wrap:wrap; margin-bottom:-1px; }
.om-filter button{ height:44px; padding:0 18px; border:1px solid var(--om-ink); margin-right:-1px; background:transparent; font-size:14.5px; cursor:pointer; }
.om-filter button small{ margin-left:4px; font-family:var(--om-mono); font-size:11.5px; color:var(--om-mut); }
.om-filter button.is-on{ background:var(--om-ink); color:#fff; }
.om-filter button.is-on small{ color:var(--om-sig); }
.om-spec{ border-top:1px solid var(--om-ink); }
.om-spec table{ width:100%; font-size:14.5px; }
.om-spec thead th{ padding:10px 12px; border-bottom:1px solid var(--om-ink); text-align:left; font-family:var(--om-mono); font-size:11.5px; font-weight:400; letter-spacing:.08em; color:var(--om-mut); white-space:nowrap; }
.om-spec tbody tr{ border-bottom:1px solid var(--om-line); transition:background .12s; }
.om-spec tbody tr:hover{ background:var(--om-white); }
.om-spec tbody tr[hidden]{ display:none; }
.om-spec td,.om-spec tbody th{ padding:10px 12px; text-align:left; vertical-align:middle; }
.om-spec tbody th a{ display:flex; align-items:center; gap:14px; font-size:16px; font-weight:600; }
.om-spec tbody th img{ width:64px; height:48px; object-fit:cover; filter:grayscale(1); transition:filter .2s; }
.om-spec tbody tr:hover th img{ filter:none; }
.om-spec tbody th a:hover span{ color:var(--om-sig); text-decoration:underline; text-underline-offset:3px; }
.om-spec__no{ font-family:var(--om-mono); font-size:12px; color:var(--om-mut); }
.om-spec__cate{ font-size:13px; color:var(--om-mut); white-space:nowrap; }
.om-spec__num{ font-family:var(--om-mono); font-size:14px; white-space:nowrap; }
.om-spec__items{ font-size:13.5px; color:var(--om-ink2); }

/* 02. 개발 일정 --------------------------------------------------------- */
.om-gantt{ --om-labelw:230px; border-top:1px solid var(--om-ink); }
.om-gantt__head{ display:grid; grid-template-columns:var(--om-labelw) repeat(var(--om-weeks),1fr); border-bottom:1px solid var(--om-ink); }
.om-gantt__head span{ padding:8px 0; text-align:center; font-family:var(--om-mono); font-size:11px; color:var(--om-mut); }
.om-gantt li{ display:grid; grid-template-columns:var(--om-labelw) 1fr; border-bottom:1px solid var(--om-line2); }
.om-gantt__label{ display:grid; grid-template-columns:auto 1fr; column-gap:10px; padding:14px 16px 14px 0; }
.om-gantt__label small{ grid-row:span 2; font-family:var(--om-mono); font-size:12px; color:var(--om-sig); padding-top:3px; }
.om-gantt__label b{ font-size:15.5px; font-weight:600; }
.om-gantt__label span{ font-size:12.5px; color:var(--om-mut); line-height:1.5; }
.om-gantt__track{ display:grid; grid-template-columns:repeat(var(--om-weeks),1fr); align-items:center;
  background:repeating-linear-gradient(90deg, transparent 0 calc(100% / var(--om-weeks) - 1px), var(--om-line) calc(100% / var(--om-weeks) - 1px) calc(100% / var(--om-weeks))); }
.om-gantt__bar{ grid-row:1; display:flex; align-items:center; height:30px; padding:0 8px; background:var(--om-ink); color:#fff;
  font-family:var(--om-mono); font-size:11px; white-space:nowrap; overflow:hidden; transform-origin:left; }
.om-gantt li:nth-child(2) .om-gantt__bar,.om-gantt li:nth-child(5) .om-gantt__bar{ background:var(--om-sig); }
.om-gantt.is-anim .om-gantt__bar{ animation:om-grow .7s cubic-bezier(.2,.7,.2,1) both; }
.om-gantt.is-anim li:nth-child(2) .om-gantt__bar{ animation-delay:.08s; }
.om-gantt.is-anim li:nth-child(3) .om-gantt__bar{ animation-delay:.16s; }
.om-gantt.is-anim li:nth-child(4) .om-gantt__bar{ animation-delay:.24s; }
.om-gantt.is-anim li:nth-child(5) .om-gantt__bar{ animation-delay:.32s; }
.om-gantt.is-anim li:nth-child(6) .om-gantt__bar{ animation-delay:.40s; }
@keyframes om-grow{ from{ transform:scaleX(0); } }

/* 03. 품질 · 설비 (어두운 판) ------------------------------------------ */
.om-sec--dark{ background:var(--om-dark); color:#e6e7e8; border-bottom-color:var(--om-dark); }
.om-sec--dark .om-sec__hd{ border-right-color:var(--om-dline); }
.om-sec--dark .om-sec__hd>p:not(.om-idx){ color:#9ba0a5; }
.om-qual__ph{ display:block; width:100%; margin-top:36px; aspect-ratio:4/3; object-fit:cover; filter:grayscale(1) contrast(1.1); }
.om-certs{ display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #fff; border-left:1px solid var(--om-dline); }
.om-certs li{ display:flex; flex-direction:column; padding:18px 16px 20px; border-right:1px solid var(--om-dline); border-bottom:1px solid var(--om-dline); }
.om-certs__code{ margin-bottom:26px; font-family:var(--om-mono); font-size:26px; letter-spacing:-.02em; color:var(--om-sig); }
.om-certs b{ font-size:14.5px; font-weight:600; line-height:1.45; }
.om-certs small{ margin-top:4px; font-size:12.5px; color:#9ba0a5; }
.om-fac{ width:100%; margin-top:36px; font-size:14.5px; }
.om-fac caption{ padding-bottom:10px; text-align:left; font-family:var(--om-mono); font-size:12px; letter-spacing:.1em; color:#9ba0a5; }
.om-fac thead th{ padding:9px 12px; border-top:1px solid #fff; border-bottom:1px solid var(--om-dline); text-align:left; font-family:var(--om-mono); font-size:11px; font-weight:400; color:#9ba0a5; }
.om-fac td,.om-fac tbody th{ padding:12px; border-bottom:1px solid var(--om-dline); text-align:left; font-weight:400; }
.om-fac tbody th{ font-weight:600; color:#fff; }
.om-fac td:first-child{ width:70px; font-size:12.5px; color:#9ba0a5; }
.om-fac td:last-child{ font-family:var(--om-mono); font-size:13.5px; }
.om-qual__strip{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:36px; background:var(--om-dline); }
.om-qual__strip img{ width:100%; aspect-ratio:4/3; object-fit:cover; }

/* 04. 원료 — 원소표 ----------------------------------------------------- */
.om-rnd__ph{ display:block; width:100%; max-width:320px; margin-top:36px; aspect-ratio:3/4; object-fit:cover; filter:grayscale(1); }
.om-elem{ display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--om-ink); border-left:1px solid var(--om-ink); }
.om-elem li{ position:relative; display:flex; flex-direction:column; min-height:220px; padding:14px 16px 18px; border-right:1px solid var(--om-ink); border-bottom:1px solid var(--om-ink); background:var(--om-white); transition:background .15s,color .15s; }
.om-elem li:hover{ background:var(--om-ink); color:#fff; }
.om-elem small{ font-family:var(--om-mono); font-size:12px; color:var(--om-mut); }
.om-elem b{ margin:10px 0 auto; font-size:58px; font-weight:500; line-height:1; letter-spacing:-.04em; }
.om-elem li:hover b{ color:var(--om-sig); }
.om-elem strong{ margin-top:18px; font-size:15.5px; font-weight:600; }
.om-elem span{ margin-top:4px; font-size:13px; color:var(--om-mut); line-height:1.55; }
.om-elem li:hover span,.om-elem li:hover small{ color:#a9adb2; }

/* 05. 거래처 · 소식 ----------------------------------------------------- */
.om-clients{ display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--om-ink); border-left:1px solid var(--om-line2); }
.om-clients li{ display:grid; place-items:center; height:92px; border-right:1px solid var(--om-line2); border-bottom:1px solid var(--om-line2);
  font-family:var(--om-mono); font-size:15px; font-weight:500; letter-spacing:.06em; color:var(--om-ink2); text-align:center; }
.om-news{ margin-top:48px; }
.om-news__hd{ display:flex; justify-content:space-between; align-items:baseline; padding-bottom:10px; border-bottom:1px solid var(--om-ink); }
.om-news__hd h3{ font-size:19px; font-weight:600; }
.om-news__hd a{ display:inline-flex; align-items:center; gap:8px; font-size:14px; }
.om-news__hd a:hover{ color:var(--om-sig); }
.om-news li a{ display:grid; grid-template-columns:96px auto 1fr; gap:14px; align-items:baseline; padding:15px 0; border-bottom:1px solid var(--om-line2); }
.om-news time{ font-family:var(--om-mono); font-size:12.5px; color:var(--om-mut); }
.om-news li span{ padding:1px 7px; border:1px solid var(--om-line2); font-size:11.5px; color:var(--om-mut); white-space:nowrap; }
.om-news li b{ font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.om-news li a:hover b{ color:var(--om-sig); }

/* 06. FAQ --------------------------------------------------------------- */
.om-faq{ border-top:1px solid var(--om-ink); }
.om-faq details{ border-bottom:1px solid var(--om-line2); }
.om-faq summary{ display:grid; grid-template-columns:52px 1fr 24px; align-items:center; gap:10px; padding:20px 0; cursor:pointer; list-style:none; }
.om-faq summary::-webkit-details-marker{ display:none; }
.om-faq summary small{ font-family:var(--om-mono); font-size:12px; color:var(--om-sig); }
.om-faq summary h3{ font-size:17.5px; font-weight:600; letter-spacing:-.02em; }
.om-faq summary .om-ico{ width:20px; height:20px; transition:transform .2s; }
.om-faq details[open] summary .om-ico{ transform:rotate(45deg); }
.om-faq details p{ padding:0 34px 22px 62px; color:var(--om-ink2); font-size:15px; }

/* 07. 견적 요청서 ------------------------------------------------------- */
.om-quote{ background:var(--om-white); }
.om-quote__note{ margin-top:26px; border-top:1px solid var(--om-line2); }
.om-quote__note li{ padding:10px 0 10px 20px; border-bottom:1px solid var(--om-line2); font-size:13.5px; color:var(--om-mut); position:relative; }
.om-quote__note li::before{ content:"—"; position:absolute; left:0; color:var(--om-sig); }
.om-quote__contact{ margin-top:26px; }
.om-quote__contact>div{ display:flex; gap:14px; padding:4px 0; }
.om-quote__contact dt{ width:44px; font-family:var(--om-mono); font-size:12px; color:var(--om-mut); padding-top:4px; }
.om-quote__contact dd{ font-size:18px; font-weight:600; }
.om-quote__contact a:hover{ color:var(--om-sig); }

.om-form{ display:grid; gap:0; }
.om-form__done{ display:flex; align-items:center; gap:10px; margin-bottom:24px; padding:14px 16px; border:1px solid var(--om-ink); background:var(--om-ink); color:#fff; font-weight:600; }
.om-form__done .om-ico{ color:var(--om-sig); width:20px; height:20px; }
.om-form__set{ min-width:0; margin:0 0 30px; padding:0; border:0; }
.om-form__legend{ display:flex; align-items:center; gap:10px; padding:0 0 10px; font-size:14px; font-weight:600; }
.om-form__grid{ display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--om-ink); border-left:1px solid var(--om-line2); }
.om-form__legend span{ display:grid; place-items:center; width:22px; height:22px; background:var(--om-ink); color:#fff; font-family:var(--om-mono); font-size:12px; font-weight:400; }
.om-form__row{ display:flex; flex-direction:column; gap:6px; padding:14px 16px 16px; border-right:1px solid var(--om-line2); border-bottom:1px solid var(--om-line2); }
.om-form__row.is-wide{ grid-column:1 / -1; }
.om-form__row label,.om-form__lb{ font-family:var(--om-mono); font-size:11.5px; letter-spacing:.04em; color:var(--om-mut); }
.om-form__row label b,.om-form__lb b{ color:var(--om-sig); font-weight:400; }
.om-form input[type=text],.om-form input[type=tel],.om-form input[type=email],.om-form select,.om-form textarea{
  width:100%; padding:6px 0 7px; border:0; border-bottom:1px solid var(--om-line2); border-radius:0; background:transparent;
  font:inherit; font-size:16px; color:var(--om-ink); -webkit-appearance:none; appearance:none; }
.om-form select{ background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6' fill='%23121417'/%3E%3C/svg%3E") right 2px center no-repeat; padding-right:18px; }
.om-form textarea{ resize:vertical; line-height:1.65; }
.om-form input:focus,.om-form select:focus,.om-form textarea:focus{ outline:none; border-bottom-color:var(--om-sig); box-shadow:0 1px 0 var(--om-sig); }
.om-form input[type=file]{ font-size:13.5px; }
.om-form input[type=file]::file-selector-button{ margin-right:12px; padding:7px 14px; border:1px solid var(--om-ink); background:transparent; font:inherit; cursor:pointer; }
.om-form__seg{ display:flex; flex-wrap:wrap; }
.om-form__seg label{ position:relative; margin:0 -1px -1px 0; font-family:var(--om-sans); font-size:14.5px; color:var(--om-ink); letter-spacing:0; }
.om-form__seg input{ position:absolute; opacity:0; }
.om-form__seg span{ display:block; padding:8px 14px; border:1px solid var(--om-line2); cursor:pointer; }
.om-form__seg input:checked+span{ background:var(--om-ink); border-color:var(--om-ink); color:#fff; }
.om-form__seg input:focus-visible+span{ outline:2px solid var(--om-sig); outline-offset:1px; }
.om-form__checks{ display:flex; flex-wrap:wrap; gap:8px 22px; }
.om-form__checks label{ display:inline-flex; align-items:center; gap:7px; font-family:var(--om-sans); font-size:14.5px; color:var(--om-ink); letter-spacing:0; }
.om-form input[type=checkbox]{ width:16px; height:16px; accent-color:var(--om-ink); }
.om-form__captcha #captcha{ margin-top:4px; }
.om-form__agree{ font-size:13.5px; color:var(--om-mut); }
.om-form__agree label{ display:inline-flex; align-items:center; gap:8px; font-weight:600; color:var(--om-ink); }
.om-form__agree>a{ margin-left:10px; text-decoration:underline; }
.om-form__agree p{ margin-top:6px; font-size:12.5px; }
.om-form__err{ margin:16px 0 0; padding:11px 14px; border-left:3px solid var(--om-sig); background:#fde8e0; color:#9b2d08; font-size:14px; font-weight:600; }
.om-form__submit{ display:flex; justify-content:space-between; align-items:center; margin-top:22px; height:68px; padding:0 26px;
  border:0; background:var(--om-sig); color:#fff; font-size:18px; font-weight:600; cursor:pointer; transition:background .15s; }
.om-form__submit .om-ico{ width:26px; height:26px; }
.om-form__submit:hover{ background:var(--om-ink); }
.om-form__submit:disabled{ background:var(--om-mut); cursor:default; }

/* 08. 오시는 길 --------------------------------------------------------- */
.om-visit__grid{ display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--om-ink); border-left:1px solid var(--om-line2); }
.om-visit__grid>div{ display:flex; flex-direction:column; padding:20px 20px 24px; border-right:1px solid var(--om-line2); border-bottom:1px solid var(--om-line2); }
.om-visit__grid small{ font-family:var(--om-mono); font-size:11.5px; letter-spacing:.12em; color:var(--om-sig); }
.om-visit__grid b{ margin-top:14px; font-size:19px; font-weight:600; }
.om-visit__grid p{ margin-top:4px; color:var(--om-ink2); }
.om-visit__grid a{ margin-top:14px; font-size:14px; text-decoration:underline; text-underline-offset:3px; }
.om-visit__grid a:hover{ color:var(--om-sig); }

/* 푸터 ------------------------------------------------------------------ */
.om-footer{ background:var(--om-ink); color:#9ba0a5; font-size:14px; }
.om-footer__top{ display:grid; grid-template-columns:8fr 4fr; border-bottom:1px solid var(--om-dline); }
.om-footer__rfq{ display:block; padding:54px 40px 54px 0; border-right:1px solid var(--om-dline); color:#fff; }
.om-footer__rfq small{ font-family:var(--om-mono); font-size:12px; letter-spacing:.14em; color:var(--om-sig); }
.om-footer__rfq span{ display:flex; align-items:center; gap:18px; margin-top:10px; font-size:clamp(28px,4vw,54px); font-weight:600; letter-spacing:-.045em; line-height:1.1; }
.om-footer__rfq span .om-ico{ width:.8em; height:.8em; transition:transform .2s; }
.om-footer__rfq:hover span{ color:var(--om-sig); }
.om-footer__rfq:hover .om-ico{ transform:translateX(8px); }
.om-footer__contact{ align-self:center; padding:30px 0 30px 40px; }
.om-footer__contact>div{ display:flex; gap:14px; padding:6px 0; }
.om-footer__contact dt{ width:44px; font-family:var(--om-mono); font-size:12px; padding-top:3px; }
.om-footer__contact dd{ color:#fff; font-size:16px; }
.om-footer__mid{ display:grid; grid-template-columns:4fr 8fr; gap:40px; padding:36px 0 44px; }
.om-footer__brand strong{ display:block; font-family:var(--om-mono); font-size:20px; font-weight:500; letter-spacing:.06em; color:#fff; }
.om-footer__brand p{ margin:8px 0 14px; }
.om-footer__nav{ display:flex; flex-wrap:wrap; gap:6px 22px; margin-bottom:12px; }
.om-footer__nav a:hover{ color:#fff; }
.om-footer__nav b{ color:#e6e7e8; font-weight:600; }
.om-footer__co{ font-size:13px; line-height:1.85; }
.om-footer__co a{ color:var(--om-sig); text-decoration:underline; }
.om-footer__copy{ margin-top:12px; font-family:var(--om-mono); font-size:11.5px; color:#6d7277; }

/* 모바일 하단 버튼 ------------------------------------------------------ */
.om-dock{ display:none; position:fixed; left:0; right:0; bottom:0; z-index:70; justify-content:space-between; align-items:center;
  height:58px; padding:0 20px calc(env(safe-area-inset-bottom,0px)); background:var(--om-sig); color:#fff; font-size:16px; font-weight:600;
  transition:transform .25s ease; }
.om-dock .om-ico{ width:22px; height:22px; }
.om-dock.is-off{ transform:translateY(110%); }

/* 반응형 ---------------------------------------------------------------- */
@media (max-width:1200px){
  .om-gnb>ul>li>a{ padding:0 14px; font-size:14.5px; }
  .om-gnb>ul>li>a small{ display:none; }
}
@media (max-width:1024px){
  :root{ --om-gutter:24px; }
  .om-gnb,.om-headcta{ display:none; }
  .om-burger{ display:block; margin-left:auto; }
  .om-dock{ display:flex; }
  body{ padding-bottom:58px; }
  .om-logo{ border-right:0; }
  .om-sec__in{ grid-template-columns:1fr; }
  .om-sec__hd{ padding:56px 0 0; border-right:0; }
  .om-sec__body{ padding:32px 0 60px; }
  .om-qual__ph,.om-rnd__ph{ display:none; }
  .om-stats__in{ grid-template-columns:repeat(3,1fr); }
  .om-stats__in>div:nth-child(4){ border-left:0; padding-left:0; }
  .om-stats__in>div:nth-child(n+4){ border-top:1px solid var(--om-dline); }
  .om-certs{ grid-template-columns:1fr 1fr; }
  .om-footer__top,.om-footer__mid{ grid-template-columns:1fr; gap:0; }
  .om-footer__rfq{ padding:40px 0; border-right:0; border-bottom:1px solid var(--om-dline); }
  .om-footer__contact{ padding:22px 0; }
  .om-footer__mid{ gap:22px; }
}
@media (max-width:760px){
  .om-hero__head{ padding:36px 0 20px; }
  .om-hero__meta span:last-child{ display:none; }
  .om-doors{ grid-template-columns:1fr; }
  .om-door{ min-height:300px; }
  .om-stats__in{ grid-template-columns:1fr 1fr; }
  .om-stats__in>div{ padding:20px 14px 22px; }
  .om-stats__in>div:nth-child(odd){ border-left:0; padding-left:0; }
  .om-stats__in>div:nth-child(4){ border-left:1px solid var(--om-dline); padding-left:14px; }
  .om-stats__in>div:nth-child(n+3){ border-top:1px solid var(--om-dline); }
  .om-stats__in>div:last-child{ grid-column:1 / -1; }

  /* 규격표 → 카드형 줄 */
  .om-spec thead{ display:none; }
  .om-spec table,.om-spec tbody,.om-spec tr,.om-spec td,.om-spec tbody th{ display:block; }
  .om-spec tbody tr{ display:grid; grid-template-columns:1fr 1fr; padding:14px 0; }
  .om-spec tbody tr[hidden]{ display:none; }
  .om-spec td,.om-spec tbody th{ padding:3px 0; }
  .om-spec__no{ display:none !important; }
  .om-spec tbody th{ grid-column:1 / -1; margin-bottom:8px; }
  .om-spec__cate{ grid-column:1 / -1; order:-1; }
  .om-spec__num::before,.om-spec__items::before{ content:attr(data-label); display:block; font-family:var(--om-mono); font-size:10.5px; color:var(--om-mut); }
  .om-spec__items{ grid-column:1 / -1; margin-top:6px; }

  /* 일정표 → 세로 목록 + 막대 */
  .om-gantt{ --om-labelw:0px; }
  .om-gantt__head{ grid-template-columns:repeat(var(--om-weeks),1fr); }
  .om-gantt__head span:first-child{ display:none; }
  .om-gantt__head span{ font-size:9px; }
  .om-gantt li{ grid-template-columns:1fr; padding-bottom:12px; }
  .om-gantt__label{ padding:12px 0 8px; }
  .om-gantt__bar{ height:22px; font-size:10px; padding:0 5px; }

  .om-certs{ grid-template-columns:1fr 1fr; }
  .om-certs__code{ font-size:20px; margin-bottom:16px; }
  .om-fac td:first-child{ display:none; }
  .om-qual__strip{ grid-template-columns:1fr 1fr; }
  .om-qual__strip img:nth-child(3){ display:none; }
  .om-elem{ grid-template-columns:1fr 1fr; }
  .om-elem li{ min-height:180px; }
  .om-elem b{ font-size:42px; }
  .om-clients{ grid-template-columns:1fr 1fr; }
  .om-clients li{ height:70px; font-size:13px; }
  .om-news li a{ grid-template-columns:auto 1fr; }
  .om-news li span{ display:none; }
  .om-faq summary{ grid-template-columns:40px 1fr 20px; }
  .om-faq summary h3{ font-size:16px; }
  .om-faq details p{ padding:0 0 20px 50px; }
  .om-form__grid{ grid-template-columns:1fr; }
  .om-visit__grid{ grid-template-columns:1fr; }
  .om-sbanner__in{ grid-template-columns:1fr; }
}
@media (max-width:480px){
  :root{ --om-gutter:16px; }
  .om-ticker__in>span:nth-child(n+3):not(.om-ticker__tel){ display:none; }
  .om-logo__txt small{ display:none; }
  .om-hero__sub .om-btn{ flex:1 1 100%; justify-content:space-between; }
  .om-elem li{ padding:12px; }
  .om-elem b{ font-size:34px; }
}
@media (prefers-reduced-motion:reduce){
  .om-ticker__live i,.om-gantt.is-anim .om-gantt__bar{ animation:none; }
  .om-door img,.om-dock{ transition:none; }
}
