/*---------------------------------------------------
# ===== 공통소스 =====
-----------------------------------------------------*/
.main__head{ margin-bottom:8rem; }
.main__label{
	margin:0 0 2rem;
	font-family:'Jost',sans-serif;
	font-weight:600;
	font-size:1.8rem;
	line-height:2.4rem;
	letter-spacing:0.072rem;
	text-transform:uppercase;
	color:#fff;
	opacity:.3;
}
.main__title{
	margin:0;
	font-family: pretendard-700;
	font-weight:700;
	font-size:8rem;
	line-height:9.8rem;
	letter-spacing:-0.16rem;
	color:#fff;
}
.mt__point{ color:#deb467; }
.main__Subtitle{
	margin:0;
	font-family: pretendard-300;
	font-weight:300;
	font-size:2.2rem;
	line-height:3.8rem;
	color:#000;
}
/* ===== 태블릿 이하 : 타이포/여백 축소 ===== */
@media (max-width:1400px){
	.main__head{ margin-bottom:6rem; }
	.main__title{ font-size:5.6rem; line-height:7rem; letter-spacing:-0.1rem; }
}
@media (max-width:991px){
	.main__head {
		margin-bottom: 4rem;
	}
	.main__title {
		font-size: 4.6rem;
		line-height: 6rem;
		letter-spacing: -0.1rem;
	}
}
/* ===== 모바일 : 세로 스택 ===== */
@media (max-width:768px){
	.main__head{ margin-bottom:3rem; }
	.main__label{ margin-bottom:1rem; font-size:1rem; line-height:1.2rem; letter-spacing:0.04rem; }
	.main__title{ font-size:2.8rem; line-height:3.6rem; letter-spacing:-0.056rem; }
	.main__Subtitle{font-size:1.4rem;line-height:2.2rem;}	
}



/*---------------------------------------------------
# ===== P배경: 블라인드(슬랫) 전환 =====
-----------------------------------------------------*/
/* @import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css'); */

.mainv,
.mainv *,
.mainv *::before,
.mainv *::after { box-sizing: border-box; }

.mainv {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 60rem;
  overflow: hidden;
  background: #000;
}

/* ===== 배경 페이드 ===== */
.mainv .mainv__bg { position: absolute; inset: 0; z-index: 1; }

.mainv .mainv__slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transform: scale(1);
  transform-origin: center center;
  transition: opacity 1.6s ease-in-out, transform 6s ease-out;  /* 페이드 + 느린 줌 */
  will-change: opacity, transform;
}
.mainv .mainv__slide.is-active { opacity: 1; transform: scale(1.1); }
/* 배경 이미지 (PC) — 순서대로 */
.mainv .mainv__bg > .mainv__slide:nth-child(1) { background-image: url('/public/img/daemun/mainv_bg01.webp'); }
.mainv .mainv__bg > .mainv__slide:nth-child(2) { background-image: url('/public/img/daemun/mainv_bg02.webp'); }
.mainv .mainv__bg > .mainv__slide:nth-child(3) { background-image: url('/public/img/daemun/mainv_bg03.webp'); }

/* 딤(고정) */
/* .mainv .mainv__dim { */
  /* position: absolute; inset: 0; z-index: 2; */
  /* background: rgba(0, 0, 0, .6); */
  /* pointer-events: none; */
/* } */

/* ===== 메인 카피 ===== */
.mainv .mainv__body {
  position: absolute; left: 0; bottom: 0; width: 100%; z-index: 3;
  padding-bottom: 14rem;
}
.mainv .mainv__inner {
  display: flex; flex-direction: column; align-items: flex-start;
  gap: 10rem; margin: 0 auto; padding: 0 6rem;
}
.mainv .mainv__copy { display: flex; flex-direction: column; gap: 3.5rem; color: #fff; }
.mainv .mainv__eng {
  margin: 0; font-family: pretendard-700;font-weight: 700;
  font-size: 2.4rem; line-height: 3rem; text-transform: uppercase;
}
.mainv .mainv__tit {
  margin: 0; font-family: pretendard-800;font-weight: 800;
  font-size: 16rem; line-height: 1;
}
.mainv .mainv__scroll {
  display: inline-flex; align-items: center; gap: .8rem;
  padding: 1.4rem 2.4rem; border-radius: 9.9rem;
  background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .1);
  backdrop-filter: blur(1rem); -webkit-backdrop-filter: blur(1rem);
  color: #fff; text-decoration: none;
}
.mainv .mainv__scroll span {
  font-family: 'Pretendard', sans-serif; font-weight: 600;
  font-size: 1.4rem; line-height: 1.6rem; letter-spacing: .084rem;
}
.mainv .mainv__scroll-arrow { display: block; width: .8rem; height: 1.2rem; object-fit: contain; }

