/* Start custom CSS for html, class: .elementor-element-666bbd3 *//* =========================
   OMNIGRID Base CSS (Required)
========================= */

:root{
  --og-radius: 16px;
  --og-radius-lg: 22px;
  --og-shadow: 0 10px 30px rgba(0,0,0,.08);
  --og-shadow-soft: 0 8px 20px rgba(0,0,0,.06);
  --og-border: 1px solid rgba(0,0,0,.08);
  --og-container: 1140px;
  --og-gap: 18px;
  --og-gap-lg: 28px;
  --og-font: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", Arial, sans-serif;
}

.og-section{ padding: 70px 0; font-family: var(--og-font); }
.og-section--muted{ }
.og-container{
  width: min(var(--og-container), calc(100% - 40px));
  margin: 0 auto;
}

.og-card{
  border-radius: var(--og-radius);
  padding: 22px;
  box-shadow: var(--og-shadow-soft);
  border: var(--og-border);
}

.og-h2{ font-size: clamp(22px, 2.2vw, 30px); margin: 0 0 14px; letter-spacing: -.02em; }
.og-h3{ font-size: 18px; margin: 0 0 10px; letter-spacing: -.01em; }
.og-lead{ font-size: 16px; line-height: 1.7; margin: 0 0 22px; opacity: .92; }
.og-note{ font-size: 13px; line-height: 1.6; opacity: .75; margin-top: 10px; }

.og-grid{ display: grid; gap: var(--og-gap); }
.og-grid--2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.og-grid--3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.og-grid--4{ grid-template-columns: repeat(4, minmax(0,1fr)); }

