
:root{
  --gt-white:#FFFFFF; --gt-blue:#235789; --gt-gold:#C9907C; --gt-brown:#835E54;
  --ink:#222; --wrap:1200px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;color:var(--ink);background:#FAF7F5;
  font-family:'Noto Sans KR',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}
a{color:inherit;text-decoration:none}
.wrap{width:min(var(--wrap), calc(100% - 40px));margin:0 auto}

/* ===== Header ===== */
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:1000}
.header-bar{display:flex;align-items:center;gap:20px;height:76px}
/* 1) 더 크게: 로고/상호 키움 */
.brand{display:flex;align-items:center;gap:12px;padding:6px 10px;border-radius:12px}
.brand:hover{background:rgba(201,144,124,.10)}
.brand-logo{height:56px;width:auto;display:block;object-fit:contain} /* 확대 */
.brand-text{font-weight:800;font-size:24px;color:var(--gt-brown)}   /* 확대 */

/* 네비게이션 */
.main-nav{margin-left:auto;display:flex;gap:18px;align-items:center}
.nav-link{padding:10px 12px;border-radius:10px}
.nav-link:hover,.nav-link.active{background:#f2e8e4;color:#5a4038}

/* 3) 모바일: 햄버거 + 가로 스크롤 드로어 (세로 나열 방지) */
.btn-burger{display:none; margin-left:auto; width:44px;height:44px;border:0;background:#fff;border-radius:10px;box-shadow:0 0 0 1px #eee;align-items:center;justify-content:center;gap:5px;cursor:pointer}
.btn-burger span{display:block;width:22px;height:2px;background:#333;border-radius:2px}
.site-header.open .btn-burger{box-shadow:0 0 0 2px #eadbd5}
@media (max-width:768px){
  .btn-burger{display:inline-flex}
  .main-nav{display:none}
  .site-header.open .main-nav{
    display:flex; position:absolute; left:0; right:0; top:76px;
    background:#fff; border-top:1px solid #eee; padding:10px 12px;
    overflow-x:auto; white-space:nowrap; gap:12px; z-index:999;
  }
  .nav-link{display:inline-block}
  /* 로고/상호는 모바일에서도 나란히 */
  .brand-logo{height:48px}
  .brand-text{font-size:20px}
}

/* ===== 2) 단일 히어로: contain으로 한 장 전체 노출 ===== */
.hero{position:relative;display:grid;place-items:center;overflow:hidden;background:#000;
  height:44vh; min-height:320px; max-height:520px} /* 세로 비율 ↓ */
.hero-img{width:100%;height:100%;object-fit:contain; background:#000; display:block}
.hero-overlay{position:absolute;text-align:center;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.35);padding:0 12px}
.hero h1{font-size:clamp(22px,4vw,36px);margin:0 0 8px}
.hero p{margin:0 0 10px}
.cta-row{display:flex;gap:10px;justify-content:center}
.btn{display:inline-block;padding:10px 16px;border-radius:999px;border:1px solid transparent}
.btn.primary{background:linear-gradient(90deg,var(--gt-brown),var(--gt-gold));color:#fff}
.btn.ghost{border-color:#fff;color:#fff}

/* Sections */
.home-sections{padding:40px 0}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:#fff;border:1px solid #eee;border-radius:14px;padding:18px}
.card .more{font-weight:700;color:#235789}

/* Page */
.page{padding:36px 0}
.cols{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}
.media{width:100%;height:auto;border-radius:16px;display:block}
.pill-grid{display:flex;gap:10px;margin:8px 0 14px}
.pill{background:#f2e8e4;color:#5a4038;border:1px solid #ead8d2;border-radius:999px;padding:6px 12px;font-weight:700}
.road-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.road-list > div{background:#fff;border:1px solid #eee;border-radius:14px;padding:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.case{background:#fff;border:1px solid #eee;border-radius:16px;overflow:hidden}
.case img{display:block;width:100%;height:auto}
.bullets{line-height:1.9}
.contact-form{background:#fff;border:1px solid #eee;border-radius:16px;padding:22px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}
label{display:grid;gap:6px;font-weight:600}
input,textarea{padding:10px;border:1px solid #ddd;border-radius:10px;font-family:inherit}
.actions{display:flex;gap:10px}

/* ===== 4 & 7) Footer: 로고+회사명+회사 정보만, 가로 나열 + 점 구분 ===== */
.site-footer{margin-top:40px;background:#fff;border-top:1px solid #eee}
.foot-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;flex-wrap:wrap}
.foot-brand{display:flex;align-items:center;gap:10px}
.foot-logo{height:26px;width:auto;display:block}
.foot-name{font-weight:800}
.foot-info{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 12px}
.foot-info li{display:inline-flex;align-items:center}
.foot-info li+li::before{content:"·";margin:0 6px;color:#bbb}
.copy{text-align:center;color:#777;font-size:13px;border-top:1px solid #eee;padding:10px 0}

/* Responsive */
@media (max-width:1024px){ .cards-3{grid-template-columns:1fr 1fr} .cols{grid-template-columns:1fr} .road-list{grid-template-columns:1fr} }
@media (max-width:640px){ .cards-3{grid-template-columns:1fr} .form-grid{grid-template-columns:1fr} }

/* ===== 새로운 섹션 스타일 ===== */

/* 기업 비전 섹션 */
.vision-section {
  padding: 60px 0;
  background: #f8f9fa;
}

.vision-content h2 {
  text-align: center;
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 40px;
}

.vision-quotes {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 800px;
  margin: 0 auto;
}

.vision-quotes blockquote {
  font-size: 1.3rem;
  font-style: italic;
  text-align: center;
  color: var(--gt-blue);
  margin: 0;
  padding: 20px;
  background: white;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* 핵심 가치 섹션 */
.values-section {
  padding: 60px 0;
}

.values-section h2 {
  text-align: center;
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 50px;
}

.values-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 40px;
}

.value-item {
  text-align: center;
  padding: 30px;
  background: white;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.value-icon {
  width: 80px;
  height: 80px;
  margin-bottom: 20px;
}

.value-item h3 {
  font-size: 1.5rem;
  color: var(--gt-blue);
  margin-bottom: 15px;
}

.value-item p {
  color: #666;
  line-height: 1.6;
}

/* 사업 영역 섹션 */
.services-section {
  padding: 60px 0;
  background: #f8f9fa;
}

.services-section h2 {
  text-align: center;
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 50px;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
}

.service-item {
  background: white;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.service-item h3 {
  font-size: 1.4rem;
  color: var(--gt-blue);
  margin-bottom: 20px;
}

.service-item ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.service-item li {
  padding: 8px 0;
  border-bottom: 1px solid #eee;
  color: #666;
}

.service-item li:last-child {
  border-bottom: none;
}

/* 성과 섹션 */
.performance-section {
  padding: 60px 0;
}

.performance-section h2 {
  text-align: center;
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 50px;
}

.performance-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 30px;
  margin-bottom: 50px;
}

.stat-item {
  text-align: center;
  padding: 30px;
  background: var(--gt-blue);
  color: white;
  border-radius: 15px;
}

.stat-item h3 {
  font-size: 3rem;
  margin: 0 0 10px 0;
  color: var(--gt-gold);
}

.stat-item p {
  margin: 0;
  font-size: 1.1rem;
}

.performance-highlights {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
}

.highlight-item {
  background: white;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.highlight-item h4 {
  color: var(--gt-blue);
  margin-bottom: 15px;
  font-size: 1.3rem;
}

.highlight-item p {
  color: #666;
  line-height: 1.6;
  margin: 0;
}

/* 파트너십 섹션 */
.partnership-section {
  padding: 60px 0;
  background: #f8f9fa;
}

.partnership-section h2 {
  text-align: center;
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 50px;
}

.partnership-content > p {
  text-align: center;
  font-size: 1.2rem;
  color: #666;
  margin-bottom: 40px;
}

.partnership-benefits {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  margin-bottom: 40px;
}

.benefit-item {
  background: white;
  padding: 25px;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.benefit-item h4 {
  color: var(--gt-blue);
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.5;
}

.testimonial {
  background: var(--gt-blue);
  color: white;
  padding: 30px;
  border-radius: 15px;
  font-size: 1.2rem;
  font-style: italic;
  text-align: center;
  margin: 0;
  line-height: 1.6;
}

/* 문의 섹션 */
.contact-section {
  padding: 60px 0;
}

.contact-section h2 {
  text-align: center;
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 50px;
}

.contact-content > p {
  text-align: center;
  font-size: 1.2rem;
  color: #666;
  margin-bottom: 40px;
}

.contact-types {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  margin-bottom: 40px;
}

.contact-item {
  background: white;
  padding: 25px;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  text-align: center;
}

.contact-item h4 {
  color: var(--gt-blue);
  margin-bottom: 15px;
  font-size: 1.2rem;
}

.contact-item a {
  color: var(--gt-gold);
  font-weight: 600;
  text-decoration: underline;
}

.contact-item a:hover {
  color: var(--gt-brown);
}

.ceo-message {
  background: var(--gt-gold);
  color: white;
  padding: 30px;
  border-radius: 15px;
  font-size: 1.2rem;
  font-style: italic;
  text-align: center;
  margin: 0;
  line-height: 1.6;
}

.ceo-message cite {
  display: block;
  margin-top: 15px;
  font-style: normal;
  font-weight: 600;
}

/* 반응형 디자인 */
@media (max-width: 768px) {
  .vision-content h2,
  .values-section h2,
  .services-section h2,
  .performance-section h2,
  .partnership-section h2,
  .contact-section h2 {
    font-size: 2rem;
  }
  
  .vision-quotes blockquote {
    font-size: 1.1rem;
  }
  
  .values-grid,
  .services-grid,
  .performance-highlights,
  .partnership-benefits,
  .contact-types {
    grid-template-columns: 1fr;
  }
  
  .performance-stats {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }
  
  .stat-item h3 {
    font-size: 2.5rem;
  }
}


/* ===== 회사소개 페이지 전용 스타일 ===== */

/* 기업 개요 섹션 */
.company-overview {
  margin-bottom: 60px;
}

/* 비전 & 미션 섹션 */
.vision-mission-section {
  padding: 60px 0;
  background: #f8f9fa;
  margin: 60px -20px;
}

.vision-mission-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 40px;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}

.vision-card, .mission-card {
  background: white;
  padding: 40px;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.vision-card h2, .mission-card h2 {
  color: var(--gt-blue);
  margin-bottom: 20px;
  font-size: 1.5rem;
}

.vision-card blockquote, .mission-card blockquote {
  font-size: 1.2rem;
  font-style: italic;
  color: var(--gt-gold);
  margin: 20px 0;
  padding: 0;
  border: none;
}

/* 핵심 가치 상세 섹션 */
.core-values-section {
  padding: 60px 0;
}

.core-values-section h2 {
  text-align: center;
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 50px;
}

.values-detailed-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 40px;
}

.value-detailed-item {
  background: white;
  padding: 40px;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  text-align: center;
}

.value-detailed-item .value-icon {
  width: 80px;
  height: 80px;
  margin-bottom: 20px;
}

.value-detailed-item h3 {
  color: var(--gt-blue);
  font-size: 1.5rem;
  margin-bottom: 20px;
}

.value-detailed-item p {
  color: #666;
  line-height: 1.6;
  margin-bottom: 20px;
  text-align: left;
}

.value-detailed-item ul {
  list-style: none;
  padding: 0;
  text-align: left;
}

.value-detailed-item li {
  padding: 8px 0;
  color: #666;
  border-bottom: 1px solid #eee;
}

.value-detailed-item li:last-child {
  border-bottom: none;
}

.value-detailed-item li:before {
  content: "✓";
  color: var(--gt-gold);
  font-weight: bold;
  margin-right: 10px;
}

/* 회사 연혁 섹션 */
.company-history-section {
  padding: 60px 0;
  background: #f8f9fa;
  margin: 60px -20px;
}

.company-history-section h2 {
  text-align: center;
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 50px;
}

.timeline {
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  padding: 0 20px;
}

.timeline:before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--gt-blue);
  transform: translateX(-50%);
}

.timeline-item {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
  position: relative;
}

.timeline-item:nth-child(odd) {
  flex-direction: row;
}

.timeline-item:nth-child(even) {
  flex-direction: row-reverse;
}

.timeline-year {
  background: var(--gt-blue);
  color: white;
  padding: 15px 20px;
  border-radius: 50px;
  font-weight: bold;
  font-size: 1.2rem;
  min-width: 80px;
  text-align: center;
  position: relative;
  z-index: 2;
}

.timeline-content {
  background: white;
  padding: 25px;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  margin: 0 30px;
  flex: 1;
}

.timeline-content h4 {
  color: var(--gt-brown);
  margin-bottom: 10px;
  font-size: 1.2rem;
}

.timeline-content p {
  color: #666;
  margin: 0;
}

/* 조직 구조 섹션 */
.organization-section {
  padding: 60px 0;
}

.organization-section h2 {
  text-align: center;
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 50px;
}

.org-chart {
  max-width: 800px;
  margin: 0 auto;
}

.org-main {
  background: var(--gt-blue);
  color: white;
  padding: 30px;
  border-radius: 15px;
  text-align: center;
  margin-bottom: 40px;
}

.org-main h3 {
  font-size: 1.8rem;
  margin-bottom: 10px;
}

.org-subsidiaries {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
}

.subsidiary {
  background: white;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  text-align: center;
}

.subsidiary h4 {
  color: var(--gt-gold);
  font-size: 1.4rem;
  margin-bottom: 10px;
}

.subsidiary p {
  color: #666;
  margin-bottom: 20px;
}

.subsidiary ul {
  list-style: none;
  padding: 0;
}

.subsidiary li {
  padding: 5px 0;
  color: #666;
}

.subsidiary li:before {
  content: "•";
  color: var(--gt-blue);
  margin-right: 10px;
}

/* 품질 관리 섹션 */
.quality-section {
  padding: 60px 0;
  background: #f8f9fa;
  margin: 60px -20px;
}

.quality-section h2 {
  text-align: center;
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 50px;
}

.quality-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  padding: 0 20px;
}

.quality-item {
  background: white;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.quality-item h4 {
  color: var(--gt-blue);
  font-size: 1.3rem;
  margin-bottom: 15px;
}

.quality-item p {
  color: #666;
  line-height: 1.6;
  margin: 0;
}

/* CEO 메시지 섹션 */
.ceo-message-section {
  padding: 60px 0;
}

.ceo-message-section h2 {
  text-align: center;
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 50px;
}

.ceo-message-card {
  max-width: 800px;
  margin: 0 auto;
  background: var(--gt-gold);
  color: white;
  padding: 40px;
  border-radius: 15px;
  text-align: center;
}

.ceo-message-card blockquote {
  font-size: 1.3rem;
  font-style: italic;
  line-height: 1.6;
  margin: 0 0 20px 0;
  border: none;
  padding: 0;
}

.ceo-message-card cite {
  font-style: normal;
  font-weight: 600;
  font-size: 1.1rem;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
  .vision-mission-grid {
    grid-template-columns: 1fr;
    padding: 0 10px;
  }
  
  .vision-card, .mission-card {
    padding: 25px;
  }
  
  .values-detailed-grid {
    grid-template-columns: 1fr;
  }
  
  .timeline:before {
    left: 30px;
  }
  
  .timeline-item {
    flex-direction: row !important;
    padding-left: 60px;
  }
  
  .timeline-item:nth-child(even) {
    flex-direction: row !important;
  }
  
  .timeline-year {
    position: absolute;
    left: 0;
    min-width: 60px;
    padding: 10px;
    font-size: 1rem;
  }
  
  .timeline-content {
    margin: 0 0 0 20px;
  }
  
  .org-subsidiaries {
    grid-template-columns: 1fr;
  }
  
  .quality-grid {
    grid-template-columns: 1fr;
  }
}


/* ===== 사업영역 페이지 전용 스타일 ===== */
.service-detail-section {
  padding: 60px 0;
}

.service-detail-section.bg-light {
  background: #f8f9fa;
}

.service-detail-content {
  max-width: 900px;
  margin: 0 auto;
}

.service-detail-content h2 {
  text-align: center;
  font-size: 2.2rem;
  color: var(--gt-brown);
  margin-bottom: 30px;
}

.service-detail-content > p {
  text-align: center;
  font-size: 1.1rem;
  color: #666;
  margin-bottom: 40px;
  line-height: 1.6;
}

.service-features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
}

.feature-item {
  background: white;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.feature-item h4 {
  color: var(--gt-blue);
  font-size: 1.3rem;
  margin-bottom: 15px;
}

.feature-item p {
  color: #666;
  line-height: 1.6;
  margin: 0;
}

@media (max-width: 768px) {
  .service-detail-content h2 {
    font-size: 1.8rem;
  }
  .service-detail-content > p {
    font-size: 1rem;
  }
  .service-features {
    grid-template-columns: 1fr;
  }
}


/* ===== 성과·사례 페이지 전용 스타일 ===== */
.key-achievements-summary {
  padding: 60px 0;
  text-align: center;
}

.key-achievements-summary h2 {
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 20px;
}

.key-achievements-summary p {
  font-size: 1.1rem;
  color: #666;
  margin-bottom: 40px;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  max-width: 1000px;
  margin: 0 auto;
}

.stat-item {
  background: white;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.stat-item h3 {
  font-size: 3rem;
  color: var(--gt-gold);
  margin-bottom: 10px;
}

.stat-item p {
  font-size: 1.2rem;
  color: var(--gt-blue);
  margin: 0;
}

.case-study-section {
  padding: 80px 0;
}

.case-study-section.bg-light {
  background: #f8f9fa;
}

.case-study-content {
  max-width: 1000px;
  margin: 0 auto;
}

.case-study-content h2 {
  text-align: center;
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 50px;
}

.case-study-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
}

.case-study-grid.reverse-order {
  grid-template-areas: "image text";
}

.case-study-grid.reverse-order .case-study-text {
  grid-area: text;
}

.case-study-grid.reverse-order .case-study-image {
  grid-area: image;
}

.case-study-text h3 {
  font-size: 1.8rem;
  color: var(--gt-blue);
  margin-bottom: 20px;
}

.case-study-text p {
  font-size: 1.1rem;
  color: #666;
  line-height: 1.7;
  margin-bottom: 20px;
}

.case-study-text ul {
  list-style: none;
  padding: 0;
}

.case-study-text li {
  font-size: 1rem;
  color: #555;
  margin-bottom: 10px;
}

.case-study-text li strong {
  color: var(--gt-brown);
}

.case-study-image img {
  width: 100%;
  height: auto;
  border-radius: 15px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.partner-success-stories {
  padding: 60px 0;
  text-align: center;
}

.partner-success-stories h2 {
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 50px;
}

.story-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}

.story-item {
  background: white;
  padding: 40px;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  text-align: left;
}

.story-item blockquote {
  font-size: 1.1rem;
  font-style: italic;
  line-height: 1.6;
  color: #555;
  margin-bottom: 20px;
  border: none;
  padding: 0;
}

.story-item cite {
  display: block;
  font-style: normal;
  font-weight: 600;
  color: var(--gt-blue);
  margin-top: 15px;
}

@media (max-width: 768px) {
  .stats-grid {
    grid-template-columns: 1fr;
  }
  
  .case-study-grid {
    grid-template-columns: 1fr;
    grid-template-areas: "text" "image" !important;
  }
  
  .case-study-grid.reverse-order .case-study-text {
    grid-area: text;
  }
  
  .case-study-grid.reverse-order .case-study-image {
    grid-area: image;
  }
  
  .story-grid {
    grid-template-columns: 1fr;
  }
}


/* ===== 파트너십 페이지 전용 스타일 ===== */
.partnership-intro-section {
  padding: 60px 0;
  text-align: center;
}

.partnership-intro-section h2 {
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 20px;
}

.partnership-intro-section p {
  font-size: 1.1rem;
  color: #666;
  margin-bottom: 40px;
  line-height: 1.6;
}

.partnership-benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
  max-width: 1000px;
  margin: 0 auto;
}

.benefit-item {
  background: white;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.benefit-item h4 {
  color: var(--gt-blue);
  font-size: 1.3rem;
  margin-bottom: 15px;
}

.benefit-item p {
  color: #666;
  line-height: 1.6;
  margin: 0;
}

.partnership-type-section {
  padding: 80px 0;
}

.partnership-type-section.bg-light {
  background: #f8f9fa;
}

.partnership-type-content {
  max-width: 1000px;
  margin: 0 auto;
}

.partnership-type-content h2 {
  text-align: center;
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 50px;
}

.partnership-type-content > p {
  text-align: center;
  font-size: 1.1rem;
  color: #666;
  margin-bottom: 40px;
  line-height: 1.6;
}

.partnership-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
}

/* 파트너십 진행 절차 섹션 */
.partnership-process-section {
  padding: 60px 0;
  text-align: center;
}

.partnership-process-section h2 {
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 50px;
}

.process-steps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}

.process-step-item {
  background: white;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  position: relative;
  padding-top: 60px; /* Space for step number */
}

.process-step-item .step-number {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--gt-gold);
  color: white;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: bold;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.process-step-item h3 {
  color: var(--gt-blue);
  font-size: 1.4rem;
  margin-bottom: 15px;
}

.process-step-item p {
  color: #666;
  line-height: 1.6;
  margin: 0;
}

/* 파트너십 문의 섹션 (메인 페이지와 동일한 스타일 사용) */
.contact-section {
  padding: 60px 0;
  text-align: center;
}

.contact-section h2 {
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 30px;
}

.contact-section p {
  font-size: 1.1rem;
  color: #666;
  margin-bottom: 40px;
}

.contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  max-width: 1000px;
  margin: 0 auto;
}

.contact-item {
  background: white;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.contact-item h4 {
  color: var(--gt-blue);
  font-size: 1.3rem;
  margin-bottom: 15px;
}

.contact-item a {
  color: var(--gt-gold);
  text-decoration: none;
  font-weight: bold;
}

.ceo-quote {
  max-width: 800px;
  margin: 60px auto 0 auto;
  background: var(--gt-brown);
  color: white;
  padding: 40px;
  border-radius: 15px;
  text-align: center;
}

.ceo-quote blockquote {
  font-size: 1.3rem;
  font-style: italic;
  line-height: 1.6;
  margin: 0 0 20px 0;
  border: none;
  padding: 0;
}

.ceo-quote cite {
  font-style: normal;
  font-weight: 600;
  font-size: 1.1rem;
}

@media (max-width: 768px) {
  .partnership-benefits-grid,
  .partnership-features-grid,
  .process-steps-grid,
  .contact-grid {
    grid-template-columns: 1fr;
  }
  
  .process-step-item {
    padding-top: 30px;
  }
  
  .process-step-item .step-number {
    width: 40px;
    height: 40px;
    font-size: 1.5rem;
  }
}


/* ===== 문의 페이지 전용 스타일 ===== */
.contact-intro-section {
  padding: 60px 0;
  text-align: center;
}

.contact-intro-section h2 {
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 20px;
}

.contact-intro-section p {
  font-size: 1.1rem;
  color: #666;
  line-height: 1.6;
}

.contact-type-section {
  padding: 80px 0;
}

.contact-type-section.bg-light {
  background: #f8f9fa;
}

.contact-type-section h2 {
  text-align: center;
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 50px;
}

.contact-type-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}

.contact-type-item {
  background: white;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  text-align: center;
}

.contact-type-item h4 {
  color: var(--gt-blue);
  font-size: 1.3rem;
  margin-bottom: 15px;
}

.contact-type-item p {
  color: #666;
  line-height: 1.6;
  margin-bottom: 20px;
}

.contact-type-item a {
  color: var(--gt-gold);
  text-decoration: none;
  font-weight: bold;
}

.contact-form-section {
  padding: 60px 0;
}

.contact-form-section h2 {
  text-align: center;
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 20px;
}

.contact-form-section p {
  text-align: center;
  font-size: 1.1rem;
  color: #666;
  margin-bottom: 40px;
}

.contact-form {
  max-width: 800px;
  margin: 0 auto;
}

.contact-form .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}

.contact-form label {
  display: block;
  margin-bottom: 20px;
}

.contact-form input,
.contact-form textarea,
.contact-form select {
  width: 100%;
  padding: 15px;
  border: 1px solid #ccc;
  border-radius: 8px;
  margin-top: 5px;
}

.contact-form .actions {
  text-align: center;
}

.location-section {
  padding: 80px 0;
}

.location-section h2 {
  text-align: center;
  font-size: 2.5rem;
  color: var(--gt-brown);
  margin-bottom: 50px;
}

.location-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}

.location-map iframe {
  border-radius: 15px;
}

.location-info h3 {
  font-size: 1.8rem;
  color: var(--gt-blue);
  margin-bottom: 20px;
}

.location-info p {
  font-size: 1.1rem;
  color: #666;
  line-height: 1.8;
  margin-bottom: 10px;
}

@media (max-width: 768px) {
  .contact-type-grid,
  .contact-form .form-grid,
  .location-content {
    grid-template-columns: 1fr;
  }
}



/* Language switch (header + mobile FAB) */
.main-nav .lang-switch-nav{display:flex;gap:10px;margin-left:10px;padding-left:10px;border-left:1px solid #eee}
.main-nav .lang-switch-nav a{padding:6px 10px;border-radius:999px;font-size:14px;text-decoration:none;color:#223}
.main-nav .lang-switch-nav a:hover{background:#f2efe8}
@media (max-width:980px){
  .lang-fab{position:fixed; right:10px; bottom:12px; z-index:9999; display:flex; gap:8px;
    background:rgba(255,255,255,.95); border:1px solid rgba(0,0,0,.06); box-shadow:0 10px 24px rgba(0,0,0,.1);
    padding:6px 8px; border-radius:999px;}
  .lang-fab a{padding:4px 8px; border-radius:999px; text-decoration:none; color:#223; font-size:14px}
  .lang-fab a:hover{background:#f2efe8}
  .main-nav .lang-switch-nav{display:none}
}

/* ensure FAB hidden on desktop */
.lang-fab{display:none}
@media (max-width:980px){
  .lang-fab{position:fixed; right:10px; bottom:12px; z-index:9999; display:flex; gap:8px;
    background:rgba(255,255,255,.95); border:1px solid rgba(0,0,0,.06); box-shadow:0 10px 24px rgba(0,0,0,.1);
    padding:6px 8px; border-radius:999px;}
  .lang-fab a{padding:4px 8px; border-radius:999px; text-decoration:none; color:#223; font-size:14px}
  .lang-fab a:hover{background:#f2efe8}
  .main-nav .lang-switch-nav{display:none}
}


/* === Hotfix: timeline mobile & desktop alignment === */
/* Mobile: hide ONLY the left vertical connector line */
@media (max-width: 768px){
  /* common patterns */
  .company-history-section .timeline::before,
  .company-history-section .timeline:before,
  .company-history-section .timeline::after,
  .company-history-section .timeline:after,
  .company-history-section .timeline .line,
  .company-history-section .timeline .timeline-line,
  .company-history-section .timeline .left-line,
  .company-history-section .timeline .connector,
  .company-history-section .timeline-item::before{
    display:none !important;
    background:none !important;
  }
  .company-history-section .timeline{
    border-left:0 !important;
    background-image:none !important;
    box-shadow:none !important;
  }
  /* keep the year dot/pill visible */
  .company-history-section .timeline-content::before{ display:block !important; }
}

/* Desktop: center text vertically in the card */
@media (min-width: 769px){
  .company-history-section .timeline-item{ align-items:center; }
  .company-history-section .timeline-content{
    display:flex;
    flex-direction:column;
    justify-content:center; /* vertical center */
  }
}



/* === Timeline: mobile remove left line only; desktop center text === */
@media (max-width: 768px){
  .company-history-section .timeline-item::before{ display:none !important; } /* hide left line */
  .company-history-section .timeline-content::before{ display:block !important; } /* keep dot */
}
@media (min-width: 769px){
  .company-history-section .timeline-item{ align-items:center; }
  .company-history-section .timeline-content{ display:flex; flex-direction:column; justify-content:center; }
}