/* ===== 반응형 (max-width) ===== */
@media (max-width: 1800px) { .mainv .mainv__inner { max-width: 168rem; padding: 0 4rem; } }
@media (max-width: 1400px) {
  .mainv .mainv__inner { padding: 0 3rem; gap: 7rem; }
  .mainv .mainv__tit { font-size: 12rem; }
  .mainv .mainv__body { padding-bottom: 10rem; }
}
@media (max-width: 1024px) {
  .mainv .mainv__tit { font-size: 9rem; }
  .mainv .mainv__eng { font-size: 2rem; }
}
@media (max-width: 768px) {
  .mainv { min-height: 0;height:56rem; }

  /* 배경 이미지를 모바일로 교체 */
  .mainv .mainv__bg > .mainv__slide:nth-child(1) { background-image: url('/public/img/daemun/mainv_bg01_mo.webp'); }
  .mainv .mainv__bg > .mainv__slide:nth-child(2) { background-image: url('/public/img/daemun/mainv_bg02_mo.webp'); }
  .mainv .mainv__bg > .mainv__slide:nth-child(3) { background-image: url('/public/img/daemun/mainv_bg03_mo.webp'); }

  /* 레이아웃 */
  .mainv .mainv__body { padding-bottom: 7rem; }
  .mainv .mainv__inner { gap: 4rem; padding: 0 2rem; }
  .mainv .mainv__copy { gap: 1.4rem; }
  .mainv .mainv__eng { font-size: 1.2rem; line-height: 1.6rem; }
  .mainv .mainv__tit { font-size: 4.6rem; }
  .mainv .mainv__scroll { padding: .9rem 1.4rem; gap: .6rem; }
  .mainv .mainv__scroll span { font-size: 1rem; line-height: 1.2rem; letter-spacing: .06rem; }
  .mainv .mainv__scroll-arrow { width: .6rem; height: .9rem; }
}


/*---------------------------------------------------
# ===== PROMISE (OUR VALUES) — desktop-first, max-width 반응형 =====
-----------------------------------------------------*/
.promise{
	background:#0d1b2e;
	padding: 15rem 0;
	border-radius:3rem 3rem 0 0;
	box-sizing:border-box;
	position:relative;
	z-index:2;
	margin:-3rem 0 0 0;
}
.promise *{ box-sizing:border-box; }
.promise__inner{
	width:100%;
	padding: 0 6rem;
	margin:0 auto;
}
/* 카드 영역 */
.promise__cards{
	display:flex;
	align-items:stretch;
	border-radius:1.6rem;
	overflow:hidden;
}

.promise__card{
	position:relative;
	flex:1 1 0;
	min-width:0;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	overflow:hidden;
}
.promise__card-img{
	position:relative;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	z-index:0;
}
.pcardtext {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
}

.promise__card-body{
	position:relative;
	z-index:2;
	display:flex;
	flex-direction:column;
	gap:1.6rem;
	padding:7rem 4rem 4rem;
}
/* 번호 */
.promise__card-num{
	position: absolute;
	z-index:2;
	padding:4rem 4rem 0;
	font-family:'Jost',sans-serif;
	font-weight:700;
	font-size:2.2rem;
	line-height:2.6rem;
	color:#fff;
}
.promise__card-body::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: -2;
	backdrop-filter: blur(1.5rem);
	mask-image: linear-gradient(to bottom, transparent 3%, black 14%);
}
.promise__card-body::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
}
.promise__card-title{
	position:relative;
	z-index:2;
	margin:0;
	font-family: pretendard-800;
	font-weight:800;
	font-size:3.2rem;
	line-height:4.2rem;
	color:#fff;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.promise__card-desc{
	word-break: auto-phrase;
	position:relative;
	z-index:2;
	margin:0;
	font-family: pretendard-400;
	font-weight:400;
	font-size:1.6rem;
	line-height:2.6rem;
	color:#fff;
	opacity:.8;
}

