@charset "utf-8";
/* ============================================================
   SEMIWON FOOD — sub.css
   COMPANY / BRAND / PRODUCT / NEWS / CONTACT 페이지
   ============================================================ */

/* ============================================================
   COMPANY — 경영이념
   ============================================================ */
.about {
  display: grid;
  grid-template-columns: 1.12fr 0.88fr;
  gap: 3.5rem;
  align-items: start;
}
.about .eyebrow {
  font-size: calc(var(--u) * 7.725);            /* 10.5px */
  font-weight: 600; color: #0A4238;
}
.about__title {
  margin-top: 0.5rem;
  font-size: calc(var(--u) * 30.9);              /* 42px : 페이지 최대 */
  font-weight: 800; line-height: 1.32; letter-spacing: -0.04em;
  color: #18211E;
}
.about__title .accent { color: #1E5040; }
.about__text p {
  margin-top: 1.5rem;
  max-width: 28rem;               /* 560px — 시안 줄바꿈 폭 */
  font-size: calc(var(--u) * 11.7714);              /* 16px */
  line-height: 1.95; color: #6A7370;
}
.about__text .btn {
  margin-top: 2.6rem;
  background: #fff;
  border: 1px solid #1E5040;
  font-size: calc(var(--u) * 10.3);              /* 14px */
  font-weight: 500; color: #1E5040;
}
.about__text .btn:hover { background: var(--green-050); }
.about__img .ph { aspect-ratio: 3/4; border-radius: var(--r-img); }

@media (max-width: 990px) {
  /* 시안 : 텍스트 먼저, 이미지는 그 아래 */
  .about { grid-template-columns: 1fr; gap: calc(var(--u) * 24); }
  .section > .container.about { padding-inline: calc(var(--u) * 36); }   /* 시안 실측 */
  .about__title { font-size: calc(var(--u) * 25.4); line-height: 1.3; }
  .about__text p { font-size: calc(var(--u) * 13); margin-top: calc(var(--u) * 22); line-height: 1.62; }
  .about__text .btn { margin-top: calc(var(--u) * 26); }
  .about__img { order: 0; }
  .about__img .ph { aspect-ratio: 1062 / 762; border-radius: calc(var(--u) * 12); }
  .about__img picture { display: block; width: 100%; height: 100%; }
}

/* 하단 3분할 바로가기 */
.quick3 {
  display: grid; grid-template-columns: repeat(3, 1fr);
  background: #F9F9F6;
  border-radius: 0;
  padding-block: 2.6rem;
}
.quick3__item {
  display: flex; flex-direction: column; align-items: center; gap: 1rem;
  padding: 0.5rem 1rem;
  position: relative;
}
.quick3__item + .quick3__item::before {
  content: ""; position: absolute; left: 0; top: 0.5rem; bottom: 0.5rem;
  width: 1px; background: rgba(0, 0, 0, .2);
}
.quick3__ico { height: 4.4rem; display: flex; align-items: center; justify-content: center; }
.quick3__ico svg,
.quick3__ico img { height: 100%; width: auto; object-fit: contain; }
.quick3__label { display: flex; align-items: center; gap: 0.7rem; }
.quick3__label b {
  font-size: calc(var(--u) * 17.6571);              /* 24px */
  font-weight: 600; color: #404040;
}
.quick3__arrow {
  width: 1.7rem; height: 1.7rem; border-radius: 50%;
  background: var(--brand); color: #fff;
  display: flex; align-items: center; justify-content: center;
  transition: transform .25s var(--ease);
}
.quick3__arrow svg { width: 0.75rem; height: 0.75rem; }
.quick3__item:hover .quick3__arrow { transform: translateX(3px); }

/* 서브 비주얼 아래 상단 여백 (eyebrow 기준) — 경영이념 87px, 나머지 95px */
@media (max-width: 990px) {
  [data-sub="rnd"] .sub-visual + .section,
  [data-sub="location"] .sub-visual + .section { padding-top: calc(var(--u) * 77); }
}

@media (max-width: 990px) {
  /* 아이콘 위 / 라벨 아래로 쌓고, 항목 사이는 가로 구분선 */
  .quick3 { grid-template-columns: 1fr; padding-block: calc(var(--u) * 30); margin-block: calc(var(--u) * 44); }
  .quick3__item {
    flex-direction: column; align-items: center; justify-content: flex-start;
    gap: calc(var(--u) * 10);
    padding: calc(var(--u) * 34) calc(var(--u) * 20);
  }
  .quick3__item + .quick3__item::before {
    left: calc(var(--u) * 20); right: calc(var(--u) * 20);
    top: 0; bottom: auto; width: auto; height: 1px;
    background: rgba(0, 0, 0, .12);
  }
  .quick3__ico { height: calc(var(--u) * 148); }
  .quick3__label { gap: calc(var(--u) * 12); }
  .quick3__label b { font-size: calc(var(--u) * 16); }
  .quick3__arrow { width: calc(var(--u) * 31); height: calc(var(--u) * 31); }
  .quick3__arrow svg { width: calc(var(--u) * 13); height: calc(var(--u) * 13); }
}

/* ============================================================
   COMPANY — 회사연혁
   ============================================================ */
.history-note {
  min-height: 22rem;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 0.6rem; text-align: center;
}
.history-note p { font-size: calc(var(--u) * 11.7714); color: var(--gray-400); }
.history-note .sub { font-size: calc(var(--u) * 10.3); color: var(--gray-300); }

/* 연혁 타임라인 — 자료 확정 후 .history 마크업만 채우면 동작 */
.history { display: grid; gap: 2.6rem; }
.history__group { display: grid; grid-template-columns: 9rem 1fr; gap: 2rem; }
.history__year {
  font-size: calc(var(--u) * 25.0143); font-weight: 800; letter-spacing: -0.04em; color: var(--brand);
  line-height: 1.2;
}
.history__list { border-left: 1px solid var(--line); padding-left: 2rem; display: grid; gap: 0.9rem; }
.history__item { position: relative; display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; }
.history__item::before {
  content: ""; position: absolute; left: -2.3rem; top: 0.55rem;
  width: 0.5rem; height: 0.5rem; border-radius: 50%;
  background: #fff; border: 2px solid var(--green-400);
}
.history__month { font-size: calc(var(--u) * 10.5943); font-weight: 700; color: var(--green-600); }
.history__text { font-size: calc(var(--u) * 11.4771); color: var(--gray-700); line-height: 1.7; }

@media (max-width: 990px) {
  .history-note { min-height: 12rem; }
  .history__group { grid-template-columns: 1fr; gap: 0.9rem; }
  .history__year { font-size: calc(var(--u) * 19.1286); }
  .history__list { padding-left: 1.2rem; }
  .history__item::before { left: -1.5rem; }
  .history__item { grid-template-columns: 2.6rem 1fr; gap: 0.6rem; }
  .history__month, .history__text { font-size: calc(var(--u) * 11.7714); }
}

/* ============================================================
   COMPANY — 연구생산 (품질관리 프로세스)
   ============================================================ */
.process { display: grid; grid-template-columns: 12rem 1fr; gap: 3rem; align-items: start; }
.process__title {
  font-size: calc(var(--u) * 30.9);                /* 42px */
  font-weight: 800; line-height: 1.3; letter-spacing: -0.04em;
  color: #1E5040;
}
.process__title .accent { color: #18211E; }
.process__eyebrow {
  margin-bottom: 0.5rem;
  font-size: calc(var(--u) * 7.725);              /* 10.5px */
  font-weight: 600; color: rgba(10, 66, 56, .5);
}

.process__grid {
  display: grid;
  grid-template-columns: 1.6rem 1fr 1.6rem 1fr 1.6rem 1fr;
  gap: 1.4rem 1.5rem;               /* 화살표 ↔ 카드 좌우 간격 */
  align-items: start;
}
.process__spacer { grid-column: 1; }              /* 1행 첫 화살표 자리 비움 */
.process__arrow {
  align-self: center;
  width: 1.6rem; height: 1.6rem;
  display: flex; align-items: center; justify-content: center;
}
.process__arrow svg { width: 0.7rem; height: 0.7rem; }
.process__arrow img { width: 100%; height: 100%; object-fit: contain; }
.process__card { text-align: center; }
.process__ico {
  aspect-ratio: 4/3;
  display: flex; align-items: center; justify-content: center;
  background: #F5F7F1;              /* 이미지 뒷 배경 */
  border-radius: var(--r-img);      /* 10px */
  overflow: hidden;
  transition: background .25s var(--ease);
}
.process__ico svg { width: 58%; height: auto; }
/* 일러스트마다 원본 크기가 달라서 카드별로 폭을 따로 준다(--iw).
   원본 픽셀 비율을 그대로 유지하도록 계산한 값이라 임의로 통일하지 말 것. */
.process__ico img { width: var(--iw, 62%); height: auto; object-fit: contain; }
.process__card:hover .process__ico { background: var(--green-050); }
.process__label {
  margin-top: 0.7rem;
  display: flex; align-items: center; justify-content: center; gap: 0.55rem;
  font-size: calc(var(--u) * 10.2559);              /* 13.93px */
  font-weight: 600; color: #18211E;
}
.process__label .no { color: #1E5040; font-weight: 600; }
.process__label .bar { width: 1px; height: 0.6rem; background: rgba(30, 80, 64, .3); }

@media (max-width: 990px) {
  .process { grid-template-columns: 1fr; gap: 1.4rem; }
  /* 시안 : 헤드 가운데 · 카드 1열 세로 · 사이에 화살표 */
  .section > .container.process > div:first-child { text-align: center; }
  .process__title { font-size: calc(var(--u) * 25.3); }
  .process__grid { grid-template-columns: 1fr; gap: calc(var(--u) * 18); }
  .process__spacer { display: none; }
  .process__arrow {
    display: flex; align-items: center; justify-content: center;
    justify-self: center; margin-inline: auto;      /* 그리드 안에서 가로 가운데 */
    width: calc(var(--u) * 26); height: calc(var(--u) * 26);
  }
  .process__arrow picture { display: block; width: 100%; height: 100%; }
  /* 카드 높이를 낮추고(4:3 → 16:9) 아래 번호·라벨은 키운다 */
  .process__ico { aspect-ratio: 2 / 1; }
  .process__label {
    margin-top: calc(var(--u) * 14);
    gap: calc(var(--u) * 9);
    font-size: calc(var(--u) * 15);
  }
  .process__label .bar { height: calc(var(--u) * 11); }
}

/* ============================================================
   COMPANY — 위치안내
   ============================================================ */
.location { display: grid; grid-template-columns: 1.5fr 1fr; gap: 1.6rem; align-items: start; }
.location__map {
  background: none;
  border-radius: var(--r-img);      /* 10px */
  padding: 0;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.location__map .ph { width: 100%; aspect-ratio: 1392 / 768; border-radius: var(--r-img); }
.kr-map { width: 100%; max-width: 20rem; height: auto; }
.kr-map .land { fill: #E3EDE5; stroke: #fff; stroke-width: 2.5; stroke-linejoin: round; }
.kr-map .pin { cursor: pointer; }
/* 위치 이동은 SVG transform 속성, 확대는 내부 그룹의 CSS transform 으로 분리
   (같은 요소에 transform-box: fill-box 를 주면 translate 기준점이 바뀌어 핀이 어긋난다) */
.kr-map .pin-inner {
  transition: transform .2s var(--ease);
  transform-box: fill-box;
  transform-origin: 50% 100%;
}
.kr-map .pin:hover .pin-inner,
.kr-map .pin.is-on .pin-inner { transform: scale(1.16); }
.kr-map .pin-body { fill: var(--gray-400); transition: fill .2s var(--ease); }
.kr-map .pin:hover .pin-body { fill: var(--ink); }
.kr-map .pin.is-on .pin-body { fill: var(--brand); }
.kr-map .pin-dot { fill: #fff; }
.kr-map .pin-label { font-size: 13px; font-weight: 700; fill: var(--gray-500); transition: fill .2s var(--ease); }
.kr-map .pin.is-on .pin-label { fill: var(--brand); }

/* 상세 갤러리 썸네일 : 이미지가 없으면 칸 자체를 숨긴다 */
.gallery__thumb .ph.is-empty::after { display: none; }
.gallery__thumb:has(.ph.is-empty) { display: none; }

.branches { display: grid; gap: 0.6rem; }
.branch {
  display: block; width: 100%; text-align: left;
  padding: 1rem 1.2rem;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: #fff;
  transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.branch:hover { border-color: var(--green-300); }
.branch.is-on { border-color: var(--brand); box-shadow: 0 0 0 1px var(--brand); }
.branch__tag {
  display: inline-flex; align-items: center;
  height: 1.15rem; padding-inline: 0.55rem;
  border-radius: var(--r-full);     /* 999px */
  background: var(--bg-gray);
  font-size: calc(var(--u) * 7.3571);                /* 10px */
  font-weight: 600; color: var(--gray-700);
}
.branch.is-on .branch__tag,
.branch--hq .branch__tag { background: #1E5040; color: #fff; }
.branch__name {
  display: block; margin-top: 0.5rem;
  font-size: calc(var(--u) * 11.0357);               /* 15px */
  font-weight: 600; color: #18211E;
}
.branch__addr, .branch__tel {
  display: block; margin-top: 0.25rem;
  font-size: calc(var(--u) * 9.5643);               /* 13px */
  font-weight: 500; color: #6A7370; line-height: 1.6;
}

/* 본사 단일 카드 — 투명 배경 + 초록 테두리 */
.branch--hq {
  background: transparent;
  border: 1px solid #1E5040;
  border-radius: var(--r-img);      /* 10px */
}

@media (max-width: 990px) {
  .location { grid-template-columns: 1fr; gap: 1.2rem; }
  .location__map { padding: 0; }
  /* "㈜세미원푸드의 본사 위치입니다." 위아래 여백 축소 */
  [data-sub="location"] .page-head__desc { margin-top: 0; }
  [data-sub="location"] .page-head { margin-bottom: calc(var(--u) * 26); }
  .kr-map { max-width: 14rem; }
  .branch__name { font-size: calc(var(--u) * 13.2429); }
  .branch__addr, .branch__tel { font-size: calc(var(--u) * 11.0357); }
  .branch__tag { font-size: calc(var(--u) * 9.7114); height: 1.35rem; }
}

/* ============================================================
   BRAND
   ============================================================ */
.brand-hero {
  position: relative;
  min-height: 26rem;
  display: flex; align-items: center;
  overflow: hidden;
  background: var(--green-900);
}
/* 오버레이 없음 — 배경 이미지를 그대로 노출 */
.brand-hero__bg { position: absolute; inset: 0; }
.brand-hero__inner { position: relative; z-index: 2; color: #fff; padding-block: 4rem; }
.brand-hero__eyebrow {
  font-size: calc(var(--u) * 9.5);
  font-weight: 600; letter-spacing: 0.3em;
  color: rgba(255, 255, 255, .6);                 /* PC·모바일 공통 */
  text-transform: uppercase;
}
.brand-hero__title {
  margin-top: 1rem;
  font-size: calc(var(--u) * 54.4429);              /* ★ 74px @1920 — 브랜드 첫 섹션 전용 */
  font-weight: 800; line-height: 1.16; letter-spacing: -0.045em;
  color: #fff;
}
.brand-hero__title .accent { color: #E6FF96; }
.brand-hero__desc {
  margin-top: 1.4rem;
  font-size: calc(var(--u) * 16.1857);              /* 22px */
  font-weight: 600; line-height: 1.6; color: #fff;
}

@media (max-width: 990px) {
  .brand-hero { min-height: 18rem; }
  .brand-hero__bg::after { background: linear-gradient(180deg, rgba(6,20,16,.72) 0%, rgba(6,20,16,.88) 100%); }
  .brand-hero__inner { padding-block: 2.6rem; }
  .brand-hero__title { font-size: calc(var(--u) * 42); }
  .brand-hero__desc { font-size: calc(var(--u) * 11.7714); margin-top: 1rem; }
}

/* 브랜드 페이지 섹션 헤더 — 사이트 공통값보다 크다 */
[data-nav="brand"] .sec-title,
[data-nav="brand"] .page-head__title {
  font-size: calc(var(--u) * 29.4286);                /* 40px */
  font-weight: 800; color: #18211E;
}
[data-nav="brand"] .sec-title .accent,
[data-nav="brand"] .page-head__title .accent { color: #1E5040; }
[data-nav="brand"] .page-head__desc {
  font-size: calc(var(--u) * 14.7143);                /* 20px */
  color: #4A5550;
}
[data-nav="brand"] .page-head__desc b { font-weight: 700; }
[data-nav="brand"] .page-head .eyebrow {
  font-size: calc(var(--u) * 7.725);            /* 10.5px */
  font-weight: 600; color: rgba(10, 66, 56, .5);
}
[data-nav="brand"] .section--cream { background: #FAFAF7; }

@media (max-width: 990px) {   /* 시안 실측 : 타이틀 잉크 155 · 본문 5줄 합 600/423 */
  [data-nav="brand"] .page-head__title,
  [data-nav="brand"] .sec-title { font-size: calc(var(--u) * 25.3); }
  /* "간편한 조리 …" 문단을 블록으로 띄워 위쪽 여백을 준다 */
  [data-nav="brand"] .page-head__desc b { display: block; margin-top: calc(var(--u) * 18); margin-bottom: calc(var(--u) * 56); }
  /* "세상의 맛을 담다" 섹션 아래 여백 */
  /* 세상의 맛을 담다 / BRAND MOTTO — 위아래 여백 */
  [data-nav="brand"] .section:has(.values),
  [data-nav="brand"] .section:has(.motto) { padding-block: calc(var(--u) * 72); }
  /* 주요 거래처 및 납품 경험 — 위쪽만 */
  [data-nav="brand"] #partners { padding-top: calc(var(--u) * 72); }
  /* 납품 이력 기반 신뢰 카드 위쪽 여백 */
  [data-nav="brand"] .trust-box { margin-top: calc(var(--u) * 44); }
  /* "…이미 검증되었습니다." 아래 여백 */
  [data-nav="brand"] #partners .page-head { margin-bottom: calc(var(--u) * 46); }
  [data-nav="brand"] .page-head__desc { font-size: calc(var(--u) * 12.7); line-height: 1.75; }
  [data-nav="brand"] .page-head .eyebrow { font-size: calc(var(--u) * 7.6); letter-spacing: 0.545em; }
}

/* 브랜드 가치 3분할 */
.values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.value__thumb { position: relative; }
.value__thumb .ph { aspect-ratio: 3/4; border-radius: 0; }
.value__thumb .cap {
  position: absolute; left: 0; right: 0; bottom: 0.8rem;
  text-align: center;
  font-family: "Times New Roman", Times, serif;
  font-size: calc(var(--u) * 13.2429);              /* 18px */
  font-weight: 400; color: #fff;
  text-shadow: 0 1px 6px rgba(0,0,0,.5);
  z-index: 2;
}
.value__thumb::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.55) 100%);
}
.value__name {
  margin-top: 0.9rem;
  font-size: calc(var(--u) * 16.1857);              /* 22px */
  font-weight: 700; color: #000;
}
.value__desc {
  margin-top: 0.4rem;
  font-size: calc(var(--u) * 9.5643);             /* 13px */
  font-weight: 500; line-height: 1.7; color: #6A7370;
}

@media (max-width: 990px) {
  /* 가로 슬라이드 — 한 화면에 1.4장, 활성 카드가 가운데 오고 양옆이 살짝 보인다 */
  .values {
    display: flex; grid-template-columns: none;
    gap: calc(var(--u) * 14);
    overflow-x: auto; scroll-snap-type: x proximity;
    overscroll-behavior-x: contain;
    margin-inline: calc(var(--pad-pc) * -1);
    padding-inline: calc(var(--u) * 66);
    scroll-padding-inline: calc(var(--u) * 66);
    -ms-overflow-style: none; scrollbar-width: none;
  }
  .values::-webkit-scrollbar { display: none; }
  .values > * {
    flex: none;
    width: calc(100vw / 1.4 - var(--u) * 14);
    scroll-snap-align: center;
  }
  .value__thumb.ph, .value__thumb .ph { aspect-ratio: 3/4; border-radius: 0; }   /* 카드 radius 없음 */
  .value__thumb .cap { font-size: calc(var(--u) * 17); bottom: calc(var(--u) * 22); }
  .value__name { font-size: calc(var(--u) * 21); margin-top: calc(var(--u) * 16); }
  .value__desc { font-size: calc(var(--u) * 12.6); margin-top: calc(var(--u) * 7); }
}

/* 브랜드 모토 */
.motto { display: grid; grid-template-columns: 1fr 1.05fr; gap: 2.5rem; align-items: center; }
.motto .eyebrow {
  font-size: calc(var(--u) * 7.725);              /* 10.5px */
  font-weight: 600; color: rgba(10, 66, 56, .5);
}
.motto__title {
  margin-top: 0.5rem;
  font-size: calc(var(--u) * 29.4286);                  /* 40px */
  font-weight: 800; line-height: 1.36; letter-spacing: -0.04em;
  color: #18211E;
}
.motto__title .accent { color: #1E5040; }
.motto__desc {
  margin-top: 1.1rem;
  font-size: calc(var(--u) * 14.7143);                  /* 20px */
  line-height: 1.9; color: #4A5550;
}
.motto .btn {
  margin-top: 1.6rem;
  background: #1E5040;
  border-radius: var(--r-full);     /* 999px */
  font-size: calc(var(--u) * 10.3);                /* 14px */
  font-weight: 700; color: #fff;
}
.motto .btn:hover { background: var(--green-600); }
.motto__img .ph { aspect-ratio: 16/9; background: none; }

@media (max-width: 990px) {
  /* 전부 가운데 정렬 · 이미지는 좌우 여백 없이 화면 끝까지 · 버튼은 이미지 아래 */
  .motto {
    display: flex; flex-direction: column; grid-template-columns: none;
    gap: 0; text-align: center;
  }
  .motto > div:first-child { display: contents; }
  .motto .eyebrow { order: 1; }
  .motto__title {
    order: 2; font-size: calc(var(--u) * 25.5);
    margin-top: calc(var(--u) * 10); line-height: 1.36;
  }
  .motto__desc {
    order: 3; font-size: calc(var(--u) * 13);
    margin-top: calc(var(--u) * 18); line-height: 1.6;
  }
  .motto__img {
    order: 4;
    margin-top: calc(var(--u) * 34);
    margin-inline: calc(var(--pad-pc) * -1);        /* 좌우 padding 제거 */
  }
  .motto__img .ph { border-radius: 0; }
  .motto .btn {
    order: 5; align-self: center;
    margin-top: calc(var(--u) * 34);
    height: calc(var(--u) * 35);
    padding-inline: calc(var(--u) * 34);
    font-size: calc(var(--u) * 13);
    gap: calc(var(--u) * 8);
  }
  .motto .btn .ico { width: calc(var(--u) * 13); height: calc(var(--u) * 13); }
}

/* 주요 거래처 */
.partners { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.partner { text-align: center; padding: 1.2rem 0.6rem; }
.partner__ico { height: 3.4rem; display: flex; align-items: center; justify-content: center; color: var(--brand); }
.partner__ico svg { width: 2.6rem; height: 2.6rem; }
.partner__ico .wordmark { font-size: calc(var(--u) * 16.1857); font-weight: 800; letter-spacing: -0.03em; }
.partner__name { margin-top: 0.7rem; font-size: calc(var(--u) * 11.7714); font-weight: 700; }
.partner__sub { margin-top: 0.2rem; font-size: calc(var(--u) * 9.5643); color: var(--gray-500); }

.trust-box {
  display: flex; align-items: center; gap: 1.2rem;
  margin-top: 1.6rem; padding: 1.4rem 1.6rem;
  border-radius: var(--r-img);      /* 10px */
  border: 2px solid #102D23;
  background: linear-gradient(270deg, #0F3B33 0%, #0E5D4E 100%);
  color: #fff;
}
.trust-box__ico { flex: none; width: 3.4rem; height: 3.4rem; color: var(--green-300); }
.trust-box__ico svg,
.trust-box__ico img { width: 100%; height: 100%; object-fit: contain; }
.trust-box b {
  font-size: calc(var(--u) * 14.7143);                  /* 20px */
  font-weight: 700;
}
.trust-box p {
  margin-top: 0.4rem;
  font-size: calc(var(--u) * 10.3);                /* 14px */
  line-height: 1.75; color: rgba(255, 255, 255, .8);
}

@media (max-width: 990px) {
  .partners { grid-template-columns: repeat(2, 1fr); gap: 0.6rem; }
  .partner { padding: 0.9rem 0.4rem; }
  .partner__name { font-size: calc(var(--u) * 12.0657); }
  .partner__sub { font-size: calc(var(--u) * 10.3); }
  /* 아이콘은 왼쪽 정렬 + 확대, 제목 글자 확대 */
  .trust-box {
    flex-direction: column; align-items: flex-start;
    gap: calc(var(--u) * 4); padding: calc(var(--u) * 18) calc(var(--u) * 30);
  }
  .trust-box__ico { width: calc(var(--u) * 78); height: calc(var(--u) * 78); align-self: flex-start; }
  .trust-box b { font-size: calc(var(--u) * 19); }
  .trust-box p { font-size: calc(var(--u) * 11.1829); }
}

/* ============================================================
   PRODUCT — 목록
   ============================================================ */
/* 제품 목록 페이지 헤더 — 사이트 공통(42px)보다 작다 */
[data-nav="product"] .page-head__title {
  font-size: calc(var(--u) * 29.4286);                 /* 40px */
  font-weight: 800; color: #000;
}
[data-nav="product"] .page-head__title .accent { color: #1E5040; }

@media (max-width: 990px) {   /* 시안 실측 : "세미원 제품" 잉크 폭 107px */
  [data-nav="product"] .page-head__title {
    font-size: calc(var(--u) * 25); color: #222A27; letter-spacing: -0.02em;
  }
  [data-nav="product"] .page-head__title .accent { color: inherit; }
  [data-nav="product"] .page-head .eyebrow { font-size: calc(var(--u) * 7.6); color: #93AFA6; }
}
[data-nav="product"] .page-head .eyebrow {
  font-size: calc(var(--u) * 7.725);             /* 10.5px */
  font-weight: 600; color: #0A4238;
}

.plist { display: grid; grid-template-columns: 10rem 1fr; gap: 1.6rem; align-items: start; }
/* sticky 는 부모 박스 안에서만 움직인다. aside 가 필터 높이에 딱 맞으면
   움직일 여백이 없어 따라오지 않으므로 행 높이만큼 늘려 준다. */
.plist > aside { align-self: stretch; }

.filter {
  border: 1px solid #E8EDE9;
  border-radius: var(--r-img);     /* 10px */
  padding: 1rem;
  position: sticky; top: calc(var(--header-h) + 1rem);
}
.filter__title {
  font-size: calc(var(--u) * 10.3);               /* 14px */
  font-weight: 600; color: #18211E;
}
.filter__group + .filter__group { margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid var(--line-soft); }
.filter__label {
  margin-bottom: 0.6rem;
  font-family: Manrope, "Pretendard Variable", Pretendard, sans-serif;
  font-size: calc(var(--u) * 8.0929);              /* 11px */
  font-weight: 600; color: #A0A8A2;
}
.filter__group:first-of-type { margin-top: 1rem; }

.cat-btn {
  display: flex; align-items: center; justify-content: space-between; gap: 0.4rem;
  width: 100%; padding: 0.45rem 0.6rem;
  border-radius: var(--r-full);    /* 999px */
  font-size: calc(var(--u) * 9.9321);             /* 13.5px */
  font-weight: 500; color: #333333; text-align: left;
  transition: background .18s var(--ease), color .18s var(--ease);
}
.cat-btn:hover { background: var(--green-050); color: var(--green-700); }
.cat-btn.is-on { background: #1E5040; color: #FFFFFF; font-weight: 500; }
.cat-btn .check { width: 0.7rem; height: 0.7rem; opacity: 0; flex: none; }
.cat-btn.is-on .check { opacity: 1; }

.mth-list { display: flex; flex-wrap: wrap; gap: 0.3rem; }
.mth-btn {
  padding: 0.28rem 0.6rem;
  border: 1px solid #E8EDE9;
  border-radius: var(--r-full);    /* 999px */
  font-size: calc(var(--u) * 8.8286);               /* 12px */
  font-weight: 500; color: #6A7370;
  transition: all .18s var(--ease);
}
.mth-btn:hover { border-color: var(--green-300); color: var(--green-700); }
.mth-btn.is-on { background: #1E5040; border-color: #1E5040; color: #fff; }

/* 검색 */
.psearch { position: relative; margin-bottom: 1rem; }
.psearch input {
  width: 100%; height: 2.6rem;
  padding: 0 1rem 0 2.6rem;
  border: 1px solid #E8EDE9;
  border-radius: 20px;
  font-size: calc(var(--u) * 10.3);               /* 14px */
  color: var(--ink);
}
.psearch input::placeholder { color: rgba(24, 33, 30, .5); }
.psearch input:focus { outline: none; border-color: var(--green-500); box-shadow: 0 0 0 3px rgba(46,139,103,.1); }
.psearch svg,
.psearch img {
  position: absolute; left: 1rem; top: 50%; transform: translateY(-50%);
  width: 0.8rem; height: 0.8rem; color: var(--gray-400);
}

.plist__bar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; padding-bottom: 0.8rem;
  border-bottom: 1px solid var(--line);
  margin-bottom: 1.2rem;
}
.plist__count {
  font-size: calc(var(--u) * 11.7714);               /* 16px */
  font-weight: 600; color: #000;
}
.plist__count em { color: #1E5040; font-style: normal; }
.plist__sort { font-size: calc(var(--u) * 10.3); color: var(--gray-700); border: 0; background: none; cursor: pointer; }

.plist__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.6rem 1.8rem; }   /* 세로·가로 */

/* 모바일 필터 토글 */
.filter-toggle { display: none; }
.pchips { display: none; }                 /* PC 에서는 좌측 필터를 쓰므로 칩 줄 숨김 */
.filter-toggle__short { display: none; }
.filter-toggle__ico { display: none; }
.filter__head, .filter__foot, .filter-dim { display: none; }

@media (max-width: 990px) {
  /* 시안 : 칩 줄 → [검색창][필터] 한 행 → (열린 필터) → 카드 그리드 */
  .plist {
    grid-template-columns: 1fr auto;
    grid-template-areas: "chips chips" "search filter" "panel panel" "list list" "pager pager";
    row-gap: 0; column-gap: calc(var(--u) * 10);
  }
  .filter-toggle__long { display: none; }
  .filter-toggle__short { display: inline; }
  /* 시안 : 슬라이더 아이콘 + "필터", 캐럿 없음 */
  .filter-toggle__ico { display: block; width: calc(var(--u) * 15); height: calc(var(--u) * 15); flex: none; }
  .filter-toggle { gap: calc(var(--u) * 7); justify-content: center; border-radius: calc(var(--u) * 20); }
  .filter-toggle .caret { display: none; }
  .plist > aside { display: contents; }
  .plist > div:last-child { display: contents; }
  .plist__bar { display: none; }           /* 시안에 상품 수·정렬 줄 없음 */
  .pager { grid-area: pager; }

  .pchips {
    grid-area: chips;
    display: flex; gap: calc(var(--u) * 8);
    overflow-x: auto; scroll-snap-type: x proximity;
    overscroll-behavior-x: contain;
    margin-inline: calc(var(--pad-pc) * -1); padding-inline: var(--pad-pc);
    -ms-overflow-style: none; scrollbar-width: none;
  }
  .pchips::-webkit-scrollbar { display: none; }
  .pchip {
    flex: none;
    height: calc(var(--u) * 33); padding-inline: calc(var(--u) * 16);
    border: 1px solid var(--line); border-radius: var(--r-full);
    background: #fff; color: var(--gray-700);
    font-size: calc(var(--u) * 12); font-weight: 500; white-space: nowrap;
  }
  .pchip.is-on { background: #1E5040; border-color: #1E5040; color: #fff; font-weight: 600; }

  /* 시안 세로 리듬 : 타이틀밑 42 → 칩 → 17 → 검색행 → 33 → 카드 */
  .psearch { grid-area: search; margin: calc(var(--u) * 17) 0 0; }
  .filter-toggle { grid-area: filter; width: auto; margin-top: calc(var(--u) * 17); }
  .filter { grid-area: panel; margin-top: calc(var(--u) * 12); }
  .plist__grid { grid-area: list; margin-top: calc(var(--u) * 30); }
  .pchip { height: calc(var(--u) * 37); }
  /* 필터 = 바텀시트 */
  .filter-dim {
    display: block; position: fixed; inset: 0; z-index: 120;
    background: rgba(0, 0, 0, .59);
    opacity: 0; pointer-events: none;
    transition: opacity .28s var(--ease);
  }
  .filter-dim.is-open { opacity: 1; pointer-events: auto; }

  .filter {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 121;
    display: flex; flex-direction: column;
    max-height: 86vh;
    padding: 0;
    background: #fff;
    border-radius: calc(var(--u) * 22) calc(var(--u) * 22) 0 0;
    box-shadow: 0 -8px 30px rgba(0, 0, 0, .16);
    transform: translateY(100%);
    transition: transform .32s var(--ease);
  }
  .filter.is-open { display: flex; transform: none; }

  .filter__head {
    display: flex; align-items: center; justify-content: space-between;
    padding: calc(var(--u) * 22) calc(var(--u) * 22) calc(var(--u) * 14);
  }
  .filter__title { font-size: calc(var(--u) * 17); font-weight: 700; color: #18211E; }
  .filter__close {
    width: calc(var(--u) * 26); height: calc(var(--u) * 26); padding: 0;
    display: flex; align-items: center; justify-content: center; color: #18211E;
  }
  .filter__close svg { width: 100%; height: 100%; }

  .filter__body {
    flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain;
    padding: 0 calc(var(--u) * 22) calc(var(--u) * 10);
  }
  .filter__foot {
    display: block;
    padding: calc(var(--u) * 12) calc(var(--u) * 22) calc(var(--u) * 22);
    background: #fff;
  }
  .filter__apply {
    width: 100%; height: calc(var(--u) * 56);
    border-radius: calc(var(--u) * 12);
    background: #1E5040; color: #fff;
    font-size: calc(var(--u) * 15); font-weight: 700;
  }

  /* 카테고리는 전체 폭 목록, 선택 항목은 초록 알약 + 체크 */
  .cat-list { display: block; }
  .cat-btn {
    width: 100%; justify-content: space-between;
    height: calc(var(--u) * 44); padding: 0 calc(var(--u) * 18);
    border: 0; border-radius: calc(var(--u) * 22); background: none;
    font-size: calc(var(--u) * 13); color: #18211E;
  }
  .cat-btn.is-on { background: #1E5040; color: #fff; }
  .cat-btn .check { display: block; width: calc(var(--u) * 16); height: calc(var(--u) * 16); }
  .filter-toggle {
    display: flex; align-items: center; justify-content: space-between;
    width: 100%; height: 2.6rem; padding-inline: 1rem;
    border: 1px solid var(--line); border-radius: var(--r-md);
    font-size: calc(var(--u) * 11.7714); font-weight: 600;
  }
  .filter-toggle .caret {
    width: 0.45rem; height: 0.45rem;
    border-right: 2px solid var(--gray-400); border-bottom: 2px solid var(--gray-400);
    transform: rotate(45deg); transition: transform .25s var(--ease);
  }
  .filter-toggle.is-open .caret { transform: rotate(225deg); }
  .mth-btn { font-size: calc(var(--u) * 10.5943); padding: 0.35rem 0.7rem; }
  .filter__label { font-size: calc(var(--u) * 10.5943); }
  .psearch input { height: calc(var(--u) * 40); font-size: calc(var(--u) * 12); }
  .filter-toggle { height: calc(var(--u) * 40); padding-inline: calc(var(--u) * 14); font-size: calc(var(--u) * 12); border-radius: calc(var(--u) * 20); }
  .plist__grid { grid-template-columns: repeat(2, 1fr); gap: calc(var(--u) * 30) calc(var(--u) * 12); }
}

/* ============================================================
   PRODUCT — 상세
   ============================================================ */
.crumb { font-size: calc(var(--u) * 9.9321); color: #333333; margin-bottom: 1rem; }   /* 13.5px */
.crumb a:hover { color: var(--brand); }
.crumb .sep { margin-inline: 0.3rem; }

.pdetail { display: grid; grid-template-columns: 1fr 1.2fr; gap: 2.4rem; align-items: start; }

.gallery__main .ph { aspect-ratio: 1/1; border-radius: var(--r-img); }
.gallery__thumbs { display: flex; gap: 0.7rem; margin-top: 0.7rem; }
.gallery__thumb {
  width: 7rem; flex: none;          /* 3.5rem → 2배 */
  border: 1px solid var(--line); border-radius: var(--r-img);
  overflow: hidden; padding: 0;
  transition: border-color .2s var(--ease);
}
.gallery__thumb .ph { aspect-ratio: 1/1; }
.gallery__thumb.is-on { border-color: var(--brand); box-shadow: 0 0 0 1px var(--brand); }
.gallery__caption { margin-top: 0.6rem; font-size: calc(var(--u) * 9.1229); color: var(--gray-400); }

.pinfo__badges { display: flex; flex-wrap: wrap; gap: 0.35rem; align-items: center; }
/* 브랜드·카테고리 배지 — 테두리형 */
.pinfo__badges .badge--line {
  border: 1px solid #E8EDE9;
  background: #fff;
  font-family: Manrope, "Pretendard Variable", Pretendard, sans-serif;
  font-size: calc(var(--u) * 8.8286);               /* 12px */
  font-weight: 500; color: #6A7370;
}
.pinfo__name {
  margin-top: 0.8rem;
  font-size: calc(var(--u) * 22.0714);               /* 30px */
  font-weight: 700; letter-spacing: -0.04em; color: #18211E;
}
.pinfo__nameen { margin-top: 0.2rem; font-size: calc(var(--u) * 10.0057); color: var(--gray-400); font-weight: 500; }
.pinfo__desc {
  margin-top: 0.7rem;
  font-size: calc(var(--u) * 13.2429);               /* 18px */
  line-height: 1.85; color: #333333; white-space: pre-line;
}

.pinfo__meta {
  margin-top: 1.4rem; padding-top: 1.4rem;
  border-top: 1px solid rgba(0, 0, 0, .2);
  display: grid; gap: 0.7rem;
}
.pinfo__row { display: grid; grid-template-columns: 5rem 1fr; align-items: center; gap: 0.8rem; }
.pinfo__row dt {
  font-size: calc(var(--u) * 10.3);               /* 14px */
  color: rgba(0, 0, 0, .5);
}
/* 조리방법·사용처 칩 */
.pinfo__row .chip {
  border: 1px solid #E8EDE9;
  background: #fff;
  font-size: calc(var(--u) * 9.5643);              /* 13px */
  font-weight: 500; color: #18211E;
}

.spec {
  margin-top: 1.4rem;
  border: 1px solid #E8EDE9;
  border-radius: var(--r-img);     /* 10px */
  background: #fff;
  overflow: hidden;
}
.spec__head {
  display: flex; align-items: center; gap: 0.4rem;
  padding: 0.6rem 0.9rem;
  background: #FAFAF7;
  font-family: Manrope, "Pretendard Variable", Pretendard, sans-serif;
  font-size: calc(var(--u) * 8.8286);               /* 12px */
  font-weight: 600; color: #6A7370;
  border-bottom: 1px solid #F1F5F2;
}
.spec__head svg { width: 0.8rem; height: 0.8rem; color: var(--gray-500); }
.spec__row { display: grid; grid-template-columns: 9rem 1fr; }
.spec__row + .spec__row { border-top: 1px solid #F5F7F5; }
.spec__row dt {
  display: flex; align-items: center; gap: 0.45rem;
  padding: 0.6rem 0.9rem;
  font-size: calc(var(--u) * 8.8286);               /* 12px */
  color: #A0A8A2;
}
.spec__row dt svg { width: 0.75rem; height: 0.75rem; color: #A0A8A2; flex: none; }
.spec__row dd {
  padding: 0.6rem 0.9rem;
  font-size: calc(var(--u) * 10.3);               /* 14px */
  font-weight: 500; color: #18211E;
}

.pinfo__btns { display: grid; grid-template-columns: 1fr 8rem; gap: 0.6rem; margin-top: 1.2rem; }
.pinfo__btns .btn {
  height: 2.7rem;
  border-radius: var(--r-img);     /* 10px */
  font-size: calc(var(--u) * 11.0357);              /* 15px */
}
.pinfo__btns .btn--primary {
  background: #1E5040; color: #fff; font-weight: 500;
  box-shadow: 0 1px 2px -1px rgba(0,0,0,.1), 0 1px 3px 0 rgba(0,0,0,.1);
}
.pinfo__btns .btn--primary:hover { background: var(--green-700); }
.pinfo__btns .btn--line {
  background: #fff;
  border: 1px solid #E8EDE9;
  color: #6A7370; font-weight: 500;
}
.pinfo__btns .btn--line:hover { border-color: var(--green-300); background: var(--green-050); }
.pinfo__note {
  margin-top: 0.8rem;
  font-size: calc(var(--u) * 8.8286);               /* 12px */
  font-weight: 500; color: #A0A8A2; line-height: 1.6;
}

.related { background: #FAFAF7; }
.related .eyebrow {
  font-family: Manrope, "Pretendard Variable", Pretendard, sans-serif;
  font-size: calc(var(--u) * 7.725);             /* 10.5px */
  font-weight: 600; color: #1E5040;
}
.related__title {
  margin-top: 0.5rem;
  font-size: calc(var(--u) * 23.5429);               /* 32px */
  font-weight: 800; letter-spacing: -0.035em; color: #18211E;
}
.related__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 1.4rem; }

/* 카드 — 가로형(이미지 왼쪽 · 정보 오른쪽) */
.related .p-card--row {
  background: #FFFFFF;
  border: 0;
  border-radius: 10.69px;
  padding: 1rem;
  gap: 1.2rem;
  align-items: center;
}
.related .p-card--row .p-card__thumb { width: 8.4rem; }
.related .p-card--row .p-card__thumb .ph { aspect-ratio: 1/1; height: auto; border-radius: var(--r-img); }
.related .p-card--row .p-card__body { padding: 0; }
.related .p-card--row .badge {
  align-self: flex-start;
  height: 1.2rem; padding-inline: 0.6rem;
  border-radius: var(--r-full);
  background: #1E5040; color: #fff;
  font-size: calc(var(--u) * 8.652);             /* 11.76px */
  font-weight: 600;
}
.related .p-card--row .p-card__name {
  margin-top: 0.5rem;
  font-size: calc(var(--u) * 14.4641);             /* 19.66px */
  font-weight: 600; color: #18211E;
}
.related .p-card--row .p-card__tags { margin-top: 0.5rem; }
.related .p-card--row .tag {
  height: 1.35rem; padding-inline: 0.62rem;
  background: #F2F2F2; border-radius: var(--r-full);
  font-size: calc(var(--u) * 10.609);             /* 14.42px */
  font-weight: 500; color: #959595;
}
.related .p-card--row .p-card__foot {
  margin-top: 0.9rem; padding-top: 0.8rem;
  border-top: 1px solid var(--line-soft);
}
.related .p-card--row .p-card__spec {
  font-size: calc(var(--u) * 11.5801);             /* 15.73px */
  font-weight: 500; color: #A0A8A2;
}
.related .p-card--row .link-arrow {
  font-size: calc(var(--u) * 11.5801);             /* 15.73px */
  font-weight: 500; color: #1E5040;
}

/* 페이지네이션 */
.pager {
  display: flex; align-items: center; justify-content: center;
  gap: 0.3rem; margin-top: 2rem;
}
.pager__num,
.pager__nav {
  min-width: 1.8rem; height: 1.8rem;
  display: inline-flex; align-items: center; justify-content: center;
  padding-inline: 0.4rem;
  border: 1px solid #E8EDE9;
  border-radius: var(--r-full);
  background: #fff;
  font-size: calc(var(--u) * 9.9321);             /* 13.5px */
  font-weight: 500; color: #333333;
  transition: background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);
}
.pager__num:hover:not(.is-on),
.pager__nav:hover:not([disabled]) { border-color: var(--green-300); color: var(--green-700); }
.pager__num.is-on { background: #1E5040; border-color: #1E5040; color: #fff; }
.pager__nav svg { width: 0.7rem; height: 0.7rem; }
.pager__nav[disabled] { opacity: .35; cursor: default; }
.pager__gap { padding-inline: 0.2rem; color: #A0A8A2; font-size: calc(var(--u) * 9.9321); }

@media (max-width: 990px) {
  /* 시안 실측 : 대표이미지 354 · 썸네일 112x113 · 제품명 잉크폭 89 */
  .pdetail { grid-template-columns: 1fr; gap: calc(var(--u) * 36); }
  .gallery__thumbs { gap: calc(var(--u) * 12); margin-top: calc(var(--u) * 13); }
  .gallery__thumb { flex: 1 1 0; width: auto; max-width: calc(var(--u) * 112); min-width: 0; }
  .pinfo__name { font-size: calc(var(--u) * 27.8); }
  .pinfo__desc { font-size: calc(var(--u) * 11.7714); }
  .pinfo__row { grid-template-columns: calc(var(--u) * 88) 1fr; }   /* 라벨 한 줄 유지 */
  /* 배지는 완전 알약형 */
  .pinfo__badges { gap: calc(var(--u) * 7); }
  .pinfo__badges .badge {
    border-radius: 999px;
    height: calc(var(--u) * 27);
    padding-inline: calc(var(--u) * 14);
  }
  /* 조리방법·사용처 칩 : 위아래 여백 축소 */
  .pinfo__row .chip { height: calc(var(--u) * 26); padding-inline: calc(var(--u) * 14); }
  /* 문의·목록 버튼 글자 확대 */
  .pinfo__btns .btn { font-size: calc(var(--u) * 13.5); }
  .pinfo__row dt, .spec__row dt, .spec__head { font-size: calc(var(--u) * 12.7); }
  /* 항목 앞 아이콘도 글자에 맞춰 확대 */
  .spec__row dt svg { width: calc(var(--u) * 14); height: calc(var(--u) * 14); }
  .spec__head svg { width: calc(var(--u) * 15); height: calc(var(--u) * 15); }
  .spec__row dt { gap: calc(var(--u) * 8); }
  .spec__row { grid-template-columns: 6.5rem 1fr; }
  .spec__row dd { font-size: calc(var(--u) * 13); }
  .pinfo__btns { grid-template-columns: 1fr; }
  .pinfo__note { font-size: calc(var(--u) * 10.3); }
  /* 헤드 가운데 정렬, 카드는 1열 */
  .related .p-card--row { padding: calc(var(--u) * 20); gap: calc(var(--u) * 24); }
  .related .p-card--row .p-card__thumb { width: calc(var(--u) * 122); }
  .related__head, .related .eyebrow, .related__title { text-align: center; }
  .related .eyebrow { margin-right: -0.5em; }
  .related__title { font-size: calc(var(--u) * 25); }
  .related__grid { grid-template-columns: 1fr; gap: calc(var(--u) * 14); margin-top: calc(var(--u) * 24); }
  .crumb { font-size: calc(var(--u) * 11.0357); }
}

/* ============================================================
   NEWS
   ============================================================ */
.news-head {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 1rem; padding-bottom: 1.1rem;
  border-bottom: 1px solid rgba(0, 0, 0, .2);
}
.news-head__title {
  font-size: calc(var(--u) * 29.4286);                 /* 40px */
  font-weight: 800; letter-spacing: -0.04em; color: #000;
}
.news-head__title .accent { color: #1E5040; }
.news-tabs { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.news-tab {
  height: 2rem; padding-inline: 0.95rem;
  border: 1px solid #E8EDE9;
  border-radius: var(--r-full);    /* 999px */
  font-size: calc(var(--u) * 9.5643);              /* 13px */
  font-weight: 500; color: #6A7370;
  transition: all .2s var(--ease);
}
.news-tab:hover { border-color: var(--green-300); color: var(--green-700); }
.news-tab.is-on {
  background: #1E5040; border-color: #1E5040;
  color: #FFFFFF; font-weight: 700;
}

.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.6rem 1.6rem; margin-top: 2.4rem; }

/* 뉴스룸 카드는 메인 뉴스룸 섹션보다 크다 */
.news-grid .n-card__cat {
  font-size: calc(var(--u) * 9.4024);             /* 12.77px */
  font-weight: 600;
}
.news-grid .n-card__title {
  font-size: calc(var(--u) * 16.9214);              /* 22.99px */
  font-weight: 700; color: #18211E;
}
.news-grid .n-card__summary {
  font-size: calc(var(--u) * 13.1546);             /* 17.88px */
  color: #6A7370;
}
.news-grid .n-card__date {
  font-size: calc(var(--u) * 10.3441);             /* 14.05px */
  color: #A0A8A2;
}

@media (max-width: 990px) {
  /* 시안 : 뉴스룸 헤드도 가운데 정렬 + eyebrow.  간격은 시안 잉크 실측
     (eyebrow 밑 118 → 타이틀 위 133 = 15px, 타이틀 밑 155 → 탭 위 186 = 31px) */
  .news-head { flex-direction: column; align-items: center; gap: 0; text-align: center; }
  .news-head__title {
    font-size: calc(var(--u) * 25); color: #222A27; letter-spacing: -0.02em;
    margin-top: 0;
  }
  .news-head__title .accent { color: inherit; }
  .news-head .news-tabs { margin-top: calc(var(--u) * 21); justify-content: flex-start; width: 100%; }  /* 시안 : 탭 줄은 좌측 정렬 */
  .news-tab {
    height: calc(var(--u) * 31);                      /* 시안 잉크 높이 30px */
    padding-inline: calc(var(--u) * 13.98);           /* 시안 탭 줄 폭 337px */
    font-size: calc(var(--u) * 11.0357);
  }
  .news-grid { grid-template-columns: 1fr; gap: 1.6rem; margin-top: 1.4rem; }
}

/* ============================================================
   CONTACT — 제품문의 / 품질문의
   ============================================================ */
.contact { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 2.6rem; align-items: start; }

/* 문의 폼을 걷어낸 단일 칼럼 페이지
   — 블록 자체는 화면 가운데, 내용은 왼쪽 정렬 */
.contact--center {
  grid-template-columns: 1fr;
  justify-items: center;
}
.contact--center > div {
  width: 100%; max-width: 26rem;
  text-align: left;
}
/* 상단 타이틀 영역만 가운데 정렬 */
.contact--center .eyebrow,
.contact--center .contact__title,
.contact--center .contact__desc { text-align: center; }
.contact--center .cinfo { justify-items: start; }
.contact--center .cinfo__item { justify-content: flex-start; text-align: left; }
.contact--center .contact__hr { width: 100%; }
.contact__title { margin-top: 0.5rem; font-size: calc(var(--u) * 30.9); font-weight: 800; line-height: 1.32; letter-spacing: -0.04em; }
.contact__desc { margin-top: 1rem; font-size: calc(var(--u) * 11.4771); line-height: 1.8; color: var(--gray-700); }
.contact__hr { margin: 1.6rem 0; height: 1px; background: var(--line); }

.cinfo { display: grid; gap: 1.1rem; }
.cinfo__item { display: flex; align-items: center; gap: 0.9rem; }
.cinfo__ico {
  flex: none; width: 2.9rem; height: 2.9rem;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%; background: #EAEEEA; color: var(--gray-700);
}
.cinfo__ico svg { width: 1.4rem; height: 1.4rem; }
.cinfo__item > span:last-child { display: block; }
.cinfo__label { display: block; font-size: calc(var(--u) * 9.1229); color: var(--gray-500); }
.cinfo__value { display: block; font-size: calc(var(--u) * 11.7714); font-weight: 700; }

.quality-box {
  margin-top: 1.8rem; padding: 1.1rem 1.2rem;
  border-radius: var(--r-md);
  background: var(--brand); color: #fff;
}
.quality-box b { font-size: calc(var(--u) * 13.2429); font-weight: 700; }
.quality-box b em { font-style: normal; color: var(--green-300); }
.quality-box__row {
  display: flex; align-items: center; justify-content: space-between; gap: 0.8rem;
  margin-top: 0.5rem;
}
.quality-box__row p { font-size: calc(var(--u) * 9.5643); color: rgba(255,255,255,.72); }
.quality-box__link {
  flex: none;
  display: inline-flex; align-items: center; gap: 0.35rem;
  height: 1.7rem; padding-inline: 0.8rem;
  border-radius: var(--r-full);
  background: rgba(255,255,255,.14);
  font-size: calc(var(--u) * 9.1229); font-weight: 600;
  white-space: nowrap;              /* 좁은 칼럼에서 글자가 쪼개지지 않게 */
  transition: background .2s var(--ease);
}
/* 크기를 안 주면 인라인 SVG 가 기본 크기로 부풀어 화살표가 거대해진다 */
.quality-box__link svg { width: 0.7rem; height: 0.7rem; flex: none; }
.quality-box__link:hover { background: rgba(255,255,255,.26); }

.cform {
  padding: 1.8rem;
  background: var(--bg-cream);
  border-radius: var(--r-md);
}
.cform--plain { background: #fff; border: 1px solid var(--line); }
.cform__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.cform__grid .full { grid-column: 1 / -1; }
.cform__agree { display: flex; align-items: center; gap: 0.4rem; margin-top: 1.2rem; }
.cform__submit { margin-top: 1rem; }
.cform__submit .btn { width: 100%; height: 2.8rem; }

@media (max-width: 990px) {
  .contact { grid-template-columns: 1fr; gap: 1.6rem; }
  /* 시안 실측 : 타이틀 잉크 h23 (제품문의 128/169 · 품질문의 86/131), 설명 14.4 */
  .contact__title { font-size: calc(var(--u) * 25.4); line-height: 1.22; margin-top: calc(var(--u) * 6); }
  .contact__desc { font-size: calc(var(--u) * 14.4); line-height: 1.5; margin-top: calc(var(--u) * 14); }
  .cinfo__value { font-size: calc(var(--u) * 12.5071); }
  .cinfo { gap: calc(var(--u) * 20); }
  .cinfo__label { font-size: calc(var(--u) * 10.3); }
  .cinfo__label { font-size: calc(var(--u) * 10.3); }
  .quality-box { text-align: left; }
  .quality-box__row { flex-direction: column; align-items: flex-start; gap: calc(var(--u) * 14); }
  .quality-box__row p { font-size: calc(var(--u) * 11.0357); }
  .quality-box__link {
    font-size: calc(var(--u) * 10.5943);
    height: calc(var(--u) * 30); padding-inline: calc(var(--u) * 14);
    white-space: nowrap;
  }
  .quality-box__link svg { width: calc(var(--u) * 12); height: calc(var(--u) * 12); flex: none; }
  /* 품질 문의 별도 채널 박스 */
  .quality-box { padding: calc(var(--u) * 20) calc(var(--u) * 28); margin-top: calc(var(--u) * 46); }
  .quality-box b { font-size: calc(var(--u) * 16); }
  .quality-box__row p { font-size: calc(var(--u) * 12.6); line-height: 1.6; }
  .quality-box__link {
    font-size: calc(var(--u) * 12);
    height: calc(var(--u) * 27); padding-inline: calc(var(--u) * 16);
  }
  .quality-box__link svg { width: calc(var(--u) * 13); height: calc(var(--u) * 13); }
  .quality-box__link svg { flex: none; }
  .cform { padding: 1.1rem; }
  .cform__grid { grid-template-columns: 1fr; gap: 0.9rem; }
}

/* ============================================================
   CONTACT — 연락처 안내
   ============================================================ */
.ctop { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; }
[data-sub="info"] .page-head__title {
  font-size: calc(var(--u) * 29.4286);                 /* 40px */
  font-weight: 800; color: #000;
}
[data-sub="info"] .page-head__title .accent { color: #1E5040; }
[data-sub="info"] .page-head__desc {
  font-size: calc(var(--u) * 13.2429);               /* 18px */
  color: rgba(0, 0, 0, .6);
}
[data-sub="info"] .eyebrow {
  font-size: calc(var(--u) * 7.725);             /* 10.5px */
  font-weight: 600; color: #0A4238;
}
[data-sub="info"] .contact__hr { background: rgba(0, 0, 0, .2); }

/* ※ .tel-box / .tel-panel 은 메인 페이지에서도 쓰므로 components.css 로 옮겼다. */

.ct-card {
  border: 1.07px solid #E8EDE9;
  border-radius: 25.76px;
  padding: 1.6rem 1.8rem 0;
  overflow: hidden;
}
.ct-card + .ct-card { margin-top: 1.4rem; }
.ct-card__title {
  font-size: calc(var(--u) * 17.6571);               /* 24px */
  font-weight: 700; color: #18211E;
}
.ct-card__desc {
  margin-top: 0.6rem;
  font-size: calc(var(--u) * 11.7714);               /* 16px */
  line-height: 1.75; color: #6A7370;
}
/* 카드 본문 목록. PC 는 기존 문단과 동일한 모양, 불릿은 모바일에서만 (시안) */
.ct-list { margin-top: 0.6rem; color: #6A7370; }
.ct-list li {
  font-size: calc(var(--u) * 11.7714);               /* 16px */
  line-height: 1.75;
}
/* 표는 카드 좌우 패딩 밖까지 늘려 배경색이 카드 끝까지 차도록 한다.
   대신 첫/마지막 칸에 같은 크기의 안쪽 여백을 돌려준다. */
.ct-scroll {
  margin-top: 1.1rem;
  margin-inline: -1.8rem;
  width: calc(100% + 3.6rem);
}
.ct-table {
  width: 100%;
  font-size: calc(var(--u) * 10.2632);            /* 13.95px */
}
.ct-table th, .ct-table td { padding: 0.7rem 0.9rem; text-align: left; }
.ct-table th:first-child, .ct-table td:first-child { padding-left: 1.8rem; }
.ct-table th:last-child,  .ct-table td:last-child  { padding-right: 1.8rem; }
.ct-table thead th {
  background: #F7FAF8;
  font-size: calc(var(--u) * 8.6888);            /* 11.81px */
  font-weight: 600; color: #6A7370;
}
.ct-table tbody tr {
  border-top: 1.07px solid #F0F4F1;
  border-bottom: 1.07px solid #F0F4F1;
}
.ct-table tbody tr:nth-child(even) { background: #FAFCFA; }
.ct-table tbody th {
  font-weight: 600; color: #1E5040;
}
.ct-table td {
  font-family: Manrope, "Pretendard Variable", Pretendard, sans-serif;
  color: #18211E;
}
.ct-table td[data-th="팩스"] { color: #6A7370; }
.ct-table td a { color: #1E5040; }
.ct-table a:hover { color: var(--green-600); text-decoration: underline; }

/* ------------------------------------------------------------
   모바일 (990px 이하) — 폰트는 전부 vw(--u).  숫자는 412px 시안 기준 px
------------------------------------------------------------ */
@media (max-width: 990px) {
  /* 시안 : 헤드 가운데 정렬 · 강조색 없음 · 대표번호 박스는 모바일에서 숨김 */
  .ctop { display: block; text-align: center; }
  .ctop .tel-box { display: none; }
  [data-sub="info"] .page-head__title {
    margin-top: calc(var(--u) * 6);
    font-size: calc(var(--u) * 25);
    color: #222A27; letter-spacing: -0.02em;
  }
  [data-sub="info"] .page-head__title .accent { color: inherit; }
  [data-sub="info"] .page-head__desc {
    margin-top: calc(var(--u) * 10);
    font-size: calc(var(--u) * 14.3);
    line-height: 1.45; color: rgba(0, 0, 0, .55);
  }
  [data-sub="info"] .eyebrow { color: #93AFA6; font-size: calc(var(--u) * 7.6); }
  [data-sub="info"] .contact__hr { margin: calc(var(--u) * 26) auto calc(var(--u) * 22) !important; }

  .ct-card { padding: calc(var(--u) * 34) calc(var(--u) * 34) 0; }
  .ct-card__title { font-size: calc(var(--u) * 24.5); }
  .ct-card__desc  { font-size: calc(var(--u) * 13); }
  .ct-list { margin-top: calc(var(--u) * 10); }
  .ct-list li {
    position: relative;
    padding-left: calc(var(--u) * 19);
    font-size: calc(var(--u) * 13);
    line-height: 1.7;
  }
  .ct-list li + li { margin-top: calc(var(--u) * 4); }
  .ct-list li::before {
    content: ""; position: absolute; left: calc(var(--u) * 7); top: 0.78em;
    width: calc(var(--u) * 3.2); height: calc(var(--u) * 3.2);
    border-radius: 50%; background: #A9B4B0;
  }

  /* 표는 카드형으로 접지 않고, 가로 스크롤로 한 줄씩 그대로 보여준다 */
  .ct-scroll {
    margin-inline: calc(var(--u) * -34);  /* 카드 좌우 패딩과 동일 */
    width: calc(100% + var(--u) * 68);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
  .ct-table { width: max-content; min-width: 100%; }
  .ct-table th, .ct-table td {
    white-space: nowrap;                 /* 셀 안에서 줄바꿈 금지 */
    padding: 0.75rem 0.82rem;
  }
  .ct-table th:first-child, .ct-table td:first-child { padding-left: calc(var(--u) * 34); }
  .ct-table th:last-child,  .ct-table td:last-child  { padding-right: calc(var(--u) * 34); }
  .ct-table thead th   { font-size: calc(var(--u) * 10.5207); }
  .ct-table tbody th   { font-size: calc(var(--u) * 12.0657); }
  .ct-table tbody td   { font-size: calc(var(--u) * 11.1829); }
}

/* ============================================================
   NEWS DETAIL — 뉴스 상세
   ============================================================ */
.ndetail__visual { position: relative; }
.ndetail__visual .ph {
  display: block; width: 100%;
  aspect-ratio: 1342 / 365;              /* 시안 : 와이드 배너 */
  border-radius: 0;
}
.ndetail__visual .ph img { width: 100%; height: 100%; object-fit: cover; }

.ndetail-sec { padding-block: 4.5rem 3.5rem; }

.ndetail__head {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--line);
}
.ndetail__title {
  font-size: calc(var(--u) * 25.0143);              /* 34px */
  font-weight: 800; letter-spacing: -0.035em; line-height: 1.3; color: #18211E;
}
.ndetail__date {
  flex: none;
  display: inline-flex; align-items: center; gap: 0.35rem;
  font-family: Manrope, "Pretendard Variable", Pretendard, sans-serif;
  font-size: calc(var(--u) * 10.3); color: var(--gray-500);
}
.ndetail__date svg { width: 0.72rem; height: 0.72rem; flex: none; }

.ndetail__lead {
  max-width: 62%;
  margin-top: 2.6rem; padding-bottom: 1.6rem;
  border-bottom: 1px solid var(--line-soft);
  font-size: calc(var(--u) * 11.7714);              /* 16px */
  font-weight: 700; color: #18211E; line-height: 1.7;
}
.ndetail__body { max-width: 62%; margin-top: 1.8rem; }
.ndetail__body p {
  font-size: calc(var(--u) * 11.0357);              /* 15px */
  line-height: 1.95; color: var(--gray-700);
}
.ndetail__body p + p { margin-top: 1.2rem; }

.ndetail__back {
  display: inline-flex; align-items: center; gap: 0.4rem;
  margin-top: 3.4rem;
  font-size: calc(var(--u) * 10.3); color: var(--gray-700);
}
.ndetail__back svg { width: 0.7rem; height: 0.7rem; flex: none; }
.ndetail__back:hover { color: var(--brand); }

/* 더 보기 */
.more-news { padding-block: 4rem 4.5rem; background: #FAFAF7; }
.more-news__eyebrow {
  display: flex; align-items: center; gap: 0.6rem;
  font-size: calc(var(--u) * 8.8286); font-weight: 600; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--gray-500);
}
.more-news__eyebrow .bar { width: 1.4rem; height: 1px; background: var(--gray-400); }
.more-news__title {
  margin-top: 0.7rem;
  font-size: calc(var(--u) * 25.0143);
  font-weight: 800; letter-spacing: -0.035em; color: #18211E;
}
.more-news__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem;
  margin-top: 1.8rem;
}
.mn-card {
  display: block;
  background: #fff;
  border: 1.08px solid #EAEEED;
  border-radius: 17.21px;
  overflow: hidden;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.mn-card:hover { transform: translateY(-0.25rem); box-shadow: var(--sh-md); }
.mn-card__thumb { position: relative; display: block; }
.mn-card__thumb .ph { aspect-ratio: 16 / 11; border-radius: 0; }
.mn-card__cat {
  position: absolute; left: 0.7rem; top: 0.7rem; z-index: 2;
  height: 1.35rem; padding-inline: 0.6rem;
  display: inline-flex; align-items: center; border-radius: var(--r-full);
  background: #FDECEC; color: #C0554F;
  font-size: calc(var(--u) * 8.8286); font-weight: 600;
}
.mn-card__cat[data-cat="new"]     { background: #EAF3EC; color: #2C6B4A; }
.mn-card__cat[data-cat="company"] { background: #EDF0F5; color: #4B5A72; }
.mn-card__cat[data-cat="notice"]  { background: #F3F0EA; color: #7A6A4B; }
.mn-card__date {
  display: block; margin: 1rem 1rem 0;
  font-family: Manrope, "Pretendard Variable", Pretendard, sans-serif;
  font-size: calc(var(--u) * 9.5643); color: var(--gray-400);
}
.mn-card__title {
  display: block; margin: 0.45rem 1rem 1.2rem;
  font-size: calc(var(--u) * 11.7714); font-weight: 700; color: #18211E; line-height: 1.45;
}

@media (max-width: 990px) {
  /* 시안 실측 : 비주얼 16:9 · 타이틀 잉크 h23 · 날짜는 타이틀 아래 · 본문 전체 폭 */
  .ndetail__visual .ph { aspect-ratio: 16 / 9; }
  .ndetail-sec { padding-block: calc(var(--u) * 39) calc(var(--u) * 34); }
  .ndetail__head {
    flex-direction: column; align-items: flex-start; gap: calc(var(--u) * 6);
    padding-bottom: calc(var(--u) * 16);
    border-bottom: 1px solid rgba(0, 0, 0, .2);
  }
  .ndetail__title { font-size: calc(var(--u) * 25); }
  .ndetail__date { font-size: calc(var(--u) * 11); color: #A0A8A2; }
  .ndetail__lead {
    max-width: none;
    margin-top: calc(var(--u) * 26); padding-bottom: calc(var(--u) * 9);
    font-size: calc(var(--u) * 14); line-height: 1.6;
  }
  .ndetail__body { max-width: none; margin-top: calc(var(--u) * 9); }
  .ndetail__body p { font-size: calc(var(--u) * 13); line-height: 1.62; }
  .ndetail__body p + p { margin-top: calc(var(--u) * 20); }
  .ndetail__back { margin-top: calc(var(--u) * 37); font-size: calc(var(--u) * 12); }

  .more-news { padding-block: calc(var(--u) * 44); }
  .more-news__title { font-size: calc(var(--u) * 25.3); }
  .more-news__grid { grid-template-columns: 1fr; gap: calc(var(--u) * 16); margin-top: calc(var(--u) * 24); }
}

/* ============================================================
   접은 모바일 (500px 이하)
   ============================================================ */
@media (max-width: 500px) {
  /* 제품 설명 */
  .pinfo__desc { font-size: calc(var(--u) * 13.2); line-height: 1.7; }

  /* 제품문의 — 대표번호 · 홈페이지 · 소재지 */
  .cinfo__label { font-size: calc(var(--u) * 11.6); }
  .cinfo__value { font-size: calc(var(--u) * 14); }
  .cinfo__ico { width: calc(var(--u) * 46); height: calc(var(--u) * 46); }
  .cinfo__ico svg { width: calc(var(--u) * 22); height: calc(var(--u) * 22); }


  /* 뉴스 상세 — 리드문 · 본문 */
  .ndetail__lead { font-size: calc(var(--u) * 15.2); line-height: 1.62; }
  .ndetail__body p { font-size: calc(var(--u) * 14.2); line-height: 1.68; }
  .ndetail__body p + p { margin-top: calc(var(--u) * 22); }

  /* 뉴스 상세 — MORE NEWS 라벨 · 카드 제목 */
  .more-news__eyebrow { font-size: calc(var(--u) * 10.5); }
  .more-news__eyebrow .bar { width: calc(var(--u) * 22); }
  .mn-card__title { font-size: calc(var(--u) * 14.5); margin: calc(var(--u) * 8) calc(var(--u) * 16) calc(var(--u) * 18); }
  .mn-card__date { font-size: calc(var(--u) * 10.5); margin: calc(var(--u) * 16) calc(var(--u) * 16) 0; }

  /* 조리방법 · 적절한 사용처 칩 */
  .pinfo__row .chip {
    font-size: calc(var(--u) * 12);
    height: calc(var(--u) * 30);
    padding-inline: calc(var(--u) * 16);
  }
}

/* ============================================================
   문의 폼 (Contact Form 7)
   폼 내용은 워드프레스 관리자에서 관리하고, 겉모습만 여기서 맞춘다.
   CF7 이 뿜는 클래스를 이 사이트 입력칸(.field/.input) 모양으로 덮어쓴다.
   ============================================================ */
/* .container 가 이미 좌우 패딩을 갖고 있으므로 폭 제한은 안쪽에 건다 */
.inq-form { text-align: center; }
.inq-form__title,
.inq-form__desc,
.inq-form .wpcf7 { max-width: 34rem; margin-inline: auto; }

.inq-form__title {
  font-size: calc(var(--u) * 24); font-weight: 700; letter-spacing: -0.02em;
  color: var(--ink); line-height: 1.25;
}
.inq-form__desc {
  margin-top: 0.5rem; font-size: calc(var(--u) * 11.5); color: var(--gray-600);
}

.inq-form .wpcf7 { margin-top: 1.6rem; text-align: left; }

.inq-form .wpcf7 .field { margin-bottom: 0.7rem; }

/* CF7 은 입력칸을 <span class="wpcf7-form-control-wrap"> 로 감싼다 */
.inq-form .wpcf7-form-control-wrap { display: block; width: 100%; }

.inq-form input[type="text"],
.inq-form input[type="tel"],
.inq-form input[type="email"],
.inq-form input[type="url"],
.inq-form input[type="number"],
.inq-form input[type="date"],
.inq-form textarea {
  width: 100%;
  height: 2.4rem;
  padding: 0 0.9rem;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: #fff;
  font-size: calc(var(--u) * 11.0357);
  color: var(--ink);
  transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.inq-form textarea {
  height: auto; min-height: 7rem; padding: 0.7rem 0.9rem;
  line-height: 1.7; resize: vertical;
}
.inq-form input::placeholder,
.inq-form textarea::placeholder { color: var(--gray-400); }

.inq-form input:focus,
.inq-form textarea:focus {
  border-color: var(--green-500);
  box-shadow: 0 0 0 3px rgba(46,139,103,.12);
  outline: none;
}

/* 스팸방지 문자 — 이미지와 입력칸을 한 줄에 */
.inq-form .field:has(.cap-img) { flex-direction: row; gap: 0.5rem; align-items: center; }
.inq-form .cap-img { flex: none; }
.inq-form .cap-img img { display: block; height: 2.4rem; width: auto; border-radius: var(--r-md); }
.inq-form .cap-input { flex: 1 1 auto; }

/* 보내기 버튼 */
.inq-form .field--submit { margin-top: 1rem; }
.inq-form input[type="submit"] {
  display: block; width: 100%;
  height: 2.8rem; padding: 0 1.4rem;
  border: 0; border-radius: 999px;
  background: var(--green-700, #115044); color: #fff;
  font-size: calc(var(--u) * 12.5); font-weight: 700;
  cursor: pointer;
  transition: background .2s var(--ease), transform .15s var(--ease);
}
.inq-form input[type="submit"]:hover { background: var(--green-800, #0d3f36); }
.inq-form input[type="submit"]:active { transform: translateY(1px); }

/* CF7 안내·오류 문구 */
.inq-form .wpcf7-not-valid-tip {
  margin-top: 0.25rem; font-size: calc(var(--u) * 10); color: #E0483C;
}
.inq-form .wpcf7-response-output {
  margin: 1rem 0 0; padding: 0.7rem 0.9rem;
  border: 1px solid var(--line); border-radius: var(--r-md);
  font-size: calc(var(--u) * 10.8); line-height: 1.6;
}
.inq-form .wpcf7-mail-sent-ok { border-color: var(--green-500); color: var(--green-700, #115044); }
.inq-form .wpcf7-validation-errors,
.inq-form .wpcf7-acceptance-missing { border-color: #E0483C; color: #E0483C; }

/* 관리자에게만 보이는 안내 */
.form-note {
  margin-top: 1rem; padding: 0.7rem 0.9rem;
  border: 1px dashed var(--line); border-radius: var(--r-md);
  font-size: calc(var(--u) * 10.5); color: var(--gray-600);
}

@media (max-width: 990px) {
  .inq-form__title,
  .inq-form__desc,
  .inq-form .wpcf7 { max-width: none; }
  .inq-form__title { font-size: calc(var(--u) * 25.3); }
  .inq-form__desc  { font-size: calc(var(--u) * 12.4); }
  .inq-form input[type="submit"] { font-size: calc(var(--u) * 13); }
}
