:root
{
    --max:1440px;
    --main-color:#0a1f35;
    --sub-color:#A3C857;
  --sky:#0ea5e9;
  --gold:#d4b886;
    --pad:24px;
    --text:#ffffff;
    --muted:rgba(255,255,255,.78);
    --line:rgba(255,255,255,.16);
    --cta:#ffffff;
    --ctaText:#0f172a;
  --gnb-h:72px;
}

/* reset to ensure full-viewport hero */
html,body{height:100%;margin:0;padding:0;}
body{font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,"Helvetica Neue","Segoe UI","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol",sans-serif;color:#111;line-height:1.5;word-break:keep-all;}
a{color:inherit;text-decoration:none;}
a:hover,a:focus,a:active{text-decoration:none;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color_primary);outline-offset:2px;}
ul,ol{margin:0;padding:0;list-style:none;}
img{vertical-align:middle;border:0;max-width:100%;height:auto;}
button{background:none;border:0;cursor:pointer;font:inherit;color:inherit;}
table{border-collapse:collapse;border-spacing:0;}
input,textarea,select{font-family:inherit;}
::placeholder{color:#abb4bd;opacity:1;}::-webkit-input-placeholder{color:#abb4bd;}:-ms-input-placeholder{color:#abb4bd;}
i{font-style:normal;}

/* Inline-quote formulas in information pages */
.diag-intro__formula{
  white-space:pre-line;
  margin:8px 0;
  padding-left:12px;
  border-left:3px solid #e2e8f0;
  color:#0f172a;
}

/* Formula box: teal/green background highlight */
.diag-formula-box{
  background:linear-gradient(135deg, #3d9f9d 0%, #48b3a8 100%);
  color:#ffffff;
  padding:18px 20px;
  border-radius:8px;
  font-weight:600;
  font-size:15px;
  line-height:1.7;
  box-shadow:0 4px 12px rgba(61, 159, 157, 0.18);
}

/* Subheader: teal background section title */
.diag-subheader{
  background:linear-gradient(135deg, #3d9f9d 0%, #48b3a8 100%);
  color:#ffffff;
  padding:12px 20px;
  font-weight:700;
  font-size:16px;
  text-align:center;
}

/* Content box: white background with border */
.diag-content-box{
  background:#ffffff;
  border:1px solid #cbd5e1;
  padding:16px 20px;
  line-height:1.8;
}

/* Procedure box: bordered list style */
.diag-procedure-box{
  background:#ffffff;
  border:2px solid #3d9f9d;
  padding:24px 32px;
  margin-top:24px;
}
.diag-procedure-item{
  margin:0;
  padding:10px 0;
  line-height:1.8;
  font-size:15px;
  color:#0f172a;
}
.diag-procedure-item:first-child{
  padding-top:0;
}
.diag-procedure-item:last-child{
  padding-bottom:0;
}

/* Table styles for document requirements */
.diag-table-wrap{
  margin:24px 0;
}
.diag-table-header{
  background:linear-gradient(135deg, #3d9f9d 0%, #48b3a8 100%);
  color:#ffffff;
  padding:14px 20px;
  font-weight:700;
  font-size:17px;
  text-align:center;
}
.diag-table{
  width:100%;
  border-collapse:collapse;
  border:1px solid #cbd5e1;
  background:#ffffff;
}
.diag-table tbody tr{
  border-bottom:1px solid #cbd5e1;
}
.diag-table tbody tr:last-child{
  border-bottom:none;
}
.diag-table__label{
  width:180px;
  padding:20px;
  background:#f8fafc;
  border-right:1px solid #cbd5e1;
  font-weight:700;
  font-size:15px;
  text-align:center;
  vertical-align:middle;
  line-height:1.6;
}
.diag-table__content{
  padding:20px 24px;
  vertical-align:top;
}
.diag-table__content p{
  margin:0;
  padding:6px 0;
  line-height:1.7;
  font-size:14px;
  color:#334155;
}
.diag-table__content p:first-child{
  padding-top:0;
}
.diag-table__content p:last-child{
  padding-bottom:0;
}

/* Step-by-step procedure display */
.diag-steps{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:16px;
  margin-top:24px;
}
@media (max-width: 768px){
  .diag-steps{
    grid-template-columns:repeat(2,1fr);
  }
}
@media (max-width: 560px){
  .diag-steps{
    grid-template-columns:1fr;
  }
}
/* Grid layout for steps (5 columns x 2 rows) */
.diag-steps-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:16px;
  margin-top:24px;
}
@media (max-width: 1200px){
  .diag-steps-grid{
    grid-template-columns:repeat(3, 1fr);
  }
}
@media (max-width: 768px){
  .diag-steps-grid{
    grid-template-columns:repeat(2, 1fr);
  }
}
@media (max-width: 560px){
  .diag-steps-grid{
    grid-template-columns:1fr;
  }
}
.diag-step{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:16px;
  background:#f8fafc;
  border-radius:8px;
  border-left:4px solid var(--main-color);
}
.diag-step__header{
  display:flex;
  align-items:center;
  gap:10px;
}
.diag-step__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  min-width:32px;
  background:var(--main-color);
  color:#fff;
  font-weight:700;
  font-size:14px;
  border-radius:50%;
  flex-shrink:0;
}
.diag-step__title{
  font-size:16px;
  font-weight:700;
  color:#0f172a;
  margin:0;
}
.diag-step__desc{
  font-size:14px;
  line-height:1.6;
  color:#64748b;
  margin:0;
}

/* CTA Button */
.home-cta-btn{
  display:inline-block;
  padding:16px 32px;
  background:var(--main-color);
  color:#fff;
  font-size:17px;
  font-weight:700;
  border-radius:8px;
  text-decoration:none;
  transition:all 0.3s ease;
  box-shadow:0 4px 12px rgba(61, 159, 157, 0.2);
}
.home-cta-btn:hover{
  background:#2d8f8d;
  transform:translateY(-2px);
  box-shadow:0 6px 16px rgba(61, 159, 157, 0.3);
}
.home-sec--cta{
  padding:60px 0;
  background:linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
}

/* ==============================
   종합건설업 등록기준 카드 그리드
   ============================== */
.standard-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:24px;
}
.standard-card{
  background:#ffffff;
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:24px 20px;
  text-align:center;
  box-shadow:0 4px 12px rgba(15,23,42,.06);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.standard-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 24px rgba(15,23,42,.12);
  border-color:var(--sub-color);
}
.standard-card__icon{
  width:56px;
  height:56px;
  margin:0 auto 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#4db8a8,#3a9d8f);
  border-radius:50%;
  color:#ffffff;
}
.standard-card__icon svg{
  width:28px;
  height:28px;
}
.standard-card__title{
  margin:0 0 14px;
  font-size:17px;
  font-weight:900;
  color:#0f172a;
}
.standard-card__list{
  margin:0;
  padding:0;
  list-style:none;
  text-align:left;
}
.standard-card__list li{
  color:#334155;
  font-size:14px;
  line-height:1.8;
  margin-bottom:8px;
  padding-left:4px;
}
.standard-card__list li:last-child{
  margin-bottom:0;
}
.standard-card__list li strong{
  font-weight:900;
  color:#0f172a;
}
.standard-card__note{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid #f1f5f9;
  color:#64748b;
  font-size:12px;
  line-height:1.5;
}

@media (max-width: 980px){
  .standard-grid{
    grid-template-columns:repeat(2,1fr);
    gap:16px;
  }
  .standard-card{
    padding:20px 16px;
  }
  .standard-card__icon{
    width:48px;
    height:48px;
  }
  .standard-card__icon svg{
    width:24px;
    height:24px;
  }
  .standard-card__title{
    font-size:16px;
    margin-bottom:12px;
  }
  .standard-card__list li{
    font-size:13px;
  }
}

@media (max-width: 560px){
  .standard-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .standard-card{
    padding:18px 16px;
  }
  .standard-card__icon{
    width:44px;
    height:44px;
  }
  .standard-card__icon svg{
    width:22px;
    height:22px;
  }
  .standard-card__title{
    font-size:15px;
  }
  .standard-card__list li{
    font-size:13px;
    margin-bottom:6px;
  }
}

/* ==============================
  요구사항 카드 그리드
  ============================== */
.req-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}
.req-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:0;overflow:hidden;transition:all .3s ease;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.req-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,23,42,.1);border-color:#cbd5e1}
.req-header{background:linear-gradient(135deg,#4db8a8,#3a9d8f);padding:14px 12px;display:flex;flex-direction:column;align-items:center;gap:6px}
.req-icon{width:28px;height:28px;color:#fff;flex-shrink:0}
.req-title{margin:0;font-size:14.5px;font-weight:900;color:#fff;letter-spacing:-.2px;text-align:center}
.req-body{padding:16px 14px}
.req-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f8fafc;border-radius:6px;margin-bottom:6px}
.req-row:last-of-type{margin-bottom:0}
.req-label{font-size:12.5px;color:#64748b;font-weight:600}
.req-value{font-size:14.5px;font-weight:900;color:#0f172a}
.req-single{text-align:center;font-size:16px;font-weight:900;color:#0f172a;padding:4px 0}
.req-note{margin:10px 0 0;padding:8px 10px;background:#fef3c7;border-left:3px solid #f59e0b;font-size:11px;color:#92400e;line-height:1.5;border-radius:5px}

@media (max-width: 1280px){
  .req-grid{gap:14px}
  .req-header{padding:12px 10px}
  .req-title{font-size:14px}
  .req-body{padding:14px 12px}
  .req-value{font-size:14px}
  .req-single{font-size:15px}
  .req-note{font-size:10.5px}
}
@media (max-width: 980px){
  .req-grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .req-header{padding:18px 20px;flex-direction:row;gap:12px}
  .req-icon{width:32px;height:32px}
  .req-title{font-size:17px;text-align:left}
  .req-body{padding:20px}
  .req-row{padding:12px 16px;margin-bottom:10px}
  .req-label{font-size:14px}
  .req-value{font-size:17px}
  .req-single{font-size:20px}
  .req-note{font-size:12.5px}
}
@media (max-width: 768px){
  .req-grid{grid-template-columns:1fr;gap:18px}
}
@media (max-width: 560px){
  .req-grid{gap:16px;margin-top:20px}
  .req-header{padding:16px 18px;gap:12px}
  .req-icon{width:28px;height:28px}
  .req-title{font-size:16px}
  .req-body{padding:18px}
  .req-row{padding:10px 14px;margin-bottom:8px}
  .req-label{font-size:14px}
  .req-value{font-size:15px}
  .req-single{font-size:18px;padding:6px 0}
  .req-note{margin-top:12px;padding:10px 12px;font-size:12px}
}

/* ==============================
  표준 정보 섹션
  ============================== */
.std-section{margin-top:56px}
.std-section:first-of-type{margin-top:52px}
.std-section__title{margin:0 0 10px;font-size:18px;font-weight:900;color:#0f172a}
.std-section__desc{color:#334155;font-size:14.5px}
.std-box-list{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.std-box{display:flex;align-items:center;gap:8px;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:10px 12px}
.std-box__label{background:#0f172a;color:#fff;border-radius:6px;padding:6px 10px;font-size:13px;font-weight:700}
.std-box__value{font-size:14px;font-weight:900;color:#0f172a}
.std-highlight{margin-top:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px 18px}
.std-list{margin:8px 0 0;padding-left:18px}
.std-list li{color:#334155;font-size:14px;line-height:1.8}
.std-list li::marker{color:var(--sub-color)}
.std-note{color:#64748b;font-size:13px;margin-top:8px}

/* ==============================
  표 형식 정보 (업무내용/예시)
  ============================== */
.std-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:14px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.std-tr{border-top:1px solid #e2e8f0}
.std-tr:first-child{border-top:none}
.std-td{padding:20px 24px;vertical-align:middle;line-height:1.8}
.std-td--label{width:240px;background:#f8fafc;font-weight:900;color:#0f172a;border-right:2px solid #e2e8f0;font-size:15.5px}
.std-td--content{color:#334155;font-size:15.5px;line-height:1.9}
.std-sub{margin:8px 0 0;color:#0f172a;font-weight:900}
.std-dots{margin-top:14px;margin-bottom:14px;border-bottom:2px dotted #cbd5e1}
.std-td--content > div{margin-top:10px}
.std-td--content > div:first-child{margin-top:0}
.std-td--content strong{font-weight:900;color:#0f172a;font-size:15.5px}

.std-alpha{margin:10px 0 0;padding-left:0;list-style:none}
.std-alpha li{margin:8px 0;padding-left:18px;text-indent:-18px;line-height:1.9;color:#334155;font-size:15px}

@media (max-width: 980px){
  .std-td{padding:18px 20px}
  .std-td--label{width:200px;font-size:15px}
  .std-td--content{font-size:15px}
  .std-alpha li{font-size:14.5px}
}
@media (max-width: 768px){
  .std-table{margin-top:12px;border-radius:10px}
  .std-tr{display:flex;flex-direction:column;border-top:2px solid #e2e8f0}
  .std-tr:first-child{border-top:none}
  .std-td{padding:16px 18px;width:100%!important}
  .std-td--label{border-right:none;border-bottom:2px solid #e2e8f0;font-size:15px;background:#e0f2fe;color:#0c4a6e}
  .std-td--content{font-size:14.5px;padding-top:18px}
  .std-alpha li{font-size:14px;line-height:1.85;margin:7px 0}
}
@media (max-width: 560px){
  .std-td{padding:14px 16px}
  .std-td--label{font-size:14.5px;padding:12px 14px}
  .std-td--content{font-size:14px;padding-top:16px}
  .std-td--content > div{margin-top:9px}
  .std-dots{margin-top:12px;margin-bottom:12px}
  .std-alpha{margin:8px 0 0}
  .std-alpha li{font-size:13.5px;margin:6px 0;padding-left:16px;text-indent:-16px}
}

/* ==============================
  정보 카드 그리드 (재사용)
  ============================== */
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:12px}
.info-grid.info-grid--two{grid-template-columns:repeat(2,1fr)}
.info-card{background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:20px 22px;box-shadow:0 4px 12px rgba(15,23,42,.06);transition:transform .2s ease, box-shadow .2s ease}
.info-card:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(15,23,42,.10)}
.info-card__title{margin:0 0 10px;font-size:18px;font-weight:900;color:#0f172a}
.info-card__list{margin:0;padding-left:18px}
.info-card__list li{color:#334155;font-size:15px;line-height:1.8;margin-bottom:6px}
.info-card__list li:last-child{margin-bottom:0}
.info-card__note{color:#64748b;font-size:14px}

@media (max-width: 980px){
  .info-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .std-section{margin-top:48px}
}
@media (max-width: 560px){
  .info-grid{grid-template-columns:1fr;gap:14px}
  .std-section{margin-top:40px}
}

/* ==============================
   구비서류 섹션 카드 (서류목록)
   ============================== */
.doc-section-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:12px}
.doc-category-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:28px;box-shadow:0 4px 16px rgba(15,23,42,.08);transition:all .3s ease}
.doc-category-card:hover{border-color:var(--sub-color);box-shadow:0 10px 24px rgba(77,184,168,.12);transform:translateY(-2px)}
.doc-category-card__title{margin:0 0 20px;font-size:20px;font-weight:900;color:#0f172a;padding-bottom:12px;border-bottom:2px solid #e2e8f0}
.doc-group{margin-bottom:20px}
.doc-group:last-child{margin-bottom:0}
.doc-group__header{margin-bottom:12px}
.doc-group__badge{display:inline-flex;align-items:center;padding:6px 14px;background:linear-gradient(135deg,#4db8a8,#3a9d8f);color:#fff;font-size:14px;font-weight:900;border-radius:999px;box-shadow:0 4px 12px rgba(77,184,168,.2)}
.doc-group__list{margin:0;padding-left:20px}
.doc-group__list li{color:#334155;font-size:14.5px;line-height:1.8;margin-bottom:8px;position:relative;padding-left:4px}
.doc-group__list li:last-child{margin-bottom:0}
.doc-group__list li::marker{color:var(--sub-color)}

@media (max-width: 980px){
  .doc-section-grid{grid-template-columns:1fr;gap:20px}
  .doc-category-card{padding:24px}
  .doc-category-card__title{font-size:18px}
  .doc-group__list li{font-size:14px}
}

@media (max-width: 560px){
  .doc-category-card{padding:20px}
  .doc-category-card__title{font-size:17px;margin-bottom:16px}
  .doc-group__badge{font-size:13px;padding:5px 12px}
  .doc-group__list li{font-size:13px}
}


.mobile_only{ display:none; }
@media (max-width: 560px){
  .mobile_only{ display:inline; }
  .desktop_only{ display:none; }
}
/* HERO */
/* use --vh to avoid mobile address-bar gaps; fallback to 1vh */
/* 헤더(GNB) 영역은 그대로 두고, 히어로는 남은 화면 높이를 꽉 채움 */
.hero{position:relative;width:100%;height:calc(var(--vh,1vh) * 100 - var(--gnb-h));min-height:0;color:#fff;overflow:hidden;}
/* 배경: 영상으로 변경 */
.hero-bg{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
/* Ensure swiper slides (used as background) fill hero area */
.hero-swiper{position:absolute;inset:0;height:100%;width:100%;}
.hero-swiper .swiper-wrapper,.hero-swiper .swiper-slide{height:100%;}
.hero-swiper .swiper-slide{background-position:center center;background-size:cover;background-repeat:no-repeat;}
.hero-video{width:100%;height:100%;object-fit:cover;display:block}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.25) 45%, rgba(0,0,0,.55) 100%);}
/* GNB: 이미지와 분리된 상단 고정 영역 (화이트 배경) */
.gnb{ position:relative; z-index:10; background:#ffffff; border-bottom:1px solid rgba(15,23,42,.06); }
.gnb-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:18px var(--pad);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.logo img{ height:64px; width:auto; display:block; }
.logo{ display:inline-flex; align-items:center; }
.menu > a.logo{ padding:0 !important; }
.menu > a.logo::after{ content:none; }

.menu{ display:flex; justify-content: space-between; align-items:center; gap:40px; max-width: var(--max); width: 100%;}
.menu a{ 
  color:#0f172a; 
  text-decoration:none; 
  font-weight:600; 
  font-size:17px; 
  padding:10px 10px; 
  border-radius:999px; 
  transition:background .2s ease, transform .2s ease;
  position:relative;
}
.menu > a::after{ content:none; }
.menu a:hover{ transform:translateY(-1px); color:var(--sky); }
.menu-cta{ background:#0f172a; color:#fff !important; padding:10px 14px !important; box-shadow:0 10px 18px rgba(15,23,42,.12); }

/* GNB products dropdown */
.menu-dd{position:relative;display:inline-flex;align-items:center;}
.menu-dd__btn{
  color:var(--main-color);
  font-weight:700;
  font-size:16px;
  padding:10px 16px;
  border-radius:8px;
  transition:all .25s cubic-bezier(0.4, 0, 0.2, 1);
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:8px;
  background:transparent;
  border:2px solid transparent;
  position:relative;
  z-index:10001;
}
.menu-dd__btn::before{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  margin:0 auto;
  width:0;
  height:2px;
  background:var(--main-color);
  /* background:var(--sub-color); */
  transition:width .3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index:10002;
}
.menu-dd__btn:hover::before,
.menu-dd.is-open .menu-dd__btn::before{
  width:100%;
}
.menu-dd__btn::after{
  content:'▼';
  font-size:9px;
  opacity:0.7;
  transition:transform .25s ease;
}
/* .menu-dd.is-open .menu-dd__btn{
  background:rgba(163, 200, 87, 0.08);
  border-color:rgba(163, 200, 87, 0.2);
} */
.menu-dd.is-open .menu-dd__btn::after{
  transform:rotate(180deg);
}
/* .menu-dd__btn:hover{
  background:rgba(163, 200, 87, 0.06);
  transform:translateY(-1px);
} */
.menu-dd__panel{
  display:none;
  position:absolute;
  top:calc(100% + 20px);
  left:50%;
  transform:translateX(-50%);
  min-width:300px;
  max-width:340px;
  background:#fff;
  color:var(--main-color);
  border:1px solid var(--main-color);
  border-radius:6px;
  /* box-shadow:0 20px 60px rgba(10, 31, 53, 0.15), 0 0 0 1px rgba(163, 200, 87, 0.1); */
  padding:12px;
  z-index:9999;
  animation:dropdown-fade-in .3s cubic-bezier(0.16, 1, 0.3, 1);
  overflow:visible;
}
@keyframes dropdown-fade-in{
  from{opacity:0;transform:translateX(-50%) translateY(-10px) scale(0.95);}
  to{opacity:1;transform:translateX(-50%) translateY(0) scale(1);}
}
.menu-dd.is-open .menu-dd__panel{
  display:block;
}

.menu-dd__primary-list{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:0;
}

/* 1차 카테고리 아이템 */
.menu-dd__item{
  position:relative;
  border-radius:12px;
  transition:all .25s cubic-bezier(0.4, 0, 0.2, 1);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0px 8px;
  /* border:2px solid transparent; */
  /* background:linear-gradient(135deg, rgba(163, 200, 87, 0.02) 0%, rgba(163, 200, 87, 0.04) 100%); */
  cursor:pointer;
}
.menu-dd__primary-link{
  flex:1;
  color:var(--main-color);
  padding:6px 14px !important;
  transition:all .25s ease;
  letter-spacing:-0.2px;
}

.menu-dd__item:hover .menu-dd__primary-link{
  color:var(--main-color);
}
.menu-dd__item.is-active{
  background:linear-gradient(135deg, var(--main-color) 0%, #0d2842 100%);
  /* 배경은 기본 상태와 동일하게 유지합니다 (강한 hover 배경 제거) */
  background: linear-gradient(135deg, rgba(163, 200, 87, 0.02) 0%, rgba(163, 200, 87, 0.04) 100%);
  border-color: transparent;
  color: tomato;
  font-weight:800;
}
.menu-dd__item.is-active .menu-dd__primary-link{
  color: tomato;
}
.menu-dd__arrow{
  font-size:18px;
  opacity:0.5;
  transition:all .25s ease;
  font-weight:bold;
  color:var(--main-color);
}
.menu-dd__primary-link::after,
.menu-dd__primary-link:hover::after{content:none !important; display:none !important;}
.menu-dd__item:hover .menu-dd__arrow{
  opacity:1;
  color:var(--main-color);
}
.menu-dd__item.is-active .menu-dd__arrow{
  color:var(--sub-color);
  opacity:1;
  transform:translateX(4px) scale(1.2);
}

/* 2차 카테고리 플라이아웃: 1차 패널 옆에 별도로 표시 */
.menu-dd__flyout{
  position:absolute;
  left:calc(100% + 2px);

  min-width:260px;
  max-width:320px;
  background:#fff;
  border:1px solid var(--main-color);
  border-radius:6px;
  /* box-shadow:0 20px 60px rgba(10, 31, 53, 0.18), 0 0 0 1px rgba(163, 200, 87, 0.15); */
  padding:10px !important;
  z-index:10000;
  animation:submenu-slide-in .3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* 3차 제품 플라이아웃 */
.menu-dd__flyout--products{
  min-width:280px;
  max-width:360px;
  max-height:420px;
  overflow:auto;
}

.menu-dd__sublink.is-active{
  font-weight:800 !important;
  color: tomato !important;
}

.menu-dd__productlist{
  display:flex;
  flex-direction:column;
}

.menu-dd__productlink{
  display:block;
  padding:8px 14px !important;
  border-bottom: 1px solid #ebebeb;
  text-decoration:none;
}

.menu-dd__productname{
  display:block;
  font-weight:600;
  font-size:14px;
  color:var(--main-color);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@keyframes submenu-slide-in{
  from{opacity:0;transform:translateX(-15px) scale(0.95);}
  to{opacity:1;transform:translateX(0) scale(1);}
}
.menu-dd__sublink{
  display:block;
  padding:8px 14px !important;
  border-radius:10px;
  font-weight:600 !important;
  font-size:15px !important;
  color:var(--main-color);
  /* transition:all .25s cubic-bezier(0.4, 0, 0.2, 1); */
  white-space:nowrap;
  border:1px solid transparent;
  position:relative;
  /* background:transparent; */
  letter-spacing:-0.2px;
}
.menu-dd__sublink::after,
.menu-dd__sublink:hover::after{content:none !important; display:none !important;}
.menu-dd__sublink::before{
  content:'';
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--sub-color);
  opacity:0;
  transition:all .25s ease;
}
.menu-dd__sublink:hover::before{
  opacity:0;
}
.menu-dd__sublink:hover{
  /* 호버 시 배경색 변경 없음 */
  color:var(--main-color);
  border-bottom: 1px solid #ebebeb;
  border-radius: 0;
}
.menu-dd__empty{
  display:block;
  padding:20px 16px;
  color:#94a3b8;
  font-size:13px;
  text-align:center;
  font-style:italic;
}

/* Categories section under hero */
.cat-sec{padding:80px var(--pad) 80px;background:#fff}
.cat-wrap{max-width:var(--max);margin:0 auto}
.cat-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 14px}
.cat-head h2{margin:0;font-size:22px;color:var(--main-color);font-weight:900;letter-spacing:-.3px}
.cat-head p{margin:0;color:#64748b;font-size:13px}
.cat-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.cat-nav{margin-left:auto;display:flex;gap:8px;align-items:center}
.cat-nav .cat-prev,.cat-nav .cat-next,.cat-nav .w-prev,.cat-nav .w-next{width:34px;height:34px;border:1px solid rgba(15,23,42,.12);border-radius:8px;background:#fff;color:var(--main-color);font-weight:900;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.cat-nav .swiper-button-disabled{opacity:.35;cursor:default}
.cat-swiper{overflow:hidden}
.cat-swiper .swiper-wrapper{align-items:stretch}
.cat-swiper .swiper-slide{height:auto}
.w-swiper{overflow:hidden}
.w-swiper .swiper-wrapper{align-items:stretch}
.w-swiper .swiper-slide{height:auto}
.cat-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:12px;overflow:hidden;box-shadow:0 6px 20px rgba(15,23,42,.06);transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease}
.cat-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(15,23,42,.12);border-color:rgba(163,200,87,.45)}
.cat-link{display:flex;flex-direction:column;height:100%}
.cat-thumb{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,#f8fafc,#eef2f7);margin:4px;border-radius:10px;overflow:hidden}
.cat-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cat-thumb-fallback{position:absolute;inset:0;background:linear-gradient(135deg,rgba(163,200,87,.25),rgba(163,200,87,.05))}
.cat-name{padding:12px 10px;font-size:15px;font-weight:700;color:var(--main-color);text-align:center;display:block}

.order_products {background: #ffffff; margin-bottom: 50px;}
#order_products2 {background: #f7f7f7;}

/* Quote/CTA banner (after hydraulic products) */
.quote-banner{background:#0a7894; color:#fff;padding:0 var(--pad);}
.quote-banner__inner{max-width:var(--max);margin:0 auto;min-height:180px;padding:30px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.quote-banner__content{flex:1;min-width:0;}
.quote-banner__kicker{margin:0;font-size:22px;font-weight:900;letter-spacing:-.3px;}
.quote-banner__desc{margin:8px 0 0;color:rgba(255,255,255,.86);font-size:14px;line-height:1.6;}
.quote-banner__aside{display:flex;align-items:center;gap:16px;}
.quote-banner__ico{width:320px;height:auto;flex:0 0 auto;filter:drop-shadow(0 10px 18px rgba(0,0,0,.25));}
.quote-banner__btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 18px; margin-top: 20px; border-radius:4px;background:#fff;color:var(--main-color);font-weight:900;letter-spacing:-.2px;box-shadow:0 12px 24px rgba(0,0,0,.22);transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;}
.quote-banner__btn:hover{transform:translateY(-2px);filter:brightness(1.02);box-shadow:0 16px 30px rgba(0,0,0,.26);}

@media (max-width: 560px){
  .menu{ gap:14px; }
  .quote-banner__inner{flex-direction:column;align-items:flex-start;gap:14px;padding:20px 0;min-height:auto;}
  .quote-banner__kicker{font-size:18px;}
  .quote-banner__aside{width:100%;justify-content:flex-start;}
  .quote-banner__ico{width:40px;}
}

/* Hide the quote banner on mobile */
@media (max-width: 560px){
  .quote-banner{ display:none; }
}

@media (max-width: 560px){
  /* 모바일: 유압스크랩 제품 섹션 상단 패딩 50px */
  .cat-sec{padding:50px var(--pad) 0}
  .cat-head h2{font-size:18px}
  .cat-grid{gap:10px}
  /* 모바일: 첫 카테고리 설명 문구 숨김 */
  .cat-sec:not(.order_products) .cat-head p{display:none}
  /* 모바일: 선별기 제품 섹션 설명 문구 숨김 */
  .cat-sec.order_products .cat-head p{display:none}
  /* 모바일: 선별기 제품 섹션 상단 50px, 하단 30px */
  .cat-sec.order_products{padding:50px var(--pad) 30px}
}

/* Center content wrapper */
.hero-center{
  position:relative;
  z-index:5;
  height:100%;
  display:flex;
  align-items:center;            /* 세로 중앙 */
}

.hero-grid{width:100%;max-width:var(--max);margin:0 auto;padding:36px var(--pad);display:grid;grid-template-columns:1.2fr .85fr;gap:28px;align-items:center;}

/* Left text */
/* NewYzer 스타일 텍스트 */
.hero-kicker{margin:0 0 14px;color:rgba(255,255,255,.85);font-size:14px;}
.hero-title{margin:0;font-size:64px;line-height:1.1;letter-spacing:-1.4px;font-weight:900;text-shadow:0 2px 12px rgba(0,0,0,.15);}
/* .hero-title .brand{color:#66d69b;} */
.hero-title .brand{color:#fff;}
.hero-mini{margin:10px !important; color:rgba(255,255,255,.85);font-size:14px;line-height:1.6; width: 100%;}
.hero-official-lead{margin:18px 0 0;color:rgba(255,255,255,.9);font-size:26px; font-weight: 800; line-height:1.7;max-width:900px}
.hero-official{margin:8px 0 0;color:#fff;font-size:50px;line-height:1.15;font-weight:900;letter-spacing:-.6px;text-shadow:0 2px 12px rgba(0,0,0,.18)}
.hero-official-sub{margin:6px 0 0;color:rgba(255,255,255,.95);font-size:32px;line-height:1.5;font-weight:800}
.hero-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:#cfe9dc;font-weight:800;}
.hero-link:hover{color:#fff;text-decoration:underline;}

/* ==============================
   찾아오시길(오시는 길)
   ============================== */

   #daumRoughmapContainer1770116893516 {
    width: 100%;
    height: 500px;
    /* height: "400px"; */
   }

.home-sec--visit{
  padding:80px 0;
  background:#ffffff;
}
.visit-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:28px;
  align-items:start;
}

.visit-map{
  border-radius:14px;
  overflow:hidden;
  background:#f6f6f6;
  border:1px solid rgba(0,0,0,.08);
  min-height:400px;
}
.visit-map .root_daum_roughmap,
.visit-map .root_daum_roughmap .wrap_map{
  width:100% !important;
  height:100% !important;
}
.visit-map .root_daum_roughmap{
  max-width:none !important;
  min-height:400px;
}

.visit-missions{
  padding:6px 2px;
}
.visit-missions__title{
  margin:0 0 12px;
  font-size:16px;
  font-weight:900;
  letter-spacing:.06em;
  color:#222;
}
.mission-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}
.mission-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  aspect-ratio: 1 / 1;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  padding:14px;
}
.mission-item .mission-no{
  display:block;
  font-size:12px;
  letter-spacing:.10em;
  color:#999;
  margin-bottom:6px;
}
.mission-item .mission-txt{
  display:block;
  color:#333;
  font-weight:700;
  line-height:1.35;
  word-break:keep-all;
}

@media (max-width: 980px){
  .visit-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 420px){
  .mission-item{
    padding:12px;
  }
  .mission-item span{
    font-size:14px;
  }
}
.hero-mini span {border: 1px solid #fff; padding: 6px 6px; border-radius: 4px; margin: 0 4px;}
.hero-mini .mobile_only {display: block; margin-top: 28px !important;}

/* 모바일 상담문의 버튼 */
.hero-inquiry-btn {display: none;}
@media (max-width: 900px) {
  .hero-mini {display: none !important;}
  .hero-inquiry-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 32px;
    margin-top: 50px;
    background: tomato;
    color: #fff;
    font-weight: 900;
    font-size: 16px;
    border-radius: 8px;
    text-decoration: none;
    box-shadow: 0 4px 16px rgba(255, 99, 71, 0.3);
    transition: all 0.2s ease;
  }
  .hero-inquiry-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 99, 71, 0.4);
  }
}

/* .hero-official::before{
  content:"";
  display:inline-block;
  width:8px;
  height:48px;
  background:#66d69b;
  border-radius:2px;
  padding-right: 6px;
  margin-right: 8px;
  margin-bottom: -6px;
} */

.hero-actions{
  margin-top:32px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.btn{
  height:52px;
  padding:0 28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
  font-size:15px;
  border:2px solid transparent;
  color:rgba(255,255,255,.95);
  backdrop-filter: blur(10px);
  transition:all .3s ease;
  box-shadow:0 4px 16px rgba(0,0,0,.1);
}
.btn:hover{ transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2); }
.btn.primary{
  background:#fff;
  color:#0f172a;
  border-color:#fff;
}
.btn.primary:hover{
  background:#f8fafc;
}
.btn.ghost{
  background:rgba(255,255,255,.15);
  border-color:rgba(255,255,255,.3);
}
.btn.ghost:hover{
  background:rgba(255,255,255,.25);
}

/* Right card */
.hero-card{background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);color:#0f172a;border-radius:14px;overflow:hidden;border:1px solid rgba(15,23,42,.06);box-shadow:0 8px 24px rgba(15,23,42,.08);}
.card-head{padding:18px;background:linear-gradient(90deg,#061826,#0f172a);color:#fff}
.card-head h2{margin:0;font-size:18px;font-weight:800}
.card-head p{margin:6px 0 0;font-size:13px;opacity:.95}
.card-form{padding:16px;display:flex;flex-direction:column;gap:12px}
.field span{display:block;font-size:12px;font-weight:700;color:#334155;margin-bottom:6px}
.field input,.field select{width:100%;height:44px;border-radius:10px;border:1px solid rgba(15,23,42,.08);background:#fff;padding:0 12px;font-size:14px;outline:none}
.field input:focus,.field select:focus{border-color:rgba(59,130,246,.45);box-shadow:0 8px 20px rgba(59,130,246,.08)}
.btn.full{width:100%;padding:12px 16px;border-radius:10px;font-size:15px}
.card-steps{display:flex;gap:8px;padding:12px 16px;border-top:1px solid rgba(15,23,42,.04);background:transparent}
.card-steps .step{display:flex;align-items:center;gap:8px;background:rgba(15,23,42,.03);padding:8px 10px;border-radius:10px}
.card-steps .step b{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#fff;color:#0f172a;font-weight:800}

/* Industry list styles - circular design (no card) */
.hero-industries{padding:8px 0;}
.industry-title{margin:0 0 10px;font-size:18px;font-weight:900;color:#fff}
.industry-container{padding:0;}
.industry-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;}
.industry-item{display:flex;flex-direction:column;align-items:center;gap:10px;cursor:default;}
.industry-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#0f172a,#334155);display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;box-shadow:0 4px 16px rgba(15,23,42,.15);transition:all .3s ease;}
.industry-item:hover .industry-icon{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 24px rgba(15,23,42,.25);}
.industry-item span{font-size:13px;font-weight:800;color:#ffffff;text-align:center;line-height:1.3;max-width:110px;}
.industry-cta{margin-top:24px;padding-top:24px;border-top:1px solid rgba(15,23,42,.08);}
.industry-note{margin:0 0 16px;font-size:14px;color:#334155;text-align:center;line-height:1.6;}
.industry-note strong{color:#0f172a;font-weight:800;}

.chip:has(input:checked){
  border-color:rgba(37,99,235,.35);
  box-shadow:0 10px 22px rgba(37,99,235,.10);
}

/* submit */
.submit{
  height:48px;
  border:none;
  border-radius:16px;
  background:#0f172a;
  color:#fff;
  font-size:14px;
  font-weight:950;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease;
  box-shadow:0 12px 30px rgba(15,23,42,.18);
}
.submit:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 38px rgba(15,23,42,.22);
}

.mini{
  margin:4px 0 0;
  font-size:12px;
  line-height:1.5;
  color:#64748b;
}
.mini a{
  color:#334155;
  font-weight:900;
  text-decoration:none;
}
.mini a:hover{ text-decoration:underline; }

/* Hero features (bottom circles) */
.hero-features{display:flex;gap:22px;margin-top:36px;flex-wrap:wrap}
.hf-item{display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff}
.hf-icon{width:88px;height:88px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:0 4px 20px rgba(0,0,0,.2)}
.hf-icon img{width:60%;height:60%;object-fit:contain}
.hf-item span{font-size:14px;font-weight:800;opacity:.95}

/* Responsive */
@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr;gap:18px;}
  .hero-left{ text-align:center; }
  .hero-title{ font-size:42px; }
  .hero-official-lead{ font-size:18px; }
  .hero-official{ font-size:34px; }
  .hero-official-sub{ font-size:18px; }
  .hero-features{ justify-content:center; }
  .hf-icon{ width:72px; height:72px; font-size:26px; }
  .hf-item span{ font-size:13px; }
  .industry-icon{width:70px;height:70px;font-size:24px;}
}

@media (max-width: 560px){
  /* Mobile GNB: show only logo + hamburger */
  .menu{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}
  .menu .menu-dd{display:none}
  .menu > a:not(.logo):not(.menu-hamburger){display:none}
  .menu > a.menu-hamburger{padding:0}
  .menu > a.menu-hamburger::after{content:none}
  .menu-hamburger img{width:34px;height:auto;display:block}

  .hero-left{ text-align:center; }
  .hero-title{ font-size:32px; }
  .hero-official-lead{ font-size:18px; margin-bottom: 30px;}
  .hero-official{ font-size:38px; }
  .hero-official-sub{ font-size:26px; }
  .btn{height:48px;padding:0 20px;font-size:14px;}
  .hero-features{ justify-content:center; gap:16px; }
  /* mobile: 3 items per row (two rows for 6 items) */
  .hero-features .hf-item{flex:0 0 25.3333%;box-sizing:border-box;text-align:center}
  .hf-icon{ width:60px; height:60px; font-size:22px; }
  .hf-item span{ font-size:12px; }
  .industry-icon{width:64px;height:64px;font-size:20px;}
  .industry-list{gap:12px;}
  .hero{ height:calc(100svh - var(--gnb-h)); min-height:0; }
}

/* About/Greeting section */
.about-sec{padding:80px var(--pad);background:#fff}
.about-wrap{max-width:var(--max);margin:0 auto}
.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:center}
.about-title{margin:0 0 12px;color:var(--main-color);font-size:26px;font-weight:900;letter-spacing:-.4px}
.about-lead{margin:0;color:#334155;font-size:16px;line-height:1.9;max-width:720px}
.about-sub{margin:12px 0 0;color:#475569;font-size:15px;line-height:1.8;max-width:720px}
.about-thanks{margin:10px 0 0;color:#64748b;font-size:14px;line-height:1.8;max-width:720px}
.about-actions{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}
.about-btn{height:44px;padding:0 16px;border-radius:10px;border:1px solid rgba(15,23,42,.14);background:#fff;color:var(--main-color);font-weight:800;font-size:14px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}
.about-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(15,23,42,.12);border-color:rgba(163,200,87,.35)}
.about-right{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.about-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.08)}
.about-media{position:relative;aspect-ratio:4/3;min-height:360px;background:linear-gradient(135deg,#f8fafc,#eef2f7);max-width: 100%;}
.about-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.about-overlay{position:absolute;inset:0;color:#fff;pointer-events:none}
.about-overlay::after{content:"";position:absolute;left:0;right:0;bottom:0;top:50%;background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 100%)}
.about-tag{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);color:#fff;padding:6px 10px;border-radius:10px;font-size:13px;font-weight:900;backdrop-filter: blur(6px)}
.about-desc{position:absolute;left:50%;top:70%;transform:translate(-50%,-50%);padding:10px;color:#fff;font-size:16px;line-height:1.7;font-weight:700;width:100%;max-width:100%; background: #000; text-align: center; white-space:normal;overflow-wrap:anywhere;word-break:break-all;}

/* Unified taller media across both cards */

/* Mobile: stack about images one-per-row and adjust sizes */
@media (max-width: 560px){
  .about-right{grid-template-columns:1fr !important;gap:12px}
  .about-media{min-height:260px}
  /* .about-desc{top:55%;left:0;right:0;padding:0 14px} */
}

@media (max-width: 980px){
  .about-grid{grid-template-columns:1fr;}
}

/* Estimate + Support (50:50) */
.service-duo{padding:80px var(--pad);background:#f8fafc}
.service-duo__inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.service-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:28px;box-shadow:0 6px 20px rgba(15,23,42,.06);display:flex;flex-direction:column}
.service-title{margin:0 0 10px;font-size:22px;font-weight:900;color:var(--main-color)}
.service-desc{margin:0 0 16px;color:#475569;font-size:15px;line-height:1.8}
.service-meta{margin:0 0 16px;color:#64748b;font-size:14px}
.service-meta__extra{margin-top:8px;color:#334155;font-size:14px;font-weight:700}
.service-meta-list{margin:0 0 16px;padding:0;list-style:none;color:#64748b;font-size:14px}
.service-meta-list li{margin:4px 0}
.service-actions{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}
.service-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 16px;border-radius:6px;background:var(--main-color);color:#fff;font-weight:900;letter-spacing:-.2px;box-shadow:0 12px 24px rgba(0,0,0,.12);transition:transform .2s ease, box-shadow .2s ease}
.service-btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(0,0,0,.16)}
.service-btn.primary{background:#000;color:#fff;padding:0 18px;font-weight:900;box-shadow:0 12px 24px rgba(0,0,0,.22)}
.service-link{color:var(--main-color);font-weight:800;text-decoration:underline}

@media (max-width: 980px){
  .service-duo__inner{grid-template-columns:1fr}
}

/* Footer */
.site-footer{background:#333;color:rgba(255,255,255,.86);padding:40px var(--pad) 28px;position:relative}
.site-footer__inner{max-width:var(--max);margin:0 auto}
.site-footer__top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.10)}
.site-footer__links{display:flex;flex-wrap:wrap;gap:14px}
.site-footer__link{color:rgba(255,255,255,.9);font-weight:800;font-size:14px;letter-spacing:-.2px}
.site-footer__link:hover{text-decoration:underline}
.site-footer__mini{color:rgba(255,255,255,.65);font-size:13px;white-space:nowrap}

.site-footer__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;padding-top:22px}
.site-footer__brand{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.site-footer__name{font-size:18px;font-weight:900;color:#fff;letter-spacing:-.3px}
.site-footer__tag{font-size:13px;color:rgba(255,255,255,.72)}

.site-footer__info{margin:0;display:grid;gap:8px}
.site-footer__row{display:grid;grid-template-columns:86px 1fr;gap:10px;align-items:baseline}
.site-footer__row dt{margin:0;color:rgba(255,255,255,.55);font-size:13px;font-weight:700}
.site-footer__row dd{margin:0;color:rgba(255,255,255,.86);font-size:13px}
.site-footer__row a{color:#fff}
.site-footer__row a:hover{text-decoration:underline}

.site-footer__csTitle{display:block;color:#fff;font-weight:900;font-size:16px;margin-bottom:10px}
.site-footer__phone{display:inline-flex;color:#fff;font-size:22px;font-weight:900;letter-spacing:-.3px}
.site-footer__phone:hover{text-decoration:underline}
.site-footer__policy{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.site-footer__policyLink{color:rgba(255,255,255,.9);font-weight:800;font-size:14px;letter-spacing:-.2px}
.site-footer__policyLink:hover{text-decoration:underline}
.site-footer__hours{margin-top:8px;color:rgba(255,255,255,.7);font-size:13px;line-height:1.6}
.site-footer__cta{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
.site-footer__btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 18px;border-radius:10px;background:#fff;color:var(--main-color);font-weight:900;letter-spacing:-.2px;box-shadow:0 12px 24px rgba(0,0,0,.22);transition:transform .2s ease, box-shadow .2s ease, filter .2s ease}
.site-footer__btn:hover{transform:translateY(-2px);filter:brightness(1.02);box-shadow:0 16px 30px rgba(0,0,0,.26)}
.site-footer__btn.is-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.28);box-shadow:none}
.site-footer__btn.is-ghost:hover{box-shadow:0 10px 22px rgba(0,0,0,.18)}

.site-footer__bottom{padding-top:18px;margin-top:22px;border-top:1px solid rgba(255,255,255,.10)}
.site-footer__copy{color:rgba(255,255,255,.55);font-size:12px}

.btn-top{position:absolute;right:18px;bottom:18px;width:44px;height:44px;border-radius:999px;background:rgba(255, 255, 255, 0.1);border:1px solid rgba(255,255,255,.18);color:#fff;font-weight:900;backdrop-filter: blur(6px)}
.btn-top:hover{background:rgba(255,255,255,.16)}

/* Company band (above footer) */
.company-band{background:#333;color:#fff;padding:18px var(--pad)}
.company-band__inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:start}
.company-band__name{display:block;font-size:18px;font-weight:900;letter-spacing:-.3px;margin-bottom:6px}
.company-band__desc{margin:0;color:rgba(255,255,255,.78);font-size:13px;line-height:1.7}
.company-band__info{margin:10px 0 0;display:grid;gap:8px}
.company-band__row{display:grid;grid-template-columns:74px 1fr;gap:10px;align-items:baseline}
.company-band__row dt{margin:0;color:rgba(255,255,255,.65);font-size:12px;font-weight:800}
.company-band__row dd{margin:0;color:rgba(255,255,255,.9);font-size:13px;line-height:1.55}
.company-band__row a{color:#fff}
.company-band__row a:hover{text-decoration:underline}
.company-band__actions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}
.company-band__btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 14px;border-radius:10px;background:#fff;color:#333;font-weight:900;font-size:13px;letter-spacing:-.2px;border:1px solid rgba(255,255,255,.15)}
.company-band__btn:hover{filter:brightness(0.98)}
.company-band__btn.is-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}
.company-band__btn.is-ghost:hover{background:rgba(255,255,255,.10)}

@media (max-width: 980px){
  .company-band__inner{grid-template-columns:1fr}
}

@media (max-width: 980px){
  .site-footer__grid{grid-template-columns:1fr}
  .site-footer__mini{white-space:normal}
}

@media (max-width: 560px){
  .site-footer{padding:32px var(--pad) 24px}
  .site-footer__top{align-items:flex-start;flex-direction:column}
  .site-footer__row{grid-template-columns:74px 1fr}
  .site-footer__phone{font-size:20px}
}

/* Policy modal */
body.hh-modal-open{overflow:hidden}
.hh-modal{display:none;position:fixed;inset:0;z-index:99999}
.hh-modal.is-open{display:flex;align-items:flex-start;justify-content:center}
.hh-modal__backdrop{position:absolute;inset:0;background:rgba(2,6,23,.62)}
.hh-modal__dialog{position:relative;width:min(740px, calc(100% - 32px));margin:10vh auto 0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.hh-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;background:#333;color:#fff}
.hh-modal__title{margin:0;font-size:19px;font-weight:900;color:#fff;letter-spacing:-0.03em}
.hh-modal__close{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff !important;font-size:22px;line-height:1;cursor:pointer}
.hh-modal__close:hover{background:rgba(255,255,255,.12)}
.hh-modal__body{padding:22px 24px 24px;color:#334155;max-height:calc(90vh - 180px);overflow-y:auto}
.hh-modal__actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px 20px;border-top:1px solid rgba(15,23,42,.06)}
.hh-modal__ok{height:42px;padding:0 20px;border-radius:10px;background:#ffffff;color:var(--main-color);font-size:15px;font-weight:900;border:1px solid rgba(15,23,42,.06);box-shadow:0 8px 18px rgba(2,6,23,.06);transition:transform .18s ease,box-shadow .18s ease;cursor:pointer}
.hh-modal__ok:hover{transform:translateY(-2px);box-shadow:0 14px 26px rgba(2,6,23,.08)}

.policy-doc .policy-intro{margin-bottom:16px;padding:14px 16px;background:rgba(10,31,53,.02);border-left:3px solid var(--main-color);border-radius:6px}
.policy-doc .policy-intro p{margin:0;font-size:14px;line-height:1.7;color:#475569}
.policy-doc h4{margin:20px 0 10px;font-size:16px;font-weight:900;color:var(--main-color);letter-spacing:-0.02em}
.policy-doc h4:first-of-type{margin-top:0}
.policy-doc p{margin:0 0 10px;font-size:14px;line-height:1.75;color:#475569}
.policy-doc ul{margin:6px 0 12px;padding-left:20px;list-style:none}
.policy-doc ul li{position:relative;padding-left:14px;margin-bottom:6px;font-size:14px;line-height:1.7;color:#475569}
.policy-doc ul li:before{content:"•";position:absolute;left:0;color:var(--sub-color);font-weight:900}
.policy-doc ul ul{margin-top:6px;margin-bottom:8px}
.policy-doc strong{color:var(--main-color);font-weight:900}
.policy-doc .policy-footer{margin-top:24px;padding-top:18px;border-top:1px solid rgba(15,23,42,.08)}
.policy-doc .policy-footer p{margin:0;font-size:14px;color:#64748b}

@media (max-width: 560px){
  .hh-modal{align-items:center}
  .hh-modal__dialog{margin:0 auto;width:calc(100% - 20px)}
  .hh-modal__header{padding:14px 18px}
  .hh-modal__title{font-size:17px}
  .hh-modal__body{padding:18px;max-height:calc(80vh - 150px)}
  .hh-modal__actions{padding:12px 18px 16px}
  .policy-doc h4{font-size:15px}
}

/* Contact (content_us) */
.sub_hero{background:#f8fafc;}

/* Hero banner with background */
.contact-hero{position:relative; width:100%; min-height:280px; overflow:hidden; display:flex; align-items:center; justify-content:center;}
.contact-hero__bg{position:absolute; inset:0; background-size:cover; background-position:center; background-repeat:no-repeat;}
.contact-hero__overlay{position:relative; z-index:2; text-align:center; color:#fff; padding:40px var(--pad);}
.contact-hero__overlay::before{content:""; position:absolute; inset:0; z-index:-1;}
.contact-hero__title{margin:0 0 10px; font-size:36px; font-weight:900; color:#ffffff; text-shadow:0 2px 12px rgba(0,0,0,.3);}
.contact-hero__lead{margin:0; font-size:16px; color:rgba(255,255,255,.95); text-shadow:0 1px 6px rgba(0,0,0,.25);}

/* Form wrapper */
.contact-wrap{max-width:1000px; margin:0 auto; padding:50px var(--pad);}
.contact-form{ border-radius:16px; padding:40px; }

/* Prevent any overlap/shrink issues inside the form */
.contact-form, .contact-form *{box-sizing:border-box;}
.form-field{min-width:0;}
.form-field input, .form-field textarea{min-width:0;}

/* Alert box */
.contact-alert{margin:0 0 22px; padding:18px 18px; border-radius:14px; background:#ffffff; border:1px solid rgba(15,23,42,.08); box-shadow:0 10px 28px rgba(15,23,42,.06);}
.contact-alert__title{margin:0 0 10px; font-size:16px; font-weight:900; color:var(--main-color); letter-spacing:-.02em;}
.contact-alert__list{margin:0; padding:0; list-style:none; display:grid; gap:8px;}
.contact-alert__list li{position:relative; padding-left:18px; color:#475569; font-size:14px; line-height:1.7;}
.contact-alert__list li::before{content:""; position:absolute; left:0; top:10px; width:6px; height:6px; border-radius:50%; background:var(--sub-color);}
.contact-alert__list strong{color:var(--main-color); font-weight:900;}

/* Form grid */
.form-grid{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px; margin-bottom:20px;}
.form-field{display:flex; flex-direction:column; gap:6px;}
.form-field label{font-size:14px; font-weight:800; color:var(--main-color); letter-spacing:-.02em;}
.form-field input, .form-field textarea{width:100%; border:2px solid rgba(15,23,42,.10); background:#fff; border-radius:12px; padding:12px 14px; font-size:15px; transition:all .2s ease;}
.form-field input:focus, .form-field textarea:focus{outline:none; border-color:var(--main-color); box-shadow:0 0 0 3px rgba(10,31,53,.06);}
.form-field textarea{min-height:160px; resize:vertical; font-family:inherit; line-height:1.6;}
.form-field.required label::after{content:" *"; color:#ef4444; font-weight:900;}

/* Consent row */
.form-consent{display:flex; align-items:center; gap:12px; margin-top:24px; padding:16px; background:rgba(10,31,53,.02); border-radius:10px; border:1px solid rgba(15,23,42,.06);}
.consent-label{display:flex; align-items:center; gap:10px; font-size:14px; color:#334155; font-weight:700; cursor:pointer;}
.consent-label input[type="checkbox"]{width:18px; height:18px; cursor:pointer;}
.consent-view{font-size:13px; color:var(--main-color); font-weight:800; text-decoration:underline;}
.consent-view:hover{color:#0a7894;}

/* Actions */
.form-actions{display:flex; align-items:center; gap:16px; margin-top:28px;}
.contact-submit{height:52px; padding:0 32px; border-radius:12px; background:var(--main-color); color:#fff; font-weight:900; font-size:16px; border:none; box-shadow:0 12px 24px rgba(10,31,53,.16); transition:all .2s ease; cursor:pointer;}
.contact-submit:hover:not(:disabled){transform:translateY(-2px); box-shadow:0 16px 32px rgba(10,31,53,.22);}
.contact-submit:disabled{opacity:.4; cursor:not-allowed;}
.form-status{font-size:14px; color:#64748b; font-weight:600;}

@media (max-width: 980px){
  .form-grid{grid-template-columns:1fr;}
  .contact-form{padding:32px;}
}

@media (max-width: 560px){
  .contact-hero{min-height:220px;}
  .contact-hero__title{font-size:28px;}
  .contact-hero__lead{font-size:14px;}
  .contact-wrap{padding:40px var(--pad);}
  .contact-form{padding:24px;}
  .form-actions{flex-direction:column; align-items:stretch;}
  .contact-submit{width:100%;}
}

/* Certificate: 기술혁신 카드 섹션 */
.tech-sec{max-width:1000px; margin:0 auto; padding:20px 0 0;}
.tech-sec .section-title{margin:50px 0 20px; font-size:30px; font-weight:900; color:var(--main-color);}
.tech-sec .section-desc{margin:0 0 18px; color:#475569; font-size:14px;}
.tech-grid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px;}
.tech-card{background:#fff; border:1px solid rgba(15,23,42,.08); border-radius:12px; overflow:hidden; box-shadow:0 6px 20px rgba(15,23,42,.06); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
.tech-card:hover{transform:translateY(-2px); box-shadow:0 12px 26px rgba(15,23,42,.12); border-color:rgba(163,200,87,.35);}
.tech-card a{display:flex; flex-direction:column; height:100%;}
.tech-card .thumb{position:relative; aspect-ratio:16/16; background:#ffffff; background-size:cover; background-position:center; margin:auto; display:flex; align-items:center; justify-content:center;}
.tech-card .thumb img{display:block; max-width:100%; max-height:100%; object-fit:contain;}
.tech-card .card-body{padding:12px 12px 14px; text-align: center}
.tech-card .card-title{margin:0; font-size:16px; font-weight:900; color:var(--main-color);}
.tech-card .card-desc{margin:6px 0 8px; color:#64748b; font-size:13px; line-height:1.6;}
.tech-card .card-link{display:inline-block; font-size:13px; font-weight:800; color:var(--main-color); text-decoration:underline;}

@media (max-width: 980px){
  .tech-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width: 560px){
  .tech-sec{padding:10px 0 0;}
  .tech-grid{grid-template-columns:1fr;}
}

#daumRoughmapContainer1769520240121 {
    max-width: var(--max);
    width: 100%;
    height: 100%;
    margin-top: 30px;
  }

/* Company (company/index.php) */
.company-page{background:#ffffff; }

.company-hero{background:#ffffff; padding:0;}
.company-hero__inner{max-width:1200px; margin:0 auto; display:grid; grid-template-columns: 1fr 1.2fr; align-items:stretch; min-height:520px;}

.company-hero__content{padding:70px var(--pad) 70px var(--pad); display:flex; flex-direction:column; justify-content:center; gap:12px;}
.company-hero__eyebrow{font-size:13px; font-weight:900; letter-spacing:.16em; color:#0a3b7a; text-transform:uppercase;}
.company-hero__title{margin:0; font-size:38px; font-weight:950; letter-spacing:-.04em; color:var(--main-color);}
.company-hero__lead{margin:6px 0 0; color:#334155; font-size:15px; line-height:1.85;}
.company-hero__sub{margin:0; color:#475569; font-size:14.5px; line-height:1.85;}

/* Home sections (index.php) */
.home-main{background:#ffffff;}
.home-sec{padding:72px 0;}
.home-sec--alt{background:#f8fafc;}
.home-sec--why{background:#333;}
.home-inner{max-width:var(--max);margin:0 auto;padding:0 var(--pad);}
.home-head{margin:0 0 22px;}
.home-title{margin:0 0 8px;font-size:30px;font-weight:950;letter-spacing:-.04em;color:var(--main-color);}
.home-sec--why .home-title{color:var(--gold);} 
.home-desc{margin:0;color:#475569;font-size:14.5px;line-height:1.85;}
.home-sec--why .home-desc{color:#cbd5e1;}

/* Service cards */
.svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.svc-card{display:block;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:#fff;padding:14px 14px 16px;box-shadow:0 10px 26px rgba(15,23,42,.06);transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;min-height:110px;text-align:center;}
.svc-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(15,23,42,.10);border-color:rgba(10,31,53,.22);}
.svc-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;margin:4px auto 12px;}
.svc-icon img{max-width:70%;max-height:70%;object-fit:contain;display:block}
.svc-name{display:block;font-size:17px;font-weight:950;letter-spacing:-.02em;color:var(--main-color);}
.svc-desc{display:block;margin-top:8px;color:#64748b;font-size:13.5px;line-height:1.85;}

/* Home company intro (image left, text right) */
.home-company{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.home-company__media{margin:0;border-radius:16px;overflow:hidden;box-shadow:0 18px 40px rgba(15,23,42,.12);border:1px solid rgba(15,23,42,.08);background:#fff}
.home-company__img{width:100%;height:100%;max-height:350px;display:block;object-fit:cover}
.home-company__content{display:flex;flex-direction:column;justify-content:center;gap:10px}
.home-company__eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:950;letter-spacing:.18em;color:#64748b;text-transform:uppercase}
.home-company__eyebrow:before{content:"";display:inline-block;width:26px;height:2px;background:var(--sub-color);border-radius:999px;opacity:.9}
.home-company__headline{margin:0;font-size:30px;font-weight:950;letter-spacing:-.04em;color:#0f172a;line-height:1.15}
.home-company__lead{margin:4px 0 0;color:#334155;font-size:15.5px;font-weight:750;line-height:1.9}
.home-company__text{margin:0;color:#475569;font-size:14.5px;font-weight:600;line-height:1.95}

.home-company1{display:grid;gap:28px;align-items:stretch}
.home-company1__media{margin:0;border-radius:16px;overflow:hidden;box-shadow:0 18px 40px rgba(15,23,42,.12);border:1px solid rgba(15,23,42,.08);background:#fff}
.home-company1__img{width:100%;height:100%;max-height:350px;display:block;object-fit:cover}
.home-company1__content{display:flex;flex-direction:column;justify-content:center;gap:10px}
.home-company1__eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:950;letter-spacing:.18em;color:#64748b;text-transform:uppercase}
.home-company1__eyebrow:before{content:"";display:inline-block;width:26px;height:2px;background:var(--sub-color);border-radius:999px;opacity:.9}
.home-company1__headline{margin:0;font-size:30px;font-weight:950;letter-spacing:-.04em;color:#0f172a;line-height:1.15}
.home-company1__lead{margin:4px 0 0;color:#334155;font-size:15.5px;font-weight:750;line-height:1.9}
.home-company1__text{margin:0;color:#475569;font-size:14.5px;font-weight:600;line-height:1.95}


/* Timeline (rich, attachment-like) */
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:22px;position:relative}
.tl-rich{padding-left:0}
.tl-rich:before{content:"";position:absolute;left:32px;top:0;bottom:0;width:4px;background:linear-gradient(180deg, rgba(212,184,134,.5), rgba(212,184,134,.15));border-radius:999px}
.timeline-item{display:grid;grid-template-columns:86px 1fr;gap:18px;align-items:center}
.tl-node{align-self:center}
.tl-node{width:64px;height:64px;border-radius:999px;background:linear-gradient(135deg, #f5e9d2, #e6d2a8);box-shadow:0 8px 22px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;color:#333;font-weight:900;font-size:18px;border:1px solid rgba(212,184,134,.6)}
.tl-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:18px 18px;box-shadow:0 12px 32px rgba(15,23,42,.06)}
.tl-title{margin:0 0 8px;font-size:18px;font-weight:950;color:#0f172a;letter-spacing:-.02em}
.tl-desc{margin:0;color:#334155;font-size:14.5px;line-height:1.85}
.tl-tags{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}
.tl-badge{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:999px;background:#f8fafc;border:1px solid rgba(15,23,42,.08);color:#334155;font-size:13px;font-weight:800}
.tl-badge.is-alert{background:#fff1f2;color:#b91c1c;border-color:#fecaca}
.tl-badge.is-cost{background:#fffbeb;color:#92400e;border-color:#fde68a}
.tl-badge.is-info{background:#ecfeff;color:#0ea5e9;border-color:#bae6fd}
.tl-badge.is-success{background:#f0fdf4;color:#166534;border-color:#bbf7d0}

/* Why us */
.why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.home-sec--why .why-card{background:#2b2b2b;border:1.5px solid var(--gold);border-radius:16px;padding:18px;box-shadow:0 16px 28px rgba(0,0,0,.25)}
.home-sec--why .why-title{display:block;font-size:15px;font-weight:950;color:var(--gold);letter-spacing:-.02em}
.home-sec--why .why-desc{margin:8px 0 0;color:#e5e7eb;font-size:13.5px;line-height:1.75}

/* Home inquiry form (screenshot-like) */
.home-sec--inquiry{background:#ffffff;}
.home-inquiry{background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:14px;overflow:hidden;box-shadow:0 14px 34px rgba(15,23,42,.08);}
.home-inquiry, .home-inquiry *{box-sizing:border-box;}
.inq-row{display:grid;grid-template-columns:240px 1fr;align-items:center;border-top:1px solid rgba(15,23,42,.08);}
.inq-row:first-child{border-top:0;}
.inq-label{padding:18px 18px;font-weight:850;color:var(--main-color);font-size:14px;letter-spacing:-.02em;text-align:center;background:#fff;}
.inq-field{padding:14px 18px;}
.inq-input{width:100%;height:44px;border:1px solid rgba(15,23,42,.18);border-radius:4px;padding:0 12px;font-size:14.5px;outline:none;transition:border-color .15s ease, box-shadow .15s ease;}
.inq-input:focus{border-color:rgba(10,31,53,.55);box-shadow:0 0 0 3px rgba(10,31,53,.08);}
.inq-textarea{width:100%;min-height:220px;border:1px solid rgba(15,23,42,.18);border-radius:4px;padding:12px;font-size:14.5px;line-height:1.7;resize:vertical;outline:none;transition:border-color .15s ease, box-shadow .15s ease;}
.inq-textarea:focus{border-color:rgba(10,31,53,.55);box-shadow:0 0 0 3px rgba(10,31,53,.08);}
.inq-radios{display:flex;flex-wrap:wrap;gap:18px;align-items:center;}
.inq-radio{display:inline-flex;gap:8px;align-items:center;font-size:14px;color:#334155;font-weight:700;}
.inq-radio input{width:14px;height:14px;}
.inq-phone{display:flex;align-items:center;gap:10px;max-width:520px;}
.inq-phone .inq-input{width:120px;text-align:center;}
.inq-dash{color:#94a3b8;font-weight:800;}
.inq-row--message{align-items:stretch;}
.inq-row--message .inq-label{display:flex;align-items:center;justify-content:center;}
.inq-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:16px 18px;border-top:1px solid rgba(15,23,42,.08);background:#fff;}
.inq-consent{display:inline-flex;align-items:center;gap:10px;color:#334155;font-size:13.5px;font-weight:700;}
.inq-consent input{width:16px;height:16px;}
.inq-view{font-size:13px;color:#333;font-weight:800;text-decoration:underline}
.inq-view:hover{color:#0f172a}
.inq-submit{height:46px;padding:0 18px;border-radius:6px;background:var(--main-color);color:#fff;font-weight:950;letter-spacing:-.01em;box-shadow:0 12px 24px rgba(10,31,53,.16);transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;}
.inq-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 30px rgba(10,31,53,.22);}
.inq-submit:disabled{opacity:.45;cursor:not-allowed;}
.inq-status{flex:1;min-width:220px;color:#64748b;font-size:13.5px;font-weight:650;}

@media (max-width: 980px){
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .why-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .home-company{grid-template-columns:1fr;}
  .home-company__headline{font-size:26px;}
  .inq-row{grid-template-columns:160px 1fr;}
  .inq-label{text-align:left;}
}

@media (max-width: 560px){
  .home-sec{padding:54px 0;}
  .home-title{font-size:24px;}
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .why-grid{grid-template-columns:1fr;}
  .timeline-item{grid-template-columns:72px 1fr;}
  .home-company__img{min-height:220px;}
  .home-company__headline{font-size:24px;}
  .inq-row{grid-template-columns:1fr;}
  .inq-label{padding:14px 18px;background:#f8fafc;}
  .inq-field{padding:12px 18px 16px;}
  .inq-phone{gap:8px;}
  .inq-phone .inq-input{width:86px;}
  .inq-actions{flex-direction:column;align-items:stretch;}
  .inq-submit{width:100%;}
  .inq-status{min-width:0;}
}
.company-hero__thanks{margin:0; color:#64748b; font-size:14px; line-height:1.85;}

.company-hero__actions{margin-top:14px; display:flex; gap:10px; flex-wrap:wrap;}
.company-hero__btn{display:inline-flex; align-items:center; justify-content:center; height:44px; padding:0 18px; border-radius:999px; background:#ffffff; color:#0a3b7a; font-weight:900; border:2px solid rgba(10,59,122,.35); box-shadow:0 10px 24px rgba(10,31,53,.10); transition:transform .2s ease, box-shadow .2s ease, background .2s ease;}
.company-hero__btn:hover{transform:translateY(-2px); box-shadow:0 16px 32px rgba(10,31,53,.14); background:rgba(10,59,122,.05);}

/* Right image with diagonal cut */
.company-hero__media{position:relative; overflow:hidden; background:#e7f0ff;}
.company-hero__img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; clip-path:polygon(18% 0, 100% 0, 100% 100%, 0 100%);}
.company-hero__media::before{content:""; position:absolute; left:0; top:0; bottom:0; width:22%; background:#ffffff; clip-path:polygon(0 0, 100% 0, 0 100%); z-index:2;}
.company-hero__media::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(255,255,255,.35) 0%, rgba(255,255,255,0) 40%); z-index:1;}

/* Map section */
.company-map{background:#f8fafc; padding:70px var(--pad);}
.company-map__inner{max-width:1200px; margin:0 auto;}
.company-map__title{margin:0 0 8px; font-size:26px; font-weight:950; color:var(--main-color); letter-spacing:-.03em;}
.company-map__addr{margin:0 0 16px; color:#64748b; font-size:14px;}
.company-map__canvas{width:100%; height:420px; border-radius:16px; overflow:hidden; background:#e2e8f0; border:1px solid rgba(15,23,42,.08); box-shadow:0 10px 30px rgba(15,23,42,.08);}

@media (max-width: 980px){
  .company-hero__inner{grid-template-columns:1fr; min-height:auto;}
  .company-hero__content{padding:50px var(--pad);}
  .company-hero__media{height:340px;}
  .company-hero__img{clip-path:none;}
  .company-hero__media::before{display:none;}
}

@media (max-width: 560px){
  .company-hero__title{font-size:28px;}
  .company-hero__content{padding:42px var(--pad);}
  .company-map{padding:50px var(--pad);}
  .company-map__canvas{height:320px;}
}

/* 주요서비스: 원형 그리드 */
.svc-circles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}
.svc-circle{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;aspect-ratio:1/1;border-radius:999px;background:#fff;border:1px solid rgba(0,0,0,.10);box-shadow:0 10px 26px rgba(0,0,0,.06);padding:14px}
.svc-circle .svc-num{display:block;font-size:12px;letter-spacing:.12em;color:#999;margin-bottom:6px}
.svc-circle .svc-label{display:block;color:#333;font-weight:800;line-height:1.35;word-break:keep-all}
@media (max-width: 760px){.svc-circles{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Desktop: fit six in one row */
@media (min-width: 981px){
  .svc-circles{grid-template-columns:repeat(6, minmax(0, 1fr)); gap:12px}
  .svc-circle{width:120px;height:120px;aspect-ratio:auto;padding:10px;margin:0 auto}
  .svc-circle .svc-label{font-size:12px}
}

/* Company Hero: absolute background + centered text overlay */
.company-hero{position:relative;width:100%;height:300px;margin:0;padding:0;}
.company-hero__bg{position:absolute;inset:0;width:100%;height:300px;object-fit:cover;display:block}
.company-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.25) 45%, rgba(0,0,0,.45) 100%)}
.company-hero__center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 24px}
.company-hero__title{color:#fff;font-size:36px;font-weight:900;letter-spacing:-.02em;margin:0}
.company-hero__lead{margin:10px 0 0;color:rgba(255,255,255,.92);font-size:16px;font-weight:700;line-height:1.8}
@media (max-width:560px){.company-hero{height:200px}.company-hero__title{font-size:28px}.company-hero__lead{font-size:14px}
.company-hero__bg{position:absolute;inset:0;width:100%;height:200px;}
}

/* ==============================
   회사소개 섹션 (넓고 가독성 높게)
   ============================== */
.home-company1{width:100%;padding:20px 0}
.home-company1__content{display:flex;flex-direction:column;gap:16px}

.home-company1__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  font-weight:900;
  letter-spacing:.18em;
  color:#64748b;
  text-transform:uppercase;
  margin-bottom:4px;
}
.home-company1__eyebrow:before{
  content:"";
  display:inline-block;
  width:32px;
  height:3px;
  background:var(--sub-color);
  border-radius:999px;
}

.home-company1__headline{
  margin:0;
  font-size:38px;
  font-weight:950;
  letter-spacing:-.04em;
  color:#0f172a;
  line-height:1.2;
}

.home-company1__lead{
  margin:6px 0 0;
  color:#334155;
  font-size:19px;
  font-weight:750;
  line-height:1.8;
}

.home-company1__text{
  margin:4px 0 0;
  color:#475569;
  font-size:17px;
  font-weight:500;
  line-height:2;
}

.home-company1__services{margin-top:28px}

@media (max-width: 980px){
  .home-company1__headline{font-size:32px}
  .home-company1__lead{font-size:17px}
  .home-company1__text{font-size:16px}
}

@media (max-width: 560px){
  .home-company1__headline{font-size:26px}
  .home-company1__lead{font-size:16px}
  .home-company1__text{font-size:15px}
}

/* ==============================
   기업진단 페이지 스타일
   ============================== */

/* 기업진단 소개 */
.diag-intro{background:#f8fafc;border-radius:16px;padding:32px;margin-top:8px}
.diag-intro__text{color:#334155;font-size:17px;line-height:1.9;margin:0 0 16px}
.diag-intro__note{background:var(--sub-color);border-left:4px solid var(--sub-color);padding:14px 18px;font-size:16px;font-weight:700;color:#0f172a;border-radius:8px}

/* 필요한 경우 */
.diag-cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:12px}
.diag-case{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:12px;padding:18px 20px;box-shadow:0 10px 26px rgba(15,23,42,.06);display:flex;align-items:center;justify-content:center;text-align:center;transition:transform .2s ease,box-shadow .2s ease}
.diag-case:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(15,23,42,.10)}
.diag-case span{color:#0f172a;font-weight:800;font-size:15px;line-height:1.5}

/* 진행절차 */
.diag-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:12px}
.diag-step{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:16px;padding:24px 18px;box-shadow:0 10px 26px rgba(15,23,42,.06);text-align:center;position:relative}
.diag-step__num{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--sub-color);color:#fff;border-radius:999px;font-size:18px;font-weight:900;margin-bottom:12px}
.diag-step__title{margin:0 0 8px;font-size:17px;font-weight:900;color:#0f172a}
.diag-step__desc{margin:0;font-size:15px;color:#64748b;line-height:1.7}

/* 실질자본금 계산 */
.diag-formula{background:#fff;border:2px solid var(--sub-color);border-radius:16px;padding:28px;margin-top:12px}
.diag-formula__main{font-size:24px;font-weight:900;color:#0f172a;text-align:center;padding:18px;background:#f8fafc;border-radius:12px;margin-bottom:20px}
.diag-formula__details{display:grid;gap:14px}
.diag-formula__item{background:#f8fafc;border-radius:12px;padding:16px 20px;display:grid;grid-template-columns:140px 1fr;gap:14px;align-items:start}
.diag-formula__item--full{grid-template-columns:1fr;padding:16px 24px}
.diag-formula__item--full strong{display:none}
.diag-formula__item strong{font-size:16px;font-weight:900;color:#0f172a}
.diag-formula__item span{font-size:15px;color:#475569;line-height:1.7}

@media (max-width: 980px){
  .diag-steps{grid-template-columns:repeat(2,1fr)}
  .diag-formula__item{grid-template-columns:1fr;gap:8px}
}

@media (max-width: 560px){
  .diag-intro{padding:22px}
  .diag-steps{grid-template-columns:repeat(2,1fr)}
  .diag-cases{grid-template-columns:1fr}
  .diag-formula__main{font-size:18px}
}

/* 실태조사 규정 */
.diag-regulation{display:grid;gap:28px;margin-top:12px}
.diag-regulation__item{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:26px 30px;box-shadow:0 10px 26px rgba(15,23,42,.06)}
.diag-regulation__title{font-size:19px;font-weight:900;color:#0f172a;margin:0 0 14px;padding-bottom:12px;border-bottom:2px solid var(--sub-color)}
.diag-regulation__desc{font-size:16px;color:#475569;line-height:1.8;margin:0}
.diag-regulation__list{margin:0;padding-left:24px}
.diag-regulation__list li{color:#475569;font-size:16px;line-height:1.9;margin-bottom:10px}
.diag-regulation__list li:last-child{margin-bottom:0}
.diag-regulation__list strong{color:#0f172a;font-weight:800}

@media (max-width: 560px){
  .diag-regulation__item{padding:20px 24px}
  .diag-regulation__title{font-size:17px}
  .diag-regulation__desc,.diag-regulation__list li{font-size:15px}
}

/* 부실징후 자산 항목 */
.diag-assets{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-top:12px}
.diag-asset{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:24px 20px;box-shadow:0 10px 26px rgba(15,23,42,.06);display:flex;align-items:flex-start;gap:16px;transition:transform .2s ease,box-shadow .2s ease}
.diag-asset:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(15,23,42,.10)}
.diag-asset__num{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:12px;font-size:18px;font-weight:900;flex-shrink:0;box-shadow:0 4px 12px rgba(239,68,68,.25)}
.diag-asset__desc{margin:0;font-size:16px;color:#334155;line-height:1.8;padding-top:8px;font-weight:600}

@media (max-width: 980px){
  .diag-assets{grid-template-columns:repeat(2,1fr)}
}

@media (max-width: 560px){
  .diag-assets{grid-template-columns:1fr}
  .diag-asset{padding:20px 18px}
  .diag-asset__num{min-width:38px;height:38px;font-size:16px}
  .diag-asset__desc{font-size:15px;padding-top:6px}
}

/* 기업진단 기준일 표 */
.diag-table-wrap{overflow-x:auto;margin-top:12px}
.diag-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 26px rgba(15,23,42,.08)}
.diag-table thead{background:#4db8a8}
.diag-table th{padding:18px 14px;color:#fff;font-weight:900;font-size:16px;text-align:center;border-right:1px solid rgba(255,255,255,.2)}
.diag-table th:last-child{border-right:0}
.diag-table tbody tr{border-bottom:1px solid rgba(15,23,42,.08)}
.diag-table tbody tr:last-child{border-bottom:0}
.diag-table td{padding:18px 16px;color:#475569;font-size:16px;text-align:center;line-height:1.7;border-right:1px solid rgba(15,23,42,.06)}
.diag-table td:last-child{border-right:0}
.diag-table__label{background:#f1f5f9;font-weight:900;color:#0f172a}

@media (max-width: 980px){
  .diag-table{font-size:12px}
  .diag-table th,.diag-table td{padding:12px 8px}
}

/* 실태조사 점검사항 표 */
.diag-inspect-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 26px rgba(15,23,42,.08)}
.diag-inspect-table thead tr{height:60px}
.diag-inspect-table__dark{background:#3a3a3a;color:#fff;font-weight:900;font-size:17px;text-align:center;padding:18px 20px;border-right:1px solid rgba(255,255,255,.1);width:180px}
.diag-inspect-table__teal{background:#4db8a8;color:#fff;font-weight:900;font-size:17px;text-align:center;padding:18px 20px;border-right:1px solid rgba(255,255,255,.15)}
.diag-inspect-table__teal:last-child{border-right:0}
.diag-inspect-table tbody tr{border-bottom:1px solid rgba(15,23,42,.08)}
.diag-inspect-table tbody tr:last-child{border-bottom:0}
.diag-inspect-table tbody td{padding:20px 18px;font-size:16px;text-align:left;line-height:1.7;border-right:1px solid rgba(15,23,42,.06);vertical-align:middle}
.diag-inspect-table tbody td:last-child{border-right:0;text-align:center}
.diag-inspect-table__category{background:#f8fafc;font-weight:900;color:#0f172a;text-align:center!important;font-size:17px;border-right:1px solid rgba(15,23,42,.1)!important}

@media (max-width: 980px){
  .diag-inspect-table{font-size:13px}
  .diag-inspect-table__dark,.diag-inspect-table__teal{font-size:15px;padding:14px 12px}
  .diag-inspect-table__dark{width:120px}
  .diag-inspect-table tbody td{padding:16px 12px;font-size:14px}
  .diag-inspect-table__category{font-size:15px}
}

@media (max-width: 560px){
  .diag-inspect-table{font-size:12px}
  .diag-inspect-table__dark,.diag-inspect-table__teal{font-size:13px;padding:12px 8px}
  .diag-inspect-table__dark{width:90px}
  .diag-inspect-table tbody td{padding:12px 8px;font-size:13px}
  .diag-inspect-table__category{font-size:13px}
}

/* 기업진단 필요서류 표 */
.diag-docs-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 26px rgba(15,23,42,.08)}
.diag-docs-table thead{background:#3a3a3a}
.diag-docs-table th{padding:18px 14px;color:#fff;font-weight:900;font-size:16px;text-align:center;border-right:1px solid rgba(255,255,255,.15)}
.diag-docs-table th:last-child{border-right:0}
.diag-docs-table tbody tr{border-bottom:1px solid rgba(15,23,42,.08)}
.diag-docs-table tbody tr:last-child{border-bottom:0}
.diag-docs-table td{padding:16px 14px;color:#475569;font-size:16px;text-align:center;line-height:1.7;border-right:1px solid rgba(15,23,42,.06)}
.diag-docs-table td:last-child{border-right:0}
.diag-docs-table__name{text-align:center!important;font-weight:600;color:#0f172a}
.diag-docs-check{display:inline-block;font-size:20px;font-weight:900}
.diag-docs-check--corp{color:#3b82f6}
.diag-docs-check--indiv{color:#f59e0b}
.diag-docs-note{margin-top:16px;font-size:16px;color:#64748b;line-height:1.6}

@media (max-width: 980px){
  .diag-docs-table{font-size:12px}
  .diag-docs-table th,.diag-docs-table td{padding:12px 8px}
  .diag-docs-check{font-size:16px}
}

/* 문의하기 버튼 */
.home-sec--cta{padding:60px 0}
.home-cta-btn{display:inline-block;padding:18px 48px;background:var(--sub-color);color:#fff;font-size:18px;font-weight:900;border-radius:50px;box-shadow:0 10px 26px rgba(163,200,87,.3);transition:all .3s ease}
.home-cta-btn:hover{background:#92b448;transform:translateY(-2px);box-shadow:0 14px 32px rgba(163,200,87,.4)}

@media (max-width: 560px){
  .home-sec--cta{padding:40px 0}
  .home-cta-btn{padding:16px 36px;font-size:16px}
}
/* ==============================
   시공능력평가 페이지 스타일
   ============================== */

/* 평가 공식 스타일 */
.eval-formula{margin-top:12px}
.eval-formula__box{background:#f8fafc;color:#0f172a;font-size:19px;font-weight:900;padding:24px 28px;border-radius:16px;text-align:center;border:2px solid #e2e8f0;line-height:1.7}
.eval-formula__content{background:#f8fafc;border-radius:16px;padding:28px;margin-top:20px}
.eval-formula__intro{font-size:16px;color:#475569;line-height:1.9;margin:0 0 20px;font-weight:600}
.eval-formula__item{padding:20px 0;border-bottom:1px solid rgba(15,23,42,.08)}
.eval-formula__item:last-child{border-bottom:0;padding-bottom:0}
.eval-formula__item:first-child{padding-top:0}
.eval-formula__num{display:inline-block;min-width:45px;height:36px;line-height:36px;background:var(--sub-color);color:#fff;font-size:17px;font-weight:900;border-radius:8px;text-align:center;margin-right:12px;vertical-align:top}
.eval-formula__text{display:inline-block;width:calc(100% - 60px);font-size:16px;color:#334155;line-height:1.8;margin:0;vertical-align:top}
.eval-formula__sub{margin:12px 0 0 20px;padding:12px 0;background:transparent;border-radius:0}
.eval-formula__subitem{margin-bottom:16px;font-size:15px;color:#475569;line-height:1.9}
.eval-formula__subitem:last-child{margin-bottom:0}
.eval-formula__subitem strong{color:#0f172a;font-weight:900;margin-right:8px}
.eval-formula__highlight{background:#fff;border:2px dashed var(--sub-color);padding:16px 20px;margin:12px 0;border-radius:12px;font-weight:900;color:#0f172a;font-size:16px;line-height:1.7}
.eval-formula__list{margin:12px 0 0;padding-left:20px}
.eval-formula__list li{color:#475569;font-size:15px;line-height:1.8;margin-bottom:8px}
.eval-formula__list li:last-child{margin-bottom:0}

@media (max-width: 980px){
  .eval-formula__box{font-size:17px;padding:20px 24px}
  .eval-formula__content{padding:24px}
  .eval-formula__num{min-width:40px;height:32px;line-height:32px;font-size:16px}
  .eval-formula__text{width:calc(100% - 55px);font-size:15px}
  .eval-formula__sub{margin-left:16px}
}

@media (max-width: 560px){
  .eval-formula__box{font-size:15px;padding:18px 20px}
  .eval-formula__content{padding:20px}
  .eval-formula__num{min-width:36px;height:30px;line-height:30px;font-size:15px;margin-right:8px}
  .eval-formula__text{width:calc(100% - 48px);font-size:14px}
  .eval-formula__sub{margin-left:12px;padding:0}
  .eval-formula__subitem{font-size:14px}
  .eval-formula__highlight{font-size:14px;padding:14px 16px}
  .eval-formula__list li{font-size:14px}
}

/* 신인도 평가 항목 스타일 */
.credibility-items{display:grid;gap:16px;margin-top:24px}
.credibility-item{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:24px 28px;box-shadow:0 10px 26px rgba(15,23,42,.06);transition:transform .2s ease,box-shadow .2s ease}
.credibility-item:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(15,23,42,.10)}
.credibility-item__header{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.credibility-item__badge{display:inline-flex;align-items:center;justify-content:center;min-width:50px;height:28px;border-radius:6px;font-size:14px;font-weight:900;color:#fff;padding:0 12px}
.credibility-item--plus .credibility-item__badge{background:linear-gradient(135deg,#10b981,#059669)}
.credibility-item--minus .credibility-item__badge{background:linear-gradient(135deg,#ef4444,#dc2626)}
.credibility-item--variable .credibility-item__badge{background:linear-gradient(135deg,#f59e0b,#d97706)}
.credibility-item__title{margin:0;font-size:18px;font-weight:900;color:#0f172a}
.credibility-item__desc{margin:0;font-size:16px;color:#475569;line-height:1.8}
.credibility-item__list{margin:12px 0 0;padding-left:20px}
.credibility-item__list li{color:#475569;font-size:16px;line-height:1.8;margin-bottom:8px}
.credibility-item__list li:last-child{margin-bottom:0}
.credibility-item__list strong{color:#0f172a;font-weight:800}

@media (max-width: 980px){
  .credibility-item{padding:20px 24px}
  .credibility-item__title{font-size:17px}
  .credibility-item__desc,.credibility-item__list li{font-size:15px}
}

@media (max-width: 560px){
  .credibility-items{gap:12px}
  .credibility-item{padding:18px 20px}
  .credibility-item__header{gap:10px;flex-wrap:wrap}
  .credibility-item__badge{min-width:45px;height:26px;font-size:13px;padding:0 10px}
  .credibility-item__title{font-size:16px;width:100%}
  .credibility-item__desc,.credibility-item__list li{font-size:14px}
}

/* ==============================
   공제조합 프로세스 플로우 스타일
   ============================== */

.process-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:12px}
.process-item{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;padding:0}
.process-item__badge{display:inline-flex;align-items:center;justify-content:center;min-width:110px;height:46px;background:linear-gradient(135deg,#4db8a8,#3a9d8f);color:#fff;font-size:15px;font-weight:900;border-radius:999px;box-shadow:0 6px 16px rgba(77,184,168,.3);margin-bottom:16px}
.process-item__badge--complete{background:linear-gradient(135deg,#10b981,#059669)}
.process-item__content{width:100%;background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:20px 24px;box-shadow:0 4px 12px rgba(15,23,42,.06);transition:all .3s ease}
.process-item:hover .process-item__content{border-color:var(--sub-color);box-shadow:0 8px 20px rgba(77,184,168,.15);transform:translateY(-4px)}
.process-item__title{margin:0 0 8px;font-size:18px;font-weight:900;color:#0f172a}
.process-item__desc{margin:0;font-size:15px;color:#64748b;line-height:1.7}
.process-item__arrow{display:none}

@media (max-width: 980px){
  .process-flow{grid-template-columns:repeat(2,1fr);gap:16px}
  .process-item__badge{min-width:100px;height:42px;font-size:14px;margin-bottom:14px}
  .process-item__content{padding:18px 20px}
  .process-item__title{font-size:17px}
  .process-item__desc{font-size:14px}
}

@media (max-width: 560px){
  .process-flow{grid-template-columns:1fr;gap:14px}
  .process-item__badge{min-width:90px;height:38px;font-size:13px;margin-bottom:12px}
  .process-item__content{padding:16px 18px}
  .process-item__title{font-size:16px}
  .process-item__desc{font-size:13px}
}

/* ==============================
   서류 체크리스트 스타일
   ============================== */

.doc-checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:12px}
.doc-item{display:flex;align-items:center;gap:16px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:18px 20px;transition:all .3s ease}
.doc-item:hover{border-color:var(--sub-color);box-shadow:0 6px 16px rgba(77,184,168,.15);transform:translateX(4px)}
.doc-item__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;color:var(--sub-color)}
.doc-item__icon svg{width:100%;height:100%}
.doc-item__text{font-size:16px;font-weight:600;color:#334155;line-height:1.6}

/* ==============================
   공제조합 프로세스 v2 (카드형)
   ============================== */
.gj-process{margin-top:12px}
.gj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gj-step{position:relative;background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:22px;box-shadow:0 4px 12px rgba(15,23,42,.06);transition:all .25s ease}
.gj-step:hover{border-color:var(--sub-color);box-shadow:0 8px 20px rgba(77,184,168,.15);transform:translateY(-3px)}
.gj-step__badge{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;background:linear-gradient(135deg,#4db8a8,#3a9d8f);color:#fff;font-size:12px;font-weight:900;border-radius:999px;box-shadow:0 6px 16px rgba(77,184,168,.25)}
.gj-step__badge--complete{background:linear-gradient(135deg,#10b981,#059669)}
.gj-step__icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0ea5e9,#38bdf8);color:#fff;box-shadow:0 8px 18px rgba(14,165,233,.25);margin-bottom:14px}
.gj-step__icon svg{width:26px;height:26px}
.gj-step__title{margin:0 0 8px;font-size:18px;font-weight:900;color:#0f172a}
.gj-step__desc{margin:0;font-size:15px;color:#64748b;line-height:1.7}

@media (max-width: 980px){
  .gj-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .gj-step{padding:20px}
  .gj-step__title{font-size:17px}
  .gj-step__desc{font-size:14px}
}

@media (max-width: 560px){
  .gj-grid{grid-template-columns:1fr;gap:14px}
  .gj-step{padding:18px}
  .gj-step__title{font-size:16px}
  .gj-step__desc{font-size:13px}
}

@media (max-width: 980px){
  .doc-checklist{grid-template-columns:1fr;gap:14px}
  .doc-item{padding:16px 18px;gap:14px}
  .doc-item__icon{width:28px;height:28px}
  .doc-item__text{font-size:15px}
}

@media (max-width: 560px){
  .doc-checklist{gap:12px}
  .doc-item{padding:14px 16px;gap:12px}
  .doc-item__icon{width:26px;height:26px}
  .doc-item__text{font-size:14px}
}

