@charset "utf-8";
/* 주식회사 화문 - design 이전 (자동 로드: /css/sub/{1depth}.css, /css/sub/{1depth}-{2depth}.css) */
/* ===== from design/performance/sub.css ===== */
/* Performance gallery board — Figma BOARD gallery · 1440px container */
.page-performance .sub-content{
  padding:0 0 150px;
  background:#fff;
}
.perf-board{
  max-width: calc(var(--sub-inner) + 2 * var(--sub-side));
  margin:0 auto;
  padding:0 var(--sub-side);
}
.perf-board__toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px 40px;
  flex-wrap:wrap;
  padding-bottom:28px;
  border-bottom:2px solid #686868;
}
.perf-board__meta{
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}
.perf-board__count{
  margin:0;
  font-size:16px;
  font-weight:400;
  color:var(--color-text);
  letter-spacing:-0.03em;
  line-height:1;
  white-space:nowrap;
}
.perf-board__count strong{
  font-weight:700;
  color:var(--color-dark);
}
.perf-board__filter{
  position:relative;
}
.perf-board__select{
  appearance:none;
  min-width:94px;
  height:44px;
  padding:0 36px 0 16px;
  font-size:16px;
  font-weight:400;
  color:var(--color-text);
  letter-spacing:-0.03em;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23484848' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;
  border:1px solid #DDD;
  border-radius:6px;
  cursor:pointer;
}
.perf-board__search{
  display:flex;
  align-items:center;
  gap:0;
  margin-left:auto;
  border:1px solid #DDD;
  border-radius:6px;
  overflow:hidden;
  background:#fff;
}
.perf-board__input{
  width:min(100%,300px);
  height:44px;
  padding:0 16px;
  font-size:16px;
  color:var(--color-dark);
  letter-spacing:-0.03em;
  background:#fff;
  border:0;
  border-radius:0;
}
.perf-board__input::placeholder{color:#94A3B8}
.perf-board__submit{
  flex-shrink:0;
  min-width:100px;
  height:44px;
  padding:0 20px;
  font-size:16px;
  font-weight:600;
  color:#fff;
  letter-spacing:-0.03em;
  background:var(--color-text);
  border:0;
  border-radius:0;
  transition:background var(--transition);
}
.perf-board__submit:hover{background:var(--color-dark)}
.perf-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:40px;
  margin:0;
  padding:40px 0 0;
  list-style:none;
}
.perf-gallery__link{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  color:inherit;
  transition:opacity var(--transition);
}
.perf-gallery__link:hover{opacity:0.92}
.perf-gallery__thumb{
  position:relative;
  width:100%;
  height:250px;
  overflow:hidden;
  background:#F5F5F5;
  border:1px solid #DDD;
  border-radius:8px;
  transition:border-color var(--transition),box-shadow var(--transition);
}
.perf-gallery__link:hover .perf-gallery__thumb,
.perf-gallery__link:focus-visible .perf-gallery__thumb{
  border-color:rgba(199,149,64,0.45);
  box-shadow:0 8px 24px rgba(15,23,42,0.08);
}
.perf-gallery__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform 0.45s ease;
}
.perf-gallery__link:hover .perf-gallery__thumb img,
.perf-gallery__link:focus-visible .perf-gallery__thumb img{
  transform:scale(1.04);
}
.perf-gallery__title{
  margin:20px 0 8px;
  max-width:100%;
  font-family:var(--font-display);
  font-size:20px;
  font-weight:600;
  color:var(--color-dark);
  line-height:1.45;
  letter-spacing:-0.03em;
  word-break:keep-all;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.perf-gallery__date{
  font-size:16px;
  font-weight:400;
  color:var(--color-text);
  letter-spacing:-0.03em;
  line-height:1.125;
  font-variant-numeric:tabular-nums;
}
.perf-board__foot{
  margin-top:48px;
  padding-top:0;
  border-top:0;
}
/* Figma 81-2267 · « ‹ 1…10 › » · num gap 40px · active 38px circle · 메인컬러 accent */
.perf-paging{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
}
.perf-paging__side{
  display:flex;
  align-items:center;
  gap:16px;
  flex-shrink:0;
}
.perf-paging__side--prev{margin-right:28px}
.perf-paging__side--next{
  margin-left:28px;
}
.perf-paging__side--next .perf-paging__arrow svg{
  transform:scaleX(-1);
}
.perf-paging__nums{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:40px;
  flex-wrap:wrap;
}
.perf-paging__arrow,
.perf-paging__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  font-family:var(--font-body);
  font-size:16px;
  font-weight:400;
  color:var(--color-text);
  letter-spacing:-0.03em;
  line-height:1.2;
  background:transparent;
  border:0;
  cursor:pointer;
  transition:color var(--transition),opacity var(--transition);
}
.perf-paging__arrow{
  height:38px;
  flex-shrink:0;
  color:var(--color-text);
}
.perf-paging__arrow--single{width:14px}
.perf-paging__arrow--double{width:22px}
.perf-paging__arrow svg{
  display:block;
  width:100%;
  height:10px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.44;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.perf-paging__arrow:hover:not(:disabled){color:var(--color-accent)}
.perf-paging__arrow:disabled{
  opacity:1;
  color:var(--color-text);
  cursor:not-allowed;
}
.perf-paging__arrow:disabled:hover{color:var(--color-text)}
.perf-paging__num{
  min-width:18px;
  height:38px;
  font-variant-numeric:tabular-nums;
}
.perf-paging__num:hover:not(.is-current){color:var(--color-accent)}
.perf-paging__num.is-current{
  width:38px;
  min-width:38px;
  font-weight:700;
  color:#fff;
  background:var(--color-accent);
  border-radius:50%;
}
@media (max-width:1023px){
	.perf-gallery{gap:28px}
}
@media (max-width:1023px){
	.perf-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
	.perf-board__search{width:100%;margin-left:0}
	.perf-board__input{flex:1;width:auto}
}
@media (max-width:767px){
	.page-performance .sub-content{padding:0 0 72px}
	.perf-board__toolbar{align-items:stretch;flex-direction:column;gap:16px}
	.perf-board__meta{width:100%}
	.perf-gallery{grid-template-columns:1fr;gap:32px;padding-top:32px}
	.perf-gallery__thumb{height:220px}
	.perf-gallery__title{font-size:20px}
	.perf-paging__side{gap:0}
	.perf-paging__side--prev{margin-right:4px}
	.perf-paging__side--next{margin-left:4px}
	.perf-paging__nums{gap:4px}
	.perf-paging__arrow,
	.perf-paging__num,
	.perf-paging__num.is-current{width:34px;min-width:34px;height:44px;font-size:14px}
	.perf-paging__num.is-current{position:relative;z-index:0;background:none}
	.perf-paging__num.is-current::before{content:"";position:absolute;top:50%;left:50%;z-index:-1;width:30px;height:30px;border-radius:50%;background:var(--color-accent);transform:translate(-50%,-50%)}
	.perf-paging__arrow svg{width:14px}
	.perf-paging__arrow--double svg{width:22px}
}
/* ===== from design/performance/showcase.css ===== */
/* Performance showcase — brochure-style (shared: construction · marketing) */
.page-performance-construction .sub-content,
.page-performance-marketing .sub-content{
  padding: 0 0 150px;
  background: #fff;
}
.perf-showcase{
  max-width: calc(var(--sub-inner) + 2 * var(--sub-side));
  margin: 0 auto;
  padding: 0 var(--sub-side);
}
/* Major zone split — 분양홍보 / 일반 기업 홍보 */
.perf-zone + .perf-zone{
  margin-top: 140px;
  padding-top: 0;
  border-top: 2px solid #d8d8d8;
}
.perf-zone__head{
  margin-bottom: var(--sub-copy-block-gap);
  text-align: center;
}
.perf-zone__eyebrow{
  display: inline-block;
  margin: 0 0 12px;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-accent);
  letter-spacing: 0.06em;
  line-height: 1.4;
}
.perf-zone__title{
  margin: 0 auto var(--sub-copy-title-gap);
  color: var(--color-dark);
}
.perf-zone__lead{
  max-width: 640px;
  margin: 0 auto;
  font-size: 18px;
  font-weight: 400;
  color: var(--color-text-light);
  letter-spacing: -0.02em;
  line-height: 1.6;
}
.perf-zone__body{
  display: flex;
  flex-direction: column;
  gap: 0;
}
/* Product / project row */
.perf-category + .perf-category{
  margin-top: 140px;
  padding-top: 0;
  border-top: 1px solid #e2e2e2;
}
.perf-zone__body > .perf-category:first-child{
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.perf-category__title{
  margin: 0 0 var(--sub-copy-block-gap);
  color: var(--color-dark);
}
.perf-grid-trio{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.perf-grid-trio li{
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f0f0f0;
}
.perf-grid-trio img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (max-width:1023px){
	.perf-grid-trio{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
	.perf-grid-trio li:last-child{
    grid-column: 1 / -1;
    aspect-ratio: 16 / 8;
  }
}
@media (max-width:767px){
	.page-performance-construction .sub-content,
	.page-performance-marketing .sub-content{
    padding: 0 0 72px;
  }
	.perf-zone + .perf-zone{
    margin-top: 56px;
    padding-top: 56px;
  }
	.perf-zone__head{
    margin-bottom: 36px;
    text-align: left;
  }
	.perf-zone__lead{
    margin-left: 0;
    margin-right: 0;
    font-size: 18px;
  }
	.perf-category + .perf-category{
    margin-top: 48px;
    padding-top: 48px;
  }
	.perf-category__title{
    margin-bottom: 20px;
  }
	.perf-grid-trio{
    grid-template-columns: 1fr;
  }
	.perf-grid-trio li,
	.perf-grid-trio li:last-child{
    grid-column: auto;
    aspect-ratio: 16 / 10;
  }
}