/* 스크롤 등장 효과(JS 연동) */
.promise__card{
/* opacity:0; */
/* transform:translateY(4rem); */
/* transition:opacity .7s ease, transform .7s ease; */
}
.promise__card.is-show{ opacity:1; transform:none; }

@media (max-width:2100px) {
	.promise__card-desc br{
		display:none;
	}
}
@media (max-width:1800px) {
	.promise__inner{ 
		max-width: 168rem;
		padding: 0 4rem;
	}
}
@media (max-width:1400px) {
	.promise__inner{ 
		padding: 0 3rem;
	}
}
/* ===== 태블릿 이하 : 타이포/여백 축소 ===== */
	@media (max-width:1400px){
	.promise{ padding:12rem 0; }
	.promise__card{ height:38vw; }
	.promise__card-num{ padding:3rem 3rem 0; }
	.promise__card-body{ padding:5rem 3rem 3rem; }
	.promise__card-title{ font-size:2.8rem; line-height:3.8rem; }
}
@media (max-width:1200px){
	.promise__cards {
		flex-wrap: wrap;
		display: flex;
		align-items: stretch;
		border-radius: 1.6rem;
	}
	.promise__card{
		height: 44vw;
		position: relative;
		flex: 0 0 calc(50% - 0rem);
		margin: 0;
		box-sizing: border-box;
	}
}
@media (max-width:991px){
	.promise__card-title {
		font-size: 2.4rem;
		line-height: 3.2rem;
	}
}

/* ===== 모바일 : 세로 스택 ===== */
@media (max-width:768px){
	.promise{ padding:6rem 0; border-radius:2.4rem 2.4rem 0 0; }
	.promise__inner{ 
		padding: 0 2rem;
	}
	.promise__cards{
		flex-direction:column;
		border-radius:1rem;
	}
	.promise__card {
		width: 100%;
		height: 40.9rem;
		flex: inherit;
	}
	.promise__card-num{ padding:2rem 2rem 0; font-size:1.6rem; line-height:2rem; }
	.promise__card-body{ padding:3rem 2rem 2rem; gap:0.8rem; }
	.promise__card-title{ font-size:2rem; line-height:3.2rem; }
	.promise__card-desc{ font-size:1.4rem; line-height:2.2rem; }
	.promise__card-desc br{ display:none; } /* 모바일은 자연 줄바꿈 */
}


