
/* ========== common.css (DodamSolution) ==========
   공통 스타일: reset, 타이포, 컨테이너, 헤더/내비, 버튼, 섹션 제목, 푸터, 반응형
   페이지별 전용(예: .hero, .page-header, 타임라인/그리드 등)은 각 페이지 CSS로 유지
================================================= */

/* CSS 변수: 색/라운드/쉐도우 */
:root{
  --brand-primary:#00B4A6;
  --brand-secondary:#50E3C2;
  --text:#333;
  --bg:#fff;
  --ink-weak:#64748b;
  --ink-strong:#1e293b;
  --radius-12:12px;
  --radius-16:16px;
  --radius-20:20px;
  --shadow-soft:0 4px 15px rgba(0,0,0,.1);
  --shadow-strong:0 8px 30px rgba(0,0,0,.1);
}

/* Reset & 기본 */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
p{word-break:keep-all;}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  line-height:1.6;
  color:var(--text);
  background-color:var(--bg);
}
.container{max-width:1200px;margin:0 auto;padding:0 20px;}

/* 헤더/내비 */
header{
  background:rgba(255,255,255,.95);
  box-shadow:0 2px 20px rgba(0,0,0,.1);
  position:fixed;
  width:100%;
  top:0;
  z-index:1000;
  backdrop-filter:blur(10px);
}
nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  height:64px;
  padding:1rem 0;
}
.logo-container{
  display:flex;align-items:center;gap:.5rem;
  text-decoration:none;
}
.logo-image{
  width:40px;height:40px;
  background:url('dodamlogo.svg') no-repeat center;
  background-size:90%;
  flex-shrink:0;
}
.logo{font-size:1.5rem;font-weight:bold;color:var(--brand-primary);}
.nav-links{display:flex;list-style:none;gap:2rem;}
.nav-links a{
  text-decoration:none;color:var(--text);font-weight:500;transition:color .3s;
}
.nav-links a:hover,
.nav-links a.active{color:var(--brand-primary);}

/* 버튼 공통 */
.cta-button,
.btn-white{
  padding:.75rem 1.5rem;
  border-radius:var(--radius-12);
  text-decoration:none;
  font-weight:600;
  transition:all .3s;
  display:inline-block;
}
.cta-button{
  background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-secondary) 100%);
  color:#fff;
  box-shadow:0 4px 15px rgba(0,180,166,.3);
}
.cta-button:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 25px rgba(0,180,166,.4);
}
.btn-white{
  background:#fff;color:var(--brand-primary);
  box-shadow:0 4px 15px rgba(255,255,255,.3);
}
.btn-white:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 25px rgba(255,255,255,.4);
}

/* 섹션 타이틀(공통) */
.section-title{text-align:center;margin-bottom:3rem;}
.section-title h2{font-size:2.5rem;color:var(--ink-strong);margin-bottom:1rem;}
.section-title p{font-size:1.125rem;color:var(--ink-weak);max-width:600px;margin:0 auto;}

/* 카드 기본 톤(재사용용 유틸) */
.card{
  background:#fff;
  border-radius:var(--radius-20);
  border:1px solid rgba(0,180,166,.1);
  box-shadow:var(--shadow-strong);
  position:relative;overflow:hidden;
}
.card::before{
  content:"";position:absolute;top:0;left:0;width:100%;height:4px;
  background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary));
}

/* 푸터 */
footer{background:#0f172a;color:#fff;text-align:center;padding:2rem 0;}
footer p{opacity:.7;}

/* 애니메이션 (필요시 재사용) */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}

/* 반응형 */
@media (max-width:768px){
  .nav-links{display:none;}
  .section-title h2{font-size:2rem;}
}
