@charset "utf-8";
.sub-main{min-height:65vh;background:var(--bg)}
.page-hero{
  position:relative;padding:88px 0 92px;color:var(--hero-text);
  background:var(--header);isolation:isolate;overflow:hidden;
}
.page-hero__bg{position:absolute;inset:0;z-index:0}
.page-hero__bg-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.page-hero__overlay{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  opacity:var(--ss-subvis-overlay,.6);
  background:
    linear-gradient(90deg, rgba(5,12,24,.96) 0%, rgba(5,12,24,.78) 48%, rgba(5,12,24,.45) 100%),
    linear-gradient(180deg, rgba(5,12,24,.2), rgba(5,12,24,.55));
}
.page-hero__inner{position:relative;z-index:2}
.page-hero__kicker,.page-hero > .container > p:not(.lead):not(.page-hero__lead){
  margin:0 0 8px;color:var(--accent2);font-size:.75rem;font-weight:900;letter-spacing:.15em
}
.page-hero__title,.page-hero h1{margin:0;font-size:clamp(2.3rem,4vw,4rem);line-height:1.12;color:#fff}
.page-hero__lead,.page-hero .lead{
  max-width:760px;margin:18px 0 0;
  color:color-mix(in srgb,var(--hero-text) 80%,transparent);
  font-size:1rem;letter-spacing:0
}
.page-hero__edit{
  position:absolute;right:0;bottom:0;z-index:4;
  width:auto !important;height:auto !important;
  display:inline-flex !important;
}
.page-hero__edit-preview{display:none !important}
.page-hero__edit .ge-img-edit__btn{
  position:static !important;transform:none !important;
  min-height:36px;padding:0 14px;border-radius:999px;
  background:var(--accent,var(--pink,#2f7dff));color:#fff;font-weight:800;
  box-shadow:0 10px 24px color-mix(in srgb,var(--accent,var(--pink,#2f7dff)) 28%,transparent);
}
.page-media-edit{display:block;position:relative}
.page-media-edit img,.page-wide-media .page-media-edit img,.page-media-grid .page-media-edit img{
  width:100%;height:auto;display:block
}
body.ge-edit-on .page-hero--editable .ge-iedit,
body.ge-edit-on .page-content .ge-iedit{outline:1px dashed rgba(255,255,255,.35);outline-offset:3px}
body.ge-edit-on .page-content .ge-iedit{outline-color:rgba(47,125,255,.35)}

.page-content{padding:75px 0 110px}.content-section{margin-bottom:70px}.content-section h2{margin:0 0 25px;font-size:clamp(1.7rem,3vw,2.6rem);letter-spacing:-.04em}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.info-card{padding:25px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.info-card h3{margin:0 0 8px}.info-card p{margin:0;color:var(--muted);font-size:.9rem}.company-story{display:grid;grid-template-columns:1.2fr .8fr;gap:60px}.company-story p{font-size:1.03rem}.company-facts{padding:30px;background:var(--surface);border-left:4px solid var(--accent)}.company-facts dl{display:grid;grid-template-columns:100px 1fr;margin:0}.company-facts dt,.company-facts dd{margin:0;padding:10px 0;border-bottom:1px solid var(--line)}.company-facts dt{font-weight:900}.category-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.category-tabs a{padding:9px 14px;background:var(--surface);border:1px solid var(--line);font-size:.82rem;font-weight:800}.category-tabs a.active{color:#fff;background:var(--accent);border-color:var(--accent)}.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:55px}.detail-image{display:flex;min-height:430px;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--line)}.detail-image img{width:100%;height:100%;object-fit:contain}.detail-copy .label{color:var(--accent);font-weight:900}.detail-copy h1{margin:7px 0 15px;font-size:2.5rem;line-height:1.15}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:24px 0;padding:0;list-style:none}.feature-list li{padding:11px;background:var(--surface)}.spec-table{width:100%;border-collapse:collapse}.spec-table th,.spec-table td{padding:13px;border-bottom:1px solid var(--line);text-align:left}.spec-table th{width:32%;background:var(--surface)}.used-status{display:inline-block;padding:4px 8px;color:#fff;background:var(--accent);font-size:.72rem;font-weight:900}.empty-state{padding:60px 20px;text-align:center;background:var(--surface);border:1px dashed var(--line)}.process-list{display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:0;list-style:none}.process-list li{position:relative;padding:25px 12px;text-align:center;background:var(--surface);border-right:1px solid var(--line);font-weight:900}.process-list li:not(:last-child):after{position:absolute;right:-8px;top:50%;z-index:2;color:var(--accent);content:"→"}.form-wrap{max-width:900px;margin:auto;padding:35px;background:var(--surface);border:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-weight:900;font-size:.85rem}.field input,.field select,.field textarea{width:100%;min-height:46px;padding:10px;border:1px solid var(--line);color:var(--text);background:var(--card)}.field textarea{min-height:150px;resize:vertical}.privacy-box{max-height:130px;overflow:auto;padding:15px;color:var(--muted);background:var(--card);border:1px solid var(--line);font-size:.78rem}.form-actions{display:flex;justify-content:center;margin-top:25px}.result-message{max-width:900px;margin:0 auto 20px;padding:15px;border:1px solid var(--accent);background:var(--card)}.case-detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.case-detail-meta div{padding:18px;background:var(--surface)}.case-detail-meta b{display:block;color:var(--accent);font-size:.75rem}.gnuboard-content{width:min(calc(100% - 48px),var(--max));margin:auto;padding:70px 0 100px}.gnuboard-content>h1{margin:0 0 30px;padding-bottom:18px;border-bottom:2px solid var(--text)}
.page-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:28px}
.page-media-grid figure,.page-wide-media{margin:0 0 28px;overflow:hidden;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}
.page-media-grid figure{margin-bottom:0;display:flex;flex-direction:column}
.page-media-grid img,.page-wide-media img{width:100%;display:block}
.page-wide-media.contain img{object-fit:contain;max-height:420px;margin:auto}
.page-media-grid figcaption,.page-wide-media figcaption{padding:12px 14px;color:var(--muted);font-size:.86rem}
/* 소재 페이지: 카드/캡션 없이 동일 크기 사진 2장만 */
.aw-materials-photos{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:0 0 28px;
  align-items:stretch;
}
.aw-materials-photos__item,
.aw-materials-photos .page-media-edit,
.aw-materials-photos .ge-img-edit{
  display:block !important;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  line-height:0;
}
.aw-materials-photos img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  vertical-align:top;
}
/* 접수 페이지: 좌측 안내 1열 + 우측 접수창 */
.aw-intake-layout{
  display:grid;
  grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);
  gap:28px;
  align-items:start;
  margin:0 0 10px;
}
.aw-intake-layout__side,
.aw-intake-layout__form{min-width:0}
.aw-intake-layout__form > h2{
  margin:0 0 18px;
  font-size:clamp(1.45rem,2.4vw,2rem);
  letter-spacing:-.03em;
}
.aw-intake-layout .info-grid--stack{
  grid-template-columns:1fr !important;
  gap:12px;
}
.aw-intake-layout .info-card{
  padding:18px 20px;
}
.aw-intake-layout .info-card h3{margin:0 0 6px;font-size:1.05rem}
.aw-intake-layout .info-card p{font-size:.88rem;line-height:1.45}
.aw-intake-step{
  display:inline-block;
  margin:0 0 6px;
  color:var(--accent);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
}
.aw-intake-layout .form-wrap{
  max-width:none;
  margin:0;
  width:100%;
  box-sizing:border-box;
}
.aw-intake-layout .form-grid{
  grid-template-columns:1fr 1fr;
}
/* 개인정보 동의 체크 — 작고 정리된 형태로 */
.form-wrap .field input:not([type=checkbox]):not([type=radio]):not([type=file]),
.form-wrap .field select,
.form-wrap .field textarea{
  width:100%;
  min-height:46px;
}
.form-wrap .field input[type=checkbox],
.form-wrap .field input[type=radio]{
  width:auto !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.aw-privacy-field{gap:10px !important}
.aw-consent{
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  width:auto !important;
  max-width:100%;
  margin:2px 0 0;
  padding:0 !important;
  cursor:pointer;
  font-weight:700 !important;
  font-size:.9rem !important;
  color:var(--text);
  user-select:none;
  flex-direction:row !important;
}
.aw-consent input{
  position:absolute !important;
  opacity:0 !important;
  width:1px !important;
  height:1px !important;
  margin:0 !important;
  pointer-events:none;
}
.aw-consent__box{
  flex:0 0 auto;
  width:16px;
  height:16px;
  border:1.5px solid #c5cdd8;
  border-radius:4px;
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  position:relative;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.aw-consent__box::after{
  content:"";
  position:absolute;
  left:4.5px;top:1px;
  width:4px;height:8px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg) scale(.5);
  opacity:0;
  transition:opacity .12s ease, transform .12s ease;
}
.aw-consent:hover .aw-consent__box{
  border-color:var(--accent);
}
.aw-consent input:focus-visible + .aw-consent__box{
  outline:2px solid color-mix(in srgb, var(--accent) 45%, #fff);
  outline-offset:2px;
}
.aw-consent input:checked + .aw-consent__box{
  background:var(--accent);
  border-color:var(--accent);
  box-shadow:none;
}
.aw-consent input:checked + .aw-consent__box::after{
  opacity:1;
  transform:rotate(45deg) scale(1);
}
.aw-consent__text{
  line-height:1.35;
}
/* 설치사례 페이지 */
.aw-cases-collage{
  margin:0 0 22px;
  overflow:hidden;
  border-radius:var(--radius);
  background:var(--surface);
  line-height:0;
}
.aw-cases-collage img,
.aw-cases-collage .page-media-edit img,
.aw-cases-collage .ge-img-edit img{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio:16/9;
  object-fit:cover;
}
.product-grid--cases{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.product-grid--cases .product-card{
  min-height:0;
}
.product-grid--cases .card-image{
  height:160px;
}
@media(max-width:1180px){
  .product-grid--cases{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .aw-materials-photos{grid-template-columns:1fr}
  .aw-intake-layout{grid-template-columns:1fr;gap:22px}
  .product-grid--cases{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .product-grid--cases{grid-template-columns:1fr}
}
@media(max-width:820px){.page-hero{padding:55px 0}.page-content{padding:55px 0 85px}.company-story,.detail-layout,.page-media-grid{grid-template-columns:1fr}.info-grid{grid-template-columns:repeat(2,1fr)}.process-list{grid-template-columns:1fr}.process-list li{border-bottom:1px solid var(--line)}.process-list li:not(:last-child):after{right:50%;top:auto;bottom:-14px;transform:rotate(90deg)}.gnuboard-content{width:calc(100% - 32px)}}
@media(max-width:520px){.info-grid,.form-grid,.case-detail-meta{grid-template-columns:1fr}.company-facts dl{grid-template-columns:80px 1fr}.feature-list{grid-template-columns:1fr}.form-wrap{padding:20px}.field.full{grid-column:auto}}
.detail-copy h2{margin:7px 0 15px;font-size:2.5rem;line-height:1.15}

/* 기술지원 프로세스 — 번호 원형 + 연결선 */
.process-list{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:0 !important;
  margin:0;
  padding:8px 0 4px;
  list-style:none;
  counter-reset:aw-step;
  background:transparent !important;
}
.process-list li{
  position:relative;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  min-height:0;
  padding:6px 10px 18px !important;
  text-align:center;
  font-weight:800 !important;
  font-size:.92rem;
  line-height:1.35;
  color:var(--text);
  background:transparent !important;
  border:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
  counter-increment:aw-step;
}
.process-list li > *{position:relative;z-index:1}
.process-list li::before{
  content:counter(aw-step);
  width:46px;
  height:46px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--accent);
  color:#fff;
  font-size:.95rem;
  font-weight:900;
  letter-spacing:0;
  box-shadow:0 10px 22px color-mix(in srgb,var(--accent) 26%,transparent);
  z-index:1;
}
/* 원형 사이를 잇는 연결선 */
.process-list li:not(:last-child)::after{
  content:"" !important;
  position:absolute;
  top:28px;
  left:calc(50% + 30px);
  width:calc(100% - 60px);
  height:2px;
  right:auto;
  bottom:auto;
  background:linear-gradient(90deg, color-mix(in srgb,var(--accent) 55%,#c9d4e4), color-mix(in srgb,var(--accent) 35%,#d7e0ec));
  transform:none !important;
  color:transparent;
  z-index:0;
  pointer-events:none;
}
@media(max-width:820px){
  .process-list{
    grid-template-columns:1fr !important;
    gap:0 !important;
    max-width:360px;
    margin:0 auto;
    padding:0;
  }
  .process-list li{
    flex-direction:row !important;
    justify-content:flex-start;
    align-items:center;
    gap:16px;
    padding:14px 8px !important;
    text-align:left;
  }
  .process-list li:not(:last-child)::after{
    top:calc(50% + 23px);
    left:30px;
    width:2px;
    height:calc(50% + 14px);
    background:color-mix(in srgb,var(--accent) 40%,#d7e0ec);
    transform:none !important;
  }
}