@media (max-width: 980px){
  .og-section{ padding: 56px 0; }
  .og-grid--4{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .og-grid--3{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .og-container{ width: calc(100% - 26px); }
  .og-grid--2,.og-grid--3,.og-grid--4{ grid-template-columns: 1fr; }
  .og-card{ padding: 18px; }
}

.og-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: -.01em;
  transition: transform .08s ease, box-shadow .2s ease, opacity .2s ease;
  user-select: none;
  border: 1px solid transparent;
  cursor: pointer;
}
.og-btn:hover{ transform: translateY(-1px); }
.og-btn:active{ transform: translateY(0px); opacity: .92; }

.og-list{ margin: 12px 0 0; padding-left: 18px; line-height: 1.7; }
.og-list li{ margin: 6px 0; }

.og-hero__badge{
  display: inline-flex;
  padding: 6px 12px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.og-hero__title{ margin: 0 0 16px; letter-spacing: -.03em; line-height: 1.15; }
.og-hero__subtitle{ display: inline-block; font-size: clamp(16px, 1.7vw, 20px); font-weight: 700; opacity: .9; margin-top: 10px; }
.og-hero__desc{ font-size: 16px; line-height: 1.75; margin: 0 0 20px; opacity: .92; }
.og-hero__cta{ display: flex; gap: 12px; flex-wrap: wrap; margin-top: 8px; }
.og-hero__meta{ display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }

.og-pill{
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  border: var(--og-border);
  box-shadow: 0 6px 14px rgba(0,0,0,.05);
}

.og-toc__card .og-toc__list{ margin: 10px 0 0; padding-left: 18px; }
.og-toc__list li{ margin: 8px 0; }
.og-toc__list a{ text-decoration: none; font-weight: 700; }

.og-steps{ display: grid; gap: 14px; }
.og-step{
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  align-items: start;
}
.og-step__num{
  width: 44px; height: 44px;
  border-radius: 14px;
  display: grid; place-items: center;
  font-weight: 900;
  box-shadow: 0 10px 20px rgba(0,0,0,.08);
}
.og-mini{ padding: 18px; }
.og-mini__top{ font-weight: 900; font-size: 12px; opacity: .7; margin-bottom: 8px; }

.og-inline-cta{ display: flex; gap: 12px; flex-wrap: wrap; margin-top: 18px; }

.og-category{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.og-chip{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  border: var(--og-border);
  box-shadow: 0 8px 18px rgba(0,0,0,.06);
  transition: transform .08s ease, opacity .2s ease;
}
.og-chip:hover{ transform: translateY(-1px); }
.og-chip:active{ transform: translateY(0px); opacity: .92; }

.og-form label{ display:block; font-weight: 800; margin: 0 0 8px; }
.og-form input, .og-form textarea{
  width: 100%;
  border-radius: 14px;
  padding: 12px 12px;
  border: var(--og-border);
  outline: none;
  font-size: 15px;
}
.og-form input:focus, .og-form textarea:focus{
  box-shadow: 0 0 0 4px rgba(0,0,0,.06);
}

.og-stats{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: var(--og-gap);
  margin: 18px 0 22px;
}
@media (max-width: 640px){
  .og-stats{ grid-template-columns: 1fr; }
}
.og-stat{
  border-radius: var(--og-radius);
  padding: 18px;
  border: var(--og-border);
  box-shadow: var(--og-shadow-soft);
  text-align: center;
}
.og-stat__num{ font-size: 34px; font-weight: 1000; letter-spacing: -.03em; }
.og-stat__label{ font-size: 13px; font-weight: 800; opacity: .78; margin-top: 6px; }

.og-quote{ font-size: 15px; line-height: 1.7; margin: 0; }
.og-quote__meta{ font-size: 13px; font-weight: 800; opacity: .7; margin-top: 10px; }

.og-footer{
  padding: 34px 0;
  border-top: var(--og-border);
}
.og-footer__top{
  display:flex; justify-content: space-between; align-items: center;
  gap: 14px; flex-wrap: wrap;
}
.og-footer__links{ display:flex; gap: 12px; flex-wrap: wrap; }
.og-footer__links a{ text-decoration:none; font-weight: 800; opacity: .85; }
.og-footer__bottom{ margin-top: 14px; opacity: .7; }/* =========================
   Theme 3: Warm Local
   (Off-white + Orange Accent)
========================= */

:root{
  --og-bg: #fffaf3;
  --og-text: #1c120b;
  --og-muted: #fff2e3;
  --og-primary: #ff6a2a;
  --og-primary-weak: rgba(255,106,42,.14);
  --og-border-color: rgba(28,18,11,.10);
}

body{ background: var(--og-bg); color: var(--og-text); }
.og-section{ background: var(--og-bg); }
.og-section--muted{ background: var(--og-muted); }

.og-card{ background: rgba(255,255,255,.85); border: 1px solid var(--og-border-color); }
.og-pill{ background: rgba(255,255,255,.9); border: 1px solid var(--og-border-color); }

.og-hero{
  background:
    radial-gradient(900px 500px at 15% 15%, rgba(255,106,42,.16), transparent 65%),
    linear-gradient(180deg, rgba(255,255,255,.6), rgba(255,255,255,0) 70%);
}
.og-hero__badge{
  background: var(--og-primary-weak);
  color: #8a2e08;
  border: 1px solid rgba(255,106,42,.22);
}

.og-toc__list a{ color: #a13a10; }

.og-btn--primary{
  background: var(--og-primary);
  color: #fff;
  box-shadow: 0 14px 30px rgba(255,106,42,.22);
}
.og-btn--secondary{
  background: rgba(255,255,255,.9);
  color: #a13a10;
  border: 1px solid rgba(255,106,42,.25);
}

.og-chip{
  background: rgba(255,255,255,.92);
  color: #a13a10;
  border: 1px solid rgba(255,106,42,.22);
}

.og-step__num{ background: var(--og-primary); color: #fff; }

.og-form input, .og-form textarea{
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(28,18,11,.12);
}
.og-form input:focus, .og-form textarea:focus{ box-shadow: 0 0 0 4px rgba(255,106,42,.16); }

.og-footer{ background: rgba(255,255,255,.55); }
.og-footer__links a{ color: #a13a10; }
/* HERO 섹션 중앙 정렬 */
.og-hero .og-container{
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.og-hero__cta{
  justify-content: center;
}

.og-hero__meta{
  justify-content: center;
}
@keyframes testBlink {
  0% { opacity: 1; }
  50% { opacity: 0.2; }
  100% { opacity: 1; }
}

.og-hero__subtitle{
  color: #ff6a2a !important;
  animation: testBlink 1.5s infinite !important;
}
/* 버튼 가로 정렬 강제 */
.og-cta-center{
  margin-top: 32px;
  text-align: center;
}

.og-btn--orange{
  display: inline-flex !important;   /* 가로 정렬 핵심 */
  align-items: center;
  justify-content: center;
  white-space: nowrap;               /* 줄바꿈 방지 */
  width: auto !important;            /* 100% 강제 해제 */
  min-width: 180px;                  /* 버튼 최소 가로폭 */
  background: #ff6a2a;
  color: #ffffff;
  border: none;
  padding: 14px 28px;
  font-size: 16px;
  font-weight: 800;
  border-radius: 999px;
  box-shadow: 0 14px 30px rgba(255,106,42,.25);
  transition: all .25s ease;
}

.og-btn--orange:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(255,106,42,.35);
}
/* 수익 모델 버튼 가로 배치 */

.og-model-buttons{
  display: flex;
  flex-wrap: wrap;          /* 모바일 대응 */
  gap: 12px;
  margin-top: 18px;
}

.og-model-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  background: rgba(255,106,42,.1);
  color: #ff6a2a;
  border: 1px solid rgba(255,106,42,.35);
  transition: all .25s ease;
  white-space: nowrap;
}

.og-model-btn:hover{
  background: #ff6a2a;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 12px 25px rgba(255,106,42,.25);
}
/* 인라인 CTA 중앙 정렬 */
.og-inline-cta{
  display: flex;
  justify-content: center;   /* 가로 중앙 */
  align-items: center;
  gap: 14px;                 /* 버튼 간격 */
  flex-wrap: wrap;           /* 모바일 줄바꿈 대응 */
  margin-top: 24px;
  text-align: center;
}

/* 혹시 버튼이 width:100%로 깨지는 경우 대비 */
.og-inline-cta .og-btn{
  width: auto !important;
}
/* ===============================
   OMNIGRID 제목 전체 중앙 정렬
================================= */

/* 메인 히어로 제목 */
.og-hero__title,
.og-hero__subtitle{
  text-align: center !important;
}

/* 섹션 메인 제목 (h2) */
.og-h2{
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
}

/* 카드 및 섹션 내부 제목 (h3) */
.og-h3{
  text-align: center !important;
}

/* 혹시 특정 섹션만 따로 적용하고 싶을 경우 대비 */
.og-section h1,
.og-section h2,
.og-section h3{
  text-align: center;
}
/* ===============================
   제목 + 설명 전체 중앙 정렬
================================= */

/* 섹션 전체 기본 중앙 정렬 */
.og-section{
  text-align: center;
}

/* 리드 문구 중앙 */
.og-lead{
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* 카드 내부 설명 중앙 */
.og-card p{
  text-align: center;
}

/* 인용문 중앙 */
.og-quote{
  text-align: center;
}

/* 툴 설명 리스트도 중앙 정렬 */
.og-tool p,
.og-list{
  text-align: center;
}

/* 필요 시 리스트 점 제거하고 가운데 정렬 */
.og-list{
  list-style: none;
  padding-left: 0;
}
/* ===============================
   TOC 섹션 정렬 분리
================================= */

/* TOC 카드 전체는 기본 좌측 */
#toc .og-toc__card{
  text-align: left;
}

/* 제목만 중앙 */
#toc .og-h2{
  text-align: center;
  margin-bottom: 16px;
}

/* 혹시 설명 문구 추가될 경우 대비 */
#toc .og-lead{
  text-align: center;
}

/* 목록은 좌측 유지 */
#toc .og-toc__list{
  text-align: left;
  padding-left: 20px;
}

/* 링크도 좌측 */
#toc .og-toc__list li{
  text-align: left;
}
/* ===============================
   회원가입 폼 정렬 수정
================================= */

/* signup 섹션 폼 영역은 좌측 정렬 */
#signup .og-form{
  text-align: left;
}

/* 라벨 좌측 정렬 */
#signup .og-form label{
  display: block;
  text-align: left;
  font-weight: 600;
  margin-bottom: 6px;
}

/* input 전체 폭 유지 */
#signup .og-form input{
  width: 100%;
  text-align: left;
}

/* 버튼은 다시 가운데 */
#signup .og-form button{
  display: block;
  margin: 20px auto 0 auto;
}

/* 안내 문구는 가운데 유지 */
#signup .og-note{
  text-align: center;
}/* End custom CSS */