/*---------------------------------------------------
# ===== OUR STORY (VALUE) — desktop-first, max-width 반응형 (1rem = 10px) =====
-----------------------------------------------------*/
.value{
	position: relative;
    z-index: 3;
    margin: -3rem 0 0 0;
  position:relative;
  overflow:hidden;
  background-color:#f5f5f3;
  padding-top:11rem;
  padding-bottom:15rem;
  border-radius:3rem 3rem 0 0;
  box-shadow:0 -2rem 6rem 0 rgba(0,0,0,0.05);
  box-sizing:border-box;
  
  
	background-image: url(/public/img/daemun/value_bg.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom center;
}
.value *{ box-sizing:border-box; }

/* 배경 이미지 + 화이트 페이드 */
.value__bg{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.value__bg img{ width:100%; height:100%; object-fit:cover; object-position:bottom; opacity:.2; }
.value__bg::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(to bottom, #fff 15%, rgba(255,255,255,.3) 82%);
}

/* 컨텐츠 inner (요청 규칙) */
.value__inner{
  position:relative;
  z-index:1;
  width:100%;
  padding:0 6rem;
  margin:0 auto;
}

/* 2단 레이아웃 */
.value__wrap{
  display:flex;
  align-items:flex-start;
  gap:6rem;
}

/* 좌측 헤더 (sticky) */
.value__head{
  flex:1;
  /* position:sticky; */
  /* top:6rem; */
  padding-top:4rem;
}
.value__head .main__label{
  color:#0d1b2e;
}
.value__head .main__title{
	color:#0d1b2e;
}

/* 우측 연혁 */
.value__timeline{
  flex:1;
  margin:0;
  padding:4rem 0 0;
  list-style:none;
}

/* 연혁 아이템 (grid) */
.value__item{
  display:grid;
  grid-template-columns:11.5rem auto 1fr;
  column-gap:5rem;
  align-items:start;
}
.value__year{
  grid-area:1 / 1 / 2 / 2;
  padding-top:2rem;
font-family: pretendard-700;
  font-weight:700;
  font-size:4.6rem;
  line-height:6rem;
  text-align:right;
  color:#0d1b2e;
}
.value__year--now{ color:#deb467; }

/* 연결선(rail) */
.value__rail{
  grid-area:1 / 2 / 3 / 3;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.value__rail-top{ width:.2rem; height:4.5rem; background:rgba(0,0,0,.06); flex:none; }
.value__rail-bot{ width:.2rem; flex:1 0 0; min-height:0; background:rgba(0,0,0,.06); }
.value__dot{ width:1rem; height:1rem; border-radius:50%; background:#0d1b2e; flex:none; }
.value__item:first-child .value__rail-top{ background:transparent; }
.value__item:last-child  .value__rail-bot{ background:transparent; }

/* 내용 */
.value__content{
  grid-area:1 / 3 / 2 / 4;
  padding:2rem 0 3rem;
}
.value__t{
  margin:0 0 .5rem;
font-family: pretendard-700;
  font-weight:700;
  font-size:3.4rem;
  line-height:6rem;
  color:#000;
}
.value__sub{
  margin:0 0 2rem;
font-family: pretendard-500;
  font-weight:500;
  font-size:2rem;
  line-height:3.2rem;
  color:#000;
}
.value__detail{
  margin:0;
font-family: pretendard-300;
  font-weight:300;
  font-size:1.6rem;
  line-height:3rem;
  color:#000;
}

/* ===== inner 패딩 규칙 (요청) ===== */
@media (max-width:1800px){
  .value__inner{ max-width:168rem; padding:0 4rem; }
}
@media (max-width:1400px){
  .value__inner{ padding:0 3rem; }
  .value__year{ font-size:4rem; }
  .value__wrap{ gap:4rem; }
}
@media (max-width:1024px){
  .value__year{ font-size:3.4rem; }
  .value__t{ font-size:2.8rem; line-height:4.4rem; }
  .value__wrap{ gap:3rem; }
  .value__item{ column-gap:3rem; }
}
@media (max-width:991px){
	.value{ background-size: 100%;}
	.value__wrap {
		display: flex;
		gap: 0;
		flex-direction: column;
	}
	.value__head {
		padding-top: 0;
	}
	.value__timeline {
		width: 100%;
	}
}

/* ===== 모바일 : 단일 컬럼 ===== */
@media (max-width:768px){
  .value .main__head { margin-bottom: 0;}
  .value{padding-top:6rem; padding-bottom:6rem; border-radius:2.4rem 2.4rem 0 0; }
  .value__inner{ padding:0 2rem; }

  .value__wrap{ flex-direction:column; gap:3rem; }

  /* 헤더 */
  .value__head{ position:static; flex:none; width:100%; padding-top:0; }
  .value__br-pc{ display:none; }   /* 모바일은 한 줄 */
  .value__desc{ display:none; }    /* 모바일은 설명문 미노출 */

  /* 연혁 */
  .value__timeline{ flex:none; width:100%; padding:0; }
  .value__item{
    grid-template-columns:auto 1fr;
    column-gap:1.6rem;
  }
  .value__year{
    grid-area:1 / 2 / 2 / 3;
    padding-top:1rem;
    font-size:2.8rem;
    line-height:3.5rem;
    text-align:left;
  }
  .value__rail{ grid-area:1 / 1 / 3 / 2; }
  .value__rail-top{ height:2.5rem; width:.1rem; }
  .value__rail-bot{ width:.1rem; }
  .value__dot{ width:.5rem; height:.5rem; }

  .value__content{ grid-area:2 / 2 / 3 / 3; padding:0 0 1.8rem; }
  .value__t{ margin:0 0 .6rem; font-size:2.2rem; line-height:3.2rem; }
  .value__sub{ margin:0 0 1.4rem; font-size:1.6rem; line-height:2.4rem; }
  .value__detail{ font-size:1.4rem; line-height:2.2rem; }
  .value__detail br{ display:none; }   /* 모바일은 자연 줄바꿈 */
}


/*---------------------------------------------------
# ===== PRACTICE AREAS — desktop-first, max-width 반응형 =====
-----------------------------------------------------*/
.practice {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #0d1b2e;
    padding: 15rem 0 0 0;
    border-radius: 3rem 3rem 0 0;
    overflow: hidden;
    box-sizing: border-box;
    position: relative;
    z-index: 4;
    margin: -3rem 0 0 0;
}
.practice *{ box-sizing:border-box; }
.practice__inner{
	width: 100%;
    padding: 0 6rem;
    margin: 0 auto;
}


/* 카드 래퍼 */
.practice__cards{
  display:flex;
  align-items:stretch;
  width:100%;
  border-radius:1.6rem;
  overflow:hidden;
}

/* 카드 */
.practice__card{
  position:relative;
  flex:1 1 0;
  min-width:0;
  background:#0d1b2e;
  overflow:hidden;
}
/* 상단 사진 + 네이비 페이드 */
.practice__media{
  position:absolute;
  top:0; left:0;
  width:100%;
  /* height:56rem; */
  z-index:0;
}
.practice__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.practice__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(13,27,46,.10) 10%, #0d1b2e 90%);
}
.practice__card-inner{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:26rem;            /* 번호 ↔ 본문 사이 사진 노출 영역 */
}

/* 번호 */
.practice__num{
  margin:0;
  padding:6rem 6rem 0;
  font-family:'Jost',sans-serif;
  font-weight:700;
  font-size:2.2rem;
  line-height:2.6rem;
  color:#fff;
}

/* 본문 */
.practice__body{
  display:flex;
  flex-direction:column;
  gap:2.4rem;
  padding:6rem;
}
.practice__name{
  margin:0;
font-family: pretendard-800;
  font-weight:800;
  font-size:5rem;
  line-height:6.4rem;
  color:#fff;
}
.practice__desc{
  margin:0;
font-family: pretendard-400;
  font-weight:400;
  font-size:2rem;
  line-height:3.6rem;
  color:#fff;
}

/* 태그 */
.practice__tags{
  display:flex;
  flex-wrap:wrap;
  gap:0.8rem;
  margin:0;
  padding:0;
  list-style:none;
  width:100%;
}
.practice__tag{
  padding:1.2rem 1.4rem;
  border-radius:0.8rem;
  background:rgba(255,255,255,.06);
font-family: pretendard-500;
  font-weight:500;
  font-size:1.5rem;
  line-height:1.8rem;
  color:#fff;
  white-space:nowrap;
}

/* 버튼 */
.practice__btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.2rem;
  width:100%;
  padding:1.2rem 3rem;
  border:0.1rem solid #deb467;
  border-radius:0.8rem;
  background:transparent;
  color:#deb467;
font-family: pretendard-500;
  font-weight:500;
  font-size:1.8rem;
  line-height:3.6rem;
  letter-spacing:-0.036rem;
  text-decoration:none;
}
.practice__btn span {
    display: inline-block;
    position: Relative;
    width: 1.4rem;
    height: 1.4rem;
    background: url(../img/daemun/arrow_gold.webp) no-repeat center/cover;
}
.practice__btn:hover{
	background:#deb467;
  color:#0d1b2e;
}
.practice__btn:hover span{
    background: url(../img/daemun/arrow_navy.webp) no-repeat center/cover;
}
@media (max-width:2100px) {
	.practice__desc br{
		display:none;
	}
}
@media (max-width:1800px) {
	.practice__inner{ 
		max-width: 168rem;
		padding: 0 4rem;
	}
}
@media (max-width:1400px) {
	.practice__inner{ 
		padding: 0 3rem;
	}
}
/* ===== 태블릿 이하 ===== */
@media (max-width:1400px){
  .practice{ padding:12rem 0 0 0; gap:6rem; }

  /* .practice__media{ height:46rem; } */
  .practice__card-inner{ gap:18rem; }

  .practice__num{ padding:4rem 4rem 0; }
  .practice__body{ padding:4rem; gap:2rem; }
  .practice__name{ font-size:3.8rem; line-height:5rem; }
  .practice__desc{ font-size:1.7rem; line-height:3rem; }
  .practice__tags {
    gap: 0.6rem;
}
}
@media (max-width:991px){
	.practice__cards{
    flex-direction:column;
    border-radius:1rem;
  }
	  .practice__card {
		flex: inherit;
		width: 100%;
	}
	.practice__card-inner {
		gap: 24rem;
	}
	.practice__num {
		padding: 3rem 3rem 0;
	}
	.practice__body {
		padding: 3rem;
		gap: 1.6rem;
	}
	.practice__name {
		font-size: 3.2rem;
		line-height: 5rem;
	}
}
/* ===== 모바일 : 세로 스택 ===== */
@media (max-width:768px){
  .practice{ padding:6rem 0 0; border-radius:2.4rem 2.4rem 0 0; gap:3rem; }
   .practice__inner{ 
		padding: 0 2rem;
	}

  .practice__cards{
    flex-direction:column;
    border-radius:1rem;
  }
  .practice__card {
    flex: inherit;
    width: 100%;
}
.practice__card-inner {
    gap: 30vw;
}

.practice__media {
    height: 100vw;
}
  .practice__media::after{ background:linear-gradient(to bottom, rgba(13,27,46,.10) 10%, #0d1b2e 100%); }
  .practice__card-inner{ gap:14.5rem; }

  .practice__num{ padding:2rem 2rem 0; font-size:1.6rem; line-height:2rem; }
  .practice__body{ padding:2rem; gap:1.4rem; }
  .practice__name{ font-size:2.8rem; line-height:3.6rem; }
  .practice__desc{ font-size:1.4rem; line-height:2.2rem; opacity:.8; }
  .practice__desc br{ display:none; }   /* 모바일은 자연 줄바꿈 */

  .practice__tags{ gap:0.4rem; }
  .practice__tag{ padding:0.8rem 1.2rem; border-radius:0.4rem; font-size:1.2rem; line-height:1.4rem; font-weight:700; }

  .practice__btn{ padding:1rem 2rem; border-radius:0.4rem; gap:0.6rem; font-size:1.4rem; line-height:2rem; letter-spacing:-0.028rem; font-weight:700; }
  .practice__btn img{ width:1rem; height:1rem; }
	  .practice__btn span {
		width: 1rem;
		height: 1rem;
	}
}
@media (max-width:500px){
	.practice__card-inner {
		gap: 14.5rem;
	}
	.practice__media{ height:35.6rem; }
}

/*---------------------------------------------------
# ===== BANNER — desktop-first, max-width 반응형 =====
-----------------------------------------------------*/
.ban{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0d1b2e;
  padding:15rem 6rem;
  box-sizing:border-box;
}
.ban *{ box-sizing:border-box; }

.ban__text{
  margin:0;
  text-align:center;
  color:#fff;
font-family: pretendard-300;
  font-weight:300;          /* ExtraLight */
  font-size:3.8rem;
  line-height:6rem;
  word-break:keep-all;
}
.ban__b{ font-family: pretendard-700;font-weight:700; } /* Bold 강조 */

/* "모든 법률 문제" 손그림 원형 마크 */
.ban__circle{
  position:relative;
  display:inline-block;
  color:#deb467;
  white-space:nowrap;
}
.ban__circle::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:128%;
  height:190%;
  background:url(/public/img/daemun/ban_circle.webp) center/100% 100% no-repeat;
  pointer-events:none;
}

/* 모바일 전용 줄바꿈 (PC에서는 숨김) */
.ban__br-mo{ display:none; }

/* ===== 태블릿 ===== */
@media (max-width:1024px){
  .ban{ padding:12rem 4rem; }
  .ban__text{ font-size:3rem; line-height:4.8rem; }
}

/* ===== 모바일 ===== */
@media (max-width:768px){
  .ban{ padding:8rem 2rem; }
  .ban__text{ font-size:2.2rem; line-height:3.2rem; }
  .ban__br-mo{ display:inline; }    /* 모바일은 4줄로 분리 */
  .ban__circle::after{ width:122%; height:178%; }
}
